Welcher Motor für mein Projekt?

Hallo an alle !
Für meine automatische Hühnerstalltüre (Vgl. bei dem piepst es wohl nicht richtig !!! - Deutsch - Arduino Forum für den code) suche ich einen passenden Motor. Dieser hat abends und morgens zum Tür öffnen / schließen ca 1 Min Arbeit und da bin ich wohl mit meiner ersten Idee einen Schrittmotor zu verwenden auf dem Holzweg. Könnt ihr das bestätigen? Sollte ich einen Gleichstrommotor verwenden? Welchen? Oder kann ich mit einem Transistor / Relais den Strom abschalten wenn ich den Schrittmotor nicht brauche? Dann bräuchte ich eine Türarretierung (krieg ich hin) und einen Tipp, wie man den Schrittmotor trennen kann.

Arduino (original) Motor Shield
Nema 17, Pololu, 1,2 A, 4 Volt uni/bipolar 6 Kabel Schrittmotor
Netzteil mit 7 Volt an Arduino Uno

Das Motorshield wird schnell heiß.

übrigens: der Ausgang A0 spielt verrückt, sobald das Motorshield aufgesteckt ist, so dass ich unter dem PIN A0 den Draht vom Motorshield nach innen biegen musste so dass kein Kontakt zum EthernetShield / Arduino UNO darunter besteht. Dann liefert der Lichtsensor normale Werte.

Viele Grüße
Jean-Luc

Benutzen sie diese shield, die eine äußere Ernährung hat, es ist zu leicht zu benutzen...

Ich arbeite mit bipolar NEMA 17 und nicht heiß, sehr gut
Sie können mit unipolar motoren auch arbeiten...

Würde einen Gleichstrom-Getriebe-Motor mit Schneckenrad nehmen. So ein Schneckenrad ist selbsthemmend, so dass man eigentlich keine Arretierung brauchen sollte.

Beim Motor-Shield unbedingt immer eine externe Spannungsversorung verwenden ... oder Du baust Dir eine eigene H-Brücke. Bin gerade an einem solchen Projekt dran. Der Vorteil ist, dass man auch etwas stärkere Motoren damit steuern kann.

Alternativ ein 2xUM Relais und ein MOSFET-Erweiterung wie diese hier: http://shop.cboden.de/Bausaetze-Zubehoer/4fach-MOSFET-Platine-10-A-pro-Kanal.html Mit dem Relais kannst Du dann die Drehrichtung ändern und mit der Mosfet Platine den Motor an/aus schalten sowie das Relais umschalten. Damit gehen dann auch Motoren bis 10 Ampere bei 12 Volt ... also 120 Watt.

Damit gehen dann zum Beispiel auch Scheibenwischer-Motoren oder sowas. Sind billig, robost und haben durch das eingebaute Schneckenrad-Getriebe relativ viel Kraft.

PS: was ich vergessen hatte zu erwähnen ... ein Schweibenwischer-Motor hat eine Leistungsaufnahme von rund 60 Watt. Dafür reicht ein normales Motor-Shield also in der Regel nicht aus.

Ein Gleichstrom-Schneckengetriebe-Motor findest Du leicht als Autozubehör zB Fensterheber oder Scheidenwischermotor.

Beim Orginal- Arduino Motor Shield sind A0 und A1 die Messung des Motorstroms über einen Widerstand. Die spielen nicht verrückt sondern messen 1,65V pro A des Motorstroms. Leis Dir die Beschreibung des Shields bitte genau durch.

MSL:
Benutzen sie diese shield, die eine äußere Ernährung hat, es ist zu leicht zu benutzen...

Ich arbeite mit bipolar NEMA 17 und nicht heiß, sehr gut
Sie können mit unipolar motoren auch arbeiten...

Der vorgeschlagene Treiber ist für den Schrittmotor ungeeignet da unterdimensioniert.

Grüße Uwe

Hallo und danke für die Antworten,
ja ich nehme dann einen Getriebemotor. Bis 2 A kann mein Arduino Motorshield da ja noch mithalten.

Betriebsspannung: 6...24 V-
Stromaufnahme: ca. 0,3 A

Zur Stromversorgung:
Motorshield mit 6 V oder 9V aus Steckernetzteil oder Akku versorgen, der Arduino drunter hat ja dann auch Strom.

Oder ist es besser den Arduino UNO unten mit 9 V oder 6 V zu versorgen?

Grüße
JeanLuc

Motorshield mit 9V aus Steckernetzteil oder Akku versorgen, der Arduino drunter hat ja dann auch Strom.

Grüße Uwe

Hallo mgcss,
danke für deine Antworten. Darf ich nochmal nachfragen?

Alternativ ein 2xUM Relais und ein MOSFET-Erweiterung wie diese hier: http://shop.cboden.de/Bausaetze-Zubehoer/4fach-MOSFET-Platine-10-A-pro-Kanal.html Mit dem Relais kannst Du dann die Drehrichtung ändern und mit der Mosfet Platine den Motor an/aus schalten sowie das Relais umschalten. Damit gehen dann auch Motoren bis 10 Ampere bei 12 Volt ... also 120 Watt.

Also wenn ich einen stärkeren Scheibenwischermotor nehmen muss, wäre das die Ansteuerung meinst du? Quasi statt teurem DC Motor Driver? Wie den da:
Pololu High-Power Motor Driver 36v20 CS (60 Dollar)
Kannst du mir auch einen 2xUM Relais empfehlen, es gibt zu viele Alternativen, welchen benutzt du?
Gruß
JeanLuc

Hallo Uwe,
gibt es Scheibenwischermotoren unter 2 Ampere (VW Polo...) oder soll ich da lieber nicht mit meinem Arduino Motor Shield (< 2 Ampere) ran ?

Wenn ein Motor blockiert, dann zieht er meist viel mehr Strom als ihm gut tut bzw. draufsteht, schwächere Motoren bieten da keine zusätzliche Sicherheit. Beim Scheibenwischer dürfte deshalb irgendwo eine Rutschkupplung drinstecken, die den Motor vom Festbeißen abhält. Ob das in Deinem Fall sinnvoll ist, bleibt Dir überlassen. Ich würde jedenfalls eine Stromüberwachung und Notabschaltung nach zu langer Zeit einbauen, und einen Alarm wenn die Tür anschließend nicht ganz geschlossen bzw. offen ist.

Sonst wäre eine Ampel mit grüner und roter Henne die einfachere Lösung, und schonender für das Federvieh :wink:

wie DrDietrich ja schon sagte, muss man bei Motorsteuerungen nicht die Nominal-Leistung eines Motors berücksichtigen sondern seinen Anlauf-/Blockierstrom. Der kann ein Vielfaches des nominalen Stroms betragen! Die Steuerung muss dann genau auf diesen max. Strom hin ausgelegt werden.

Wenn Du schon einen Gleichspannungsmotor rumliegen hast, nimm einfach mal eine Multimeter und messe den Widerstand der Motorspule. Mit diesem Widerstandswert und der Betriebsspannung kannst Du dann schon mal annähernd den Anlaufstrom berechnen. Du wirst dabei vermutlich feststellen, dass er deutlich über der für den Motor angegebenen Leistungsaufnahme liegt.

Das mit dem 2xUM Relais für die Richtungsumschaltung + MOSFET für Ein/Aus ist eine recht einfache Sache. Im Prinzip kannst Du dafür jedes Relais nehmen, das 12 Volt Spulenspannung hat und den errechneten max. Strom sicher schalten kann. Der schwierigste Moment für ein Relais ist, wenn unter Voll-Last der Schaltkontakt öffnet. Deshalb wird die max. Strombelastbarkeit in der Regel draufhin festgelegt (Stichwort: Kontakt-Brand, Öffnungs-Funke). Wenn man es aber clever anstellt und mit dem MOSFET erst die Spannung abschaltet und erst danach das Relais umschaltet, dann kann man so ein Relais problemlos dauerhaft im oberen Bereich der Spezifikation betreiben. Praktisch sind zum Beispiel diese Finder Relais: http://www.reichelt.de/Industrierelais/2/index.html?ACTION=3;ARTICLE=29137;SEARCH=FIN%2055.32.9%2012V. Dazu gibt es nämlich auch passende Sockel mit Schraubanschlüssen: http://www.reichelt.de/FIN-94-94-3/3/index.html?&ACTION=3&LA=446&ARTICLE=62777&artnr=FIN+94.94.3&SEARCH=FIN+94.94 Die halten wie die von mir schon vorgeschlagenen MOSFET-Platine 10 A Dauerlast locker aus.

Alternativ kann man für die Richtungsumschaltung auch eine H-Brücke nehmen ... das ist aber schaltungstechnisch echt nicht so banal, wie es manchmal dargestellt wird ... vor allem nicht, wenn man auch etwas mehr Strom als in so einer integrierten H-Brücke wie auf dem Arduino-Motor-Shield schalten will.

Edit: hab übrigens gerade gesehen, dass es das von mir oben genannte MOSFET-Modul zur Zeit auf ebay versandkostenfrei gibt: http://www.ebay.de/itm/151660172304?ssPageName=STRK:MESELX:IT&_trksid=p3984.m1558.l2649 ... aber nur noch für zwei Tage.

Wie machst du das, dass du mit der Türe keine Henne einklemmst?

ich würde auf alle Fälle noch einen in Endschalter sowie einen Stromsensor integrieren, damit du weißt, wann die Türe zu ist, und wenn ein Huhn dazwischen ist.

Ich würde eher diesen Motor nehmen, der hat schon eine Spindel und die passende Mutter gibt es auch noch dazu:

Dein vorgeschlagener Motor scheint mir zu schwach zu sein.

Dazu noch 2 Relais und 2 Endschalter als Ansteuerung. Zum Schutz würde ich auch noch mit einer Lichtscharanke oder US Sensor überprüfen ob die Tür frei ist und über eine Zeitüberwachung prüfen ob die Tür zu/offen ist.

Gruß

Hallo mgcss,
danke für die ausführliche Antwort.
Also, wenn es Nacht wird dann schalte ich mit dem MOSFET-Brett (dein Link) den Strom zum Schrittmotor an, dann mit MotorShield (L298) den Schrittmotor bewegen, dann springt der Magnetsensor an, Tür ist zu, Schrittmotor mit Arduino ausschalten, dann mache ich mit dem MOSFET-Brett den Srom zu den Schrittmotoren aus, den Relais umschalten für den nächsten Öffnen-Vorgang....
Würde das dann mit dem Relais auch ohne MotorShield gehen? Du schreibst es ersetzt die H-Brücke.
Gruß
Uli

Hallo,
es geht darum ein Gewicht von 500g ungefähr 36 cm nach oben zu ziehen, ich hoffe, dass ich das mit einem Motor unter 2 A schaffen kann. Außerdem ist die Spindel zu kurz um 36cm Weg zurückzulegen.

Die Tür geht ganz langsam zu, die Hühner laufen dann schon weiter falls oben die Guillotine zu fallen droht. Hatte statt Endchalter Magnetsensoren geplant.

Dazu noch 2 Relais und 2 Endschalter als Ansteuerung. Zum Schutz würde ich auch noch mit einer Lichtscharanke oder US Sensor überprüfen ob die Tür frei ist und über eine Zeitüberwachung prüfen ob die Tür zu/offen ist.

Kann mir jemand mal so einen Endschalter zeigen, ich weiß gar nicht was ihr da meint.
Gruß
Uli

Wenn du die Tür gerade nach oben ziehen willst, kannst du sie ja einfach an einen Stahldraht hängen den du mit dem Motor aufwickelst. Demnach wie wie langsam du aufwickelst reichen auch die 2 Ampere.

Endschalter/Taster

Wenn Du ein Gegengewicht verwendest, dann muss der Motor nur die Reibung überwinden und folglich keine 500g heben können. Da reicht selbst ein Spielzeugmotor mit einem Getriebe.

Und da Du dann auch einfach per Reibung das bischen Kraft übertragen kannst, kannst Du den Motor einfach eine Minute drehen lassen. Sobald die Tür am Anschlag ist rutscht das dann alles durch.

--> Viel einfacher als mit Endschaltern zu arbeiten. Die Notfallabschaltung hast Du dann schon implizit mit drin.

Oder so, viele Wege führen nach Rom in den Hühnerstall 8)

Wenn die Tür nicht hängenbleiben kann brauchst du auch keine Überwachung, ist Geschmackssache

Charakteristisch für Endschalter ist IMO, daß sie mechanisch und nicht von Hand betätigt werden. Daneben sollten sie auch größere Kräfte aushalten bzw. Luft für einen gewissen Bremsweg bieten - ein Endschalter darf einfach nicht kaputtgehen.

Oft sind sie auch NC (normally closed), direkt verschaltbar zum Abschalten des Geräts (Türmotor...) bei Betätigung. Und dafür auch noch mit entsprechender Strom-/Spannungsfestigkeit.

Sehen kann man eigentlich nur einen Hebel, Draht oder Rolle zur Betätigung des Schalters (Microswitch...), die anderen Eigenschaften sind eingebaut. Selbst wenn es eine Norm für die Anforderungen an einen Endschalter geben sollte, bei eigenen Aufbauten kann man da alles verwenden, was seinen Zweck erfüllt (Lichtschranken...).

Mechanische Endschalter sind insbesondere dann ungünstig, wenn man einen Referenzpunkt braucht (Schrittmotor Steuerung...), dafür schalten sie zu ungenau und mit großer Hysterese. Bei meinem Farbsortier-Roboter von Fischertechnik ist der mechanische Endschalter die größte Schwachstelle, da er gleichzeitig noch den Referenzpunkt für das Anfahren der einzelnen Stationen vorgeben soll. Eine Vorführung ist meist ein Lacherfolg, weil der Roboter meist danebengreift, und das dann auch absolut stur weiter durchzieht. Zwar kann er die Teile noch aufnehmen, dafür sind sie groß genug, aber schon bei der Ablage auf dem Farb-Sensor kommt dann Fremdlicht in die Box, so daß die Zuschauer schon gespannt darauf warten, neben welcher Ablage das Teil landen wird :-]

Hier sollen keine Positionen bestimmt werden sondern einfach eine Tür auf oder zu gemacht werden. Wenn ein Endschalter nicht funktioniert kann immernoch über die Laufzeit abgeschaltet werden. Und falls die Tür mal 2cm aufstehen sollte ist das auch nicht schlimm, da passt noch lange kein Huhn durch

JeanLucGunn:
Hallo mgcss,
danke für die ausführliche Antwort.
Also, wenn es Nacht wird dann schalte ich mit dem MOSFET-Brett (dein Link) den Strom zum Schrittmotor an, dann mit MotorShield (L298) den Schrittmotor bewegen, dann springt der Magnetsensor an, Tür ist zu, Schrittmotor mit Arduino ausschalten, dann mache ich mit dem MOSFET-Brett den Srom zu den Schrittmotoren aus, den Relais umschalten für den nächsten Öffnen-Vorgang....
Würde das dann mit dem Relais auch ohne MotorShield gehen? Du schreibst es ersetzt die H-Brücke.
Gruß
Uli

Du wirfst da einiges durcheinander. Zuerst einmal: ein Schrittmotor ist ein Schrittmotor und kein typischer Gleichspannungsmotor (auch wenn er mit DC betrieben wird). Die Ansteuerung eines Schrittmotors ist ungleich komplizierter. Da reicht es nicht, ihn einfach nur mit 12 Volt zu verbinden und zu denken, dass er dann läuft! Du musst Dir also erstmal darüber klar werden, welche Art von Motor Du überhaupt verwenden willst.

Dann zum Thema H-Brücke: das ist eine Schaltung aus 4 MOSFET's + ggf. Treiber und Logik-Schaltung. Mit ihr ist es möglich, einen reinen Gleichspannungsmotor vorwärts und rückwärts zu steuern sowie die Geschwindigkeit zu regeln. Auf dem Motor-Shield sitzt ein IC (meist ein L298), das bereits mehrere dieser H-Brücken in sich vereint. Allerdings können diese sog. integrierten H-Brücken meist nur Ströme bis 2 A schalten. Das liegt vor allem an der schlecht machbaren Kühlung der internen MOSFETs.

Alternativ kann man das Motor-Shield komplett weg lassen und sich die H-Brücke selber bauen. Im Gegensatz zu den integrierten H-Brücken ala L298 nennt man diese Dinger dann "diskrete H-Brücken" (bei Interesse einfach mal danach googlen). So eine komplette H-Brücke besteht aus zwei sog. High-Side-Switches und zwei Low-Side-Switches. Mit N-Channel-Mosfets schaltet man üblicherweise nur Low-Side - das heißt, dass der Strom gegen GND geschalten wird (GND zeichnet man auf Schaltplänen üblicherweise unten ein, weshalb es zu dem Begriff Low-Side-Switch für diese Variante kam). H-Brücken selber zu bauen ist deshalb so schwer, weil man bei einer Richtungsumschaltung eine sog. Tot-Zeit mit einbauen muss, in der alle 4 MOSFET's sicher sperren, da es - vereinfacht gesagt - sonst zu einem Kurzschluss kommt.

Eine andere Variante ist aber eben das Ändern der Drehrichtung über Relais und das Schalten des Stroms über Mosfet (oder von mir aus auch über ein zweites Relais). Dabei wird die gemeinsame Seite des 2xUM Relais mit dem Motor verbunden und die Öffner / Schließer Kontakte wechselseitig mit + und -. Damit kann man die Drehrichtung des Motors durch Umschalten des Relais ändern. Was Dir dann noch fehlt ist eine Möglichkeit, den Motor anzuhalten. Dazu kommt entweder ein zweites Relais zum Einsatz oder eben direkt ein MOSFET (den brauchst Du in der Regel eh, um die Relais zu schalten).

also Du hast drei Möglichkeiten:
a) Du nimmst ein fertiges Motor-Shield mit integrierter H-Brücke
b) Du baust Dir eine diskrete H-Brücke
c) Du baust das mit Relais + MOSFET

auf jeden Fall brauchst Du aber nur eine der Möglichkeiten. Wenn Du es also per Relais + MOSFET machst, brauchst Du kein Motor-Shield.

Aber wie gesagt: das gilt alles nur für gewöhnliche Gleichstrom-Motoren. Bei Schrittmotoren sieht die Welt wieder ganz anders aus.