Lebowski CANbus Protocol

gotgraham

1 mW
Joined
Feb 10, 2018
Messages
12
I've been searching for the protocol by which the Lebowski controller transmits / receives throttle and motor direction information, but have not found it (yet). Can someone point me to the manual or documentation that outlines it?

Thanks!
 
If it helps in searches, it's "Lebowski" rather than "Lewbowski". ;)

This is the main thread for it, with manuals, etc. I don't know if they have the protocol in there, but I'd expect they should.

https://endless-sphere.com/forums/viewtopic.php?f=30&t=36602
 
Haha oops! I’ve read through the manuals, but didn’t see the protocol definition. I’ll go through them again. Thanks
 
What I'm looking for is the CAN IDs for the messages it's transmitting, the message length in bytes of each message, and how to decode the messages (byte order, definition), etc. So for example (I'm making this up, but this is the kind of thing I'm looking for) -

CAN ID 0x1234
Data Length: 2 bytes
Data: Data[0]+Data[1] = 16-bit unsigned RPM

I can't seem to find any info, other than: "Throttle and reverse information (60 to 70 bits) is sent at a rate of 100 Hz" and "Variables x 1 , x 2 are shared over CAN bus". So it's clear there should be messages for at least throttle position, drive mode (R or D), and the polynomial function for the throttle - but the format of the data is never stated - and I read every version of the manual. Perhaps I'm missing something?
 
That I don't know. :( I'd've expected that info to either be in the manual, or to be a standard kind of data that anything on CANbus would use (and thus be documented many places on the web).

I haven't finished building mine yet (just the brain boards for the pair I have is around $200 in components, so I'm scavenging everything I can off of other things, and it's taking a very long time), but even when I do, I don't think I'll be using the CANbus, so I haven't read up on any of that stuff.

I guess you'll have to ask Lebowski (I'd say that thread is the best place for it).
 
Excerpt from the letter:
The CAN bus is used only for throttle and forward-reverse information. The CAN bus has error checking embedded in its protocol, important as you do not want any errors in the throttle information. The settings for data rate from the CAN bus are shown in manual for 2A1, page 21.
To send throttle info to the controller IC you have to send 3 words (so 6 bytes). The first and second words are x1 and x2 (the 16 bit info for throttle 1 and 2, see manual page 11). The 3rd word, only the LSB is used setting the forward / reverse.
If you have something and you want to test, no need to run the motor, you can use the throttle test function in the setup menu. Have a look at manual page 10, when you disable both analog throttles it will switch to receive throttle over CAN. Then the test function can be used to test this functionality and to see whether your throttle transmit is working correctly.

To get information about motor speed etc, for this it uses the RS232 (see page 21). When the controller is in motor mode the RS232 is quiet. After you send a letter the chip will respond with a continuous data stream (16 bit words, MSB first). When you send a '*' the datastream will stop.
Easiest is to send a letter (for instance 'b' for motor speed), grab the first word (so the first 2 bytes) and then shut down by sending '*' . This because it is very easy to loose synchronisation with the high speed data output...

I did it, but there were difficulties with adjusting the speed of the CAN bus,
since the controller is not clocked by a quartz resonator.
 
Back
Top