Mivel egy rutin fut csak egymás után sorba igy követik egyást de nem egyszer igy azért látszik a kapcsolási késés (fordulat) a két művelet kötöz! Ha több művelet lehet egy idöbbe futtatni párhuzamosan multitask millis fügvényel
Amit írsz, az nem szerepel a kódban. Itt csak annyi van, amit írtam. Kap 10 impulzust az X motor, 1-et az Y motor. Az 1-et nem lehet jobban darabolni. A mikrolépések pedig ettől függetlenek, valamint a 200lépés/ fordulat is.
Ha betennéd azt a kódot, amivel próbálod, talán jobban át lehetne nézni, hogy hol a probléma.
Ez csak egész lépéseknél használható, ha 16 mikrolépést, és a motor 200 lépés/fordulatot is beállítom, akkor már nem igen használható, mivel egyik motor mozgatása után kezdi a másik motor mozgatását. Nekem a szinkron mozgás lenne elfogadható.
itt van egy 3 motoros kód UNO pinekkel, CNCshield panellal A4988 vagy DRV8825, mindegy. Ebben a beállításban x 10x többet fordul mint y, z pedig nem forog
step(false, X_DIR, X_STP, stpx); //X forog jobbra, ha balra kell, akkor true step(false, Y_DIR, Y_STP, stpy); //Y forog jobbra, ha balra kell, akkor true step(false, Z_DIR, Z_STP, stpz); //Z forog jobbra, ha balra kell, akkor true
delay(10); // sebességet itt lehet állítani
Természetesen, igazad van, de nem ismerem, hogy milyen meghajtás van tervezve, így csak a megvalósításhoz való elképzelésemet vázoltam. Összedobhatok egy kódot is, ha kell, szerintem DRV8825 érdemes, ha már arduinorol beszélünk, és step dir megoldással.
ebben a módiban, nincs stepper driver, tehát valami tranyó mező vagy tranyók kellenek a meghajtáshoz, de az elv rendes step dir jelet fogadó meghajtóknál is így néz ki, csak akkor a step lábakat kell csak birizgálni
4 timer? csak a mega boardokon van 3 nál több, amiből eleve a rendszer lekap 2 őt!azokat közvetlen nem is éred el csak alányúkálva de a timer1 re direkt van lib és mindent szépen meg lehet vele oldani
1 nek kell lennie, aminek olyan időt kell beállítani hogy mindent végre tudjon hajtani
Amennyiben mindkét motor csak egy irányban kell hogy forogjon, akkor 4 timert kell definiálnod. Egy lesz az A motor indítója (STEP ON, PIN HIGH), 1 a B motot indítója, 1-1 pedig a motorok impulzushosszát vezérli a step jel megfelelő kikpacsolásával (STEP OFF, PIN LOW) A timerek ről itt (is) találsz egy tutorialt, de ezen kívül is van sokmillió Link: Arduino 101: Timers and Interrupts
Igy is lehet, de ha valaki nem annyira jártas a dologban az jobban jár ha keres egy stepper library-t, van arduinohoz egy pár, azokhoz mindjárt van mintapélda is.
Kell egy timer, hogy viszonylag pontos legyen a dolog. pl a timerone.h egy jó lib erre
majd beállítod hogy mennyire legyen gyors a 100 at forduló, és miközben billegeted a lábon a lépés jelet a motor meghajtójának szépen elszámolsz 10 ig és akkor billented a másikét is....
Úgy szeretnéd, hogy a programban fixen legyen a kód megírva, hogy melyik motor mennyit menjen, milyen sebességgel? Vagy van más paraméter is hozzá, mondjuk potméterek, vagy kapcsolók?
Hozzáértők segítségét kérném. Adva van egy Arduino Uno és két léptető motor. Hogyan lehetne két különböző fordulatszámmal hajtani egy időben a két motort?
Törölt felhasználó
2018-11-20 11:59:46
[1265]
Ha szervó encoder jelét is az arduinonak kell feldolgozni arra kevés lesz valószínű mega2560 is!
Üdv mindenkinek! Arduino-t szeretnék ötvözni dc szervomotorokkal egy kis műszerész eszterga működtetésére (cnc-sítésére). Létezik-e hasonló lehetőség mint például 3D-s nyomtatóknál jól bevált LCD+controller+arduino+ramps. Ha igen van-e valami nyílt forráskód mint pl a Marlin vagy Repetier firmware a nyomtatókhoz?
valami igyesmit akarok: https://www.youtube.com/watch?v=roUAJfycQ14
hori791130 | 293
2018-11-02 15:15:24
[1256]
Sziasztok,lehet nem jó helyre írok de hátha van itt olyan aki segíteni tudna,van egy nema34 13Nm léptetömotrom és főorsót akarok vele hajtani,be kötésben tudna segíteni valaki?Mach3
sergei01 | 109
2018-10-29 11:53:24
[1255]
Kiindulási alapnak szerintem tökéletes. leírásban benne van minden.
Jó lenne tudni mekkora áramra vannak állítva a motorok vezérlői, a 3.5W ~300mA kér a 12V tól Tápegységet maxra nem hajtunk ki... minél vastagabb az odavezető vezeték annál kisebb a rézveszteség, tehát 1-es vezeték már jó kell hogy legyen de ha elfér gyűrj a kötegbe 2.5 keresztmetszetűt, persze valami hajlékonyat mert hamar el fog törni...
egyébként meg a motorok hajtásánál is a vezérlők minden bizonnyal 24V ot is elviselnek, azzal szebben és gyorsabban mehetnek a motorok...
Sziasztok! Látom itt megy az Amperes beszélgetés. Tanácsot kérnék: van egy kis kék lézer gépem papíron 3.5w-os 1x és 2y tengely mozgató nema17 van rajta. Kérdés hogy elég e a 4-5Ampetes 12v táp. Ha maxon kergetem a lézert akkor a kis venti fordulata halhatóan leesik. Van egy pár pc tápom 3-400w abból tudok neki elég áramot adni? Még egy kérdés milyen kereszmetszetű kábel lenne ideális a lézerhez. Arduino nano vezérli az egészet.
Devecz Miklós | 2658
2018-10-22 15:02:39
[1250]
Köszi. Azt hiszem találtam egy jó kapcsolást, arduinora. A Mach3 nem jó, mert ahhoz le kellene mennem a garázsba, a tekercselést, meg a lakásban akarom megvalósítani.
A motornak igen, de ilyenkor az emelt feszültségű tápegységből kevesebb áramot vesz fel a vezérlő.
Hasonlóan működik mint egy kapcsolóüzemű step/down táp.
A motorok áramát a PWM és step freki miatt egyébként is nehéz mérni, de ha az árammérőt a tápegység és a vezérlő közé kötöd akkor látványos lesz az eredmény.
Ekkor jól látszik az is ahogy növekszik a teljesítmény igény a fordulatszám emelkedésével.
"Nem 12V-on kérik a 2A-t a motorok, hanem csak néhány Volton. Máris más a teljesítmény igény."
Szerintem ez sántít...
Bár nem Arduino és nem 12V, de a méréseim szerint ha egyszerűen akarja valaki kiszámolni akkor teljesen mindegy hogy 12V vagy 43V-al hajtod a motorokat, egy 2A-es motornak 2A-re van szüksége optimálisan menni.
Még a 3D printeremet nem mértem, majd ha lesz időm akkor megmérem, de a CNC-met mértem és az úgy néz ki egyezik a teoretikus számítás szerint is.
Átjöttem ide, mert az a topik, ahová először beírtam, most egy magasztosabb témát taglal, nem akarok ott zavarni.
Akarok építeni egy tekercselő gépet. Nem kell sokat tudnia, csak csévetestet szeretnék tekercselni. Ami az elvárás, két léptető motor lenne benne, az egyik tekercsel, a másik a sorokat rendezné. A vezérlés arduino lenne, aminek lenne egy menetszám kijelzője is, be lehetne állítani a huzalvastagságot, tekercs magasságot, irányváltást.
Most jön a neheze, nincs valakinek egy működő kapcsolása, vezérléssel?
PallMallMan | 447
2018-10-19 21:33:32
[1245]
12 volt 6A laptop táp és semmi se melegszik! Valami nincs jól beállítva!
Nem hogy melegednek hanem forrósodnak. szerintem is kevés neki a táp. 16 microstep van beállítva erre emlékszem. a potit tekergettem akkor megmozdultak de nagyon ergya volt a mozgás. 3 darab nema17 kínai termék. 1,33A 12-24V dc. mint írtam mivel már van 3d nyomtatóm így nem szeretnék építeni belőle semmit. csak megint a kezembe akad pakolás közben. meg időm se van rá nagyon. ennek ellenére köszönöm az információkat.
Az nem baj hogy melegednek, elég sok meleget bírnak. Ha viszont megakadnak néha az sok mindentől függhet. Egyik probléma az hogy szerintem 12V 5A az kevés. A másik az is lehet hogy nagyon magas microstep van beállítva, ha 16 van akkor csökkenteni kell 8-ra, mert akkor a motorok erősebben működnek. Az is lehet hogy a driver nincs jól beállítva, a potin kell az áramot beállítani, a referensfeszültségen keresztül. De ha növeled az áramot akkor még melegebb lesz, ami nem probléma ha rendesen van beállítva, pláne ha egy kis ventilátorral is segítesz hozzá a hűtéshez.
Az attól függ milyenek a motorok és hány motort akarsz hajtani Az UNO CNC shield 4 motort tud hajtani, ha a motorjaid 2A-es akkor 8A az a minimum, de arra 1/3-al ajánlatos növelni, úgyhogy 10A alatt szerintem nem jó. De ha 3D printert akarsz vele használni, vagy pedig maró motort is az hajtja akkor még több kell.
Na meg a másik az hogy ha magasabb feszültséget kötsz a CNC Shildre akkor gyorsabban tudod a motorokat hajtani. 12V az nagyon kevés szerintem, bár működik azzal is, de én egyik gépemet 24V-al a másikat 36V-al hajtom hogy a cél sebességet elérjem.