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   348 / 840
(#) Reggie válasza DJanosi hozzászólására (») Aug 10, 2011 /
 
Vannak itt jo kis cikkel Elektronikai alapismeretek cimmel. Szerintem eloszor ezekkel kezdd, addig meg tedd le a pakat.
(#) Reggie hozzászólása Aug 10, 2011 /
 
Valakinek nincs esetleg elfekvoben egy AT32UC3Lxxx?
(#) dinokal válasza DJanosi hozzászólására (») Aug 10, 2011 /
 
Először nézd meg az alkalmazott led adatlapját. Ha nincs neki, köss sorba vele egy 2 k-s potit, és úgy küld fel az 5 voltra. Az ellenállást csökkentve megfelelő fényerőnél megmérheted mennyi feszültség esik a leden, és mekkora előtét ellenállás kell neki! Ahány led annyi féle, más feszültség és áramerősség kell a zöld, piros egyéb színű ledeknek, 3 vagy 5 mm-es, kis vagy nagyobb áramú, stb. A "normál" ledek kb 4mA-tól KB 30mA-ig vesznek fel áramot, és kb 1,2V-tól 3+V-ig igénylik a rájuk eső feszültséget, fajtájuktól függően. Ha nem akarod hogy a led vagy a proci tönkremenjen (utóbbi sajnos hamarabb), mindenképp a led áram és feszültség igényéhez méretezett előtét ellenállást kell hogy használj.
(#) zombee válasza dinokal hozzászólására (») Aug 10, 2011 /
 
Én tudok jobbat: 5V-os üzemen minimum 100Ω-os ellenállást kell sorbakötni a LED-el, így már biztonságosan ráköthető egy AVR-re. Ha pedig biztosra akar menni akkor 330Ω-ot kell rákötni és akkor a terhelés minimális lesz. Igen, valóban különbözőek a LED-ek, de egy hétköznapi, mezei 5mm-es LED meghajtásához ennyit is elég tudni!
(#) trudnai válasza zombee hozzászólására (») Aug 10, 2011 /
 
Nem letezik 'Mezei 5mm-es LED', legalabbis adatlapot ilyenre nem talaltam

De komolyra forditva a szot, tenylag nagy a szoras, es nekem persze mindegy ki hogyan kiserletezi ki a dolgait es ehhez milyen modszereket valaszt, de egy icipic kis odafigyelessel es egy minimalis tanulassal es szamolgatassal nem kell talalgatni. Ha meg nincs meg ez a szamolgatasi kedv akkor igazan nem erdemes tervezgetni, hanem egy meglevo projectet megepiteni ahol mar mindent kiszamoltak szamunkra. De ez csak az en velemenyem persze.
(#) dinokal válasza zombee hozzászólására (») Aug 10, 2011 /
 
Nagy szórással nézve igazad van. Nem akarok vitatkozni, de ez akkor okés ha egyforma ledeket használsz. Vagy gyengébben vagy erősebben világít mindegyik. A probléma ott kezdődik ha nem egyformák a ledek. Ha csak színkülönbség van, már nem egyforma a rajtuk eső feszültség, az áramfelvétel. Az egyik gyengébben, a másik erősebben világít, másképp terhelik a meghajtó lábat. Egyébként:
Idézet:
„Igen, valóban különbözőek a LED-ek, de egy hétköznapi, mezei 5mm-es LED meghajtásához ennyit is elég tudni!”
. Sajnos nem elég. Ez bizony a tápra is kihat. Ha hálózati tápról megy a kütyü, akkor lehet hogy nem érdekes (ledek számától is függő) mennyire rángatja meg a tápot. Ha egy elemes/akkus tápod van, mindjárt érdekes lesz! A ledek egy AVR/PIC-es áramkör áramfelvételének a többszörösét is igénybe vehetik! Nem egy mcu-s kütyü megy 10-20 mA-ről, némelyik hónapokig(évekig) megy elemről! Amit írtál próbaáramkörökhöz kiváló! Sajnos végleges áramkörökhöz nem árt kissé "optimalizálni" őket.
(#) DJanosi válasza dinokal hozzászólására (») Aug 10, 2011 /
 
Tudok én ellenállást számolni ! Most lusta voltam de ezen ne akadjunk fel !
(#) dinokal válasza DJanosi hozzászólására (») Aug 10, 2011 /
 
Hát-tal nem kezdünk mondatot, de egy pillanatig sem akadtunk fel ezen. Ez, és a többi topic is a hozzám hasonló kezdők számára elsőrendű fontosságú! Ha megnézed a hozzáértők válaszait, sokat lehet tanulni, és ha véletlenül nem igazán jó válaszokat adnak, akkor hamar jön a helyesbítés. Nem kell egymást zsákutcába vinni! Az ellenállás számítása nagyon fontos.
Csak legalább tudd, minek az ellenállását számítod ki! Mivel a ledeknek elég sok fajtája létezik, nem mindegy hogy milyen ellenállást számolsz ki. Én pl. befürödtem azzal hogy egy 5mm-es vörös leddel számoltam, és egy 3mm-es vörös ledet építettem be. Három közül egy bírta is! A többi többszörösen elhalálozott. Aztán rájöttem a saját hülyeségemre, más értékű ellenállást tettem elé, és onnantól maga a kánaán! Egy led sem halálozott el, fényerőben nemigazán érzékeltem változást, áramfelvétel mondhatnám drasztikusan csökkent. Konklúzió: Ha nincs adatlapod, akkor a fentebb leírt próbálkozás jórészt kisegít a bajból(ledeknél).
(#) zbiro hozzászólása Aug 10, 2011 /
 
Sikerült magam kicsuknom egy atmega32-ből. Ha minden igaz (nem figyeltem eléggé ) l:0xc0 h:0x99 -et írtam a fuse bitekbe. Próbáltam egy 555-ös generált órajellel meghajtani, akkor szemre el is indult a benne levő program (egy ledet villogtat az egyik lábán), de a programozó (avrdupe Topi féle doper-en keresztül) nem ismeri fel. Próbáltam egy arduinoval hvp-n is helyrehozni, de ez sem segített.
Vissza lehetne még hozni valahogy az életbe, vagy már csak akkor tudom hasznosítani, ha belevésem jó nagy betűkkel, hogy ész nélkül nem babráljuk a fuse biteket, és kiakasztom a monitorra?
(#) DJanosi válasza dinokal hozzászólására (») Aug 10, 2011 /
 
5V-3.8 V a kék lednek /0.020A =60Ohm=szabványméretben =56OhmBővebben: Link
(#) trudnai válasza DJanosi hozzászólására (») Aug 11, 2011 /
 
Latom csak sikerult beloled kicsalogatni a szamitast

Noha az elmeleti szamitas jonak tunik, az a 20mA eleg nagy terheles az AVR portjanak. Ennel nagyobb terhelest mar csak a kimeneti feszultseg rohamos esesevel tudja produkalni es ezt nem tartom szerencses megoldasnak. Eppen ezert celszeru ettol a hatar ertektol kicsi tavolabb maradni (legyen egy kicsi margo az elmeleti mukodesi tartomany es a gyakorlati ertekek kozott).

Altalaban a kek LED-ek magas fenyuek es az altalad kiszamoltnal joval nagyobb ellenallassal (azaz joval kisebb arammal) is szep fenyt adnak.

Amit megmerhetsz az a LED es ellenallas csomopontban mert feszultseg szint (feltetelezve az ellenallas a +, azaz az AVR labara, mig a LED katodja a foldre van kotve. A masik az AVR laban mert feszultseg amibol lathatod kulonbozo terhelesek alatt milyen feszultseg szintet produkal az eszkoz. Ezenkivul a mar emlitett potmeteres probaval lathatod, hogy mi az a minimalis aram ami mellett meg szepen lathato a LED fenye (ami nyilvan attol is fog fuggeni mi a kornyezet, pl napsutesben vagy vak sotetben kell-e ennek mukodnie).
(#) DJanosi válasza trudnai hozzászólására (») Aug 11, 2011 /
 
Nem hiszem hogy sok a 20mA mert huba adta azt a vezérlőpanelt amin van az ATmega8 és rákötve 2db IC amiben darlington tranyók vannak tehát szerintem nem lesz baja semminek de köszönöm a részletes magyarázatot mindenkinek !
(#) covek hozzászólása Aug 11, 2011 /
 
Szervusztok! A LUFA projektjei között (bővebben: LUFA) található egy AVRISP MkII CLONE projekt. Sikerült lefordítanom és feltöltenem egy AT90USB162-be. Viszont az avrdude többször nem találja meg a programozót annak ellenére, hogy az lsusb látja az eszközt. Ha kihúzom és újracsatlakoztatom akkor ismét látja az avrdude és elvileg kezeli is. Tegnap este eddig jutottam, még cél eszközt nem próbáltam vele programozni. Kérdésem pedig az, hogy ilyen problémával találkozott-e már valaki a csapatból? Illetve mi a megoldás a hiba elhárítására?

Igen a CDEFS += -DLIBUSB_DRIVER_COMPAT engedélyezve van.

Köszönöm! c
(#) sikolymester válasza covek hozzászólására (») Aug 11, 2011 /
 
Így hirtelen az jut eszembe, hogy avrdude használatához úgy kell fordítani a kódot, hogy libusb-vel menjen. Alapesetben ugye jungo driverrel menne.

Ezt valamelyik compiler switch-csel tudod állítani.
Elvileg ezzel: LUFA_OPTS += -D LIBUSB_DRIVER_COMPAT
(#) covek válasza sikolymester hozzászólására (») Aug 11, 2011 /
 
Igen így fordítottam, mint ahogy említettem is.

Idézet:
„Igen a CDEFS += -DLIBUSB_DRIVER_COMPAT engedélyezve van.”


No és akkor miért találja meg replug után?

c
(#) Hurka hozzászólása Aug 11, 2011 /
 
Hellosztok!
Ha érdekel, leírom a problémám megoldását. A hiba az volt, hogy kb 1MHz-s órajelfrekvencia mellett ment az AVR-DOS, de 11 MHz-nél meghalt. A probléma nem szoftveres, hanem hardveres volt. Az én konstrukciómban két BC547-el felépített szintillesztő buffer végezte az 5V->3,3V konverziót. Ám ez meghalt a nyolcszoros órajelfrekvencián (,,elfogyott a tranyók bétája"). Ezért ezeket a fokozatokat kiváltottam egy 2k-3,3k-s feszosztóval. Így emelhettem az órajelfrekvenciát egészen 20MHz-ig. Így elérhetővé vált a 22kHz mintavételi frekvenciájú, 8 bites mintákkal rendelkező, mono WAV fájlok lejátszása (egy kis dzsitterrel, dehát ez kompromisszumos megoldás). A kimenőjel ,,élvezhetőbbé tételéhez" alkalmaztam két 512 bájtos puffert, amik felváltva töltődnek. Ezekkel a kondíciókkal elérhető kb. 13 óra lejátszási idő egy 1GB-os memóriakártyával. Az áramkör egyébként az ESZI25 elektró ,,standjának" egyik darabja lesz .
Remélem tudtam segíteni annak, aki esetleg hasonló hibába ütközne.
Segítségeteket köszönve: Hurka
(#) yoman917 hozzászólása Aug 11, 2011 /
 
Sziasztok
Szeretnék építeni egy üzemóra mérőt AVR-rel, amely a motor fordulatszámát is kijelzi (krossz motorra lenne). A tápellátást 1,5V-os elemről oldanám meg. Gyújtókábelre feltekert vezetékről kapna jelet (3-4 menet). Régebben lemértem egy mezei multiméterrel, hogy fordulatszám függvényében 5-20V AC mérhető rajta. Arra gondoltam, hogy a gyújtókábel által indukált feszültség állandó, csak mivel nagyon sűrű, ezért csapott be a multiméter. Szerintetek van ebben az elméletben valami?
Üdv,
yoman
(#) gabi20 válasza yoman917 hozzászólására (») Aug 11, 2011 /
 
Szia próbáld meg a váltófeszültséget egy diódával egyenirányítani, kondival pedig megszűrni.
(#) Ricsi89 válasza yoman917 hozzászólására (») Aug 11, 2011 /
 
Itt impulzusok vannak, amit a műszer így mér. Szóval ezeket az impulzusokat kellene illeszteni az avr-hez és ezeket számolni.
(#) yoman917 válasza Ricsi89 hozzászólására (») Aug 11, 2011 /
 
AVR-el ezt hogy tudom mérni? ADC alkalmas rá?
(#) Ricsi89 válasza yoman917 hozzászólására (») Aug 11, 2011 /
 
Használd a válasz gombot ha valakinek válaszolsz!
Másrészt meg ha ezt az feszt egyeniorányítod, puffereled, akkor már nem a valóságot fogod kapni, kicsit sem lesz lineáris, sőt már most sem az. Az impulzusok száma pedig már most is a fordulatot mutatja.
(#) gabi20 válasza yoman917 hozzászólására (») Aug 11, 2011 /
 
Esetleg próbálkozz valami optocsatolós megoldással, azt nagyon könnyen hozzá lehet illeszteni AVRhez és utána frekvenciát kellene mérni. Ez tuti megoldás. ADC vel egyenfeszültséget tudsz mérni 0-5V - ig.
(#) yoman917 válasza gabi20 hozzászólására (») Aug 11, 2011 /
 
Köszönöm, a frekvenicamérésnek majd utánnanézek még.
(#) yoman917 hozzászólása Aug 11, 2011 /
 
Sziasztok
Szeretnék áttérni a 7 szegmensű led kijelzőkről az LCD kijelzőkre. Kinéztem egy 7 szegmensű 3,5 digites LCD-t. Úgy gondoltam a kezelése ugyanaz, mint egy Led kijelzőé, de nem igazán stimmel a dolog, ha bcd dekóder IC-vel szeretném összehozni. Tudna valaki segíteni ebben, vagy egy oldalt belinkelni, ahonnan tudnék okosodni?
Üdv,
yoman
(#) vilmosd válasza yoman917 hozzászólására (») Aug 11, 2011 /
 
CD4543 valo a LCD kijelzohoz, mert a kimenetet a PH jel szintjetol fuggoen valtogatja. A LCD nem hajthato meg siman sztatikusan, hanam a szegmes es a Backplane ellenfazisu meghajtast igenyel. Ehhez fejlesztettek ez az IC-t.
(#) voodoo hozzászólása Aug 11, 2011 /
 
Sziasztok!
Nagyon kezdő vagyok, csak azt szeretném megkérdezni, hogy mi a különbség a mikrokontorller és a programozó közt? Például: STK 500 USB-s programozó + hozzá való mikrokontorllerek; felsorolás stbstb.???

Köszi.
(#) yoman917 válasza vilmosd hozzászólására (») Aug 11, 2011 /
 
A 3,5 digites LCD kijelzőhöz akkor kell 3 darab IC is? (plusz még az AVR)
(#) vilmosd válasza yoman917 hozzászólására (») Aug 12, 2011 /
 
Nezd meg az adatlapjat. Kell egy oszci, a 3 meghajto, es meg a 1/2 digithez is valami logika.
(#) TavIR-AVR válasza voodoo hozzászólására (») Aug 12, 2011 /
 
Ezért írtam egy cikksorozatot: Mivel kezdjek? néven.


Kontroller: processzor és chipen belüli környezete.
Programozó: Az az eszköz, amivel a futtatandó programot beleégetjük a kontroller memóriájába.
(#) TavIR-AVR válasza yoman917 hozzászólására (») Aug 12, 2011 /
 
Vigyázz! Az LCD meghajtása váltóárammal (ellennégyszöggel) kell hogy legyen. Különben a folyadékkristályt elektrolízisnek veted alá!
Következő: »»   348 / 840
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