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í :D

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 ..