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
Témakörök:
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 / 839
(#) mpetrooo válasza csatti2 hozzászólására (») Máj 31, 2015 /
 
Most már kezdem érteni a dolgokat, akkor veszek egy jobb órakvarcot, aztán azzal megpróbálom a dolgokat. Köszönöm szépen mindenki segítségét
(#) Gj hozzászólása Máj 31, 2015 /
 
Üdv!
AVRDragon-nal Atmel Studio 6.2 sp2 alól ISP-n szeretnék programozni ATMega8L-t. Eddig működött, de mostanában elkezdett szórakozni:
A "Device Programming" ablakban felismeri a chipet, beolvassa az ID-t, tudom állítani a biztosítékbiteket, stb.. De amikor rányomok a "Start without Debugging" gombra, akkor buildelés után azt írja, hogy nem tud programozni, mert vagy valami 0x02-es ISP hibára hivatkozik, vagy arra, hogy az ID nem egyezik meg a Mega8 ID-jével.

Mi lehet a baja?
(#) zombee válasza Gj hozzászólására (») Jún 1, 2015 /
 
Nem kap tápot az IC...
(#) Gj válasza zombee hozzászólására (») Jún 1, 2015 /
 
De már hogy ne kapna, le is mértem.
Mondom, hogy a "Device Programming" ablakban gond nélkül kommunikál vele, csak nem lehet égetni.
(#) zombee válasza Gj hozzászólására (») Jún 1, 2015 /
 
Amit leírtál, az egy tipikus tápfeszhiányos hiba: lehet kommunikálni vele, mert az áramkörben lévő parazita kapacitásokon van annyi szussz hogy meg lehessen szólítani az IC-t, kiolvasni a FUSE/LOCK biteket, signature-t, stb. De arra már nem, hogy egy hosszabb adatátvitelt(pl. égetés) hiba nélkül átvészeljen.
Ha jó a tápod, a következő az ISP órajel. Itt is hasonló a felállás, ha túl nagy(>F_CPU/4) akkor 1-1 rövid átvitelt még elvisel, de egy égetésnél már hibázhat. Állítsd az ISP frekit 100kHz-re vagy az alá és úgy próbáld.
(#) killbill válasza zombee hozzászólására (») Jún 1, 2015 / 1
 
Idézet:
„lehet kommunikálni vele, mert az áramkörben lévő parazita kapacitásokon van annyi szussz hogy meg lehessen szólítani az IC-t, kiolvasni a FUSE/LOCK biteket, signature-t,”
Ezt ugye magad sem gondolod komolyan?! Parazita kapacitasok azok pikofarad nagysagrenduek, azokban egesz biztosan nincs annyi energia, hogy hosszu milliszekundumokig eletben tartson egy AVR-t. De meg a 100nF hidegitokben sincs annyi. Inkabb az I/O labak vedodiodain keresztul kaphat tapfeszt a uC a programozo felol.
(#) csabeszq válasza killbill hozzászólására (») Jún 1, 2015 /
 
Nekem avrisp2 programozóm van és volt már áramkör, amit pusztán azzal megjavítottam, hogy ráraktam a programozót. Később olvastam, hogy 22 µF-os kapacitás van a programozó VCC és GND lábai között.
(#) killbill válasza csabeszq hozzászólására (») Jún 1, 2015 / 1
 
Ok, de ennek mi koze a parazita kapacitasokhoz? Parazita kapacitas az, ami a vezetok feluletei es a kulonbozo szigetelok (levego, PCB, stb) miatt kialakulo nemkivanatos kapacitas. Ezek pF nagysagrenduek, es semmit nem segitenek a tapellatasban. A 22 µF plusz kapacitas a tapon az egesz mas teszta. Egy rosszul meretezett tapon, egy gerjedo stabilizatoron segithet, az nem vitas.
(#) Gj válasza killbill hozzászólására (») Jún 1, 2015 /
 
Már nem is igazán tudom, kinek válaszoljak, köszönöm a segítséget. Annyit tudok mondani, hogy az IC lábain ott van az 5V és a GND, illetve az ISP-t már 2KHz-cel is próbáltam, de úgy sem működik. Továbbá egy másik ATMega8-cal még a FUSE bit kiolvasás szintjén sem kommunikál, de van egy ATMega48PA-m, amivel tökéletesen működik.

Ezek ismeretében mi lehet még a hiba?
(#) Massawa válasza Gj hozzászólására (») Jún 1, 2015 /
 
Már nekem is volt szerencsém 2 ATMega328-hoz, ami szintén nem kommunikált - csere!
(#) killbill válasza Gj hozzászólására (») Jún 1, 2015 /
 
Sosem hasznaltam sem Dragont, sem vindozt, nem tudom, hogy miert nem mukodik neked. Ha azt mondjak, hogy tap hiba, akkor esetleg erdemes egy szkoppal (tarolos) merni a tapot. Lehet, hogy oszcillal, lehet, hogy neha leesik, akarmi.
(#) morgo válasza Gj hozzászólására (») Jún 1, 2015 /
 
Szia! Próbáld meg külső órajellel!
(#) Gj válasza morgo hozzászólására (») Jún 1, 2015 /
 
Mármint oszcillátorról hajtani az MCU-t? Onnan megy.
(#) Gj hozzászólása Jún 1, 2015 /
 
Most már az ATMega48PA-val sem működik.
Nem lehet, hogy a Dragon romlott el? (kb. pár hónapos lehet)
Atmel Studio-t és hozzá tartozó egyebeket már sokszor újratelepítettem. (Egyébként ha számít, win8.1-et használok)
(#) TavIR-AVR válasza killbill hozzászólására (») Jún 2, 2015 /
 
De. A parazita kapacitásaid (tápszűrés stb), valamint a belső védődiódákon kinyer a MOSI/MISI/SCK/RESET vonalakból a kondikat töltve látszólagos tápfeszt. A chip olvasásakor kisebb áramok szükségesek, mint íráskor.
Tipikusan ez a hibajelenség.
(#) TavIR-AVR válasza Gj hozzászólására (») Jún 2, 2015 /
 
Vcc, VccA, GND, GNDA bekötve? Aref/GND illetve a Vcc/GND közt ott a 100nF szűrőkondi?
Nincs eszköz a programozólábakon? Kapacitás sem?
Reset/GND közt max 100nF kondi lehet, és a felhúzóellenállás 4k7-nél ne legyen kisebb.
(#) Topi válasza TavIR-AVR hozzászólására (») Jún 2, 2015 / 2
 
TavIR-AVR: Ne keverjük a szezont a fazonnal. A parazita kapacitás nem ezt jelenti, sokadjára sem. A pontos definíciót nem ismétlem, Killbill teljesen jól megfogalmazta. A parazita kapacitás pF nagyságrendű, a benne tárolt energia csak arra elegendő, hogy nagyfrekvenciás szempontból problémát okozzon.

A parazita kapacitás nem az amire Ti használjátok. Nem különösebben lenne távközlés sem, ha az általad említett 100nF-os "tápszűrő parazita kapacitás" létezne. Hadd ne indokoljam meg hogy miért nem.
(#) zombee válasza Topi hozzászólására (») Jún 2, 2015 /
 
Szerintem kár összeveszni rajta.

A lényeg hogy a RESET lábon és annak védődiódáján keresztül a VCC-re is jut tápfesz ami a táp/hidegítő kondikat feltölti(programozótól is függ!). Amikor a programozó aktív akkor a RESET-et lehúzza, de a kondikban maradt szufla egy-egy rövid átvitelre fedezi az AVR tápfeszültség igényét, de egy FLASH olvasás/írás már túl sokáig tart. Persze a MOSI/SCK lábon is jöhet valamennyi, de ott már zavart okoz ha táplálni is kell az IC-t.

De hiba alapján valószínűnek tartom, hogy az illetőnek valami a programozóban szállhatott el.
(#) csabeszq válasza zombee hozzászólására (») Jún 2, 2015 /
 
> De hiba alapján valószínűnek tartom, hogy az illetőnek valami a programozóban szállhatott el.

Igen. Meglehetősen sokat kell küzdeni, hogy egy AVR chip szétszálljon. Megfordult már vagy 30 chip a kezemben, egyik sem ment szét idáig.
(#) Gj hozzászólása Jún 2, 2015 /
 
Felraktam egy Megy8-at tisztán egy próbapanelre, hogy csak a 100nF-es kondik (meg egy 220µF-os a GND és VCC között a panel "szélén"), egy 4k7-es felhúzó ellenállás a resetnél legyen rajta (plusz egy 7.3728MHz-s oszcillátor, mert nem volt itthon IC-m, ami ne lenne külső órajelre állítva).
De így sem volt hajlandó programozni, már a FUSE bitekig sem jutottam el.
Nem hinném, hogy a "kapcsolással" lenne gond, elég sok AVR-t már felprogramoztam már.
Egyéb tipp, vagy valószínű, hogy a Dragon a hibás?
(#) zombee válasza Gj hozzászólására (») Jún 2, 2015 /
 
Elvetemült kedvemben rá szoktam mérni a programozóvezetékekre frekimérővel, vagy LED-el is ha más nincs kéznél, de azt lehetőleg jó nagy (min. 20kOhm) előtét ellenállással!
(#) Gj válasza zombee hozzászólására (») Jún 2, 2015 /
 
Frekvenciát nem fogok tudni mérni, de mit kéne látnom mérésekből?
(#) zombee válasza Gj hozzászólására (») Jún 2, 2015 /
 
A MOSI/MISO/SCK lábakon vadul villognia kell a LED-nek, amikor a programozó próbálkozik.
A RESET-et sima voltmérővel is tudod mérni, programozás közben 0V, egyébként tápfesz körül van.
A hozzászólás módosítva: Jún 2, 2015
(#) Gj válasza zombee hozzászólására (») Jún 2, 2015 /
 
A MISO lábon nem villog, de máshol rendben van.
Ez akkor azt jelenti, hogy Dragon a ludas?
(#) killbill válasza Gj hozzászólására (») Jún 2, 2015 /
 
Valaszd le a MISO labat a Dragonrol es nezd meg, hogy az AVR oldalon villog-e a MISO. Ezzel azt tudod ellenorizni, hogy az AVR nem hajtja meg a MISO-t, vagy esetleg a Dragon zarlatos es ezert nem tudja az AVR mozgatni a labat.
(#) Gj hozzászólása Jún 2, 2015 /
 
Valami nem teljesen kerek itt.
A MISO láb leválasztva sem villog (végig 0V), viszont most megint rátettem a mega48PA-ra, azzal most meg működik...
(#) killbill válasza Gj hozzászólására (») Jún 2, 2015 /
 
Most van az a pont, amikor mar egy szkop jol jonne.
(#) Gj válasza killbill hozzászólására (») Jún 2, 2015 /
 
Az már jól jött volna párszor de értem, mire gondolsz.
Közben előszedtem egy régi áramkört, amin Mega8 van. Arról lekérdezi a FUSE biteket, de nem tudom őket módosítani, nem is programozza.

Nem hiszem hogy hipp-hopp három Mega8 elromlik, de a 48PA-k gond nélkül működnek.
Szkóp nélkül lehet még vele kezdeni valamit, vagy vigyem vissza gariba?
(#) csabeszq hozzászólása Jún 2, 2015 /
 
AVR-rel optocsatolón át P-csatornás MOSFET-tel kapcsolok elektromágnest.

Az induktív védelem P-csatorna esetén ugyanaz, mint N esetén (lásd kép)?

GND - elektromágnes / fordított dióda - Tranzisztor

Azért érdekel, hogy kikapcsolásnál egyirányba rúgnak-e. Sosem tudom, hogy ha lekapcsolom a tekercs áramát, merrefelé kezd nőni a feszültsége.

inductive.png
    
(#) zombee válasza csabeszq hozzászólására (») Jún 2, 2015 / 1
 
Képzeld el, hogy a tekercsben folyik az áram, pozitívtól negatív felé. Amikor el akarod venni tőle, a tekercs ugyanezt az áramot fenn akarja tartani. Tehát nem az a kérdés hogy merre nő a feszültsége, hanem az hogy milyen irányba folyhat az áram miután kikapcsolod. Ezért a kapcsolás jónak tűnik, mert az elektromágnesen "lefelé" folyó áram kikapcsolás után is ugyanarra folyik, és a diódán keresztül záródik a kör - azon felfelé fog menni.

Csak egy apróság: muszáj FET-et használni? Olyan nagy áram kell neki?
A hozzászólás módosítva: Jún 2, 2015
Következő: »»   669 / 839
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem