summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Prot2008-01-29 23:04:19 +0100
committerPierre Prot2008-01-29 23:04:19 +0100
commitbdc75af6d9ebb0947ad79e6f34066ec84410283b (patch)
treeaa794d385b9f5cc6923fcbbbe50eff005666a4d8
parentbc38b408c53281ee985f6f9d67accc5733d99e37 (diff)
Nombreuses corrections, dont :
- remplacement des résistances par des valeurs standard - ajout d'un soft start - autres modifications...
-rw-r--r--analog/alim/Options.BOMop7
-rw-r--r--analog/alim/alim.brdbin55764 -> 68940 bytes
-rw-r--r--analog/alim/alim.schbin334179 -> 339571 bytes
-rw-r--r--analog/alim/alim.xlsbin85504 -> 91648 bytes
-rw-r--r--analog/alim/readme.txt189
-rw-r--r--analog/alim/sepic.asc234
6 files changed, 430 insertions, 0 deletions
diff --git a/analog/alim/Options.BOMop b/analog/alim/Options.BOMop
new file mode 100644
index 00000000..469cab98
--- /dev/null
+++ b/analog/alim/Options.BOMop
@@ -0,0 +1,7 @@
+ScreenWidth=800
+ScreenHeight=600
+AutoOpen=N
+AutoDatabase=
+AutoOpenSetup=Y
+AutoSetup=/home/pp/eagle/robot.BOMsu
+Setup=/home/pp/eagle/robot.BOMsu
diff --git a/analog/alim/alim.brd b/analog/alim/alim.brd
index 07d41633..18ae66af 100644
--- a/analog/alim/alim.brd
+++ b/analog/alim/alim.brd
Binary files differ
diff --git a/analog/alim/alim.sch b/analog/alim/alim.sch
index 293d31ff..99fcf4fb 100644
--- a/analog/alim/alim.sch
+++ b/analog/alim/alim.sch
Binary files differ
diff --git a/analog/alim/alim.xls b/analog/alim/alim.xls
index f86c19af..e6724009 100644
--- a/analog/alim/alim.xls
+++ b/analog/alim/alim.xls
Binary files differ
diff --git a/analog/alim/readme.txt b/analog/alim/readme.txt
new file mode 100644
index 00000000..8e223143
--- /dev/null
+++ b/analog/alim/readme.txt
@@ -0,0 +1,189 @@
+The power supply board aims at :
+
+
+*** 5V bucks ***
+- the bucks used are LM2678. They are compliant with the fllowing requierements :
+ * Input voltage : 8V to 40V.
+ * 120mOhm switcher allow up to 92% efficiency up to 5A
+ * 260 kHz operation
+ * simple design
+ * good power design, allow easy dissipation
+ * package handcratfly solderable
+
+- dc converting from 12V to 5V@4A allows a power dissipation of only 1.5W in the buck component (see calculs table)
+
+- the feedback is made of 1% resistors which allows an overall precsion of +/-3%. Good isn't it ?
+
+- a few capacitors are placed into the feedback loop as a provision for stability improvement if needed. Normally, they shoudn't be needed, but only tests will validate that fact.
+
+- according to methodology explained in the datasheet, we use a 22µH inductor. It can stand a continuous 4A current and have a 60mOhm resistance. at 4A, they will dissipate around 0.8W.
+
+- the output cap is 47µH, but shall probably be upgraded to 100µF
+
+- input cap is 10µF/50V. It is the most critical capacitor, because it shall stand great dI/dT, so a ceramic type is chosen for it aibility to react very well to high frequencies
+
+- we use 4 40V/1A schottky diodes in parallel for cost reasons and
+ dissipation. I guess a single well-sized diode would have been better
+ for efficiency, but global cost would be higher and dissipation problems would not be kind. They are expected to dissipate the most when input voltage is the highest. At 25V, 4A in output, they should stand a 0.8A current each, which will produce something like a 0.6V forward voltage. Thus, they would dissipate around 0.5W each.
+
+*** Power input ***
+- battery input as well as nestor input are protected against overvoltage and
+ reverse pluggin with a transil coupled to a polyswitch.
+ - In case of a default, the transil is passing and the polyswitch is expected
+ to blow off (it as capable to rearm itself).
+ - Anyway, in the case where the transil is stressed before it breaks, it may
+ (seldom) blow as an open circuit : in that case, if the polyswitch has not
+ be blown (which is supposed to be the case, otherwise, the transil doesn't
+ breaks), and the overvoltage will apply on the supply rail. So => avoid
+ problems : don't try to apply overvoltages
+
+- when a voltage is present on nestor input, it enlightens LED_NES_PRE
+
+- the power selection is achieved by a relay driven by the selection circuitry.
+ The relay switches either V_nestor, nor V_battery on the signal V_alim.
+
+- an input tank capacitor is implemented. We used 2 aluminium 470µF/63V
+ electrolytic capacitors which can be upgraded to 1000µF each for a little
+ overcost.
+ - For max consumption (40W on each output), they allow approx 0.5ms which is
+ clearly not enough for saving power during the relay switch time (estimated
+ to 5ms).
+ - For a 1A output current on 5V_dirty, we suppose anyway that the transparecy
+ time given by these tank capacitors will be long enough for ensuring no
+ voltage drop to output
+
+- the tank capacitors are connected to V_alim through a soft start circuitry.
+ - It aims at preventing from harmfull surge charging current which may happen
+ on power-on.
+ - This is done by a MOS whose gate is driven at off state by a capacitor.
+ - When power is quickly applied, the capacitor is slowly charged. When gate
+ voltages reaches linearity zone, the current begins to flow and charge
+ smoothly the tank capacitor.
+ - After the gate capacitor is fully charged, the soft-start circuitry looks
+ for the tank like a very small resistor.
+
+*** Power selection control ***
+- this circuitry checks nestor voltage to decide wheather the board is supplied
+ by nestor or by the battery
+
+- It is power by an independant 5V linear regulator powered by V_nestor. It is
+ expected to be +/-2% precise and produces the +5V voltage.
+
+- A comparators checks V_nestor to a reference derived from +5V. The threshold
+ is set 11.0V for 12V operation and 22.0V for 24V operation. The time constant
+ is set between 0.5 and 0.8ms.
+
+- upon the comparator trips low (nestor drops under the threshold), it shorts
+ to GND a timer capacitor, which cuts the relay command. Thus, the relay
+ releases and selects V_bat for powering the board
+
+- when nestor goes up, the comparator's output becomes high impedance (through
+ the diode), the timer capacitor can charge smoothly through R14 resistor.
+ When it reached the thresholds of the buffer gate, the relay switches on and
+ selects V_nestor as power supply for the board.
+
+- the timer allows thus :
+ - a short switching time to battery when V_nestor drops
+ - a long switching time to nestor when nestor arrives. This is done to be
+ sure nestor voltage is valid for sufficient time to be really present when
+ we switch it.
+
+- the led LED_NES_ACT is enlightened when nestor powering is activated
+
+- for avoiding the linear regulator to heat too much, the relay is powered by
+ when P5V_NUM when it is present. This is done by closing a P-MOSFET with
+ P5V_NUM voltage. If this voltage is absent (in case of a startup on nestor
+ without a battery), the P-MOS allows +5V to power the relay solenoïd until
+ nestor powers on the board and P5V_NUM takes the hand to poer the relay.
+
+- the diode D16 is used to protect the regulator from power arrival via its
+ output. Indeed, when V_nestor is not present, P5V_NUM takes back to +5V
+ trough the P-MOS body diode and could break the regulator if it's input was
+ 0V.
+
+*** Led voltmeter ***
+- The led voltmeter checks battery voltage. It is implemented around 4
+ comparators packaged in the MAX969.
+
+- Battery voltage is fed to a divider bridge with a filtering capacitor, and
+ then fed to the 4 comparators.
+
+- Each comparator has a different voltage reference. The references are
+ generated by a multiple divider bridge powered by the 1.2V reference included
+ into the MAX969.
+
+- An hysteresis is set to 1% of battery voltage
+- The thresholds are calculated with steps of about 4% of battery range
+- See calculs.xls for detailed threshold calculation.
+
+*** Charge controler ***
+- The battery charge control is ensured by a SEPIC converter. This topology
+ allow DC conversion from an input voltage hich can be either greater or lower
+ than the output voltage. It is opposed to bucks (step-down) and boost
+ (step-up) topology, and similar to flyback, but with simplified switching (no
+ snubber problems)
+
+- We use this converter from 10V to 30V input to a 10V to 28V current-limited
+ output.
+
+- Normally, SEPIC are built with a boost-type controler. For cost and
+ availability reasons (it's been hard to find a boost regulator matching our
+ requierments), we use a buck controler which is a bit modified.
+ - The normal loopback reaction of a buck is acted on the high-side MOS : the
+ lower the output voltage (sensed by the feedback pin), the higher the 'ON'
+ duty cycle on the MOS (that will result as a growth in inductor current
+ which will compensate the fall of output voltage).
+ - In a SEPIC (as in a boost or a flyback), the MOS is low-side (source
+ conected to GND, inductor on the drain). It shall react as the high-side
+ MOS of a buck ('ON' duty cycle augmentation upon output voltage fall).
+ - For availability reasons (we didn't find boost controlers with high enough
+ output voltage, high enough current, small enough price and package), we
+ will then use a Buck controler with external MOS, and we will use the
+ high-side gate drive output for driving our SEPIC low-side MOS.
+ - The MOS is sized according to the following constraints :
+ - it shall stand a Vds equal to input voltage + output voltage (due to the
+ fact that the transformer's primary voltage is always equal to
+ transformer's secondary voltage). Takin a few margin, if we want 30V
+ input and 30V output, we need at least a 60V MOS. For security, we take a
+ 100V.
+ - it shall have the lowest Rdson. The MOS chosen has a 30mOhm Rdson, which
+ will result in a 30mW dissipation at 1A charge current
+ - solderability (handcraft), small package, price.
+
+- The unloaded output voltage is limited to the final charging voltage fitted
+ to the battery : we have chosen 14V (28V for a 28V battery). This voltage is
+ set by a divider bridge, as the "normal" working mode of the buck controler
+ implies. See calcul.xls for detailed calculation.
+
+- The current is limited by a current sense sending proportional positive
+ feedback to the buck controler upon overcurrent condition.
+ - a shunt resistor accumulates the current into the transformer secondary.
+ This current is exactly equal (in mean value) to battery charge current.
+ V_shunt is the voltage accumulated on the shunt resistor ; it is negative
+ (below GND).
+ - a low-pass filter is used to get more or less the mean value of V_shunt :
+ V_shunt_f
+ - a negative amplifier amplifies V_shunt_f relatively to a reference voltage
+ of 100mV. The gain is about 3. It's output is equal to :
+ V_out=(|V_shunt_f| + 100mV) * 3 + 100mV
+ - a diode is inserted at the right output of this amplifier. Then, when
+ amplifier's output is intended to be lower than V_fb=0.7V, it is inactive on
+ buck's feedback. It it is intended to be greater than V_fb, the diode is
+ passing and the positive feedback action makes the controler to lower duty
+ cycle, reducing inductor current. The diode is inserted in the feedback
+ loop of the amplifier so that when it works in linear region, the diode's
+ drop is compensated.
+ - the threshold voltage on V_shunt_f over which the limitation occurs is
+ equal to :
+ V_shunt_f_th=(0.7 - 0.1) / 3 - 0.1
+ - for a 0.22 ohm resistor, it represents a charging current of about 400mA.
+
+- See calcul.xls table for detailed (and maybe up-to-date) calculus and values
+
+- The SEPIC is compensated (which means "the system frequency response is
+ corrected for ensuring the closed-loop stability) by a few capacitors in the
+ feedback loop. These caps are defined by nose metrics and a kind of black
+ magics that I don't master enough for explaining it in a comprehensive way.
+ It may work properly... or not, we will see upon real testsand after the help
+ of simulation
+
diff --git a/analog/alim/sepic.asc b/analog/alim/sepic.asc
new file mode 100644
index 00000000..55ebf451
--- /dev/null
+++ b/analog/alim/sepic.asc
@@ -0,0 +1,234 @@
+Version 4
+SHEET 1 3704 1416
+WIRE 1440 736 1360 736
+WIRE 1536 736 1440 736
+WIRE 2048 736 1536 736
+WIRE 1360 768 1360 736
+WIRE 1440 784 1440 736
+WIRE 2336 784 2288 784
+WIRE 1968 800 1744 800
+WIRE 2048 800 2048 736
+WIRE 2048 800 1968 800
+WIRE 1536 816 1536 736
+WIRE 2048 832 2048 800
+WIRE 2624 832 2128 832
+WIRE 2672 832 2624 832
+WIRE 1360 880 1360 848
+WIRE 1440 880 1440 848
+WIRE 2128 912 2128 896
+WIRE 2128 912 2048 912
+WIRE 2208 912 2208 784
+WIRE 2400 912 2400 784
+WIRE 2400 912 2288 912
+WIRE 2496 912 2480 912
+WIRE 2512 912 2496 912
+WIRE 2624 912 2592 912
+WIRE 1264 928 1264 896
+WIRE 2048 928 2048 912
+WIRE 1744 944 1744 800
+WIRE 2496 944 2496 912
+WIRE 2400 960 2400 912
+WIRE 2400 960 2368 960
+WIRE 2208 976 2208 912
+WIRE 2304 976 2272 976
+WIRE 2400 992 2368 992
+WIRE 1536 1008 1536 896
+WIRE 1584 1008 1536 1008
+WIRE 2000 1008 1904 1008
+WIRE 1264 1040 1264 1008
+WIRE 2544 1040 2448 1040
+WIRE 2672 1040 2672 896
+WIRE 2672 1040 2544 1040
+WIRE 2752 1040 2672 1040
+WIRE 2864 1040 2752 1040
+WIRE 2992 1040 2864 1040
+WIRE 1376 1072 1344 1072
+WIRE 1392 1072 1376 1072
+WIRE 1504 1072 1472 1072
+WIRE 1536 1072 1504 1072
+WIRE 1584 1072 1536 1072
+WIRE 1968 1072 1968 800
+WIRE 1968 1072 1904 1072
+WIRE 2544 1072 2544 1040
+WIRE 2864 1072 2864 1040
+WIRE 1344 1088 1344 1072
+WIRE 2672 1088 2672 1040
+WIRE 1504 1104 1504 1072
+WIRE 2048 1104 2048 1024
+WIRE 2208 1120 2208 976
+WIRE 2448 1120 2448 1104
+WIRE 1968 1136 1904 1136
+WIRE 1264 1184 1264 1152
+WIRE 1344 1184 1344 1152
+WIRE 1504 1184 1504 1168
+WIRE 2016 1200 1904 1200
+WIRE 2208 1200 2016 1200
+WIRE 2368 1200 2208 1200
+WIRE 2448 1200 2368 1200
+WIRE 2544 1200 2544 1152
+WIRE 2544 1200 2448 1200
+WIRE 2672 1200 2672 1152
+WIRE 2864 1200 2864 1152
+WIRE 2544 1216 2544 1200
+WIRE 1264 1296 1264 1264
+WIRE 1744 1296 1744 1264
+WIRE 2544 1312 2544 1296
+FLAG 1744 1296 0
+FLAG 2672 1200 0
+FLAG 1360 880 0
+FLAG 1440 880 0
+FLAG 2864 1200 0
+FLAG 2864 1040 OUT
+FLAG 2048 1104 0
+FLAG 1344 1184 0
+FLAG 1504 1184 0
+FLAG 2544 1312 0
+FLAG 1360 736 IN
+FLAG 2624 992 0
+FLAG 2368 1264 0
+FLAG 1536 1072 comp
+FLAG 1376 1072 comp1
+FLAG 2016 1200 fb
+FLAG 2752 1104 0
+FLAG 2336 1008 0
+FLAG 1264 1040 0
+FLAG 1264 896 P3V3
+FLAG 2336 944 P3V3
+FLAG 1264 1296 0
+FLAG 1264 1152 P0V1
+FLAG 2400 992 P0V1
+FLAG 2992 1120 0
+FLAG 2496 1008 0
+SYMBOL ind2 2032 816 R0
+SYMATTR InstName L1
+SYMATTR Value 22
+SYMATTR Type ind
+SYMBOL VOLTAGE 1360 752 R0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V1
+SYMATTR Value 12
+SYMBOL polcap 2656 1088 R0
+WINDOW 123 28 83 Left 0
+WINDOW 3 25 56 Left 0
+SYMATTR Value2 x1
+SYMATTR Value 10
+SYMATTR SpiceLine Rser=.05
+SYMATTR InstName C1
+SYMBOL polcap 1424 784 R0
+SYMATTR InstName C2
+SYMATTR Value 100
+SYMBOL cap 1488 1104 R0
+SYMATTR InstName C3
+SYMATTR Value 5n
+SYMBOL cap 1328 1088 R0
+SYMATTR InstName C4
+SYMATTR Value 0.4
+SYMBOL res 1488 1056 R90
+WINDOW 0 0 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+SYMATTR InstName R1
+SYMATTR Value 400
+SYMBOL POWERPRODUCTS\\LTC1530 1744 1104 R0
+WINDOW 3 16 176 Left 0
+SYMATTR InstName U1
+SYMBOL res 1520 800 R0
+SYMATTR InstName R2
+SYMATTR Value 50K
+SYMBOL NMOS 2000 928 R0
+SYMATTR InstName Q2
+SYMATTR Value IRF7201
+SYMBOL res 2528 1056 R0
+SYMATTR InstName R3
+SYMATTR Value 68.5K
+SYMBOL res 2528 1200 R0
+SYMATTR InstName R4
+SYMATTR Value 10K
+SYMBOL res 2848 1056 R0
+SYMATTR InstName Rload
+SYMATTR Value 20
+SYMBOL ind2 2640 928 R180
+WINDOW 0 36 80 Left 0
+WINDOW 3 36 40 Left 0
+SYMATTR InstName L2
+SYMATTR Value 22
+SYMATTR Type ind
+SYMBOL cap 2112 832 R0
+SYMATTR InstName C5
+SYMATTR Value .1
+SYMBOL schottky 2656 832 R0
+SYMATTR InstName D1
+SYMATTR Value MBR20100CT
+SYMATTR Description Diode
+SYMATTR Type diode
+SYMBOL cap 2432 1040 R0
+SYMATTR InstName C8
+SYMATTR Value 150p
+SYMBOL res 2432 1104 R0
+SYMATTR InstName R5
+SYMATTR Value 20k
+SYMBOL cap 2352 1200 R0
+SYMATTR InstName C6
+SYMATTR Value 1p
+SYMBOL cap 2736 1040 R0
+SYMATTR InstName C7
+SYMATTR Value 10
+SYMATTR SpiceLine Rser=0.005
+SYMBOL res 2608 896 R0
+SYMATTR InstName R6
+SYMATTR Value 0.4
+SYMBOL VOLTAGE 1264 912 R0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V2
+SYMATTR Value 3.3
+SYMBOL res 2496 896 R90
+WINDOW 0 0 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+SYMATTR InstName R7
+SYMATTR Value 100k
+SYMBOL res 2304 896 R90
+WINDOW 0 0 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+SYMATTR InstName R8
+SYMATTR Value 300k
+SYMBOL res 2304 768 R90
+WINDOW 0 0 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+SYMATTR InstName R9
+SYMATTR Value 100k
+SYMBOL diode 2272 960 R90
+WINDOW 0 0 32 VBottom 0
+WINDOW 3 32 32 VTop 0
+SYMATTR InstName D2
+SYMBOL res 2192 1104 R0
+SYMATTR InstName R10
+SYMATTR Value 10k
+SYMBOL cap 2400 768 R90
+WINDOW 0 0 32 VBottom 0
+WINDOW 3 32 32 VTop 0
+SYMATTR InstName C9
+SYMATTR Value 200p
+SYMBOL VOLTAGE 1264 1168 R0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName V3
+SYMATTR Value 0.1
+SYMBOL current 2992 1040 R0
+WINDOW 123 0 0 Left 0
+WINDOW 39 0 0 Left 0
+SYMATTR InstName I1
+SYMATTR Value PWL(0 0 6m 0 6.5m 0.5 7m 0.5 7.5m 0.7 8m 0.7 8.5m 1)
+SYMBOL Opamps\\LT1797 2336 912 M0
+SYMATTR InstName U2
+SYMBOL res 2608 896 R90
+WINDOW 0 0 56 VBottom 0
+WINDOW 3 32 56 VTop 0
+SYMATTR InstName R11
+SYMATTR Value 1k
+SYMBOL cap 2480 944 R0
+SYMATTR InstName C10
+SYMATTR Value 10n
+TEXT 1928 1304 Left 0 !.tran 10m startup
+TEXT 2536 792 Left 0 !k L1 L2 1
+TEXT 992 1000 Left 0 ;.ic v(comp)=4\n.ic v(out)=9