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   670 / 839
(#) kapu48 válasza csabeszq hozzászólására (») Jún 2, 2015 / 2
 
Vagy még egyszerűbb, ha elképzeled mi lesz, ha megfordítod a diódát???
(#) csabeszq válasza zombee hozzászólására (») Jún 2, 2015 /
 
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
(#) Kovidivi válasza kapu48 hozzászólására (») 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 .
(#) Vertexel hozzászólása Jún 2, 2015 /
 
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
(#) csabeszq válasza Vertexel hozzászólására (») 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
(#) Vertexel válasza csabeszq hozzászólására (») 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 ... )
(#) csatti2 válasza Kovidivi hozzászólására (») Jún 3, 2015 / 1
 
Attól függ. Ha polaritás védelemre kell, akkor pont akkor jó, ha fordítva van bekötve.
(#) csabeszq válasza Vertexel hozzászólására (») Jún 3, 2015 /
 
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.
(#) Vertexel válasza csabeszq hozzászólására (») Jún 3, 2015 /
 
Rendben, köszi a segítséget!
(#) Gj hozzászólása Jún 3, 2015 /
 
Ü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.
(#) zombee válasza Gj hozzászólására (») Jún 3, 2015 /
 
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
(#) Gj válasza zombee hozzászólására (») 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
(#) csabeszq válasza zombee hozzászólására (») Jún 4, 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
(#) zombee válasza csabeszq hozzászólására (») 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
(#) zombee válasza Gj hozzászólására (») 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.
(#) Gj válasza zombee hozzászólására (») Jún 4, 2015 /
 
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.
(#) Gj hozzászólása Jún 4, 2015 /
 
Üdv!
Ha EEPROM-mal szeretnék kommunikálni minél gyorsabban, akkor SPI, vagy I2C a jobb interfész?
(#) csatti2 válasza Gj hozzászólására (») Jún 5, 2015 / 1
 
Az SPI gyorsabb.
(#) zombee válasza Gj hozzászólására (») Jún 5, 2015 / 1
 
Ha írni is akarsz akkor sajnos egyforma(kb. 4-5 ms / bank).
(#) roland8811 hozzászólása Jún 6, 2015 /
 
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.
(#) Lucifer válasza roland8811 hozzászólására (») Jún 6, 2015 /
 
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/
(#) gerry válasza roland8811 hozzászólására (») Jún 6, 2015 /
 
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
(#) Kovidivi hozzászólása 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
(#) Kovidivi válasza Kovidivi hozzászólására (») 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
(#) kapu48 válasza Kovidivi hozzászólására (») 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!
(#) Gj hozzászólása Jún 6, 2015 /
 
Ü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.)
(#) Kovidivi válasza kapu48 hozzászólására (») Jún 6, 2015 /
 
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...
(#) Kovidivi válasza kapu48 hozzászólására (») Jún 6, 2015 /
 
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.
(#) Lucifer válasza Kovidivi hozzászólására (») Jún 6, 2015 /
 
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.
(#) roland8811 válasza gerry hozzászólására (») Jún 6, 2015 /
 
nagyon köszönöm!!! , és Lucifernek is!
Következő: »»   670 / 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