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
Lehetséges hogy értelmetlen lenne rajzolnom. Átnéztem minden egyes forrasztást még párszor... az USBasp-n képes voltam kicsit összekeverni a tűket. Viszont továbbra sem működik, ugyanaz a hiba. A MISO-t cseréltem fel a MOSI-el, illetve az SCK-t kötöttem az NC-hez. Szóval gondolom most van egy szépen megsütött IC-m, ami még levélnehezéknek is túl könnyű. Vagy tudok még vele valamit kezdeni?
Ezt építettem meg: Bővebben: Link kisebb változtatásokkal: -7805 nincs benne, egyből az USBasp-ről kapja az 5V-ot, ezáltal a két kondenzátor is ki van szedve ami a transzformátor IC-hez kellene. -A ledet és a 330 Ohmos ellenállást nem raktam rá -10k ellenállás nincs az RST és a VCC közt -Nincs reset gomb -Csak a pillanatnyilag szükséges lábakat forrasztottam be (MISO, MOSI, RST, SCK, VCC, AREF, GND) -Az USBasp 5V-ja és a GND-je közé tettem egy 16V-os 10μF-os kondenzátort (ha jól tudom a fehér csík a kondi oldalán a GND oldalt jelenti). Ezt egy régi videokártyáról szedtem le, de kimértem, elvileg 10.2μF a kapacitása (kicsit ingadozik a műszeren, kb 10.2 és 9.8 közt, igaz, nem a legstabilabb portok vannak hozzá. szóval lehet csak a kezem remeg). Lehet hogy ő a bűnös? Mire ezt lerajzolom megöregszem, szóval bocsi, de nem nem szívesen bajlódnék azzal órákat. (vagy van rá valami jó program? mert én nem találtam) Fotót mellékeltem a tákolmányomról, de az alsó rész úgy sem látszik rendesen a kábelrengeteg miatt. De azért hátha segít és csak én vagyok vak. A hozzászólás módosítva: Márc 18, 2016
Látom feleslegesen koptattam a billentyűzetem...
Ezt nem mondanám. Csak az a helyzet, hogy nem nyomtatom a pénzt, illetve elég korlátozott képességekkel rendelkezem. Ezt összehozni is egy elég nehézség volt számomra, ennyi összevissza kábelezéssel. Nem akarok új programozót venni, ha a régit is megcsinálhatom. Ha meg veszek egy új Arduino-t, akkor miért bénáztam volna ezzel? Elnézést hogy látszólag ignoráltam a hozzászólásaidat, de millióegy helyen sokkal egyszerűbben írják le. Értem én, hogy a te munkád stabilabb és igényesebb, de valahol el kell kezdenem. De csak nem fogok ledeket egymás mellé forrasztgatni a végtelenségig... De természetesen szívesen fogadok bármilyen nem túlságosan bonylult (ferritgyöngy meg hasonlók ) javaslatot. Ha 10 honlapon nem láttam hogy ez így működni fog, akkor egy helyen sem...
A hozzászólás módosítva: Márc 16, 2016
Idézet: „10k ellenállás nincs az RST és a VCC közt” Pedig kellene!
Mint írod, csak volt némi gubanc a kapcsolatban. A képet elnézve ez lesz a legvalószínűbb.
Nem egyszer esett meg velem, hogy mindenre megesküdtem volna, hogy a kapcsolásom jó, de mint kiderült mégsem. Ne csak a forrasztásokat néz meg. Hanem a kapcsolatot a mega328 lábai és az USBasp tüskesora között. Lehet egyszerűbb lenne a vezetékeket újra bekötni (előröl kezdeni). Tiszta lappal indulni. Ezek az elkötések(MISO<->MISO, SCK<->NC csere) még nem vágják gajra az AVR-t. Az AREF és a VCC összekötése viszont nem jó. Így a referencia feszültsége mindig VCC-vel lesz egyenlő vagy rosszabb... ez részben, vagy teljesen gajra vághatja. (Ezt jól tudom?) A kondi szerintem nem ludas. Ha az lenne a gond, akkor a PC nem is látná az USBaspt, mert akkor letiltaná. Olyan hibát kapnál, hogy a programozó nem elérhető.
AREF-t csak akkor javasolt bekötni, ha tényleg van külső referencia. Ha pl. a belső referenciára kapcsol a szoftver mikor vmi külső is be van kötve, akkor elfüstöl az IC.
Nem feltétlen. Ebben a típusban (vagy mindegyikben?) az adatlap szerint van egy beépített felhúzó ellenállás.
Azért nem árt, ha csak odakerül egy külső is. Én is használni szoktam.
A gond az, hogy a 10k felhúzó ellenállás és a 100nF kondik nem igazán opcionálisak, bármi mást is írnak máshol.
Ha tudom, hogy egy protonyákon forrasztasz össze vmit, akkor biztos nem írom a ferritgyöngyöt és hasonlókat, mert kb. nem oszt nem szoroz, úgyse lesz tőle jobb. Feltételeztem, hogy azért akarsz saját Arduinót építeni, mert jobbat szeretnél mint, ami kapható. Kínából 900Ft körüli árért teljesen jó példányok vehetőek, sztem neked többe került, amit most ráköltöttél...
Szia! Van 2db gnd és egy Avcc láb is. Ezek be vannak kötve?
sziasztok
Van egy Atmega 128 fejlesztőpanelem Jtagice programozóval Korábban kifogástalanul működött, most viszont ahogy csatlakoztatnám avr studio 4-ben a "could not connect jtagice" ablak jön fel folyamatosan. COM port száma 1 és 4 között van. Valakinek van ötlete mi lehet a probléma, esetleg merre induljak el? A hozzászólás módosítva: Márc 17, 2016
Fuse bit jól van beállítva? Jtagen-re gondolok.
csatti2:
Akkor az AREF-t lekötöm teljesen. (vagy kössem össze valamivel?) egy 10k-t rárakok (VCC és RST közé), de hova is kell a 100nF? Amúgy azért akartam összerakni és nem venni, mert erre bátran rá merek forrasztani, nem úgy mint egy smd elemekkel telerakott lapra. De kezdek erősen azon a véleményen lenni, hogy ha még sokat szívok ezzel, akkor kidobom a fenébe és veszek egy összerakottat ebayen. Sick-Bastard: Úgy néztem a kapcsolást és csipogott is hogy érintkezik. Nem értem mi van... utoljára szétszedem az egészet és veszek egy pontozott univerzális nyákot (maratni nem tudok sajnos) tursaba: Igen, mindkettőt bekötöttem.
AREF és GND közé 100nF (ez nem kötelező).
VCC és GND közé 100nF (közel a lábakhoz). AVCC és GND közé 100nF (közel a lábakhoz). Kapható protonyák, amit beledughatsz a gyári arduino-ba. Persze csinálhatsz ilyesmit házilag is ha akarsz. Ebből is látszik, hogy nem kötelező forrasztgatni az arduino-t. Bővebben: Link A hozzászólás módosítva: Márc 17, 2016
Köszönöm. Holnap jelentek hogy mire jutottam.
Ez a protonyák dolog jó ötlet, de előbb meglátjuk hogy ezzel jutok-e valamire
LED-et villogtatnék ATiny13A-val, de nem tudom felprogramozni, mert bármit csinálok a program memória 300%. Mit lehet tenni?
AVR Memory Usage ---------------- Device: attiny13a Program: 3012 bytes (294.1% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) Build succeeded with 0 Warnings...
Sziasztok!
ATiny13A mikrokontrollernek az ADC-ét szeretném beállítani. Ez a kód így miért nem működik?
Ez itt épp, hogy a beépített referenciát választja ki...
Ha ez nem elég, akkor pedig próbálj inkább az ADCSRA ADIF bitjére várni konverzió végeként (ezt a bitet törölni is kell azzal, hogy utána 1-be írod), a leírás szerint ez akkor áll egybe, amikor a konverzió véget ért és az ADCL és ADCH regiszterek is frissültek.
Eszközkezelőben nézdd meg, melyik COM porton van( Start-->futtatás: devmgmt.msc ).
A szenzor ML8511 1...3V közti kimenő jelet biztosít. A célom, hogy 1,123V-nál nagyobb feszültségnél a LED ne világítson. A lényeg, hogy a fenti kód működik breadboardon atmega32-vel 3.3V-ról, de attiny13a-val nem úgy működik ahogy elvárnám.
Ha a tápfeszültség 3.3V és ez a referencia is, akkor az U(quantum)=3.3/1024, így ADC(1,123V)=1,123/U(quantum)=348. A problémám, hogy ez a határ attiny13a-nál nem 348, hanem kb 1000 adc értéknél van.
Nem figyelsz. Rossz a kódod. A te kódod a belső referenciát választja ki (ami 1,1V körüli), miközben a kommentedben a Vcc-t írod...
Üdv! Frissen telepített winavr-be akartam a mellékelt programot átírni mega8515-re a 90S8515-ről, de csak hibát ír ki. Nem találja az "include".h fájlokat. Már átmásoltam a winavr-ből is a program könyvtárba de ua. a hiba. Valaki ránézne? Köszi
És ha csak a régi(89S8515-re fordított) hex fájlt áttöltenéd a mega8515-be? Visszafele kompatíbilis.
Mást is szeretnék módosítani a programban. Elolvastam az oldalon található winavr telepítést, meg "kezelést". De nem jutottam előbre.
Atmega32 máshogy volt bekötve. Ott működött azzal a kódrészlettel is. Attiny-nél kitöröltem azt a sort és most már azon is fut rendesen. Köszi a segítséget.
Megpróbálom AVR Studio-ba importálni. Milyen paraméterekkel kell fordítani? Csak ez miatt:
A hozzászólás módosítva: Márc 20, 2016
Üdv! Van az IEC.C- ben egy ilyen sor.
Kellene egy fordítás
Meg egy
Ha kivetelezhető. Köszönöm!
Sziasztok!
Az avr-ek hogy viselik, ha működés közben megváltozik a tápfeszültsége? Arra gondoltam, hogy az energiafelvétel minimalizálásához alvó mód előtt lekapcsolnám a step-up konvertert, és az avr ilyenkor csak az akku feszültségét kapná (konverterrel párhuzamos diódán keresztül), a konverter pedig nem fogyasztana semmit (meg a szenzorok sem). A kérdés csak elméleti, sehol nem találtam infót arról, hogy viselkedik ilyenkor az uC. A hirtelen változást egy kis kondenzátor simítaná ki, nehogy reseteljen.
Normálisan viselik. Az alacsony feszültség védelmet kapcsold ki az AVR-ben, vagy állítsd a legkisebbre.
Köszi! És szoktak ilyen megoldást használni, mert nem találtam semmit róla?
Elviseli. A lényeg hogy a minimálisan előírt feszültség az meglegyen, a frekvenciától függően. Persze alvó módban ez 0Hz, de gondolni kell arra is hogy az ébredés pillanatában még a legkisebb feszkót kapja, de már "rendes" órajelen akar ketyegni. Ilyenkor simán elszállhat az egész. Megcsinálhatod hogy altatás előtt átállítod az órajelosztót(lásd: avr/power.h), így ébredéskor az alacsony indulófeszültséghez kicsi induló-órajel társul. A kondit illik jól méretezni, mert egy izmosabb fojtótekercs jókat rúghat a feszültségen amikor éppen megszűnik minden terhelés.
Konkrétan step-up konverter lekapcsolására még nem láttam példát, de a minimális feszültség(~2.2V) megléte esetén elviekben semmi akadálya nincs egy ilyen megoldásnak. Én szoftveres RTC-ben használtam olyat hogy az AVR egy 3V-os lítium elemről és egy 5V-os tápról is kapott tápfeszültséget, 1-1 diódán keresztül. Az 5V-os táp oldaláról a feszültség meglétét egy NPN tranzisztor és egy portláb felhasználásával ellenőrizni tudom: amikor "elmegy az áram", az AVR ezt érzékeli(lezár a tranzisztor), és kikapcsolja a LED-es kijelzőt meg az összes kimenetet. Az én megoldásomban az AVR megy alvásba, mert az órát továbbra is számlálni kell. 4MHz-es kristályt és 8-as osztást használok, azaz folyamatosan 500kHz-en ketyeg. Egy CR2032 elemmel elmegy ebben a módban kb. 2-3 hónapig... |
Bejelentkezés
Hirdetés |