AREA COLOGNE
Offline
God Member
Karma: 12
Posts: 808
I am 1 of 10 who understands binary
|
 |
« Reply #165 on: August 07, 2012, 07:27:38 am » |
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. 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
|
Eine Glatze ist wohl die AUSGEFALLENste Frisur von allen.
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #166 on: August 07, 2012, 08:06:44 am » |
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 Gruß Lorenz
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 15
Posts: 276
|
 |
« Reply #167 on: August 07, 2012, 08:16:48 am » |
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
Edison Member
Karma: 33
Posts: 1800
Arduino rocks
|
 |
« Reply #168 on: August 07, 2012, 08:27:00 am » |
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.  [edit]: Hatte guntherbs Posting nicht zuende gelesen. Wir meinen wohl das gleiche...
|
|
|
|
« Last Edit: August 07, 2012, 08:28:44 am by sth77 »
|
Logged
|
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #169 on: August 07, 2012, 08:31:46 am » |
Boah ich kanns kaum fassen, ich hab den Fehler gefunden  @guntherb: Danke für den Hinweis ! So funtkioniert das zum Mindest bei mir... 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
Edison Member
Karma: 33
Posts: 1800
Arduino rocks
|
 |
« Reply #170 on: August 07, 2012, 09:07:22 am » |
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.  Der Schrittmotor wird bei einem Intervall von 1000 Millisekunden (=1 Sekunde) schrecklich langsam drehen, der hat ja selbst mehrere hundert Schritte.
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #171 on: August 07, 2012, 10:00:26 am » |
Das ist gut, danke 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.pdfIn der Zeile Voltage: 12 - 230 V. Kann der Schrittmotor mit 230 V betrieben werden ?! Find ich selber ein wenig mysteriös Nebenbei, ich mach das auf jedenfall nicht...  Gruß Lorenz
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1800
Arduino rocks
|
 |
« Reply #172 on: August 07, 2012, 10:18:17 am » |
Ich glaube ja noch nicht einmal, dass es überhauprt ein Schrittmotor ist...
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #173 on: August 07, 2012, 10:31:52 am » |
Biste dir da sicher ? Warum glaubst du das denn ?
Bloß nicht :/
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 27
Posts: 1499
|
 |
« Reply #174 on: August 07, 2012, 10:44:37 am » |
Werden Schrittmotoren mit Wechselstrom betrieben und haben 3 Pole zur Drehrichtungsumkehr ???
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Edison Member
Karma: 33
Posts: 1800
Arduino rocks
|
 |
« Reply #175 on: August 07, 2012, 10:45:29 am » |
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?  Wenn ja, sollte noch immer das Fernabsatzgesetz greifen. 
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #176 on: August 07, 2012, 10:53:52 am » |
Ouh stimmt  , 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  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.pdfSo dann kann es ja doch weitergehen  Gruß Lorenz
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Offline
Sr. Member
Karma: 2
Posts: 269
|
 |
« Reply #177 on: August 07, 2012, 12:46:03 pm » |
Hallo zusammen, So, jetzt bin ich ja mit eurer Unterstützung mit der Modellbahnsteuerung fertig. Ich will mich nochmal bei allen bedanken !  Jetzt warte ich noch auf den L297...in der Zwischenzeit muss ich wohl wieder ein neues Projekt planen  (nicht wundern, ich muss immer was zu tun haben  )... Ich denke das geht in Richtung moving Head, werde dafür auf jedenfall auch ein Threas starten ! Gruß Lorenz
|
|
|
|
|
Logged
|
|
|
|
|
AREA COLOGNE
Offline
God Member
Karma: 12
Posts: 808
I am 1 of 10 who understands binary
|
 |
« Reply #178 on: August 07, 2012, 02:48:28 pm » |
Oh man in der Eile vergessen. vor der if currentmillis()=millis();  Das kommt vom schreiben ohne Testen. Schande über mein Haupt. ===> und das nach 3 Jahren Programmierung 
|
|
|
|
|
Logged
|
Eine Glatze ist wohl die AUSGEFALLENste Frisur von allen.
|
|
|
|
|