Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   669 / 669
(#) yohnsee hozzászólása Csü, 21:08 /
 
Sziasztok!

Egy kis elméleti segítséget kérnék. AVR-el szeretném mérni egy 230VAC motor áramfelvételét. Arra jutottam, hogy erre két lehetőségem van, az egyik a HALL érzékelővel való mérés, a másik az áramváltó alkalmazása. A motor maximum 4A-t vesz fel. A gondom az, hogy kerestem, de konkrét példát nem találtam a megvalósításra. Program oldalról szerintem menne a dolog, csak a hardveres részt nem hiszem, hogy egyedül ki tudnám találni. Tudnátok nekem tanácsot, iránymutatást adni?
(#) csatti2 válasza yohnsee hozzászólására (») Csü, 21:22 /
 
Mind a két szenzortípusról (várhatóan) szinuszos jelet fogsz kapni. Ha beéred a nem tökéletes megoldással (feltételezzük, hogy a mért áram szép tiszta szinuszos), akkor egy egyszerű amplitúdócsúcs meghatározó áramkörrel (ellenállás, amin a generált áram átfolyik [áramváltó esetén kell, hogy fesz. jelünk legyen, hall szenzornál gyakran már fesz. jel a kimenet] műveleti erősítő, egyenirányító dióda, kondenzátor kombó, ahol a visszacsatolt jelet a kondi-ról vesszük). Ha szükséges erősíthetjük is a jelet a műveleti erősítővel a pontosabb mérés érdekében. Egy másik műv erősítővel leválaszthatjuk a kondi jelét és ezt ráköthetjük az ADC bemenetére. Egy mosfet-el kisüthetjük a kondit a mérés végén, hogy friss csúcsot mérhessünk. Ezután az amplitudó értékéből a választott ellenállás ismeretében (illetve a műv erősítő szorzatának ismeretében, ha szükséges) meghatározható a maximális áram, ebből pedig viszonylag jó közelítéssel az rms.
A hozzászólás módosítva: Csü, 21:22
(#) csatti2 hozzászólása Csü, 21:54 /
 
Itt egy vázlat, hogy is nézne ki. Az áramkör nem teljes természetesen. A betápot stb. neked kell kitalálnod. Ha nagy a kondi, akkor a mosfet-el sorba kell még kötni egy ellenállást (a mosfet legyen föld "közelben"), hogy ne legyen túl nagy a kisütés árama. Ha a uC nem tud kiadni 5V-ot (vagy pontosabban az N-MOSFET max. Vgs(on)-t [katalógusadat, 4V-os sokféle létezik, smd-s kivitelben lehet kapni 1-2V-osat is]), akkor egy tranzisztoron keresztül kell vezérelni a mosfet-et.
A hozzászólás módosítva: Csü, 22:00
(#) killbill válasza csatti2 hozzászólására (») Pé, 10:12 /
 
Azon gondolkozom, hogy ha 20 eve egy 2MHz-es 68HC11-gyel 4 darab motor aramat szimultan tudtam merni egyeb sw feladatok mellett csucsegyeniranyito nelkul, akkor egy mai 10-20 MHz-es mikrokontrollernek sem okozhat ez gondot egyetlen motor eseten. Szoval az aramvalto jelet 1kHz-cel mintavetelezve a sw siman meg tudja merni. Akar csak csucsot keres benne, akar maskepp. Persze egy RC szures kell, hogy 500Hz feletti komponensek ne legyenek az A/D bemeneten. Ez a te kapcsolasodba is kellhet, mer ha van egy tuske, az ugyanugy feltolti a csucsegyeniranyitod kondijat.
(#) Kovidivi hozzászólása Pé, 10:54 /
 
Sziasztok!
Atmega128-at szeretnék 5V-ról és Lithium Ion celláról hajtani, a cella feszültség stabilizálás nélkül jutna el az AVR-hez, ami 8MHz-en ketyegne. DS1307-től kapom a pontos időt, viszont az RTC-vel nem lehet kömmunikálni ilyen alacsony feszültségről. Hogyan lehetne megoldani a legegyszerűbben, hogy legalább 1x ki tudjam olvasni a pontos időt, amikor csak akkumulátorról (Pl. 3.7V-ról) indul az óra? Ha utána nem is lesz időszinkron, nem gond, mert az akku élettartama alatt tudom az időt tovább követni. Vagy Ti másik IC-t használnátok?
A másik megoldás az lehetne, ha fognék egy ilyet: Bővebben: Link, és akkor lenne 5V-om is mindig. Schottky diódával közösíteném a két feszültséget, a DC-DC konverter kimeneti feszültségét 4.5V-ra állítanám be, a töltést ezzel oldanám meg, van engedélyező lába is: Bővebben: Link.
Röviden a Lithium Ion cella feszültsége nem fér össze a DS1307-tel, erre keresek megoldást.
Köszönöm.
A hozzászólás módosítva: Pé, 10:55
(#) Droot válasza yohnsee hozzászólására (») Pé, 11:01 /
 
Az ACS714 vagy az ACS713-al lehet AC áramot mérni és analóg egyenfeszültséget ad ki, tehát nem szinuszosat. 30A-ig mér, jó kis IC, de arra kell figyelni, hogy 0A-nál kb. 500mV van a kimeneten, eez képest néhány mV-ot emelkedik A-enként.
(#) csatti2 válasza killbill hozzászólására (») Pé, 11:08 /
 
Az RC szűrés jogos, bár akkor már lehet alul-áteresztő LC szűrő is, az sokkal hatékonyabb.

A többi rész viszont filozófia/cél kérdése. A jel kondicionáláshoz, leválasztásához, erősítéséhez úgyis szükség van műveleti erősítőre. Azon a maradék pár alkatrészen meg már nem múlik. Ebben az esetben pedig sokkal egyszerűbb a szoftver. Ha ez nem cél, akkor persze jó a tisztán szoftveres megoldás is ahogy írtad (mondjuk akkor meg eltolnám egy ofszet feszültséggel a jelet, hogy a teljes tartományban mérni lehessen, akár valódi RMS is mérhető lenne nagy mintavételezésnél).
(#) csatti2 válasza Droot hozzászólására (») Pé, 11:15 /
 
Biztos? Én úgy tudtam AC-nál annak is szinuszos a kimenete.
(#) killbill válasza csatti2 hozzászólására (») Pé, 11:33 /
 
Teljesen igazad van, ez valoban filozofia es cel kerdese. Ha valamibol sokat kell gyartani, akkor amit meg lehet programbol oldani, azt nem szabad alkatresszel. Ha egy darab kell, akkor valoban erdemes par alkatresszel megsporolni tobb orai programozoi munkat. Az eltolas adja magat, az aramvaltok egyik kimenete a feltapon volt nekem is annakidejen. Hozzateszem, az aramvalto utan nem volt OPA, csak egy RC, meg a ket vedodioda.

A szuresen gondolkoztam, es lehet, hogy nem is annyira kenyes dolog, mert egy aramjelen sokkal kevesbe vannak zavarok. Kulonosen egy induktiv terhelesnel, ahol az aram nem tud csak ugy hirtelen valtozni. (Bár egy kefés motornál csúf dolgok lehetnek.) Az aramvalto utani resz meg kisimpedancias, az is kevesbe szed ossze zavarjeleket.
A hozzászólás módosítva: Pé, 11:42
(#) tkovacs válasza Kovidivi hozzászólására (») Pé, 11:36 /
 
Helló!
Használd a képen látható Dickson doubler kapcsolást a feszültség növelésére. Az órajelet az AVR egyik lábán kiadod, amit le is kapcsolhatsz ha már nem akarod tovább olvasgatni az RTC-t. Ez a megoldás bőven fedezi a DS1307 áramszükségletét.
(#) Droot válasza csatti2 hozzászólására (») Pé, 11:54 /
 
Az adatlap konkrétan nem írja, de a 6. oldalon az I/Uout diagramon DC jelet ábrázolnak.
(#) csatti2 válasza Droot hozzászólására (») Pé, 12:24 / 1
 
Az semmi ilyesmit nem állít. Ne felejtsd el, hogy AC-nál a pillanatnyi áram is szinuszosan változik, a szenzor jele ezt követi. Tehát a kettő egymáshoz viszonyított grafikonon egy egyenes fog megjelenni ideális esetben. Ez viszont nem jelenti azt, hogy DC jel jön a szenzorból (épp ellenkezőleg). Ráadásul a megadott mintapéldáknak sincs sok értelme, ha nem szinuszos... (Az ACS714-hez több példát adtak meg).
(#) Kovidivi válasza tkovacs hozzászólására (») Pé, 16:09 /
 
Köszi! Ezt a megoldást is felírom, ha marad szabad láb. Vagy használok egy már meglevő lábat, amit egyébként is billegtetek. Jó ötlet, köszi!
A hozzászólás módosítva: Pé, 16:10
(#) yohnsee válasza csatti2 hozzászólására (») Pé, 20:20 /
 
Köszönöm szépen az iránymutatást neked, Droot- nak és killbill kollégának is.
Nem 1db-ot szeretnék készíteni belőle, de nem is futószalagon fognak menni ezek a dolgok.
Az AC motor 3 vezetékes (ez fix) és 2 relével lesz megoldva az irányváltása. Kapukat fog nyitni-zárni, az áramfigyelés pedig 2 célt szolgálna. Az egyik, hogy ha a motor nem vesz fel áramot, akkor az elektronika kikapcsol és a mikrovezérlő elmegy aludni. A másik, ha netán a motor megszorul, akkor ugye hirtelen megnő az áramfelvétele, és az elektronika megpróbálja az adott relét kikapcsolni. Nem tudom, hogy az áramváltó milyen gyorsan képes lekövetni a változást.
Illetve még sok dolog nem tiszta, de van már egy működő változat DC motorra, csak ott egy 0R1 ellenállással van mérve az áramfelvétel.
(#) csatti2 válasza yohnsee hozzászólására (») Pé, 22:17 /
 
A három vezetékesnél arra gondolsz, hogy három fázisú? Vagy a földvezetêk a harmadik és egyfázisú?

Három fázis esetén mindhárom áramát illik mérni, egy fázis hiánya esetén ugyanis továbbra is működhet a motor, de nagyon melegedhet plusz egyéb gondok is adódhatnak. Motorvédőt gondolom nem fogsz használni?

DC mérésnél általában egy ismert sönt ellenálláson eső feszültségből számítják az áramot. Az áramváltó tekercs nagy előnye, hogy megoldja a galvanikus leválasztást is, viszont érthető okokból nem működik DC esetén.

A relék segédérintkezőivel ne felejtsd el kizárni a két relé egyszerre történő meghúzását (feltéve persze, hogy olyan reléket használsz, amin vannak/lehet tenni rájuk).
Következő: »»   669 / 669
Bejelentkezés

Belépés

Hirdetés
Frissek
2015. Máj, 23. Szo
0:08:39
Jelenleg 255 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu