EPS8266 met steppermotor
18 berichten
• Pagina 1 van 2 • 1, 2
EPS8266 met steppermotor
Hallo allemaal,
Ik ben begonnen met het proberen om een EPS8266 draaiende te krijgen op een site. het doel is om de via een site, een button te klikken waarmee de steppermotor een X aantal stappen zet, dit moet dan positie 1 zijn. Er moet dan nog een button komen, waarmee die terug draait naar positie 2. --> positie is dus ook het standaard begin punt.
Nu heb ik een code, waarmee eigenlijk alles werkt, maar nu kan ik hem helemaal rond laten draaien --> Hij moet eigenlijk maar 1x draaien en daarna stoppen.
Tevens wil ik er een endpoint aan toevoegen.
Ik doe alles op basis van een EPS8266, tevens zit ik nog met het verhaal dat mijn stepperdriver 5V moet hebben, maar dit probeer ik op te lossen door een voltage verhogen die ik ertussen wil zetten.
Wie kan mij helpen met dit verhaal? Mochten er op- en/of aanmerkingen zijn, verneem ik het graag.
Dit is de code op dit moment:
Ik ben begonnen met het proberen om een EPS8266 draaiende te krijgen op een site. het doel is om de via een site, een button te klikken waarmee de steppermotor een X aantal stappen zet, dit moet dan positie 1 zijn. Er moet dan nog een button komen, waarmee die terug draait naar positie 2. --> positie is dus ook het standaard begin punt.
Nu heb ik een code, waarmee eigenlijk alles werkt, maar nu kan ik hem helemaal rond laten draaien --> Hij moet eigenlijk maar 1x draaien en daarna stoppen.
Tevens wil ik er een endpoint aan toevoegen.
Ik doe alles op basis van een EPS8266, tevens zit ik nog met het verhaal dat mijn stepperdriver 5V moet hebben, maar dit probeer ik op te lossen door een voltage verhogen die ik ertussen wil zetten.
Wie kan mij helpen met dit verhaal? Mochten er op- en/of aanmerkingen zijn, verneem ik het graag.
Dit is de code op dit moment:
- Code: Alles selecteren
/*****************************************************
* Date: 9 july 2018
* Written by: Usman Ali Butt
* Property off: microcontroller-project.com
* ***************************************************/
#include <ESP8266WiFi.h>
const char* ssid = "Marlijn & Jasper";
const char* password = "0623865185";
int Step = 0; //GPIO0---D3 of Nodemcu--Step of stepper motor driver
int Dir = 2; //GPIO2---D4 of Nodemcu--Direction of stepper motor driver
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
pinMode(Step, OUTPUT); //Step pin as output
pinMode(Dir, OUTPUT); //Direcction pin as output
digitalWrite(Step, LOW); // Currently no stepper motor movement
digitalWrite(Dir, LOW);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Start the server
server.begin();
Serial.println("Server started");
// Print the IP address on serial monitor
Serial.print("Use this URL to connect: ");
Serial.print("http://192.168.125.219"); //URL IP to be typed in mobile/desktop browser
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Match the request
int i=0;
int value = LOW;
if (request.indexOf("/Command=forward") != -1) { //Move 50 steps forward
digitalWrite(Dir, HIGH); //Rotate stepper motor in clock wise direction
for( i=1;i<=50;i++){
digitalWrite(Step, HIGH);
delay(10);
digitalWrite(Step, LOW);
delay(10);}
value = HIGH;
}
if (request.indexOf("/Command=backward") != -1) { //Move 50 steps backwards
digitalWrite(Dir, LOW); //Rotate stepper motor in anti clock wise direction
for( i=1;i<=50;i++){
digitalWrite(Step, HIGH);
delay(10);
digitalWrite(Step, LOW);
delay(10);}
value = LOW;
}
// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<h1 align=center>Stepper motor controlled over WiFi</h1><br><br>");
client.print("Stepper motor moving= ");
if(value == HIGH) {
client.print("Forward");
} else {
client.print("Backward");
}
client.println("<br><br>");
client.println("<a href=\"/Command=forward\"\"><button>Forward </button></a>");
client.println("<a href=\"/Command=backward\"\"><button>Backward </button></a><br />");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
Serial.println("");
}
Advertisement
Re: EPS8266 met steppermotor
haal eerst even je telefoonnummer als wachtwoord weg want nu kan iedereen erbij.
en als je een teller erop zet met elke vooruitstap, dan kun je terugtellen tot 0 en dan ben je weer op je oude positie, denk wel een de stapsnelheid want 200 stappen /seconde is veel en dat is dus een 50 milliseconde.
en als je een teller erop zet met elke vooruitstap, dan kun je terugtellen tot 0 en dan ben je weer op je oude positie, denk wel een de stapsnelheid want 200 stappen /seconde is veel en dat is dus een 50 milliseconde.
paul deelen
shooter@home.nl
shooter@home.nl
Re: EPS8266 met steppermotor
Shooter,
bedankt voor je reactie, hoe kan ik dit aanpassen? ik zie nergens knopje bewerken of iets dergelijks.
waar zet je dat precies in de code dan?
bedankt voor je reactie, hoe kan ik dit aanpassen? ik zie nergens knopje bewerken of iets dergelijks.
waar zet je dat precies in de code dan?
Re: EPS8266 met steppermotor
in je programma staat backward met een klein for next loopje van 50, daar kun je de tijd van de puls als deze LOW is aanpassen van nu 10 naar bijvoorbeeld 100 dan kun je daarna versnellen als nodig is, voor meer controle kijkeens op accelstepper (voor vertragen en versnellen bijv.
paul deelen
shooter@home.nl
shooter@home.nl
Re: EPS8266 met steppermotor
shooter schreef:in je programma staat backward met een klein for next loopje van 50, daar kun je de tijd van de puls als deze LOW is aanpassen van nu 10 naar bijvoorbeeld 100 dan kun je daarna versnellen als nodig is, voor meer controle kijkeens op accelstepper (voor vertragen en versnellen bijv.
Maar dan vertraag ik toch eigenlijk alleen de draai snelheid?
Ik heb het idee dat er ergens een "loop herhaling" zit. waardoor die steeds weer forward kan.. hij moet eigenlijk van beginpunt X naar eindpunt Y en dan weer naar beginpunt X. Meer keuzes mag die niet hebben.
Re: EPS8266 met steppermotor
if (request.indexOf("/Command=forward") != -1)&& (value ==0) { //Move 50 steps forward
en dat bij achteruit ook maar dan value==1
en dat bij achteruit ook maar dan value==1
paul deelen
shooter@home.nl
shooter@home.nl
Re: EPS8266 met steppermotor
Hallo,
Ik krijg helaas die code niet voor elkaar.
Heeft foutcode weer met “(“?
Weet jij waar dit in kan zitten?
Ik krijg helaas die code niet voor elkaar.
Heeft foutcode weer met “(“?
Weet jij waar dit in kan zitten?
Re: EPS8266 met steppermotor
shooter schreef:if (request.indexOf("/Command=forward") != -1)&& (value ==0) { //Move 50 steps forward
en dat bij achteruit ook maar dan value==1
het de regel aangepast naar het volgende:
- Code: Alles selecteren
if (request.indexOf("/Command=forward") != -1)&& value ==0; { //Move 50 steps forward
Ik krijg nu echter de volgende foutmelding:
exit status 1
label 'value' used but not defined
en dit:
exit status 1
ISO C++ forbids comparison between pointer and integer [-fpermissive]
Hoe kan ik dit oplossen?
Re: EPS8266 met steppermotor
net als dir bovenaan even declareren dus INT value=0;
kijk ook eerst een of DIR ook inderdaad een 1 maakt dus dat de motor inderdaad de andere kant opdraait.
kijk ook eerst een of DIR ook inderdaad een 1 maakt dus dat de motor inderdaad de andere kant opdraait.
paul deelen
shooter@home.nl
shooter@home.nl
Re: EPS8266 met steppermotor
Het klinkt vrij makkelijk, maar ik zie niet wat ik fout doe..
De code blijft foutmeldingen geven dat die niet doet, misschien komt het omdat ik dan 2x int value = heb?
Zou je mij de code eens willen maken hoe die volgens jou moet, kun je mijn code toch zo kopiëren?
Alvast bedankt!
De code blijft foutmeldingen geven dat die niet doet, misschien komt het omdat ik dan 2x int value = heb?
Zou je mij de code eens willen maken hoe die volgens jou moet, kun je mijn code toch zo kopiëren?
Alvast bedankt!
18 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten