Hulp nodig, Slider met stappenmotor

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 26 Jun 2016, 16:48

Hoi,

Ik was online op een andere plek, kon dus niet bellen. Toch ontzettend bedankt.

Eindelijk heb ik de motor zien draaien..
Alleen start de motor nu direct, niet nadat ik pin3 heb geactiveerd.

Ik kan niet echt zien waarom hij dit doet.


cpp code
const int btnStart = 3 ; //Start Button

const int stDir = 8 ; //Stappenmotor Dir - Richting
const int stStep = 9 ; //Stappenmotor Step - Stepper
const int stEna = 10 ; //Stappenmotor Ena - Enable
unsigned long currentTime;
unsigned long loopTime;

int buttonState = 0;

void setup() {
// put your setup code here, to run once:
// uitgaande signalen:
pinMode(stDir, OUTPUT);
pinMode(stStep, OUTPUT);
currentTime = millis();
loopTime = currentTime;


pinMode(btnStart, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(stDir, HIGH);


// read the state of the pushbutton value:
buttonState = digitalRead(btnStart);

// Kijk of start is ingedrukt.
if (buttonState == HIGH)
digitalWrite(stStep, HIGH); // Puls op de step
delay(1); //
digitalWrite(stStep, LOW); // Puls gestopt
delay(1); //



}
Bijlagen
steppenmotor (Custom).jpg
steppenmotor (Custom).jpg (37.04 KiB) 7893 keer bekeken
Hou niet van de nachtdienst, maar wel van nachtfotografie

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor nicoverduin » 26 Jun 2016, 17:02

Als je een 'if' gebruikt moet je een open en sluit accolades gebruiken voor alle statements die bij die if horen. anders wordt alleen het eerst volgende statement uitgevoerd.
En we horen graag wat de oplossing was.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 26 Jun 2016, 19:05

Tja, even een terugval..
Door verkeerd aansluiten van de accu op de spanningsregelaar is de regelaar kapot gegaan..
Dus ik kan op dit moment niet verder.. Ik hoop dat de driver nog intact gebleven is.

Eerst een nieuwe regelaar bestellen, dus wordt vervolgd.

Met de 'if' functie had ik idd geen accolades geplaatst..
Maar nadat ik wat regels en accolades heb bijgezet, gebeurde er weer niets..

Mijn gedachte was, wanneer ik 'enable' HIGH maakte de driver uitschakelde, dus heb ik dat in de 'if - else' regel gebruikt.
Volgens mij een foute gedachte..


cpp code
const int btnStart = 21 ; //Start Button

const int stDir = 8 ; //Stappenmotor Dir - Richting
const int stStep = 9 ; //Stappenmotor Step - Stepper
const int stEna = 10 ; //Stappenmotor Ena - Enable
unsigned long currentTime;
unsigned long loopTime;

int buttonState = 0;

void setup() {
// put your setup code here, to run once:
// uitgaande signalen:
pinMode(stDir, OUTPUT);
pinMode(stStep, OUTPUT);
pinMode(stEna, OUTPUT);
currentTime = millis();
loopTime = currentTime;


pinMode(btnStart, INPUT_PULLUP);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(stDir, HIGH);

// read the state of the pushbutton value:
buttonState = digitalRead(btnStart);

// Kijk of start is ingedrukt.
if (buttonState == HIGH) {
digitalWrite(stStep, HIGH); // Puls op de step

delay(5); //

digitalWrite(stStep, LOW); // Puls gestopt

delay(5); //

}
else {
// maak pin 10 Enable hoog:
digitalWrite(stEna, HIGH);
}

}
Hou niet van de nachtdienst, maar wel van nachtfotografie

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor nicoverduin » 26 Jun 2016, 19:14

Tja het is niet erg als je enable HIGH zet.. Maar wanneer zet je hem dan LOW?
Daarnaast zou ik af en toe de CTRL-T functie gebruiken in de IDE. Wat die doet zie je vanzelf :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor shooter » 26 Jun 2016, 21:31

de button is active LOW want je schakelt naar gnd.

tja, shit happens, maar ach is ook weer een leermoment.
heb wel een 7805 liggen hoor.
paul deelen
shooter@home.nl

Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 26 Jun 2016, 22:04

shooter schreef:de button is active LOW want je schakelt naar gnd.

tja, shit happens, maar ach is ook weer een leermoment.
heb wel een 7805 liggen hoor.


Alweer een leermoment idd ;)
Het is een 78s05 5v 2A..
Als je die hebt hou ik mij graag aanbevolen, aangezien ik niet meer onderdelen nodig heb uit diverse webshops.
Wat vraag je er voor, dan regel ik het direct.. :)
groet
Hou niet van de nachtdienst, maar wel van nachtfotografie

Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 27 Jun 2016, 11:03

Inmiddels 3 nieuwe spanningsregelaars besteld, kan even vooruit..
Bedankt voor het aanbod, maar is niet meer nodig :)

Tot zover dus dit gemaakt..
Enable HIGH en LOW er in gezet.
btnStart active LOW gemaakt over gnd.

Heb even het laatste gedeelte gekopieerd.


cpp code
pinMode(btnStart, INPUT_PULLUP);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(stDir, HIGH);

// read the state of the pushbutton value:
buttonState = digitalRead(btnStart);

// Kijk of start is ingedrukt.
if (buttonState == LOW) {
digitalWrite(stEna, HIGH); // Pin10 Laag - Enable
digitalWrite(stStep, HIGH); // Puls op de step

delay(5); //

digitalWrite(stStep, LOW); // Puls gestopt

delay(5); //

}
else {
// maak pin 10 Enable hoog:
digitalWrite(stEna, HIGH);
}

}
Hou niet van de nachtdienst, maar wel van nachtfotografie

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor nicoverduin » 27 Jun 2016, 12:15

In het kader van zorgvuldig de code nakijken, zou ik nog eens goed naar je code kijken. En dan met name waar het afwijkt in het commentaar en de code...... Nu loopt die motor voor geen meter.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 27 Jun 2016, 13:31

nicoverduin schreef:In het kader van zorgvuldig de code nakijken, zou ik nog eens goed naar je code kijken. En dan met name waar het afwijkt in het commentaar en de code...... Nu loopt die motor voor geen meter.


Oh ja ik zie het, ik heb de: digitalWrite(stEna, HIGH); // Pin10 Laag - Enable .
Maar moet idd zijn : digitalWrite(stEna, LOW); // Pin10 Laag - Enable

Volgens mij is het nu wel goed.. :)
Hou niet van de nachtdienst, maar wel van nachtfotografie

Berichten: 44
Geregistreerd: 21 Dec 2012, 15:23
Woonplaats: Drenthe

Re: Hulp nodig, Slider met stappenmotor

Berichtdoor B.Meijer » 27 Jun 2016, 18:54

Misschien ben ik te snel bezig en heb ik wat overgesprongen.
Heb wat gegoogeld in arduino.cc op meerdere knoppen..
Daardoor heb ik wat gecreëerd, is het iets?

snelheid van de motor zou ik hier met een aantal pinnen HIGH of LOW maken regelen.

Hieronder de sketch.

Code: Alles selecteren

const int btnStart = 2 ; //Start Button
const int btnStop = 1 ; //Stop Button
const int btnReset = 0 ; //Reset Button
const int swStart = 14 ; //Micro Switch Start
const int swEnd = 15 ; //Micro Switch Eind

const int stDir = 7 ; //Stappenmotor Dir - Richting
const int stStep = 8 ; //Stappenmotor Step - Stepper
const int stEna = 9 ; //Stappenmotor Ena - Enable

const int drvMS0 = 16 ; //Stepstick Ms0
const int drvMS1 = 17 ; //Stepstick Ms1
const int drvMS2 = 18 ; //Stepstick Ms2

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;


void setup() {
 
pinMode(btnStart, INPUT);
pinMode(btnStop, INPUT);
pinMode(btnReset, INPUT);
pinMode(swStart, INPUT);
pinMode(swEnd, INPUT);

pinMode(stDir, OUTPUT);
pinMode(stStep, OUTPUT);
pinMode(stEna, OUTPUT);

pinMode(btnStart, OUTPUT);
pinMode(btnStart, OUTPUT);
pinMode(btnStart, OUTPUT);
}



void loop() {

  digitalWrite(stEna, LOW);
  buttonState = digitalRead(btnStart);
  buttonState1 = digitalRead(btnStop);
  buttonState2 = digitalRead(btnReset);
  buttonState3 = digitalRead(swStart);
  buttonState4 = digitalRead(swEnd);

  // Kijk of reset is ingedrukt.
  if (buttonState2 == HIGH) {
    // start motor - Hoge snelheid - tegen de richting in:
    digitalWrite(stStep, HIGH);
    digitalWrite(stDir, LOW); //Richting van motor - HIGH is met klokrichting mee LOW tegen klokrichting in
    //Motorsnelheid instellen
    digitalWrite(drvMS0, LOW);
    digitalWrite(drvMS1, LOW);
    digitalWrite(drvMS2, LOW);

    delay(5);              // stopt na (milliseconden)

    digitalWrite(stStep, LOW);    // Puls gestopt

    delay(5);              // stopt na (milliseconden)

    if (buttonState3 == HIGH) {
      digitalWrite(stStep, LOW);

    }

    // Kijk of start is ingedrukt.
    if (buttonState == HIGH) {

      digitalWrite(stStep, HIGH);// start motor - lage snelheid - met de richting mee:
      digitalWrite(stDir, HIGH); //Richting van motor - HIGH is met klokrichting mee LOW tegen klokrichting in
      //Motorsnelheid instellen
      digitalWrite(drvMS0, LOW);
      digitalWrite(drvMS1, LOW);
      digitalWrite(drvMS2, LOW);

      delay(5);              // stopt na (milliseconden)

      digitalWrite(stStep, LOW);    // Puls gestopt

      delay(5);              // stopt na (milliseconden)
      if (buttonState1 == HIGH) {
        digitalWrite(stStep, LOW);
      }
      if (buttonState4 == HIGH) {
        digitalWrite(stStep, LOW);
      }
    }

  }

}





Hou niet van de nachtdienst, maar wel van nachtfotografie

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten