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
Kalibrációt csak akkreditált kalibráló laborokban lehet elvégezni. Maga kalibráció pedig az adott műszer metrológiai pillanatfelvétel készítése. Sajnos a szaknyelvben ma már teljesen összekeverik a beszabályozás fogalmával :no: .
Ezt nem egészen értem, de a beszabályozó program jól van megírva? A feszültségosztó arányt hogyan változtatod?
Üdv!
A mellékelt programmal van gondom, illetve azt hiszem, inkább a fuse bitekkel, ebben kérném a segítségeteket. Ha a jelenlegi állapotban betöltöm az Atmega8-ba, akkor programozás után automatikusan indul a program. Viszont hideg start esetén csak egy reset után. Sok kísérlet után, ez már egy idilli állapot, de igazából úgy gondolom, hogy ennek mindíg azonnal mennie kellene. Fuses: HIGH: 0xC9 LOW: 0x23 A kapcsolás az itt fellelhető AVR próbapanel, amit már ellenőriztem párszor, és úgy gondolom, hogy rendben van.
Hogy lehet az hogy az AVR studio 5 az előző winemnél azonnal megtalálta az STK500-asom a COM5ön, most meg akármit csinálok vele csak az AVR simulátor van?
Hideg start?
Mi van az AVR reset lábán? Húzd fel 10Kval és szűrd 100nF. Ha így van akkor próbáld megnyújtani a reset időt. Tegyél a 100nF kondival párhuzamosan 1µF-ot. A fuse biteknél a 64m-et válaszd. Ez még 64ms-et késleltet. Esetleg attól lehet problémád hogy még a táp nem állt be 5Vra.
Ezt a jelenséget én is észrevettem már az atmega8 ADCjével. Kicsit csúszik de nem tudom miért.
Sajna nem sikerült a dolog, teljesen ugyan az a helyzet...
Sziasztok
Segitségre lenne szükségem, találtam a neten egy jopofa kapcs. rajzot ami nagyon jol jöne a nyaralomban. Már lasan 2 hete probálkozom vele isis szimulátoron de nem igazán müködik tudna valaki vetni egy pilantást rá,vagy esetleg lefutatni szimulatoron. Hozáteném hogy öszesen 3 avr procit programoztam tehát nagyon nem ismerem öket. Csatolom a doksit meg egy video linket. Elöre is köszi. Video: Link
Hali mindenki!
Azt szeretném kérdezni, hogy az AD konverter referenciájának mekkora a legkisebb adható érték, amit még pontosan tud mérni? 75mV-ot kéne nekem 10 bites felbontással mérnem, közvetlen megtehetem ezt, egy 75mV-os referenciával, vagy használjak műv. erősítős kapcsolást, ami kicsit nagyobb feszt. csinál nekem? a válaszokat előre is köszönöm! üdv.
Az adott AVR electrical characteristic részénél megtalálod, az ADC-nél. Azt hiszem 2V a minimális. Vagy külső elemmel erősíted fel a feszt, vagy olyan procit választasz, amiben van differenciális mérés, ezeknek van bekapcsolható 10x, 200x-os erősítésük.
Tegyél egy ledet az avr akármelyik lábára, mikor pl lefut az lcd_clrscr(); fügvény akkor kapcsold be. Mikor elindítod akkor látod hogy a proci elindult vagy nem ha a led világít. Ha megy a proci, a kijelző meg nem, akkor a kijelző inicializálásánál lesz a bibi. Akkor viszont ajánlom figyelmedbe ezt: Bővebben: Link
Ebből megtanulhatod és a doksijából initializálni a kijelzőt és akkor nekifuthatsz leellenőrizni a programkódot.
Hali!
Az Atmega16-tal kapcsolatban lenne pár "áramos kérdésem" Az A/D-hez szükséges szűrő értékeiről ír az adatlap (10uH és 100nF) de arról nem, hogy az induktivitás milyen áramhatáron legyen. A Hestore-on találtam 10uH-s 15mA-es, 1,15R értékű Bővebben: Link és egy szintén 10uH-s de meghatározhatatlan áramú induktivitást is.Bővebben: Link Ezt követően már csak a 3,9A-es van ami nyilván túl nagy. Szerintetek melyik lenne jó az AVR A/D szűrőjéhez? A 15mA-es is elég lenne? A másik kérdésem pedig az, hogy a 7805-ös IC-s stabilizátornál hány mA-es adaptert köthetek az Atmega16 tápfesz-ének? Van egy 300mA-es 12V-osom, az bőven elég neki nem?!?! Nem tudom mekkora áramot vesz fel az Atmega alapállapotban illetve 10-20 normál fényerejű led és egy LCD kijelző társaságában.... :S De annyi bőven elég neki nem?!?! Köszi előre is a segítséget!
Annyit csinálok, hogy meghatároztam a feszültségosztó értékét ami esetemben 5,1-el és ezt az értéket a programban növelem vagy csökkentem. Ezzel nő vagy csökkne a kijelzett érték is. Nem nagyon foglalkoztam még ilyen beszabályozásokkal ezért kezdtem el ezen a vonalon menni. Esetleg tudnál adni ötleteket hogy hogyan oldják meg ilyen mérőműszereknél a beszabályozást?
Sziasztok,
most kezdem AVR-ekkel foglalkozni, és össze is gyűlt egy pár kérdésem: 1. mehet-e egy darab 7805-röl az AVR mellett a motorvezérlő is? 2. ugye az AVR-eknek stabilizált 5 V feszültség szükséges, de láttam olyan megoldást ahol 4 db 1,2 V-os akkuról használta, ami ugye 4,8 V, kérdésem: működhet-e így normálisan az AVR? 3. a motorvezérlőnek egy L293D-t használok, és a kérdésem az, hogy , hogyan oldjam meg egy 3 V-os motor áramellátását, ha a motorvezérlőre eleve 5 V kell, és ha 3 V tal használnám akkor az ugye felveti a kettes kérdés problémáját, azaz hogyan lehet úgy használni egy ilyen integrált áramkört hogy 5 V nél kisebb a tápfesz? 4. az AVR motorvezérlőnek használt lábait is "fel kell húzni", igaz? a válaszokat előre is köszönöm Üdv
Énis olvasgattam a 7805-ről, és (elvileg) a sima 7805-ös 1A-et tud max átengedni (ellentétben pl a 78L05 vagy 78_05 stb-vel).
1) SZerintem minden további nélkül mehet a motorvezérlő is arról. 2) Az átlag AVR nem pontosan 5V-ot követel hanem (úgytom )hogy 4,5 és 5,5 V közötti tartományban működik. Bár ez attól függ mit használsz mert vannak olyan AVR-ek amik már 2,7V - 5,5V-os tartományban is üzemelnek. (az "L" jelzésűek) 3) A 3V-ot én egy 3V-os Zenerdiódával választanám le a 7805-ről, de persze biztos van más megoldás is. 4)Erről nemtudok nyilatkozni mert még nem használtam motorvezérlőt.
Lehet hülye vagyok vagy elnéztem valamit de, a gyári AVRISP MKII leírásában nem látok TPI vagy PDI csatlakozó leírást. Csak ISP van. Akkor most hogy van ez? Az utánépítettel lehet xmegákat is programozni a gyárival meg nem?
Bővebben: Link
Hali!
Én is megcsináltam a kapcsolást de egyik hex-el sem akar működni rendesen. Terminálba is csak hülyeségeket ír ki, és a start után is csak a piros elalszik majd felgyullad. Nem tudod mi lehet a baja?
Nem derült ki hogy melyiket is csináltad meg?
Amúgy csak a flash hex amit fel kell tölteni rá, nem? vagy van valami eeprom tartalom is?
38400bps-el van nyitva a terminál. Gondolom még eeprom tartalom nélkül is ki kéne írnia a terminálba hibátlanul.
Ezt, annyi különbséggel hogy 1k helyett 10k van a reseten de évek óta 10k-t rakok resetre.
Nem vagy hülye, ebbe én is belebotlottam de hamar meglett a válasz is. Lényeg hogy a gyárin csak 1 darab 6p csatlakozó van, és a kimeneteket maga a programozó kapcsolgatja az éppen használt programozófelület szerint. Tehát van TPI és PDI is, de csak akkor ha olyan IC-t programozol ami azt a felületet használja. Ez a kapcsolómátrix - egyelőre - egyik utánépített változatban sincs meg, ezért vagy a szalagkábelt kell mindig átdugdosni(pl. TavIR-változat), vagy programozóadaptert használni. Ez utóbbi módszert a saját programozómnál rendszeresítettem, mert csak egy 10p kimenete van.
1: Ha elbírja akkor minden további nélkül.
2: Attól függ! Az AVR-ek általában 2.7-5.5V között működőképesek, nagyobb órajelen a minimum 3.3V, de újabb(főként "A" vagy "P" végződésűek) típusoknál a minimum még kisebb is lehet, és kb. 1.8V körüli az "abszolút minimum". De ezt befolyásolja a BODLEVEL beállítás: hiába tudna 2.0V-on is menni, ha a BODLEVEL 4.3V-ra van állítva akkor ~4.1V alatt RESET-elni fog! 4 darab akksi még elmegy akkor is ha igazából nem 1.2V hanem inkább 1.3-1.35V, de 1.5V-os ceruzaelemek mellett jó esetben csak letilt, rossz esetben leég az AVR...
Melyik hex-et egetted be? Úgy olvastam hogy a 2.01hez nem kel eeprom tartalom. Viszon a 2.03-ashoz kell mert nem fért minden a flashbe, és az üzenetek is az eepromba vannak. Szerintem ezért ír hülyeségeket.
2.01 el is próbáltam, azzal is ez volt, 2.03 al is viszont nem tudom az eepromot programozni.
gondolom az xxx2.03.epp.bin lenne az de Getting isp parameter.. SD=0x01 .. OKThe specified file is not a valid Intel HEX file a hiba üzi.
Esetleg a neked műlödő hex-et és eprom fájlt és a fusebit beállításokat, nem tennéd fel nekem ?
Itt az enyém...
A leírás szerint 1MHz-re kell állítani az ATMega8-at; nekem 4MHz-en is lazán viszi...
Most nem tudom mert nem vagyok otthon. Majd este 11 körül csak.
Sziasztok!
Valaki elmagyarázná nekem nagyvonalakban, hogy mi is az a debugolás egy AVR esetében? Az megvan, hogy van a JTAG port és arra kell kötni a debuggert de hogyan működik az egész folyamat? Van egy JTAG mag a prociban (már amiben van) és attól információt kapok, hogy órajelenként mi zajlik futásidőben? Eddig még csak a paraszt debug módszert használtam de jó lenne megismerkedni valami komolyabbal is.
Van egy JTAG mag amit a JTAGEN nevű FUSE bit aktivál(gyárilag aktívra van állítva), ez teljesen független az ISP-től. A mag külön életet él és képes az egész proci felett átvenni az uralmat. Így a "kizárt AVR-ek" akár JTAG-en keresztül is javíthatóak(persze csak beállított JTAGEN esetén).
Utasításonként(soronként) lépkedhetsz, a függvényeknél megmondhatod hogy egy az egybe futtassa azt le és lépjen a következő sorra vagy a függvénybe belépve is láthatod annak lépéseit. Természetesen két léptetés között szintén kiolvashatod a regisztereket. Hardver töréspontot tehetsz a kódba, elindítod a debuggolást és megáll neked ha az utasításvégrehajtás ráfut arra a sorra ahová tetted a töréspontot, ekkor kiolvashatod a regisztereket, portokat, stb. majd a folytatásra kattintva tovább fut amíg újra oda nem ér a törlspontot(hacsak ki nem kapcsoltad). Azaz nem kell lépegetni ha csak arra az egy pontra vagy kíváncsi. Szóval egy AVR Jtag Debugger ilyenekre használható, ha tévednék akkor javítsatok ki!
Most egy ilyen debuggolási folyamatot JTAG nélkül a proci UART-ján is meg lehet valósítani programmal. Csak ugye ez akkor cinkes ha 1 UARTod van és használni is szeretnéd...
PL Kell egy fv amit ha meghívsz az AVRbe akkor a progi végtelen ciklusra megy és addig nem engedi tovább míg az UART-on azt nem mondod neki. Addig meg elküldi neked az összes infót amire kíváncsi vagy. Gondolom ez megoldható. Idézet: „A leírás szerint 1MHz-re kell állítani az ATMega8-at; nekem 4MHz-en is lazán viszi...” Nem értem miről beszélsz mikor az oldalra ez van írva: Fusebits: Internal 8MHz clock, and enabled EESAVE bit. Tetye Én erről az oldalról égettem be a 2.01 hex-et. Nekem a 2.03-as nem ment. Vagyis a zöld led pilácsolt de nem jött vissza az élők közé. Bővebben: Link |
Bejelentkezés
Hirdetés |