Sida 1 av 1

justera spänning digitalt?

Postat: 10 maj 2010, 00:47:35
av jesse
Jag vill ha en krets som håller en viss spänning men som ska kunna öka / sänka spänningen med digitala pulser.

Jag ritade den här analoga saken:
Bild

Spänningen ska kunna gå från 0.5 4.5 volt (exempelvis, se nedan * ) , buffertarna är CMOS som matas med reglerad 5 volt. Kondensatorn "minns" spänningen. Den laddas eller laddas ur genom motstånd och dioder genom buffertarna.

Problemet är att jag vill ha exakt lika stor hastighet på laddning / urladdning oavsett vad spänningen är över kondensatorn för tillfället. Så istället för ett motstånd bör det vara en konstantströmsgenerator. Så till frågan: hur gör jag en sådan enklast?

* Det går bra att ändra vissa kriterier om det skulle behövas: jag har t.ex. tillgång även till 12 volt matning om det skulle vara bättre. Spänningen ska helt enkelt kunna regleras över ett intervall - 0.5 till 4.5 volt var bara ett exempel. Det går lika bra med 2-10 volt , men däremot är t.ex 2-3 volt lite för smalt.

Förändringen i spänning ska kunna vara snabb eller långsam: snabb urladdning ska kunna gå från topp till botten på några sekunder, medan långsam urladdning ska förändra spänningen ca en procentenhet per sekund ungefär (räknat på hela intervallet)...

Det är möjligt att det allra enklaste vore att programmera en liten processor med ett par ingångar och en PWM-utgång (?) och det kanske lutar däråt om jag inte kommer på ett mycket enkelt sätt att få konstant ström i ladd/urladd i skissen ovan.

Ännu enklare är det kanske om man hittar en färdig krets avsedd för ändamålet. hmmm....

Med enkelt så menar jag:
1) relativt billigt
2) få komponenter / lättmonterat
3) inte skrymmande

(Det hela är en komplicerad historia där jag ska mäta ett antal strömmar och spänningar och utifrån detta ge signaler till en batteriladdare att antingen öka eller sänka laddströmmen. Nu har laddaren ett synnerligen dåligt sätt att styras på. Den laddar normalt på ca 5A , men vid en viss inspänningsnivå så sjunker denna laddström drastiskt för att gå till noll bara vid någon tiondels volt mer på ingången. Vid vilken spänning detta sker är okänt från gång till gång vilket beror på faktorer som laddarens temperatur mm, därför måste jag mycket långsamt kunna ändra utspänningen tills jag märker av en förändring i laddström. Sedan ska den kunna finjusteras )

EDIT: en av anledningarna att jag inte bara sätter dit en uC är att jag gärna vill kunna justera flera värden direkt med flera trimpotar, ändra tid genom att byta konding mm... det ska kunna göras i fält utan prorammerare mm...

Re: justera spänning digitalt?

Postat: 10 maj 2010, 01:26:46
av bearing
För att få konstant laddström skulle du kunna koppla två PNP i strömspegel. Koppla kollektormotståndet till utgången från logikkretsen (som ska gå låg för att börja ladda), koppla kollektorn på den andra transistorn i spegeln till kondensatorn. Gör samma sak för urladdningen, fast med NPN-transistorer.

Totalt behövs alltså 4 transistorpar för att kunna få två strömstyrkor i båda riktningarna. Jag tror man kan köpa transistorpar som är matchade och sitter i samma kapsel, men jag tror inte det behövs i den här applikationen - två vanliga diskreta trissor duger nog bra för speglarna.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 01:46:03
av jesse
Den var ju grymt fiffig... antar att det duger bra, då strömmen inte är så noga (angående symmetri mellan trissorna)... har inte sett den kopplingen innan.

Bild

Denna borde ge en konstant ström på ca 44µA om det nu funkar med så låga strömmar.... eller är skillnaden mellan två transistorer större vid sådana extremvärden??? Den andra kanske inte kommer igång alls eller ger dubbla strömmen?

>Totalt behövs alltså 4 transistorpar

eller att man bara kopplar två eller flera olika motstånd till flera CMOS-utgångar till samma transistor, så behövs det bara ett transistorpar för laddning och ett för urladdning. :)

Re: justera spänning digitalt?

Postat: 10 maj 2010, 02:02:00
av bearing
44 uA låter lågt. Ingen aning om det funkar. Högre ström och större kondensator låter säkrare.

Det behövs inga emittermotstånd, så vitt jag förstått. Å andra sidan kanske motstånden jämnar ut ev. skillnader mellan transistorerna (ifall toleranserna på motstånden inte ställer till det).

>eller att man bara kopplar två eller flera olika motstånd till flera CMOS-utgångar till samma transistor, så behövs det bara ett transistorpar för laddning och ett för urladdning. :)

Ja just det, men då måste väl logikutgångarna kunna bli tristate, eller öppen kollektor?
EDIT: nej just det, går ju att lösa med dioder i serie med motstånden, som på bilden i första inlägget.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 06:28:59
av Swech
"EDIT: en av anledningarna att jag inte bara sätter dit en uC är att jag gärna vill kunna justera flera värden direkt med flera trimpotar, ändra tid genom att byta konding mm... det ska kunna göras i fält utan prorammerare mm..."

Det går väl att sätta trimpottar till processorn för att justera, bara läsa av analogt potvärde
och anpassa programmet därefter

Swech

Re: justera spänning digitalt?

Postat: 10 maj 2010, 09:20:09
av Icecap
µC är den enda vettiga lösning, orsaken är att alla kondensatorer har en självurladdning och strömspeglen kommer bara att fungera inom vissa spänningsnivåer och har även en läckström.

Summa summarum: kopplingen är instabil värre och kommer att driva!

Re: justera spänning digitalt?

Postat: 10 maj 2010, 13:10:40
av jesse
Jo, det är jag medveten om.... Men den bör inte driva allt för mycket under 10-20 sekunder... sedan kommer nästa justering upp / ner beroende på hur den driver. Strömspegeln bör väl fungera inom större delen av spänningsområdet - det handlar ju inte om att den ska vara 100% linjär, bara att det ska vara lite snyggare än en vanlig RC-kurva, så att uppladdning vid 1 volt ska gå ungefär lika fort som uppladdning vid 4 volt.

Men det kanske är troligt att jag lägger dit en µC så småning om . Ska först testa principen och då duger nog detta för tillfället.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 14:24:15
av blueint
Transplantera SMPS regulatorer från något moderkort?
Dom klarar både fjärrstyrning och precision.
Samt är kompletta med alla komponenter.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 14:43:57
av Icecap
10-20 sekunder?

Ja ja, lycka till med det... :doh:

När du upptäcker att det inte fungerar kan du ju istället använda en integrationskoppling, då kommer spänningen över motstånden att vara konstant. Den kommer fortfarande att driva på den tid men du sparar en del strömspegel.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 21:19:03
av jesse
Självklart en integrator ska det vara , fungerar givetvis bättre :oops:
Bild

Re: justera spänning digitalt?

Postat: 10 maj 2010, 21:50:10
av 4kTRB
Om du kan hitta An-703 från Motorola
"Designing Digitally Controlled Power Supplies"
så finns där bra tips och beskrivning av en digitalt
kontrollerad uA723.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 22:03:01
av blueint
Kan det vara denna?
AN703 307 kB, Application Note: Designing Digitally-Controlled Power Supplies.

Re: justera spänning digitalt?

Postat: 10 maj 2010, 23:19:11
av 4kTRB
Verkar stämma bra.

Re: justera spänning digitalt?

Postat: 11 maj 2010, 09:32:00
av Icecap
Och en µC med en D/A-funktion (lågpssfilter på PWM-utgången kanske?) som läser de olika pulser och potentiometer kan ge precis vad du söker, med en UART kan du även få ut information om det ska programmeras fast sedan.

Re: justera spänning digitalt?

Postat: 11 maj 2010, 15:21:10
av jesse
antar att det blir en µC i alla fall , men bara för att vara envis ska jag testa den analoga varianten.

Utspänningen ska i sin tur styra insignalen till en DC/DC som ska ge ut 140 - 185 volt i några olika valbara steg (4 st). Problemet är att ett av stegen är mycket noga att det blir på 0.1 volt när, fast man kan aldrig veta inom ett 10 volts-område var det hamnar - man får istället en feedback om spänningen är för hög eller för låg eller OK - denna feedback är långsam - upp till ett par sekunder eller kanske mer. Tanken var att jag skulle "grovreglera" till ca 168 volt på pricken, sedan addera en spänning från ovanstående "kondensator"., som då lagom sakta skulle laddas upp tills "för låg"-signalen upphör. sedan ska den ligga där till s ny signal fås "för låg" eller "för hög"... då ska jag bara kunna ladda ut lite eller ladda upp lite, denna gång mycket långsammare för att undvika grova oscillationer (med tanke på att feedbacken är fördröjd).

(var den här grejen ska sitta är hemligt!)

Men om jag kör µC kanske jag kan köra med 12 bitars upplösning och på så vis skippa den övriga elektroniken också som väljer en av de fyra "Nivåerna". På så vis kan jag få den att ge precis vilken spänning jag vill ut....

För att få exakt utspänning behöver jag givetvis en direkt feedback från högspänningsutgången. Denna feedback borde kunna gå att ta in via ADC på controllern i så fall, så behöver man inte göra något analogt där heller. I så fall kan den inte göra allt för stora "hopp" med risken att den går för långt - man får göra en liten förändring i utspänning och sedan mäta osv... Detta är inget problem då jag mycket gärna kan ha väldigt långsamma förändringar utan problem. Detta kan bli intressant.