Pages: 1 ... 10 11 [12]   Go Down
Author Topic: Modellbahn steuern  (Read 12140 times)
0 Members and 1 Guest are viewing this topic.
AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Für die ersten Schritte müsste das eigentlich funktionieren.
Für die Tests würde ich die Richtungsauswahl und die Schritauswahl in den void setup() bringen da diese ja nur einmal gesetzt werden muss. Und den Takt kann man erstmal so erstellen. Die Geschwindigkeit des Stepper kannst du über interval ändern.
Ich würde das mit Blink Without Delay machen.

Code:
int Drehrichtung = 11; //CW / CCW
int Schritte = 10; //Halbschritte, Vollschritte
int Takt = 9; //Clock
int State = LOW;             // State Speicher für den Ausgangzustand
long previousMillis = 0;        // Speichert die Zeit seit dem letzten wechsel
long interval = 1000;           // interval für jeden Schritt (millisekunden)
unsigned long currentMillis = millis();


void setup(){
  pinMode(Drehrichtung, OUTPUT);
  pinMode(Schritte, OUTPUT);
  pinMode(Takt, OUTPUT);
  digitalWrite(Drehrichtung, LOW);  //ist das jetzt im Uhrzeigersinn oder gegen ? <==Testen
  digitalWrite(Schritte, HIGH); //sind das jetzt Vollschritte ? <== Testen
 
}

void loop()
  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;   
    State=!State;
    digitalWrite(Takt, State);
}


Und den Rest würde ich jetzt mit Learning bei Doing machen :-)

Gruß
Daniel
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Für die ersten Schritte müsste das eigentlich funktionieren.

Meinste da mit jetzt meinen Sketch ?

Da ich im Moment noch auf den L297 warte, hab ich erstmal Leds an das Arduino angeschlossen, und habe deinen Sketch mal hochgeladen. Also es ist eigentlich alles richtig, nur der Takt funktioniert nicht. Müsste die Led nicht blinken ? weil das tut sie nämlich nicht...
Und den Rest würde ich jetzt mit Learning bei Doing machen :-)

Werd ich versuchen smiley-grin

Gruß
Lorenz
Logged

Offline Offline
Edison Member
*
Karma: 31
Posts: 1048
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Müsste die Led nicht blinken ? weil das tut sie nämlich nicht...
Und den Rest würde ich jetzt mit Learning bei Doing machen :-)

Werd ich versuchen

Die LED sollte Blinken.
Das tut sie nicht, weil ein Fehler im Code ist.

Ist aber gleich eine gute Übung, den Fehler zu finden.
Wenn du den nicht findest, solltest du dir vielleicht erst mal ein einfacheres Projekt suchen.

Gunther

Hinweis: wo werden die Zeit-Variablen gesetzt?

Logged

Grüße
Gunther

Germany
Offline Offline
Edison Member
*
Karma: 44
Posts: 2261
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Sketch von Volvodani funktioniert so noch nicht, da fehlt irgendwo in der loop die Aktualisierung über die millis(). Schau dir dazu das Beispiel BlinkWithoutDelay an, da ist das schöner erklärt als ich das je könnte. smiley-wink

[edit]: Hatte guntherbs Posting nicht zuende gelesen. Wir meinen wohl das gleiche...
« Last Edit: August 07, 2012, 08:28:44 am by sth77 » Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Boah ich kanns kaum fassen, ich hab den Fehler gefunden  smiley-mr-green
@guntherb: Danke für den Hinweis ! smiley-wink

So funtkioniert das zum Mindest bei mir...
Code:
void loop(){
 unsigned long currentMillis = millis();
  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;  
    State=!State;
    digitalWrite(Takt, State);
}
}


Ich kann jetzt leider nicht genau begründen, warum das in den loop teil muss, villeicht weil das dann nicht immer wiederholt wird ?! Keine Ahnung...:/

@sth77: Vielen Dank aber ich hab es ohne diese "Anleitung" geschafft, falls mir das jemand glaubt...aber begründen kann ich das dadurch nicht wirklich s.o.

Gruß
Lorenz

Logged

Germany
Offline Offline
Edison Member
*
Karma: 44
Posts: 2261
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, man muss ja immer einen Vergleich zum vorangegangenen Zeitpunkt haben, daher gehört diese Aktualisierung in die loop(). Hast du richtig gemacht, glaube ich dir auch, dass du selbst drauf gekommen bist. smiley-grin
Der Schrittmotor wird bei einem Intervall von 1000 Millisekunden (=1 Sekunde) schrecklich langsam drehen, der hat ja selbst mehrere hundert Schritte.
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das ist gut, danke smiley-wink
Joa mal schauen ich probier das dann mal aus wenn der l297 da ist.

Dann hab ich noch ne Frage zu dem Schrittmotor, da steht in dem Datenblatt http://www.auf-vertrieb.business.t-online.de/pdf/UHM.pdf
In der Zeile Voltage: 12 - 230 V.
Kann der Schrittmotor mit 230 V betrieben werden ?! Find ich selber ein wenig mysteriös smiley-grin
Nebenbei, ich mach das auf jedenfall nicht...smiley-grin

Gruß
Lorenz
Logged

Germany
Offline Offline
Edison Member
*
Karma: 44
Posts: 2261
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich glaube ja noch nicht einmal, dass es überhauprt ein Schrittmotor ist...
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Biste dir da sicher ? Warum glaubst du das denn ?

Bloß nicht :/
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 49
Posts: 2752
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Werden Schrittmotoren mit Wechselstrom betrieben und haben 3 Pole zur Drehrichtungsumkehr ???
Logged

Germany
Offline Offline
Edison Member
*
Karma: 44
Posts: 2261
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich bin kein Motorexperte, aber das Ding scheint doch der Benennung nach ein Synchronmotor zu sein. Ich lasse mich aber gern eines besseren belehren.

Hast du den übereifrig bestellt? smiley-wink Wenn ja, sollte noch immer das Fernabsatzgesetz greifen. smiley-wink
Logged

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ouh stimmt  smiley-confuse, hab das erst gar nicht gelesen.
Und ich hab gerade gemerkt, dass das das falsche Datenblatt ist ! Den Schrittmotor den ich habe, hat nämlich nur 4 Ausgänge...

Das Problem liegt daran, da der Motor schon länger in einer Kiste lag und keine Modellnummer draufsteht, weiß ich nicht genau welcher das genau ist.
Den hab ich mal vor Jahren von meinem Vater bekommen smiley-grin Der hat gesagt, wenn ich mich noch erinnern kann, dass sei ein Schrittmotor.

Ich hab nochmal nach einem Datenblatt gesucht und das gefunden (denke das ist das passend) http://www.auf-vertrieb.business.t-online.de/pdf/UBB.pdf

So dann kann es ja doch weitergehen  smiley

Gruß
Lorenz
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,

So, jetzt bin ich ja mit eurer Unterstützung mit der Modellbahnsteuerung fertig.
Ich will mich nochmal bei allen bedanken ! smiley-wink

Jetzt warte ich noch auf den L297...in der Zwischenzeit muss ich wohl wieder ein neues Projekt planen smiley-grin (nicht wundern, ich muss immer was zu tun haben  smiley-mr-green )...
Ich denke das geht in Richtung moving Head, werde dafür auf jedenfall auch ein Threas starten !

Gruß
Lorenz
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oh man in der Eile vergessen.
vor der if
currentmillis()=millis();

 smiley-wink Das kommt vom schreiben ohne Testen. Schande über mein Haupt.


===> und das nach 3 Jahren Programmierung   smiley-cry
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Pages: 1 ... 10 11 [12]   Go Up
Jump to: