So I've been trying to design a brushless ESC based on an arduino and the L6234 triple half bridge IC (http://www.farnell.com/datasheets/1689789.pdf), but I've been having some trouble...
For some reason, I get some weird jumpy movement on the motor when I tie one of the inputs to 5V and the rest to ground (instead of the motor holding a position like it should when one of it's phases is held high), and the atmega chip on the arduino is heating up like crazy! I pulled the plug when this happened of course, but I can't figure out why.
Here are my connections to the IC:
VS to +12V and GND to ground.
Outputs to the three motor pins
Inputs to 3 of the i/o pins on the arduino
VBoot to Vs
VREF and VCP with a 100nF cap to ground
Enables to VCC (5V)
Sense pins to ground
all this with a 470uF cap between VS and GND
Is there something wildly wrong here? I've been loosely following this schematic: The file does not exist
1overcosine_c:
So I've been trying to design a brushless ESC based on an arduino and the L6234 triple half bridge IC (http://www.farnell.com/datasheets/1689789.pdf), but I've been having some trouble...
For some reason, I get some weird jumpy movement on the motor when I tie one of the inputs to 5V and the rest to ground (instead of the motor holding a position like it should when one of it's phases is held high), and the atmega chip on the arduino is heating up like crazy! I pulled the plug when this happened of course, but I can't figure out why.
Here are my connections to the IC:
VS to +12V and GND to ground.
Outputs to the three motor pins
Inputs to 3 of the i/o pins on the arduino
VBoot to Vs
VREF and VCP with a 100nF cap to ground
Enables to VCC (5V)
Sense pins to ground
all this with a 470uF cap between VS and GND
Is there something wildly wrong here? I've been loosely following this schematic: The file does not exist
Thanks in advance for any help
Connecting it differently from what the datasheet says is not going to work.
You must connect all the bootstrap stuff right or it cannot function.
When you say ESC what type of motor are you trying to control? Its not able to
source much current being a DMOS design.
BTW when interfacing to a high voltage chip its a wise precaution to
add 4k7 resistors in series with each control signal, then if the power chip
fries its much less likely to damage the Arduino.
You did common the grounds?
You did add copious decoupling on the supplies to the chip? This is
essential.
the atmega chip on the arduino is heating up like crazy!
Hmm, that should not have happened, and is bad news. How have you connected
the various supplies to the Mega? It sounds like you've over voltaged the
board or over-currented the Arduino output pins and sent the chip into
latch-up (disconnect power IMMEDIATELY if this happens).
A photo or diagram of how everything is connected is worth a 1000 words.
Connecting it differently from what the datasheet says is not going to work
What exactly am I connecting wrong? The datasheet says VBOOT is an "overvoltage input to drive the upper DMOS" - should this not go to VS?
I'm hooking this up to one of those hobby aircraft motors (a fairly small one) that isn't going to draw nearly the 5 amps the thing is supposed to give, especially since it's not under any load.
I did common the grounds and have a 470uF cap between the supply and ground, and I will use 4.7k resistors - I think this caused the overvoltage.
I'm hooking this up to one of those hobby aircraft motors (a fairly small one) that isn't going to draw nearly the 5 amps the thing is supposed to give, especially since it's not under any load.
I did common the grounds and have a 470uF cap between the supply and ground, and I will use 4.7k resistors - I think this caused the overvoltage.
This chip is not up to driving a RC brushless motor, which have extremely low winding
resistance, this is doomed to failure. Typical RC ESCs have internal switch resistances
of 0.002 ohm or less and need it. This chip has a switch resitance of 0.3 ohms, over 100
times larger. A general rule of thumb is that the switch resistance should be < 10% of
the load resistance. Thus don't try driving a motor with less than 3 ohm winding
resistance with this chip for satisfactory behaviour. Even small RC brushless motors
have tiny winding resistances and will probably blow this chip.
5Amps, get a cheep 10Amp ESC and use the Arduino's PWM to set the speeds.
I wanted to try and understand the control of brushless motors - I don't want to just buy an ESC off the shelf!
When you say internal switch resistance, do you mean the resistance of the mosfets inside the chip? Would it be better then if I built a circuit completely out of external mosfets to control these motors?
Yes, pretty much essential, I've a cheap 20A ESC that exploded here and taking
it apart reveals 15 MOSFETs, the p-channel ones are in triplicate, n-channel ones
doubled-up, all to get as low a resistance as possible.