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   19 / 839
(#) Ant hozzászólása Feb 17, 2007 /
 
Én Attiny2313-al akarpm megoldani, és azon tudomásom szerint nincsen...
Ha van az zsír, de sztem nincs
Az a kapcsolás meg kissé hosszadalmas 2. én saját adatok szerint akarom megoldani, nagy feszt akarok mérni leosztással...
(#) potyo válasza Ant hozzászólására (») Feb 17, 2007 /
 
Nézd meg az adatlapjában, hogy van-e vagy nincs.
(#) Mumtaz hozzászólása Feb 18, 2007 /
 
Összeraktam a cuccosomat. Rdugtam a gépre és a win meg is találta, mint ismeretlen USB eszközt. PonyProg-al akartam felprogizni. A cucc fel is ment a kontrollerbe, de aztán, mikor vissza akartam olvastatni a PonyProg (magyarított változat) mindenre azt írta, hogy ismeretlen hardware. Írásra, olvasásra, mindenre. Ha a hibaablakban a kihagyásra nyomtan mondjuk írásnál, akkor látszolag csinált valamit, mert ment a folyamatjelző, aztán ellenőrizte az írást és írás hibát ír.


Rádugtam a cuccot egy másik gépre, ami felismerte, mint ismeretlen USB, aztán ki is írta, hogy telepítve és használatra kész, de rögtön ez után feldobott egy buborékablakot, hogy hibás USB eszköz.

Van valakinek valami ötlete?
(#) Mumtaz hozzászólása Feb 18, 2007 /
 
Utánanéztem dolgoknak. Mivel EZT a cuccot építettem meg, ezért az ITT leírtak alapján programoztam fel a mikrokontrollert. Legalábbis elméletben, de ki emlékszik már rá. Azt hiszem, hogy a 7. lépés ("Program the chip configuration bits using Command->Security and Configuration bits...") után nem ismerte fel a PonyProg. Legalábbis azt hiszem.

Eszerint lehet, hogy kilőttem valamit!? Mit tudok tenni, mielőtt vennem kellene egy másik ATMega16-ot?
(#) Mumtaz hozzászólása Feb 18, 2007 /
 
Légyszi, segítsen valaki! Már kifogytam.

Problémát okozhat esetleg az, hogy a lent említett cuccba nem kétlábú, hanem négylábú (IQXO) oszcillátort raktam?
Ennek bekötését elmondták nekem, de lehet, hogy rosszúl. A kapcsolási rajzal ellentétben a C2 és C3 kondik kimaradtak és az IQXO lábkiosztásai a következő képpen lettek bekötve:

1. láb (N/C): nem lett bekötve
7. láb (GND): nem lett bekötve
8. láb (output): ATMega 13-as lábára kötve
14. láb: (+5V DC): közvetlen 5V VCC


Programozónak az AVR-Tavir oldalon lévő pufferelt (STK-200) programozót használtam, de a 10 pines csatiból kikötöttem a 3-as lábat, mert ez a mikrokontroller nyákján földre van kötve.

Mit tegyek?
(#) Mumtaz hozzászólása Feb 18, 2007 /
 
Kész vagyok. kezdve azzal a barommal, aki azt mondta, hogy az IQXO 7-es lábát nem kell GND-ra kötni. Próba cseresznye rákötöttem. Működik.
(#) potyo válasza Mumtaz hozzászólására (») Feb 18, 2007 /
 
Nem kell az ilyen "barmokra" hallgatni. Az ilyesmit az adatlapból kell nézni.
(#) Mumtaz válasza potyo hozzászólására (») Feb 18, 2007 /
 
Ez a pontos megfejtés. Mentségemre váljék, hogy nem nagyon értek hozzá. De ezek szerint az sem, aki mondta.

Egyébként mellékelve a végeredmény, amiért a cucc készült.

joy.jpg
    
(#) gtk válasza Mumtaz hozzászólására (») Feb 19, 2007 /
 
Na ez nem semmi!
Az elektronikarol nem raksz fel kepet?
(#) Mumtaz válasza gtk hozzászólására (») Feb 19, 2007 /
 
Sajna nem lettek túl jó képek, de azért látni valamit. A korábban belinkelt oldalról letöltött nyákrajz lett kivitelezve, csak később vettem észre, hogy nem olyan oszcillátort adtak, amihez a nyák készült. Ezért van az oszcillátor kirakva a nyák szélére, mert csak ide lehetett forrasztással rögzíteni és ezért fut oda két vezeték is. A nyákra eredetileg USB csatit terveztek de ezt viszont nem is kaptam, ezért egy USB kábelt forrasztottam a nyákra.

A terv az, hogy ezt a vezérlőpanelt és a hozzá készülő "dekóder" kártyát - ami azért felel, hogy arr csatikkal lehet minden gombot és egyebeket bedugni - egyetlen műszerdobozba teszem, és a dobozon megfelelően kivezetékelek 1-2 D-SUB csatit. Erre majd külön magát a joystickot, a tolóerőszabályzót, a pedálokat tudom rádugni, valamint - mivel ez a vezérlő támogatja - csinálok egy pultocskát a maradék gombnak és egyebeknek.

Tehát az egész cucc a következő lesz:

Saitek X-36 Joystic + X-35F tolóerő szabályzó (eredeti elektronika kuka)
Egy régi 1000 Ft kormány pedáljai
Egy házi készítésű pult
A doboz, amiben a vezérlés van (lesz)

Képek csatolva
(#) gtk válasza Mumtaz hozzászólására (») Feb 20, 2007 /
 
Szep!
A softot win ala fejlesztetted?
Erdekesen nez ki a grafikus felulet,nem standard win,vmi mas
(#) Mumtaz válasza gtk hozzászólására (») Feb 20, 2007 /
 
Nem. Tévedés ne essék. Én nem fejlesztettem semmit (ahhoz túl hülye vagyok). Az egész cucc (mármint az elektronika) más érdeme. Ez egy oldalról letöltött cucc, ahol egy srác kitalált egy módot, hogyan lehet saját játékvezéről (át)építeni USB-re. Ő gyakorlatilag hozzáférhetővé tett mindent (nyákrajz, kapcsolási rajz, a mikrokonrollerbe töltendő "szoftver", stb...).
Én csak megépítettem. A lentebb belinkelt kép teljesen standard windows, tehát a cucc élesztése után ez a kép fogadott a játékvezérlő tulajdonságainál. Látszik is, hogy a windows sajátja, mivel magyar nyelven írja ki a dolgokat, tehát ez ott van a windowsban, csak az átlag játékvezérlők esetében sokkal kevesebb beviteli egységgel rendelkeznek. Egy átlagos joy általában négy analóg tengelyt használnak (X irány, Y irány, tolóerő/Z irány és a pedálok), ez a vezérlő viszont még plusz négyet és ehhez még hozzájön 112 gomb, amiből csak 64 a szabványos "tűzgomb", de a windows képernyőjére ebből is csak 32 fért ki ( ).
Eredetileg a srác ezt olyan fanatikusokan fejlesztette, akik otthon meg akarnak építeni egy komplett repülőgép cockpitet. Én speciel nem ezt tervezem, de komplexebb repülőszimulátorokkal (pl. MS Flight Simulator) könnyebb lenne úgy játszani, hogy az ember odanyúl a vezérlőpultra a megfelelő kapcsolóhoz ahelyett, hogy fejben megjegyezne rengeteg billentyűkombinációt.
Ebben a vezérlőben tényleg az a jó, hogy teret ad a fejlesztéshez. Ad egy megfelelő elektronikai hátteret és mindenki saját maga dönti el, hogy mennyire akarja kihasználni.

Nekem minden esetre ez a cucc bebizonyította, hogy házilag is lehet nagyon preciz dolgokat csinálni és - bár szinte kizárt, hogy saját áramköröket fejlesszek - ezután azt hiszem, fogok még mikrokontrolleres dolgokat megépíteni. Persze nem saját, hanem mások által fejlesztett, de nekem is hasznosnak ítélt dolgokat. Sajnos nekem nincs érzékem a dolgok elméleti részéhez, de akkor is nagyon jó érzés látni, amikor valami általam összerakott dolog "életre kel".
(#) gtk válasza Mumtaz hozzászólására (») Feb 20, 2007 /
 
Az a lenyeg hogy a celnak megfeleljen,jo legyen a kivitel es mukodjon.

Idézet:
„Sajnos nekem nincs érzékem a dolgok elméleti részéhez, de akkor is nagyon jó érzés látni, amikor valami általam összerakott dolog "életre kel".”


Szerintem minden az erdeklodestol es a kitartastol fugg,ahogy Weores mondja: "Egyetlen ismeret van,a tobbi csak toldas: alattad a fold,folotted az eg benned a letra"

(#) Ant hozzászólása Feb 24, 2007 /
 
HI!

Hogyan lehet olyan filet csinálni bascomban, ami az utasításokat tartalmazza?
Mert egy digitális órát csinálok, és a programban való várási időt kell meghatároznom. Úgy, hogy beazonosítom, a doksiában lévő utasításkészletben, hogy mennyi jel kell a program elvégzésére.

Ant

(#) vegyészmérnök válasza Ant hozzászólására (») Feb 24, 2007 /
 
Szia!

Az $asm utasítással (vagy direktívával?) át tudsz váltani assembly nyelvre, ahol utasításonként tudod megírni az adott programrészt. Végül az $end asm utasítással tudsz visszakapcsolni basic nyelvre.
A Bascom help-jében találsz hozzá leírást meg példaprogramot is.
(#) Ant válasza vegyészmérnök hozzászólására (») Feb 24, 2007 /
 
Kössz!
(#) MaSTeRFoXX válasza Ant hozzászólására (») Feb 24, 2007 /
 
Neee!
Ne így!
Ez így nem jó!

Gondolom azt akarod elérni hogy olyan órát csinálj amiben benne van egy 1mp-es időzítés és utána számolja át az időt, aztán ezt ismételgesse....
Ez így nem lesz jó.... Iszonyat pontatlan lesz, meg ezt nem így szokták csinálni....
De a bascomban a helpben ha rákeresel a time vagy clock vagy már nem tom pontosan mire akkor ott benne van egy eléggé korrekt kis óra program, csak a TOSC1 és TOSC2 lábra kell egy 32768Hz-es kvarcot raknod. Ez az óra teljesen "szabványosan" működik, megszakításokat használ, ahogy ezt szokás mikrovezérlőkön....

De tőlem kipróbálhatod, ha nem hiszed...
(#) Ant válasza MaSTeRFoXX hozzászólására (») Feb 24, 2007 /
 
Ok, elhiszem!
Ki is próbálom, mikor már nyitva leszenk a boltok, nincsen kvarcom
(#) Tomi20 hozzászólása Feb 25, 2007 /
 
Sziasztok

Megépítettem én is azt a feszültség, áram mérőt, amit Árpix is. http://www.electronics-lab.com/projects/test/022/index.html

Azt nem értem, hogy az AVR reset lábát miért kell rákötni a kijelző 3-as adat vezetékére. (4 bites módban van vezérelve 4-7) Amikor rá volt kötve a reset a kijelzőre, akkor mindenféle hülye jelek jelentek meg, de amikor lekötöttem a resetet, akkor jó lett. Nem étrem, hogy a szerző miért kötötte be... Szerintetek milyen célt szolgál az a kis induktivitás? Nekem most csak simán át van hidalva, mert nem kaptam a RET-ben.
(#) Gory válasza Tomi20 hozzászólására (») Feb 25, 2007 /
 
Szerintem az nem a reset lábra van kötve, csak ugyanúgy fel van húzva magas szintre mint a reset. Kézi reset gomb ugyanis nincs a kapcsolásban. Tehehát az a D3 láb fel van húzva tápra, akárcsak a reset láb, ezért van ott összekötve. azt ugyan nem tudom miért van. Volt még valami hiba a kapcsolásban azt hiszem. Valahol az LCD RW lába körül. Kérdezd meg árpix-tól. Mert én már nem emlékszem. Mindenesetre azt se értem minek az RW lábat portbitre kötni.
(#) Tomi20 válasza Gory hozzászólására (») Feb 25, 2007 /
 
Az RW lábat földre kötöttem, azzal nincs gond. Árpix-nak már írtam, de 3 napja nem volt itt, azért kérdeztem meg itt. Kettőt építettem ebből a műszerből ("+-" os tápegység lesz belőle) És mind a kettő ezt csinálja. Akkor hagyom a francba a 3-as adat vezetéket, és nem kötöm be. Azt hittem, van valami funkciója, de akkor ezekszerint nincs.
(#) tibi0531 válasza Tomi20 hozzászólására (») Feb 25, 2007 /
 
Szerintem a D3-as lábat nyugodtan hagyd szabadon. Ez valószínűleg csak valami hiba a kapcsolásban.
A kis induktivitás meg a hozzá tartozó kondenzátor viszont egy LC szűrőt alkot, és a tápfeszültséget szűri az ADC-nek. Mivel a referenciát ebből a feszültségből állítja elő, induktivitással pontosabblesz a mérés.
(#) Tomi20 válasza tibi0531 hozzászólására (») Feb 25, 2007 /
 
én is erre gondoltam, mert most van olyan, hogy teljesen meg hülyül, és össze-vissza karaktereket ír ki, ekkor reset, és megint jó.
(#) Ant válasza MaSTeRFoXX hozzászólására (») Feb 25, 2007 /
 
Az attiny-n van ilyen láb, ahová ezt a kristályt be lehet kötni?
(#) MaSTeRFoXX válasza Ant hozzászólására (») Feb 25, 2007 /
 
Most nézem... Az ATTINY2313-ban pont nincs ilyen kivezetés. Az Atmega8-tól kezdve van(ugyanarra a lábakra kell kötni mint a normál kvarcot). Az ATmega16-ban meg már külön ki vannak vezetve....

A bascom helpben a "Config clock" néven találod meg.

De szerintem ATtiny2313-mon ez nem működik
(#) vegyészmérnök válasza MaSTeRFoXX hozzászólására (») Feb 25, 2007 /
 
Akkor lehet hogy mégis csak marad az a megoldás, hogy valamilyen megfelelő frekvenciájú kvarcot használva, timer megszakításokkal és pontosan ismert órajel számú utasításokkal oldja meg a dolgot? Ez szerintem semmivel nem pontatlanabb, mint az általad említett megoldás, csak gondolkodni és számolni is kell hozzá... (De hát éppen ezért szeretünk mikrokontrollereket programozni, nem? )
(#) andrewforest hozzászólása Márc 3, 2007 /
 
Hello
Megépitettem a következö USB_ISP programozót: http://web.interware.hu/lekovacs/usb500/index.html
Hétfön fogom a progit beégetni az AVR-be...
Valaki megépítette már ezt? Mennyire biztos az hogy müködni fog a megadott programmal???
(#) MaSTeRFoXX válasza vegyészmérnök hozzászólására (») Márc 3, 2007 /
 
Igen, általában így szokás mikrovezérlővel órát építeni (számláló, megszakítások).... De BASCOMBAN? Azt még sose próbáltam, szerintem túlságosan elrejti a hardvert, és nem annyira átlátható...
C-ben talán jobb a helyzet, de assemblyben a legátláthatóbb szerintem
Kb 2 hónapja csináltam PIC-cel életem első számlálós-megszakításos óráját. Majd ha lesz idő, AVRrel is megpróbálom C-ben
(#) vegyészmérnök válasza MaSTeRFoXX hozzászólására (») Márc 4, 2007 /
 
A számlálónak pont az a lényege, hogy a túlcsordulás megszakítást generál, de a megszakításrutin nem befolyásolja a számlálót, mert az nem áll meg a túlcsordulásnál, hanem megy tovább. De éppen én is ezt írtam, hogy a kritikus helyeken át lehet váltani assembly-be és pontosan ismert utasításokat alkalmazva egzaktul lehet megírni a kritikus részt. (pl.: megszakításnál NOSAVE alkalmazásával a regiszterek tartalmát nekünk kell elmenteni ha szükséges és mi állíthatjuk vissza a flag-et) Egyébként már én is megtanultam az assembly-t, de az esetek többségében megfelel a BASCOM is, és sokkal egyszerűbb benne a programot megírni. (Pár napja készült el a frekvenciamérőm, amivel pl. mérni tudom a hálózati frekvencia század Hz-es ingadozásait is.)
(#) etilalkohol hozzászólása Márc 4, 2007 /
 
Tiny13 Bascom probléma SOS!
Sziasztok! Sikeresen megépítettem az égetőt, feltelepítettem a Bascom-AVR 1.11.8.3 verziót és a tiny13-ba be is égettem próbának egy ledvillogtató progit. Minden jó addig amíg nem próbálok egy változót létrehozni, ekkor azt az üzenetet dobja a fordító, hogy túlléptem az SRAM méretét. Elvileg 64 bájt méretű SRAM van a tiny13-ban azaz a Bascomra gyanakszom. Ha ki tudnátok próbálni, hogy nálatok is dobja-e a hibát a fenti chip beállítása esetén azt megköszönném!
Következő: »»   19 / 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