Laboratoriestrømforsyning med digitalt ampere-voltmeter. Laboratoriestrømforsyning på en mikrokontroller Laboratoriestrømforsyning med avr-kontroll

En laboratoriestrømforsyning med digitalt voltmeter og amperemeter har tjent meg i seks måneder nå. Den er satt sammen i et etui fra en datamaskinstrømforsyning. Jeg har ikke kommet meg i gang med å designe frontpanelet ennå. Spenningen er justerbar fra 1,32 til 24,00 volt, strøm - opptil 3 ampere. Indikatorene er 4-sifrede LED-indikatorer med felles katode. Voltmeter med en oppløsning på 0,04. B (med undertrykkelse av ubetydelige nuller i de to venstre indikatorene), et komma etter det andre tegnet. Amperemeter med en oppløsning på 4 mA (med undertrykkelse av ubetydelige nuller i de to venstre indikatorene), et komma etter det første sifferet.

Programmet i mikrokontrolleren er designet for å måle spenning fra 00,00 til 40,92 V og strøm fra 0,000 til 4,092 A. Du kan lage en digital displayenhet og integrere den i en eksisterende strømforsyning, eller bruke en annen krafttransformator og en annen spenningsregulator (innenfor de angitte grensene). Spenningsregulatoren min er satt sammen på en spesiell mikrokrets nesten i henhold til standarddiagrammet fra dataarket. Mikrokretsen fungerer i pulsmodus med en frekvens på 52 kHz og har høy effektivitet.

Regulatoren er satt sammen på et eget brett, mikrokretsen festes via varmeledende pasta til en plateradiator. For justering er det bedre å bruke et multi-turn potensiometer.

Voltmeter og amperemeter er satt sammen på et eget brett og drives av en separat 9-15 V transformator og en stabilisert strømforsyning på 5,12 volt. Innstilling av denne spenningen må gjøres før du installerer mikrokontrolleren med trimmemotstand R2. Du må også nøye velge motstand R5. Motstanden bør være 7 ganger større enn R6. Hvis R6 = 5,11 K, så er R5 = 5,11 x 7 = 35,77 K. Etter å ha installert den programmerte mikrokontrolleren og eliminert de identifiserte mekaniske feilene, kontroller (juster) spenningen på den første etappen til 5,12V. Nøyaktigheten til voltmeteravlesningene avhenger av dette.

"Gjeldende" motstand R1 ble tatt fra et ubrukelig M-830 multimeter. Et amperemeter har ikke samme linearitet som et voltmeter. Dette skyldes bruk av op-forsterkere.

Ved å velge motstand R8 justeres forsterkningen til op-ampen. Kalibrer med det mest nøyaktige amperemeteret.

Motstander R9 – R16 fra 270 til 330 ohm.

I videoen: justering av spenningen uten belastning, og deretter med belastning - en 24v 21w billampe.

Du kan laste ned firmware og trykte kretskort i LAY-format nedenfor.

Oppdatering 16.04.2014: Ny fastvare (AVmetr_2.rar). Forbedret oppløsning.

Liste over radioelementer

Betegnelse Type Valør Mengde MerkButikkNotisblokken min
MK PIC 8-bit

PIC16F873

1 Til notisblokk
Lineær regulator

LM317

1 LM317T Til notisblokk
DC/DC pulsomformer

LM2576

1 LM2576-Adj Til notisblokk
OP1 Operasjonsforsterker

LM358

1 Til notisblokk
Diode

KD202A

4 Til notisblokk
Diodebro

DB157

1 Til notisblokk
VD1 Schottky diode

MBR350

1 Til notisblokk
C1 100 µF, 50 V1 Regulator Til notisblokk
C2, C3 Elektrolytisk kondensator1000 µF, 35 V2 Regulator Til notisblokk
C1 Elektrolytisk kondensator100 µF, 25 V1 Til notisblokk
C2 Elektrolytisk kondensator100 µF, 16 V1 Til notisblokk
C3, C4 Kondensator0,1 µF2 Til notisblokk
C5, C6 Kondensator20 µF2 Til notisblokk
R1 Variabel motstand51 kOhm1 Regulator Til notisblokk
R2 Motstand

1,2 kOhm

1 Regulator Til notisblokk
R1 Motstand

0,01 kOhm

1 Strømmotstanden er hentet fra M-830 multimeter Til notisblokk
R2 Trimmermotstand100 Ohm1 Til notisblokk
R3 Motstand

680 Ohm

1 Til notisblokk
R4 Motstand

1 kOhm

1 Til notisblokk
R5 Motstand

36 kOhm

1 Motstanden bør være 7 ganger større enn R6 Til notisblokk
R6 Motstand

5,1 kOhm

1 Til notisblokk
R7 Motstand

240 Ohm

1 Til notisblokk
R8 Motstand

75 kOhm

1 Til notisblokk
R9-R16 Motstand

300 Ohm

8 270-330 Ohm

Den første delen av Marlezon-balletten.


Vel, faktisk, la oss gå! For lenge siden, ca. 7 år siden, kjøpte jeg av og til 5 ATX-deksler fra selskapet for 12 dollar. Koffertene viste seg overraskende å være veldig gode - metall av god kvalitet, etc. - på Inwin-nivå og fortsatt tjene trofast. Strømforsyningene var på 250 watt og fungerte perfekt – stille og pålitelig. Fremgangen står imidlertid ikke stille, og over tid måtte jeg bytte mødre, og vel, en haug med strømforsyningsdata. Jeg hadde et par av dem liggende hjemme, og på fritiden bestemte jeg meg for å lage en kraftig strømforsyning både for lading av ulike batterier, inkludert bilbatterier, og for eksperimenter med Peltier osv. På nettsiden til en italiensk kollega http://www.chirio.com/switching_power_supply_atx.htm fant jeg et konverteringsskjema som passet meg i form av minimale modifikasjoner og riktig bruk av PWM-brikken. Omarbeidingen var en suksess, etter å ha endret kretsen litt, oppnådde jeg egenskapene til strømforsyningen som passet meg, men siden dette i dette tilfellet ikke er emnet for artikkelen, vil jeg utelate detaljene.


Spørsmålet oppsto om strømforsyningen har sine egne "hjerner", dvs. han kunne vise varene sine ansikt til ansikt (spenning og strømutgang), og han prøvde på en eller annen måte å beskytte seg mot en uutholdelig belastning (overbelastning og overoppheting). Det er mange alternativer for å implementere lignende ordninger på Internett, men for å øke entropien til universet, og ved å neglisjere prinsippet om Occams barberhøvel, bestemte jeg meg for å utvikle en annen skjermmåler.
Analyse av implementerte design og lesing av datablad førte til at jeg valgte ATTINY26 og to-linjers display 1602. Begrunnelsen er som følger: Tinka har nok minne (som det virket for meg til å begynne med), en differensiell inngang med programmerbar forsterkning, og displayet er stor og informativ og ganske enkel å betjene - ingen grunn til å blokkere dynamisk visning osv. På Internett fant jeg et stykke om implementeringen av et wattmåler fra tyske kamerater med gjennomsnittlig 64 spennings- og strømprøver, som ble tatt som grunnlag. Programmet kom raskt sammen, kompilerte et sted rundt 70 % og ble sydd inn i fiksering. Men som de sier, "det var glatt på papiret, men de glemte ravinene." På teststadiet dukket det opp feil i form av "søppel" på skjermen fra desimaler med verdier. "Ja," sa de russiske mennene og brukte FUSING-operatøren. Alt ble vakkert, søppelet forsvant, men kodestørrelsen vokste til omtrent 90%. Siden skjermen var 16*2, og 3 verdier ble vist på skjermen - strøm, spenning og strømforbruk, så den skjev ut og manglet noe, nemlig temperatur. Som kjent spiller sistnevnte en betydelig rolle i driften av elektrisk utstyr, og det er ønskelig å kontrollere det.


Som ordtaket sier: «En mann sa det, en mann gjorde det!» tenkte jeg og strakte meg inn i esken etter en DS1820 digital temperatursensor. "Akkurat nå," svarte kompilatoren etter å ha lagt til koden for å lese sensoren og vise temperaturen, og sikkert vise kompileringsresultatene på 146%, tilsynelatende med et eksempel fra nylige hendelser. Kodeoptimalisering i form av bruk av subrutiner, reduksjon av antall variabler, fjerning av FUSING og sjamanisme med displayutgang (mer om dette senere) førte ikke til noe - hex-størrelsen oversteg 100%. "Vanlige helter tar alltid en omvei," tenkte jeg, og dagen etter dro jeg til butikken for å kjøpe en analog termisk sensor. Ting gikk bedre med denne sensoren, fordi alt kom ned til en annen spenningsmåling, og til slutt ga kompilatoren opp og viste de beryktede 90 prosentene. Siden det var litt plass igjen i minnet og ledige ben ved steinen, bestemte jeg meg for å sette inn et par executive-nøkler slik at den elektroniske idioten ikke bare kunne blinke med øynene på skjermen, men også ta enkle avgjørelser som: "Jeg" er sliten, jeg drar.» Vi setter inn nøkkelstyringsbrikker - sjekken for forhold og minne er nesten ferdig.
Da er alt prosaisk – tavleoppsett, LUT, lodding av deler og testing. Det episke ble imidlertid ikke fullført - når du jobbet med en laboratoriestrømforsyning på en 10 Ohm shunt og lave strømmer, blinket indikatoren til meg med avlesninger, men ikke så ofte at det var irriterende. Da jeg lastet den på en konvertert strømforsyning - og krusningen ved 10 A var omtrent 30 mV - begynte visningen av skiftende tall å irritere. Etter å ha stilt de evige russiske spørsmålene - "hvem har skylden?" og "hva skal jeg gjøre?" - Jeg kom til et trilemma: enten gjennomsnitt avlesningene fra mer enn 64 prøver, eller grov datautgangen til skjermen og/eller endre datavisningsperioden. De to siste alternativene passet ikke meg - det er nok tøffere og trege mennesker i miljøet mitt, og det ser ikke kosher ut, så jeg bestemte meg for å øke antall prøver. Etter å muntert ha endret verdiene i sykluser fra 64 til 255 og flyttet til høyre fra 6 til 8 sifre - på en så enkel måte ble delingsoperasjonen implementert, stakk jeg, fornøyd med meg selv - en rød fyr, steinen tilbake i styret.
Til å begynne med - ved lave spenninger - var alt bra, men så begynte noen feil - avlesningene krympet og motsier sunn fornuft. Omtrent fem minutter etter en intens idémyldring om hva det vil si å introdusere C2H5OH-holdige produkter i meg selv, gikk det opp for meg: «eureka!» Jeg skrek inni meg selv, som den vismannen fra Syracuse og, i motsetning til ham, tørr på utsiden og lett. kledd, skremte bort familien sin, løp han rundt i leiligheten til vennene sine: Klava og Mona. Kisten åpnet ganske enkelt - å legge til 10-bits tall 64 ganger resulterte i et 16-bits tall, men hvis det var mer, oppstod det et overløp med store verdier, og dataene krympet og bleknet. Et frontalt psykisk angrep med trafikkpoliti i sebravester for å endre typen variabler fra Word til Dword og derved øke bitdybden fra 16 til 32 biter, endte i en skammelig fiasko - variablene ønsket hardnakket ikke å samhandle med hver andre, banne på at de var forskjellige typer, noe som førte til dårlige mistanker om deres kjønnsidentitet. Så husket jeg den fantastiske oppdateringen AN #193 - Eksempler på bruk av OVERLAY på nettstedet www.mcselec.com, og til tross for de mulige farene bestemte jeg meg for å nærme meg dem bakfra. Høydepunktet var følgende - jeg leser data fra en 10-bits ADC til en variabel av Word-typen, og legger til variabler av Dword-typen, hvorav en del er den tildelte ADC-verdien, og så videre, fra henting til lunsj, 256 ganger. Deretter forskyver jeg det resulterende Dword-resultatet til høyre med 8 biter - og ved utgangen får jeg igjen en variabel av Word-typen, men denne gangen gjennomsnitt fra 256 samples. Variablene kunne ikke motstå et slikt triks med ørene og satte lydig i gang, og til slutt sparket de opp med minneoverflyt. Temperaturmåling forblir i det gamle formatet - prosessen er mer stabil over tid og mindre utsatt for svingninger. For å spare plass var det nødvendig å bruke forskjellige justeringer og krymping: for å holde antallet variabler på et minimum, noe som påvirket lesbarheten til programmet. Bruken av FUSING var en stor gris på minnet - så vi viser Single-verdiene som de er, og for å unngå søppel fyller vi ut de ekstra kjente områdene med mellomrom. Innføringen av forskjellige typer operasjoner - divisjon og multiplikasjon - konsumerte også dyrebar plass og den første måtte forlates. Sammenligningen av grenseparametere med de nåværende måtte oversettes til papegøyer i Word-format. Det kom ned til små ting som å nekte å vise graden Celsius-tegnet, og så videre.
Til slutt vant utholdenhet, kompilatoren viste nøyaktig 100%, og strømforsyningen fikk sin egen hjerne fylt med nuller og enere, og jeg fikk erfaring.

Del to - jern


Så, vi har sortert ut fyllet for hjernen, nå må vi bare finne ut hva alle zombier elsker så mye. Hva vi har i dette tilfellet:
- Indikatoren er relativt standard, den stirrer bare med blått lys og har ifølge ryktene en alternativ tegngenerator på kinesisk, den ble kjøpt på http://www.buyincoins.com/ for penger som er latterlige i forhold til vår priser - ca 90 rubler. Brødrene hans fungerer også godt i andre golemer;
- stein ATTINY26 - Jeg hadde ett eksemplar og det er også to av brødrene dens, men ATTINY261 - med dem er størrelsen på programmet 2% større, så hvis du ikke finner 26, må du kutte noe ut av programmet. Kostnaden er også omtrent 100 rubler i en DIP-pakke. Nullkanalen til ADC fungerer i differensialmodus - portene 0 og 1 brukes, forsterkningen til den interne op-ampen er 20. Den andre kanalen er spenningsmåling, den tredje er ekstern referanse, den fjerde er temperaturmåling;
- ION ble montert eksternt på TL431 i henhold til en standardkrets for en spenning på 4.096 volt. Selvfølgelig ville det være bedre å bruke ferdige støtter, men i butikkene i vår skrå Ryazan er det ingen for denne spenningen, men jeg ville ikke vente på dem, og prisen er bratt, i motsetning til. Hvorfor 4.096 V - det viste seg å være praktisk å bruke i beregninger med de nødvendige egenskapene til displaymåleren og derfor så;
- termometeret er implementert på LM335Z - 30 tre - billig og muntert - rekkevidden er ganske nok til daglig bruk. I følge beregninger skal skjermen vise data fra -9 til 99 grader korrekt, hvis beskyttelsen ikke fungerer tidligere. Analog temperaturmåling kom ned til enkle handlinger i form av å subtrahere forskyvningskonstanten og dele resten med 2,5 - men for å forstå dette måtte jeg løse et ligningssystem med to ukjente, og derved friske opp skolekunnskapen min om algebra;
- utøvende elementer - montering av to feltarbeidere - 25 rubler - hvor de skal henges, hva er betingelsene for deres drift og hva du skal gjøre med det - bestem selv - fantasien din er bare begrenset av deg og størrelsen på koden) ));
- shunten er den mest alvorlige saken i hele strukturen. For lenge siden, da harddiskene var store og gode desimeterantenner ble laget av diskene deres, fikk jeg noen elementer ved demontering av datamaskinen, inkludert flere shunts laget av en slags ledning, mest sannsynlig nichrome, med en diameter på omtrent 1 mm og en motstand på 0,1 Ohm. Etter mange år, i henhold til sjangerens lover, forble bare en i live, og han ble desimert i form av avkorting av 1/10 av delen. Men på grunn av det faktum at hittil ukjente feil grep inn i prosessen: kanskje forsterkningen til den interne op-amperen ikke er lik 20, kanskje motstanden til ledningene eller noe annet - i stedet for den beregnede koeffisienten på 0,02, måtte bruke 0,025 og kutte av overskuddet med en trimmemotstand. Shunten i dette designet er vanlig og er plassert på ATX-strømforsyningskortet. Det er plass på brettet for en stasjonær shunt - ved å endre omregningsfaktoren kan du kjøre den inn i ønsket rekkevidde.
Det er fire trimmemotstander - for ION, voltmeter og amperemeter. kontrastjustering. Det er også plass til termometertrimmer dersom ION er under 3 volt. I prinsippet, når du bruker presisjonsmotstander, kan du prøve å klare deg uten dem, men i dette tilfellet bestemte jeg meg for å gjøre det på denne måten - det er lettere å sette opp og gir en nøyaktighet som er akseptabel for meg. Små detaljer, strømkretsen og isolasjonen til den analoge delen er standard og trenger ingen forklaring. Verdiene i diagrammet er vist betinget og kan variere innenfor grensene for sunn fornuft og standard nodeløsninger. Brettets layout var ment å være en sandwich-design, men da den ble installert i kassen, ble det laget en liten startkabel. Vi snakker om hvordan du kobler alt sammen i neste episode av trilogien vår.


Del tre - føl deg som Frankenstein.


Så, unge og ikke så unge Frankensteins, la oss gjenopplive homunculusen vår. Til dette trenger vi, ifølge kanonene, en kropp og hjerner. Nødvendig advarsel: Vær forsiktig når du arbeider med den magiske kraften til elektrisitet og forestill deg alle konsekvensene av trolldommene dine. Karosseriet i mitt tilfelle, som beskrevet i første del, er en konvertert strømforsyning fra en gammel ATX standard systemenhet. Det var en tjenestestasjon om bord som produserte rundt 9 volt, noe som passet meg ganske bra for å gi energi til «hjernene». Viften får også strøm fra den. Utgangsspennings- og strømparametrene ble satt i området fra henholdsvis 1-20 volt og 0-12 ampere. Siden jeg ikke ville lage et fjernpanel, og jeg hadde et sett med skjæreskiver, en gravør, en drill osv., etter 30-40 minutter med surring på balkongen, laget jeg de nødvendige hullene i strømforsyningen dekke.

Som nevnt ovenfor var budsjettet for deler i mitt tilfelle omtrent 300 rubler, og ingen knappe elementer var involvert i designet. Vedlagt signet er laget i Sprint Layout-format og skrives ut "som den er". Den analoge jordingen er utformet som en sløyfe atskilt fra de digitale og høystrømskretsene og koblet sammen på ett sted. Steinen monteres gjennom en spennhylse, og kan om ønskelig enkelt tas ut og installeres. En separat kobling for zombifisering av tenåringen følger ikke med, men om ønskelig kan du sy den gjennom koblingen for displayet, og RESET-foten som tas ut separat - ben 10 på kontakten.


Vi utelater slike rutineprosesser for enhver moderne alkymist for å dyrke en homunculus i form av å lage et brett, lodde elementer, etc. og gå videre til å gjenopplive det. For å gjøre dette, uten å sette kontrolleren inn i stikkontakten, leverer vi 9-10 volt til inngangen, og hvis det ikke oppstår røyk eller blink, kjører vi et voltmeter langs bena på stikkontakten for å sikre at det er 5 volt på ben 5 og 15 - dvs. kontrollere strømforsyning. Deretter stikker vi sonden på fot 17 - referansespenningen og dreier trimmeren nær TL431 til spenningen når 4.096 V. Dessverre lider palantiren min av langsynthet og viser ikke det siste signifikante sifferet. I dette tilfellet ble jeg guidet av følelsene til mitt femte støttepunkt, som over tid utviklet den nødvendige følsomheten. Deretter kobler vi skjermen på kabelen, setter inn tinkaen som er fortryllet av staver og leverer strøm igjen. Ved å justere trimmeren stiller vi kontrasten, og hvis alt ble gjort riktig, ser vi noen tall og bokstaver.
Vi legger spenning på lasten koblet gjennom brettet og husker Ohms lov. Det er tilrådelig å ha en nøyaktig belastning - jeg brukte en 10 Ohm motstand med en toleranse på +-0,25%, produsert i 1964, dvs. eldre enn meg selv. Mest sannsynlig ble den fjernet fra en slags ballistisk missil som truet vår potensielle fiende og hvis forsvarsminister ropte "Russerne kommer!" forsøkte uten hell å overvinne tyngdekraften. Så forvandlet den potensielle fienden seg til en svoren venn og i hans "partnerskap"-omfavnelse ble mye forvandlet til støv eller oppløst langs ukjente offshore-ruter over vidder av vår jordiske skive. På en eller annen måte endte jeg opp med denne motstanden. Gjennom komplekse målinger, utilgjengelige for en ren dødelig med en humanistisk utdanning, er det nødvendig å finne ut den effektive spenningen og beregne strømmen som flyter gjennom kretsen og ved hjelp av trimmemotstander oppnå de ønskede avlesningene på skjermen. Strømmen som forbrukes av lasten er lik deres produkt. Når du kobler til en last med mindre motstand, vær forsiktig og forsiktig, for hvis den spredte kraften ikke stemmer overens, kan du tilkalle ånder i form av magisk røyk, som alle radioelementer er laget av, og muligens flammer. Jeg hadde slik røyk som kom ut av 5-watts motstander med en total motstand på rundt 1,5 ohm, og bare en halvtime senere, med komplekse pasninger i form av å åpne en balkong, klarte jeg å drive demonen tilbake. Motstandene overlevde, merkelig nok, men på en skjønnhetskonkurranse blant brødrene deres ville de ha tatt en plass i bakvakten.
Bildene nedenfor viser tester av min nesten sammensatte homunculus med endringer i strøm og spenning. Temperatursensoren er satt inn i en PEV-5 motstand med en motstand på 6,2 Ohm og du kan se hvordan den varmes opp. Jeg vil advare deg om at det erfarne, nysgjerrige øyet til inkvisitoren umiddelbart vil legge merke til avviket i vitnesbyrdet mellom disse fotografiene og vil ønske å gjennomføre et avhør med partiskhet. Derfor erklærer jeg ansvarlig - "in omnibus voluntas Dei!" - Bildene ble tatt når syklusen var på 64 prøver og jeg prøvde å korrigere for offsetfeil, sette inn kondensatorer for å integrere avlesningene osv. Deretter ga jeg avkall på den urettferdige veien og tok veien til korreksjon og samarbeid med administrasjonen. Avlesningene begynte umiddelbart å mer eller mindre samsvare med Ohms lov, tatt i betraktning mangelen på avrunding av resultater.


Hva er Back-UPS? Fra et gjør-det-selv-synspunkt er dette et slitesterkt etui og en kraftig strømforsyning inni!
For å få det til å fungere laboratorie strømforsyning du trenger bare å legge til en kontrollkrets til mikrokontroller ATMega16!

Bakgrunn med Back-UPS

Jeg "fikk den" til UPS gratis. Selvfølgelig er det feil. Som dette:


Ris. 1. Utseendet til den avbruddsfrie strømforsyningen før modifikasjon


Det viste seg at etter at batterilevetiden er oppbrukt, skriver informatikerne på kontoret ofte dem av og kaster dem helt. Å ta vare på naturen tillot meg ikke å tåle denne tingenes tilstand. Etter å ha hentet denne rikdommen hjem, begynte jeg å tenke på hva jeg skulle gjøre med den. Et forsøk på å gjenopprette batteriet ved å fylle det med destillert vann og lade det med lav strøm førte ikke til suksess.

Hva blir det neste? Kjøpe et batteri? Ja, jeg har allerede en UPSka, og jeg trenger ikke en ny. De viktigste nyttige detaljene er åpenbare: en slitesterk, plastisk, pen sak og en kraftig transformator inni. Jeg bestemte meg for å lage en laboratoriestrømforsyning av den til verkstedet. Dessuten er den gammel B5-47 Jeg er allerede lei av den med hviningen sin, sannsynligvis ber bilen født i 1988 om å bli pensjonist.


Ris. 2. Strømforsyningsskjema.

Hovedendringer i ordningen i forhold til originalen:
1) hele C-porten på mikrokontrolleren er dedikert til R-2R DAC, dette gjør det lettere å jobbe med,
2) selve motstandene i DAC-en med andre verdier, slik de var, forresten, disse motstandene bør velges med høy nøyaktighet, ellers vil det være trinn når DAC-en fungerer.
3) Darlington-kretsen i utgangstrinnet erstattes med en KT8106A;
4) strømmålingshunten gjøres kraftigere og med lavere motstand (0,55 Ohm);
5) overlappingen mellom signallinjene til koderen og LCD-skjermen er eliminert.
6) en termisk sensortilkobling og en viftekontrollkrets med PWM-kontroll er inkludert.

Kildene ble modifisert for denne ordningen. Mikrokontrollerpinnene har blitt tildelt på nytt. Filer for arbeid med tastaturet er erstattet ( kbd.c og kbd.h) til filer for å arbeide med koder. Arbeidsalgoritme koder neste: trykket på koderen - gikk inn i spenningsinnstillingsmodus, trykket på den igjen - gikk inn i gjeldende innstillingsmodus, trykket på den igjen - lagret innstillingene. Ikke berør i oppsettmodus koder mer enn 20 sekunder, går enheten automatisk ut av innstillingsmodus og lagrer ikke endringer. Enkoder fungerer på eksterne avbrudd og bruker Timer2-timeren til å implementere beskyttende pauser.

Logikken for arbeid med status-LED er endret. Nå viser den nødsituasjoner - overbelastning av strømforsyningen, overoppheting og tilstanden til fastvaren som overskrives av bootloaderen.

Logikken i displayoperasjonen inkluderer blinking av parameteren som endres.

Lagt til polling av den tredje analoge inngangen til ADC for temperatursensoren. Implementert PWM-justering av kjøleviftehastigheten avhengig av sensoravlesningene.

Kommunikasjonsprotokollen mellom enheten og datamaskinen er endret. Standardiserte kommandoer brukes nå til å stille inn strøm-/spenningsinnstillinger og kalibreringsinnstillinger. Nå lagres også kalibreringer i mikrokontrollerens EEPROM.
Bruken av en mer romslig mikrokontroller gjorde det mulig å bruke bootloader.

montering

UPS-kroppen egner seg veldig godt for ombygging. Slitesterke, innvendige forsterkende ribber av plast. Og størrelsen er passende. I stedet for et bakpanel med strømkontakter kuttet jeg ut et stykke flat plast fra en blekkskriverskuff, lik i farge og form. En radiator fra en gammel Athlone ble skrudd fast på den. Jeg festet en utgangstransistor, en diodebro og en temperatursensor til radiatoren gjennom et isolerende termisk substrat. To ord om hvordan man bestemmer viklingene i en transformator: de tykkeste tre ledningene er den sekundære kraftviklingen. Den driver kraftenheten min. Det er også en andre lavstrøms sekundærvikling for å drive den interne UPS-kretsen. Det er definert som følger - dette er to tynne ledninger av samme farge (mine var oransje). Jeg driver kontrollkretsen, mikrokontrolleren, skjermens bakgrunnsbelysning og viften fra den. De gjenværende relativt tynne ledningene er primærviklingen med et stort antall kraner. Med deres hjelp kan du velge riktig utgangsspenning til strømviklingen ved en akseptabel tomgangsstrøm.

Som et resultat av fjerning av strømkontaktene ble det frigjort plass mellom bakveggen og transformatoren som filterkondensatorene passet inn i. I frontpanelet merket og kuttet jeg ut hull for skjermen og utgangskontakter. Husdekselet inneholder et kontrollkort, en koder, en strømbryter og et RS232-grensesnittkort. Det er ledig plass igjen i den fremre delen av kabinettet for ytterligere forsterkning av enheten (det vil være mulig å installere en andre transformator).

Foreløpig bruker jeg et ferdig USB-TTL RS232-omformerkort på CP2102-brikken som MK-datamaskingrensesnitt. Gjennom den blinker MK og datamaskinen kommuniserer med kretsen. I fremtiden planlegger jeg å lage et opto-isolert RS232-grensesnitt.

Fig.3. Frontpanel.


Ris. 4. Radiatorinstallasjon.


Ris. 5. Innsiden av blokken.

Fastvare

Jeg gjorde alt i miljøet AVR Studio 4.18 med WinAVR-20100110. De ferdige fastvarefilene for oppstartslasteren og hovedprogrammet ligger i arkivet.
Du kan flashe mikrokontrolleren ganske enkelt med hovedprogrammet eller en haug med " bootloader+hovedprogram" Det første tilfellet passer for de som ikke har tenkt å endre noe i hovedprogrammet. Eller han kommer ikke til å lage et blokk-datamaskingrensesnitt. Hvis du bruker en bootloader, kan du omprogrammere den ferdigmonterte enheten, og i det første trinnet var det veldig praktisk, for eksempel å justere kalibreringsparametrene. Enheten trenger imidlertid RS232 for oppstartslasteren.

Uavhengig av programmeringsmetoden, må du først koble det sammensatte kortet til ISP-programmereren. Flash den deretter med den aktuelle hex-filen og still inn sikringene. Hvis du bruker programmet uten bootloader HØY=0xDB LAV=0xDE, i den andre HØY=0xDA LAV=0xDE. Resten bør ikke endres.

Så snart som bootloader syet, ytterligere omprogrammeringsmanipulasjoner utføres veldig enkelt: du kobler enheten til datamaskinen med et RS232-grensesnitt, kontroll (i tilfelle USB-port-emulering), at tilkoblingen skjedde til COM1, 2, 3 eller 4, slå på strømmen til enheten og start umiddelbart Verktøy->Avr Prog i studioet. I den velger du en fil fra arkivet med firmware \AVRGCC1\Debug\PowerUnit.hex og syr den.
Siden og bootloader og hele prosedyren ble gjort i henhold til artikkelen, finessene i prosessen kan hentes der.

Kalibrering

En bemerkelsesverdig egenskap ved denne ordningen er dens allsidighet. I utgangspunktet, du kan lage en strømforsyning for hvilken som helst spenning, hvilken som helst strøm, og ethvert design. Det er klart at disse egenskapene først og fremst avhenger av primæreffektomformerne: en transformator, en diodebro, et filter, en utgangstransistor eller egenskapene til en pulsomformer.

Men for mikrokontrollerdelen er ikke dette viktig. Hovedsaken er at utgangsspenningsdeleren gir den en spenning fra 0 til 2,56V, strømmåleshunten i kortslutningsmodus gir omtrent 2V, og utgamottar en spenning fra 0 til 5V.
Du kan konfigurere kalibreringer ved hjelp av grensesnittet.

Grensesnitt og arbeid med en datamaskin

Driften av grensesnittet har også endret seg sammenlignet med Guido-programmet: hastighet 38400 kbps, 8N1. En vognretur kreves på slutten av linjen.
Kommandosett:


Ved å bruke disse kommandoene kan du kontrollere blokken fra et hvilket som helst terminalprogram. Jeg foretrekker å bruke seriell skjerm i Arduino, men det er en smakssak.
Jeg skrev et lite program for Windows som kan vise data i en graf og sette verdier, inkludert bruk av protokollen. Se fildelen.

Strømforsyningen er designet for å sette opp og reparere utstyr i et amatørradiolaboratorium. Temperatursensoren kontrollerer temperaturen til den drevne enheten. Hvis den overskrider terskelen, vil enheten bli deaktivert. Dette lar deg avbryte utviklingen av en nødsituasjon på et tidlig stadium og forhindre katastrofale konsekvenser. Timeren slår av strømforsyningen etter en viss tid, som spesielt kan brukes ved lading av batterier.

De viktigste tekniske egenskapene

Utgangsstabilisert spenning, V………..0...15
Digital voltmeteroppløsning, V...................0.1
Utgangsstrømgrenseterskel. EN
minimum................................................. ......0.1
maksimum................................................. .......1
Temperaturmåleintervall, °C................0...100
Maksimal tidtakervarighet......9 timer 50 minutter
Mål, mm ......................................105x90x70

Strømforsyningsdiagrammet er vist i fig. 1. Grunnlaget for enheten er PIC16F88 (DD1) mikrokontroller, hvis bruk av perifere moduler gjorde det mulig å utvide funksjonaliteten til enheten uten å komplisere det.
Justerbar spenningsstabilisator - lineær kompensasjon. Den inneholder en justerbar referansespenningskilde, en utgangsspenningsregulator og en spenningssammenligningsenhet. Sammenligningsenheten er en innebygd komparator av mikrokontrolleren, hvis inverterende inngang RA1 tilføres en utgangsspenning gjennom en deler R26R28 og motstand R27, og en referansespenning tilføres den ikke-inverterende inngangen RA2. Utgangssignalet til sammenligningsenheten styrer utgangsspenningsregulatoren.

Kilden til den regulerte referansespenningen er SSR-mikrokontrollermodulen, som opererer i modusen for å generere rektangulære pulser med variabel varighet ved RB0-utgangen. Referansespenningen er en konstant komponent av disse pulsene, proporsjonal med deres driftssyklus, som kan styres av program. Referansespenningen er isolert av lavpassfilteret R1C1R2R5C3. Avstemmingsmotstanden R2 brukes til å regulere den under oppsett.

Utgangsspenningsregulatoren er satt sammen på en kraftig kompositt-pnp-transistor VT1, koblet til den positive strømledningen. Siden transistoren VT1 har en stor overføringskoeffisient av basisstrømmen, er en liten basisstrøm, som leveres av laveffekts felteffekttransistoren VT2, tilstrekkelig til å åpne den. Motstand R7 kobler porten til transistoren VT2 til den vanlige ledningen, som holder denne transistoren i lukket tilstand under initialisering av mikrokontrollerportene i begynnelsen av programkjøringen. Kondensator C9 korrigerer frekvensresponsen til kontrollsløyfen, og forhindrer selveksitering av stabilisatoren.

Utgangsspenningsregulatorens kontrollkrets er koblet til linje RA4 på mikrokontrolleren. Ved hjelp av en intern elektronisk bryter kan denne pinnen kobles til eller kobles fra komparatorutgangen til sammenligningsenheten. Ved å programmere denne bryteren kan du sette utgangsspenningsregulatoren til av når utgangsspenningen er null, eller på når utgangsspenningen er proporsjonal med referansespenningen.

En analog kalibrert temperatursensor LM35 (BK1), som lineært konverterer temperatur til spenning med en koeffisient på 10 mV/ºС, er koblet via krets R4C2 til pinne RA3 på mikrokontrolleren, konfigurert som en analog inngang. Den interne analog-til-digital-omformeren (ADC) til mikrokontrolleren brukes i den digitale spennings- og temperaturmåleren. ADC-inngangen kan være programvare koblet til pinnene RA1 - RAZ. For å øke støyimmuniteten til målebanen, synkroniseres driften av ADC med en dynamisk indikasjonsperiode på 20 ms. Konverteringsresultatet behandles av et programvaremiddelfilter.

Ved begynnelsen av hver måleperiode konverterer ADC-en spenningen først fra utgangen, deretter fra temperatursensoren. Fra 16 avlesninger av hver parameter beregnes den aritmetiske middelverdien, som vises på indikatoren. Leseoppdateringsperioden er 320 ms. Gjennomsnittlig temperaturverdi, uavhengig av om den vises på HG1-indikatoren eller ikke, sammenlignes med en brukerdefinert terskel før oppdatering. Hvis den overskrider terskelen, vil utgangsspenningen bli slått av. Så snart temperaturen synker 2 ºС under terskelen, vil utgangsspenningen slås på igjen.

Mikrokontrollerprogrammet gir en tidsteller for strømforsyningens på-tilstand. Tellerregisterverdiene oppdateres hvert minutt og sammenlignes med en innstilt verdi, over hvilken utgangsspenningen er slått av. Dette kan være nødvendig for å begrense tiden til en prosess, for eksempel lading av et batteri.

Utgangsstrømbegrenseren fungerer uavhengig av mikrokontrolleren og dens program.Den beskytter strømforsyningen mot kortslutninger ved utgangen og begrenser utgangsstrømmen ved å redusere utgangsspenningen. Grunnlaget for begrenseren er en enhet som konverterer laststrømmen til en spenning proporsjonal med den i forhold til den vanlige ledningen, beskrevet i artikkelen av I. Nechaev "Current limit indicator" i "Radio", 2002, nr. 9, s. . 23. Denne enheten er satt sammen ved hjelp av op-amp DA2.2, transistor VT4 og motstander R23-R25. Motstand R25 er en laststrømsensor koblet til den positive strømledningskretsen.

En spenning proporsjonal med utgangsstrømmen fra kilden til transistoren VT4 gjennom motstanden R20 tilføres den inverterende inngangen (pinne 6) til op-amp DA2.1, og dens ikke-inverterende inngang (pinne 5) forsynes med spenning fra motor av variabel motstand R18. Når posisjonen til denne motoren forblir uendret, er spenningen på den stabil, siden de seriekoblede motstandene R17 og R18 er koblet til en stabilisert spenning på +5 V fra utgangen til DA1-mikrokretsen. Ved å flytte glideren til den variable motstanden R18, justeres terskelen for å begrense utgangsstrømmen.

Hvis spenningen ved den ikke-inverterende inngangen til op-amp DA2.1 er større enn spenningen ved kilden til transistoren VT4, som er proporsjonal med strømmen, så er spenningen ved utgangen til denne op-ampen nær dens forsyningsspenning, diode VD2 er lukket og påvirker ikke stabiliseringen av utgangsspenningen. LED HL1 er slått av og beskyttet mot reversspenning av dioden VD3. Hvis spenningen ved kilden til transistoren VT4 overstiger spenningen ved den ikke-inverterende inngangen til op-amp DA2.1, vil spenningen ved utgangen av denne op-amp DA2.1 falle til nesten null. Strøm vil begynne å flyte gjennom motstand R19, diode VD3 og LED HL1. Diode VD2 åpnes, noe som får utgangsspenningen til å synke som følger. slik at utgangsstrømmen ikke overskrider grenseterskelen. HL1-LED-en vil tennes - en indikator for belastningsstrømbegrensningsmodus.

Etter at enheten er slått på, tilføres 5 V-forsyningsspenningen fra DA1-stabilisatoren til DD1-mikrokontrolleren. som konfigurerer inngangs-utgangsporter, konfigurasjon og moduser for innebygde perifere moduler i henhold til programmet, leser utgangsspenningsverdier, temperaturinnstillinger og tidsforsinkelse fra EEPROM (ikke-flyktig minne) inn i registre. HG1-indikatoren viser programversjonsnummeret i to sekunder og deretter, med redusert lysstyrke, spenningsverdien som skal være på utgangen, men den er ennå ikke slått på ved å trykke på SB1-knappen, skrus utgangsspenningen på på med verdien som tidligere er registrert i EEPROM, vil indikatoren HG1 vise den med full lysstyrke. Neste trykk på denne knappen vil slå av utgangsspenningen igjen, og så videre. Ved å trykke på henholdsvis SB3 og SB4 øker eller reduserer utgangsspenningen. Ved et kort trykk kan du finjustere utgangsspenningen, og ved å holde inne knappene kan du stille inn den grovt. Hvis det er nødvendig at neste gang strømkilden slås på, vil utgangen ha en ny spenningsverdi, så må du skrive den inn i minnet ved å trykke og holde inne SB2-knappen. Når indikatoren viser "SAU", slippes knappen, den nye verdien vil bli lagret i EEPROM.

Et kort trykk på SB2 lar deg se temperatur- og tidstellerverdien på indikatoren i intervaller på 10 minutter. Verdiene for temperatur- og tidsinnstillingene kan sees ved å holde denne knappen nede, og indikatoren vil vise blinkende verdier for de tilsvarende innstillingene, som kan endres ved hjelp av SB3- og SB4-knappene. Ved å trykke og holde inne SB2-knappen vil de nye verdiene lagres i EEPROM.

Hvis temperaturen på BK1-sensoren under drift av enheten med utgangsspenningen slått på overskrider den innstilte, vil utgangsspenningen slås av. Indikatoren vil vise et blinkende "o.t", som betyr at temperaturen er overskredet. Så snart temperaturen faller under den innstilte verdien med 2 C, vil utgangsspenningen slås på, og HG1-indikatoren vil vise verdien.

Hvis tidstellerverdien samsvarer med den innstilte verdien, vil utgangsspenningen slås av og indikatoren vil vise et blinkende "o.h", som betyr at tiden er overskredet. Du kan slå på inngangsspenningen etter dette ved å flytte tidsinnstillingen fremover eller til "0".

Nettverkstransformator T1 er industrielt produsert med en sekundærviklingsspenning på 17 V og en tillatt laststrøm på 1,2 A. Du kan bruke en transformator TP-115-K8 med to sekundærviklinger på 9 V hver og en strøm på 1,1 A, som er koblet i-fase-serie. En nettverkstransformator fra lampeteknologi med tre filamentviklinger på 6,3 V hver, som er koblet på samme måte, er også egnet. VD1-diodebroen skal være konstruert for en spenning på minst 50 V og en gjennomsnittlig likerettet strøm på minst 2 A. Diodene 1N4148 (VD2 og VD3) kan erstattes med KD522 med hvilken som helst bokstavindeks. BAT85-dioder (VD4-VD6) kan erstattes med andre Schottky-dioder, for eksempel 1N5817, 1N5818.

Reguleringstransistoren VT1 til pnp-strukturen, en kompositt KT825G i et metallhus, ble valgt med en stor strømreserve for å sikre enhetens pålitelighet. Den kan erstattes med en tilsvarende med en maksimal kollektor-emitterspenning på minst 50 V og en kollektorstrøm på 3 A eller mer. Transistor VT1 er installert på en kjøleribbe med en kjøleflate på 100 cm2. Kjøleribben med transistor VT1 er festet på toppdekselet på kassen fra utsiden, som vist på bildet i fig. 2. Felteffekttransistorer VT2 og VT4 - alle fra KP501-serien eller importerte 2N7000. Transistor VT3 kan være hvilken som helst av KT3102, KT342-seriene.

HG1-indikatoren er tre- eller firesifret med en felles anode. Den kan være sammensatt av tre separate ensifrede indikatorer. I dette tilfellet er terminalene med samme navn på segmentene koblet til hverandre, transistoren VT3 er ikke installert, og utgangen til desimalpunktet til det andre sifferet er koblet til den vanlige ledningen gjennom en 1 kOhm motstand.
Knapper SB1-SB4 ble tatt fra defekt kontorutstyr, inkludert en blekkskriver. Spenningsstabilisator DA1 - hvilken som helst av 7805-serien i et TO220-hus. Trimmermotstand R28 - 3266W-1-103 - importert multisving i liten størrelse produsert av Bourns. R25-strømsensoren består av fire parallellkoblede motstander med en motstand på 1 Ohm og en merkeeffekt på 0,5 W.

Strømforsyningen monteres uten VD2-dioden. sjekk for riktig installasjon og fravær av kortslutninger. For første gang, koble enheten til nettverket uten mikrokontroller DD1 og last. Bruk et voltmeter og kontroller at spenningen i kontakt 14 på DD1-panelet er 5 V, ved emitteren til transistoren VT1 - 17...20 V, ved kollektoren - ca. 0 V. Enheten er slått av og DD1 mikrokontroller er installert i panelet med et forhåndsinnspilt program, koder som er gitt i ad_ps1 .hex-filen.

Effekter, frekvensmålere og så videre. Det kommer snart til det punktet at det blir lettere å sette sammen en multivibrator på en kontroller :) Men det er ett poeng at alle typer kontroller ligner veldig på konvensjonelle digitale mikrokretser i K155-serien - dette er en strengt tatt 5 volt strøm forsyning. Å finne en slik spenning i en enhet koblet til nettverket er selvfølgelig ikke noe problem. Men å bruke mikrokontrollere som en del av små batteridrevne enheter er vanskeligere. Som du vet, oppfatter mikrokontrolleren bare digitale signaler - logisk null eller logisk en. For ATmega8-mikrokontrolleren, med en forsyningsspenning på 5V, er logisk null en spenning fra 0 til 1,3 V, og den logiske er fra 1,8 til 5 V. Derfor, for normal drift, er denne verdien av forsyningsspenningen nødvendig.

Når det gjelder AVR-mikrokontrollere, er det to hovedtyper:

For å oppnå maksimal ytelse ved høye frekvenser - strømforsyning i området fra 4,5 til 5,5 volt ved en klokkefrekvens på 0...16 MHz. For noen modeller - opptil 20 MHz, for eksempel ATtiny2313-20PU eller ATtiny2313-20PI.

For økonomisk drift ved lave klokkefrekvenser - 2,7...5,5 volt ved en frekvens på 0...8 MHz. Merkingen av den andre typen mikrokrets skiller seg fra den første ved at bokstaven "L" er lagt til på slutten. For eksempel ATtiny26 og ATtiny26L, ATmega8 og ATmega8L.

Det er også mikrokontrollere med evnen til å redusere strømforsyningen til 1,8 V; de er merket med bokstaven "V", for eksempel ATtiny2313V. Men du må betale for alt, og når strømmen reduseres må også klokkefrekvensen reduseres. For ATtiny2313V, med en strømforsyning på 1,8...5,5 V, bør frekvensen være i området 0...4 MHz, med en strømforsyning på 2,7...5,5 V - i området 0... 10 MHz. Derfor, hvis maksimal ytelse er nødvendig, må du installere ATtiny26 eller ATmega8 og øke klokkefrekvensen til 8...16 MHz med en 5V strømforsyning. Hvis effektiviteten er viktigst, er det bedre å bruke ATtiny26L eller ATmega8L og senke frekvensen og strømforsyningen.

I den foreslåtte omformerkretsen, når den drives av to AA-batterier med en total spenning på 3V, er utgangsspenningen valgt til å være 5V for å gi tilstrekkelig strøm til de fleste mikrokontrollere. Belastningsstrømmen er opptil 50mA, noe som er ganske normalt - når alt kommer til alt, når man opererer med en frekvens på for eksempel 4 MHz, har PIC-kontrollere, avhengig av modell, et strømforbruk på mindre enn 2 mA.


Omformertransformatoren er viklet på en ferrittring med en diameter på 7-15 mm og inneholder to viklinger (20 og 35 omdreininger) med en 0,3 mm ledning. Som kjerne kan du også ta en vanlig liten 2,5x7mm ferrittstang fra radiomottakerspoler. Vi bruker transistorer VT1 - BC547, VT2 - BC338. Det er akseptabelt å erstatte dem med andre med lignende struktur. Vi velger utgangsspenningen med en 3,6k motstand. Naturligvis, med en tilkoblet lastekvivalent - en 200-300 Ohm motstand.


Heldigvis står ikke teknologien stille, og det som nylig virket som den nyeste teknologien er nå merkbart utdatert. Jeg presenterer en ny utvikling fra STMicroelectronics-kampanjen - en serie STM8L-mikrokontrollere, som er produsert ved hjelp av 130 nm-teknologi, spesielt designet for å oppnå ultralave lekkasjestrømmer. Driftsfrekvensene til MK er 16 MHz. Den mest interessante egenskapen til de nye mikrokontrollerne er evnen til å operere med forsyningsspenninger i området fra 1,7 til 3,6 V. Og den innebygde spenningsstabilisatoren gir ekstra fleksibilitet ved valg av forsyningsspenningskilden. Siden bruk av STM8L-mikrokontrollere krever batteristrøm, har hver mikrokontroller innebygde strøm-på/av-tilbakestillings- og lavspennings-tilbakestillingskretser. Den innebygde forsyningsspenningsdetektoren sammenligner inngangsforsyningsspenningene med en spesifisert terskel og genererer et avbrudd når den krysses.


Andre metoder for å redusere strømforbruket i den presenterte designen inkluderer bruk av innebygd ikke-flyktig minne og en rekke reduserte strømmoduser, som inkluderer en aktiv modus med et strømforbruk på 5 μA, en standby-modus på 3 μA, en stoppmodus med en løpende sanntidsklokke på 1 μA, og full stopp - kun 350 nA! Mikrokontrolleren kan gjenopprette fra stall-modus på 4 µs, slik at den laveste strømmodusen kan brukes så ofte som mulig. Generelt gir STM8L et dynamisk strømforbruk på 0,1mA per megahertz.

Diskuter artikkelen MICROCONTROLLER POWER POWER