Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Labortápokban pl. nagyobb felbontású (és egyúttal drágább), 16...18 bites A/D konverter + MCU (mikrovezérlő) megfelelő programmal. Némelyik gyártmány esetleg méréshatárt is vált, automatikusan, az áramerősségtől függően.
18 biten 262144 "lépcsőfok" van, azaz ilyen A/D konverterrel elméletileg pl. 26A-ig 0,1mA, azaz 100µA-es felbontással lehetne mérni. A hozzászólás módosítva: Jún 15, 2022
Próbálkozhatsz ATmega klónnal is, az LGT8F328P-vel. Abban 12 bites ADC van. De a kívánt felbontás azzal sem lesz meg, csak közelítőleg.
Ha nem hiperhajtóművet fejlesztesz, akkor elég lehet mondjuk 1A-ig mérni, utána méréshatár váltás, és pontatlanabbul ugyan, de látod hogy hol jársz. Dmm-ek ezt csinálják, nekünk jó szokott lenni. Tényleg kell neked ekkora átfogás?
Igaz nem kell, bőven elég 1 A-ig a nagy pontosság
méréshatárt, hogy tudok programon belül váltani?
Először is magát az ellenállásosztó értékeit kell változtatni és ezt közölni a CPU -val mondjuk egy digitális bemeneten. Vagy egy nyomógombbal a CPU -t utasítod arra, hogy egy relén keresztül változtassa meg az osztó értékét. A lényeg, hogy mindenképpen fizikai beavatkozás szükséges...
A másik automata út, hogy a felső tartományban kijelölsz egy értéket, és ha azt túllépi, akkor magától váltja az osztó értékét egy relén keresztül. Ekkor felhasználói beavatkozás nem szükséges... Gondolom tranzisztorral vagy fettel is meg lehet oldani az átkapcsolást, de egyszer mindenképp be kell kalibrálni. A hozzászólás módosítva: Jún 16, 2022
Esetleg ugy, hogy a másik méröbemenetet a másik analog bemenetre viszed. Azaz az egyi mér mondjuk. Az egyik mér 1 A-ig 1 mA felbontàssal, a másik meg 1-5 A tartományban 5 mA felbontással. Az elsö bemenetet ne feledd levédeni egy 5 V -s zenerrel.
Szerintem teljesen felesleges méréshatár váltással növelni a felbontást, mert nem fog menni, csak elméletileg. Gyakorlatilag viszont akkora szórása van az alkatrészeknek, hogy nem lesz pontos, valamint, ha sikerül is hitelesítened, már egy kis hőmérséklet változásra is reagálni fog. És a másik, hogy hiába próbálod növelni a felbontást, ha maga az ADC pontossága nem teszi lehetővé, hogy pontosabb legyen. A felbontás növelésével az ADC hibáját is növeled.
Tudomásul kell venni, hogy az Arduino nem alkalmas erre a feladatra.
Ne keverd a dolgokat. A mérökör ( sönt ) stabilitásának semmi köze az ADC minöségéhez. Az a 12 bites ADC-re éppenugy vonatkozik, mint az Arduinora.
A kolléga gondja az, hogy nullátol 5000-ig szeretne egyesével (1mA) értékeket mérni. Erre az Arduino ADC-je egy fokozatban nem alkalmas. Itt lehetne trükközni, hogy 1000-ig (1A) egyesével tudja mérni az áramot ( feszültséget a söntön), ezen felül egy másik söntön ( leágazás az elsöböl) kisebb felbontásban 5 mA-s lépésekben. Ez megoldhato, ha a sönt stabil akkor müködik is. A baj az ( minden müszernél), hogy a söntön 1 mA-tol 5A-ig folyo áram meleget is termel, söt, ha ezt a müszerrel folyamatosan akarjuk mérni ez komoly termikus stabilitási problémát okoz. Ezért a kézi müszerek többségében az ilyen mérések idötartama korlátozva van (10-30 másodpercig). Ezt, ha az a feladat, hogy az Arduino folyamatosan mérje az áramot, igen nehéz lenne megoldani. A söntöt termikusan stabilizálni kellene, vagy a mérést termikusan kompenzálni. ( ez minden ADC-re vonatkozik). A hozzászólás módosítva: Jún 17, 2022
Itt egy példa, hogyan müködhet.
A sönt amin méred az áramot legyen mondjuk 5 Ohmos egy leágazással 1 Ohmnál. A sönt felsö vége egy kb. 5 kOhmos ellenálláson menjen az A0 bemenetre (0-1 A tartomány), az 1 Ohmos leágazásrol egy másik 5 kOhmos ellenálláson át az A1 bemenetre. (1-5 A tartomány). A program automatikusan átvált, ha az A0-eléri az 1000-t ( ADC kimenet 5V-nak 1000 szint felel meg a kijelzön) az A1-re, ahol 1 Voltnak felel meg 1000 a kijelzön). Ne feledd az A0 bemenetét védeni pl egy 5 V-s zenerrel stb. Mert ott 5A esetén a söntön 25 V lesz, amit zenernek le kell vágnia 5 Voltra. Az már egy másik feladat, hogyan stabilizálod a söntöt, mert azon a fenti értékekkel 25W meleg termelödik (5A esetén). Ha kisebb ellenállásu söntöt választasz, akkor méröerösitö kell a Arduino bemeneteire, hogy elérd az ADC müködési tartományát (0-5V). A hozzászólás módosítva: Jún 17, 2022
Esetleg lehetne más típusú mikrovezérlőt (pl: valamilyen PIC) használni, aminél lehet állítani az ADC referencia feszültségét. Akkor kisebb sönt kell, így kisebb lenne a termelődő hő ...
Kisebb, mint mi? 25W? Vagy inkább 125W?
Az az elv, amit a kolléga feszegetett még elrettentő példának is sok, nem hogy a gyakorlatban megvalósítható... Így még kis áramokat is csak korlátozottan lehet mérni, 5(!)A nagyságrendű áramokra ez teljesen alkalmatlan így. Legalább egy kapcsoló(relé) kellene bele még, ami kiiktatja a 4ohmot a körből... De még így is csak halottnak a csók ez... Sokkal kisebb sönt ellenállás kell ide, és természetesen erősítő, ami illeszti a kisebb jelet az 5V-os tartományhoz. Esetleg DC szint eltolást is végez, igény esetén...
Másik lehetőség: Oversampling
Persze az ADC alap hibáit ugyanúgy kompenzálni szükséges...
Ezzel az a baj, hogy 10(főleg 8)bit esetén nem túl nehéz összehozni meglepően stabil ADC értékeket is. Ez persze erősen környezetfüggő... Általában véve ez a lehetőség elég jól tud működni, de pont akkor, ha jót csinálunk(az az kicsi a mérés saját zaja), nem működik jól. Kell neki egy kb 1lsb saját zaj mindig...., lehetőleg monoton eloszlásban!
A hozzászólás módosítva: Jún 17, 2022
Én csak az egyszerüség és az elv kedvéért választottam az 5 Ohmos söntöt. Az lehet, 0,5 vagy akár 0,05 Ohm is, de akkor kellenek méröerösitök (10 ill 100szoros erösitéssel).
A sönt lehet egy jo nagy darab fémlemez, ahol a hö könnyen elvezethetö ( ahogy azt sok panelmüszerben teszik, de azok alapérzékenysége 100 mV vagy még kisebb.). A lemez nagysága és a höleadási jellemzők egyensúlyban vannak. De ezek már másodlagos kérdések. Semmiképpen ilyen megoldásban nem használnák relét, mert azok kontaktus bizonytalansága jelentösen rontaná a mérést.
Ez így igaz, de az appnote erre az esetre is mutat példát.
Abban egyetértünk, hogy relét ne..., meg mást se nagyon... Alapban a nagy értékű sönt az elv hibája, tovább nem is érdemes ezzel így foglalkozni!
Valóban! Nem tekertem le odáig ) Úgy már használhatónak tűnik teljesen!
A nagyértékü sönt most miért zavar? Az csak mint elv/példa miatt lett felhozva.
Ahogy elöbb irtam természetesen a sönt lehet nagyságrendekkel kisebb, de az azon esö feszültséget, valamivel fel kell tornászni az Arduino bemeneti jellemzöihez, azok meg ( nemcsak az Arduino ADC-nél) adva vannak, azaz kb 0-5 V tartományba. A hozzászólás módosítva: Jún 17, 2022
Azért, mert igen nagy teljesítmény disszipálódik rajta! Ez nagy hatásfok romlást, méretet, hűtést, árat, és nehezen kezelhető paramétereket is jelenthet...
Minden egyéb nyűgjével együtt a kis sönt plusz erősítő sokkal jobb megoldás ehhez képest!
Láttál már söntött pl egy villanymozdonyban.
Akkora mint egy kazánrost, igaz több ezer Amper folyik rajta, és egy kicsit melegszik is, pedig az ellenása a miliOhm tartományban van. Én is természetesen az erösitöket választanám, de az bonyolitotta volna a mérési elvet meg a hozzászolást. Az árammérésnél alapbol kerülni kell minden mozgo kontaktust.
Hát ez az, a hangsúly a milliohmon van!
A te elvi elrendezésednél a relé nem vesz részt a mérésben, csak csökkenti a disszipációt! A hozzászólás módosítva: Jún 17, 2022
De ezt pontosan leirtam az eredeti hozzászolásbsn is. Érdekes, hogy a végig sem olvassátok a hszt, de egyböl van ok belekötni a leirtakba.
Ha a mozdonyban millioohmos a sönt ( több ezer amperhez), akkor az adott feladatban nyugodtan lehet a sönt az ohmos tartományban. A hozzászólás módosítva: Jún 17, 2022
Vannak Határok! mikroohmos söntöt elég problémás használni! És egy mozdonynál ezt semmi sem indokolja már...
Abban a formában, ahogy leírtad az elvet, igencsak kezdők szintje volt... Gyakorlati megvalósításra alkalmatlan.
Ugyan miért lenne alkalmatlan. Fejtsd ki!
Nem kevertem semmit, te érted félre vagy nem jól értelmezed, ami attól is lehet, hogy nem írtam le elég részletesen. Már eleve a méréshatárváltás is gond, nem lesz pontos ilyen felbontásnál. Már eleve ott bejön hiba. A másik hibát pedig maga az ADC produkálja. Nem preciziós ADC van benne és nem is lineáris. Akkora tűrése van, hogy képtelenség 2 egyforma mérést produkálni vele. És ez jellemző az összes kontrollerebe integrált ADC-re. Ez a neten is egy vaskos téma, talán az egyik legdurvább az ESP32 ADC-je (tudom, most ATMEL chipről van szó).
Szóval még egyszer, az Arduino nem alkalmas ilyen feladatra.
Ennyire azért nem rossz a helyzet. Erősíteni kell a sönt jelét, túlmintavételezni kell az A/D-vel, szűrni kell (hardveresen és szoftveresen is). Lehet, hogy így sem vetekszik egy normális multiméterrel, de azért használható lenne. Legfeljebb az utolsó számjegy nem lesz túl pontos , bár ez sok multiméterről is elmondható.
A tulmintavezérlés alapja, hogy a mérendö jel nem stabil.
Nem tudom milyen itt az igény. Ha csak sima egyenáramot mér, akkor nagyon felesleges, mert nem igen lesz mit átlagolni. Maga az oversampling leirás is azzal kezdödik, hogy a mintavételezésnek milyen frekvencián kell történnie. Nyilván, hogy a mérés pontosságát a beépitett ADC adja, de aki ettöl jobbat akar az ne Arduinoban gondolkozzon. A hozzászólás módosítva: Jún 17, 2022
Az arduinoban levő ADC, és esetleg az előerősítő saját zaja miatt eleve billegnek az értékek, tehát van mit átlagolni. Nyilván sokkal jobb lehet egy külső A/D, de 8...10 esetleg 12bit felbontásra azért megteszi.
Régebben kellett mérnem MCU-val 48V-os akkupack feszültségét (gyak 54V körül) itt az 0...1023 tartomány 102.3V-ra lett leképezve (helitrimmerrel) tehát működött jól a tizedvoltos mérés. Ma már persze nem így csinálnám. |
Bejelentkezés
Hirdetés |