Fórum témák
» Több friss téma |
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
Lehet, hogy az áramkörrel lesz a baj. Mennyi a jó érték a kontrasztnál ha ellenállással szeretném helyettesíteni a potmétert?
Más boardon más által írt programmal működik az LCD-kijelző.
Eleg valoszinu. Ha hibasan inicializalnal, akkor is annyi hibas karakter lehetne maximum ahany karaktert kikuldesz inicializacio utan. Ha egy sor fekete es egysorosnak inicializaltad, es meg karaktert sem kuldtel ki, akkor szinte biztos, hogy a kontraszttal van a baj.
A kontrasztot pedig nem ellenallassa, hanem feszultsegosztoval szokas beallitani. Adatlap szerint 4V-ot az ajanlott. Ennek a labnak a terhelese a fekete es nem fekete pixelex aranyatol fugg (ugyanis minden pixel(ami kapacitasnak foghato fel, dielektrikuma a folyadekkristaly) f frekvenciaju Uac feszultseget kap(0V elektrolitikus kozepertekkel) vagy 0V feszultseget kap. Eszerint lesz fekete vagy attetszo az adott pixel). Tehat ha siman ellenallassal probalnad beallitani, a kiirt tartalomtol fuggene a kontrasztod. Raadasul ezen a labon eleg kicsi a fogyasztas (uA nagysagrend), valamint erosen homersekletfuggo is. Rakjal be egy feszultsegosztot (5V taprol pl 1k+4k vagy 5k+20k) ugy hogy 4V keruljon erre a labra.
Hali
A kontraszt bemenet altalaban 0-1 V kozotti feszt ker. Ugy lehet megoldani, hogy alulra egy 1k poti, felulre egy 4k7-es ellenallas. Lehet az alsot egy fix ellenallassal is helyettesiten, de probalgatni kell az erteket. Ez 470 ohm es 1k koze esik. Csa Vili Ps Itt van egy mukodo kod 2 soros LCD vezerlesehez. Igaz ez PIC kod, de az LCD-t minden uC-nel egyforman kell vezerelni.
Ugy nez ki igazad van. Kicsit jobban utananeztem a dolognak. Az alabbi abra az adatlapbol valo, e szerint az ATmega8L-nek 5V-on mennie kellene 16MHz-en is.
Nyugodtan vedd meg az ATmega8L-t es rakj be melle egy 7.3728MHz-es kvarcot, azzal biztos megy meg alacsony feszultseggel is (ha kesobb esetleg egy 3.3V-ot hasznalo IC-vel akarod osszekotni, akkor nem kell az 5V-3V szintillesztessel veszodnod, hanem csak rakotod es 3V-rol hajtod az AVR-t)
Es ezzel a kvarccal a soros kommunikacio is megy az osszes sztandard sebesseggel.
Eddig egy potméter volt betéve aminek az egyik lába GND, a középső pedig a kontraszt bemeneten volt. A harmadik lába szabadon lógott. Az így mért feszültség 4V körüli volt ezen a lábon. Tudtam állítani, el tudtam tüntetni a fekete téglalapokat vele. De a szöveg akkor sem jelent meg. Lehet, hogy az áram volt kevés? (Elég nagy értékű a potméter.) Vagy ez nem számít itt?
Az adatlap szerint 4V körüli feszültség kell. Az áramnak van jelentősége?
Szia!
- Az időzítéssel is lehet probléma. Egyes parancsok végrehajtási ideje nagyobb, mint 1 ms. Az l_enable() rutin ugyan 2 ms ideig tart, de csak 1 ms ideig van nyugalomban az LCD E jele. A 4 bites módban a két nibble beírása gyorsabban is követhetnék egymást, de a két parancs között min. 1.5 ms nem szabad parancsot küldeni, csak a busy bitet olvasni. - Le kell ellenőrizni az LCD hozzávezetéseit is ellenállásmérővel az LCD kivezetéseitől a kontroller lábakig. - A
- Érdemesebb lenne egy olyan eljárást írni, ami a 8 bites kódot kapja paraméternek és két 4 bites írással továbbítja a LCD -nek, és vár a parancs végrehajtására min. 1.5 ms -ot.
Nagyon köszönöm neked is!
A kódot már régebben kijavítottam, csak véletlenül a rosszat másoltam be ismét. Az időzítéseket azonban még ma este kipróbálom.
Jó köszi.
Elvileg a 3. labak a tapon kell lennie, a csuszka megy az LCD-re. Aramokkal itt nem nagyon lehet baj, mert alig folyik. (Vigyazz, a Doksi szerint a VDD es VO(ez a kontraszt lab) kozott kell lenni 4V-nak. Ha 5V a tapod, akkor az foldhoz kepest(VO-GND) 1V)
Ezen kivul a kovetkezo problemak vannak meg a kododban:
30-31. sor: az enable utan kell a delay, mivel a parancsvegrehajtas az enable utan kezdodik meg, es a parancs vegrehajtasara kell varni. 35-36 sor: ugyan ez a hiba
Köszönöm szépen! Ezeket is kijavítottam. Holnap nulláról kezdem újra az egészet.
Sziasztok!
A hétvégén próbálkoztam egy 74HC595 shift regiszterrel, de sehogyan sem sikerült rájönnöm a működésére. Esetleg ha tudnátok adni egy C forráskódot, talán sikerülne rájönnöm belőle. Nagyon köszönöm!
Hello!
Valaki nem tud egy foglalatot ajánlani egy atmega16 smd változatához (16AU)? Sikerült venni a hestore-ban 2-őt is de azok túl nagyok és nem lehet sehogyan belerakni.
fogllat smd hez???.Én még ilyet nem láttam :no:
Pedig van...ITT is. Én konkrétan ezt típust vettem meg, de ahogy már mondtam túl nagy. Valakinek van tippje?
Köszönöm! Valami ilyesmit próbáltam összehozni és is. A Te megoldásod viszont sokkal szebb mint amit én csináltam, használni fogom.
Szeretnék egy akkuról működő eszközt AVR-rel vezérelni, USB-COM átalakítón keresztül szeretnék alptopra csatlakozni. A feladat szénkefés DC motorok vezérlése lenne, ha lehet H-híddal, tranyókkal. Van külön aksim a motorokhoz, az elektronikához, és aksi van a laptopban. A kérdésem az lenne, hogy hogyan válasszam le az AVR-t a motoroktól illetve a COM portról? Később szeretnék feedbacket is a motoroktól, de egyenlőre a felszerelt végállás kapcsolókon kívül nem kell.
Én úgy oldanám meg hogy az AVR mellé teszek egy FTDI chipet, ez megoldja az Usb-re való csatolást, nem kell átalakító. Ezzel nyugodtan kötheted laptophoz, még az 5V-os tápod is megvan a mikrovezérlőhöz. Utána már csak annyi a dolgod hogy egy L298 -as driver Ic-t kötsz a vezérlőre. Ez egy egybetokozott h-híd ( illetve kettő ) és még pár kiegészítő funkció. Hogy hány ampert vesz fel a motorod azt azért nézd meg, meg a meghajtó adatlapját is, de folyamatos üzemben 2A-t bír csatornánként azthiszem. Ha ennél több kell akkor Fet-ekkel rakj össze egy H-hidat.
A problémám az hogy a motor induktív és egy AVR-t már sikerült megsütnöm azzal hogy közös földön volt induktív fogyasztóval, emiatt aggódom és nem akarok még egyet a kukába vágni. Egyébként lehetséges hogy a vezérlő elektronika 100mA fölött fog fogyasztani, és ha jól gondolom az FTDI chip nem kéri az USB-től a nagyobb teljesítményre való átállást.
Letezik TQFP-hez is foglalat, de baromi draga 15000 alatt nem fogsz talalni, raadasul nem megbizhato teljesen(sajat tapasztalat).
Az USB-n 500mA minden esetben rendelkezesre all. Ha csak a fold kozos azzal nem tudsz megsutni semmit, valoszinuleg az lehetett a problemad, hogy az induktiv fogyasztod kikapcsolasi tranziensnel feszulseglokest adott a tapra.
Az én kérdésem:Minek hozzá foglalat?Ezt arra találták ki hogy odaforraszd.
|
Bejelentkezés
Hirdetés |