Het betreft een oudere voeding, die enige revisie nodig had. Twee nadelen in het oude ontwerp dienden verbeterd te worden:
Het tweede probleem was te wijten aan de potmeter waarmee
de gewenste spanning werd ingesteld. Zelfs bij gebruik van
een meerslags-potmeter is de resolutie te klein om de
spanning tot op 0.1Volt moeiteloos te regelen.
De potmeter werd bijgevolg vervangen door een stel toetsen, waarmee een spanningsregeling tot op
0.001Volt probleemloos kan verwezenlijkt worden. Daarnaast kan
de voeding nu vanuit een PC bediend worden.
De spanning- en stroomuitlezing van de originele voeding werd ongewijzigd herbruikt. Ook de eindtransistoren met hun koeling, de trafo, de gelijkrichter en de afvlakcondensators konden dienst blijven doen.
Het schema hierboven laat zien, dat dit een eenvoudige voeding is, met uitzondering van het kader “SpStuur”, waarover we het in een volgend hoofdstuk hebben.
C1 ... C3 zijn de buffer-elco's voor het vermogensgedeelte. De
spanning hierover bedraagt ―in onbelaste toestand― zo'n
35Volt.
R1 zorgt er voor, dat IC1 een wat lagere spanning (27Volt)
aangeboden krijgt. C4 vlakt die spanning nog verder af. IC1 en
omringende componenten (C5, C6) leveren een strakke spanning van
15Volt voor IC2, die hier de hoofdrol vervult. IC2, een
CA3160, zal steeds trachten de spanning op zijn inverterende
ingang gelijk te maken aan die op zijn niet-inverterende ingang.
Is de spanning op pin 2 lager dan op pin 3, dan wordt de uitgang
hoger. Via de spanningsdeler R2/R3 krijgt T2 een hogere
spanning aan zijn basis, waardoor hij meer stroom gaat leveren
aan de eindtrap (T3 ... T6). Dit stel gaat op zijn beurt ook meer
stroom1 leveren, waardoor de uitgangsspanning stijgt. Dit
gaat zo lang door, tot de spanningsdeler-combinatie R17, R18, R19
en P1 er voor zorgt dat op pin 2 dezelfde spanning staat als op
pin 3.
SpStuur levert maximaal 5Volt; op de uitgangsbuffer staat dan
0xFFFF (65535). Hiermee moet een uitgangsspanning van iets meer
dan 30Volt geregeld worden.
Als we een waarde van 60000 (0xEA60) laten overeenkomen met
30Volt, kunnen we de uitgangsspanning regelen in stapjes van
0.5mVolt. Om dit te bereiken, is het noodzakelijk dat de
spanningsdeler in de terugkoppeling heel precies kan
ingesteld worden. Laten we in het onderstaande R17 benoemen als
RH, en R18, R19 en P1 als RL.
Even berekenen:
Als 65535 overeen komt met 5.000Volt, komt
60000 overeen met een stuurspanning van 4.577Volt.
En we willen dat die 4.577Volt stuurspanning resulteert in
een uitgangsspanning van 30.0Volt.
De verhouding tussen beide weerstanden van de spanningsdeler
moet dus zijn: 4.577 / (30 - 4.577) = 4.577 / 25.423.
Als we voor RH een weerstand van 4700R kiezen, moet RL
een weerstand van ((4700 * 4.777) / 25.423) = 846R bezitten.
Parser leert ons dat een parallelschakeling van
1000R en 5600R een weerstand van 848.48R (Afwijking =
+0.29%) oplevert.
Dat is iets te veel, maar daar doen we ons voordeel mee door
5600R te vervangen door een serieschakeling van 4700R en (een
instelpot) 1000R. Daarmee kunnen we RL variëren tussen 824R en
850R.
Bij een voeding die probleemloos 10Ampere kan leveren, is een
instelbare stroombegrenzing onontbeerlijk.
Dit is de taak van het gedeelte rond IC4. Dit geheel beschikt
over een eigen voeding, waarvan de massa verbonden is met de
plus-pool van de buffer-elco's die de spanningsregeling
afvlakken.
De loper van P2 is verbonden met de inverterende ingang van
opamp IC4. Hiermee wordt de maximum stroom bepaald. R28, D3 en
D4
leggen de “bovenzijde” van P2 vast op 1.2Volt. Zo kan de
spanning op pin2 geregeld worden tussen 0Volt en 1.2Volt. Laten
we aannemen dat de loper van P2 in het midden staat. Op pin2
van IC4 staat dan een spanning van 0.6Volt.
R30, D5 en D6 zorgen er voor, dat de niet-inverterende ingang
van IC4 1.2Volt hoger ligt dan de positieve voedingsrail van de
spanningsregeling, echter na serieweerstand R24. Zolang
er geen stroom door deze weerstanden loopt, staat er op pin3
bijgevolg een spanning van 1.2Volt. De uitgang van IC4 is nu
hoog, en T7 zal sperren.
Zodra er stroom door R24 gaat vloeien, ontstaat er over deze
weerstand een spanningsval. Hierdoor zakt ook de spanning op
pin3 van de opamp. Zodra die spanning lager wordt dan deze op
pin2, maakt IC4 zijn uitgang laag, en komt T7 in geleiding. Via
R20 en R21 wordt ook T1 opengestuurd, die op zijn beurt de
ingestelde spanning naar beneden trekt.
Een lagere spanning betekent ook minder stroom en minder
spanningsval over R24; en een hogere spanning op pin3 - tot
alles in evenwicht is.
Met schakelaars S1 en S2 kunnen hogere stroombereiken gekozen
worden.
Een mooie eigenschap van een opamp als de CA3140 is het feit dat hij overweg kan met ingangsspanningen die iets lager zijn dan de negatieve voedingsrail. Hierdoor zal IC4 ook zijn werk doen, als de loper van P2 helemaal “naar beneden” gedraais is.
De nummers op de printkies komen overeen met de nummers in de gele cirkels, zoals die op het schema terug te vinden zijn.
Een volbestukte printplaat van 8 op 10 cm om een potmeter te vervangen;
't is me wat!
Maar we krijgen daar heel wat gebruiksgemak voor terug:
Er bestaan meerdere manieren om een digitaal getal te vertalen
naar een analoge spanning. Men kan een D/A-converter
inschakelen; men kan pulsbreedte-modulatie overwegen; en dan is
er nog de R2R-ladder.
Er werd gekozen voor de laatste oplossing. Er kleven weliswaar
enkele bezwaren aan:
Centraal in het schema hierboven bevindt zich het kloppend hart
van deze print, een microcontroller van Atmel: een
AT90S4433. Tussen de uC en de R2R-ladder bevinden
zich 4 buffers.
Buffer 1 en buffer 2 worden elk om beurt geladen met een 8-bits
getal(bit 0 ... 7 en bit 8 ... 15). Eens dat gebeurt is, wordt
de inhoud van deze buffers in 1 mep doorgegeven aan buffers
3 en 4, die op hun beurt de R2R-ladder aansturen.
Zo wordt vermeden
dat een verhoging met 1 bit (b.v. van 01111111 11111111 naar
10000000 00000000) rare spanningssprongen gaat veroorzaken, wat
zeker het geval zou zijn, moesten we de R2R-ladder rechtstreeks met buffers 1
en 2 verbinden.
Wat vinden we verder op de print?
Het groepje componenten rond IC1 en T1 zorgt voor een gestabiliseerde
voedingsspanning en een nette reset bij het opstarten.
Vlak daarnaast vinden we de
connector, waarmee de uC geprogrammeerd kan worden. Deze connector wordt
hiertoe verbonden met de printer-poort van de PC, die het programmeren
voor zijn rekening neemt.
Linksonder zien we een tweede connector. Deze laat toe, de voeding
via een seriële lijn te besturen vanuit de PC. Tussen deze connector
en de uC merken we een MAX232 (IC2). Dit IC produceert de positieve
en negatieve spanningen die nodig zijn om dat over een seriële
lijn te verzenden en te ontvangen.
Tenslotte is er nog een LCD-module met het geheel verbonden.
Hierop toont de uC de ingestelde spanning. Deze kan (sterk) afwijken van
de spanning die de ingebouwde voltmeter aanduidt. Zulks zal
namelijk het geval zijn, als de stroombegrenzing ingrijpt.
Zoals het schema hierboven laat zien, misbruiken we een A/D-ingang van de AT90S4433 om een toetsenbordje uit te lezen. R101 vormt samen met 1 van de weerstanden R102 ... R107 een spanningsdeler, zodra er een toets wordt ingedrukt. De spanning hierover wordt doorgegeven aan PC5 van de AT90S4433. De software gaat de spanning op deze pin regelmatig uitlezen. Het resultaat van een meting ligt tussen 0 en 1023; het betreft immers een 10-bits A/D-omzetter. Is de spanning lager dan pakweg 950, dan is er zeker een toets ingedrukt. Welke dat is, valt af te lezen uit de gemeten spanning.
De toetsen zijn opgesteld in twee kolommen met elk 3 toetsen. De
linker kolom dient om de ingestelde spanning te verlagen,
terwijl men met de rechter kolom de spanning kan verhogen.
Dat
gaat in stapjes van 1mVolt (bovenste rij), 0.5Volt (midden) of
5Volt (onder). Blijft men een toets indrukken, dan gaat de
software de gewenste actie herhalen met tussenpozen, die alsmaar
korter worden. Het ritme wordt hierbij hoorbaar gemaakt met
behulp van een luidsprekertje, dat via een een eenvoudig
klasse-C trapje door PD3 gestuurd wordt.
Dat is vooral handig met de 1mVolt-toetsen; 100 maal drukken
teneinde de spanning 100mVolt op te krikken is ook niet
ideaal...
Bedienen vanuit de PC is ook eenvoudig.
Nadat de gewenste seriële poort op gepaste wijze is ingesteld
(ttydevinit /dev/ttySnn), kan de PC met SpStuur
communiceren.
De belangrijkste opdrachten zijn: u=-, u=+ en u=nn3. u=- en u=+
verlagen/verhogen de ingestelde spanning met 1 mVolt. Met u=nn
wordt meteen de gewenste spanning ingesteld. Dat kan in mVolt
(b.v. u=5100) of in Volt (b.v u=5.100 of u=5,1); als de
software een komma (een punt mag ook) in het cijfer merkt, gaat
hij er van uit dat de gebruiker een spanning in Volt heeft
opgegeven.
Enkel voor het instellen van de gewenste stroombegrenzing is de gebruiker verplicht om alsnog aan een potmeterknop te draaien...
Na 4 jaar trouwe dienst verdient de LabVoeding wel een opknapbeurt.
Wat meest in het oog springt is het frontpaneel.
Het eentonig zilver-grijs werd vervangen door een kleurige
uitvoering. Wat daarbij meteen opvalt is de noodstop. Loopt er
iets mis (rook die uit een component verdwijnt), dan volstaat
een druk op die knop om de uitgangsspanning onmiddelijk naar
0Volt terug te brengen.
De knop bedient een relais met 4 contacten. Eén contact sluit
de referentiespanning (de uitgang van de R2R-ladder) kort met
GND. Een tweede contact geeft de ATmega8 een interrupt; deze
reageert hierop door de referentiespanning naar 0Volt terug te
schroeven (anders stijgt de uitgangsspanning opnieuw na het
loslaten van de noodstop). De overige twee contacten belasten de
uitgang met een weerstand van 1R, zodat ook de uitgangs-elko
snel ontladen wordt.
Hetgeen van buitenaf niet zichtbaar is: de AT90S4433 heeft
plaats moeten ruimen voor een ATmega8. De reden hiervoor was het
feit dat een ATmega8 op een klok van 14745600Hz kan draaien, wat
een snellere en betrouwbare RS232-communicatie mogelijk maakt.
Uiteraard is ook de firmware
aangepast.
Ondanks de eenvoud van het ontwerp, zijn de prestaties bevredigend. Bij normaal gebruik bedraagt de rimpel niet meer dan 10mVolt, zoals hierboven te zien is.
Enkel als de stroombegrenzing ingrijpt, werd het minder fraai;
de scoop toonde oscillaties die tot meer dan 100mV opliepen.
Dit werd verholpen door parallel aan C6 (origineel 100nF) een elko te plaatsen van
100uF. Oscillaties komen niet meer voor; enkel een rimpel die
duidelijk afkomstig is van de “ruwe” voedingsspanning.
Die rimpel blijft nu op 60mVolt steken (zie hieronder).
Dat kan wellicht nog verbeterd worden...
De voeding kan zowel 30V leveren als 10A. Maar niet beiden tegelijk; daar is de trafo nu eenmaal te klein voor.
De vermogenstorren zijn flink overgedimensioneerd. 6 eindtorren gebruiken, waar in pricipe 1 tor het werk kan doen, lijkt gekkenwerk. Maar ik wou de voeding absoluut foolproof maken. En dat is me tot nu toe aardig gelukt.
S1 en S2 zijn automatische zekeringen (respectievelijk 4A en 10A). En zowel Tr1 als Tr2 zijn beveiligd met een passende zekering, die niet in het schema terug te vinden is.
Beide opamps zijn plaatselijk ontkoppeld met een 100nF-C, die niet in het schema terug te vinden is.