Liebe Kenner,
als absoluter Nicht-Kenner habe ich ein scheinbar grundlegendes Problem, bei dem ich Hilfe brauche, und hoffe, dass mir hier jemand auf‘s Pferd helfen kann:
Ich möchte einen Servo (MG995) mit einem ESP8266 für eine Klappensteuerung betreiben, der über einen 3-poligen Mikroschalter die Klappe 90 Grad öffnet und schließt. Dazu habe ich den unten stehenden Code aus einem anderen Beitrag hier im Forum kopiert. Mein Problem fängt aber schon „ganz vorne“ beim Servo an: er läuft nicht, und zwar weder, wenn ich ihn und den Schalter an die Pins für 5V, GND, D1 und D4 anschließe, noch dann, wenn ich ihn nur an 5V und GND anschließe, ohne das dritte Kabel für die Steuerung anzuschließen. Ich habe daraufhin versuchsweise einen Servo aus einem „Projekt“ an 5V und GND angeschlossen, der nur über 2 Kabel verfügt, und der läuft ohne Probleme.
Ist mein MG995 defekt oder gibt es einen anderen Grund, weshalb der nicht läuft?
Der Code lautet:
#include <Servo*betonter Text*.h>
Servo myservo; // create servo object to control a servo
int pos ; // variable to store the current servo position
const byte button = 4; // The button will be on Pin 4
const byte POS_A = 14; // Ziel wenn Taster offen
const byte POS_B = 90; // Ziel wenn Taster zu
void setup()
{
myservo.attach(5); // attaches the servo on pin 5 to the servo
pinMode(button, INPUT_PULLUP); // button connects to GND ( LOW when pressed )
}
void loop()
{
if (digitalRead(button) == HIGH) {
if ( pos > POS_A) {
// in steps of 1°
myservo.write(--pos); // tell servo to go stepwise down to POS_A
delay(20);
}
}
if (digitalRead(button) == LOW) {
if ( pos < POS_B) {
// in steps of 1°
myservo.write(++pos); // tell servo to go stepwise up to POS_B
delay(5); // langsame Bewegung : 20 ° / Sekunde
}
}
}```
Ich danke schon jetzt für Eure Hilfe. Viele Grüße
Du scheinst keine Antworten zu bekommen weil du deinen Code nicht als Code-Section postest.
Du aktivierst den Editiermodus deines Postings
markierst den kompletten code
dann klickst du auf
den < code > button oberhalb des Editierfensters
Wenn sich dieses Servo dreht mit nur zwei Anschlüssen dann ist das kein "klassisches Modellbauservo.
Link posten
Modellbauservos haben immer drei Anschlüsse und bewegen sich auch ausschließlich dann wenn ein sauberes Servo-PWM-Signal am Servo-Signal-Eingang anliegt.
Du solltest dir die prinzipielle Funktionsweise eines Servos erarbeiten um das zu verstehen,
Hallo,
warum fängst du nicht mit einem einfachen Beispiel aus der Lib an. Da gibt es eines damit fährt der Motor erst mal nur hin und her.
Es könnte sein das dein Motor zu viel Strom zieht, ich habe jetzt nicht in das Datenblatt gesehen. In dem Fall solltest du den Motor an Plus mit einer separaten Spannung versorgen
Nicht vergessen beide Minus GND müssen verbunden sein.
Hallo
Du solltest noch mal deine Pins überprüfen . Entweder nennst Du sie im Sketch D4,D1 besser ist allerdings du suchst dir GPIO Nummern aus dem Pinout deines Controllers raus und trägst die dann im Sketch ein. Das passt eigendlich immer
Hallo neulinguino
Passen die Spannungen für die Logik zusammen?
Vielen Dank für die Hinweise. Den Code habe ich nochmal so bearbeitet, wie Du es beschrieben hast. Ich hoffe, dass das jetzt besser ist.
Zum Versuchsmotor habe ich keinen link. Er stammt aus einem Bausatz, den ich mal vor Jahren mit meinen Kindern zusammengebaut hatte.
Das Video werde ich mir mal in Ruhe ansehen.
Du hast Recht. Ich fange mal mit einem einfachen Beispiel an. Dann werde ich die Pins überprüfen, umbenennen und auch noch für eine separate Stromversorgung sorgen. Den ESP hatte ich an ein Handy-Netzteil angeschlossen und von dort den Motor versorgt; vielleicht reicht das ja tatsächlich nicht …
Ob die Spannungen zur Logik passen, kann ich ehrlich gesagt nicht beantworten/beurteilen
Hallo Stefan, das ist eine gutte ausgangslage, mit den 1A/Servo. Nur musste beim MG995 damit sehr vorsichtig sein, den die Dinger sind schlichtweg schrottig, hab mal ne charge von 5 stück, davon lief einer so einigermassen, jedoch nicht wirklich sauber, die anderen 4 waren für die tonne, einer davon hat mir sogar das BEC (Battery Elimitation Circuit, oder auch einfacher den StepDown Schaltregler) meines Fahrtreglers, das immerhin 5A liefert, zerschossen. konnte den dann zum Glück durch tausch der defekten Teile den Regler wieder reparieren, EIn Defekt bei den MG995 ist also gar nicht so selten, OK ich kaufe die Dinger seither nicht mehr.Villeicht hat sich ja auch inzwischen die qualität der MG995 gebessert.
Also, ich habe Eure Tipps befolgt. Die Pins überprüft, eine separate Stromversorgung (5V) für den Motor angeschlossen und den ESP verbunden. Es funktioniert immer noch nicht. Auch die einfache Steuerung von funduino (Nr.13 Servo ansteuern - Funduino - Kits und Anleitungen für Arduino) habe ich getestet. Dabei funktionierte es nur ein einziges Mal ganz kurz (= 1 kurze Drehung, obwohl er in mehreren Schritten laufen sollte), danach ließ sich der Motor nicht mehr zum Laufen bewegen. Ich weiß nicht, was ich falsch mache. Oder habe ich das falsche Equipment bzw. den falschen Motor?
Hallo
Welchen controler ESP 8266 hast denn ?
Die Sketche aus deinem Link sollten eigentlich laufen.
-
Er bewegt sich nur einmal , macht er das bei jedem Neustart. Ist das die Mittelstellung die er anfahrt.
-
Wenn ja was passiert wenn du den Ausgang zum ansteuern nicht anschließt.
3.Wenn dann nichts passiert kann man davon ausgehen das die 3,3 Volt zum ansteuern eigentlich reichen.
- Wenn das nur einmal ging und es ist jetzt die Mittelstellung dann hat Murphy zugeschlagen
Ich würde dann darauf tippen das die 3,3Volt nicht reichen.
ich habe mehrere 2,4GHz RC-Empfänger, deren Prozessoren nur ein 3,3V Signal rausgeben, und daran laufen Servos. Aber wie gesagt, bei den MG995 hatte ich schon einen so hohen Prozentsatz an Ausfällen, dass ich die erst gar nicht mehr kaufe, denn Stopfmaterial für den Mülleimer brauch ich nicht.
Ich habe einen Wemos D1 mini (von aliexpress). Wenn ich den Ausgang zum Ansteuer nnicht anschließe, passiert auch nichts.
Hättest Du eine Empfehlung für mich, welche preiswerte Alternative ich nehmen könnte? Er soll eine Holzklappe für eine Saugroboter-Garage um 90 Grad hochdrücken können.
Ich habe jetzt mal den Servo geöffnet und Plus und Minus meines 5V-Netzteils direkt an die Anschlüsse des Motors gehalten. Er läuft - und bei Vertauschen der Drähte auch in die andere Richtung - dabei allerdings so lange, wie ich die Drähte dranhalte, ohne bei Erreichen der Endpositionen zu stoppen. Ist das so richtig?
verbinde ich die Drähte allerdings mit dem braunen und dem roten Kabel des Servos, läuft der Motor dagegen nicht, auch nicht bei Vertauschen der Drähte.
ohne Pulse Signal "am gelben" (?) Kabel wird sich der Servo nicht bewegen.
Wenn du ihn verpolt hast - kann die Elektronik nun kaputt sein.
Ups, ich hatte vermutet, dass das unproblematisch sei, weil die Gegenrichtung ja immer über die „gegenläufige“ Stromzufuhr in Gang gesetzt wird. Ist doch Mist, wenn man sich, wie ich, nicht auskennt …
Bei einem Servo wird die Drehrichtun des Motors intern von der Elektronik bestimmt, Dazu wird der Motor auch umgepolt, aber eben NUR die anschlüsse des Motors. Am getriebeausgang, also dort wo das Servohorn, oder die Scheibe draufgesteckt wird, ist innen ein Poti angebracht, das der elktronik i, Servo mitteilt, wo der Motor gerade steht , oder genauer die Abtriebs-Achse des Sevos. m gelben
Kabel kommt ein impuls von ca 0,8 bis etwa 2.4 ms an (früher war die Impulslänge mal auf 1.0 ms - 2.0ms begrnzt mit 1,5ms als Mttelstellung. Entsprechend der Impuöslänge die vom gelben Kbel in der Servoelektronik ankommt, weiss diese, in welche stellung der servo gefahren werden soll und entschefet aufgrund der momentanen Potistellung, in welche Richtung der Motor drehen muss um das Ziel zu erreichen, oder ob der Motor überhaupt laufen muss, also das Ziel schon erreicht ist.
Dazu müsstest Du uns eine Zeichnung machen damit wir sehen.wie du das mechanisch aufbaust, wie gross gei Klape ist und wie Ddick die klappe ist. vor allem müssen wir dabei sehen wo das Scharnier, also der Drehpunkt der Klappe ist, und an welchem punkt du den Servo-arm oder das Schub-Gestänge ansetzen willst, weil all diese Faktoren einen Enfluss darauf haben, wie stark der Servo sein muss, damit er die Klappe auch hoch bekommt.