Lab-nätdel
Lab-nätdel
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...
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...
Re: Lab-nätdel
Ursäkta en kanske dum fråga, men vad betyder "utläsning"? Är det att displayerna är usla?
Re: Lab-nätdel
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.
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.
Lab-nätdel
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?
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?
Re: Lab-nätdel
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.
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.
Re: Lab-nätdel
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: 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: 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.
Jag har delat schemat upp i 2 delar, en analog del o en "digital" del.
Den analoga delen först: 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: 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.
Re: Lab-nätdel
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.
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.
Re: Lab-nätdel
Äntligen har jag ritat klart mönsterkortet till detta projekt.
Jag bytte op-amp till NCS20072 då de har bättre data - och jag har en drös liggande.
För att få bra Gound-plane gjorde jag en fritstående via som jag gav GND som nät.
Den kopierade jag sedan och placerade kopior varje ställe jag tyckte att det kunde bli en "tom ö" - som KiCad ju inte tillåter.
Nu ska jag rita kortet till display+kommunikation delen.
Jag planlägger att det ska vara RS232 kommunikation samt att ha ett relä mellan kanal 1 minus o kanal 2 plus så att jag kan sammankoppla till ±35V 3A eller ha 2 galvanisk skiljde kanaler.
Själva kanalkortet ska ha ganska få funktioner:
* Ställa max. ström.
* Ställa önskat utgångsspänning.
* Ställa önskat belastning (Dummy-Load delen).
* Mäta verklig spänning o ström.
* Styra evt. foldback-funktion.
* Styra om Dummy-Load ska fungera som CC eller ett motstånd.
* Kommunicera med display-kortet.
Kommunikationen sköts via 2 st 6N137 optokopplare, det ger en total isolering mellan extern kommunikation och kanalerna.
Jag har använd detta projekt till att bekanta mig med KiCad 8.0.2 och jag känner mig ganska väl tillrätta med det.
Jag funderar på att designa display-kortet med möjlighet att kommunicera med 4 kanaler på samma gång, bara ifall man vill göra en maxat nätdel.
De 2 extra kanaler kan ju t.ex. vara 2 st 0-5V kanaler till att mata digitala delar, den ena ställs på 3,3V o den andra på 5,0V.
Då har man ganska mycket att jobba med om man vill dit.
Jag bytte op-amp till NCS20072 då de har bättre data - och jag har en drös liggande.
För att få bra Gound-plane gjorde jag en fritstående via som jag gav GND som nät.
Den kopierade jag sedan och placerade kopior varje ställe jag tyckte att det kunde bli en "tom ö" - som KiCad ju inte tillåter.
Nu ska jag rita kortet till display+kommunikation delen.
Jag planlägger att det ska vara RS232 kommunikation samt att ha ett relä mellan kanal 1 minus o kanal 2 plus så att jag kan sammankoppla till ±35V 3A eller ha 2 galvanisk skiljde kanaler.
Själva kanalkortet ska ha ganska få funktioner:
* Ställa max. ström.
* Ställa önskat utgångsspänning.
* Ställa önskat belastning (Dummy-Load delen).
* Mäta verklig spänning o ström.
* Styra evt. foldback-funktion.
* Styra om Dummy-Load ska fungera som CC eller ett motstånd.
* Kommunicera med display-kortet.
Kommunikationen sköts via 2 st 6N137 optokopplare, det ger en total isolering mellan extern kommunikation och kanalerna.
Jag har använd detta projekt till att bekanta mig med KiCad 8.0.2 och jag känner mig ganska väl tillrätta med det.
Jag funderar på att designa display-kortet med möjlighet att kommunicera med 4 kanaler på samma gång, bara ifall man vill göra en maxat nätdel.
De 2 extra kanaler kan ju t.ex. vara 2 st 0-5V kanaler till att mata digitala delar, den ena ställs på 3,3V o den andra på 5,0V.
Då har man ganska mycket att jobba med om man vill dit.
Re: Lab-nätdel
Sådär ja. Numera har jag ritat klart alla kort som kan behövas till detta projekt.
Med en "kanal" menas det en enkel spänningsregulator.
Min ursprungliga nätdel har 2 kanaler som är isolerat ifrån varandra och som kan förbindas utanför lådan.
Det mest analoga kortet som är själva kanalen är klart.
Det digitala kommunikations och display-kort är klart.
Mini-kort till var sin rotary encoder är klar.
Jag har möjlighet att styra upp till 4 kanaler samt att ha extern RS232 kommunikation o styrning.
Jag har funderat en del över vilka funktioner som ska finnas och på kanal-delen har jag kommit fram till att det ska finnas:
* Fold-back strömreglering, alltså vid överlast faller spänningen (såklart) och detta medför minskat ström som blir lägre med sjunkande spänning.
-- Ger möjlighet att koppla in stora kondingar och starta kontrollerat.
* Överlast stänger av helt.
-- Evt. efter en viss tid.
* Dummy load ska kunde belasta med konstant ström eller som ett motstånd.
Display delen ska klara all inställning av funktioner och loggning ska ske via RS232.
Man ska kunde spara vissa inställningar i ett litet bibliotek.
Kanske jag ska lägga till en EEPROM som ger möjlighet att spara fler funktioner/program.
Med en "kanal" menas det en enkel spänningsregulator.
Min ursprungliga nätdel har 2 kanaler som är isolerat ifrån varandra och som kan förbindas utanför lådan.
Det mest analoga kortet som är själva kanalen är klart.
Det digitala kommunikations och display-kort är klart.
Mini-kort till var sin rotary encoder är klar.
Jag har möjlighet att styra upp till 4 kanaler samt att ha extern RS232 kommunikation o styrning.
Jag har funderat en del över vilka funktioner som ska finnas och på kanal-delen har jag kommit fram till att det ska finnas:
* Fold-back strömreglering, alltså vid överlast faller spänningen (såklart) och detta medför minskat ström som blir lägre med sjunkande spänning.
-- Ger möjlighet att koppla in stora kondingar och starta kontrollerat.
* Överlast stänger av helt.
-- Evt. efter en viss tid.
* Dummy load ska kunde belasta med konstant ström eller som ett motstånd.
Display delen ska klara all inställning av funktioner och loggning ska ske via RS232.
Man ska kunde spara vissa inställningar i ett litet bibliotek.
Kanske jag ska lägga till en EEPROM som ger möjlighet att spara fler funktioner/program.
Re: Lab-nätdel
Lade till en FD230X med USB-B kontakt, då kan man bestycka antingen RS232 eller USB efter behov.
Kollade igenom ledningarna från trafon och det finns följande grupper:
2 Gråa: 11Vac, kopplat till PCB men ingen bestyckning i den grupp. I annat fall finns det bara plats för en fullvågs-likriktare o en liten elektrolyt.
2 st kraftgrupper. Om vi antar att följden är 0, 14Vac, 24Vac, 36Vac blir det:
Svart - Blå - Brun - Grön.
Svart - Röd - Gul - Orange.
2 st regleringsspänning om 21Vac:
Blå - Blå
Vit - Vit
Sedan är det display-grupperna med 10Vac - 0 - 10Vac:
Gul - Svart - Gul
Röd - Svart - Röd
Varje grupp är isolerat ifrån de andra.
Det finns fler svarta och de tillhör var sin grupp.
I mitt fall kommer jag att använda en kraftgrupp samt en av regleringsgrupperna till varje kanal.
Sedan använder jag nog den oanvända gruppen (gråa ledningar) till display/kontrol-delen och sedan har jag de gamla display-grupper lediga.
Då kommer allt internt o externt att vara galvanisk isolerat ifrån varandra och ingen jordslinga kan elda upp en dator, oavsett hur man gör.
Så det blir totalt ofarligt att ha kommunikation med nätdelen OCH det man lekar med samtidig från samma dator.
Kollade igenom ledningarna från trafon och det finns följande grupper:
2 Gråa: 11Vac, kopplat till PCB men ingen bestyckning i den grupp. I annat fall finns det bara plats för en fullvågs-likriktare o en liten elektrolyt.
2 st kraftgrupper. Om vi antar att följden är 0, 14Vac, 24Vac, 36Vac blir det:
Svart - Blå - Brun - Grön.
Svart - Röd - Gul - Orange.
2 st regleringsspänning om 21Vac:
Blå - Blå
Vit - Vit
Sedan är det display-grupperna med 10Vac - 0 - 10Vac:
Gul - Svart - Gul
Röd - Svart - Röd
Varje grupp är isolerat ifrån de andra.
Det finns fler svarta och de tillhör var sin grupp.
I mitt fall kommer jag att använda en kraftgrupp samt en av regleringsgrupperna till varje kanal.
Sedan använder jag nog den oanvända gruppen (gråa ledningar) till display/kontrol-delen och sedan har jag de gamla display-grupper lediga.
Då kommer allt internt o externt att vara galvanisk isolerat ifrån varandra och ingen jordslinga kan elda upp en dator, oavsett hur man gör.
Så det blir totalt ofarligt att ha kommunikation med nätdelen OCH det man lekar med samtidig från samma dator.
Re: Lab-nätdel
Alltid kul med ADD...
Skulle sova o plötslig kom hjärnan på att det i grunden inte finns någon "verklig" rail2rail output op-amp. Det finns en del som kommer mycket nära men mycket få som verkligen kan ge VSS eller VDD ut.
Samtidig finns det alltid en viss offset i en op-amp, man kan trimma det bort med rätt typ och trim-pot.
Men när jag nu ska ha ett digitalt styrd system, borde det vara enklare att klura ut vad max. "system-offset" kan bli och sedan bygga detta in i regleringen så att de DAC-utgångar jag styr med kan kompensera för detta.
Hela idén är ju att ha ett system jag kan löda ihop, blåsa in mjukvaran - och sedan köra en semi-automatisk trimningsrutin som ställer allt till att gå rätt.
Då kan jag per automatik kompensera för komponenttoleranser och offset.
Trimningen ska ske vid att koppla på mitt DVM o ställa Vout till 0,000V och sedan mata in via seriell port hur verkligheten ser ut.
Samma med 10, 20, 30V ut, det ska faktisk räcka med att trimma till 30V ut - men jag ska övertesta skiten.
Strömmen likaså, hitta rätt offset för 0,000mA, koppla på ett känt motstånd och klämma till med spänning till ett vettigt nivå kan mätas.
Ja, för att få dom mätningar med manga decimaler ska man ha tillgång till kalibrerade instrumenter. Blir jag så rik får jag kalibrera mina Fluke.
Min tanke är att "lyfta" NOLL i regleringskedjan till t.ex. 0,2V och det kan egentligen göras vid att ta spänningen från spänningsdelaren o skicka igenom en op-amp där jag lägger ett bias som ger det offset.
Det har varit ganska mycket med flyttning, jobb, frugan som ska opereras, svärmor som har fallit 2 gångar osv. så det har bara legat o malt i skallen men nu ska jag definiera exakt vad jag ska göra, då brukar det vara enkelt att hitta rätt lösning.
Det ska ske innan jag blir MER mentalt utmanad än jag är just nu.
Skulle sova o plötslig kom hjärnan på att det i grunden inte finns någon "verklig" rail2rail output op-amp. Det finns en del som kommer mycket nära men mycket få som verkligen kan ge VSS eller VDD ut.
Samtidig finns det alltid en viss offset i en op-amp, man kan trimma det bort med rätt typ och trim-pot.
Men när jag nu ska ha ett digitalt styrd system, borde det vara enklare att klura ut vad max. "system-offset" kan bli och sedan bygga detta in i regleringen så att de DAC-utgångar jag styr med kan kompensera för detta.
Hela idén är ju att ha ett system jag kan löda ihop, blåsa in mjukvaran - och sedan köra en semi-automatisk trimningsrutin som ställer allt till att gå rätt.
Då kan jag per automatik kompensera för komponenttoleranser och offset.
Trimningen ska ske vid att koppla på mitt DVM o ställa Vout till 0,000V och sedan mata in via seriell port hur verkligheten ser ut.
Samma med 10, 20, 30V ut, det ska faktisk räcka med att trimma till 30V ut - men jag ska övertesta skiten.
Strömmen likaså, hitta rätt offset för 0,000mA, koppla på ett känt motstånd och klämma till med spänning till ett vettigt nivå kan mätas.
Ja, för att få dom mätningar med manga decimaler ska man ha tillgång till kalibrerade instrumenter. Blir jag så rik får jag kalibrera mina Fluke.
Min tanke är att "lyfta" NOLL i regleringskedjan till t.ex. 0,2V och det kan egentligen göras vid att ta spänningen från spänningsdelaren o skicka igenom en op-amp där jag lägger ett bias som ger det offset.
Det har varit ganska mycket med flyttning, jobb, frugan som ska opereras, svärmor som har fallit 2 gångar osv. så det har bara legat o malt i skallen men nu ska jag definiera exakt vad jag ska göra, då brukar det vara enkelt att hitta rätt lösning.
Det ska ske innan jag blir MER mentalt utmanad än jag är just nu.
Senast redigerad av Icecap 25 september 2024, 19:27:54, redigerad totalt 1 gång.
Re: Lab-nätdel
Verkar bli ett trevligt aggregat, har du funderat på att sätta ihop ett "kitt" med reglerdelen? Skulle vara intressant, har någon gammal trafo liggandes som skulle kunna få göra nytta.
/J
/J
Re: Lab-nätdel
När det blir verklighet kommer jag att beställa några mönsterkort och om det blir beställinger kan jag fixa komponentkit också.
Det blir en del jobb med mjukvaran men jag är på väg med den också.
Det blir ju ett styrkort till det hela, det är också rimligt klart o mjukvaran är påbörjad där med.
Det blir en del jobb med mjukvaran men jag är på väg med den också.
Det blir ju ett styrkort till det hela, det är också rimligt klart o mjukvaran är påbörjad där med.
Re: Lab-nätdel
Livet har med att vara som livet är. Det har varit dåligt med ork - men jag har iaf. kommit ett steg vidare.
En mörk kväll(/natt) kom jag på att det finns ett offset i alla op-amp, toleranser i alla komponenter - och att ingen op-amp kan fungera 100% när signaler är på samma nivå som matningen.
På den del som reglerar spänning/ström kan det lösas - men jag insåg at jag behöver någon negativ spänning också för att kunde kompensera för offset.
Jag beslöt mig för att +/- 100mV ska vara nog, jag har en DAC-utgång på μC så den kan jag använda til den trimning. Detta sker med en standard 1,24V referens som får lite spänningsdelare på med ett motstånd mellan DAC o referenspunkt, då kan jag variera ett offset mellan de valda gränser.
Mitt mål är att trimning/kalibrering ska klaras så tät på automatisk som möjligt.
* Center i strömmätningen sker vid att stänga av all drivning o då mäta strömsensorns ufgångsspänning som bör ligga runt 2,5V då den kan mäte positiv o negativ ström.
* Offset i Vout-mätningen ska klaras vid att kortsluta utgången och ställa strömmen LÅGT o Vout till 0V. Sedan stega upp offset till strömsensorn just reagerar och sedan ett steg bakåt.
* Utgångsspänningen "kalibreras" vid att det ställs någon låg spänning ut o den mäts med ett multimeter. Värdet matas in via en terminal-funktion o det räknas ut vilken faktor som behövs.
* Strömmen likaså: ställ ett lagom bör-värde, skruv upp för spänningen medan strömmen mäts med multimeter. Värdet matas in via terminal o saken är biff.
De uträknade värden sparas såklart i EEPROM i μC och då ska den kanal vara klar till bruk.
Och ja, vid en riktig kalibrering ska man ha annat än ett sketet Fluke 79 v3 - men jag tar vad jag har, det kan bli bättre om jag blir rik. Kalibreringen kan ju alltid göras om ifall man vill.
En mörk kväll(/natt) kom jag på att det finns ett offset i alla op-amp, toleranser i alla komponenter - och att ingen op-amp kan fungera 100% när signaler är på samma nivå som matningen.
På den del som reglerar spänning/ström kan det lösas - men jag insåg at jag behöver någon negativ spänning också för att kunde kompensera för offset.
Jag beslöt mig för att +/- 100mV ska vara nog, jag har en DAC-utgång på μC så den kan jag använda til den trimning. Detta sker med en standard 1,24V referens som får lite spänningsdelare på med ett motstånd mellan DAC o referenspunkt, då kan jag variera ett offset mellan de valda gränser.
Mitt mål är att trimning/kalibrering ska klaras så tät på automatisk som möjligt.
* Center i strömmätningen sker vid att stänga av all drivning o då mäta strömsensorns ufgångsspänning som bör ligga runt 2,5V då den kan mäte positiv o negativ ström.
* Offset i Vout-mätningen ska klaras vid att kortsluta utgången och ställa strömmen LÅGT o Vout till 0V. Sedan stega upp offset till strömsensorn just reagerar och sedan ett steg bakåt.
* Utgångsspänningen "kalibreras" vid att det ställs någon låg spänning ut o den mäts med ett multimeter. Värdet matas in via en terminal-funktion o det räknas ut vilken faktor som behövs.
* Strömmen likaså: ställ ett lagom bör-värde, skruv upp för spänningen medan strömmen mäts med multimeter. Värdet matas in via terminal o saken är biff.
De uträknade värden sparas såklart i EEPROM i μC och då ska den kanal vara klar till bruk.
Och ja, vid en riktig kalibrering ska man ha annat än ett sketet Fluke 79 v3 - men jag tar vad jag har, det kan bli bättre om jag blir rik. Kalibreringen kan ju alltid göras om ifall man vill.