Stegmotor

Berätta om dina pågående projekt.
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av ecenier »

TMCn är dessutom väldigt mycket tystare. Bytte till dessa i min prusa i3 PRO och den är nu som en viskning. Jag bytte till tmc2130


.
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

test
Senast redigerad av basekson 9 november 2019, 15:44:23, redigerad totalt 1 gång.
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av snigelen »

säter skrev:Kan du förklara vad du ska ha grejen till?
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

Test
Senast redigerad av basekson 4 december 2019, 17:53:54, redigerad totalt 1 gång.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av arvidb »

basekson skrev:void loop(){
for (int i = 0; i <= 6000 ; i+=100) {
Serial.println(i);
spd = i;
stepper.setSpeed(dirr * spd);
stepper.runSpeed();
delay(2000);

}

}
basekson: Du kan inte använda delay() tillsammans med AccelStepper, och .runSpeed() är antagligen inte heller rätt funktion att anropa. Läs dokumentationen för .run() och .runSpeed().

Som du ser ska funktionerna anropas så ofta som möjligt, så delay() i loop() funkar inte alls!
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av snigelen »

basekson skrev:Snurra en axel, allt är ju beskrivet i tråden
?

Det sitter tydligen något med en betydande massa i änden av axeln. Flera har frågat hur denna massa är fördelad. Men du verkar inte vilja svara på den frågan heller.

Whatever...
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

test
Senast redigerad av basekson 9 november 2019, 15:44:34, redigerad totalt 1 gång.
bearing
Inlägg: 11232
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av bearing »

Du gör ett misstag som många nybörjare gör när de programmerar realtidsprogram. Man får aldrig anropa delay, helt enkelt. Det blir aldrig bra. Ibland kan det funka ändå, om programmet inte är så avancerat. Typ för korta test o.s.v.

Lägg de nödvändiga anropen i mainloopen, så att de alltid anropas varje varv. (Förutom möjligtvis ifall du vill gå över i ett läge där motorn inte drivs.)

Använd ett villkår som jämför aktuell tid med en sparad tidpunkt (istället för delay()). När skillnaden är större än ett valt intervall blir villkoret sant. Ändra då varvtalet med accelerationen. T.ex. speed = speed + acceleration. Där acceleration både kan vara positivt och negativt beroende på om du vill öka varvtalet eller sakta ned.
https://learn.adafruit.com/multi-taskin ... for-timing
SeniorLemuren
Inlägg: 7779
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av SeniorLemuren »

Dessutom så är void loop(){} lika med mainloop i Arduino. Lägg stegmotorkörningen i en egen rutin och att skriva till serieporten varje lopvarvarv är lika illa som delay. Skriv bara när du inte kör stegmotorn.
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

test
Senast redigerad av basekson 9 november 2019, 15:44:42, redigerad totalt 1 gång.
Användarvisningsbild
säter
Inlägg: 32514
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av säter »

Har du tandremshjul tillsammans med kilremmar?
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

Test
Senast redigerad av basekson 4 december 2019, 17:54:08, redigerad totalt 1 gång.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av arvidb »

basekson skrev:Har dock tappat lite i toppfart, har någon tips där?
Du anropar .setAcceleration() och .move() varje loop efter den första sekunden (och förutom den millisekund när millis() == 30000). Varför? Från dokumentationen om .setAcceleration(): "This is an expensive call since it requires a square root to be calculated. Dont call more ofthen than needed". Kanske det gör att Arduinon inte hinner skicka pulser lika ofta så att du tappar toppfart?
basekson
Inlägg: 69
Blev medlem: 24 juli 2012, 14:50:21

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av basekson »

test
Senast redigerad av basekson 4 december 2019, 17:54:22, redigerad totalt 1 gång.
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Re: NEMA 17 Stegmotor, driva tung 30mm axel

Inlägg av arvidb »

Anropa .setAcceleration() en enda gång (alltså i setup() istället)?
Skriv svar