motor driver for batteries power device?

Discussion in 'General Electronics Chat' started by bug13, Nov 20, 2013.

  1. bug13

    Thread Starter Senior Member

    Feb 13, 2012
    Hi guys

    How do you deal with the PID gain problem in batteries power device?

    Say I got a 12V battery, it power a 12 DC motor, the feedback loop is good. But if my battery run down to 11.5V, my PID gain is still the same, so my motor will not performance as good as at 12V.

    How this problem is usually solved in practice?
    • Monitor the battery voltage and dynamically adjust the PID?
    • Monitor the speed of the motor and motor driver take speed as input?
    • Someting else?

    In my case, I am refering to a balancing robot I am working on, I find that when battery voltage getting low (eg 50% discharged), my robot doesn't performance as good as when the battery level is 100%.

    Am I making sense here?
  2. wayneh


    Sep 9, 2010
    I'm wondering if you are discharging your battery too far. That will dramatically shorten its life.
  3. bug13

    Thread Starter Senior Member

    Feb 13, 2012
    Yes, I agree I should not discharge the battery too far. That's relative easy to deal with. (at least that's what I think)

    But my problem is, as the battery discharge, say from 100% to 80% (I think it's acceptable for a typical SLA battery), internal resistance increase, output current drop, voltage drop, those can reduce/upset the gain (or turning parameters) of the PID.

    What can I do to solve these? or should I ask how would Segway solve these? Or do they just use an expensive lithium battery pack or something?
  4. bug13

    Thread Starter Senior Member

    Feb 13, 2012
    Forget to mention, I am using DC brush motor here, will it be different if I use a brushless DC motor?
  5. GetDeviceInfo

    AAC Fanatic!

    Jun 7, 2009
    Your gain will be the same, however your error and subsequent output increase. One thing that does change is the dynamic response of the system, which would benefit from adaptive tuning. I'd suggest increasing your supply voltage for starters.
    You might also scope your motor currents to see if further tuning could improve any ringing or oscillations that suck up current.

    Maybe you could show us a vid of your project in action.
    Last edited: Nov 20, 2013
  6. bug13

    Thread Starter Senior Member

    Feb 13, 2012
    Here are a couple of videos of my robot in action:

    It's OK, but it still not performance as good as I would like it to be. It seems to work better on carpet than on a solid flat floor.

    On a solid flat floor, it will just going faster and faster and fall.

    any tips?:)