Schrittmotor bewegt sich nicht
|
30.11.2020, 22:15
(Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2020 22:17 von MicroBahner.)
Beitrag #65
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(30.11.2020 21:55)DerMaschbaustudent schrieb: da ich ja keine Zustände nacheinander durchlaufen lasseDann denke mal an die Abläufe an deiner Maschine - erstmal noch ganz unabhängig vom Programmieren: - Maschine ist in Ruhe und steht. ( ist ein Zustand ) --> Es wird ein knopf gedrückt - Motor läuft vorwärts ( ist ein Zustand ) --> Motor hat Ziel erreicht --> Sensor meldet hohen Druck ?? - Motor läuft zurück ( ist ein Zustand ) ..... Da ich nicht weis, was da alles in welcher Reihenfolge und aufgrund welcher Ereignisse ablaufen soll kann ich das nicht im Detail aufschreiben, dass musst Du schon machen. Aber deine Maschine ist definitv eine FSM - und diese Abläufe musst Du erstmal genau definieren. Und dann muss/kann sich das auch in der Software wiederspiegeln. Gruß, Franz-Peter |
|||
30.11.2020, 22:22
Beitrag #66
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(30.11.2020 22:15)MicroBahner schrieb:(30.11.2020 21:55)DerMaschbaustudent schrieb: da ich ja keine Zustände nacheinander durchlaufen lasseDann denke mal an die Abläufe an deiner Maschine - erstmal noch ganz unabhängig vom Programmieren: Ah okay Der allererste Part des Programmablaufs ist die Kalibrierung der Waage. Das befindet sich aber nicht im eigentlichen Loop. Der Zustand soll sein, dass der Sensor nur Werte ausgibt, während der Motor in Bwegung ist. Der ganze Zustand soll durch den Knoopfdruck gesartet werden. Also 1. Knopfdruck 2. Motor verfährt nach unten bis zum tiefsten Punkt und währenddessen zeichnet Sensor Werte auf. 3. Motor verfährt nach oben bis zum höchsten Punkt undwährenddessen zeichnet Sensor Werte auf. 4. Sobald Motor wieder in Ausgangslage soll die Ausgabe der Sensorwerte beendet werden. Mit freundlichen Grüßen, Maxi |
|||
01.12.2020, 10:58
Beitrag #67
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
Hallo Maxi,
mal ein grobes Gerüst für deine FSM: Code: #include <MobaTools.h> Sollen immer beide Motore parallel laufen, oder werden die Abläufe später noch erweitert? Gruß, Franz-Peter |
|||
01.12.2020, 12:13
(Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2020 12:18 von DerMaschbaustudent.)
Beitrag #68
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(01.12.2020 10:58)MicroBahner schrieb: Hallo Maxi, Danke sehr für deine Hilfe Microbahner. Kann ich meine Wägezelle und das HX711-Modul so dort eiinbinden oder muss ich noch die Einlesen, auf was der readSensor() zugreifen soll? Die Motoren sollen immer parallel laufen und es wiird auch nichts erweiitert. Mit freundlichen Grüßen, Maxi Edit: Wenn ich deine FSM so übernehme (Pinbelegung natürlich geändert) starten die Motoren sofort durch und fange an zu zappeln. Bei Druck auf dem Knopf ändert sich nichts. |
|||
01.12.2020, 12:30
Beitrag #69
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(01.12.2020 12:13)DerMaschbaustudent schrieb: Kann ich meine Wägezelle und das HX711-Modul so dort eiinbinden oder muss ich noch die Einlesen, auf was der readSensor() zugreifen soll?Das readSensor ist ja erstmal nur ein Dummy ( ich habe auch keinen HX711 ). Da müsstest Du das Auslesen noch einbauen. Ob Du meinen Sketch als Vorlage nimmst, und deinen entsprechend umbaust, oder ob du die ganze für den HX711 notwendige Funktion in meinen Sketch einbaust ist deine Entscheidung. Was Dir halt einfacher erscheint. Gruß, Franz-Peter |
|||
01.12.2020, 13:24
(Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2020 13:25 von MicroBahner.)
Beitrag #70
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(01.12.2020 12:13)DerMaschbaustudent schrieb: Wenn ich deine FSM so übernehme (Pinbelegung natürlich geändert) starten die Motoren sofort durch und fange an zu zappeln. Bei Druck auf dem Knopf ändert sich nichts.Hast Du berücksichtigt, dass bei mir der Taster 'andersrum' funktioniert? Also gegen Gnd schaltet? Im seriellen Monitor siehst Du ja auch, wie er durch die Zustände schaltet. Gruß, Franz-Peter |
|||
01.12.2020, 15:25
Beitrag #71
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
(01.12.2020 13:24)MicroBahner schrieb:(01.12.2020 12:13)DerMaschbaustudent schrieb: Wenn ich deine FSM so übernehme (Pinbelegung natürlich geändert) starten die Motoren sofort durch und fange an zu zappeln. Bei Druck auf dem Knopf ändert sich nichts.Hast Du berücksichtigt, dass bei mir der Taster 'andersrum' funktioniert? Also gegen Gnd schaltet? Im seriellen Monitor siehst Du ja auch, wie er durch die Zustände schaltet. Den Code habe ich jetzt auf meine Bedürfnisse angepasst. Code: #include <MobaTools.h> Leider wird der zweite Zustand nicht sauber gefahren. Die Motoren überspringen, bzw. verfahrenerst garnicht. Der Rückzug des Prüfstempels klappt hingegen ohne Problem. Mit der vorher von mir vorgestellten If-Bedingungslösung bewegt sich der Motor astrein. Als Anhang habe ich mal meine Verschaltung mit reingebracht. Vielleicht wird es darüber ja ersichtlicher. Mit freundlichen Grüßen, Maxi |
|||
01.12.2020, 16:44
(Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2020 16:51 von MicroBahner.)
Beitrag #72
|
|||
|
|||
RE: Schrittmotor bewegt sich nicht
Das kann ich jetzt nicht nachvollziehen ( mit meiner Pinbelegung ).
Mir sind aber noch ein paar Dinge aufgefallen: Code: const byte dirPin1 = 1; Code: myStepper1.setSpeed (10); Code: case RUECKWAERTS: Das wichtigste ist aber definitv, dass Du den Pin 1 nicht verwendest. Da kann alles mögliche passieren. P.S. ich würde auch zur Anpassung des Tasters nicht die Abfrage von 'tasterstatus' ändern. Da sollte HIGH immer einen aktiv gedrückten Taster bedeuten. Besser ist es, die (einmalige) Abfrage des Pin zu ändern. Also statt: Code: tasterstatus = !digitalRead(taster); Code: tasterstatus = digitalRead(taster); Edit: Ist das Drehmoment, dass die Motore aufbringen müssen, in beiden Richtungen gleich? Gruß, Franz-Peter |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste