2
\$\begingroup\$

Background:

I have a Minseg [M2V3] two-wheeled robot.
It uses a battery pack as follows:

6 x AA battery (1.5 [V]) in series (9.0 [V] net).
The current batteries are Duracell Procell AAs. [datasheet]

The device passes the battery pack voltage to an Arduino Mega 2650,
which regulates the voltage to power several IC chips.

The device also passes the battery voltage directly to a DC motor driver:
TI SN754410, a quadruple half-H driver. [datasheet]
This receives a pulse-width modulated signal from the Arduino controller,
which states whether to pass or null the source voltage at any given time
to each of two DC motors:
Lego NXT DC motor [datasheet]

My controller specifies a desired voltage.
This voltage is normalized (divided by) the assumed source voltage,
yielding a number ranging from 0 to 1.
This number is converted into a PWM signal,
which is on for the yielded factor of time and off for all other time
for each sample interval.

Original Problem:

The source voltage from the battery packs droop proportionally with motor speed.
At zero speed (zero voltage applied), the battery pack provides 8.5 [V].
At max speed (constant voltage applied), the battery pack provides 7.5 [V].

Recall from above that the calculation for passing voltage to the motor
is dependent on an assumed value.
(I measure the battery pack leads at full speed before use, and use that value.)

I realized I could slightly improve performance,
either by sensing the actual voltage dynamically during operation,
or by holding the source voltage to a constant value.

For the first method:
The Arduino analog input is able to read up to 5 [V]. Thus, using a voltage divider (two resistors from + to -)
to multiply by a factor of R2 / (R1 + R2),
[in this case, approximately 10k / (15k + 10k) = 0.4], over the battery pack terminals (up to 9 [V]),
can serve as a fair voltage sensor.
(Some filtering would likely be necessary?)

But I wanted to go with the second method: I purchased a premade (hobbyist) voltage regulator [datasheet] (Yeeco Ultra DC to DC Buck Boost Converter Adjustable Voltage Stabilizer 5.0-25V to 0.5V-25V Automatically Step-Up/Step-Down Car Power Supply Module Voltage Regulator)
I did put the aforementioned voltage divider across its output (for later use); however,
I do not believe this has much of an impact on performance.

Actual Problem:

When I turn on the device, there is a 2 second delay without motor use.
It thus turns on as normal.
After the two-second window is passed, when the motors would begin to activate,
the Arduino shuts off (self-protects?).

It is my thought that the series AA batteries cannot handle
the pulse requests from the voltage regulator at its input.
I do not believe that the datasheet provides adequate enough information
to know if I am bypassing a limit.

It does state "2 [A] / 1 [s]";
does that mean a near-linear relationship and maximum of "0.02 [A] / 0.01 [s]"?

If this were the case,
which types of battery material are best suited for such pulses at a AA size?
It would be nice to not go over 9 [V] such that I could demonstrate behavior with and without the voltage regulator using the same set of batteries; however,
I'm not averse to hearing all of the options.

\$\endgroup\$
14
  • 2
    \$\begingroup\$ This is the closest to poetry formatting I've seen on the site. It seems that if you double-space before a line break you get a "new-line" without a paragraph break! \$\endgroup\$
    – Transistor
    Commented Oct 13, 2017 at 17:45
  • 1
    \$\begingroup\$ Seems like you are taking the long road when what you really want to do is capture the speed/acceleration of the motor and adjust that. \$\endgroup\$
    – Trevor_G
    Commented Oct 13, 2017 at 17:48
  • 1
    \$\begingroup\$ @Transistor yes.. I discovered that one recently too. This site needs a better set of crib notes. \$\endgroup\$
    – Trevor_G
    Commented Oct 13, 2017 at 17:51
  • 3
    \$\begingroup\$ Using a voltage regulator upstream of the motors is fundamentally a bad idea. Go back to the previous method of compensating measured voltage drop; that actually has precedent, and isn't wasteful since it's switch mode. Though you might want to think about replace the horribly lossy biploar SN754410 with a FET bridge, too in order to avoid the >3 ohms of effective series resistance in that antiquated driver chip. \$\endgroup\$ Commented Oct 18, 2017 at 2:27
  • 5
    \$\begingroup\$ I'm voting to close this question as off-topic because it has been abandoned in unanswerable form for over a year \$\endgroup\$ Commented Dec 10, 2018 at 23:51

1 Answer 1

0
\$\begingroup\$

Have you tried an oscilloscope on the battery, motor, and IC power points? It may be that your regulator cant quite keep up with a AA battery. Those things can put out lots of AMPS under intermittent load. The system may be experiencing a voltage drop when the motor tries to engage. Electric motors at 0 RPM draw a huge intermittent load, known as the starting load, or starting current. That is why in motor applications, like your refrigerator, fuses are slow blow, and breakers are delay type. The simple fix, add a big capacitor to the output of the power supply. The bigger the better (within reason).

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.