aansluiten meerdere stappenmotors

Arduino shields
Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 29 Nov 2017, 12:12

Dank je wel, ik heb zojuist in ieder geval een aantal DRV8833 besteld om er mee te gaan experimenteren.
Het gaat om kleine miniatuur movingheads, ze zullen niet tot nauwelijks weerstand bieden.
Als voorbeeld hieronder

Afbeelding

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: aansluiten meerdere stappenmotors

Berichtdoor shooter » 30 Nov 2017, 21:20

ach je gebruikt een plastice vorm van een moving head, prima, zorg dat het in balans is, en maak er een eindstop op, dan kun je altijd resetten naar een uitgangspositie, blijft wel het aantal stappen erg beperkt hoor. zorg dat het voeding voor het ledje vrij is, bijvoorbeeld door het asje te gebruiken. Maak beide motortjes op de Vork, dan heb je maar 1 kabeltje nodig.
paul deelen
shooter@home.nl

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 26 Jan 2018, 16:51

Beste

Inmiddels zijn de lichten geprint en ook de motors, arduino en drivers zijn aangesloten.
Het werkt!!! Zal een deze dagen wat fotos plaatsen. De lichteffecten zal ik een deze dagen in elkaar lijmen maar voor die tijd moet er alvast wat kleine dingen voor geprogameerd worden zodat we na het in elkaar zetten een beetje weten wat het gaat doen.

Afijn, de mini motortjes werken met de volgende sketch veel te snel:
https://www.hobbyelectronica.nl/product/5v-stappenmotor-met-uln2003
Wat ik ook aanpas, snelheid ect het wil niet werken, ik krijg het niet voor elkaar om hem gewoon 2 stapjes te laten draaien.

Bij deze sketch wel, hierin draait hij rustig een kant op.
http://tst.webcentre.nl/arduino.txt
Alleen zie ik zelf niet wat ik kan doen om hem zeg maar 3 stappen links om te laten gaan, hij dan even wacht, enkele seconden en daar bijvoorbeeld 8 stapjes de andere kant op, en dan stop of eventueel 4 stapjes weer terug. Zijn zo genoemde movingheads dus in een latere stadium programmeren we hem verder met diversen zwaai stappen opties/mogelijkheden, maar eerst dit even proberen.

Iemand een idee hoe ik met de laatste sketch hem enkele stapjes kan geven, stoppen en weer andere kant op?


Zou geweldig zijn als voorbeeldje is, dan zie ik wat beter hoe het in elkaar zit.

Alvast bedankt!!!

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: aansluiten meerdere stappenmotors

Berichtdoor shooter » 27 Jan 2018, 21:04

je kunt stepper gebruiken, maar in het txt versie, is het slimmer om alles wat nu in de loop staat in een aparte functie te zetten.
dan zet je in de loop een call naar die functie, met de variabele dir.
dus iets als loop {stap(dir);
delay (100);}
dan loopt de motor heel langzaam
volgende stap is om een timer te gebruiken.
dan kun je ook nog een teller gebruiken om het aantal stappen te bepalen, lekker spelen, er kan toch niks kapot.
paul deelen
shooter@home.nl

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 28 Jan 2018, 19:54

Dank je wel shooter,

Begrijp ik het dan goed dan er dan iets van dit komt te staan:

switch(_step){
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
delay (100);}

Dus we laten de if's zeg maar weg?

Begrijp hem niet helemaal namelijk maar wat je zegt is wel wat het ongeveer moet gaan worden.

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: aansluiten meerdere stappenmotors

Berichtdoor shooter » 28 Jan 2018, 23:11

alles wat nu in de loop staat naar de functie stap zetten,
in de loop komt dan de aanroep van stap te staan dus stap();
de uitbreiding is dan bijv de delay weghalen en die ook in de loop zetten.

Het volgende is dan de functie stepper gebruiken, dan zie je hoe het ook eenvoudig kan.
dan komt accelstepper, waarbij het mogelijk is om te versnellen en te vertragen.
paul deelen
shooter@home.nl

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 29 Jan 2018, 11:40

Oke,

Dat word een lastige voor me maar ik ga vanavond er even mee stoeien, alvast super bedankt! Ik laat het nog weten.

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 29 Jan 2018, 20:51

Nou kijk eens...., dit is wat ik zojuist gemaakt heb, en hij werkt mooi, eerst met klok mee dan andere kant, precies 1 rondje, moet overigens nog wel kleiner het rondje maar dat is af te stellen.

Is dit beetje wat je bedoelde?

Als er tips of op of aanmerkingen hoor ik het graag.
Foto en filmpie stuur ik zodra ze gelijmd zijn, kan ff duren maar komt goed

Berichten: 18
Geregistreerd: 27 Nov 2017, 11:00

Re: aansluiten meerdere stappenmotors

Berichtdoor djdeeno » 29 Jan 2018, 23:12

Sorry er ging wat mis in het posten van het bericht.
Voor alsnog de code om te controleren, tips zijn welkom

Code: Alles selecteren
int Pin0 = 11;
int Pin1 = 10;
int Pin2 = 9;
int Pin3 = 8;


int msDelay = 50;

void setup(void)
{
  pinMode(Pin0, OUTPUT);
  pinMode(Pin1, OUTPUT);
  pinMode(Pin2, OUTPUT);
  pinMode(Pin3, OUTPUT);
}

void loop() {

  for (byte i = 0; i < 5; i++)
    function1();

  for (byte i = 0; i < 5; i++)
    function2();

}


void function1()
{
{
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
 
delay(msDelay);
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
 
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, LOW);
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, LOW);
 
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, HIGH);
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, HIGH);
delay(msDelay);
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, HIGH);
 
delay(msDelay);
}



}


void function2()
{
{
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, HIGH);
 
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, HIGH);
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, LOW);
 
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, HIGH);
 digitalWrite(Pin3, LOW);
delay(msDelay);
 digitalWrite(Pin0, LOW);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
 
delay(msDelay);
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, HIGH);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
delay(msDelay);
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, LOW);
delay(msDelay);
 digitalWrite(Pin0, HIGH);
 digitalWrite(Pin1, LOW);
 digitalWrite(Pin2, LOW);
 digitalWrite(Pin3, HIGH);
 
delay(msDelay);
}


}


Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: aansluiten meerdere stappenmotors

Berichtdoor shooter » 30 Jan 2018, 17:49

Nu zullen er dus 4 * 8 /2 stappen gemaakt worden. is dus 16 complete stappen, maak van die 5 eens 500 en dan beweegt er iets meer.
Je hebt dus het begin van een stappensturing.
kijk eens of je de variabele msdelay mee kunt geven aan de functie, dus function1(msdelay); Daarna kun je dan in je loop de snelheid veranderen.
Volgende is om die delay eruit te werken met bijvoorbeeld blink without delay (dat werkt met een timer en dan kun je ineens meer aansturen dan je nu doet.

Daarna kun je eens nadenken over hoe je maar een halve stap zet per keer, je moet dan in een variabele bijhouden welke stand er is, voor elke motor en zo

En zo doe je iedere keer een stapje in je kennis op. Als je dan denkt van ik snap dit, zoek dan naar accelstepper, dat is een library met handige functies.
paul deelen
shooter@home.nl

VorigeVolgende

Terug naar Shields

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten