View Single Post
  #9   Spotlight this post!  
Unread 25-05-2005, 22:20
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,186
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: What Dr Joe Wants for Christmas...

You might be able to set up your own Back EMF controller using the current sensors we got a few years back. If I read the article right (I skimmed), the readings are made by setting up an interval in which to drive the motors, and to kill voltage and let them free spin. If 50 hertz is the magic number, a nice function to drive the motors in a Back EMF compliant way could be created with the onboard PIC timers.

Now I'm not an electrical guy, but if the current sensors are wired in series with the motor in question, would they not measure current whether being taken from the power source (battery) or produced by motors while floating the windings?

If so, we may be able to set something like this up..

1) Create a timer driven interrupt at 50hz which checks a state flag and does either of the following...
- If in "Drive" State, Drives motor with whatever speed setting needed (either manual or autonomous control)
- If in "Read" state, kills power to the motor, and reads the current being produced.

2) Compare current produced to expected current generated.

3) Drive motors accordingly in next "Drive" state. (ie. Motors are set to neutral, but X amount of positive current is being produced. We would then know the direction and speed the motor is being back driven, and know how to compensate for it by incorporating that number into a PID control loop)

This all may seem very naive on my part, but it might work