Skip to content
This repository has been archived by the owner on Jul 3, 2019. It is now read-only.

Detect impropery configured VESCs #72

Open
5 tasks
ottopasuuna opened this issue Mar 17, 2017 · 1 comment
Open
5 tasks

Detect impropery configured VESCs #72

ottopasuuna opened this issue Mar 17, 2017 · 1 comment

Comments

@ottopasuuna
Copy link
Member

ottopasuuna commented Mar 17, 2017

We had a mishap a last week that killed two of our motors. It happened because I was making the arm move with brushed dc motors for the CDR, so the VESCs were configured for brushed operation. I forgot about this and plugged them into the rover's drive system. Brushless DC motors don't like having two of their windings shorted together under maximum current conditions...
Aside from just being more carefull, it would be nice to have the USBServer read back the settings of each motor and print an error message if they are improperly configured. It could then write the proper configuration if needed. There are VESC commands for this, so it actually isn't that difficult to do as the trickiest implementation details are already there.

We could also run the requestSubscription method in a new threads to get the USBServer starting sooner.

  • Add read configuration message to PyVESC.
  • Read configuration from USBServer
  • Find motor type field in configuration and check if it is correct
  • Add write configuration message to PyVESC
  • If motor type is wrong, write proper configuration to VESC.
@ausshir
Copy link
Member

ausshir commented Mar 17, 2017

This may be out-of-scope on this issue, but could we also modify the VESC firmware to flash the red Error LED if we are in DC mode?

@ottopasuuna ottopasuuna self-assigned this Apr 29, 2017
@ottopasuuna ottopasuuna added this to the May 2017 milestone Apr 30, 2017
@ottopasuuna ottopasuuna removed this from the May 2017 milestone May 12, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants