Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Emeld a motor tápfeszét 12V-ra, 30V-ig birja.
És használj körbeforgó vezérlést:
Bővebben: Link
A delay(1) és delay(2) között ott a delayMicroseconds(xxx). 1000uS az 1mS.
Tulajdonképpen az én programom is "körbeforgó" vezérlés, csak nem egy, hanem két tekercses üzemmód anagyobb nyomaték miatt. Egyébként a tekercsfeszültség eleve 12V, de úgy vettem észre, a tekercsfeszültség a sebességet egyáltalán nem befolyásolja, legfeljebb a nyomatékot csak.
A mutatott kódodban, amúgy annyi probléma van, hogy ha a negyedik lépésről az első lépésre ugrik a program, akkor minimális ideig a négyes és az egyes tekercs is be van kapcsolva. Én épp ezért cseréltem fel az első lépésnél a z első lépésnél a 4-es és 1-es tekercsek vezérlésének helyét, Tehát előbb kikapcsolja a négyest, csak aztán kapcsolja be az egyest... De most hogy így belegondolok, a kettes és hármas vezérlésnek is helyet kéne cserélni, hogy azok is egymás után vezérlődjenek...
Közben faragtam egy kicsit, és ebben a kódban már csak a szükséges változásokat "írom" a kimenetre.
Szóval úgy néz ki, a motor valóban nem bír nagyobb fordulatot, mert a 2 -es DelayTime értéknél még megy szépen, de az 1-es DelayTimenél már nem... Arra jutottam, hogy a kéttekercses üzemmódban kb 150RPM a max fordulatszám.
Hello. Sajnos nincs itthon LM239. De van LM324 és LM358.
LM324 adatlapja Figure 31. és LM358 adatlapja Figure 31. Ezek jó lennének? Kiegészítve a kapcsolást, ahogy írtad, és ahogy a Figure 3-on van.
Most látom, hogy a Vin és a Vref nem ugyanazon a bemeneten (+/-) van.
Szia.
Arra utaltam, hogy a delay(1) és delay(2) között van ezer érték még. Tehát lehet, hogy tudnál tovább gyorsítani, ha mondjuk a delay(1.5) lenne a leggyorsabb, vagy mondjuk a delay(1.7). Ezeket a tizedes delay értékeket ne próbáld ki, nem fog működni, de delay(1.5) helyett írhatsz delayMicrosecond(1500)-at, az 1.5mS-ig várakoztat. Magyarán: finomíthatsz a várakozás felbontásán. A hozzászólás módosítva: Márc 15, 2018
Igen próbáltam úgy is, azért volt bent a delayMicrosecond() is. De már 1750-es értéknél se megy...
Használhatsz opamp-ot komparátorként, szerintem nem lesz vele baj.
Igen használhatod a 31. ábra szerinti kapcsolást is.
Annyi a különbség, hogy invertált lesz a kimenő jel a bemenethez képest. De ez programból kezelhető. Még a kapásjelző csúnya tüskéit kellene levágni a kimenete és a GND közé kötött pár nanos kondival. Úgy méretezd, hogy csak a tüskéket vágja, az impulzusok maradjanak. Mivel a vezérlőjel feszültség szintjeit nem ismerjük, Vref bemeneten ellenállás osztóval beállítod a komparálási szintet. Hogy szép négyszögjeleket kapjál a kimeneten. Még fontos a 100n-es kerámia kondi a tápfesz lábakra.
Oké. Akkor kipróbálom a LM324 –es verziót, a megfelelő kiegészítésekkel. Ezt így, hogy tudom grafikusan megjeleníteni, (hangkártya)?
Azért nem ültem tétlenül délelőtt és kísérletezgettem, hangkártyás mérésekkel. Érdekes az eredmény. A képeken, az én kapásjelzőm RF jelei látható. Ha folyamatosam húzom a damilt, akkor az adó a képen látható kis időmegszakításokkal, egy dupla (51db + 50db-os) jelcsomagot ad. Ez a dupla jelcsomag addig ismétlődik, míg húzom a damilt. Ha megállok, egy 14-szer ismétlődő jelcsomaggal fejezi be az adást, (ebből az első 51db-os, a többi 50db-os de az utolsó 49db-os (az legutolsó 0 midig elmarad)). Ha csak egy kicsit húzom meg a damilt, akkor csak a 14db-os jelcsomagot adja le az adó. A jelcsomag: 0 (egy kis szünet) 10101010101010100101100110011001010101010110011000. Mivel én, világítást akarnék felkapcsoltatni a kapásjelző jelzéséré, (legyen az rövid vagy hosszabb damil húzású is) így egy dupla, 50+50db-os jelcsomagot kéne valahogy RF jelként elcsípni.
Hogy mihamarébb „normális” jelalakot lássunk és mérni is lehessen, megpróbálok a hétvégén, egy arduino-val összehozni, egy logikai analizátort.
Hali mindenkinek abba szeretném a segítségetek kérni hogy adott egy reed kapcsoló aminek kellene a kapcsolásait számolni és mikor elért egy számot akkor kapcsoljon az arduino egy kimeneten lévő relé kártyát egy adott ideig. Mikor ez megtörtént kezdje az egészet elölről. Valaki esetleg megtudná nekem ezt írni mert még kezdő vagyok az ilyen összetettebb programom írásában és eddig nem nagyon jött össze sajnos.
Ez azért még nem annyira összetett:
köszi szépen
még csak 2 hete foglalkozom a programozással vagyis még ismerkedem vele így még nehéz
Azt javaslom, hogy ha foglalkozni akarsz ilyesmivel, akkor iratkozz fel a tavir.hu 60 napos arduino tanfolyamára, és persze kezdj is el foglalkozni ilyesmikkel. A feladat amit kértél kb. ujjgyakorlat, ha az alapokkal tisztában vagy.
És ha elakadsz, akkor kérdezz, megpróbálunk segíteni
elektro95
Keres rá! Harsanyi_Reka_Juhasz_Marton_Andras--Fizikai_szamitastechnika__elektronikai_alapok_es_Arduino_programozas....
Tanitható modulok.....
433mhz RF Receiver Learning Code Decoder Module 433 mhz Wireless 4 Channel output Diy kit For Remote Control 1527 encoding Bővebben: Link Bővebben: Link
Köszi, belenézek.
Sziasztok!
Arduino eepromját használom. (328P-PU) Ha minden igaz 100.000 írást garantál az adatlap. Ezt hogyan kell értelmezni címenként külön, vagy ahányszor kiadom írás parancsot? Segítségeteket előre is köszi!
Egy arduino mega 2560 panel az alábbi programmal ha az 1 láb 0-ra áll mennyi idő alatt reagál és állítja a 2 lábat 1 -re? pl.:
do { if ( digitalRead(1) == LOW) digitalWrite(2, HIGH); } while(digitalRead(3)); Elvileg a processzor 15477 utasítást hajt végre másodpercenkét. De nem tudom a magasszintű utasítások mögött hány gépikódu áll. Ezért kérdezném okosabbaktól.
A egy digitalWrite 54 gépi utasítás. Lusta vagyok kiszámolni, hogy az mennyi órajelciklus.
Részletek: https://www.peterbeard.co/blog/post/why-is-arduino-digit...-slow/
Akassz rá egy szkópot és mérd meg, az a biztos.
Ha a kódra vagy kiváncsi, akkor megnézheted a fordított .hex file-t is, valahova a TEMP-ne rakja az IDE. Egyébként nem csak az utasítások száma számít, néha várni kell egy mérés eredményére (az analogRead biztosan ilyen, a digitet nem tudom). Ha gyors kódot akarsz, akkor felejtsd el a digitalRead/Write utasítást, és direkt portmanipulációval dolgozz. Olvasnivalók: Bővebben: Link Bővebben: Link Bővebben: Link A hozzászólás módosítva: Márc 16, 2018
Régebben kipróbáltam azt, hogy regiszter szinten magasra állítottam egy lábat, majd alacsonyra, és így tovább. 2 MHz fölött mértem a lábon a frekit.
Az igen.... 2 millió 1/0 másodpercenként. Most már értem miért kellett áttérnem arduinora parallax Basic Stamp -ről...
Írtam egy rövid tesztet.
Ha sok egyéb tevékenység mellett kell reagálni, akkor biztosan a megszakítás a leggyorsabb. Ha viszont csak ezzel kell foglalkozni, akkor a pollozás a jobb. Az is biztos, hogy Arduino kódot használva lassabb lesz.
Az eredmények úgy jöttek ki, hogy logikai analizátorral mértem 5-5 db idő különbséget a két esemény, vagyis a bemenő jel változása és a kimenő jel változása között. Interrupt esetén annyira kicsi volt a különbség a mérések között, hogy átlagoltam. Polling esetén annyira nagy volt a szórás, hogy inkább ide írtam a minimumot és a maximumot. A hozzászólás módosítva: Márc 17, 2018
|
Bejelentkezés
Hirdetés |