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   710 / 840
(#) Auf válasza zombee hozzászólására (») Dec 7, 2015 /
 
R16 -ot írva megy.

Köszönöm!
(#) zombee válasza Auf hozzászólására (») Dec 7, 2015 /
 
Akkor nézd meg ugyanezen megszakításrutin elejét, mert ott is kell valami regisztert használni a push résznél.
A hozzászólás módosítva: Dec 7, 2015
(#) zombee válasza vyky hozzászólására (») Dec 7, 2015 /
 
Hogy Te se maradj ki: DC motorhoz H-híd kell, védődiódás bekötéssel. Az enkódercsíkkal nem tudok mit kezdeni. Az csak a pozíciószabályozáshoz kellhet; ahhoz hogy a motor megmozdítsa a fejet ahhoz nem.
A hozzászólás módosítva: Dec 7, 2015
(#) Auf válasza zombee hozzászólására (») Dec 7, 2015 /
 
Mindenhol átírtam már elsőre. Az egész kód üres, csak a kommentár a megmondhatója az egyes soroknak.
Köszönöm szépen!
(#) vyky válasza zombee hozzászólására (») Dec 7, 2015 /
 
Köszönöm szépen.
(#) zombee válasza vyky hozzászólására (») Dec 7, 2015 /
 
Az enkódercsíkos dolog meg egy kicsit összetettebb. Személyes tapasztalat hogy a csíkot nem szabad taperolni, mert a csíkok (legalábbis Lexmark nyomtatóknál) éppen hogy csak rá vannak gőzölögtetve. Idővel le is porlik, nem csoda ha csapkodja a fejet...

Az enkóder pontosan úgy működik ahogy a golyós egerekben, azaz a barázdás csíkhoz-koronghoz tartozik 2 optoérzékelő és egy infra LED. Ha pozícióvezérlést(szervó) akarsz, akkor kell még egy nullpont érzékelő is az egyik szélén, olcsóbb nyomtatóknál ez csak egy mikrokapcsolót jelent.
(#) Kovidivi hozzászólása Dec 9, 2015 /
 
Sziasztok!
Ha Atmega328-on két feszültség referenciát szeretnék használni, akkor megtehetem azt, hogy kívülről ráakasztok az Aref bemenetre egy TL431-et mondjuk 22K soros ellenálláson keresztül, és ha váltani akarok, akkor bekapcsolom a belső 1.1V-os referenciát, amit a TL431 nem tud felhúzni 2.5V-ra a 22K miatt? Azt tudom, hogy az Aref terhelhető akár több mA-rel is, tehát elvileg nem okozna gondot. Köszi.
(#) zombee válasza Kovidivi hozzászólására (») Dec 9, 2015 /
 
A TL431 számára 22k nem lesz jó. Szakmai körökben 5mA-t (~470 OHm) ajánlanak, de 1mA (~2.2k)
minimum kell a stabil működéshez! Az AREF-et sem menő felhúzó ellenállással terhelni.
Én a következőt ajánlom: használj egy portlábat arra, hogy onnan "táplálod" a referenciát! Kösd össze az AREF-el egy 2.2kOhm ellenállással, és oda menjen a TL431 (plusz egy 10nF kondi). Ha a belsőt akarod használni, egész egyszerűen lekapcsolod a portlábat(DDRx.n=0;PORTx.n=0), majd bekapcsolod a belső referenciát.

Az ipari megoldás erre, hogy mindkét referenciafeszültséget a TL431-ről mintavételezed, és használod a TL431 R lábát is. Az előtét ellenállás után egy osztóról kapja az R láb a feszültséget, az osztó pedig a "nagyobb" feszt határozza meg. Az osztó "felső" ellenállását "valamivel" rövidre zárod, ez lehet pl. PNP tranzisztor, profibb áramkörökben REED relé. Ekkor 2.5V esik a TL431-en, ez lesz a "kisebb" feszültség. Ezt egy osztóval le lehet osztani úgy hogy a nagyobb fesz tényleg 2.5V, a kisebb 1.1V legyen.
A hozzászólás módosítva: Dec 9, 2015
(#) lokátoros válasza Kovidivi hozzászólására (») Dec 9, 2015 /
 
Az is egy alternatíva lehet ha nem a referencia feszültséget változtatod, hanem egy programozható műveleti erősítőt+multiplexert használsz, pl.: MCP6s28.
Ez 8 analóg bemenetet kezel, SPI buszon tudod kiválasztani a bemenetet, egyúttal az erősítést is tudod programozni 1-32x -ig.
(#) Kovidivi válasza zombee hozzászólására (») Dec 9, 2015 /
 
Szia. A TL431 előtt lenne 220-470 ohm, tehát megkapja a pár mA-ét, a már kész 2.5V után jönne a soros 22k az Aref felé. Szabad portlábam nem sok akad. Az a koncepció, hogy ha külső ref-re van állítva az Aref, akkor mint bemenet működik (nem terhel), ha pedig belsőre, akkor kimenet, és terhelhető valamennyire. Átgondolom a tippjeidet, mi férne bele.
Lokátoros: köszi a tippet, de megpróbálok minél kevesebb alkatrészt felhasználni.
(#) killbill válasza zombee hozzászólására (») Dec 9, 2015 /
 
Idézet:
„A TL431 számára 22k nem lesz jó. Szakmai körökben 5mA-t (~470 Ω) ajánlanak, de 1mA (~2.2k)minimum kell a stabil működéshez! Az AREF-et sem menő felhúzó ellenállással terhelni.”
De, ha a TL431 1k-val megy az 5V-ra, es egy soros 22k-n keresztül megy a TL431-ről a Vref-re a 2.5V, akkor az már jó lehet. A TL431-nek jó, a Vref-en nem folyik akkora áram, hogy a 22k-n számottevő feszültség essen, ha pedig a belső referenciát használja, akkor Vref-et
nem terheli, mert a 22k bekorlátozza 63uA-re. Persze nem szép megoldás, de elvileg működőképes.
Idézet:
„Az osztó "felső" ellenállását "valamivel" rövidre zárod, ez lehet pl. PNP tranzisztor,”
Az biztos nem lesz jo 200-300mV maradékfeszültséggel... Egy MOSFET inkább.
(#) csatti2 válasza killbill hozzászólására (») Dec 9, 2015 /
 
Van egy apró részlet, amire még nem gondoltatok. Gondolom fontos a pontos mérés (ezért is a külső referencia), ehhez viszont javasolt egy kondi az AREF-re, hogy csökkentse a zajt, ami az ADC-re jut (a TL431 persze nem rajong érte ha közvetlenül a kimenetére ráakasztanak egy kondit, ezért egy kis soros ellenállás akkor is indokolt, ha csak a külső referencia van). Egy 22k-s kondin keresztül elég sokáig (uC léptékben persze) tart majd, amíg a megfelelő feszültség beáll.
(#) Kovidivi válasza csatti2 hozzászólására (») Dec 9, 2015 /
 
Plusz magának az Aref bemenetnek is van egy kis kapacitása. Ezzel akkor majd számolni fogok, kivárom a megfelelő időket! Köszönöm a tippeket mindekinek, ha eljön az ideje, teszek egy próbát. Ha nem jön össze a váltogatás, akkor marad a sima TL431 mint referencia.
(#) killbill válasza csatti2 hozzászólására (») Dec 9, 2015 /
 
Ha fontos a pontossag, akkor nem a TL431 a megfelelo valasztas... 22k * 100nF * 5 = 11ms. Ennyi ido alatt beall a Vref labon a feszultseg. Azaz ennel gyorsabban, mert nem 0-rol, hanem 1.1V-rol kell feltornazni 2.5V-ra. Aztan, ha gyakran kell kapcsolgatni, akkor lehet ez problema, ez mar tenyleg a feladattol fugg.

Kovidivi: A Vref lab kapacitasa pikofarad nagysagrendu, a kulso kondi meg inkabb 10..100nF kellene legyen.
A hozzászólás módosítva: Dec 9, 2015
(#) fari19 hozzászólása Dec 13, 2015 /
 
Sziasztok!

Segítséget szeretnék kérni tőletek egy ajándék megépítéséhez. Egy karácsonyfa alakú nyáklapon szeretnék megépíteni RGB ledekből egy villogót. Nem igazán értek hozzá,de úgy gondolom az ATMEL ATtiny45-ös processzora alkalmas lenne erre a célra. kb 10-15 Led lenne, és egy olyan megoldást hallottam hogy Arduinoval is beleégethető a program. Igazából minden részhez tanácsot és segítséget szeretnék kérni: programozás, áramkör tervezés...
Nagyon szépen köszönöm mindenkinek!!
(#) pont válasza fari19 hozzászólására (») Dec 13, 2015 /
 
Kezdetnek: Bővebben: Link
(#) TavIR-AVR válasza fari19 hozzászólására (») Dec 13, 2015 /
 
Rosszul hallottad. Arduino alól Tiny85 a minimum (az sem igazán a standard). ATMega8/168/28/328P jöhet szóba inkább.

Tiny45/85 esetén nincs is 10-15 szabad lábad
Mega8 esetén 15+6 lábad van szabadon....
A hozzászólás módosítva: Dec 13, 2015
(#) pont válasza TavIR-AVR hozzászólására (») Dec 13, 2015 /
 
Nem írta, hogy külön külön villognának, de akkor is olcsóbb megoldás az Attiny45(ide még jó a 13,25is) +2db 74595. Persze attól függ mennyire van bonyolítva a villogás.
(#) fari19 válasza pont hozzászólására (») Dec 13, 2015 /
 
igen nézegettem ezeket, kiindulásnak tényleg nem rossz, bár kicsit nekem ez most magas.
(#) csatti2 hozzászólása Dec 13, 2015 /
 
Úgy látom más is hasonló projekten dolgozik. Itt az enyém. A program még nagyon alap, ez még csak a teszt futam volt. Természetesen nem egy tápról megy majd később, egy CR2032 gombelem "hajtja" majd meg.

Nem kell annyi láb, mint ahány LED van (nálam sincs). Egyik irány a shift regiszter, ahogy már írták mások. A másik pedig, hogy csoportokba fogsz több LED-et (egy lábbal adsz mondjuk tápot egy csoportnak egy soros ellenálláson keresztül [esetleg tranzisztoron keresztül ha szükséges], pár láb pedig megy a csoporton belül minden egyes LED-hez, ugyanezek a lábak meghajtják a többi csoport LED-jeit is, így meghajthatsz mondjuk 3+5 lábbal 15 LED-et is).
(#) fari19 válasza csatti2 hozzászólására (») Dec 13, 2015 /
 
basszus a tiéd brutálisan jól néz ki!!
(#) csatti2 válasza fari19 hozzászólására (») Dec 13, 2015 /
 
Köszi. Pont ma CNC-ztem ki talpat és a "fát". Én se tudtam, hogy is néz majd ki a végeredmény.
(#) RoliNyh válasza fari19 hozzászólására (») Dec 13, 2015 /
 
fari19 ha rám hallgatsz, beiratkozol ide, én is itt kezdtem...

Bővebben: Ingyenes arduino tanfolyam...

Hogy legyen egyáltalán valami fogalmad, hogy kéne hozzá kezdeni...
Sok sikert...
(#) fari19 válasza RoliNyh hozzászólására (») Dec 14, 2015 /
 
igen ismerem már, el is kezdem majd, csak most tanulmányaim miatt, vizsgaidőszak stb nincs rá időm. Gondoltam egy egyszerű kapcsolásra hátha tud valaki, amit karácsony előtt össze tudnék dobni, de lehet át kell gondolnom még mit is késtítsek.
Köszi
(#) Kovidivi válasza fari19 hozzászólására (») Dec 14, 2015 /
 
Kapcsolást 15perc alatt össze lehet dobni. De programot hozzá úgy, hogy az ember nem ismeri a kiszemelt mikrovezérlőt, nagyon sokáig eltart. Inkább keress valami normál villogót, vagy szinuszosat esetleg véletlenszerű, vagy bináris számlálósat. Azt csak össze kell rakni.
(#) RoliNyh válasza fari19 hozzászólására (») Dec 14, 2015 /
 
Hát akkor csináld meg a csatti2 -ét... Írj neki privátba, kérd el a kapcsolási rajzot, meg a programot és "dobd össze".
A plexi karácsonyfát kihagyod, a kimenetekre teszel valami fiók mélyén található kapcsoló tranzisztort (inkább FET -et) ami vezérli a LED füzéredet, és örülsz...
(#) Robika hozzászólása Dec 14, 2015 /
 
Sziasztok!

Szeretnék AVR-hez CD4051-t kötni(multiplexer/demultiplexer).
A bemeneteim 10-13 voltosak, az AVR 5v-os.
Csinálhatok olyat, hogy a CD4051 kimenetét (Out/In) analog bemenetre kötöm egy feszültségelosztóval?
A multiplexer tápfeszültsége és azok bemeneti jelei magasabbak a AVR feszültségéhez képest. Ezért szeretnék egy feszültségosztót.

Ha ez így működhet, kell védődiódát vagy hasonlót tennem a multiplexer és az AVR közé tennem?

Köszönöm a segítséget
(#) csatti2 válasza Robika hozzászólására (») Dec 14, 2015 /
 
Igen csinálhatsz. Védődiódá(ka)t nem kell használnod (de erősen javasolt, én mindig szoktam). A dióda természetesen schottky legyen 0,5V alatti Uf-el, lehetőleg kicsi szivárgó árammal (hibaként jelenik meg az előtét ellenálláson keresztül).
(#) wbt válasza Robika hozzászólására (») Dec 15, 2015 /
 
Ha a CD4051 tápfesze 10-13V, akkor a TTL szintű AVR kimeneti vezérlőjeleit 5V-os szintnél 1-nek fogja értelmezni?
(#) csatti2 válasza wbt hozzászólására (») Dec 15, 2015 /
 
Nem. A vezérlőjeleket is szint-illeszteni kell majd.
Következő: »»   710 / 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