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
Elment az eszed? 4 helyett 27 kimenet, 27 tranyo 27 ellenállás ???????
Ejnye ejnye...
A legujabb LED-k 12V-rol 5k6 ellenállással is vakitanak
Úgy is nézheted, hogy mit könnyebb leprogramozni egy kezdőnek. Lehet shift regiszterrel könnyebb lenne, mint egy LED-mátrixot összehozni. A legegyszerűbb mégis az lenne, ha lenne 27 kimenete. Shift regiszterhez is kell 27 ellenállás, a LED-mátrixhoz viszont tudás kell. Az egyiket megveszed a boltban, a másikat a kérdezőnek el kell sajátítania!
![]()
Emberek, mire megprogramozol 27 portot 4 helyett ahol amugy is (fejben) ki kell találni a matrixot annyi idö alatt 10-t össze lehet forrasztani és kitesztelni. De ezt hagyjuk inkább a kollégára
Neked lehet, de nem egy totál kezdőnek.
A hozzászólás módosítva: Márc 30, 2017
Én sem vagyik nagy programozo, éppen ezért a mátrix sokkal célravezetöbb, hiszen csak a 4 kimenetröl kell gondoskodni és nem 27-röl meg egy marha nagy procirol (3 portos). Itt meg a méretek is fontosak, azaz a hely.
A mátrixot szépen összeforrasztja kiprobálja és ha minden jo lehet programozni.
Pontosan. Ez a tervem nekem is, elöbb fizikailag összehozom a mátrixot. A biztonság kedvéért ki is mérem majd aztán jöhet a programozása. Tranzisztorokra én is gondoltam. A kiszemelt LED-ek kb 3 mm-esek, két fehér lesz a tetején sárgára befestve (mert így hasonlít legjobban az eredeti színére), a többi normál borostyánsárga. Semmi szuperfényes, csak normál diffúz. Egyébként pont ez a jó kihívás benne, ahogy végigmegyek a különbözö példaprogramokon és értelmezem azokat, mi mit jelent, miért van ott, stb. Aztán ebböl jönnek a saját kreálmányaim, mint pl. a futófények 6 LED-del.
A hozzászólás módosítva: Márc 30, 2017
Nem ment el az eszem: (tőled idézek)
Azért kell a dioda matrix. Az AVR-böl is gyakoraltilag ugyanazokat a jeleket kell kinyerned. Villogo fent Bal Közep Jobb Semmi (kikapcsolva) Erre gondolva 4db tranyó és 4db ellenállás kell,mert ha közvetlenül akarja rákötni a ledeket a vezérlőre akkor csakis párhuzamosan tudja őket kötni(vagy egy kis szerencsével kettőt sorba). Viszont ha nézem az ábráját,akkor adott esetben egy portlábon csüngne akár 10 led is egyszerre, ami szerintem egy portlábnak sok. A vezérlő nem 12V-os,hanem ARduino,ami 5V. A hozzászólás módosítva: Márc 30, 2017
Igen, pontosan így van. Ez az én elgondolásom is. Az Arduino egyébként most a próba és a "tyúkom" is egyben. Ha minden jól összejön a végén akkor kiszabadítom belöle a programomat és átteszem egy különálló ATmega chip-re (tojás), amit a "tyúk" sikeresen felprogramozott már bootloaderrel.
![]() A hozzászólás módosítva: Márc 30, 2017
Azt nem tudjuk milyen LEDjei vannak.
A sárgábol akár 2-t is sorba köthet 5 Voltra, igy már csak öt (dupla) LED marad.. De ezt elöbb meg kellene rajzolnia, akkor majd meglátjuk mennyi is lesz. Miután SMD Ledekröl van szo, ( legfeljebb 3 mm-s) akkor untig elég modellban 5 mA egy LED-re ( különben ugy világit mint Dart Vader kardja). Ahogy irtam nálam a LED alig 2 mA-t kap ( olcso kinai LEDek). A legrosszabb esetben még azt a 4 tranzisztort beépitheti.
Köszönöm. Az "until" szóval vagyok zavarban.
Tehát ha egy AVR az SPI Slave, ott minden 8 bit után beállítódik az SPIF flag, ill. meghívódik a megszakításrutin amennyiben engedélyezve van. Ha jól értem, a Slave ekkor átírhatja az SPDR regisztert, és a következő 8 órajelben ez fog kishiftelni belőle a MISO vonalon. És a Master oldalon két bájt átvitele közé be kell iktatni egy kis szünetet, hogy a Slave le tudja kezelni. Mindezt úgy, hogy az SS láb lehúzva marad. Ezidáig bájtonként kezeltem a dolgot, és nem is volt 1 bájtosnál nagyobb átvitel Slave-->Master irányban, csak fordítva. Utóbbit (Master --> Slave) úgy oldottam meg, hogy a felső 4 bitben volt a cím, az alsóban maga az adat. 8 bájt átvitelére tökéletes (volt). Ha több kellett, akkor az MSB volt a parancs(1)/adat(0) jelzőbit, és a teljes adatsor (CRC-vel) 7 bitenként ment át. A szekvenciát START és STOP parancs vezérelte, a STOP után egy ÜRES parancs átvitelekor kapta vissza a Master a nyugtát. A hozzászólás módosítva: Márc 31, 2017
Nekem teljesen más problémám van a dologgal, rühellem a kábeleket. Modellezésnél mindig az a legnagyobb probléma, hogy 27 kábel 27 helyen elromolhat, 4 kábel meg 4 helyen.
Vagy szalagkábellel buszozok, vagy sorosan oldom meg. A világítást például WS2812-es LED szalag darabolásával próbálom majd megoldani. 3 pin van, azon darálom az adatokat, a megfelelő RGB LED meg megfelelő színben fog világítani. Makett házaknál amúgy sem látszik belülről, hogy mi adja a fényt. Programból meg egyesével állítom a fényerőt és a színt. Mindenesetre sok kábel sok szivacs...
Én is ugyanerre gondoltam, mert ha jol számolom, az a tábla kb 3x4 cm méretü - vagy még annyi sem. Ezt összekötni karvastagságu 27+2 eres kábellel nem leányálom.
Én a legszivesebben az SMD procit is rátenném a lapra és 3 érrel kapcsolnám a külvilághoz.
Pontosan így vagyok vele én is. Amúgy az 1:87-ben valóban okosan kell gazdálkodni majd a hellyel. De a hardver majd egy külön téma lesz amúgy is.
![]()
Sziasztok!
Lenne egy problémám. Amiről nem tudom eldönteni, hogy az én hibám, a mega128-é, vagy a fordítóé. Adott két LED a PA0-án, és a PA1-en. PE0 lábon pedig egy gomb. Mutatom a kódot:
Az történik, hogy hiába nyomom a gombot, nem vált állapotot a két LED. Hol a hiba? Köszönöm szépen! A hozzászólás módosítva: Ápr 3, 2017
Ott a hiba, hogy nem &&, hanem csak sima & kellene a 14. sorba.
A hozzászólás módosítva: Ápr 3, 2017
Èrdekes módon, elöbb megcsináltam a programot a villogó táblára, mint a hardwer részét. Nagyon foglalkoztatott a megoldás. Sokat böngésztem a netet, persze ilyen példát nem találtam, de a sok gondolkodásnak és próbálkozásnak ez lett az eredménye: Pontosan az, amit szerettem volna. Kiindulási állapot a bal nyil, gombnyomás után vált az "X"-re, újabb gombnyomásra vált a jobb nyilra és végül újabb gombnyomásra visszatér a bal nyilra. A jelzések addig maradnak változatlanok, míg a gombot meg nem nyomjuk. Egész véletlenül lett benne pergésmentesítés, mert a program csak akkor vált, ha véget ér egy villogás üteme. Azt mindenképp végig csinálja. Ìgy legalább biztosítva van a tábla a véletlen gombnyomások ellen is
![]()
Most majd jöhet a szervó hozzá. Amire az "ilyen" tanulási módszer még ráébresztett, hogy nagyon nem mindegy az utasítások sorrendje és oda kell figyelni, hogy meg legyen minden kapcsos zárójelnek a párja ![]() A hozzászólás módosítva: Ápr 4, 2017
Néhány kép, amiket készítettem magáról a tábláról és a LED-es jelzésképekröl.
Sziasztok!
Megint belefutottam ebbe a problémába. ISP megy, JTAG nem. Pedig ISP-n engedélyezve van a JTAG. Órajelnek rendben kell lennie,mert egyébként meg nem tudnék ISP-n sem csatlakozni. Mindkét esetben 5V-ról járatom. ATMega32-16AU. Annyi még hozzátartozik, hogy bontott, de elméletileg ennek a ténynek nem kellene befolyásolni a működését. Tudtok-e tippet adni, hogy mit ellenőrizzek le? A hozzászólás módosítva: Ápr 6, 2017
Lehet laikus vagyok ebben, de mit jelent az SPIEN mellett a pipa mellé rakott kis piros kérdöjel? Azt a program tette oda?
A hozzászólás módosítva: Ápr 6, 2017
Az a rész gondolom feltűnt, hogy a JTAG lábak mások mint amit az ISP-hez kell használni, ugye?
Ha debuggolni akarsz, máskor jobb választás lehet egy olyan példány, ami támogatja a d-wire-t. pl. ATMega328p A hozzászólás módosítva: Ápr 6, 2017
Szia!
Természetesen az ISP-t a MOSI/MISO/Reset/SCK lábakon használom, a JTAG-ot pedig TCK-TMS-TDI-TDO lábakon szeretném használni.De nem akarja az igazságot ![]() Jó dolog a debug, azért maradtam Mega16-32-64-128 vonalon,mert ez volt kéznél nagyobb darabszámban ingyért, tud debugot,van debuggerem is már hozzá(és egyszerű csinálni is) egyszerűen kezelhető, meg elég is volt amire kellett eddig, na meg persze, eddig ASM-ben nyomtam és ott nagyon jól lehetett debugolni JTAG-on keresztül is.(bár 4 lábat elvesztettem az tény,de ez még nem hiányzott sosem) AVR Studio 4.14 @minimodel: a program rakja oda a kis piros kérdőjelet, azt jelenti, hogy ezen a felületen keresztül programozom, ezt nem engedi letiltani,mert akkor kitiltom magam, illetve kirántom magam alól a szőnyeget. A hozzászólás módosítva: Ápr 6, 2017
Ezek szerint több IC-d is van. Hülye kérdés, de próbáltál másik IC-t berakni ugyanabba az áramkörbe?
Igen, van több IC-m is.
Van 5db Mega32, ebből 4 JTAg rossz, 1 db jó. Ez a második panel. Az első panelnél beválasztottam egy rosszat,majd másodjára egy jót.(ugyanaz a panel volt) Ezzel azt befejezettnek nyilvánítottam. Másodiknál (ugyanolyan panel) 3db hibás JTAG ![]() De régebben jártam ugyanígy M16okkal is.Bár nem ilyen arányban. @vargham: sajnos a 6 v. 7 Atmel Studio nem támogatja tudtommal a JTAG-ot.
Ilyennel én is szenvedtem. A probapanelben több chip hibátlanul müködött. Átraktam a fehér breadboardba ott már nem, és ami leginkább aggasztott, hogy a NYÁK-ban sem. Nekem is szerencsére volt egy marék procim és igy sikerült kiválogatni néhányat ami mindenhol ment. A bepogramozott procik mindenhol hibátlanul müködtek, igy csak a JTAG kapcsolat érzékeny valamire.
Eddig én ilyennel (szerencsére) nem találkoztam, ezért is vagyok meglepődve nem kicsit.
Érzékeny? Mire? A csati és a chip között nincs 1,5cm vezeték panelon, a programozó meg tesztelve másik JTAG-os chippel és ott minden gond nélkül működik. Ilyen felirattal egyébként akkor is találkoztam, ha úgy próbáltam JTAG-on csatlakozni, hogy az le volt tiltva. Létezik olyan esetleg, hogy hiába engedélyezem a JTAG-ot, az akkor is tiltva marad? A hozzászólás módosítva: Ápr 7, 2017
"sajnos a 6 v. 7 Atmel Studio nem támogatja tudtommal a JTAG-ot."
Ezt honnan vetted? Nem lehet, hogy a te debuggeredet nem támogatja? Pontosan mit használsz? JTAG-ICE III és AVR Dragon napi használatban van nálunk JTAG-en. Atmel Studio 7 tool options.
JTAG-ICE (nem III)
Sima soros(najó USB-SERIAL átalakítóval) (Bocs a félreérthetőségért,rosszul mondtam/írtam) A hozzászólás módosítva: Ápr 7, 2017
|
Bejelentkezés
Hirdetés |