I am using V6.6 and FW4.2, everything works good. And I am trying to control via Can bus, I know how to set RPM, Current, Duty cycle and Position.
In the test last week, I suddenly can not receive the status broadcast after I burned new FW4.2 which I modified, the strange thing is I also can not receive it when I burned the original FW4.2.
In the past test, I always can receive Four Messages after I powered on the VESC, and there are: 000009XX 000010XX 00000EXX 00000FXX.
But now, I can receive nothing after I powered on. What the possible reason? THX
Problem solved!
It must be run the set up FOC(run detection) again after burned the new FW, rather than detect the parameters directly.
IanG
Hi IanG,
how did you manage to send messages via CAN? I have a setup with an arduino nano and an MCP2515 Module. I am sending an ID 0x0000033D for controlling the rpm of the node with the ID of 61. The message is in hex too: 3E800000 i have tried a lot of variations with the message but nothing works out. The setup in the vesc tool is: no app , send status and for the can mode I tried all options.
Looking forward to hear from you.
I Use mcp_can.h library to handle the bus on an atmega2560 + mcp2515
declare the Enum of the Can Commands
create your own function and pass the Index and the value , pay attention to the number of byte required by the command, for example RPM and Duty need 32 Byte ,
create the packet to send
Use buffer append to split your float into 4 Byte
Hy guys, y tried what matrixgti propose without sucess, could you please add more details on the configuration of the vesc you use, details of complete source code to send commands and receive heartbeat . I 'am also using a MCP2515 so that setup shall be exactly the same. I checked signals with the scope and get what you can expect from a can protocol but so far, can't receive nor send anything to the vesc.
Olivier