Arduino/A star

arduino, teensy, atmega, pic a jine (software, hardware)
Odpovědět
lubos
Sponzor fora
Příspěvky: 5088
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

11. 3. 2016, 9:01

Dělám ted takovou blbost s krokovým motorem
Tady je kod pohybu
v podstatě do pošle určitý počet kroků , a zobrazuje aktuální počet na lcd.
Dělá mi to v podstatě 2 problémy , pokud smažu zobrazní počtu kroků tak motor stojí.
Navíc je slyšet jak se mění frekvence po 10 100 1000 10 000 .. krocích.


void PohybDemo()
{
displayBackArrow();
uint8_t state = 3;
static uint16_t lastUpdateTime = millis() - 2000;
while(buttonMonitor() != 'B')
{
state = 1;
switch(state)
{
case 0:
break;

case 1:
if (stepcount < 209600) {
digitalWrite(13, HIGH); // sets the pin on
delayMicroseconds(10); // pauses for 10 microseconds
digitalWrite(13, LOW); // sets the pin off
delayMicroseconds(10 + (speedValue*100)); // pauses with custom delay
lcd.gotoXY(0, 0);
lcd.print(stepcount);
stepcount = stepcount ++ ;
}

break;
case 2:
break;
}
}
}
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

11. 3. 2016, 9:20

Začni tím, že místo
stepcount = stepcount ++ ;
dáš
stepcount++;

Jinak zápis na pomalý LCD displej stojí nějaký čas. Pokud to chceš mít časované přesně, tak musíš časování buď nějak odvodit od timeru, nebo si dobu zápisu změřit a kompenzovat ji.

A taky by to asi chtělo nějakou rampu, aspoň rozběhovou.
lubos
Sponzor fora
Příspěvky: 5088
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

11. 3. 2016, 9:33

ono to běhá dost pomalu,
jen mě znepokojuje že když dám pryč ten zápis na display tak to negeneruje kroky vůbec...
Edit
tak jsem to dal ted zase pryč ( zápis na display ) a kroky to generuje a ta změna frekvence už tam neni)
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Odpovědět

Zpět na „MCU“