Meřák k regulovatelnému zdroji
Moderátori: psichac, Moderátori
Meřák k regulovatelnému zdroji
Ahoj,
Vyrábím měřák ovládaný atmegou 8, pro regulovatelný zdorj. Chtěl bych poradit s čím by mohl být problém a co by bylo vhodné předělat.
Díky za reakce.
Vlastnosti:
měřenní napětí: 0-35V; 10mV krok
měření proudu: 0-3A; 10mA krok
měření teploty chladiče: 0-100 °C (při 60°C odpojení výstupu) , 1 °C krok, +- 3 °C přesnost
měření polohy potenciometru zdroje ovádající CC (přibližně)
stav zdroje CV/CC
tlačítkový vstup
ovládání relé
indikační led
ovládání ventiátoru (v závislosti od teploty)
ovládání jasu
ovládání podsvitu
výpis na display 16x2
Vyrábím měřák ovládaný atmegou 8, pro regulovatelný zdorj. Chtěl bych poradit s čím by mohl být problém a co by bylo vhodné předělat.
Díky za reakce.
Vlastnosti:
měřenní napětí: 0-35V; 10mV krok
měření proudu: 0-3A; 10mA krok
měření teploty chladiče: 0-100 °C (při 60°C odpojení výstupu) , 1 °C krok, +- 3 °C přesnost
měření polohy potenciometru zdroje ovádající CC (přibližně)
stav zdroje CV/CC
tlačítkový vstup
ovládání relé
indikační led
ovládání ventiátoru (v závislosti od teploty)
ovládání jasu
ovládání podsvitu
výpis na display 16x2
- Prílohy
-
- V, A metr.sch
- (989.71 KiB) 88 stiahnutí
0
Re: Meřák k regulovatelnému zdroji
Zkusím konkrétnější otázku. Mohl bybýt problém s napájením AVCC s obvodem lm2594 5V? Bylo by lepší pro napájení AD převodníku použít třeba 7805ku?
*1) Ve schámatu je chyba, IC9 má být 12V verze.
*1) Ve schámatu je chyba, IC9 má být 12V verze.
0
Re: Meřák k regulovatelnému zdroji
Prve co ma napadlo je ze pri rozsahu 0-35V s pouzitim ADC atmega8 mas krok dany 35/1024 co je trosku viac ako 10mV.
Jedine zeby si urobil nejaky autorange voltmeter trebars 0-10Vs krokom +-10mv a potom 0-35V s krokom +-35/1024
Alebo pouzit externy ADC(12+ bitovy)
Jedine zeby si urobil nejaky autorange voltmeter trebars 0-10Vs krokom +-10mv a potom 0-35V s krokom +-35/1024
Alebo pouzit externy ADC(12+ bitovy)
0
Re: Meřák k regulovatelnému zdroji
Dan21: sbírám 64 vzorků z 10bit ADC a udělm z toho průměr (hodnoty z ADC nejsou stabilní, proto to funguje). V nepájivém poli se zdá, že to funguje, tak snad na desce to bude taky fungovat.
Něco jako "autorange" tam je, a to kvůli malým hodnotám. Při hodnotách >1V, to 2.5x zesiluje lm324 IC6C a posílá do PC1, nad 2,5V na výstupu OZ se začíná činit zenerka, ale to už se napětí bere z děliče na PC0.
Něco jako "autorange" tam je, a to kvůli malým hodnotám. Při hodnotách >1V, to 2.5x zesiluje lm324 IC6C a posílá do PC1, nad 2,5V na výstupu OZ se začíná činit zenerka, ale to už se napětí bere z děliče na PC0.
0
Re: Meřák k regulovatelnému zdroji
priemer zo 64 vzorkov ti nezlepsi citlivost. Aku metodu pouzivas ? Scitas 64 hodnot a potom >>6 ? Alebo plavajuci priemer, alebo nieco ine ?
Stale tam mas iba 10bit ADC. Najvacsiu citlivost dosiahnes pri najmensom Aref Podla schemy (tipujem) tam mas Aref=external 5V(Vcc)
takze citlivost by mohla byt 5mV(+-). Moja skusenost je taka ze pri takejto citlivosti my vzdy preskakovala hodnota na LCD. Zalezi na stabilite zdroja.
Ako riadis vystupne napatie ? Myslim potom ako precitas hodnotu s JP11 na PC5. PWM ?
Stale tam mas iba 10bit ADC. Najvacsiu citlivost dosiahnes pri najmensom Aref Podla schemy (tipujem) tam mas Aref=external 5V(Vcc)
takze citlivost by mohla byt 5mV(+-). Moja skusenost je taka ze pri takejto citlivosti my vzdy preskakovala hodnota na LCD. Zalezi na stabilite zdroja.
Ako riadis vystupne napatie ? Myslim potom ako precitas hodnotu s JP11 na PC5. PWM ?
0
Re: Meřák k regulovatelnému zdroji
Kód: Vybrať všetko
unsigned long int prumer( int*pole, int delka )
{
unsigned long int sum = 0, i = 0;
for( i = 0; i < delka; i++ )
{
sum += pole[i];
}
return sum/delka;
}
int main()
{
unsigned int hodnoty[64] = {0,};
while(1)
{
if ( i == 64 )
{
napeti = prumer( hodnoty, 64 );
výpis na display
i=0;
}
hodnoty[i] = ( read_ADC(0) ) * 34.22;
i++;
}
}
PC5, JP11 slouží pouze jako vstup, v regulovatelným zdroji bude 10k potenciometr ovládání proudu nahrazen dvojitým poťákem (společná hřídel), jedna dráha potenciometru bude klasicky řídit zdroj a druhá dráha bude snímána PC5 a při odpojeném výstupu chci připližně zobrazovat nastavený proud. (nooo, nejsem dobej ve vysvětlování )
0
- jirka.jirka.
- Ultimate člen
- Príspevky: 1538
- Dátum registrácie: 17 Okt 2008, 00:00
- Bydlisko: Uherské Hradiště
- Kontaktovať používateľa:
Re: Meřák k regulovatelnému zdroji
Ten výpočet je nějaký divný. Jelikož tam máš nějaké integery co pracují s floaty (co jsem tak zahlídl). Floatům bych se u AVR-ka vyhnul. A jde to.
Jinak pro přesně měření bych použil externí referenci. Např. 4,096V. Potom i přepočet napětí bude lépe vycházet.
EDIT: hodil jsem si to notepadu a co dělá toto?
Když hodnoty jsou typu:
Jinak pro přesně měření bych použil externí referenci. Např. 4,096V. Potom i přepočet napětí bude lépe vycházet.
EDIT: hodil jsem si to notepadu a co dělá toto?
Kód: Vybrať všetko
hodnoty[i] = ( read_ADC(0) ) * 34.22;
Kód: Vybrať všetko
unsigned int hodnoty[64] = {0,};
0
Re: Meřák k regulovatelnému zdroji
Jirka : ukládá do pole hodnoty z ADC ponásobené maximálním napětím před děličem s menší kalibrační úpravou.
hodnoty = ( read_ADC(0) ) * 34.22; // třeba ADC(0) = 512 ,,,,, 512 * 34,22 = 17 520 mV
hodnoty = ( read_ADC(0) ) * 34.22; // třeba ADC(0) = 512 ,,,,, 512 * 34,22 = 17 520 mV
0
Re: Meřák k regulovatelnému zdroji
Ja osobne by som ukladal do pola hodnoty z ADC (bez nasobenia, delenia hocijakou konstantou) a az pri zobrazeni vysledku by som to prepocital. Ale ak potrebujes tu hodnotu este na nieco ine ............
Presne ako jirka.jirka napisal - treba sa vyhybat floatom !! A ide to !!!
Mne ako perfekna inspiracia posluzil tento clanok
https://svetelektro.com/clanky/laborato ... t-813.html
Presne ako jirka.jirka napisal - treba sa vyhybat floatom !! A ide to !!!
Mne ako perfekna inspiracia posluzil tento clanok
https://svetelektro.com/clanky/laborato ... t-813.html
0
Re: Meřák k regulovatelnému zdroji
Tak jako jo, s programem si můžu hrát kdykoliv, mě šlo spíš o HW, abych nemusel dělat 5 verzí DPS, protože tomu nerozumim a nevidim v tom ty detaily. Jako student mám celkem omezené finance, tak by potom nefunkční HW celkem mrzel.
0
Re: Meřák k regulovatelnému zdroji
pre meranie max. napatia 35V je rozlisenie zhruba 35V/1024 = 34,18mV/bit
pre meranie max prudu 3A je rozlisenie zhruba 3A/1024 = 2,93mA/bit
ak chces presnu referenciu jedine externu, napr REF3033
hodnoty priemeruj ako surove cisla z adc prevodnika, ziadne floaty ti tam netreba, kalibracnou konstantou si to vynasob az po spriemerovani
edit: moj meracik k lab zdroju je postaveny na MSP430Fxxxx s 16bit sigma delta adc (pouzivam iba 15bit), kukni video
https://www.youtube.com/watch?v=RkWhUsmGoHk
pre meranie max prudu 3A je rozlisenie zhruba 3A/1024 = 2,93mA/bit
ak chces presnu referenciu jedine externu, napr REF3033
hodnoty priemeruj ako surove cisla z adc prevodnika, ziadne floaty ti tam netreba, kalibracnou konstantou si to vynasob az po spriemerovani
edit: moj meracik k lab zdroju je postaveny na MSP430Fxxxx s 16bit sigma delta adc (pouzivam iba 15bit), kukni video
https://www.youtube.com/watch?v=RkWhUsmGoHk
0
Naposledy upravil/-a Kado v 04 Feb 2018, 16:38, upravené celkom 2 krát.
Návrh zapojení s jednočipovými mikropočítačmi, tvorba programového vybavenia pre mikropočítače
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
Re: Meřák k regulovatelnému zdroji
Ja som cerpal inspiraciu (hlavne HW) pre moj zdroj (este stale nedokonceny) z tejto stranky
https://www.pocketmagic.net/digital-bench-power-supply/
miesto tlacidiel tam mam rotacny enkoder ................
https://www.pocketmagic.net/digital-bench-power-supply/
miesto tlacidiel tam mam rotacny enkoder ................
0
- boraicho
- Ultimate člen
- Príspevky: 12407
- Dátum registrácie: 03 Feb 2007, 00:00
- Bydlisko: Prešov
- Vek: 35
- Kontaktovať používateľa:
Re: Meřák k regulovatelnému zdroji
Fakt su vnutorne referencie mcu nrepouzitelne? Lebo ja ich bezne pouzivam
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS
3D REBEL II + PLA + PETG
CNC 1810 na DPS
Re: Meřák k regulovatelnému zdroji
ale su pouzitelne, treba citat datashit ku konkretnemu mcu, tam je vsetko
pri tom rozliseni co bude mat pri merani max napatia 35V by som externu ref zavrhol
pri tom rozliseni co bude mat pri merani max napatia 35V by som externu ref zavrhol
0
Návrh zapojení s jednočipovými mikropočítačmi, tvorba programového vybavenia pre mikropočítače
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
http://www.jk-elektronika.info/index.html
predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154
Re: Meřák k regulovatelnému zdroji
celkom presna metoda je pomocou bandgap zmerat napajacie napatie a to potom pouzit pri vypocte ako referenciu.
Bandgap je celkom stabilna pri roznych napajacich napatiach a teplotach
Toto je pre atmega8
Bandgap je celkom stabilna pri roznych napajacich napatiach a teplotach
Toto je pre atmega8
0
Re: Meřák k regulovatelnému zdroji
Kado: pěkné to máš, ty led dispalye se mi líbí, když jsem na to koukal, tak přehodnotím svůj nárok na rozlišení, proud chci mít s rozlišeím 1mA
Dan21: Jo, to by bylo pěkný, mě to stačí když to bude fungovat jako "vybavenější měřák"
zítra mrknu na tend bandgap
můžu se pokusit navrhnout desku tak, abych si potom hohl vybrat mezi externí uref a interním. Nebo bych si tím jen zbytečně zkomplikoval život?
Dan21: Jo, to by bylo pěkný, mě to stačí když to bude fungovat jako "vybavenější měřák"
zítra mrknu na tend bandgap
můžu se pokusit navrhnout desku tak, abych si potom hohl vybrat mezi externí uref a interním. Nebo bych si tím jen zbytečně zkomplikoval život?
0
- boraicho
- Ultimate člen
- Príspevky: 12407
- Dátum registrácie: 03 Feb 2007, 00:00
- Bydlisko: Prešov
- Vek: 35
- Kontaktovať používateľa:
Re: Meřák k regulovatelnému zdroji
ked sa tu riešilo presnosť merania. čo myslite čo by bolo presnejšie ktorý zápis?
v prvom sa spočitaju horne bity a dolne bity, potom sa osobitne spriemeruju a až tak sa spoja do jedneho čisla. v druhom sa hned spajaju do jedneho čisla a nakoniec spriemeruje. Alebo su v podstate obidva zapisi rovnake?
v prvom sa spočitaju horne bity a dolne bity, potom sa osobitne spriemeruju a až tak sa spoja do jedneho čisla. v druhom sa hned spajaju do jedneho čisla a nakoniec spriemeruje. Alebo su v podstate obidva zapisi rovnake?
Kód: Vybrať všetko
int ADpot()
{
ADCON0bits.CHS = 0b00011;
hodnota=0;
hodnota2=0;
vysledok=0;
for (goad=0;goad<10;goad++)
{
ADCON0bits.GO = 1;
while(ADCON0bits.GO) continue;
hodnota+=ADRESH;
hodnota2+=ADRESL;
}
hodnota/=10;
hodnota2/=10;
vysledok=hodnota;
vysledok<<=8;
vysledok+=hodnota2;
return vysledok;
}
Kód: Vybrať všetko
int ADpot()
{
ADCON0bits.CHS = 0b00011;
hodnota=0;
hodnota2=0;
for (goad=0;goad<10;goad++)
{
hodnota=0;
ADCON0bits.GO = 1;
while(ADCON0bits.GO) continue;
hodnota=ADRESH;
hodnota<<=8;
hodnota+=ADRESL;
hodnota2+=hodnota;
}
hodnota2/=10;
return hodnota2;
}
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS
3D REBEL II + PLA + PETG
CNC 1810 na DPS
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: Meřák k regulovatelnému zdroji
Tu je lepšie nemyslieť, ale vedieť. Prvý spôsob je nesprávny. Stačí si urobiť jednoduchý pokus. Dajme tomu že meraná hodnota je 15, ale raz z tých desať meraní príde hodnota 16. V prvom postupe ti vyjde priemer 13. Lebo dolná cifra bude (15*9 +0)/10 teda 13. Horná cifra bude 0 lebo (9*0+1)/10 je 0.
V druhom prípade to vyjde správne (15*9 +16)/10 = 15.1 teda 15.
Ešte pripomienka k zvolenému počtu vzorkovaní. Desať nie je moc šťastný počet. Samozrejme tebe je asi jedno ako dlho to trvá. Ale ak by si chcel vzorkovať čo najrýchlešie tak to delenie desiatimi trvá dosť času. Preto sa počet vzorkovaní volí z radu 2^N (2,4,8,16,32,64,..) A delenie sa potom realizuje posunmi. O čom ani nemusíš vedieť lebo to za teba optimalizuje prekladač.
No a na záver ešte spomeniem možnosť použiť kĺzavý priemer vďaka ktorému je možné získať pri každom meraní spriemerovanú hodnotu. Platí sa za to ale potrebou N prvkov dlhého poľa na zapamätanie posledných N vzoriek.
V druhom prípade to vyjde správne (15*9 +16)/10 = 15.1 teda 15.
Ešte pripomienka k zvolenému počtu vzorkovaní. Desať nie je moc šťastný počet. Samozrejme tebe je asi jedno ako dlho to trvá. Ale ak by si chcel vzorkovať čo najrýchlešie tak to delenie desiatimi trvá dosť času. Preto sa počet vzorkovaní volí z radu 2^N (2,4,8,16,32,64,..) A delenie sa potom realizuje posunmi. O čom ani nemusíš vedieť lebo to za teba optimalizuje prekladač.
No a na záver ešte spomeniem možnosť použiť kĺzavý priemer vďaka ktorému je možné získať pri každom meraní spriemerovanú hodnotu. Platí sa za to ale potrebou N prvkov dlhého poľa na zapamätanie posledných N vzoriek.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 27 Odpovedí
- 2668 Zobrazení
-
Posledný príspevok od používateľa ray_001