Тёмный
No video :(

RX8 CANbus control demo 

cantanko
Подписаться 397
Просмотров 24 тыс.
50% 1

'Blog entry: www.cantanko.co...
This is a quick video of a Mazda RX-8 instrument cluster being driven via CAN from an Arduino Uno fitted with a SparkFun (purchased from SKPang) CAN shield. As much as people hate the Arduino, it's incredibly useful with which to do stuff like this - everything you see was worked out in a couple of evenings, probably 8 man-hours including rigging the hardware, writing the code and fuzzing the bus.
As I plan to be messing with the engine of one of these cars and removing the factory PCM, I needed to figure out what messages needed to be sent to keep both the dash and the other ECUs on the vehicle happy. Seeing if I could drive the dash was a very cheap way (£5 from eBay) to see if I could talk to the instruments happily enough.
The appropriate PIDs were discovered by fuzzing "usual suspect" PIDs and most things were located easily enough. The traction control / stability control, power steering and cruise are proving to be a little more elusive, but once they're found I'll post full details of the packets used to address them.
I'll update this description when I've finished noodling around with it and have the data in some kind of intelligible format. Code (such as it is) will be released also.
Principle components used:
Arduino uno: arduino.cc/en/M...
SparkFun / SKPang CANbus shield: www.sparkfun.c...
Cory Fowler's version of the Arduino CAN library: github.com/cor...
Music by Kevin MacLeod: incompetech.com...

Опубликовано:

 

5 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@ALL4SWAP
@ALL4SWAP 8 лет назад
Good work! Appreciate it. Your blog decently helped me figure out the temp reading.
@JBWDC3
@JBWDC3 9 лет назад
I've always wondered if you can get your cluster to do a sweep at start-up if your car didn't come with that feature. Where can I order this
@OM_Tuned
@OM_Tuned 8 лет назад
Hi I have an rx8 with 1jz vvti engine swap, automatic transmission. paddle shift is not working, only shiftronic is working. how may I make paddle shift to work?
@koroosh2005
@koroosh2005 9 лет назад
Hi Harry , Recently i swap a 2JZGTE VVTI to my Mazda RX8 and the only issue that i have is that my cluster is not working .All the lights are on and non of them are functioning .my mechanic suggest me to go with external gauges or some aftermarket ECU which are so expensive . I will be very happy if i can get some solution from you .
@disgruntledgoat
@disgruntledgoat 9 лет назад
koroosh kasaei Can't provide you with a solution, but you should be able to get something to either read in analogue values directly from the engine sensors or, if you have it, read the CAN data from your existing Toyota ECU and then output Mazda-compatible PIDs to the CAN bus to drive the dashboard. The code on my blog will do the second half of that - you'd just need to write the code and knock together the hardware to read the sensors, which shouldn't be a massive job.
@SuperBumblee
@SuperBumblee 4 года назад
Hey bud, any chance you could check if it'd be possible to control the climate control? Eg windows def, fan speed, and adjust temperature?
@JHsadler
@JHsadler 10 лет назад
Nice job. I'm planning on doing something similar so I've purchased a CANBus shield for my MEGA 2560. Do you think this will work on my Jaguar instrument cluster?
@disgruntledgoat
@disgruntledgoat 10 лет назад
If it's CAN controlled, probably :-) You can make your life easier if you have the actual car to hand by using the same SKPang shield and data logging the CAN bus. If you record what you see, you should be able to replay it and very easily work out what messages do what rather than trying to fuzz it.
@Rusefi
@Rusefi 9 лет назад
Great job Harry! Which year is the RX-8 donor? Not sure if different years are different but still :)
@disgruntledgoat
@disgruntledgoat 9 лет назад
I believe they're all the same until the Mark II came along - this one's from a 2007 manual 231...
@iainwalton5780
@iainwalton5780 10 лет назад
Hello, Great work, i have been trying the code myself but keep getting errors in the loop function saying "undefined reference to `CAN'" Any ideas? I am not very good at coding sorry Thanks in advance
@disgruntledgoat
@disgruntledgoat 10 лет назад
Hello, Probably caused by the MCP2515 CAN library not being installed in your Arduino environment. I'll try and put together a better explanation of this at some point :-)
@matthunter1448
@matthunter1448 9 лет назад
wondering if you got any farther with this looking into trying to get my megasquirt (standalone) to send the signals for rpm speed and coolant
@disgruntledgoat
@disgruntledgoat 9 лет назад
PID 0x201 covers most of the basic functions and has to be refreshed quite regularly (every 50 to 100ms IIRC). Byte 0 controls the rev counter and byte 4 the speedo. I think PID 0x420 byte 0 handles the temperature gauge, but that's from memory :-) Most of what I've done is in the article on my blog (link in the description above) - if you have a rummage through the code you can see how its driving the PIDs for that demo. It's worth noting, however, that the dash firmware is "clever" (and I put that in quotes specifically) in that it does not echo values it receives over CAN verbatim, rather it will show the temperature increasing until it reaches what it considers normal. At that point it switches into a quite severe hysteresis mode, meaning considerable deviations in temperature up or down are not reflected on the gauge unless they pass pre-determined limits, by which time you've either cooked your engine or knackered it by beating on it whilst it was cold. It's far from ideal from that point of view, and the oil pressure gauge is the same - a zero on its PID gives you no oil pressure, anything else gives you just-right-of-centre. Hope that helps!
@cissepauwels8211
@cissepauwels8211 3 года назад
wich pins do you connect?
@21Svid
@21Svid 5 лет назад
Hello good Sir, I have recently bought an RX8 instrument cluster and I wish to control it via CAN from an Arduino. Unfortunately the cantanko link to the reverse engineering of the cluster is no longer available. And so I have no idea where to start from and where I can get the ID's for understanding and controlling the cluster, do you have any idea how can I access the info from that link or do you have it "stored" somewhere so that you could share it? Thank you very much in advance!!!
@disgruntledgoat
@disgruntledgoat 5 лет назад
Probably :-D Hold please...
@disgruntledgoat
@disgruntledgoat 5 лет назад
archive.org to the rescue! web.archive.org/web/20160729183040/www.cantanko.com/rx-8/reverse-engineering-the-rx-8s-instrument-cluster-part-one/
@21Svid
@21Svid 5 лет назад
Man you are an absolute lifesaver!!! I did not have high hopes on getting a response, more so, getting a positive one so quick! I am extremly grateful and I hope this will help me in my work. I am a young engineer and I have little to no experience and I want to learn new things so I hope what I don’t get stuck along the way because sometimes things get a bit overwhelming especially when you learn all by yourself. Thank you again and if I have any questions I hope I can ask you in the future(related to this cluster). Wish you the best!
@ALL4SWAP
@ALL4SWAP 8 лет назад
p/s have you ever get trip counter to work?
@Magonos888
@Magonos888 10 лет назад
Wow nice Harry, great work wanna run an Altezza Cluster in my Toyota Starlet. some help would be nice =D
@disgruntledgoat
@disgruntledgoat 9 лет назад
Can't help specifically, but from noodling around with this it looks like a lot of the base PIDs are reasonably standard. Give my code a go and see what lights up :-)
@JHsadler
@JHsadler 10 лет назад
Instrument_controller.ino: In function 'void setup()': Instrument_controller:54: error: 'CAN' was not declared in this scope Instrument_controller:54: error: 'CAN_500KBPS' was not declared in this scope Instrument_controller:54: error: 'CAN_OK' was not declared in this scope Instrument_controller.ino: In function 'void loop()': Instrument_controller:88: error: 'CAN' was not declared in this scope Instrument_controller:106: error: 'CAN' was not declared in this scope Instrument_controller:107: error: 'CAN' was not declared in this scope Instrument_controller:108: error: 'CAN' was not declared in this scope Instrument_controller:202: error: 'CAN' was not declared in this scope Instrument_controller:220: error: 'CAN' was not declared in this scope This is what came up when I tried to upload the program. Please help.
@disgruntledgoat
@disgruntledgoat 10 лет назад
Have you installed the MCP2515 library into the Arduino environment?
@mrsyamsul293
@mrsyamsul293 6 лет назад
Hi Harry Sheppard U have e-mail ?
Далее
НЕДОВОЛЬНА УСЛУГОЙ #shorts
00:27
Просмотров 20 тыс.
Hacking my Truck with OBD-II
19:19
Просмотров 59 тыс.
Building the world's LARGEST iPhone
32:05
Просмотров 237 тыс.
Basic_CAN_Bus_Training.flv
13:39
Просмотров 358 тыс.
PiCAN2 CAN-BUS Driving a RX8 Instrument Cluster
3:05
Cairo taxi ride
2:31
Просмотров 1,1 тыс.
Mazda Rx8 USB, AUX & Bluetooth Adapter Install
6:05
Просмотров 146 тыс.