Mk60 ABS Installation Guide
#301
I can't keep track, do either of you have the yaw sensor working? And do you have an active error for the pressure imbalance? I'm trying to narrow down on what helps avoid the situation and deicide if I'm going to maintain the Miata brake balance or recreate the BMW brake balance to avoid the error code that doesn't seem to affect anything.
#306
I saw above mentioned using the wheel speeds over the CAN bus for traction control instead of the hardware outputs at the connector. Keep in mind the outputs at the connector are 10 times faster than the CAN bus wheel speed rate, Thus the hardware output is the preferred method for traction control.
#307
I saw above mentioned using the wheel speeds over the CAN bus for traction control instead of the hardware outputs at the connector. Keep in mind the outputs at the connector are 10 times faster than the CAN bus wheel speed rate, Thus the hardware output is the preferred method for traction control.
#308
I saw above mentioned using the wheel speeds over the CAN bus for traction control instead of the hardware outputs at the connector. Keep in mind the outputs at the connector are 10 times faster than the CAN bus wheel speed rate, Thus the hardware output is the preferred method for traction control.
#311
The wheel speeds outputs over the CAN bus are mostly for logging/display. That's how it is in the race cars. It is probably the same with all BMW TC.
Last edited by j_man; 11-19-2021 at 03:32 PM.
#312
brentpicasso — 11/13/2021
that's pretty easy; in the onTick() you would do an rxCAN() and when the ID matches, then branch to do the rest of the things- [7:01 PM]
what ID is the RTR? Xzelicon — 11/13/2021
Also 0x610brentpicasso — 11/13/2021
and the message contents don't matter?Xzelicon — 11/13/2021
The reply needs to be the correct vin on 0x610- [7:02 PM]
And some basic info on the other channels as described - [7:02 PM]
Basic info is the same for all units brentpicasso — 11/13/2021
I mean the message from the MK60 - the payload doesn't matter?- [7:06 PM]
The next thing to check is if just bogus data (e.g. 0's ) can be sent just one time on 0x316,0x329, 0x613 and 0x615 Xzelicon — 11/13/2021
No I don't think so, my canbus software identifies it as an RTR message so I can't see the content. Its a few days ago I was busy with this so I need to fact check but I think the RTR message was sent 5 times on 1hz and after that 0x610 goes inactive if not received the handshake- @brentpicasso
The next thing to check is if just bogus data (e.g. 0's ) can be sent just one time on 0x316,0x329, 0x613 and 0x615
Xzelicon — 11/13/2021
I can check that out, but I'm almost sure it can be sent just one time brentpicasso — 11/13/2021
Confirming that would make for an exceedingly simple Lua script to activate the module- [7:07 PM]
Are there commercial products that do this same thing? - @brentpicasso
Are there commercial products that do this same thing?
Xzelicon — 11/13/2021
Nope brentpicasso — 11/13/2021
Ah. in any case, RC would provide it for freeXzelicon — 11/13/2021
There are emulators but they require the steering angle sensor so for sure they just figured out how to transmit a reset message- [7:08 PM]
Since the unit also starts streaming after a fault reset, without needing any more data - [7:09 PM]
But you would need to do that every ignition cycle - @brentpicasso
Confirming that would make for an exceedingly simple Lua script to activate the module
Xzelicon — 11/13/2021
I will confirm this later next week - [7:15 PM]
Off to bed now, 1AM here. If you have any questions just shoot and I will.reply later - @Xzelicon
I will confirm this later next week
brentpicasso — 11/13/2021
Here's a script I wrote blindly (no RC nearby) that might do the init:Code:function txCANBlank(bus, id) txCAN(bus, id, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) sleep(5) end function checkMK60Init() local canId, ext, data = rxCAN(0) -- exit early if not an RTR message if canId ~= 0x610 then return end -- replace with the last 7 digits of the VIN (where does it show up in the 8 byte CAN frame?) txCAN(0, 0x610, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) -- might need to wait some time for the MK60 to receive the init msg sleep(10) -- one time send of dummy ECU data txCANBlank(0, 0x316) txCANBlank(0, 0x329) txCANBlank(0, 0x613) txCANBlank(0, 0x615) end function onTick() checkMK60Init() end
- @brentpicasso
Here's a script I wrote blindly (no RC nearby) that might do the init:Code:function txCANBlank(bus, id) txCAN(bus, id, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) sleep(5) end function checkMK60Init() local canId, ext, data = rxCAN(0) -- exit early if not an RTR message if canId ~= 0x610 then return end -- replace with the last 7 digits of the VIN (where does it show up in the 8 byte CAN frame?) txCAN(0, 0x610, 0, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}) -- might need to wait some time for the MK60 to receive the init msg sleep(10) -- one time send of dummy ECU data txCANBlank(0, 0x316) txCANBlank(0, 0x329) txCANBlank(0, 0x613) txCANBlank(0, 0x615) end function onTick() checkMK60Init() end
Xzelicon — Yesterday at 3:46 AM
No it needs some specific bytes in the dummy channels. Blank messages / giving them all the same data won't be sufficient - Xzelicon
0x610 contains the last 7 digits of the vin number in the ECU. -B0 as is but drop the last zero and it is the last number in the vin -B1 as is (in hex) the 3rd and 2nd number from the end in the vin -B2 as is (in hex) the 5th and 4th number from the end in the vin -B3 in ASCII the 6th from the end in the vin -B4 in ASCII the 7th from the end in the vin -B5 0 -B6 0 -B7 0 As in the screenshot B4 = 50 = P B3 = 50 = P B2 = 87 = 87 B1 = 58 = 58 B0 = 80 Drop zero = 8 Vin = PP87588
Xzelicon — Yesterday at 3:46 AM
Vin data is here - @Xzelicon
Vin data is here
brentpicasso — Yesterday at 3:12 PM
Feel free to use the script as a starting point
#313
I was finally able to get the canbus to start sending out. Using all zeros in the dummy data only kept it running for about 20ms. I found that discord page, found the dummy data in that picture posted. It all seems to be working. I also did a test and changed some values in the vin on 610h and it still worked fine so exact vin is not neccessary. The dummy data on 316h, 329h, 613h, and 615h is all that mattered with some vinlike number on 610h. I did the dummy data at 10ms/100hz and the 610h at 1000ms/1hz. Not sure how important it was but it worked.
#314
#315
The data comes in on the bus at 7ms which is the fastest I've seen any data come through a canbus in my Nissan/BMW experience. That isn't to say that the wheel speeds are being output at that speed, but I can't see any reason it wouldn't be. I don't know what would be required from a system to have a quality TC, but I do know 350z/370z only source of wheel speed, the address is broadcasted at 20ms. I wouldn't necessarily call Nissan traction control anything to brag about though for any performance orientated help.
At 7200 RPM a 4-stroke 4-cylinder will see an ignition event every 4ms. To be as good as possible, you'd probably want to see 2 or 3 wheel speeds inside that interval, so getting them at 10ms is probably not quite as fast as you'd like. How much that actually matters though, I don't know.
--Ian
#318
I was finally able to get the canbus to start sending out. Using all zeros in the dummy data only kept it running for about 20ms. I found that discord page, found the dummy data in that picture posted. It all seems to be working. I also did a test and changed some values in the vin on 610h and it still worked fine so exact vin is not neccessary. The dummy data on 316h, 329h, 613h, and 615h is all that mattered with some vinlike number on 610h. I did the dummy data at 10ms/100hz and the 610h at 1000ms/1hz. Not sure how important it was but it worked.
#319
Not sure if anyone else would benefit from this, but I figured I would share my pump mounting solution.
I bought these: https://www.mcmaster.com/4403K84
Then I made some jigs:
then I made some cuts and drilled some holes:
The spacers let the pump clear the shock tower and no welding required. The plate could use some refinement as I spun it up quickly, but the above is functional/i can upload the STL if someone wishes to do similar.
I bought these: https://www.mcmaster.com/4403K84
Then I made some jigs:
then I made some cuts and drilled some holes:
The spacers let the pump clear the shock tower and no welding required. The plate could use some refinement as I spun it up quickly, but the above is functional/i can upload the STL if someone wishes to do similar.