Ovladač pro řízení krokových motorů

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Pan Pomelo
Příspěvky: 10
Registrován: 07 led 2020, 17:38
Reputation: 0

Re: Ovladač pro řízení krokových motorů

Příspěvek od Pan Pomelo » 07 led 2020, 21:33

kiRRow píše:
07 led 2020, 21:24
No to není jenom jeden signál dir ... ale 4 ... a 4 signály step. Pokud budeš chtít točit pouze jedním motorem v jeden moment, tak je to jeden dir a 4 step.

V prvním případě budeš potřebovat 8 tlačítek (4 motory*2 směry) a jeden potenciometr, což dává 8 vstupů (6 při matici), 8výstupů a jeden analogový vstup.
V druhém případě to bude jedno tlačítko na dir, 4 na výběr motoru, 5 výstupů (jeden společný dir a 4x step) a jeden analogový vstup.

Zbyde ti tam ještě prostor pro ten senzor ?

-- edit

co třeba jako vstupy pro ovládání motorů použít 4 analogové joysticky ... nebo 2 čtyř směrné ?
Uno má myslím 14 digitálních pinů, takže na první způsob mi to nevystačí.
Jaký senzor by se tam měl dát?
Pokud by to práci usnadnilo, tak joysticky nejsou překážka.

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Ovladač pro řízení krokových motorů

Příspěvek od kiRRow » 07 led 2020, 21:43

No s joysticky by se obsadili 4 analogové vstupy ... buď by byly 4 co by šly jen nahoru a dolů, nebo 2 co by šly i do stran ... popřípadě kombinace.

Pak bys na ovládacím panelu měl několik páček... samy by se vracely do nulové pozice ( arduino to bude číst jako 512 )... pomocí mapovací funkce (jako ten pán) by jsis určoval rytmus impulzů, dle vychýlení joysticku ... a dir se nastaví dle toho jestli to měření bude menší nebo větší než 512. Takhle to zchroustne 4 analogové vstupy a 8 výstupů.

Osobně si myslím, že to takhle bude i z hlediska obsluhy "user friendly"

Pan Pomelo
Příspěvky: 10
Registrován: 07 led 2020, 17:38
Reputation: 0

Re: Ovladač pro řízení krokových motorů

Příspěvek od Pan Pomelo » 07 led 2020, 22:07

to bude opravdu asi nejlepš řešení.
jde nějak nastavit ten příkaz map (...) naráz z jedné do druhé krají pozice u joysticku? Nebo musím z krajní do nulové a z té do druhé krajní?
Myslím to tak, jestli jde sepsat ten příkaz map((analogread(joyX)) 0, 1023, 2000,50) napsat naráz tak aby měl nulovou pozici v 512.7

A ještě dotaz, umí to v Void loop pracovat s více příkazy ve stejnou chvíli? kdybych měl sekvenci jako v tom videu
Map (..)
digitalwrite
delay
digitalweite
delay
(hádám teda, že to musím udělat pro každou osu zvlášt)
bude to vždycky projíždět ty bloky popořadě?

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Ovladač pro řízení krokových motorů

Příspěvek od kiRRow » 07 led 2020, 22:29

Map dělá to, že vstupní hodnotu v rozsahu od-do přepočte na hodnotu jiného rozsahu.

Pokud chceš řídit více věcí najednou, nesmíš použít delay. Delay zacykluje program ve smyčce, ze které se dostaneš jen přerušením.

Pan Pomelo
Příspěvky: 10
Registrován: 07 led 2020, 17:38
Reputation: 0

Re: Ovladač pro řízení krokových motorů

Příspěvek od Pan Pomelo » 07 led 2020, 22:31

Velice děkuji za nasměrování, vidím že arduino stojí za nastudování :D

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Ovladač pro řízení krokových motorů

Příspěvek od kiRRow » 07 led 2020, 23:02

když to nějak nastíním ... čtu 512 v nulové poloze joysticku ... 0 v dolní poloze a 1024 v horní poloze ...

načtu hodnotu 512 = neposílám pulzy
víc jak 512 ... např 514 ... odečtu od 514 číslo 512 a nastavím dir na jeden směr -> dostanu rychlost 2 z 512ti možných a směr
méně jak 512 ... např 408 ... odečtu od 512 číslo 408 a nastavím dir na druhý směr -> rychlost bude 104 z 512ti možných a směr bude opačný

výsledné číslo si namapuji v rozsahu od 0 do 512 na čas kdy čekat mezi pulzy ...

..... taky co všechno ty motory dělají .... v rovině bych se raději pohyboval čtyřosým joystickem ... výšku bych raději dvousměrným .... rotaci nebo doostřování laseru zase rotačním enkodérem ..

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 14 hostů