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   146 / 837
(#) levy_k válasza tpeter hozzászólására (») Szept 4, 2009 /
 
Az L-es típus működik alacsonyabb feszről is, de a 16MHz helyett "csak" 8-al. A relét mire szeretnéd használni? Mert lehet, hogy meg lehetne oldani félvezetőkkel is a kapcsolgatást. Ha pedig erre nincs lehetőség, akkor még mindig ott a DC-DC.
Üdv.
(#) tpeter válasza levy_k hozzászólására (») Szept 4, 2009 /
 
Alapvetően egy ún. intervalometer nevű dolgot építek. Az a lényeg hogy beállítható időközönként elsütögeti nekem a fényképezőgépemet. Ez a kapcsolgatás egy relével van megoldva (a gépnek van bemenete, szóval nem volt nagy ügy) és ez azért is jó mert így le van választva maga az áramkör a fényképezőgépről. Nekem ez volt a legegyszerűbb megoldás.
(#) tpeter válasza tpeter hozzászólására (») Szept 4, 2009 /
 
.. ha már ez így szóba került az lenne a kérdés hogy vajon a relét megfelelően nagy árammal nem lehet munkára bírni? csak mert egy 1 tranzisztoros kis meghajtó áramkör nem tűnik túl bonyolultnak.
Ha jól látom itt a paramétereket, akkor én is egy ilyet hajtok.
(#) levy_k válasza tpeter hozzászólására (») Szept 4, 2009 /
 
Egy opto csatoló nem tudná exponálni a gépet? Azért kérdem, mert nincs nagy tapasztalatom a fényképezőgépekkel.
(#) aticska hozzászólása Szept 4, 2009 /
 
Szia!

Esetleg 3V-os relé.
(#) MD_Pepe válasza TavIR-AVR hozzászólására (») Szept 4, 2009 /
 
Milyen módon kell módosítani az AVRDUDE-t?

Köszi,

Pepe
(#) tpeter válasza aticska hozzászólására (») Szept 4, 2009 /
 
hmm, ez jól hangzik. remélem van belőle DIP tokos is...
(#) tpeter válasza levy_k hozzászólására (») Szept 5, 2009 /
 
Szia!

Ez jó ötlet, tényleg de sajnos most nincs kéznél egy sem.
Amúgy nem tudom hogy menne-e, de ha igen akkor az valóban ésszerűbb / elegánsabb lenne.
(#) patexati hozzászólása Szept 5, 2009 /
 
Sziasztok! Kopíroztam atiotezer fórumtárs által a ki mit épített topicba felrakott AVR Dopler egyoldalas nyák képeit felhasználva. Sajna ő nem osztotta meg velünk (még) a nyákot Ha valaki ráér nézze át én már átkövettem vagy tízszer jónak tűnik! Nem vagyok profi a tervezésben ez az első nagyobb (ezt is másoltam). Van bent két 1Ohm-os ellenállás Rx azok csak átkötések és az R10 R11 ellenállás egy soros ellenálláson keresztül adja ki az eredő ellenállást (így volt a képeken is) Az eredetiben a képek alapján ha jól láttam azR10 R11 előtétellenállásai mindegyik 1 Ω pedíg egyiknem 10KOhm-nak kéne lenni lehet rosszul láttam én 10KOmot tettem be. Egy másik topicba már felraktam a rajzot (Topi féle AVR programozó Linux alatt) de ott nem nézte át senki de én utólag vettem észre bent két hibát és javítottam! Ha egy moderátor törölné a másik topicban lévő rajzot az jó lenne nehogy valaki megszívja vele magát!
(#) adamtui_93 hozzászólása Szept 6, 2009 /
 
Hali !
Az lenne az én nagy problémám hogy letöltöttem az AVRstudio 4-et bele írtam az egyszerű led villogó programot beállítottam mindent és amikor a .hex filet megnyitottam az AVR simulator IDE nevű programmal akkor azt láttam hogy mindig elakad, utána próbáltam még egy csomó más programmal és azok is elakadnak. ez mért van? +valaki tudna nekem linkelni egy oldalt hogy pl az int a void meg az ilyen parancsok mit jelentenek és hogy kell használni?
(#) levy_k válasza adamtui_93 hozzászólására (») Szept 6, 2009 /
 
Szerintem a gondod a C nyelvvel van, mert az int és a void a változók, függvények stb. tipusát határozza meg. Ajánlom valamilyen a C nyelv szintakszisával foglalkozó könyvek egyikének (részben) elolvasását, tanulmányozását. Egyébként a WinAVR-t telepítetted?
(#) adamtui_93 hozzászólása Szept 6, 2009 /
 
hali
Persze telepitettem + bele bele olvasgattam egy pár C-s könyvbe de ott csak olyat találtam eddig amibe inkább számítógépen a grafikus dolgokat mutatja be
(#) MD_Pepe válasza adamtui_93 hozzászólására (») Szept 6, 2009 /
 
Szia,

Esetleg nézd meg ezt:

http://avr.tavir.hu/modules.php?name=Content&pa=list_pages_categori...cid=17

A 7. és a 8. rész lehet érdekes neked.

Üdv.

Pepe
(#) TavIR-AVR válasza adamtui_93 hozzászólására (») Szept 6, 2009 /
 
ANSI C könyvet keress. Az ANSI C az összes alapja....

Kerninghan - Ritchie: A C programozasi nyelv (Az ANSI szerint szabvanyositott valtozat) muszaki konyvkiado; 2004.

En ebben lesek utana. szerencsere nem PC illetve kontrollerspecifikus.


De C-ben elindulni az Arduino / AVR Duino jo valasztas.... (lsd link az elozoben...)
(#) levy_k válasza TavIR-AVR hozzászólására (») Szept 7, 2009 /
 
Így van! :yes: ANSI C az alap! Egyébként én az O'Reilly féle könyveket olvasgatom, azonban nem tudom van-e magyar kiadása....
(#) tpeter válasza levy_k hozzászólására (») Szept 7, 2009 /
 
Ha magyar nyelvű C könyv kell kezdőknek, akkor ajánlom ezt.
Természetesen a K&R féle a biblia, de ez az általam említett szerintem nagyon jó és olvasmányos.

Érdemes helyet keresni neki a polcon.
(#) adamtui_93 hozzászólása Szept 7, 2009 /
 
Köszönöm a sok jó tanácsot aszem be is szerzek egy Programozzunk C nyelven!-t amugy most már müködik a program nagy része csak ujra kellett telepíteni és azóta megjavult de nagy segitség lenne ha valaki tenne fel egy olyan proba programot hogy 3 lábon bemenet van és 8-on meg kimenet és hogy a 3 bemenet variációiból csinál 8-at ( ha jól emlékszem csak 7 fog menni de nem tudom pontosan 111 101 100 011 010 001 000 110 )
(#) Cavalier válasza adamtui_93 hozzászólására (») Szept 8, 2009 /
 
Magyarul egy dekódert, demultiplexert szeretnél? Erre ott van készen pl. a 74LS138 IC is.
(#) adamtui_93 hozzászólása Szept 8, 2009 /
 
nem kimondottan mert atmega128at szeretnék programozni 6bitböl 46ot + 1 biten meg 40khz négyszögjelet szeretnék kiküldeni +ha ez megvan akkor meg szeretném tanulni a többit is azért kértem csak 3 to 8 biteset mert a logikájára meg a hasonlokra is szeretnék rájönni
(#) gallz hozzászólása Szept 8, 2009 /
 
Sziasztok!

Szervo vezérléssel kísérletezek (ATTiny45). Egy szervóval már elboldogulok, de jó lenne kettőt vezérelni egymástól függetlenül! Egyáltalán a tiny45 képes erre?

Íme az egy szervós megoldás:

  1. #define SERVO_LEFT 4
  2. #define SERVO_CENTER 11
  3. #define SERVO_RIGHT 18
  4. ...
  5.         DDRB |= (1<<PINB0) | (1<<PINB1);
  6.  
  7.         // Fast PWM
  8.         TCCR0A |= (1<<WGM01) | (1<<WGM00);
  9.  
  10.         // non-inverting mode
  11.         TCCR0A |= (1<<COM0A1);
  12.  
  13.         // prescaler 1024 -> 8 MHz / 1024*256 = 30 Hz PWM
  14.         TCCR0B |= (1<<CS02) | (0<<CS01) | (1<<CS00);
  15.        
  16.         while(1){
  17.                 OCR0A = SERVO_LEFT;
  18.                        _delay_ms(500);
  19.                 OCR0A = SERVO_CENTER;
  20.                        _delay_ms(500);
  21.                 OCR0A = SERVO_RIGHT;
  22.                        _delay_ms(500);
  23.         }
(#) gtk hozzászólása Szept 9, 2009 /
 
Sziasztok !

Korabban szo volt itt a BrownOut-rol. (pontosabban negativ tapfesz valtozasrol) Az lenne a kerdesem hogy pozitiv tapfesz valtozasnal is varhato a kod elmaszas? Pozitiv tapfesz valtozas alatt gondolok itt pl. 2.7V -rol 3V -ra torteno tapfesz atkapcsolasara (backup battery).
(#) zolee1209 válasza gtk hozzászólására (») Szept 9, 2009 /
 
Szia!
Én úgy tudom, hogy a BOR egy beállított feszültség szint ALATT kapcsol be. Remélem jól tudom, de majd az okosabbak megmondják!
(#) gtk válasza zolee1209 hozzászólására (») Szept 9, 2009 /
 
Szia ! Nem a BORrol van szo (vagyis Brown Out Reset), hanem a kod elmaszasrol. Reset nem kell, sot!

Kozben nem hagyott a tema, es oszedobtam egy kapcsolast. Velemenyt kernek, hogy mennyire eletkepes? (elnezest a rajzert, de azt hiszem igy is ertheto mirol van szo) 5Vrol mukodne az aramkor tobbi resze, 2.7Vrol meg az L AVR. Ezzel igy elmeletileg ki lehetne zarni a tapfesz ingadozast atvaltaskor.
(#) zolee1209 válasza gtk hozzászólására (») Szept 9, 2009 /
 
Bocsi, én nem értelmeztem megfelelően a kérdésed!
(#) gulyas hozzászólása Szept 9, 2009 / 1
 
Sziasztok!

Csinálok most egy bemenetválasztót az erősítőmhöz AVR-el, és LCD kijelzővel.
Szeretném azt megcsinálni, hogy amikor tekerek az egyik potméteren(hangerő,balansz,mély,magas), akkor a kijelző a potméter aktuális értéke jelenjen meg az LCD kijelzőn, és még utána is pár másodpercig.
Ez nem is tűnik túl bonyolultnak, mert a potméterek egy LM1036-os áramkörre vannak kötve, vagyis egy kb. 5.4V-os referencia-feszültséget szabályoznak.
Arra gondoltam, hogy ezeket szépen rákötöm az ADC bemeneteire, és majd az AVR-el feldolgozgatom az adatokat, de nem használtam még az analóg bemeneteket, és nem tudom, hogy mi a módja annak, hogy ezt az 5.4V-ot ráköthessem az AVR-re.
Egy egyszerű feszültségosztó például megtenné?
(#) trudnai válasza gallz hozzászólására (») Szept 9, 2009 /
 
Idézet:
„Szervo vezérléssel kísérletezek (ATTiny45). Egy szervóval már elboldogulok, de jó lenne kettőt vezérelni egymástól függetlenül! Egyáltalán a tiny45 képes erre?”


Miert ne lenne? Ket impulzus kozott 20ms telik el, az alatt egymas utan tobb szervo jelet is kikuldheted). Azonkivul kwt PWM csatornad van, ha mar igy csinalod ahogy leirtad...

(Egyebkent en inkabb szoftveres PWM generatort irnek, mivel igy eleg vacak lesz a szervo vegkiteresek kozotti felbontas...)
(#) trudnai hozzászólása Szept 9, 2009 /
 
Wake-up time / start-up time -mal kapcsolatban lenne par kerdesem.

Az AtTiny13A adatlapjat bongeszve ugy tunik nekem a start-up time-ot meg tudom valasztani14cycl+4ms ill. 14cycl+64ms kozott ill ha BOR-t hasznalok akkor ezt a kulon idozitest ki is hagyhatom.

Ami nem vilagos nekem, hogy mely resetekre vonatkozik ez a parameter? Csak power on-ra vagy minden egyebre is? Ha alszik az AVR milyen idozitessel lehet felebreszteni? Ezt a bizonyos startup time-ot fogja kivarni? Minden uzemmodbol ebredve? (idle, ADC noise reduction ill power-down modokra gondolok).
(#) vzoole válasza gulyas hozzászólására (») Szept 9, 2009 /
 
Megteszi egy feszültségosztó 2 ellenállásból.

Egy kis ADC program magyarázattal megtűzdelve:
Bővebben: Link

VIGYÁZZ! A kód hibás...

ADMUX = 01000000;
ADCSRA = 10000111;

helyett így jó:

ADMUX = 0b01000000;
ADCSRA = 0b10000111;

Ha stabil 5 voltot (vagy bármit) kap az AVR akkor elég onnan vanni a referenciafeszültséget.


(#) gulyas válasza vzoole hozzászólására (») Szept 9, 2009 /
 
És a feszültségosztó mennyi plusz terhelés az LM1036-nak? Ugyanis csak 5mA-el lehet ezt a referencia-kimenetét terhelni (a linearitást ugye nem rontja a feszosztó?).
A BSS-en találtam feszültségosztó számolót, de nem tudom, hogy milyen arányt számoljak, mert a 100K-8K meg a 10K-800R is ugyan azt eredményezi, nem tudom ez mennyire fontos.

De arra is gondoltam közbe, hogy 5.4V-ról járatom az AVR-t, azt bírja az LCD-is meg a relé is, más meg nem lesz benne. Okozhat ez valahol máshol gondot?
Mondjuk az is kérdés, hogyha csak simán rákötöm ezt az 5.4V-os feszültséget az AVR-re, akkor az mennyire terheli le az LM1036 kimenetét.
(#) vzoole válasza gulyas hozzászólására (») Szept 9, 2009 /
 
Akkor stabil 5,4V kell.

Mivel lesz rajta LCD...
Miután kész a panel (és a feszosztó is), írsz egy programot ami kijelzi az ADC eredményét amit kap feszosztóról.

Ezt az értéket már használhatod a programban.

mod:
Az ADC visszaad egy értéket 0-1023 között.
Ha AREF 5 Volt akkor 5 Voltnál ad 1023-at vissza.
A feszosztó miatt nem lesz meg az 5 Volt.

Megírod a tesztprogramot... LCD kijelzi, hogy pl.: 683 az érték max potinál.

Ha %-ban akarod kijelezni a hangerőt akkor elosztod 6.83-al és kész.

Ez jutott eszembe elsőre, de kíváncsi lennék más megoldásra is.
Következő: »»   146 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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