• Hello ES! We could use some help to get us past the finish line on building the new knowledgebase for the forum.
    Can you donate? Please see our fundraising page. Thank you!

Dual VESC can bus link info

TRS300

⚡ Regular
Joined
May 31, 2025
Messages
117
Location
Los Angles
Hi all, As the title says I'm trying to get information on what exactly is shared between master and slave vesc connected by can bus. I know the slave will follow the load of the master but I'm not sure how it's doing it. Here's some scenerios...

1.) master and slave each run own motor. Both motors have temp sensors. If slave motor gets hot will the master know this and back down load to manage it?

2.) same question as above but in this case they run on separate battery trains. If slave voltage gets low will master respond to the condition

3.) throttle sets masters load delivery, is slaves duty just based on masters throttle, or does slave try to match load parameters, amps, rpm... or is it just responding to masters throttle position data?

Looked but cannot find anything on this subject. Thank you.
 
Hi all, As the title says I'm trying to get information on what exactly is shared between master and slave vesc connected by can bus. I know the slave will follow the load of the master but I'm not sure how it's doing it. Here's some scenerios...

1.) master and slave each run own motor. Both motors have temp sensors. If slave motor gets hot will the master know this and back down load to manage it?

2.) same question as above but in this case they run on separate battery trains. If slave voltage gets low will master respond to the condition

3.) throttle sets masters load delivery, is slaves duty just based on masters throttle, or does slave try to match load parameters, rpm or anything except throttle position?

Looked but cannot find anything on this subject. Thank you.
 
Hi all, As the title says I'm trying to get information on what exactly is shared between master and slave vesc connected by can bus. I know the slave will follow the load of the master but I'm not sure how it's doing it. Here's some scenerios...

1.) master and slave each run own motor. Both motors have temp sensors. If slave motor gets hot will the master know this and back down load to manage it?

2.) same question as above but in this case they run on separate battery trains. If slave voltage gets low will master respond to the condition

3.) throttle sets masters load delivery, is slaves duty just based on masters throttle, or does slave try to match load parameters, amps, rpm... or is it just responding to masters throttle position data?

Looked but cannot find anything on this subject. Thank you.
That's because you have to set those parameters yourself. Either you use one of the vesc as "master" and load a lisp script that communicates with second motor over can, or you use a third device, like an esp32 display running vesc express to control both. Vesc has default can packages that you can set for each motor to broadcast, though I'd use can commands instead to retrieve only the info you want. And finally: there is a can debug screen in vesc tool which can be very helpful to debug multi motor scenarios: hook everything together and plug one device to a pc, and than run vesc tool. You can see live which device sends which can packages.
 
That's because you have to set those parameters yourself. Either you use one of the vesc as "master" and load a lisp script that communicates with second motor over can, or you use a third device, like an esp32 display running vesc express to control both. Vesc has default can packages that you can set for each motor to broadcast, though I'd use can commands instead to retrieve only the info you want. And finally: there is a can debug screen in vesc tool which can be very helpful to debug multi motor scenarios: hook everything together and plug one device to a pc, and than run vesc tool. You can see live which device sends which can packages.
Thank you for this response. I work with Esp32 modules all the time. If you know of any example code used to control multiple VESCs via can commands I'd much appreciate a link to it. Otherwise, based on your feedback I at least know what to search for. Not familiar with lisp scripts or how to load them... Again, thank you pointing me towards the topics I need to get familiar with. I suspect vesc has robust capabilities that I'm unaware of.
 
Thank you for this response. I work with Esp32 modules all the time. If you know of any example code used to control multiple VESCs via can commands I'd much appreciate a link to it. Otherwise, based on your feedback I at least know what to search for. Not familiar with lisp scripts or how to load them... Again, thank you pointing me towards the topics I need to get familiar with. I suspect vesc has robust capabilities that I'm unaware of.
If you load vesc tool, there is a tab on the lower left side pointing to the lisp editor. There you'll find a complete mini IDE to test und run lispBM (the dialect used in VESC) and more importantly some very helpful examples. Use them for starters, and then refer to the official documentation for advanced functionalities: bldc/lispBM at master · vedderb/bldc. I know, lisp syntax sucks... You'll find the esp32 vesc-express source also on Vedder's github.
 
Back
Top