A couple questions for yall, would highly appreciate any guidance you have to offer.
Basically, I'm trying to power 2 (1A/12V) Solenoids, 1 (1.7A/phase/3V) Stepper, and 2 Flexiforce resistors with an Uno, Motorshield R3, and Big EasyDriver.
My thing is that it seems like Arduino browns out and overheats whenever I have my stuff connected up. I haven't tried using any transistors/resistors yet because I'm unsure about them at this point (except with the FlexiForce because I found an easy to understand sketch that helped with that).
So far I have a 12V 5A power supply hooked into the Vin/GRD screw terminals on the motor shield. I have (right now) one solenoid plugged into the A terminal. When I turn on the solenoid, the Arduino starts heating up really fast. How do I fix this? I could speculate as to why this is happening but to be honest I really just don't know.
Also, I plan on driving the Stepper with the Big Easy Driver so how should I connect my power supply to both the Arduino Motor Shield and the Big EasyDriver?
Thanks all.
Should this circuit be able to work as is without over heating?
The higher the voltage you supply to the Arduino's voltage regulator, the less current it can supply before it overheats. 12V is right on the limit of the safe operating range and the regulator will be in danger of overheating if you put any load on it.
You should plan for the Arduino to supply only relatively small currents (a couple of tenths of an amp on the 5V rail, or a couple of hundredths of an amp via an I/I pin). Anything involving high solenoids, motors or any significant load needs to be powered via a driver circuit such as your motor shield, and not directly from the Arduino.
If you want any specific advice about what's wrong with your setup, you need to post a circuit diagram showing how these components are connected and powered.
I guess that's a mistake in the drawing.. all the wires are connected properly.... does your response mean this set up should work as is without any overheating/power problems?
Yeah, the Arduino is right underneath the Motor Shield.
I have all the red wires connected to Vcc - and the black/white(in the case of my DC adapter) connected to ground. Then, for the stepper motor the specs say there's two coils. One has A and A with a bar on top of it and the other says B and B with a bar on top of it. So I connected the positive terminals to the A and B and the negative terminals to the A and B with a bar on it.
As Peter said, 12V is high for Vin to an Arduino board. How does the 12V get to the
Arduino? To know about solenoid powering, you have to look at the data sheet for
the Ardumoto board.
I might try powering the Arduino from USB or other source to see if that helps.
(bedtime here, good luck).
My goal for this device is to push two sets of ultrasonic transducers together with pharmaceutical pills inbetween to take readings off an oscilloscope/labview. So the solenoids need to be able to stay in the ON position for a decent amount of time... I'd also like to use the current sensing ability on the Arduino Motor Shield R3 in combination with the FlexiForce to determine the pressure placed on the pill.
From what I've read so far it seems like the operating voltage of the shield is 5V-12V but the 2A per channel comes from them rating it with 3.3V. So I guess the 1A/12V solenoids are taking up P=IV=12 Watts while the motor shield can only handle P=IV=3.3(2)=6.6 Watts. So my dilemma now is trying to figure out how to handle that extra 5.4 watts.
I've read that Zener diodes in combination with resistors might work. I guess I'd put those before the Vin/GRND terminals to limit the voltage down to say 5V maybe? IDK.
The thing is I wanted to take advantage of the current sensing on the Arduino Motor Shield. Here's one solution: http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/ but I'm not sure how I can use that solution (with a TIP-120, diode, and resistor) with the current sensing.
BTW: here's all the stuff I have at my disposal: huge variety pack of diodes, huge variety pack of resistors, huge variety pack of capacitors, a relay, small easydriver.
Ah, so it's not the Arduino that is overheating, it's the L298N chip on the motor shield. The problem is that the chip on that shield has very little heatsinking. You would be better off using a motor driver board based on the L298N Multiwatt package with a heatsink attached. There are lots of these advertised on eBay. Even better, use a driver based on a mosfet H-bridge chip, such as one from Pololu.
The shield in your photo does include the flyback diodes.
Running the Arduino from 12V is perfectly OK provided you do not draw much current from the 5V pin. The voltage regulator on the Arduino will get a little warm but should not be hot.
Thanks. In other words, the Arduino motor shield can handle 1A@12V on two channels but it's gonna run hot?
Is there any way spread out the heat dissapation using simple components? I'd love to buy more shields but I'd like to put the motor shield to use. Would the use of more diodes/resistors/transistors be useful on the solenoid side of the circuit or does the Arduino motor shield have all that stuff built into it?
Also, where exactly should I plug in the Vin/GRND for the Big EasyDriver? Can I just screw in the Vin for the power supply and the Vin for the big easy driver at the screw terminals on the Arduino motor shield? And do the same for GRND wires?
Lost track of this thread. I've used the L298 in MW15 upright package in the past, and to
run over 1A, I always used a largish heatsink on it. They do run hot. As the chip is bipolar
technology, there is a 1-2V drop internally, so you'll get on the order of 1.5-3W per channel
of dissipation, up to 6W total.
Looking at the picture, I should think you could epoxy a goodly-sized heatsink to the
top of the chip.