Stránka 2 z 2
Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 21:33
od Pan Pomelo
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.
Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 21:43
od kiRRow
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"
Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 22:07
od Pan Pomelo
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ě?
Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 22:29
od kiRRow
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.
Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 22:31
od Pan Pomelo
Velice děkuji za nasměrování, vidím že arduino stojí za nastudování

Re: Ovladač pro řízení krokových motorů
Napsal: 07 led 2020, 23:02
od kiRRow
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 ..