Maker Pro
Maker Pro

Need design for 120VDC 60mA constant current supply

L

linnix

I'm looking for a design for a 120VDC 60mA constant current
supply. This is what's needed to drive old 60mA Teletype machines.
The classic solution is to run a constant voltage supply through a
2K 10W resistor, but that approach dissipates 8W when idle, which
requires a big resistor for a board-mount design. I'm currently
using a big 10W thick-film resistor, and it works fine, but adds
1.5" to the board height and needs ventilation.

So I'm looking for a switch-mode constant current supply.
This design from EDN looks promising:

http://www.edn.com/article/CA217668.html

But the components are only rated to 40VDC, and even the "HV" version
only goes to 60V. Also, it's a design from 2002; there are probably
better switching regulator components available now.

The On Technologies NCP3065 part (a constant current driver
for LED strings) looks promising, but won't go to a high enough voltage.

Any suggestions?

John Nagle

When all else fails, relay works. You can also try with some high
voltage (600V) MOSFET. You will need fractional voltage sensing and
switching, possibly with a microcontroller.
 
J

John Nagle

I'm looking for a design for a 120VDC 60mA constant current
supply. This is what's needed to drive old 60mA Teletype machines.
The classic solution is to run a constant voltage supply through a
2K 10W resistor, but that approach dissipates 8W when idle, which
requires a big resistor for a board-mount design. I'm currently
using a big 10W thick-film resistor, and it works fine, but adds
1.5" to the board height and needs ventilation.

So I'm looking for a switch-mode constant current supply.
This design from EDN looks promising:

http://www.edn.com/article/CA217668.html

But the components are only rated to 40VDC, and even the "HV" version
only goes to 60V. Also, it's a design from 2002; there are probably
better switching regulator components available now.

The On Technologies NCP3065 part (a constant current driver
for LED strings) looks promising, but won't go to a high enough voltage.

Any suggestions?

John Nagle
 
    I'm looking for a design for a 120VDC 60mA constant current
supply.  This is what's needed to drive old 60mA Teletype machines.
The classic solution is to run a constant voltage supply through a
2K 10W resistor, but that approach dissipates 8W when idle, which
requires a big resistor for a board-mount design.  I'm currently
using a big 10W thick-film resistor, and it works fine, but adds
1.5" to the board height and needs ventilation.

    So I'm looking for a switch-mode constant current supply.
This design from EDN looks promising:

       http://www.edn.com/article/CA217668.html

But the components are only rated to 40VDC, and even the "HV" version
only goes to 60V.  Also, it's a design from 2002; there are probably
better switching regulator components available now.

    The On Technologies NCP3065 part (a constant current driver
for LED strings) looks promising, but won't go to a high enough voltage.

    Any suggestions?

                                John Nagle

National has a 100V buck, LM5009 I think.

could you change the drivers to do the current regulation?, something
like an L6505 and two
small high voltage transistors per two outputs?


-Lasse
 
H

Hammy

I'm looking for a design for a 120VDC 60mA constant current
supply. This is what's needed to drive old 60mA Teletype machines.
The classic solution is to run a constant voltage supply through a
2K 10W resistor, but that approach dissipates 8W when idle, which
requires a big resistor for a board-mount design. I'm currently
using a big 10W thick-film resistor, and it works fine, but adds
1.5" to the board height and needs ventilation.

So I'm looking for a switch-mode constant current supply.
This design from EDN looks promising:

http://www.edn.com/article/CA217668.html

But the components are only rated to 40VDC, and even the "HV" version
only goes to 60V. Also, it's a design from 2002; there are probably
better switching regulator components available now.

The On Technologies NCP3065 part (a constant current driver
for LED strings) looks promising, but won't go to a high enough voltage.

Any suggestions?

John Nagle

IR makes some HV Buck controllers for LED driving. heres one.

http://www.irf.com/product-info/datasheets/data/irs2540pbf.pdf

Available here.

http://canada.newark.com/jsp/search/browse.jsp?N=500002+1001879&Ntk=gensearch_001&Ntt=IRS254&Ntx=

Onsemi makes some to for operateing directly off the mains. You could
probably use one of theres too. I forgot the part number but poke
around there site, I rember reading an application about a low cost HV
non-isolated buck controller they use for LED'S.
 
J

John Nagle

National has a 100V buck, LM5009 I think.

could you change the drivers to do the current regulation?, something
like an L6505 and two small high voltage transistors per two outputs?

The key issue here is that the constant current and high voltage
are required because the constant current feeds a big inductor, the 4H
55 ohm electromagnet of a Model 15 teletype. 3.3V is enough to get
60mA through the selector magnet in the steady state, but it takes a
huge voltage to get a fast enough rise time to pull the electromagnet
in fast enough. That's why these things are run off of such
high voltages. The traditional loop voltage is 130VDC, and higher
voltages were used when several machines were in series on the
current loop. So, in fact, there's a huge voltage slew at the
beginning of every ON bit.

Then, when theres a 1 to 0 transition, there's a huge inductive
kickback (400V or more) as that big electromagnet dumps. That
can be snubbed (1uF in series with 100 ohms works without cutting
the fall time too much), but there's still a transient.

So plenty of headroom is needed on the component voltages.

There are so many switching regulator parts around that something
should be available to do the job with a small parts count.

Here's the actual teletype involved, and the current circuit
being used for driving it.

http://www.animats.com/nagle/aetheric/

John Nagle
 
J

James Arthur

John said:
That looks encouraging. I'm not sure it can handle an inductive load
that's being switched on and off; I need to look at the data sheets.
This really needs a SPICE model.

John Nagle

Hammy's was a really good suggestion. Along those lines, you could
use pretty much any old switcher chip--just stack a HV MOSFET in
cascode on top of the chip's output switch.

Cheers,
James Arthur
 
     The key issue here is that the constant current and high voltage
are required because the constant current feeds a big inductor, the 4H
55 ohm electromagnet of a Model 15 teletype.  3.3V is enough to get
60mA through the selector magnet in the steady state, but it takes a
huge voltage to get a fast enough rise time to pull the electromagnet
in fast enough.  That's why these things are run off of such
high voltages.  The traditional loop voltage is 130VDC, and higher
voltages were used when several machines were in series on the
current loop.  So, in fact, there's a huge voltage slew at the
beginning of every ON bit.

    Then, when theres a 1 to 0 transition, there's a huge inductive
kickback (400V or more) as that big electromagnet dumps.  That
can be snubbed (1uF in series with 100 ohms works without cutting
the fall time too much), but there's still a transient.

    So plenty of headroom is needed on the component voltages.

    There are so many switching regulator parts around that something
should be available to do the job with a small parts count.

    Here's the actual teletype involved, and the current circuit
being used for driving it.

       http://www.animats.com/nagle/aetheric/

                                John Nagle

Can you do the switching on the ground side of the coil?

an avalance rated fet with the right voltage rating should be able to
handle
the clamping as well

-Lasse
 
B

bw

John Nagle said:
I'm looking for a design for a 120VDC 60mA constant current
supply. This is what's needed to drive old 60mA Teletype machines.
The classic solution is to run a constant voltage supply through a
2K 10W resistor, but that approach dissipates 8W when idle, which
requires a big resistor for a board-mount design. I'm currently
using a big 10W thick-film resistor, and it works fine, but adds
1.5" to the board height and needs ventilation.
Any suggestions?

John Nagle

Step down the mains to 90 vac. Fair radio sales has 90 vac transformers.
Rectify and filter the 90 vac to 125 vdc
 
J

John Nagle

If you're driving a real electromagnetic TTY coil (an old clunker with
no electronics inside) the current has to rise and fall fast to work
properly. The EDN circuit will be way too slow. These things typically
need a lot of voltage to bang the coil, and the switch-off has to be
fast too... no clamp diodes allowed. A high-voltage h-bridge would
work, but that's a lot of work.

You might save some power by doing this:


+120---------R1-------------------+
|
+24?---------ak-------+-----------+
diode | |
| |
cap |
| coil
| |
gnd |
|
|
|
fet to ground


with some sort of zener clamp maybe to protect the fet from flyback.
R1 needn't be as big as the resistor you're using now... it charges
the cap when the fet is off. The lv supply is whatever the coil needs
steady-state.

John

Now that's a good point. The real problem here is that the
initial voltage required to get the needed rise time is about 35 times
the steady state voltage, because of that huge 4H coil inductance.
What's needed is the energy to power that transient.

That energy will be required about every 20ms, given the baud rate
(45.45 baud!). So we really don't need that much current from the
120VDC supply if there's a capacitor to accumulate energy between
pulses. It might even be possible to get the necessary 120V with
a step-up arrangement from a 5V or 12V supply, which would get rid
of the need for a separate 120VDC supply. That would be an
elegant solution.

But how to regulate all this?

John Nagle
 
J

James Arthur

John said:
Now that's a good point. The real problem here is that the
initial voltage required to get the needed rise time is about 35 times
the steady state voltage, because of that huge 4H coil inductance.
What's needed is the energy to power that transient.

That energy will be required about every 20ms, given the baud rate
(45.45 baud!). So we really don't need that much current from the
120VDC supply if there's a capacitor to accumulate energy between
pulses. It might even be possible to get the necessary 120V with
a step-up arrangement from a 5V or 12V supply, which would get rid
of the need for a separate 120VDC supply. That would be an
elegant solution.

But how to regulate all this?

John Nagle


I have no trouble at all sketching a 60mA switching current
source with 120 volt compliance.

The difficulty is making a simple circuit that dumps the
selector coil quickly.

A buck topology would energize the coil quickly,
but decay through D1 will be very slow:


FIG 1. (SW1 controlled by current mode switcher.)
=====
SW1 L1 (selector coil)
/ .-.-.-.
+120v >---/ ---o---' ' ' '---o------> feedback, to
| | control ckt.
--- .-.
D1 ^ | | Rsense
| | |
=== '-'
GND |
===
GND


So here's an idea--adding MOSFET Q1 does make it dump quickly:

FIG 2.
=====
SW1 L1 (selector coil)
/ .-.-.-.
+120v >---/ ---o---' ' ' '---.
| |
--- | |--' Q1
D1 ^ | |<-.
| ---' |--+----> to control ckt.
=== |
GND .-.
| |
| | Rsense
'-'
|
|
===
GND

....where Q1 opens and takes the avalanche hit to dump
the coil.

The high-side switch SW1 is mildly inconvenient, but it doesn't
take much drive and the frequency will be low, so there are a
number of easy choices for it.


James Arthur
 
J

James Arthur

James said:
I have no trouble at all sketching a 60mA switching current
source with 120 volt compliance.

The difficulty is making a simple circuit that dumps the
selector coil quickly.

A buck topology would energize the coil quickly,
but decay through D1 will be very slow:


FIG 1. (SW1 controlled by current mode switcher.)
=====
SW1 L1 (selector coil)
/ .-.-.-.
+120v >---/ ---o---' ' ' '---o------> feedback, to
| | control ckt.
--- .-.
D1 ^ | | Rsense
| | |
=== '-'
GND |
===
GND


So here's an idea--adding MOSFET Q1 does make it dump quickly:

FIG 2.
=====
SW1 L1 (selector coil)
/ .-.-.-.
+120v >---/ ---o---' ' ' '---.
| |
--- | |--' Q1
D1 ^ | |<-.
| ---' |--+----> to control ckt.
=== |
GND .-.
| |
| | Rsense
'-'
|
|
===
GND

...where Q1 opens and takes the avalanche hit to dump
the coil.

The high-side switch SW1 is mildly inconvenient, but it doesn't
take much drive and the frequency will be low, so there are a
number of easy choices for it.


James Arthur

Oh, better yet, add a diode from L1's 'cold' end to +120v,
recycling the 'dump' back to +120v. That saves power, cuts
heating.

Cheers,
James Arthur
 
N

Nobody

But how to regulate all this?

It's regulated by the fact that the finite energy stored in the capacitor.
As the coil current increases, it drains the capacitor, reducing the
voltage. Once the capacitor has been drained down to the 3.3V operating
voltage, the continuous current is limited by the resistance of the coil
and the resistor in the 120V lead.

Try the appended LTSpice model.

Version 4
SHEET 1 880 680
WIRE -160 -16 -272 -16
WIRE 48 -16 -80 -16
WIRE 208 -16 48 -16
WIRE 384 -16 208 -16
WIRE 448 -16 384 -16
WIRE 608 -16 448 -16
WIRE 384 32 384 -16
WIRE 448 48 448 -16
WIRE 608 80 608 -16
WIRE 208 144 208 -16
WIRE 48 176 48 -16
WIRE -272 224 -272 -16
WIRE 384 272 384 112
WIRE 448 272 448 112
WIRE 448 272 384 272
WIRE 496 272 448 272
WIRE 608 272 608 160
WIRE 608 272 560 272
WIRE 720 272 608 272
WIRE 608 304 608 272
WIRE 48 336 48 240
WIRE 560 384 432 384
WIRE 432 416 432 384
WIRE 432 528 432 496
WIRE -272 560 -272 304
WIRE 48 560 48 416
WIRE 48 560 -272 560
WIRE 208 560 208 208
WIRE 208 560 48 560
WIRE 608 560 608 400
WIRE 608 560 208 560
WIRE -272 608 -272 560
FLAG -272 608 0
FLAG 432 528 0
FLAG 432 384 signal
FLAG 720 272 out
IOPIN 720 272 Out
FLAG 608 -16 supply
SYMBOL voltage -272 208 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 120
SYMBOL ind 592 64 R0
SYMATTR InstName L1
SYMATTR Value 4
SYMATTR SpiceLine Rser=55
SYMBOL cap 192 144 R0
SYMATTR InstName C1
SYMATTR Value 1µF
SYMBOL res -176 0 R270
WINDOW 0 32 56 VTop 0
WINDOW 3 0 56 VBottom 0
SYMATTR InstName R1
SYMATTR Value 4.7K
SYMBOL voltage 432 400 R0
WINDOW 3 24 104 Invisible 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(0V 20V 20ms 100us 100us 10ms 20ms)
SYMATTR InstName V3
SYMBOL voltage 48 320 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value 4V
SYMBOL diode 64 240 R180
WINDOW 0 24 72 Left 0
WINDOW 3 24 0 Left 0
SYMATTR InstName D2
SYMBOL cap 432 48 R0
SYMATTR InstName C3
SYMATTR Value 1µF
SYMBOL res 400 128 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R2
SYMATTR Value 10K
SYMBOL nmos 560 304 R0
SYMATTR InstName M1
SYMATTR Value IRF1302
SYMBOL schottky 560 256 R90
WINDOW 0 0 32 VBottom 0
WINDOW 3 32 32 VTop 0
SYMATTR InstName D1
TEXT 264 -88 Left 0 !.tran 0 0.5s 0.3s
 
J

James Arthur

John said:
James Arthur wrote:



How about charging an inductor from +12 (or whatever) and dumping it
into the tty coil to get the fast current rise? That's sort of a
strange flyback power supply that only makes one shot now and then...
namely 45.45 times a second.

I have one of those feelings that there's a very simple, very elegant
circuit lurking out there in circuit space. If I wasn't deeply
involved with a carnitas super burrito, I might scribble something.

And I thought an ASR-33 was slow!

John

I though about precharging an inductor--you could pump 1 amp into
a much smaller inductance and store an equivalent amount of energy,
or you could use another 4H inductor and charge it to 60mA...

I don't immediately see how to control the flyback voltages though.
Hmmm.

I also want to say a "series cap-thing switched to +120v", where
the cap delivers a time-limited +120v pulse, then you reclaim
the cap energy later somehow, but I don't have a clean topology
for that offhand.

(An H-bridge works, but that's messy.)


James Arthur
 
J

James Arthur

Nobody said:
It's regulated by the fact that the finite energy stored in the capacitor.
As the coil current increases, it drains the capacitor, reducing the
voltage. Once the capacitor has been drained down to the 3.3V operating
voltage, the continuous current is limited by the resistance of the coil
and the resistor in the 120V lead.

Try the appended LTSpice model.

<snip LTSpice>

R1
4.7K / 5W
+120v >---\/\/\-----o-----------o-----o-------.
| | | |_
D1 | [R2] [C2] _) L1
+4v >----|>|------o [10k] [1uF] _)
| | | _) (4H, 55ohms)
| '--o--' |
--- C1 | D2 |
--- 1uF '----|<|---o
| |
| | |--'
=== | |<-. Q1
_____| |--+
|
===
GND

That's pretty good--John's R-C thing, plus fast dump into
a snubber (R2-C2). R1 dissipates 1 1/2W average, 3W max.,
and R2 burns about 300mW.

A switcher's much more efficient, but why bother? This is
quite decent.

Cheers,
James Arthur
 
J

John Nagle

That's not bad. The waveforms look good.

The 120V supply is supplying 25mA (3W) in the steady ON state, though.
The 4V supply is only supplying 35mA (0.14W). So the 4V supply isn't really
doing much work. The 120V supply should be the low-power one.

Ideally, the 120V supply should just charge up a capacitor used to provide
the voltage kick needed to get the necessary rise time. Then a very low current
120V supply could be used, like a simple boost converter, and the whole thing
could be run off a 5V supply. The usual drivers for older teletypes have a big
120VDC supply; I use a 200mA 120V open-frame supply, which is overkill.

John Nagle
 
N

Nobody

That's not bad. The waveforms look good.

The 120V supply is supplying 25mA (3W) in the steady ON state, though.
The 4V supply is only supplying 35mA (0.14W). So the 4V supply isn't really
doing much work. The 120V supply should be the low-power one.

Ideally, the 120V supply should just charge up a capacitor used to provide
the voltage kick needed to get the necessary rise time. Then a very low current
120V supply could be used, like a simple boost converter, and the whole thing
could be run off a 5V supply. The usual drivers for older teletypes have a big
120VDC supply; I use a 200mA 120V open-frame supply, which is overkill.

Agreed. The question is, given that the capacitor feeds the coil, and the
HV feeds the capacitor, how to prevent the HV feeding the coil? The
resistor can't be any higher if the capacitor is to recharge fully.

You could switch the HV off with e.g. a FET during the on state, but that
requires a transformer or a high-side driver. If you're going to that
level, it's getting to the point where you may as well go the whole hog
and use an H-bridge, which lets you recover the energy stored in the coil
on switch-off to use for the next switch-on.
 
J

James Arthur

Nobody said:
Agreed. The question is, given that the capacitor feeds the coil, and the
HV feeds the capacitor, how to prevent the HV feeding the coil? The
resistor can't be any higher if the capacitor is to recharge fully.

You could switch the HV off with e.g. a FET during the on state, but that
requires a transformer or a high-side driver. If you're going to that
level, it's getting to the point where you may as well go the whole hog
and use an H-bridge, which lets you recover the energy stored in the coil
on switch-off to use for the next switch-on.

I like the simplicity of the previous circuit charging the cap
via R1.


FIG. 1
======
R1
4.7K / 5W
+120v >---\/\/\-----o-----------o-----o-------.
| | | |_
D1 | [R2] [C2] _) L1
+4v >----|>|------o [10k] [1uF] _)
| | | _) (4H, 55ohms)
| '--o--' |
--- C1 | D2 |
--- 1uF '----|<|---o
| |
| | |--'
=== | |<-. Q1
_____| |--+
|
===
GND


The only way to reduce that dissipation is to replace
R1 with a switching element.

I gave such a scheme in block form up above--it's a lot
busier. But, if you're dead-set on saving dissipation,
that's what needs doing.

Here's one possible sketch:


FIG. 2
======
D1
.--------------|<|---------------------.
| Q1 |
+120v >-----o-----o----. .-----o-------. |
| e \ / c | | |
[R1] ----- - | |
| | b ^ D2 | |
'-------o - _) L1 |
| | _) 4H / |
DATA+ >--. | === _) 55r |
| [R2] GND | |
| | | |
.-----o----o-----[R3]---|--------. | |
| | | | | | |
| | | |/ Q2 | o-------'
| | | +5v---| MPSA42 | |
| [R4] | |>. | |
| | | | | |
| | | __ [R5] | |
| | '--| \ | | |
| | | )O----o | |
| o-------|__/ | | |
| | 74HC132 | | |
| | | | |
[R6] \| Q3 | | |/ Q4
| |---------------|--------o-----| MPSA42
| .<| | |>.
| | | |
o-----o------[R8]-------' [R9]
| |
[R7] ===
| GND
===
GND

This is a hysteretic buck. Q1 is the switch, current is
sensed across R9, and Q3 is the comparator. R6-7 sets
the current limit as a fraction of the DATA+ signal input,
while R8 provides hysteresis.

When the current in R9 is below setpoint, Q3 is biased off
by R6-8, both 'HC132 inputs are high, driving the output
low, and switch Q1 is on. When i(L1) reaches the setpoint,
Q3's base rises until it conducts, 'HC132 output goes high,
Q1 cuts off, and L1 freewheels efficiently through D2 and Q4.

When DATA+ goes low, Q4 turns off and the inductor flies
back, returning its energy to the +120v supply.

The currents are small, so D1-2 are signal diodes and
snubbing is probably unnecessary.

The DATA+ signal could also serve as the +5V supply
powering the logic gate.

The whole should draw roughly 3 or 4 mA from the +120v.


Cheers,
James Arthur
 
Top