Oh, das sieht schon extrem kompakt aus. Ist der kräftig genug, um als Lenkservo zu fungieren? Wie machst du das mit der 0-Punkt-Erkennung? Wenn ich das Recht sehe, kannst du nur den relativen Weg beieinflussen. Bei Schrittverlusten entsteht eine Abweichung.Was für einen Treiber verwendest du? Der scheint ja direkt Servo-Signale zu verarbeiten.
die Konstruktion ist für ein Lenkservo geplant und ich bin positiv überrascht über die Kraft von dem Motor. Wenn ich mich richtig erinnere haben Stepper ein höheres Drehmoment als andere Motoren.
Ursprünglich hatten wir eine Ermittlung der Mittelstellung geplant. Das heißt man braucht zwei Endpositionen. Nach dem Einschalten fährt der Servohebel einmal max. nach rechts, einmal max. nach links und anschließend genau in die Mitte.
Bei den ersten Versuchen habe ich festgestellt das dies in der Praxis nicht nötig ist und eventuell die Lenkgeometrie an einem Fahrzeug beschädigen kann, wenn man nicht genau 100% von dem Servoweg nutzt.
Meine Lösung: Wenn der Motor mal ein paar Stepps verliert, wird die Mittelposition mit dem Sender (eventuell mit der Trimmung) eingestellt, anschließend der Empfänger ausgeschaltet. Trimmung wird am Sender zurückgesetzt und der Empfänger eingeschaltet, der Stepper startet dann wieder von der richtigen Mittelposition - wie vor dem Ausschalten eingestellt.
Wie bei jedem anderen Servo können Mittelstellung, rechts bzw links eingestellt werden, auch die Anschlüsse sind wie bei einem Standard Servo - Plus, Minus und Signal.
Der Controller ist eine Sonderentwicklung von einem Elektronik Experte.
großartig, ich hoffe sehr die Platine wird zum verkauf angeboten, das wäre super genial. Ich habe schon lange überlegt diese kleinen Schrittmottoren einzusetzen, aber die Ansteuerung mit Arduino machte den Platzvorteil bisher zunichte...
die Entwicklung der Elektronik ist noch nicht abgeschlossen, die Temperatur der Motoren mit geringem Spulenwiderstand ist noch zu hoch, siehe Messung mit IR Thermometer.
Mittelstellungerkennung sowie Erkennung der beiden Endpositionen könnte auch relativ einfach mit je einem Stromabnehmer über oder an der Mutter geschehen. Hierzu müsste je ein Abnehmer an einen Eingang des Arduino und diese Pins (über einen Widerstand) werden dann auf Masse gezogen. Sprich, Du musst zwei zusätzliche Abfragen mit programmieren, je nach dem, in welche Richtung der Motor sich dreht.
Theoretisch könnte man somit auch eine unsymmetrische Variante nutzen und man könnte den Controller auch anlernen. Der Ausschlag nach links könnte nur 1/3 des Weges erlauben, während man nach rechts die restlichen 2/3 nutzt. Für den Lenkhebel wäre das letztlich egal, hier hätte man von der Mittelstellung den vollen Weg nach links und müsste diesen Weg (sprich die Signaldauer von 1,0ms bis 1,5ms) auf 1/3 des Verfahrensweges umrechnen.
Einen genauen Anwendungsfall habe ich jetzt nicht, aber ich könnte mir hier vorstellen, dass z.B. ein Anbauteil leicht gesenkt, aber stark angehoben werden könnte (bzgl. der Normalstellung).
vielen Dank für Deine Anregung, folgende Info dazu. Versuche bei der Auslegung von der Lenkung den Lenkhebel nicht länger als den Raddurchmesser zu machen und den Hebelweg von dem Servo nicht ganz auszunutzen (aktuell werden 85% von dem Weg genützt). Mit Endschalter müssten diese einstellbar sein, denn die Lenkgeometrie ohne Einstellung perfekt herzustellen ist nach meiner Erfahrung schwierig. Nach den ersten Versuchen sehe ich die Einstellung der Mittelposition nicht als sehr kritisch, Endschalter wären sehr kompliziert. Mein derzeitiges Vorgehen - Achse mit dem Steuerknüppel in der Mittelstellung bringen, Achse in der Position festhalten und Steuerknüppel loslassen. Stepps werden übersprungen, das ist dann die Position von der Mittelstellung.
Ursprünglich wollten wir Endschalter darstellen, siehe CAD Auslegung. Stepper Controller Entwicklung.jpg - Bild entfernt (keine Rechte)
ja, das verstehe ich gut. Eine Endposition, die man nicht erreichen will, ist nutzlos. Eine Mittelstellung bringt dann auch nur teilweise etwas.
Beim Einschalten geht die Software davon aus, dass die Mittelstellung der aktuelle Stand ist. Je nach Ausschlag gibt es eine gewissen Anzahl von Schritten für den Motor, um die Zielposition anzufahren. Wenn durch einen etwas unglücklichen Lenkhebel (wenn ich da z.B. Draht einen Millimeter zu lang habe) nicht in der Mittelstellung bin, kann ich die Mittelstellung einfach korrigieren. Wenn dann aber mal der Akku leer ist und hier gerade ein Lenkeinschlag war, muss ich dann neu justieren, per Einschalten der Fernbedienung, Korrigieren des Ausschlags, wieder Ausschalten und wieder Einschalten... und dass ggfs. mehrfach, bis mein Modell dann wieder schön geradeaus fährt.
Ich denke, da bin ich vielleicht etwas zu faul dazu. Hast Du an einen Reset-Knopf für den Arduino gedacht? Nimmst Du einen "echten" ATMega oder nicht einen ATTiny? Sollte ja auch ausreichen...
Also ich glaube ein Arduino kommt da gar nicht zum Einsatz, das kam von mir...
Ich persönlich finde das mit dem neu anlernen nicht besonders schlimm. Wann fährt man schonmal den Akku komplett leer? meistens merkt man das ja rechtzeitig an flackernden LED's oder zuckendem Servo.
Ich finde das als Servo eher uninteressant. Aber Für Sonderfunktionen wäre das mega, wass man mit der Kleinen Baugröße alles machen könnte, wenn es so klappt wie man es sich Vorstellt
Einen Reset Knopf gibt es nicht. Wenn das Temperaturproblem gelösst ist, werden wir versuchen auch noch einen ESC für einen Antriebsmotor herzustellen. Da die Motoren sehr gut zu regeln sind, sollte es möglich sein einen Motor ohne Getriebe zu verwenden.