Show Posts
Pages: 1 2 [3] 4 5 ... 849
31  Using Arduino / Motors, Mechanics, and Power / Re: Design review: H-bridge on: September 30, 2014, 07:59:53 am
Nothing about this is really proprietary, its mostly derived parts of other circuits and recommended configurations from spec sheets all thrown together on one sheet. Aside from the h-bridge which in the end was also a modification on a different design I found.

If anything was proprietary, it would be in the routing which I'm not sharing.

Eagle file formats are binary and proprietry, _not_ open-source.  At anypoint
CadsoftUSA could decide to start charging for all versions of Eagle, they _own_ the format.
They could (realistically) be bought out and closed down by a competitor...

Courtesy wikipedia:
Portable Network Graphics (PNG, pronounced "ping"), is a raster graphics file format that supports lossless data compression. PNG was created as an improved, non-patented replacement for Graphics Interchange Format (GIF), and is the most used lossless image compression format on the Internet.

PNG is also an international standard.  It will be supported decades/centuries into the future.

....anyway....  back to the plot.

I see n-channel / p-channel bridge, presumably the PWM input is to the low-side
switches via the FAN3122 drivers (which are overkill, 100mA drivers would suffice
for those small Si4564's - still give 100ns switching).

The top-side p-channel circuit isn't engineered for PWM, those 10k pullups are woefully
slow, but if just used for direction and braking it doesn't really matter (I personally
would make them 1k anyway).

The layout is important too, low inductance paths to decoupling.  Adding more decoupling
on the power rails would be good, 10uF ceramic is a start, but more electrolytic
bulk decoupling can reduce the noise on the rail - large voltage spikes on the rail could
overload the Vgs rating on the MOSFETs, note.  Some people add TVS diodes to the
rail to help here.

How are you sensing current?  Or is the supply or load current limited enough to prevent
blowing the MOSFETs?  Overcurrent events when using powerful battery supply can
explode MOSFETs - for instance a big motor pulling double-stall current when reversed
at full power would be a worst-case situation to consider (try to prevent this ever happening)

You bridge is
32  Using Arduino / Motors, Mechanics, and Power / Re: Position Controlling DC-motor with L298N. is it possible? on: September 30, 2014, 07:38:06 am
In that case I'd probably go with a stepper motor.  They provide a lot of torque in a small package and they also have the benefit that they can automatically clamp the turret in set position.  This would provide some stability when the turret is not actually being rotated.

An ordinary DC motor with encoder and servo-loop control can do the same, but with much
less power drain.  Its finding a reasonable encoder for position feedback that's usually the
tricky part.  A gear motor with built in encoder would be ideal.

A simple PID loop driving the H-bridge from position-error signal will work reasonably
well if the encoder resolution is respectable (with a gear motor the gears increase the
effective encoder resolution (good), although they can introduce some backlash (not good))
33  Using Arduino / Motors, Mechanics, and Power / Re: Accelerating a unipolar stepper motor to 300 rpm on: September 30, 2014, 07:33:53 am
Have you measured the winding resistance?  I found another site that claims 32 ohms,
in which case good luck - high impedance motors don't go fast driven from an H-bridge.

I couldn't find a datasheet so no idea what the motor is supposed to be able to do.

Its a fundamental limit of driving a high impedance motor from a fixed voltage, there
is a speed limit for two reasons.

Firstly when the motor turns the windings generate an EMF.  At some speed this EMF
will be 12V, so there is no way to go faster than this speed if powered from 12V.

Secondly the faster the motor turns the more rapidly current has to change in the
windings to keep up with the motor poles moving from tooth-to-tooth - however the
inductance of the windings limits how fast current can change - at a fixed supply
voltage there is a fixed limit on speed of current change, which means the AC amplitude
of current to the windings will drop as speed increases - less torque will be available
until there isn't enough to overcome the load.

If you need a stepper motor to go fast you get a low-impedance motor (0.2 to 3 ohms
range typically) and you drive it from a constant-current chopper driver from 24V or
higher (big stepper drivers go up to 160V supply -> chopper -> 0.2 ohm motor with
current limited to 5A or so - the high voltage makes for extremely rapid current change
and can overcome loads of back EMF, 4000rpm possible).

Smaller steppers can be driven from one-chip driver boards like the A4988, but we are
talking 1A or so upto 1.5A, upto 36V supply.  Should get to 300 rpm OK.

You need to state your mechanical requirements (speed, torque) and start again perhaps?
34  Using Arduino / Motors, Mechanics, and Power / Re: H Bridge recommendations on: September 30, 2014, 07:21:35 am
Not without more information on the motors - in particular stall current, but preferably
all the information you have that we haven't smiley-wink
35  Using Arduino / General Electronics / Re: Problems determining Voltages needed to run a fuel tank level sender. on: September 30, 2014, 07:19:25 am
You can put a constant-current through the sender and measure the voltage difference
across it.  A 25mA constant current source would give you a full scale of 1V, which
if you selected analogReference(INTERNAL) would give good accuracy I think.

There are various constant current circuits, some with transistors, some with
opamps (note 25mA may be too much for many opamps).  Or just use 150 ohm
resistor from 5V to the sender - slightly non linear but hey, the level/resistance
response is unlikely to be linear in the first place.

 5V ---- 150ohm ---- A0 ----- sender ---- GND
void setup ()
  analogReference (INTERNAL) ;

#define CURRENT 0.025
#define VREF 1.1

void loop ()
  float ohms = analogRead (A0) * VREF / CURRENT / 1024 ;
  // float here means floating point, not fuel float!!
36  Using Arduino / General Electronics / Re: Please help with TIP42 control circuit on: September 30, 2014, 07:05:53 am
You may have blown it, note, since reverse-biasing the emitter-base junction more
than a few volts will destroy a transistor.

PNP and described as complementary for a reason:

PNP - emitter more positive than collector
NPN - emitter more negative than collector...

In a PNP device the emitter emits +ve charges, in NPN the emitter
emits -ve charges.
37  Using Arduino / General Electronics / Re: hc-05 model without a breakout board on: September 30, 2014, 07:01:34 am
You'll probably find its 2mm pitch, not 0.1"...
38  Using Arduino / General Electronics / Re: H-Bridge and Solenoid Valve consumption doubt on: September 30, 2014, 06:59:26 am
Argh!  You need to draw an H-bridge with +ve rail at the top, -ve rail at the
bottom, otherwise you'll cause enormous confusion.  People talk about top-side
PWM and such all the time.

Circuit diagrams are the language of electronics, follow the conventions!

As for power consumption everything in the system may be important - in particular
what's driving the H-bridge (an Arduino? which Arduino?) are you using sleep mode,
what is the battery capacity, etc etc.

And make sure the components in the diagram can be seen on a 200dpi screen, yours
are tiny...
39  Using Arduino / General Electronics / Re: Resistor required for PN2222A transistor base? Diode also? on: September 30, 2014, 06:53:21 am

I followed the notes here:

- and changed it up for my needs.

Essentially you attach the servo, set the position, then set the transistor base high.


Ah yes, another poor circuit.  I'd just ignore that site.  That circuit will have about
1V lost across the transistor when its on, whereas a high-side switch will have perhaps 0.1V
dropped across it.  Their circuit will actually sort of work, but the transistor may get hot.
The lack of base resistor in their design is deliberate.  The circuit they use is called an

To control the power to a servo whilst keeping the grounds connected you
need a high-side switch - which means you use a PNP transistor, _not_ an NPN
transistor.  With a PNP in high-side switch configuration you would connect thus:

PNP emitter to +ve supply for servo
PNP collector to servo's power
GNDs common between Arduino and servo and servo supply
Arduino pin via 180 ohm resistor to base.

You'll have to ensure the Servo supply is in the range 4.8 to 5.5V though,
to ensure the PNP is fully off when the Arduino pin is HIGH = 5.0V.

Pulling the arduino pin LOW will turn on the PNP transistor.  The PNP transistor
should have a good max current rating, at least 1A.

[ Oh yes, the diode - not sure about this, but if its needed then across the servo's
power, cathode to +ve, anode to ground.  I don't know if your servo has enough
decoupling to snub transients to reasonable levels (within the capabilities of the
switching transistor) ]
40  Using Arduino / General Electronics / Re: Noob Question about Transistors on: September 30, 2014, 06:43:50 am
Normally you think of the bipolar junction transistor as a current-controlled device,
you never attempt to control the base-emitter voltage directly, but convert a control
voltage to a current using a base resistor.
That's a good description, here's my take, probably saying the same things slightly

There are two ways to use such a transistor - as an amplifier or as a switch.

As an amplifier the collector current is controlled by the base current and is typically
100 to 500 times larger (or 10000 times if a darlington pair).  Usually feedback is
used to tame this raw gain and produce more linear response.  The simplest form
of feedback used is shunt feedback by adding an emitter resistor.

In amplifier mode the Vce is usually > 1V for best linearity.

When used as a switch you put about 5% of the load current into the base to turn
the device on hard, bringing the the Vce voltage down to around 0.05 to 0.2V - this
is "saturation", and the device is highly non-linear in this region, but generally you
just think of the transistor as being "on" or "off".

By contrast a MOSFET is a voltage controlled device (in fact no current flows into
the gate except to charge it up and discharge during switching).  Modern power
MOSFETs are designed for switching only, not linear amplification, except for RF
power MOSFETs.
41  Using Arduino / General Electronics / Re: Selecting a Transistor on: September 30, 2014, 06:31:37 am
The linear behaviour of transistors as analog amplifiers breaks down when the voltage
difference between collector and emitter falls below around 2V or so.  The hFE parameter
simply isn't useful at Vce=0.1V (typical saturation conditions).

You need to look at the Vsat part of the datasheet (which are usually woefully inadequate
giving figures for a couple of load currents only).  Often(*) there is a more useful graph
of Vsat against Ic for several levels of drive, typically Ib = Ic/10 and Ib = Ic/20.

Here you don't need to worry too much about full saturation as the current level isn't
high enough to cause thermal issues in the transistor even if Vsat is only down to 1V or
so, and the drop in voltage across the winding from 12V to 11V won't matter either.

So try 1k on the base, Ib = 2.6mA or so, will be fine.

Incidentally the statement "Give it as much current as possible." isn't useful.  There are
other issues to consider such as turn off time will gets slower if over-saturated.  Normally
you want to add enough base current to bring the conduction losses in the device down
to a level you can handle without heat-sinking (if possible, else with minimal heatsinking).
If you increase base current above Ic/10 you will typically dissipate more heat in the
Vbe junction and the circuit driving the base than the losses in the transistor, defeating
the object.

Old high power transistors typically need the full Ic/10 drive, more modern super-beta
transistors (usually surface mount) are much better and saturate well with as little as
2% Ic into the base.  Check out the ZTX851, a rare example of a through-hole ultra
high-performance super-beta transistor:

(*) Often, but not always, as for this datasheet.
42  Using Arduino / Motors, Mechanics, and Power / Re: Controlling six brushless motors using dpdt relays help on: September 29, 2014, 06:54:06 pm
The important point with a relay is to keep the coil side of things separate from the
contacts - they are already isolated, don't lose that protection.  Thus motor and ESC
stuff only to the contact terminals, Arduino control only to the relay driver connections.

[ Oh yes, the other thing, if you switch the relays while the ESCs are still powering
the motors, bad things will probably happen, so sequence stuff carefully.  In particular
don't kill the Arduino / relay driver power while motors are running.  The underlying
problem is that an ESC connected to a motor by two wires only (even for a very short
space of time) may conduct far too much current and burn something out. ]
43  Using Arduino / Motors, Mechanics, and Power / Re: Design review: H-bridge on: September 29, 2014, 06:51:38 pm
I have it, I don't have a compatible version to yours and I have 300+ board designs that
currently are known to work with my version and I don't want to break them just
to look at your picture!

Post non-proprietry opne formats on a public forum if you can, after all these threads will
be archived for decades to come.
44  Using Arduino / General Electronics / Re: Digital switch on: September 29, 2014, 12:15:24 pm
Switching transistor or MOSFET or solid-state relay or relay...
45  Using Arduino / General Electronics / Re: Darlington Array with Bipolar Stepper Motor on: September 29, 2014, 12:14:32 pm
The A4988 Mike suggested has several advantages. 
 The "on" resistance is on the order of 7-9 milli-ohms resulting in a much lower voltage drop.

Really?  Wow, that would be so nice if it were true...  Actually its 0.32 ohms typical, 0.43
ohms worst case.

Most integrated stepper driver chips have on-resistances of 0.2 to 0.5 ohms, not 7 milliohms!
If they were 7 milliohms you wouldn't need to cool them.

Discrete MOSFETs use vertical current flow which means the substrate of the chip
is the drain terminal - you can't integrate MOSFETs and control circuitry on the
same chip unless all the MOSFET's drains are commoned at the substrate potential.

Without vertical current flow you can't get anywhere near 7 milliohm on resistances.
Pages: 1 2 [3] 4 5 ... 849