Lab-nätdel

Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Lab-nätdel

Inlägg av Icecap »

Jag har en lab-nätdel (UTP3702), dubbel 0-32V 3A, som fungerar bra - men där utläsningen är total skit.

Då vidare projekt hänger på att jag har en fungerande nätdel är den ganska essentiell. Så jag har grunnat en hel del på hur jag ska lösa detta.

Den nuvarande har reläer för växling när man går uppåt i spänning, detta såklart för att minska värmeutveckling i regleringstransistorerna.

Så jag vill återanvända chassi, trafo osv. då de ju löser funktionen bra.

Jag vill ha en fungerande utläsning, jag kan sannolikt fixa den befintliga vid att byta den omkopplare som sitter - men jag ids inte!

Som vanligt vill jag ta steget vidare och jag ser behov av möjlighet för extern styrning, typ RS232 eller så. Efter att ha vänt o vridit detta ett bra tag hittade jag min lösning:
En "vanlig" nätdel (analog) med "vanlig" CC/CV reglering.

Men CC/CV får var sin spänning som reglering och dessa spänningar kommer ifrån var sin DAC-kanal.
Såklart ska det finnas en ADC med upplösning nog till att vara meningsfull.

För att styra dessa ADC/DAC ska det finnas en µC i någon form - och då kan jag ju likaväl lägga till att det kan bli möjligt att koppla på ett vanligt text-LCD med backlight, en rotary encoder o en "output on/off"-knapp.
Display osv. kopplas in på eget kretskort via ett 20-pin ICD don. Då har man en enkel lösning om man inte behöver fler kanaler.

Detta kan byggas som en enhet ihop med nätdelens kanal. Men jag vill ju ha båda kanaler galvanisk skiljde ifrån varandra samt extern kommunikation...

Och då kommer optokopplare in i spelet. Det finns snabba optokopplare till detta, de klarar upp till 1MHz och det borde räcka ledigt till detta.

Jag ska rita själva styrkortet i 1-kanal version o se om jag kan placera 2 sådana på ett "bottenkort" som motsvarar originalkortet, då kan bottenkortet ha all interface till RS232 osv.
Utläsningen o kommunikation med RS232 skötas sedan av en µC på bottenkortet och där kan jag ha styrning av om kanalerna ska tracka, vara oberoende av varandra osv.

Med den rätta mjukvara kan jag ha laddningsfunktioner, slope kontroll vid uppstart osv.
Att lägga in en "ladda med max ?.? A till en spänning på ??.? Volt, när strömmen kommer under ?.? A ska laddningen avbrytas efter ?? minuter"-funktion vill ju vara trivialt.
Och med lite EEPROM inbyggt i bottenkortet kan man spara ett antal av sådana - och andra funktioner man önskar.

Data för utläsning skickas via optokopplare som digital kommunikation mellan bottenkortet o kanal-korten, då kan man logga med PC, styra med PC osv.

Jag har redan den analoga delen klar som schema, jag har vald vilka DAC & ADC jag vill ha och jag har hitta en PIC som ledigt skulle klara biffen.

Då jag har börjat leka med KiCad vill jag göra detta projekt i just KiCad - som utbildningsprojekt.

När detta är klart kan jag komma vidare med min metalldetektor...
MiaM
Inlägg: 9990
Blev medlem: 6 maj 2009, 22:19:19

Re: Lab-nätdel

Inlägg av MiaM »

Ursäkta en kanske dum fråga, men vad betyder "utläsning"? Är det att displayerna är usla?
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Lab-nätdel

Inlägg av Icecap »

De nuvarande display är 7-segment o ska växlas mellan att visa ström eller spänning.
Det finns 2 skiljda delar, en för varje kanal.

Man kan inte se vilken CC man har inställd utan att belasta max och titta på CC.

Och då omkopplaren mellan visning av CV och CC är mycket dålig, är visningen totalt utan kontakt med verkligheten. Just detta problem kan nog lösas men det är ju skit ändå.

Jag vill kunde se vad max. ström är inställd till, såklart även vilken ström som matas i nuläget.
Likaså med spänning, jag vill kunde se inställd spänning samt spänningen här o nu.

En annan sak är att väldigt många variabla nätdelar jag har sett schema på, har ett potentiometer mellan utgången o GND där löparen ger feedback till regleringen.

Detta ger i effekt en förstärkare med variabel förstärkning vilket kan göra det svårt att undvika svängningar i alla lägen.

Vid att reglera referensspänningen istället, får jag ett system med fast förstärkning o kan då hitta lösningar på evt. svängningar.
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Lab-nätdel

Inlägg av Icecap »

En generell fråga:
Jag ämnar att använder ACS724 som strömsensor.

Då släpper jag att fundera på om high-side sensorn klarar spänningen (båda hög o speciellt låg) osv.
I annat fall kan jag bli tvungen att ha en negativ spänning för att en high-side sensor ska ha en viss minimal arbetsspänning.

ACS724LLCTR-05AU-S har fullt utslag på 5A vilket blir perfekt till just denna nätdel.

Men den sensorfamilj har även ACS724LLCTR-05AB-S som klarar ±5A... Samma pinout osv.

Och då dök en tanke upp:
Att reglera och använda sensorn som strömbegränsare går lätt.

Men vad om jag lägger till en transistor och en op-amp mer?
Då kan jag faktisk ÄVEN använda nätdelen som konstantströmsbelastning.

Och låter jag bli att sätta dessa extra komponenter dit är det lugnt, då kan enheten bara inte göra detta.

Jag ser nyttan i ett fåtal framtida projekt - men är det värd det?
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Lab-nätdel

Inlägg av Icecap »

Nu är schemat till den analoga delen så när klar jag kan bli just nu.

Jag lade in att det kan finnas en viss integrering av regleringen, då kan jag hålla den generella förstärkning i systemet nere for att undvika självsväng - men ändå ha en hög "långsam" förstärkning för bra noggrannhet.

Då jag ju styr utgångsspänningen med en referensespänning från en DAC, är själva den analoga delen i grunden bara en förstärkare.
De "vanliga" regleringar (lite billigare typer) brukar ha ett potentiometer med den ena sidan till GND, den andra till utgången (evt. via ett motstånd), och löparen till en förstärkare med en referensspänning som just referens.

Ritar man upp detta, ser man snabbt att det i grunden är en förstärkarkoppling med variabel feedback.
Man har alltså olika förstärkning vid olika utgångsspänningar. Detta kan föra det svårt att få en snabb och korrekt utgångsspänning utan översväng eller självsväng.

Med konstant förstärkning blir det enklare att få stabil utgång med bra noggrannhet.

Utgången och dummy-loaden är initialt stängd av tills att styrningen slår på ett signal.
Då kan jag även se till att dummy-loaden (om den är monterat) bara kan vara på om utgången är avstängd - och det kommer ingen strömpuls ut heller.

När den digitala delen kommer upp att köra tar den över kontrollen.
Då kan DAC osv. initieras korrekt innan någon ström skickas ut vid uppstart.

Min version har plats för 2 reläer - bara för att den nuvarande styrning har det.
Det medger att jag kan växla "kraft"-AC till 12, 24 eller 36V och därmed kan minska effektförlusten i regleringstransistorn.

Ett tips om hur man undviker att en µC-utgång "hoppar" under initieringen av portar i en µC:
De flesta portar på en modern µC har ett utgångsregister och ett riktningeregister (om portpinne är ingång eller utgång).
Vid reset brukar dessa ställas till ingångar.

I detta fall har jag en mosfet med ett 10k motstånd mellan GND och gate, det ser till att mosfet'en är av till annan sker.

Tipset är att FÖRST skriva värdet på utgångsregistret (t.ex. 0x00) och SEDAN skriva värde i riktningsregistret.
Man ska ALDRIG lita på att utgångsregistret faktisk är 0x00 efter reset, det kan vara en glitch som ger en omstart och då kan det vara ett icke-0x00 värde i utgångsregistret.
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Lab-nätdel

Inlägg av Icecap »

Nu har jag pillat en del med schema osv. Har lärt mig mycket om KiCAD också o börjar så smått att bli kompis med det.

Jag har delat schemat upp i 2 delar, en analog del o en "digital" del.
Den analoga delen först:
PS_Analog.png
J3 är den befintliga kraft-NPN, kopplat som emitter-följare.
J4 är den möjliga dummy-load transistor av samma typ - ifall jag vill använda den.

Den digitala delen:
PS_Digital.png
Jag har INTE räknat ut alla komponentvärden osv. men i grunden styr den digitala delen att lägga ut en referensspänning för utgångsspänningen och en för max ström.
Den analoga delen reglerar efter dessa spänningar.

Då jag använder µC'ns interna 12 bit AD-omvandlare och vill se om jag kan öka upplösningen, har jag möjlighet att styra ett offset på båda feed-back (utgångsspänning och ström).
Detta behövs definitivt om jag vill använda den angivna strömmätning då den kan ge signal för båda utgående ström och inkommande ström.

Då min strömsensor har ±-möjlighet har jag lagt till en möjlighet att bestycka med en extra transistor som då kan fungerar som konstantströms dummy-load.

Den befintliga enhet har lindningar som stegar med ung. 15Vac, alltså har jag kopierat reläerna för detta.

C9 & C11 är till för att ha skaplig förstärkning i regleringsdelen men att den "snabba" förstärkning är lägre. Detta borde stoppa självsväng och även ge bra noggrannhet.

Den digitala delen gör inte så värst mycket.
Den har en galvanisk skiljt kommunikation där ALL styrning sker medelst kommandon o svar.
Den galvaniska delning ger möjlighet att ha fler enheter i en låda och använda dom oberoende av varandra.

I den befintliga enheten finns 2 separata kanaler och medan jag var på gång ville jag göra det möjligt att ha en obegränsat möjlighet.

Det finns ett par 4-kanal DAC, jag har kopplat dom parvis så att ena kanalen är "grovregleringen", den andra sköter "finregleringen".
Deras område kommer såklart att överlappa en del men jag kan öka upplösningen med ett par bits iaf. och det får räcka.

Det gör att jag får högre upplösning på att ställa spänning/ström.

Då jag även kan offsetta returen från strömsensorn och utgångsspänningen ger det mig en bättre upplösning även där.

När enheten slås på kommer µC-utgångarna ju att gå tri-state - o då kommer pull-down motstånden att säkra att ingen ström skickas ut eller tas emot.
Sedan initierar µC'n o tar över.

Se detta som en skitse, jag är säker på att det blir en hel del pill med att få allting att fungera korrekt.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Lab-nätdel

Inlägg av Icecap »

Nå, tiden har gått och jag har haft mycket annat att göra och lite ork till annat.
Nu har jag dock haft tid & ork att rita mer på mönsterkortet och jag är snart klar.

För att skapa styrspänningarna (1 för ut-spänning och 1 för max. ström) använder jag en MCP4728.
Den är en 4-kanal 12-bit DAC och för att öka upplösningen använder jag 2 kanaler per spänning.

Detta gör att jag - vid att "blanda viktat" - kan skapa en högre upplösning än 12 bit.
Utan att ha räknat speciellt mycket anser jag att om jag på ena DAC-utgången har ett 1k motstånd och på andra utgången ett 510k motstånd kan jag öka upplösningen till ~18-20 bits vilket torde räcka väldigt långt.

Vid max. utspänning på 35V blir det en upplösning på 133µV - vilket är dels teoretisk och dels onödigt. Men det är "gratis" så varför inte?

Jag är medveten om att MCP4728 är en "OK men inte top-notch" DAC så det kan bli en del trimning och kontroll av offset osv. men det är data som kan sparas i EEPROM i µC'n.

Då jag nu var igång valde jag en PIC med 12-bit ADC och placerar en op-amp på varje ingång.
(-)ingången på op-ampen kopplas normalt i en 1:1 gain och på (+)ingången är kopplat till en DAC-utgång (på samma sätt som styrspänningarna).
Då kan jag mäta med "hög" upplösning i ett begränsat område och kan flytta området via ett ställbart offset.

Denna koppling har jag för mätning av utgångsspänning och strömmätningen.

Har även snubblat över 3 st LCD (240*64 pixlar) som jag anser kan fungera som display till detta projekt.
Jag får ju designa ett eget kretskort till styrningen av dessa moduler och då vill jag ha visat vad spänningen ut ÄR och vad den BORDE vara samt vad strömbegränsningen är satt till och hur mycket som dras.

Med lite extra EEPROM på detta kretskort kan jag spara olika inställningar och procedurer, t.ex. laddning av olika typer ackumulatorer, kapacitetsmätning av batterier och mycket annat kul.
Detta såklart bara om jag har vald att montera dummy-load funktionen - vilket såklart sker i första exemplaret, allt ska ju testas.

Det blir en del med mjukvara att fixa till PIC'en på nätdelskortet - men inte våldsamt mycket.
Jag ska ha I²C, ADC, UART och timer startat och sedan klurat ut hur kommunikationsprotokollet ska fungera.

Det mest intressanta i mjukvara-väg blir kontrollkortet, har inte ens planerat vilken typ µC än - men det kan bli en STM32 - kanske.

Den fysiska storlek på kretskortet blir så att man kan montera 2 st i den UTP3702 jag har stående, då kommer jag att ha samma funktionalitet (dubbel isolerat nätdel) med det extra jag bygger på, mest i mjukvaran.

Jag har skippat tanken om att ha externt display på kortet. Det vill bli knepigt med plats och jag ser inte riktigt nyttan.
Skulle jag behöva en enkelt kanal kan jag ju likaväl ta samma betjäningskort som till den dubbla version, det kan räcka med att kunde ställa en parameter ("antal slavenheter") och saken är biff.

Man kan även göra ett litet USB-FTDI kort som driver den isolerade kommunikationen och då köra allt med ett PC-program.
Skriv svar