Jak řídit hybridní krokový motor (s enkoderem) pomocí PLC?
Driver mám tento :
http://www.cncshop.cz/es-d508-easy-servo-driver-50v-8a" onclick="window.open(this.href);return false;
Jde to nějak rozumně vyřešit? Mám představu: napíšu program do PLC kde dám počet pulzů a motor se mi o tolik potočí.
Předpokládám že budu potřebovat nějaký převodník , neprováděl někdo něco podobného?
Připojení krokového motoru k PLC
Pokud ti motor s driverem funguje, tak je to připojení naprostá trivialita, ten driver používá klasické řízení STEP/DIR.
Na jeden výstup PLC přípojíš DIR, na druhý STEP a jedeš tak, jak jsi chtěl (prostě na STEP pošleš tolik pulzů, kolik mikrokroků chceš udělat).
ENA asi ani zapojovat nemusíš.
Pokud tvoje PLC poskytuje push-pull výstupy, tak je připoj na svorky s + (DIR+ atd.) a na svorky s - (DIR- atd.) připoj GND.
Pokud poskytuje open-collector výstupy, tak je připoj na svorky - a na svorky + připoj 5V, 12V, 24V nebo co máš k dispozici.
Jenom pozor, pokud použiješ víc než 5V (tedy pokud ti push-pull výstup dává víc než 5V, nebo pokud při open-collectoru použiješ napajení víc než 5V), tak musíš zařadit do každého signálu sériový odpor (pro 12V odpor cca 1K, pro 24V odpor cca 2K).
Ještě k tomu nezapojení ENA - drivery většinou fungují tak, že při neaktivním (tedy i při nepřipojeném) signálu ENA fungují. Takže by se vlastně ten signál měl jmenovat DIS (jako Disable). Nechce se mi teď studovat datasheet, jak je to zrovna u toho tvého. Pokud by to zrovna tady bylo naopak, tak pak musíš připojit i ten vstup ENA, nebo pokud nebudeš chtít driver vypínat a chceš ušetřit signál na PLC, tak zapojit natvrdo ENA+ na 5V a ENA- na GND.
Na jeden výstup PLC přípojíš DIR, na druhý STEP a jedeš tak, jak jsi chtěl (prostě na STEP pošleš tolik pulzů, kolik mikrokroků chceš udělat).
ENA asi ani zapojovat nemusíš.
Pokud tvoje PLC poskytuje push-pull výstupy, tak je připoj na svorky s + (DIR+ atd.) a na svorky s - (DIR- atd.) připoj GND.
Pokud poskytuje open-collector výstupy, tak je připoj na svorky - a na svorky + připoj 5V, 12V, 24V nebo co máš k dispozici.
Jenom pozor, pokud použiješ víc než 5V (tedy pokud ti push-pull výstup dává víc než 5V, nebo pokud při open-collectoru použiješ napajení víc než 5V), tak musíš zařadit do každého signálu sériový odpor (pro 12V odpor cca 1K, pro 24V odpor cca 2K).
Ještě k tomu nezapojení ENA - drivery většinou fungují tak, že při neaktivním (tedy i při nepřipojeném) signálu ENA fungují. Takže by se vlastně ten signál měl jmenovat DIS (jako Disable). Nechce se mi teď studovat datasheet, jak je to zrovna u toho tvého. Pokud by to zrovna tady bylo naopak, tak pak musíš připojit i ten vstup ENA, nebo pokud nebudeš chtít driver vypínat a chceš ušetřit signál na PLC, tak zapojit natvrdo ENA+ na 5V a ENA- na GND.
Ok, diky.
Ještě jedna věc nevíš jak dostanu hodnoty z tohohle enkoderu?
http://www.cncshop.cz/s3806-rotacni-ink ... ni-enkoder" onclick="window.open(this.href);return false;
Ma to 2000 pulzů na otáčku a leze z toho 5 drátu , napájení je jasné takže zbývá A,B,Z a z nich dostanu hodnotu jak?
EDIT: jo už to asi vidím čisté pulzy lezou ze Z-tka.
Ještě jedna věc nevíš jak dostanu hodnoty z tohohle enkoderu?
http://www.cncshop.cz/s3806-rotacni-ink ... ni-enkoder" onclick="window.open(this.href);return false;
Ma to 2000 pulzů na otáčku a leze z toho 5 drátu , napájení je jasné takže zbývá A,B,Z a z nich dostanu hodnotu jak?
EDIT: jo už to asi vidím čisté pulzy lezou ze Z-tka.
- robokop
- Site Admin
- Příspěvky: 22874
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
pomoci citace ale musi podporovat citani kvadraturniho signalu z encoderu
pripadne klopnym obvodem typu D prevedes na step/dir
pak by sel pouzit obycejny citac s volbou smeru citani
ale ten klopak uz je externi vec
zase pozor na ty napetove urovne signalu
pripadne klopnym obvodem typu D prevedes na step/dir
pak by sel pouzit obycejny citac s volbou smeru citani
ale ten klopak uz je externi vec
zase pozor na ty napetove urovne signalu
Vsechna prava na chyby vyhrazena (E)
Z je index, tj. jeden pulz na otáčku. Takže pokud chceš jen vyhodnocovat počet otáček, tak je Z to správné.yety píše:jo už to asi vidím čisté pulzy lezou ze Z-tka.
Ale pokud chceš vyhodnocovat i pozici, tak ti samozřejmě Z nestačí, musíš použít i A a B.
Pokud to budeš provozovat na PLC, tak vezmi v úvahu, že je to pěkný fičák, pokud to má 2000 pulzů na otáčku. Takže programové čítání pulzů asi PLC moc nezvládne, bude to chtít nějaké takové PLCéčko, které pro to má podporu (ideálně i v HW, ale minimálně ve firmware).
Mex píše:Z je index, tj. jeden pulz na otáčku. Takže pokud chceš jen vyhodnocovat počet otáček, tak je Z to správné.yety píše:jo už to asi vidím čisté pulzy lezou ze Z-tka.
Ale pokud chceš vyhodnocovat i pozici, tak ti samozřejmě Z nestačí, musíš použít i A a B.
Pokud to budeš provozovat na PLC, tak vezmi v úvahu, že je to pěkný fičák, pokud to má 2000 pulzů na otáčku. Takže programové čítání pulzů asi PLC moc nezvládne, bude to chtít nějaké takové PLCéčko, které pro to má podporu (ideálně i v HW, ale minimálně ve firmware).
No, pravě z toho mám největší strach , tam totiž na otáčky úplně stačil ten 100imp/ot , což by zvládlo i obyč.
Musím pohledat něco co to zvládne nebo to vyřešit jinak.
ještě můžeš udělat jednoduchou děličku třeba 20ti a máš zase 100pulzů na otáčku..
věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
A jde to nějak snadno? Mě teď na první zamyšlení žádný úplně triviální zprůsob nenapadá. Samozřejmě v případě pohybu jen jedním směrem je to snadné, ale pokud to třeba může kmitat na místě, tak to bude chtít trochu ošetřit. Třeba AB převést na STEP/DIR a připojit k tomu obousměrný čítač, nebo tak nějak.RaS píše:ještě můžeš udělat jednoduchou děličku třeba 20ti a máš zase 100pulzů na otáčku..
Samozřejmě triviální by to bylo udělat procesorem. Např. STM32F0 se dá sehnat už kolem 30-50Kč a má HW podporu pro enkodéry, běžná ATmega8 nebo dokonce nějaká ATtiny je ještě levnější a líp sehnatelná, a i tam to při SW obsluze zvládne do dost vysokých otáček. Ale to už znamená programovat, vyřešit tomu napájení atd.
Předpokládám, že to nebude nějak spojeno s tím hybridním motorem, o kterém byl první dotaz. Tam by asi nějaké zpětné čtení pozice postrádalo smysl, to si ošéfuje už ten driver.
asi tak před 20ti lety jsem z toho měl praktickou maturitu na SPŠ, dnes už si to nepamatuju..
nějakej klopnej obvod řady 74xxx pár odporů, kondíků a bylo..tenkrát jsme na to měli 4hodiny na vymyšlení, realizaci a ještě napsat nějakou maturitní práci k tomu.. takže co si tak pamatuju vyhodnocuji jako snadné..

věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
A jaké chceš použít PLC?
Třeba základní simatic S7-1200 umožnuje na digitální vstupy na CPU modulu připojit enkodér s max. frekvencí čítání 100kHz. To je pro tvůj enkodér 50ot/sec.
Ve verzi s tranzistorovými digitálními výstupy to taky zmákne poměrně vysoké frekvence, ale je to spíš na řízení nějakého dopravníčku. Driver motoru, pokud umí 24V na vstupu, tak se připojí přímo.
Třeba základní simatic S7-1200 umožnuje na digitální vstupy na CPU modulu připojit enkodér s max. frekvencí čítání 100kHz. To je pro tvůj enkodér 50ot/sec.
Ve verzi s tranzistorovými digitálními výstupy to taky zmákne poměrně vysoké frekvence, ale je to spíš na řízení nějakého dopravníčku. Driver motoru, pokud umí 24V na vstupu, tak se připojí přímo.
Elektrikář, mechaniku dělám jen z donucení a jako hobby.
Mex píše:A jde to nějak snadno? Mě teď na první zamyšlení žádný úplně triviální zprůsob nenapadá. Samozřejmě v případě pohybu jen jedním směrem je to snadné, ale pokud to třeba může kmitat na místě, tak to bude chtít trochu ošetřit. Třeba AB převést na STEP/DIR a připojit k tomu obousměrný čítač, nebo tak nějak.RaS píše:ještě můžeš udělat jednoduchou děličku třeba 20ti a máš zase 100pulzů na otáčku..
Samozřejmě triviální by to bylo udělat procesorem. Např. STM32F0 se dá sehnat už kolem 30-50Kč a má HW podporu pro enkodéry, běžná ATmega8 nebo dokonce nějaká ATtiny je ještě levnější a líp sehnatelná, a i tam to při SW obsluze zvládne do dost vysokých otáček. Ale to už znamená programovat, vyřešit tomu napájení atd.
Předpokládám, že to nebude nějak spojeno s tím hybridním motorem, o kterém byl první dotaz. Tam by asi nějaké zpětné čtení pozice postrádalo smysl, to si ošéfuje už ten driver.
Ne s tim motorem to nemá nic společného.
Jaké PLC chci použít zatím nevím , nejlépe nějakou základní řadu, kdyby šlo LOGO nebo podobne poloPLC za lidovou cenu bylo by to fajn.
Jenže tydle male PLC nedají tu frekvenci toho enkoderu.
K čemu ten motor chceš použít?
Kolega má vyvinutou nějakou desku s displejem pro řízení motoru, který odměřuje pás těsnění a stříhá na kousky předvolené délky. Můžu se zeptat na cenu.
Ten Simatic S7-1200 se nechá pořídit za cca 4500Kč a na to, co umí, je to cena velice přijatelná. Logo je na to co umí a jak humpolácké je programovací prostředí strašně drahý.
Kolega má vyvinutou nějakou desku s displejem pro řízení motoru, který odměřuje pás těsnění a stříhá na kousky předvolené délky. Můžu se zeptat na cenu.
Ten Simatic S7-1200 se nechá pořídit za cca 4500Kč a na to, co umí, je to cena velice přijatelná. Logo je na to co umí a jak humpolácké je programovací prostředí strašně drahý.
Elektrikář, mechaniku dělám jen z donucení a jako hobby.