Sunday, 15 November 2015

arduino - L293D outputs different in different motors. Are there different types of DC motors?


I recently picked up a used Spider King RC toy from a thrift shop (http://amax-toys.en.alibaba.com/product/337890538-212191267/rsc_9021_RC_Spider_King_car.html). It had no remote or battery charger so I pulled out the PCB and battery and now have the four pairs of motor leads running out to a breadboard where I've mounted two L293D chips and wired up an Arduino UNO R3. The arduino is powered from the DC barrel jack, and the motors are being supplied with 5V from a computer PSU, both sharing a common ground. Two of the motors control the axial rotation of the front or back treads for lift, and the other two control the forward/backward rotation of the left or right pairs of treads for forward and backward motion (if you check the link above this should make more sense).


Now, the two axial rotation motors which control lift work fairly well. When powered in either direction with 5V and the digitalWrite(pin, HIGH) supplying 5V to the correct directional input (and 0V to the other), I get .5-1.5V on the LOW side Y(output) value, and around 4 on the HIGH, resulting in 3-4V across the motor. Although not my main question, I am concerned as to why these are not 0V, 5V, and 5V across the motor. Should this not be the ideal reading?


The more concerning issue however is when I try to power the other two motors. The results for both these motors under the same input values are 2V on LOW output and 2.5-3V on HIGH, giving .5-1V across the motor... not enough to move the gears even without the load of the toy's weight on them. I have tried switching out the Arduino (I have two) and switching the 2 L293Ds with no change. The motors all look the same and each has a 220nF ceramic cap across it. When hooked up directly to DC all four are eager to spin in either direction. Even given that this is a used toy and there's no telling what the previous owner put it though, it seems that since I am getting the same results from like motors in a given pair there might be some correlation in the solution.


Is it possible that these are two different types of DC motors and one set is not compatible with the way the H-Bridge chip powers them?? I have never heard of this but then I have not been working with this sort of thing very long. I can put together a schematic and post it as well if anyone thinks that would help but I'm not thinking it would as everything is hooked up the same in both the working and non-working situations.



Answer



The L293 H bridge is a poor choice for a low supply voltage motor controller. From memory, at 1 amp load, the volt drop across the output transistors is about 1.8 volts and this means, from a 5 volt supply, you'll only see about 1.5 volt across the motor. You need to use a H bridge that utilizes MOSFETs as the output transistors and you will probably find that when you do, the motor current is more like 2 to 5 amps I.e. far in excess of what the L293 can supply.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...