
řízení KM s MCU
šprte!!pafik píše:Sím, sím, pane profesore. Mě by stačila

Něco jsem spáchal a kupodivu to chodí

Kód: Vybrat vše
setfreq m32
start:
pwmout pwmdiv64, b.2,0,0 ;vypne motor
if pinc.3=0 then goto dolu ;při stisknutí tlačítka T1 se provede odskok na smyčku chod dolů
goto start
dolu: ;smyčka pro chod dolů
if pinc.3=0 then dolu ;pokud je stále stisknuto tlačítko T1 program se zacyklí a "čeká" na jeho uvolnění
high b.5 ;nastaví směr otáčení motoru pro pohyb dolů
readadc c.0,b3 ;načte rychlost otáčení z potenciometru
for b0= 150 to b3 step -1
let w2=b0*4
pwmout pwmdiv64, b.2,b0,w2
pause 40
if b0=b3 then pwmout pwmdiv64, b.2,b0,w2
endif
next
pokracuj:
if pinc.1=0 then goto nahoru ;při najetí na spodní koncák K1 odskok na smyčku nahoru
if pinc.2=0 then goto start ;při najetí na horní koncák K2 následuje odskok na začátek programu a tím jeho ukončení
if pinc.3=0 then goto pauza ;při stisknutí tlačítka T1 se provede odskok na smyčku pauza
if pinc.4=0 then goto start ;estop
goto pokracuj
nahoru: ;smyčka pro chod motoru nahoru
low b.5 ;nastaví směr otáčení motoru pro pohyb nahoru
readadc c.0,b0 ;načte rychlost otáčení z potenciometru
let w2=b0*4
pwmout pwmdiv64, b.2,b0,w2
if pinc.2=0 then goto start ;při najetí na horní koncák K2 následuje odskok na začátek programu a tím jeho ukončení
if pinc.4=0 then goto start ;estop
goto nahoru
pauza:
pwmout pwmdiv64, b.2,0,0 ; zastavení posuvu motoru dolů
if pinc.3=0 then pauza ;pokud je stále stisknuto tlačítko T1 program se zacyklí a "čeká" na jeho uvolnění
pauza1:
if pinc.3=1 then pauza1
pauza2:
if pinc.3=0 then nahoru ;při opětovném stisknutí tlačítka T1 se provede odskok na smyčku pro posuv nahoru
goto pauza1
Rotwerk 300
Sieg SX2L homemade cnc
Sieg SX2L homemade cnc
- jova
- Příspěvky: 2545
- Registrován: 2. 11. 2007, 1:40
- Bydliště: Chýnov to je kousek od Tábora
- Kontaktovat uživatele:
Osobně jsem to měl na mysli spíše takto:
Mělo by ti to ohlídat ten spodní koncák a tlačítko i při rozjezdu.
Testoval jsem to jen v simulátoru tak to snad bude funkční.
Kód: Vybrat vše
setfreq m32
start:
pwmout pwmdiv64, b.2,0,0 ;vypne motor
if pinc.3=0 then goto dolu ;při stisknutí tlačítka T1 se provede odskok na smyčku chod dolů
goto start
dolu: ;smyčka pro chod dolů
if pinc.3=0 then dolu ;pokud je stále stisknuto tlačítko T1 program se zaciklí a "čeká" na jeho uvolnění
high b.5 ;nastaví směr otáčení motoru pro pohyb dolů
readadc c.0,b3 ;načte rychlost otáčení z potenciometru
for b0= 255 to b3 step -1
let w2=b0*4
pwmout pwmdiv64, b.2,b0,w2
pause 300
if pinc.1=0 then goto nahoru ;při najetí na spodní koncák K1 odskok na smyčku nahoru
if pinc.3=0 then goto pauza
next
dal:
if pinc.1=0 then goto nahoru ;při najetí na spodní koncák K1 odskok na smyčku nahoru
if pinc.3=0 then goto pauza ;při stisknutí tlačítka T1 se provede odskok na smyčku pauza
goto dal
nahoru: ;smyčka pro chod motoru nahoru
low b.5 ;nastaví směr otáčení motoru pro pohyb nahoru
readadc c.0,b0 ;načte rychlost otáčení z potenciometru
let w2=b0*4
pwmout pwmdiv64, b.2,b0,w2
if pinc.2=0 then goto start ;při najetí na horní koncák K2 následuje odskok na začátek programu a tím jeho ukončení
goto nahoru
pauza:
pwmout pwmdiv64, b.2,0,0 ; zastavení posuvu motoru dolů
if pinc.3=0 then pauza ;pokud je stále stisknuto tlačítko T1 program se zaciklí a "čeká" na jeho uvolnění
pauza1:
if pinc.3=1 then pauza1
pauza2:
if pinc.3=0 then nahoru ;při opětovném stisknutí tlačítka T1 se provede odskok na smyčku pro posuv nahoru
goto pauza1
Testoval jsem to jen v simulátoru tak to snad bude funkční.
- jova
- Příspěvky: 2545
- Registrován: 2. 11. 2007, 1:40
- Bydliště: Chýnov to je kousek od Tábora
- Kontaktovat uživatele:
Zase takový borec nejsematlan píše:Len 600? To je pohoda. Ked som pisal riadenie zosilnovaca v assembleri malo to cez 6000 riadkov

Je to na věžní hodiny, takže přesný čas mi hlídá RTC obvod. Ten PICAXE otáčí jednou za minutu krokovým motorem a tím i rafikami, srovná rafiky na správný čas po výpadku proudu, řeší přechody na zimní / letní čas, řídí bití 1/4tek a celých hodin, vypíná na noc bití...pafik píše:Nevím, jaký to maj bejt hodiny, ale narazíš na přesnost; ten picaxe nemá hodiny řízený krystalem. Musíš dát externí oscilátor.
O to víc obdivuji staré mistry, kteří tohle dokázali „naprogramovat“ jen do koleček.
jova píše: 14. na výstup B.2 se odešle hodnota PWM
15. chvíli se počká
16. zkontroluje se podmínka zda b0>b3. Pokud ano, program se vrací na ř.12, pokud b0=b3, pokračuj dál.
17. kontroluje se zda už motor dojel na koncák
Až potud je to vše tak jak jsme chtěli. Ale pak přijde řádek 19. a na něm tomu programu říkáš, že si to má vše znovu zopakovat! Ale to ty přeci nechceš. Ty potřebuješ, aby program pokračoval dál s konečnou hodnotou PWM po té smyčce for-next a zároveň kontroloval to tlačítko s koncákem. Takže tím řádkem 19. ho nesmíš poslat na začátek, ale do místa za tu smyčku (tam je už to PWM nastaveno), před ten koncák a tlačítko které musí kontrolovat!
Jasně že to funguje. Zmátl mně ten řádek 16. Je tam příkaz "next", nevidím tam žádnou kontrolu podmínek b0,b3

Rotwerk 300
Sieg SX2L homemade cnc
Sieg SX2L homemade cnc
- jova
- Příspěvky: 2545
- Registrován: 2. 11. 2007, 1:40
- Bydliště: Chýnov to je kousek od Tábora
- Kontaktovat uživatele:
Tu kontrolu podmínky b0,b3 ti vlastně hlídá ta smyčka FOR-NEXT.
Přesněji řádek: for b0= 255 to b3 step –1, který říká odečítej od b0 –1 a ten NEXT to vrací pořád zpět, dokud se nebude ta b0 rovnat hodnotě b3. A všechno co je mezi ním a tím příkazem NEXT se tolikrát bude opakovat, kolikrát ta smyčka proběhne.
No a to tlačítko a koncák v té smyčce hlídám proto, protože se třeba může stát, že nastavíš tak malou vzdálenost, že než proběhne to zrychlení už budeš na koncáku. A takhle by ti to mělo zastavit i při tom zrychlení po pár krocích.
Přesněji řádek: for b0= 255 to b3 step –1, který říká odečítej od b0 –1 a ten NEXT to vrací pořád zpět, dokud se nebude ta b0 rovnat hodnotě b3. A všechno co je mezi ním a tím příkazem NEXT se tolikrát bude opakovat, kolikrát ta smyčka proběhne.
No a to tlačítko a koncák v té smyčce hlídám proto, protože se třeba může stát, že nastavíš tak malou vzdálenost, že než proběhne to zrychlení už budeš na koncáku. A takhle by ti to mělo zastavit i při tom zrychlení po pár krocích.
Ahá, díky moc za polopatické vysvětlení. Nechám Tě teď odpočinout, než si zase něco vymyslím
. Příště si zkusím zobrazit ty proměnné na display. No to zas bude....
. Ještě jednou díky.


Rotwerk 300
Sieg SX2L homemade cnc
Sieg SX2L homemade cnc
Jestlipak ten krokáč a spol. vydrží taky alespoň těch možná 100, možná 300 let co ten stroj co se už nevyplatí opravovat?jova píše:To neTam je funkční stroj od Hainze.
Tohle je do jedné nedaleké vesnice, kde už se ten stroj nevyplatí opravovat, tak se tam dá ten krokový motor a ostatní musí nahradit elektronika.
když už, tak to aspoň zdokumentujte a dejte do rohu do bedny.....
NE digi foťákem!!!
Obvykle se dějí věci obvyklé. Méně často se dějí věci neobvyklé a zcela vyjímečně se dějí věci vyjímečné...
Masturn 40 CNC, Hermle UWF1200H CNC a pár klasik
http://www.radialengine.cz" onclick="window.open(this.href);return false;
http://www.autopejsek.cz" onclick="window.open(this.href);return false;
Masturn 40 CNC, Hermle UWF1200H CNC a pár klasik
http://www.radialengine.cz" onclick="window.open(this.href);return false;
http://www.autopejsek.cz" onclick="window.open(this.href);return false;
- jova
- Příspěvky: 2545
- Registrován: 2. 11. 2007, 1:40
- Bydliště: Chýnov to je kousek od Tábora
- Kontaktovat uživatele:
Pláčete chlapci nad špatným hrobem. O tom zda se něco opraví nebo ne, rozhodují jiní a hlavně finanční situace daného majitele. A iluze, že na věžích tikají jen mechanické hodiny je bohužel taky dost scestná.
Většinou se vyhazují kyvadla a dávají tam různé elektricky řízené komponenty, a nebo se rovnou rafičky napojí na elektromotor. Doby, kdy se chodilo na věž natahovat závaží už jsou nenávratně pryč. Dneska je to samé DCF.

- Pepa z depa
- Příspěvky: 1778
- Registrován: 2. 12. 2012, 9:31
- Bydliště: Hostěradice (Znojemsko)
Zdar chlapi, nechci zakládat nové vlákno, mohl by mi někdo dát odkaz na Aliexpress (ale jen tam) na nějaké univerzální řízení KM z tiskáren, ploterů a tak, mám jich spousty, popř. na co se tam dívat, asi voltáž a ... stačí jen Vlevo, Vpravo + Rychlost, jde mi o velmi pomalý pohyb ... fotoslider a pod. 
Děkuji předem

Děkuji předem
Žiju abych tvořil, tvořím abych žil. www.PePeSysel.cz
máša: vřeteno voda 1,5kW, měnič Delta, 2Nm 3f 60V krokáče, Yako drivery, lineáry a kuličkáče Hiwin,
vynikající Gravos GVE-64 na 125kHz, rám 8mm ocel vylita plastbetonem, vše na masivním litinovém stole.
máša: vřeteno voda 1,5kW, měnič Delta, 2Nm 3f 60V krokáče, Yako drivery, lineáry a kuličkáče Hiwin,
vynikající Gravos GVE-64 na 125kHz, rám 8mm ocel vylita plastbetonem, vše na masivním litinovém stole.
- jova
- Příspěvky: 2545
- Registrován: 2. 11. 2007, 1:40
- Bydliště: Chýnov to je kousek od Tábora
- Kontaktovat uživatele:
Na to co potřebuješ asi toto: http://es.aliexpress.com/store/product/ ... 658895f8d2
Budeš k tomu muset ještě vzít nějaký driver podle typu motoru. Když by driver uměl 16 mikrokroků a motor měl 200kroků na otáčku, tak by jsi se, jestli jsem to dobře počítal, měl dostat na 1 otáčku za 40sekund.
Ale s tím procesorem budeš mít mnohem víc možností: http://www.jova1.cz/ostatni/slider/slider.html
Budeš k tomu muset ještě vzít nějaký driver podle typu motoru. Když by driver uměl 16 mikrokroků a motor měl 200kroků na otáčku, tak by jsi se, jestli jsem to dobře počítal, měl dostat na 1 otáčku za 40sekund.
Ale s tím procesorem budeš mít mnohem víc možností: http://www.jova1.cz/ostatni/slider/slider.html