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
Vagy még egyszerűbb, ha elképzeled mi lesz, ha megfordítod a diódát???
Rászoktam a FET-ekre, bár a 25A-es határt bevallom nem használom ki. Átlagban 1A-t kapcsol, de legrosszabb esetben - rövidzárkor - sem megy 4A fölé.
Nekem a bipoláris tranzisztorok kedvemet szegték, inkább háromszoros áron FET-et rakok bele. A bipolárissal az a bajom, hogy 1A-nél 20-at erősít. Magyarul 50mA kell a bázison, hogy rendesen kinyisson. Ha az 50mA 16V feszültség mellett megy, akkor a teljesítmény U*I 0,8W. Egyetemista éveimben bázisra kötött ellenállással fűtöttem a lakást. Tudom, van Darlington, meg egyéb hókuszpókusz, még azzal együtt is olcsóbb lenne, de megveszem a BUZ11-et, vagy az IRF9Z34-et azt hadd szóljon. Van három lába, de amikor kell, akkor kapcsol is rendesen, hősugárzó nélkül. A hozzászólás módosítva: Jún 2, 2015
Így van, én az N és P csatornás FET-eknél is mindig azt nézem, hogy a belső diódája ne okozzon zárlatot, mert csak akkor "áll" jó irányban .
Sziasztok!
Ezzel az égetővel: Bővebben: Link fel tudnám-e programozni a következő IC-t?: Bővebben: Link (Írtam már egy másik, erre kitalált topikban, csak azt már nem látogatják ) A hozzászólás módosítva: Jún 2, 2015
Fel tudnád, bár nem ajánlanám. Az RS-232 az nem SPI. Fel lehet használni a CTS, DTR, RTS, RI, DSR, ... egyéb lábakat LED villogtatásra is, miután átbuheráltad az operációs rendszert, de fusizás az egész. A szabványok semmibevétele, megerőszakolsz egy rendszert, ami adott gépen, adott operációs rendszer alatt talán működhet.
Ha minőséget akarsz, akkor avrisp2 legalább. A hozzászólás módosítva: Jún 2, 2015
OK, köszi!
De működne? Először kipróbálnám, hogy fel tudok-e egy ilyet programozni, és majd később vennék olyan műszert.... (Azért a biztonság kedvéért egy olyan gépen próbálkozok, ami nem baj, ha ... )
Attól függ. Ha polaritás védelemre kell, akkor pont akkor jó, ha fordítva van bekötve.
Ezt sajnos nem tudom neked megmondani. A rajz alapján a TXD a RESET-re, a DSR/RTS az SCK-ra, a CTS a MISO-ra, a DTR a MOSI-ra van kötve.
Nem ismerem az RS-232 flow controlt, ezért nem tudom megmondani, hogy képes-e összeakadni a kapcsolás az operációs rendszerrel. Még akár működhet is, mindenesetre én hanyagolnám. A legtöbb mai számítógépen sorosport sincs, ráadásul meg is erőszakolja a szabványt.
Üdv!
Hogyan kell AVRDragonon egy ATMega8-at bekötni HVSP-hez, vagy HVPP-hez? (funkció szempontjából van különbség a két programozási mód között?) Az atmel oldalán egy Mega48-hoz valót találtam, az jó a Mega8-hoz is? Itt van, amit találtam.
Hát nem mindegy! A HVSP csak 8 lábú IC-hez jó, a HVPP csak az fölött. ATMega8 esetén mind a 20 HVPP vezetéket be kell kötni. A 48-ashoz való kiosztás 100% hogy jó 8-ashoz is. A panelen találsz egy "HV_PROG" nevű csatit, azon vezeti ki, de ha minden igaz, neked csak egy 28 lábú keskeny IC foglalatot kell beforrasztanod a "TOP" oldalon, ott abban a sorban ahol látod az "FC" meg "CE" feliratokat.
Hozzáértőktől kérdem: a 40p foglalatot a BOT oldalra kell forrasztani? A hozzászólás módosítva: Jún 3, 2015
Köszönöm!
De biztos elég csak beforrasztani és kész? Nem csinál semmit, és ahogy a Dragon NYÁK-ját nézem, nem is mennek a HV_PROG-tól erek oda. Személy szerint bekötném a HV_PROG-ot a panel megfelelő részére, de azért megkérdem: biztos nem kell bekötni? A hozzászólás módosítva: Jún 3, 2015
Ez az én problémám is, szerintem a HVPP egy nagy baromság. Feleslegesen foglalja a helyet a chipben, amikor a probléma egyszerű logikai kapcsolással megoldható lett volna.
+12V-ot raksz a RESET-re, ami elindítja az RC oszcillátort, utána SPI-n felprogramozhatod az IC-t. Ennyi kellett volna, nem pedig 50 vezetéket összevissza dugdosni és egy új protokolt kitalálni hozzá. A HVSP dettó ugyanez, bár előnyére legyen írva, hogy legalább nem kell kábeldzsungel hozzá. A hozzászólás módosítva: Jún 4, 2015
Idézet: „+12V-ot raksz a RESET-re, (...), utána SPI-n felprogramozhatod az IC-t.” Alapvetően a HVPP/HVSP a "hagyományos" programozási mód, az első AVR-ek és PIC-ek idején ez volt a "menő". A +12V mindig kellett az égetéshez, másképp a korai EEPROM-ok nem voltak programozhatók. Az a sok-sok vezeték a táp mellett az órajel, kétirányú PÁRHUZAMOS adatbusz, címzésmód-és programozás-mód választók, bank-választók, stb. Egy korai EEPROM-ot ha megnézel, azon sem találsz kevesebb vezetéket, már ha égetni is szeretnéd... Az ISP (ill. PIC-nél ICSP) tulajdonképpen egy speciális bootloader, mert a "mai" technológiával ez is belefért egyetlen IC tokba, egyébként tökugyanazt csinálja mint a nagyfeszes rész, csak a dekódolást a tokon belül végzi és nem veszi igénybe a többi portlábat sem. A +12V az valamiért megmaradt a nagyfeszes résznek(pl. hogy üzemi körülmények között ne legyen átprogramozható), egyébként ez nem csak RESET-be állítja az IC-t hanem azt a sok címző-adatátvivő bizbaszt rákapcsolja a kimeneti lábakra! Ezért vigyáznék vele, ha áramkörön belül akarnék 12V-os RESET-el programozni... Az viszont igaz, hogy a TPI-n programozható AVR-ek (pl. ATTiny10) működnek ugyanazzal a (klón) AVRISP-mkII-vel, ha letiltom a RESET-et(pl. mert kell a portláb) és a RESET lábra újraprogramozáskor +12V-ot kapcsolok. Igaz, csak optocsatolós megoldással, de működik! Ez is csak akkor, ha az IC-t kiveszem az áramkörből(vagy mindent lekapcsolok róla). A hozzászólás módosítva: Jún 4, 2015
Szerintem elég ha a foglalatot beforrasztod, de azért keress rá a neten, sok képet megosztottak róla. A NYÁK-on hiába keresed mert 4 vagy 6 rétegű, de áramkörileg sem biztos hogy megtalálod mindnek a párját mert abba a 28p foglalatba eltérő kiosztású IC is belemehet. Pl. ATTiny28 aminek más a lábkiosztása, ezt a Dragon "házon belül" oldja meg.
Se bekötve, se anélkül nem programoz.
ISP-n sem működik, sem Mega48-cal, sem Mega8-cal. Visszaküldöm gariba, itt valami nincs rendben.
Üdv!
Ha EEPROM-mal szeretnék kommunikálni minél gyorsabban, akkor SPI, vagy I2C a jobb interfész?
Ha írni is akarsz akkor sajnos egyforma(kb. 4-5 ms / bank).
Hogyan programozhatok avr-t külön égető nélkül?
Van olyan avr amit direkt usb-vel programozhatunk? Illetve van pci kártyás soros vagy nyomtató portal is megtehetnénk? ( nem tudom ezek menyire szabványosak) De szeretném utána usb-s kapcsolatra birni miután felprogramoztam... Kezdő de bizakodó vagyok.
Az Avrdude nevű program segítségével gyakorlatilag bármivel lehet AVR-t programozni aminek van 3 digiátlis kimenete és egy digitális bemenete aminek a jelszintje kompatibilis az AVR-ével.
LPT portra egy STK200 nevű programozót kell építened. Ez kb. csati + 5 ellenállás legegyszerűbb esetben. De pld. HID billenytűzet Numlock stb. LED-jei és egy gomb: https://wiki.steve-m.de/hidkey_gpio Vagy egy USB hub: http://www.pjrc.com/hub_isp/
Vagy használhatsz Atmega8/16/32U2 sorozatot de valamelyikből van U4-es is.
Ezeket csak USB-re kel kapcsolni és mehet is bele a program. >>>>>LINK<<<<< A hozzászólás módosítva: Jún 6, 2015
Sziasztok!
Atmel Studio 6.1, és MKII-vel programozok Atmega128-at. Egy PORT-ot szeretnék beállítani, DDRA=0xff, tehát mindegyik kimenet, és a PORTA kezdeti értéke 0x00. Ha a main-en belül, de a while(1)-en kívül adom ki a PORTA=0x0f-et, akkor nem történik semmi (a while(1) üres), olyan, mint ha egyszerűen le sem fordulna ez a sor. Ha ugyanezt átmásolom a while(1)-on belülre, akkor pedig gyönyörűen jelzik a LED-ek, hogy beállt a PORT a megfelelő értékre. Nem értem, hogy hogyan lehetséges ez. Van ötletetek? Köszi. szerk: Most közvetlenül a DDRA után raktam be a PORTA=0x0f-et, és működik. Olyan, mintha nem törlődne az előző program, vagy mintha nem lenne teljesen korrekt a program, vagy az Atmega-val van valami Ebayes, 2$ volt 2 db... Közvetlenül a while(1) előtt ismét nem működik a parancs... A DDR-ek után pedig működik. Mi van ezzel az IC-vel? A hozzászólás módosítva: Jún 6, 2015
Egymás után jön két PORT beállítás, PORTA és PORTF, ha rakok közéjük delay-t, akkor beáll mindkét PORT, ha nincs delay, akkor csak az első PORT áll be. Ez normális működés?
1 nop-pal nem működik, kettővel már igen. A hozzászólás módosítva: Jún 6, 2015
Ez véletlenül nem az a széria, amiről már vitáztunk itt a fórúmon, hogy még kínainak is gyanúsan olcsó!
És én fénykép alapján lecsiszoltnak és át szitázottnak véltem? Hát minden lehetséges! Esetleg próbáld alacsonyabb órajelen hajtani!
Üdv!
AVRDragon-t szeretnék használni HVPP-n, de bármilyen MCU-t kötök rá (konkrétan mega8L-lel és mega48PA-val próbáltam) a csatolt képen látható hibaüzenetet dobja, mindig 0x003fffff beolvasott címmel. Mi lehet a probléma? Rosszul forrasztottam volna a HVPP vezetékeit? (Elvileg - ha nem hibáztam el - e szerint van bekötve.)
Nem olvastam még ezt a hozzászólásod, majd rákeresek.
Ha jó helyre rakom a PORTA=0xf0-t, akkor működik... Csak egy SPI inicializálás, és SPI adatküldés van a while(1) előtt, nem hiszem, hogy befolyásolhatná, mivel az SPI a PORTE-n van, ide direkt semmit sem kötöttem. Megpróbálok rájönni, hogy mi a baj. Úgy néz ki, mint ha a fordító szedné ki, de miért? Ha a főprogramban változtatom, akkor minden rendben van. Csak így a tesztfázist bonyolítja meg, amikor még csak a kijelzőket tesztelem...
Ha melegszik az AVR, lehetséges, hogy problémát okoz? 8MHz belső oszcillátorral hajtom. A melegedés az kb. 45fokC tokhőmérsékletet jelent.
Mitől melegszik? A környezet ilyen ahol használod, vagy magától melegszik?
Ha B akkor vagy valami el van kötve vagy valószínűleg hamis vagy gyárból selejtként kilopott majd ebayen értékesített a csip.
nagyon köszönöm!!! , és Lucifernek is!
|
Bejelentkezés
Hirdetés |