AceOfHearts
New Member
Hello everyone,
I have a problem with my robot.
It uses PWM with DC motors. Im using an L293D which powers the motors directly from the 12V battery pack it is controlled by the 5V PWM pulses from a microcontroller - so the actual PWM pulses to the motors are 12V in amplitude.
The problem is that with time as the battery voltage decays, so does the amplitude of the PWM pulses received by the motors because it is not connected via any regulator. This means for a given a certain PWM width, the motor speed decreases with time, even though the amplitude of the 5V PWM pulse from microcontroller is constant (which is conencted to a regulator).
The robot moves forward using a wheel encoder so moving forwards is never a problem as it can move at whatever speed the battery permits to the required distance. But it becomes an issue when turning as Im turning it purely on keeping the motor on a for a period of time...but this means the user will end up with a robot that turns wrong amount more and more over time as battery voltage drops.
Any suggestion to get around this problem? I had a regulator connecting the motors once upon a time, but was advised by members of this board that it is not efficient to do so with motors...but this seems to be one solution now as the voltage will be kept constant to the motors.
Many thanks for reading.
I have a problem with my robot.
It uses PWM with DC motors. Im using an L293D which powers the motors directly from the 12V battery pack it is controlled by the 5V PWM pulses from a microcontroller - so the actual PWM pulses to the motors are 12V in amplitude.
The problem is that with time as the battery voltage decays, so does the amplitude of the PWM pulses received by the motors because it is not connected via any regulator. This means for a given a certain PWM width, the motor speed decreases with time, even though the amplitude of the 5V PWM pulse from microcontroller is constant (which is conencted to a regulator).
The robot moves forward using a wheel encoder so moving forwards is never a problem as it can move at whatever speed the battery permits to the required distance. But it becomes an issue when turning as Im turning it purely on keeping the motor on a for a period of time...but this means the user will end up with a robot that turns wrong amount more and more over time as battery voltage drops.
Any suggestion to get around this problem? I had a regulator connecting the motors once upon a time, but was advised by members of this board that it is not efficient to do so with motors...but this seems to be one solution now as the voltage will be kept constant to the motors.
Many thanks for reading.
Last edited: