Stránka 7 z 11

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 5:59
od melsoft
jeykey píše:to: melsoft

upozorňuju, že program sem netestoval na motorech, takže sem ani nepřenastavoval žádný hodnoty, doladění je na Tobě
valce.txt
Moc děkuju ale bohužel takhle to nechodí. Procedura stepper.run() je volaná "málo často" tudíž motor se pohybuje rychlostí 1 krok za sekundu (asi ty pauzy = delay(1000) a tudíž je to nepoužitelné. Taky se to spouští bez ohledu na stav tlačítka. Pomoc, jsem ztracen! Půjde ten accel.stepper na tohle vůbec použít?

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 7:15
od tarvisio
Je možno změnit v tom programu prodlevu mezi jednotlivými řádky ?

Jsou například tyto příkazy na jednu osu a je dlouhá doba mezi jednotlivými řádky když se provádí program.

moveX(40, 3.7);
moveX(80, 3.1);
moveX(40, 3.7);
moveX(0, 3.7);

Je to způsobeny tím Serial.print ?
Když začíná vykonávat jeden řádek tak blikne TX.

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 7:46
od jeykey
tarvisio píše:Je možno změnit v tom programu prodlevu mezi jednotlivými řádky ?

Jsou například tyto příkazy na jednu osu a je dlouhá doba mezi jednotlivými řádky když se provádí program.

moveX(40, 3.7);
moveX(80, 3.1);
moveX(40, 3.7);
moveX(0, 3.7);

Je to způsobeny tím Serial.print ?
Když začíná vykonávat jeden řádek tak blikne TX.
print to nedělá, to mělo smysl jen když je za každým krokem, takhle je to nepodstatný, možná zkrátit náběh motoru, ten má vliv na dýlku posledního kroku a může to vypadat jako pauza,.

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 7:47
od jeykey
to: melsoft

co takhle?
valce.txt
(1.86 KiB) Staženo 446 x

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 7:58
od tarvisio
kutil_tim píše:to se bojíš tam dát pauzu třeba tak ?

int spocni = 10;


moveX(40, 3.7);
delay(spocni);
moveX(80, 3.1);
delay(spocni);
moveX(40, 3.7);
delay(spocni);
moveX(0, 3.7);
Je to pěkný, ale já tam pauzu nepotřebuji. Mám jí tam už tak dost protože to dlouho čeká mezi řádky.

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 8:18
od tarvisio
kutil_tim píše:zkrátit že by tu ?

// functions
void moveX(float posun, float rychlost) {
Serial.println("pohyb na ose X zahajen");
int Current = 1;
float Bx = Xcounter - posun;
Bx = Bx * (-1);
int Ot = Bx * (kroku_na_otacku_X / stoupani_sroubu_X);
int zrychleni = 400; // tady se mění zrychlení motoru při rozjezdu (počet kroků na plnou rychlost)
float maxDelay = 700; // tady se mění prudkost náběhu motoru (když dělá velký rázy, zvýší se číslo)
float Ost = 1 / (kroku_na_otacku_X / stoupani_sroubu_X);
rotate(Ot, rychlost, DIR_X_PIN, STEP_X_PIN, Current, zrychleni, maxDelay, Ost);
}
Zkoušel jsem, bohužel to nepomohlo.

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 8:29
od tarvisio
kutil_tim píše:a co toto ?
if (view == 1) Serial.println(Ost); //pokud je cosi pravda
delay(1000);//tak spočni sekundu a pak

toč
//rotate a specific number of steps - (negitive for reverse movement)
//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger

To je ono ! Super, díky moc !

Re: 3 osý manipulátor bez PC

Napsal: 30. 9. 2014, 9:11
od melsoft
Tak teď je to "much better". Jen jsem ještě překopal toto:

if (status_L_S = 1){
for (int i = 0; i<=long_repeats; i++){
stepper.setSpeed(long_speed);
stepper.setCurrentPosition(0);
stepper.moveTo(16000);
while (stepper.currentPosition()!=16000){
stepper.run();
}}
delay(long_pause);
}


na toto:

if (status_L_S = 1){
for (int i = 0; i<=long_repeats; i++){
stepper.setSpeed(long_speed);
stepper.setCurrentPosition(0);
stepper.moveTo(16000);
while (stepper.currentPosition()!=16000){
stepper.run();
}
delay(long_pause);
}

}

neb to nedělalo pauzy mezi protáčením v cyklu a trochu jsem poladil rychlosti a už to fiští. Ještě si musím ten status vyčíst z přepínačů a bude hotovo.

Díky moc jeykey, jsi génius!!!

Re: 3 osý manipulátor bez PC

Napsal: 1. 10. 2014, 6:50
od tarvisio
Nevěděl bys co je v programu špatně že to na základě příkazů jezdí jinak ?
První řádek příkazu to udělá správně, ale pak se to zamotá a jezdí jinak. Jak kdyby přičítalo k tomu prvnímu.

Popřehazoval jsem směry motorů aby mi to jezdilo správně, jinak nic.
Vím že tam byl nastavený absolutní systém, ale ten teď neposlouchá.

Děkuji za pomoc.

Poslední funkční program:
manipulator 2.txt
(8.24 KiB) Staženo 252 x

Re: 3 osý manipulátor bez PC

Napsal: 1. 10. 2014, 12:21
od tarvisio
Toš to je škoda :)
Ja myslím že už mi tam vše chodí podle mých představ, jen si to počítá nyní jak chce a pak to i jezdí jak chce :D

Re: 3 osý manipulátor bez PC

Napsal: 1. 10. 2014, 7:07
od jeykey
jak si přehazoval ty směry otáček tak tam zůstalo starý počítání
if (dir == LOW) Ost = Ost*(-1);

musíš přepsat na:

if (dir == HIGH) Ost = Ost*(-1);

klidně to předělej kutile Time, já tak trochu nestíhám, tak to vždycky dodělávám narychlo s hromadou jiných věcí
Tarvisio jestli to máš už v nějaký koncový podobě, tak bychom tam měli použít knihovnu accelstepper a doladit to do finálový podoby, bez těch evolučních zbytků.

Re: 3 osý manipulátor bez PC

Napsal: 1. 10. 2014, 8:12
od tarvisio
jeykey píše:jak si přehazoval ty směry otáček tak tam zůstalo starý počítání
if (dir == LOW) Ost = Ost*(-1);

musíš přepsat na:

if (dir == HIGH) Ost = Ost*(-1);

klidně to předělej kutile Time, já tak trochu nestíhám, tak to vždycky dodělávám narychlo s hromadou jiných věcí
Tarvisio jestli to máš už v nějaký koncový podobě, tak bychom tam měli použít knihovnu accelstepper a doladit to do finálový podoby, bez těch evolučních zbytků.

Děkuji za pomoc. Už vše funguje, jsem happy :D
Jdu tvořit dále to zařízení ...

Re: 3 osý manipulátor bez PC

Napsal: 3. 10. 2014, 10:12
od tarvisio
Věděl by si mi poradit proč mi to na několik tlačítek pouští různé programy, které tam mám předvolené ?
Na každé tlačítko mám jiný pohyb, ale tlačítka mi někdy zablbnou a udělají program z druhého tlačítka.

Vstupy mám jako INPUT a taky nastaveny na HIGH.


Zde je schéma zapojení.
schema_tlacitka.jpg

Děkuji za pomoc.

Re: 3 osý manipulátor bez PC

Napsal: 4. 10. 2014, 10:25
od tarvisio
tarvisio píše:Věděl by si mi poradit proč mi to na několik tlačítek pouští různé programy, které tam mám předvolené ?
Na každé tlačítko mám jiný pohyb, ale tlačítka mi někdy zablbnou a udělají program z druhého tlačítka.

Vstupy mám jako INPUT a taky nastaveny na HIGH.

Zde je schéma zapojení.



Děkuji za pomoc.
Myslím že to mám vyřešeno, byl problém v UNO.

Re: 3 osý manipulátor bez PC

Napsal: 15. 10. 2014, 2:19
od tarvisio
Ahoj jeykey,

chci se zeptat proč je tam potřeba použít knihovnu accelstepper ?
Ono to takhle nebude spolehlivě fungovat ?

Ja to nyní už používám ten program. Vrtá mi to na tom malém soustruhu díly. Pohyby chodí zatím v pohodě.
Program trvá asi 23 sekund. Díly se mění ručně a potom se program spouští tlačítkem cca každých 10 sekund znova. Stává se mi, že mi program zahapruje a zastaví se a pak se znova rozjete, ale jakoby se celý posune v jedné ose o několik mm a pak mi to narazí, protože to přijede rychloposuvem dál něž by mělo. Musím restartovat, najet znovu výchozí polohy. Stává se mi to ca každých 200 ks když to vrtá v kuse.

Je to napojeno na arduino Mega, myslíš že kdyby tam bylo Due tak by problém mohl zmizet, protože je to výkonější ?