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   821 / 822
(#) wbt válasza tursaba hozzászólására (») Jan 2, 2021 /
 
Igen, mert RESET-et ad a programozó, talán (?) nem árthat egy bekapcsolási pár msec késleltetés, de most nem tudom, hogy a RESET után mennyi idővel megy ki az első adat.
(#) pont hozzászólása Jan 5, 2021 /
 
Sziasztok! Szeretnék txt file tartalmát, akár soronként, beolvasni AVR-el, modjuk sd kártyáról, merre induljak el, ilyen irányú ismereteim nincsenek, UART-on, SPI-n már kommunikálgattam egy kicsit.
(#) lazsi válasza pont hozzászólására (») Jan 5, 2021 /
 
Van egy hasonló témájú topic:
Bővebben: Link
Bár te nem pont ezt kerested, az ott adott válaszok segíthetnek neked is. Úgy tudom, hogy az SD kártya is SPI-n kommunikál, tehát ezzel nem lesz gondod.

Feltételezve, hogy egy számítógéphez használt SD kártyát szeretnél olvasni, szükséged lesz még az ott használt fájlrendszer (jellemzően FAT) ismeretére.
Ha egyéb eszköz írta rá a txt fájlt (pl. valami célhardver), akkor annak a rendszerét kell ismerned.
A hozzászólás módosítva: Jan 5, 2021
(#) Ivan93 válasza pont hozzászólására (») Jan 5, 2021 /
 
Szia, szerintem a FatFs-re lesz szükséged. Bővebben: Link. Vannak példaprogramok különböző platformokra, köztük AVR-re is, annak segítségével (meg pár tutorial elolvasásával) egyszer sikerült működésre bírnom, de kipróbáláson kívül végül nem használtam.
Elég memóriaigényes az SD kártya kezelés, ha jól emlékszem akkor egy 328-as fele memóriáját megtöltötte.
(#) pont válasza Ivan93 hozzászólására (») Jan 5, 2021 /
 
Köszönöm, Neked is és lazsi-nak is, de nem gondoltam , hogy ilyen bonyolult. Arról van szó, hogy hozzá tudok férni némi CNC üres időhöz, a maszek nyákjaim kifúrásához. De a Sprint Layout Fúrófájlját át kell egy kicsit írni a CNC G kódjához, ezt gondoltam AVR-el, ehhez kellene beolvasni-átalakítani-kimenteni txt-t, közben más irányban is elindultam, excellel is próbálkozom
(#) killbill válasza pont hozzászólására (») Jan 5, 2021 /
 
Nem lenne egyszerubb PC-re (Windows, Linux) megirni a programot? Linux-on adott a C fordito, csak irni kell a kodot es leforditani. De Windows-ra is letoltheto a gcc. A MinGW lehet egy jo irany.
(#) pont válasza killbill hozzászólására (») Jan 6, 2021 /
 
De biztos egyszerűbb annak aki meg tudja írni. Láttam sok, pl. mini cnc, 3d nyomtató-t arduino-val (ami ugye AVR) amik sd kártyáról olvasnak, ezért gondoltam, hogy vannak erre ma már egyszerű megoldások. De végül is megoldottam excelben B oszlopba kell bemásolni a Sprint Layout furatfile-ból a koordinátákat és a K oszlopból lehet kimásolni a CNC-nek a G kódot egy-egy Ctrl+C Ctrl+V -vel azért végül is ez is elég egyszerű lett. Köszönöm!
A hozzászólás módosítva: Jan 6, 2021

Névtelen.jpg
    
(#) killbill válasza pont hozzászólására (») Jan 6, 2021 /
 
Igazából csak arra gondoltam, hogy ha AVR-re meg tudod magad írni a konvertáló programot, akkor PC-re még egyszerűbb lenne. Főleg, ha olyan egyszerű dologról van szó, amit egy excel táblával is meg lehet oldani. AVR-en az SD kártya kezelés sokkal nagyobb feladat, mint a G kódokat konvertálni. A PC programban meg a file olvasás/írás nem probléma.
(#) Kovidivi válasza pont hozzászólására (») Jan 6, 2021 /
 
Azon gondolkodok, hogy nincs egy parancs, (scale vagy hasonló), amivel a CNC marógép koordinátarendszerét egy paranccsal át lehet méretezni (vagyis inkább a parancs után jövő pobtok helyzetét)? Azt tudom, hogy ha van egy kontúrod, akkor azt át tudod forgatni, másolni, tükrözni, és méretezni is (ezt heidenhain-nal meg lehet oldani)! Tehát csak egy sor kellene minden program elejére (meg a végére hogy visszaállítsd eredetire), és maradhatna minden koordináta az eredeti. Na persze ehhez tudni kellene, hogy milyen kódokat ismer a CNC. Ha lenne hozzá kézikönyv, szeribtem gyorsan megtalálnád.
szerk: ciklus11-et kellene megnézni, ha heidenhain, ha más, akkor a kézikönyvét.
A hozzászólás módosítva: Jan 6, 2021
(#) pont válasza Kovidivi hozzászólására (») Jan 6, 2021 /
 
Köszönöm, de az excel teljesen tökéletes lett, mint ahogy a fentebb is írtam a Sprint Layout Bohrfile-ból koordináták, csak át vannak másolva, az értékük úgy jó ahogy van, csak kell középre a tizedespont, és elöl nem lehet nulla. És akkor már csak a program sorszámozást kellett megoldani, egy G79 -et betenni az elejére meg a végére egy Z0-át, így várja a philips 432 vezérlő, egy MAHOMAT 600 -on. Az egész elé kell a szokásos szerszámválasztás, főorsó bekapcsolás, előtolás beállítás, stb. egy G81-es fúróciklus parancs, ahol be kell állítani, a fúrásmélységet, mennyi ideig legyen a furat alján egy helyben, biztonsági távolságot a paneltól, nagyjából ennyi. RS programmal RS232-n meg át lehet tölteni a szerkesztett szöveget a MAHO-ba
(#) drozi hozzászólása Jan 12, 2021 /
 
sziasztok!

le akarom cserélni az Arduino IDE-t atmel studo-ra és ennek egyetlen akadálya van, nem tudok feltölteni. találtam leírást arról hogy hogyan kellene használni az "external tools"-t, de használatakor hibaüzenetet kapok. figyelmesebben nézve az Arduino IDE feltöltését , ő menet közben portot vált és/vagy használ valamilyen szoftveres réteget (atmega32u4 az 5-ös porton lehet elérni, az avrdude paramétereknél a 6-osra hivatkozik)

a kérdésem az lenne hogy hogyan lehet az avrdude-ot (csak USB kábelen keresztül) rábeszélni arra hogy a meglévő binárist rakja a helyére ?
(#) vargham válasza drozi hozzászólására (») Jan 12, 2021 / 1
 
Nyomd meg a resetet az Arduinon. Ekkor elindul a bootloader, amelyik más COM portot használ. Ezt rögzítsd az eszközkezelőben (device manager). Ezt a portot állítsd be az Atmel Studio-ban az external toolnál.
Az Arduino IDE-től eltérően itt mindig meg kell nyomnod a resetet, mielőtt feltöltenél.
(#) drozi válasza vargham hozzászólására (») Jan 12, 2021 /
 
köszönöm, ez a megoldás
(#) drozi válasza pont hozzászólására (») Jan 12, 2021 /
 
van egy FlatCAM nevezetű szoftver, megeszi a külömböző "levilágítási" fájlokat (drill, excelon, gerber). ezek alapján készít izolációt, fúrást, kontúrmarást, panel stb. szerszámcserével g-code -ban
(#) jimmi12 hozzászólása Jan 21, 2021 /
 
Szisztok, Arduino-val hogyan lehetne előállítani 200Hz 10%-os pwm jelet?
(#) vargham válasza jimmi12 hozzászólására (») Jan 21, 2021 /
 
Például így: https://www.etechnophiles.com/change-frequency-pwm-pins-arduino-uno/
Ha nem találsz olyan osztót, ami pontosan 200 Hz frekvenciát eredményezne, akkor meg kell változtatni a fő órajelet.
(#) Kovidivi válasza vargham hozzászólására (») Jan 25, 2021 /
 
Nem kell megváltoztatni a fő órajelet, hanem bele kell bújni a Timerek részbe az adatlapban.
A hozzászólás módosítva: Jan 25, 2021
(#) Ronin98 hozzászólása Feb 7, 2021 /
 
Sziasztok!
2015 ben kerestem egy munkához AVR programozót. Találtam is egy nagyon ügyes srácot aki TÖKÉLETESEN megírta az általam kért programot. A neve Szombathelyi Tamás. Egy free mailes címe volt, ami szerintem megszűnhetett, mert nem válaszol most a megkeresésemre. Ha olvasod a levelemet Tamás, akkor kérlek jelentkezz, vagy ha valaki ismeri segítsen! Nagyon köszi előre is. Üdv mindenkinek.
(#) vargham válasza Kovidivi hozzászólására (») Feb 7, 2021 /
 
Nem írtam, hogy mindenképpen meg kell változtatni, csak ha nem talál olyan osztót.
(#) zolee1209 válasza Ronin98 hozzászólására (») Feb 7, 2021 /
 
(#) Ronin98 válasza zolee1209 hozzászólására (») Feb 7, 2021 /
 
Köszi szépen!
(#) Laslie hozzászólása Sze, 14:57 /
 
Sziasztok!
Szeretnék egy csengőt készíteni amely SD kártyáról olvassa be a lejátszandó dallamot. A kiindulási alap (Topi cikke) volt. Egyébként azt már megcsináltam egyszer, azóta is működik. (Köszönet érte. )
A neten találtam is jó pár SD kártyáról lejátszó megoldást amiknél az Attiny85 volt felhasználva. Ilyenem van is itthon így gondoltam azzal csinálom meg az enyémet is. A nagyobb hangerő elérése miatt még bele lett tervezve egy LM386-os erősítő is. Viszont mivel elvárás az elemről történő működés ezért azt találtam ki, hogy az LM386 csak akkor kapna feszültséget, amikor elindul a lejátszás. Itt jött elő a problémám. Sajnos már csak a PB5 (reset) láb szabad, ezért erről menne a táp vezérlés (tranzisztort kapcsol). Viszont ugye ez a RESET láb is ezért nem vagyok biztos benne, hogy ez jó megoldás. Azt tudom, mert már utána néztem, hogy be kell állítani a RSTDISBL fuse bitet. Bár még ilyen nem csináltam sose, ezért vagyok bizonytalan.
Megerősítést vagy cáfolatot szeretnék kérni tőletek, hogy használhatom-e ezt így? Nem zárom ki magam így a chipből? (Programozónak STK500-ast használok.)
A tápellátást 4db AA elem fogja adni.

schematic.png
    
(#) vargham válasza Laslie hozzászólására (») Sze, 15:14 /
 
Idézet:
„Nem zárom ki magam így a chipből? (Programozónak STK500-ast használok.)”

Nem. De csak nagyfeszültségű programozással tudod programozni. Az STK500 tudja ezt. Ilyenkor 12 voltos impulzusokat küld a reset lábra. Ehhez ki kell venned a cél áramkörből a mikrokontrollert.
(#) Topi válasza Laslie hozzászólására (») Sze, 15:19 /
 
Vagy teszel az "audio" kiementre egy monostabil áramkört pár alkatrészből, és amíg van négyszögjel a kimeneten, addig van az erősítőnek tápja is. Miután megszűnt a négyszögjel, utána pár másodperc (amit beállítasz RC konstansokkal) múlva, elveszi a tápot az erősítő résztől.
(#) Laslie válasza Topi hozzászólására (») Sze, 15:29 /
 
Ez jól hangzik. Mivel nem szakmám az elektronika, csak a hobbim , ezért tudnál segíteni, hogy ezt hogyan is kell elképzelnem?
(#) Laslie válasza Laslie hozzászólására (») Sze, 18:26 /
 
Közben azért csak nem hagyott nyugodni a kérdés.
Ilyenre gondoltál? Csak ugye nem 555-ös IC-vel.
A Be bemenet közvetlenül ráköthető a "audio" kimenetre?
(#) trickentrack hozzászólása Pé, 11:52 /
 
Sziasztok!
Kernék egy kis segítséget, nem nagyon vagyok otthon ebben a témában. Adott egy ATMega48 SMD kontroller, arduinoval szeretnék beleégetni egy bootloadert. Viszont sehogy nem sikerül. optiLoaderel próbáltam, viszont csak ezt írja a soros monitor: "OptiLoader Bootstrap programmer.
2011 by Bill Westfield (WestfW)

Target power on! ...
Starting Program Mode [OK]

Reading signature:9205
Searching for image...
Not Found

Target power OFF!

Type 'G' or hit RESET for next chip"
Már a második kontrollerrel próbálkozom, itt nem kötöttem semmit az arduinon kívül. (Kvarc, kondi...) Ez jelenthet problémát?

Köszönöm!
(#) csatti2 válasza vargham hozzászólására (») Pé, 21:54 /
 
Lehet kreatívkodni is kicsit. Mivel a clock lábat akkor fogod rángatni, amikor hangot is le szeretnél játszani, csinálhatsz egy pici charge pumpot is vele, ami kinyit egy mosfetet.

Persze méretezd át a kondikat, különben nem működik majd az áramkör, esetleg válaszd le egy kapuval.

A példában volt két szabad negáló kapum az egyik IC-n és a segítségükkel (schmidt trigger bemenet) digitálissá alakítottam az enyhén pulzáló jelet (engedélyező jel volt kapu IC-khez). Praktikus egy ilyen áramkör esetleges szoftver kifagyások kezelésére, mivel a valamilyen állásban megálló kimenet hatására kisül a C15 kondi és letiltja az áramkört (jelen esetben egy 160W-os fűtőelemet).
(#) wbt válasza Laslie hozzászólására (») Vas, 18:44 /
 
Csak egy ötlet: én a RESET lábat bemenetnek használnám (analóg), ameddig el nem éri a szint a RESET-szintet az ADC-vel olvasható a jel. Kipróbáltam már, csak olyan osztót kell betenni, ami mondjuk csak Vcc/10 értékre húzza le.
(#) Laslie válasza wbt hozzászólására (») 8:36 /
 
Köszönöm az ötletet. Bár azt nem értem, hogy így hogyan tudom kapcsolgatni az LM386-nak a tápot.
Olyan megoldást lenne jó, ami csak arra az időre ad tápot az LM386-nak amíg a lejátszás tart.
Következő: »»   821 / 822
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