Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Különböző kristálysebességek mellett ellenőrizted az F_CPU beállítást? Ha 8MHz-es kristályt használsz át kell állítani 8000000-ra.
Hogyan tudom ellenőrizni?
Üdv!
Vettem egy új Arduinot. Rádugtam a gépemre, és nem tudta a gép az illesztőszoftvert telepíteni. Egy régi p4-es gépre rádugtam, és hibátlanul működött. Megpróbáltam egy harmadik géppel, de azzal sem ment. Valaki tudna segíteni, mi lehet a baja? Előre is köszönöm!
"A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)"
Hozzászólásod felett, a topik címe alatt, sárga részben lesz a megoldás.
Sim-et közvetlenül lítium celláról használom, ugyan az a jelenség.
A legegyszerűbb módszer, hogy delay-el villogtatsz egy LED-et (pl. 5 másodpercenként) és ellenőrzöd, hogy tényleg annyi ideig tart, mint amennyit beállítottál.
Annyit, próbáltam.
A két gépen, amin nem működött viszonylag új operációs rendszer volt? Az egyik IC-n, ami az USB közelében van olvasható FT232 vagy hasonló szöveg?
Ha igen, akkor hamis soros-USB illesztő IC-t érzékelt a driver és letiltotta a működést, ez a "funkció" csak a frissebb driver-ekbe került beépítésre. A hozzászólás módosítva: Nov 10, 2017
Akkor nem ez a gond.
Sziasztok!
Egy kezdő kérdés következik. Eddig nem igazán volt suükségem pontos időzítésre, ez viszont most eljött.
Van ez a példaprogram, ami a Timer1 túlcsordulásakor indít egy megszakítást. A kérdés igazából csak annyi lenne, hogy miután beállítjuk a kezdőértéket(34286) utána már el is kezd a leosztott órajelenként hozzáadogatni, vagy csak miután lefutott az utána lévő kód? Ez azért lenne fontos, mert utána szeretnék berakni egy elágazást és emiatt váltakozna a lefutás ideje és ha a kérdésem második fele az igaz, akkor borulna is a pontos időzítés. Másik kérdés. Lehet-e olyat, hogy egy timert több konstans értékhez hasonlítunk, és minden érték elérésekor más programrészlet fusson le? Az utolsónál természtesen nullázódna az érték. Vagy inkább konkretizálom a felhasználást. Két FETet kellene felváltva kapcsolni, és ezek között egy bizonyos holtidő lenne. És még egy feltételhez is kéne hasonlítani, hogyha egy változó nagyobb mint a megadott érték, akkor nem nyitná ki egyik fetet sem, "tiltana".
Fontos, hogy ha regisztereket használó mintát írsz, mindig írd oda az Arduino típusát is, ugyanis a hagyományos arduino-s utasításokkal ellentétben a regiszterek mindig mikrokontroller függőek (tulajdonképpen ezt rejti el előletek az arduino keretrendszer).
Kérdéseidre a válasz: Igen, elindul. Igazság szerint meg se állt... Lehetséges 3 különböző megszakítást generálni. Van két közbenső pont, illetve amikor túlcsordul a számláló. A számlálót inicializálhatod egy kezdőértékkel is (a példában ezt használta, így jobban testre szabhatod az időket). Ha csak időnként van erre szükség, akkor utána csak letiltod a megszakításokat így azok nem birizgálják majd a FET-eket. Amikor újra át akarod kapcsolni őket, akkor újra belövöd a kezdőértéket, majd engedélyezed a megszakításokat. A kódhoz tehát a következőket teheted hozzá: Setup-ba:
További megszakítások:
Indítás.
A hozzászólás módosítva: Nov 10, 2017
Nincsen rajta ilyen ic.
Minden ugyan úgy win7 volt.
Nem vettem észre, és nem is gondoltam volna rá.
Holnap megpróbálom vele. Gyors válaszát köszönöm!
Pontosan erre lesz szükségem
![]() Valahol el kell kezdeni a hardverközeli programozást. De megmondom őszintén, ha a legelején regiszterekben kellett volna már gondolkodnom, szerintem hamar elment volna a kedvem. Sok ember Arduinoval kezdi a programozást és előbb azért nem árt valamiféle szemléletnek kialakulni.
Sziasztok!
BLDC szabályzáshoz szeretném megfogni a tekercsek áramát. Szokásos soros ellenállás-komparátor kombináció kiegészítve kellően nagy FET-ekkel, jól leméretezve kivitelezhető egy megfelelő kóddal? Egész ESC-t építem, 12V, peak current ~18A, de nem szeretném 80W felé tolni tartósan. Illetve az UART interrupt beleszólhat a kimenetek vezérlésébe (alacsony baudrate, kis információ csomagok)? Esetleg tudtok más (fűtőtest nélküli) megoldási lehetőséget? Köszönöm a válaszokat.
Egy kínai kis RC ESC miért nem jó neked? Olcsó, készen kapod...
Ha jól értem, akkor annak a működését szeretnéd leutánozni.
Tovább nyomozok az ügyben.
Tápfeszt kizárnám (amíg nincs mérés róla), próbáltam az arudino-t usb-ről táplálni, a sim-et litium celláról, ugyan az a jelenség. Szintillesztőt csináltam, BC337 volt itthon azzal próbáltam, ugyan az a jelenség (hogy jó-e ez a tranzisztor abban nem vagyok biztos (biztosan nem tökéletes erre a célra, de hirtelen ez volt), hétfőig csak ez van, de valószínűleg jó, mert ugyanazt produkálja mint eddig). Jelenleg D4-D5 lábról megy a kommunikáció, ezek a megfelelők erre a célra? Mi különbség a 8 MHz-es és 16 MHz-es arduinio kommunikációja között?
Biztosan magad akarsz építeni egy ESC-t? Ehhez minimum interrupt szinten kellene a FET-eket meghajtanod, ide a digitalWrite meg a delay kevés. A soros kommunikációt akár el is felejthetnéd, de minden mást is, mert elsődlegesen a motorral szinkronban kell maradni, ezt nem korlátozhatja semmi! Se a delay miatt mS-ként lefutó timer0 interrupt, se semmi felesleges számítás.
Idézet: „Egy kínai kis RC ESC miért nem jó neked? Olcsó, készen kapod... Ha jól értem, akkor annak a működését szeretnéd leutánozni."” Tanulási célzatú projektek, hobbi szinten. Ha olcsó kínai termékeket szeretnék vásárolni, akkor nem foglalkoznék arduinoval és nem írnék ide. Kovidivi: digitalwrite-ot és delay-t elvből nem használok (ha LED-et villogtatok sem). DigitalWrite függvénye túlbiztosított, regiszterekkel állítom a kimeneteket. Delay helyett timerekkel dolgozok. Interrupt szinten vannak hiányosságaim, de többek között ez az oka annak, hogy ilyeneket csinálok. A nem terhelt tekercset akarom hall szenzornak használni, tudom korrigálni az esetleges lépés kieséseket. Uart interruptot ki tudom váltani egy illesztő attinyval, multiplexelt kimenettel 6-8 biten (6-8 arduino láb felhasználásával, de messze nem kell ekkora felbontás) figyeltetek bemeneti lábon értékeket. Eredeti kérdésem továbbra is fennáll (ESC-től függetlenül), tudok e egyszerű áramgenerátort csinálni arduinoval (IRL2203-as meghajtó FET-ek, 7mohm-os Rdson, 116A), vagy hajtsam ki analóg módon? És igen, ez egy fejlesztési projekt, a feladatot megfogalmaztam, most szeretném realizálni az elképzelést elméleti szinten. A hozzászólás módosítva: Nov 11, 2017
Ui.: Max fordulaton 3.6 kHz-n kellene léptetnem, 20 MHz-en 5500 órajelenként.
A hozzászólás módosítva: Nov 11, 2017
Egy fordulat az nem egy lépés. Egyébként oka van annak, hogy a legtöbb kapható ESC-ben vmilyen ARM alapú mikrokontroller van, ráadásul te ha jól értem BEMF-et akarsz használni, ami macerásabb mint a diszkrét Hall szenzoros megoldás. Én a helyedben nem arduinóval csinálnám meg a projektet, bár a kezdeti tapasztalatszerzéshez hasznos lehet.
Én javasolnám, hogy mégis mielőtt majd nulláról akarnád megírni, tanulmányozd ezeket az ESC-ket, főleg a hozzájuk írt alternatív szoftvereket. Mint pld.: SimonK, KK, BLheli ... Ezekben megtalálod a univerzálisra és full konfigurálhatóra készített ASM nyelven írt forrást. Ennek az ismerkedésével és tesztelésével sokat lehet tanulni, ehhez meg jó alap lenne egy ismert gyári hardver, vagy annak az utánépítése.
Előrébb jutottam úgy gondolom.
A loop így néz ki:
Ha nem altatok, 100%-an működik. Ha növelem az altatási ciklus hosszát, csökken a jól olvasott sms-ek aránya. Sajnos a legrövidebb ciklussal is (ami 30 ms ), sem 100%-os. Könyvtár leírásában nem találom a parancsot ami bekapcsolja a chip minden funkcióját (felébreszti). Valami ötlet, vagy kód amivel ezt megtehetem? Low Power lib
Sziasztok.
Egy kerti led világítás, RXB6 433MHz-es modullal történő ki-be kapcsolását (fényerő szabályozással) csinálom. A rc-switch-master nevezetű libraries-t használom a távirányító gombjainak megfelelő „kódok - számsor „ beazonosítására . De sajnos elakadtam, mikor a programba be akartam vinni a többi távirányító „kódját” (több távirányító is használva lenne, (van ami egy gombos, van ami több gombos)). A VAGY utasítással van problémám. A csatolt program részletben, az -1- jól működik (egy távirányító egy gombja). A -2- itt már van VAGY utasítás és felborul a program, nem jól működik, (valószínűleg a VAGY után nem jó ez ÉS ). A -3- ennél a verziónál működik a program, de bármely távirányító bármely gombjára reagál. Tehát a kérdésem, hogy használjam a programban a VAGY utasítást? (Egy IF-ben többször is lehet a VAGY egymás után? Kb. 3db kellene) Válaszokat előre is köszönöm.
Helló!
Kapcsolástechnikailag hogy előnyösebb bekötni egy fényérzékelő ellenállást Attiny85 -re, és miért? A séma szerint, pozitív ágba? B séma szerint, test ágba?
Ahogy neked tetszik. Mind a kettővel működik.
Ne sporold a gepelest.
A 10-es sor: if ((mySwitch.getReceivedValue() == 2819073) || (mySwitch.getReceivedValue() == 10889298) && (raindit==0) ) { .... Szerintem valahogy igy kellene .... A hozzászólás módosítva: Nov 13, 2017
Igen azt tudom, csak arra volnék kíváncsi, (mivel a procit annyira nem ismerem),
hogy van -e valami előnye/hátránya az egyik sémának a másikkal szemben?
Próbáld ki ezt,ez könnyen bővíthető:
vagy lehet még else-if is
Semmi köze a procihoz. Ez egy ellenállásosztó így is úgy is, ahol csak annyit variálsz, hogy az analóg értéked csökken vagy nő majd a fotoellenállás növekedésével. Ha nagyon kukacoskodni akarnánk, akkor az analóg bemenet árama (van neki, mégha nagyon kicsi is) által okozott hibára optimalizálhatnánk, de igazándiból ez csak nagyon nagy ellenállásoknál játszik, egy szimpla 10bites ADC nem annyira érzékeny.
A hozzászólás módosítva: Nov 13, 2017
|
Bejelentkezés
Hirdetés |