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   119 / 840
(#) zoly15 hozzászólása Ápr 18, 2009 /
 
Sziasztok!
Jelenleg építgetem Topi AVR-es Akkutöltőjét
Már majdnem minden kész, de én csak 2 cellát töltenék vele..
Azt nem tudom hogy az AVR programján módosítani kell e a leírtakon kívül?
Vagy az osztó ellenállásokat (R2, R5) kell megváltoztatni?
Ha ezt mekkorára?
Bocsi hogy ezt is ide írtam de tudomásom szerint nincsen ennek a töltőnek külön topicja..

Üdv!
Köszönöm!
(#) Sir-Nyeteg hozzászólása Ápr 18, 2009 /
 
Üdv!
Szeretnék létrehozni egy potival állítható időzítőt, de valahogy nem megy.
Atmega8-at használom a leggyakrabban. Csakhogy nem igazán akar működni.
Készítettem egy külön tesztprogramot is rá.
A tápfeszültség megadásának pillanatában tökéletes, és jól jelzi ki az értéket, de utána nem reagál. Szerintem valamit rosszul értelmeztem adatlapból.
Kérnék egy kis segítséget a tapasztaltabbaktól!
Köszönöm!

main.c
    
(#) Sir-Nyeteg válasza Sir-Nyeteg hozzászólására (») Ápr 18, 2009 /
 
Bocsi, lemaradt: az analóg-digital konverter az amivel szenvedek!
(#) kiborg válasza Sir-Nyeteg hozzászólására (») Ápr 18, 2009 /
 
Hali!

C-hez nem értek.

Kiválasztod, hogy melyik csatornán akarod mérni a jelet ?
Beállítod, hogy mi legyen a referencia ?
Módbeállítás is megvan ? ( gondolok arra, hogy freerun,interrupt engedélyezés ?)
Globális interrupt engelyezve van ?

Kiborg

avrbeginners.net -en találsz egy jól kommentezett leírást, igaz hogy ASM-hez, de a kommentből tudsz fordítani
(#) Sir-Nyeteg válasza kiborg hozzászólására (») Ápr 18, 2009 /
 
Az volt a gubanc, hogy bit szinten kiválasztottam, hogy melyikről akarom leolvasni az értéket, viszont a programban már másikat jelöltem meg.
Köszönöm!
(#) Sir-Nyeteg válasza Sir-Nyeteg hozzászólására (») Ápr 19, 2009 /
 
Sajnos még mindig szenvedek az időzítéses programmal.
Cél: potival állítható legyen az időzítés.
Jelenlegi állás: poti a táp és a föld között van, ADC működik, időzítést is állítja (azt, hogy a 16 bites időzítő meddig számoljon)
Jelenlegi hiba: poti tekerésére azt csinálja amit várok tőle, csakhogy 4-szer is: Mintha 4 fordulatot tenne meg, azaz a poti negyedét tudom csak használni.
Külön programban képes jól működni az ADC, így a segítségeteket kérném, hogy mit hol ronthattam el megint, vagy ha van egyszerűbb megoldásotok, akkor várom szeretettel.
Köszönöm!

stepper2.c
    
(#) kiborg válasza Sir-Nyeteg hozzászólására (») Ápr 19, 2009 /
 
Hali!

Azt ki tudom nézni a programodból, hogy az ADLAR bitet 0-ban hagyod.
Ekkor ADCH ban 2 bit, ADCL ben 8 bit, így jön ki a 10 bitnyi pontosság.
Ha ADLAR =1 akkor ADCH 8 bit, ADCL 2 bit.

Eddig nekem elég volt a 8 bit pontosság, így én csak az ADCH-t olvasom ki, ADLAR = 1 mellett.

Hátha segít. Próbáld ki, hogy adlar = 1.

Tudsz debugolni ?
Ha igen, tegyél be a break pointot a megszakítás végére, és akkor rögtön látni fogod, hogy milyen értékkel térne vissza.

Üdv Kiborg
(#) Sir-Nyeteg válasza kiborg hozzászólására (») Ápr 19, 2009 /
 
Hy! ADLAR-t próbáltam, én is gondoltam erre a 8+2 bites elrendezésből adódó problémára, viszont ha ADLAR=1, akkor abszolút semmit nem csinál. Ennek a uProcinak van még két darab 8 bites ADC-je, azzal is próbáltam, és sajna azzal is ugyanez a helyzet.
Viszont a külön ADC-re írt program működik, így lehet hogy a logikát rontom el, esetleg valahol valami túlcsordul, és emiatt látszik az, hogy 4-szer ismétlődnek a poti állásai, csakhogy sajna erre még nem jöttem rá, hogy hol lehetne.
Debuggolást még nem csináltam, Avr Studio 4-ben lehet?
Szerk:
Lehet debuggolni, de nem tudom hogy melyik melyik regiszter, hogyan tudom hogy melyik az adc, vagy pl. a b változóm?
(#) kiborg válasza Sir-Nyeteg hozzászólására (») Ápr 19, 2009 /
 
Mivel programozol ?

Meg milyen uC-t ?

Én mega16-t használok és ott JTAG-on programozom.
Igaz, hogy lefoglal 4 lábat (ez néha nagy hátrány), de cserébe lépésenként tudom nézni, hogy hogyan módosulnak a uC regiszterei.

Ha jól emlékszem mega8-at használsz ? Az nem tudja a JTAG-t. A legkisebb a mega16 (ezért erre esett a választásom tanuló procinak)

Üdv Kiborg
(#) Sir-Nyeteg válasza kiborg hozzászólására (») Ápr 19, 2009 /
 
Jaja :yes:
Atmega8, mert olcsó, van belőle most már rengeteg itthon, lábszáma bőven elég, és Topi AVR-ISP-jével programozom.
Debuggoláson még soha nem törtem a fejemet, mert a logikáját átlátom egy ilyen programnak (még), max ezekkel van bajom, hogy egyszer működik valami, aztán meg nem, de ez is általában az én hibám szokott lenni, pl. bithiba, lefelejtett beállítás. De most ezzel elakadtam.
Tervezem, hogy nagyobbra váltok, de egyenlőre még maradok ennél, mert sokmindent nem próbáltam még. Szerintem ezt az időzítést átrakom dip kapcsolókra, azzal biztos hogy működik, csak sok lábat emészt fel, de mint látható volt, nem kell sok láb nekem most kimenetre.
Legközelebbi dolog amibe belevágok, az az I2C vagy SPI kommunikáció. Ez majd egy főiskolás projektbe is kelleni fog. Ebben tudsz majd segíteni?
Köszönöm!
Most nézem, hogy mega16-nak milyen kis sexy praktikus lábkiosztása van, csábító
(#) kiborg válasza Sir-Nyeteg hozzászólására (») Ápr 19, 2009 /
 
Igazából én is ismerkedem a procival, ezt-azt már csináltam.
Segíteni szivesen segítek, ha tudok.
Bár az a baj, hogy én nem értek C-hez. Csak ASM-ben programozok.

Árak:
ATMEGA8-16PU 8-Bit AVR, 8K Flash, DIP 450 Ft
ATMEGA16-16PU 8-Bit AVR, 16K Flash, DIP 810 Ft

Igaz, kétszer drágább. Cserébe kétszer akkora tárhely, több lábszám,kicsivel több periféria és számomra a felbecsülhetetlen: JTAG!

Itt volt egy cikk, ahol egy mobiltelefon USB-s adatkábelét alakították át egy modemhez. Én ezt a kábelt a JTAG-omra adoptáltam, így van egy USB-s JTAG-om, amit már laptopon is tudok használni, nincs szükségem soros-portra.


Nem is feltétlenül az elvvel van baj, hanem, hogy te elgondolod, hogy egy-egy utasítás mit csinál és végül kiderül, hogy nem is azt csinálja, nem úgy csinálja amit/ahogy te gondoltad.

A megszakítások tudnak belekeverni a dolgokba. pl: döntések/ugrások összehasonlítások alapján történik. Ha megvagy az összehasonlítással, és jönne a döntés/ugrás és PONT akkor jön egy interrupt, ami módosítja az SREG-et, a megszakítás után visszatéréskor már nem jó/nem az eredeti feltétel alapján történik az ugrás. Sok galibát okozott már nekem ez a dolog és elég nehéz rájönni.

Üdv Kiborg
(#) kbalazs válasza gtk hozzászólására (») Ápr 20, 2009 /
 
Sziasztok!

Egy TRULY MSC-C164DYLY-2N 4x16 karakteru (adatlap) hd kompatibilis kijelzot probalok meghajtani a gtk fele driverrel. Atmega32-ot hasznalok, a programozo pedig STK500-as.

Amint felprogramozom az LCD mind a 4 sora izzik(sotet) es mast nem mutat.
probalkoztam a delay es toggle_e fuggvenyekben allitgatni az idoket de semmi valtozas.

Mit nem csinalok jol?

(#) trudnai válasza kbalazs hozzászólására (») Ápr 20, 2009 /
 
Idézet:
„Amint felprogramozom az LCD mind a 4 sora izzik(sotet) es mast nem mutat.
probalkoztam a delay es toggle_e fuggvenyekben allitgatni az idoket de semmi valtozas.”


Probaltad allitani a kontrasztot? Lehet ott van amit szeretnel csak tul eros a kontraszt es igy minden pont feketenek latszik...
(#) kbalazs válasza trudnai hozzászólására (») Ápr 20, 2009 /
 
igen, potmeterrel allitom a kontrasztot, igy ez kizarva.
(#) Axel hozzászólása Ápr 20, 2009 /
 
Sziasztok!

Szeretnék megtanulni AVR-eket programozni. Egy AVR STAMP, 1.3F USB 3.3V starter kitet néztem ki (EPOSZ-féle), úgy gondolom kezdésnek ez jó lesz. Szerintetek is megfelel ez? Illetve van olyan aki ilyet, vagy hasonlót használ s tud majd nekem segíteni a tanulásban?
(#) trudnai hozzászólása Ápr 21, 2009 /
 
Sziasztok,

Ez az uj ATtiny10 egeszen megmozgatta a fantaziam. Ez valoban egy jo lepes volt az Atmeltol. A PIC-ek ilyen kis meretben ugyan mar 5 eve a piacon vannak, azonban az csak a baseline core-t tartalmazza, ebben viszont benne van a szokvanyos AVR core, igaz csak 16 regiszterrel, viszont interruptokkal es 16 bites timerrel.
(#) Topi válasza trudnai hozzászólására (») Ápr 21, 2009 /
 
És sajnos egy újabb TPI eljárással programozható, amit se a Dragon, se az mkII nem támogat. Tehát emellé újabb problémát kapsz, a programozást.
(#) Reggie hozzászólása Ápr 21, 2009 /
 
Esetleg van valakinek elfekvo ATmega406 ?
(#) kiborg válasza trudnai hozzászólására (») Ápr 21, 2009 /
 
6 vagy 8 láb... ez már szerintem olyan mindegy, nem ?
Mit nyersz azzal, hogy kettővel kevesebb a lábszám ?

Kiborg
(#) trudnai válasza kiborg hozzászólására (») Ápr 21, 2009 /
 
1. ez egy SOT23 tokozasu cucc, ennel kisebbet ebben a kategoriaban mar nem lehet talalni.

2. Az ar -- nyilvan egy hobby alkalmazasra tok mindegy, azonban mikor 100ezres nagysagrendben gyartasz ott tipikusan mar minden filler szamit. A PIC10F es az ATtiny10 olyan 38 centes nagysagrendben vannak, mig a 8 labuak 50-60.

UI: Nezd meg az oldalamat, az a mutyurke ott a panel kozepen az egy PIC10F. A 2x6-os 'normal' 0.1" csatlakozo egy batar a chip-hez kepest
(#) gerry hozzászólása Ápr 21, 2009 /
 
Sziasztok!

Egy atmega128-as projektet valósítok éppen meg és annyi lenne a kérdésem, hogy miképpen kell a VCC, AVCC, AREF lábakat a tápra csatlakozni? (ezzel a procival még nem volt dolgom)

A netről már letöltöttem egy-két rajzot, de mindegyik más és más módon rajzolja.

Köszönöm!
(#) kiborg válasza gerry hozzászólására (») Ápr 22, 2009 /
 
Ugyanúgy, mint a többinél.

Én így szoktam:
VCC - direkt +5V

AVCC,AREF összekötve, és ellenállásal felhúzva tápfeszre és szűrőkondi a föld és a közös pont közé.
Eddig megfelelt általános célra jó.
De ha specifikusat akarsz, akkor természetesen lehet módosítani(pl ha nem 5V-t akarsz referenciának).

Üdv Kiborg
(#) wg_kezdo hozzászólása Ápr 22, 2009 /
 
ATTiny45-öt szeretnék üzemeltetni 2db 3V-os CR2016-os elemről. (sajnos nincs itthon új és most a 3db sorba kötve 5.5V-ot produkál ami pont határeset az adatlap szerint).
Ha esetleg 6V-os kap az mekkora probléma?
(azt már kiderítettem, hogy szinte érzéketlen a taposásra, földbe elásásra és fűteni is jól lehet vele egy darabig ).
(#) szilva válasza wg_kezdo hozzászólására (») Ápr 22, 2009 /
 
Először is: nézd meg az adatlapot! Az absolute maximum ratings-nél le van biztos írva, hogy a Vdd értéke mennyi lehet, ha jól tévedek, 7V körül szokott lenni. Addig az értékig nem fog tönkremenni az IC, viszont garantáltan jól az adatlapban megadott határok között fog működni. Ez lehet (csak hasra ütök) pl. 2-5.5V, azaz 6V-nál már kiesik a garantált működési tartományból, de nem megy tönkre. Több mint valószínű, hogy hibátlanul fog egyébként dolgozni, csak ha valamiért mégsem, akkor nem szabad csodálkozni, és nem lehet nyaggatni a gyártót, hogy miért nem. Mellesleg a CR2016 szerintem egyáltalán nem képes akkora áramot leadni, amitől károsodhatna egy AVR.

Én "jobb a békesség" címszóval ilyen esetekben be szoktam tenni egy Si diódát a tápágba, akkor a 6V máris 5.4V körülire leesik, ami meg már benne van mindenféle katalógustartományban. Vagy lehet használni pl. a Microchip nagyon jó kis low-drop stabilizátorait, én az MCP1702 3.3V-os verzióját használtam már ilyen helyen, akkor a telep merülésétől függetlenül elég stabil marad a tápfeszültség is.
(#) wg_kezdo válasza szilva hozzászólására (») Ápr 22, 2009 /
 
Köszönöm akkor jól értemeztem az adalapot.
Nekem elég annyi, ha nem megy tönkre, de majd kiderül, hogy két új elemmel mekkora feszt. érek el. Lehet nem is tudja átlépni az 5.5 V-ot.

Az adatlapban én is kerestem, de amit néztem abban sajnos nem szerepelt csak annyi, hogy 2,7-5,5 V-ig lehet ezért is voltam bizonytalan.

"Mellesleg a CR2016 szerintem egyáltalán nem képes akkora áramot leadni, amitől károsodhatna egy AVR"
Ezt hogy érted?
Nem értetlenkedni akarok csak most tettem fel egy kérdést ezzel kapcsolatban ami kiverte a biztosítékot a kezdők topicjában.
(#) kiborg válasza wg_kezdo hozzászólására (») Ápr 22, 2009 /
 
Szerintem bármilyen aksit/elemet zárunk rövidre vagy rövidzár közeli terhelésnek tesszük ki, akkor is képes nagy áramot produkálni, DE csak rövid ideig a méretéből adódóan. Akkora áramot meg biztos tud, hogy egy AVR tönkremenjen.

Üdv Kiborg
(#) trudnai válasza wg_kezdo hozzászólására (») Ápr 23, 2009 /
 
Idézet:
„"Mellesleg a CR2016 szerintem egyáltalán nem képes akkora áramot leadni, amitől károsodhatna egy AVR"
Ezt hogy érted?
Nem értetlenkedni akarok csak most tettem fel egy kérdést ezzel kapcsolatban ami kiverte a biztosítékot a kezdők topicjában.”


Minden elemnek es akksinak megvan a sajat belso ellenallasa. Gyakorlatilag ez hatarozza meg, hogy mekkora aramot tud maximalisan leadni.
(#) wg_kezdo válasza trudnai hozzászólására (») Ápr 23, 2009 /
 
Értem és ezt az értéket ki lehet valahogy deríteni? Vagy nagyon változó ez az adat?
Mert ha ki lehetne akkor gondolom meg lehetne tudni mekkora a maximum amit le tud adni.
(#) szilva válasza wg_kezdo hozzászólására (») Ápr 23, 2009 /
 
Igen, pl. kis értékű ellenállással (pártíz ohm) megterhelve megméred a kapocsfeszültséget. Innen már csak Ohm törvényét kell használni és ki lehet számolni a belső ellenállás értékét is.

Egyébként rákerestem gugliban, belső ellenállást nem, de egyéb érdekes adatokat azért lehet megtudni a CR2016-ról. Pl. hogy a normál, folyamatos kisütési árama 200uA és a maximális folyamatos 3.5mA, az egész cella 80mAh kapacitású. Nem tudom, milyen felhasználásra tervezted az AVR-t, de ezek elég kicsi számok, érdemes figyelni erre is.
Bővebben: Link
(#) wg_kezdo válasza szilva hozzászólására (») Ápr 23, 2009 /
 
Köszönöm, hogy utánanéztél én egyszer elkezdtem, de valószínűleg rosszul kerestem.
Helyzetjelző fénynek kellett folyamatosan 7mA-t vesz le (ez az AVR waitms-ben) és amikor villan akkor kb 40mA-t.
Élettartamra jó mert 100Ft/db és jó sok repülést kibír. (2 óra repülés az legalább 3-4 nap)
Következő: »»   119 / 840
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