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
Sziasztok!
Egy kis segítséget, illetve magyarázatot szeretnék kérni tőletek. ATmega328P segítségével vezérelnék szervo motort. A mikrokontroller számára az 5V feszültséget L7805 táp IC segítségével állítom elő (az IC lábain 0,1µF és 0,33µF kondik, ahogy az adatlap is írja). A probléma a következő: Amikor rákötöm a szervot is erre a "stabilizált" 5V-ra és ráadom a PWM jelet, a motor teljesen megbolondul, vagy ugrál, vagy pedig nem csinál semmit, a tápellátást jelző LED-ek pedig villognak, mintha "elszívná a motor az energiát". Ha például egy LM2596S-PSUM Step-down tápegység modult használok az áramkör táplálására, akkor a motor működik. Erre tudnátok nekem magyarázatot adni? - esetleg nem elég stabil a rendszer, más kondenzátorok kellenek, stb... Köszönöm!
Szia!
Bár nem írtad, milyen szervót kötöttél rá, én RC szervót tippelek. A 78L05 100mA terhelhetőségű, aligha bírja a motort. Egyébként sem szerencsés a mikrovezérlő tápjára közvetlenül induktív terhelést kötni. Szerk.: Elnéztem a típust, bocsi. Lehet, az analóg szabályzó nem képes rendesen működni az adott kiépítésben. Esetleg AVR BOR-ja bekapcsolva, vagy egyébként is, a táp megzuhanása miatt resetelhet például. A hozzászólás módosítva: Máj 17, 2017
Az sem lesz biztosan elég - a szervok kemény akkura lettek tervezve s nem soros stabilizátorra.
Köszönöm a választ.
Valóban célszerűbb lenne a char típust használnom, csak furcsamód amikor arra írtam át, ugyan ez a kiíratás függvény nem működött. Persze valószínűleg csak elírtam valamit, megfogadom ezt a tanácsot. A kijelző mérete 20x18-as, nem RGBs, tudom, furcsa felbontás, de ennyi fért bele egy ferreros dobozba, eredetileg az lett volna a burkolata Az SPI lábai pedig sajnos másra vannak felhasználva.
Köszönöm a választ.
Elméletileg bírnia kéne, mert assembly-ben sem használok közötte késleltetést, de ötletnek nem rossz, hátha okoz valami változást. Ki tudja, miért "hisztizik" a kontroller.
Sziasztok!
RGB vezérlőt szeretnék készíteni, atmega48pa ic-t használok és olyan problémába ütköztem hogy a 0-ás és a 2es pwm csatorna különbözően működik ugyan azokkal a beállításokkal. Nem használok külső osztcillátort, nem módosítottam fusebiteket, szóval ha minden igaz ~1mhz az órajele az icnek, 1024es osztót használva 262ms pediódus időt kapok, ami nekem nagyjából megfelelő, (az egyik funkció a villogás). A 0-ás csatorna tökéletesen működik, de a kettesnél mintha sokkal nagyobb lenne a frekvencia (szemmel még látható hogy nem egyenletesen világít). Szóval az lenne a kérdésem, hogy ez miből adódhat? Kódom:
Köszönöm!
Szia! Timer2-nél az CSx=101 az 128-as osztás, CSx=111 lesz az 1024-es osztás. Nem egyforma a két timer regiszter-kiosztása, adatlapon nézd meg.
Ennek fuss neki még egyszer. Nincs olyan, hogy PNP MOSFET (p-csatornás van, röviden pMOS). Az általad megadott alkatrész egy NPN bipoláris tranzisztor (nincs gate, source és drain se).
Próbáld meg optocsatolóval illeszteni. Akkor legfeljebb az optocsatoló szál el ha hülyeséget csinálsz. A hozzászólás módosítva: Máj 22, 2017
Csak megtanulom lassan a dolgokat
Olyan MOSFET-re gondolok ami a meghajtott/szabályzott áramkör előtt van. P-channel-ként találtam neten. Remélem így már érthető mit akarok. Mellékeltem egy képet, csak az elv miatt. Nálam a bemenő fesz 5V a mikrokontroller miatt. A hozzászólás módosítva: Máj 22, 2017
Sejtem mire gondolsz, de a bekötésed nem működne (már csak azért sem, mert figyelmen kívül hagytad a belső diódát [body diode, intrinsic diode]).
Most nézem a linkelt képet, na ez kinyírná az ATMEGA-t biztosan. Ami jobb választás, az egy NPN tranzisztor vagy egy N-MOSFET. A hozzászólás módosítva: Máj 22, 2017
Lehetséges bekötések.
Sziasztok!
Újabb fal. USB portot szeretnék tenni RX/TX lábakra. A kérdés, ha csak felkötöm és semmilyen programot nem töltök fel, a windows akkor is érzékeli az új hardware-t? Ha nem mi az a minimális program ami kell? Illetve az USB-n D+ D- lábak vannak. Melyik megy az RX-re, melyik a TX-re?
USB -t direktben nem lehet összekötni Rx/Tx lábakkal, mivel más szabvány. Kell közé egy konverter IC...
Kell neked egy USB RS232 kábel, és annak a saját drivere.
Inkább ezt szoktuk használni:
USB-Soros illesztő (3V3/5V) [CH340G chipset] Bővebben: Link Olcsóbb is! A hozzászólás módosítva: Máj 25, 2017
Sziasztok!
Már jó ideje szenvedek egy USBasp programozóval. Egy nyomvadt kis Attiny 45/25 avr-t szeretnék beprogramozni, de sehogy sem sikerül, mert mindig ezt az eredményt kapom " C:\winavr-20100110\bin> avrdude -c usbasp -p t25 -U flash:w:"c:\debug\ledek.hex":i avrdude.exe: error: program enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check." Pedig minden jól van összekötve, már a sokadik csatlakozást csinálom. Kérlek SEGÍTSETEK! Köszönöm előre is.
Lehetőségek:
- Mégsincs jól összekötve. Ellenőrizd megint. USBASP - attiny45 SCK -> SCK MISO(SDI) <- MISO(SDO) MOSI(SDO) -> MOSI(SDI) CS -> RST GND - GND - Nem gyári beállítású a chip. Fuse bitek át vannak állítva. RST, SPI ki van kapcsolva vagy/és debugWire be van kapcsolva. Itt még a High Voltage Serial Programming segíthet rajtad. Az avrdude-ban használd a -v (verbosity) parancsot. Segíthet a hibakeresésben. "C:\winavr-20100110\bin> avrdude -c usbasp -p t25 -v -v -v"
Na csak a nehezebb megoldást választottam Vettem egy CH340G chipet és összeraktam én a cuccot. Naná, hogy vannak vele gondok
Időnként elég nehezen csatlakozik fel a gépre. Többször ki-be kell huzogatni, hogy felismerje a rendszer. Drivert természetesen feltettem hozzá. A másik gondom, hogy ATMEGA328-cal nem tudtam kommunikációra bírni. Vagy a programmal van gond vagy valamit rosszul kötöttem be. Próbáltam egy ledet tenni RX/TX lábakra, hogy legalább valami villódzás utaljon rá, hogy beszélgetni akarnak, de igazából semmi. Folyamatosan világít, nem maxon, de világít és ennyi. Itt a kapcsolás ami alapján csináltam. Ennyi infóból valakinek ötlet?
Így vannak a kivezetések az usbasp csatlakozón, és így van bekötve az IC-hez
egyik oldal: USBasp Attiny25 MOSI pin 5 NC RST pin 1 SCK pin 7 MISO pin 6 Másik oldal: VCC pin 8 GND pin 4 GND GND GND Akkor miért nem jó a kapcsolat? Idézet: „Fuse bitek át vannak állítva. RST, SPI ki van kapcsolva vagy/és debugWire be van kapcsolva. Itt még a High Voltage Serial Programming segíthet rajtad.” Ezeket hol állítsam? A hozzászólás módosítva: Máj 28, 2017
Már rákérdeztek: új a Tiny, vagy volt már programozva?
Ezek szerint a programozóról kap tápot, nézted műszerrel a tiny-n? 4-8 pin.
|
Bejelentkezés
Hirdetés |