Archiv verlassen und diese Seite im Standarddesign anzeigen : Getriebemotor zu Servo umbauen
HannoHupmann
05.02.2014, 08:37
Hallo zusammen,
ausgehen von diesem Thread: https://www.roboternetz.de/community/threads/64009-Optimierte-Servo-Platinen-herstellen
möchten Slowy und ich einen beliebigen Getriebemotor (6V-12V und ca. 5A) zum Servomotor umbauen. D.h. er lässt sich genauso wie ein Modellbauservo über ein PWM Signal ansteuern und fährt eine vorgegebene Position an. Zur Positionsrückgabe soll - analog zum Modellbauservo - ein Potentiometer eingesetzt werden.
Bisheriger Ansatz war der Fahrtregler vom Conrad:
http://www.produktinfo.conrad.com/datenblaetter/225000-249999/245232-an-03-de-Miniatur_Fahrtregler.pdf
Der auf dieser Webseite leicht modifiziert wird:
http://www.mikromodellbauwelt.de/html/body_fahrtregler.html
Basis ist jeweils das IC: M51660L und so schaut der Schaltplan jetzt aus:
27419
Jetzt zur Frage:
1) Mit dem Poti feedback schwingt der Motor um den Sollpunkt, hat der erste Aufbau von Slowy ergeben.
2)Gibt es vielleicht sogar schon eine fertige, funktionsfähige Schaltung dieser Art und wir machen uns gerade die ganze Entwicklungsarbeit umsonst?
Jemand eine Idee zu den Fragen?
PS: Wenn die Platine irgendwann fertig ist werden wir diese fertigen lassen und wer möchte, kann gerne mit bestellen. Vorher muss sie aber 1A funktionieren! :)
Geistesblitz
05.02.2014, 11:04
Sehr interessantes und unterstützenswertes Projekt, sowas wird ja von vielen mal gesucht :)
Ich könnte mich für sowas interessieren, würde sowas aber auch gerne mal entwerfen wollen, um nicht auf Potis angewiesen zu sein (hab noch Magnetencoder rumliegen). Wird dann trotzdem interessant, euren Entwicklungsprozess zu beobachten ;)
Das Schwingen um die Sollage kommt vermutlich durch Getriebespiel. Besteht eine Winkeldifferenz, so möchte der Regler diese beseitigen, indem er den Motor in die Richtung fahren lässt. Durch das Getriebespiel dauert das eine kleine Weile, in der der Motor ein wenig beschleunigt, dann erreicht die Abtriebswelle die Sollposition, aber der Motor muss dann erstmal noch abbremsen, wodurch er übers Ziel hinausschießt. Dann fährt er wieder in die andere Richtung, wo dann wieder das Spiel auftritt und das wiederholt sich dann ständig, es führt also zu einer Schwingung um die Solllage. Wie man dies in der Regelung berücksichtigen kann, ist allerdings en schwieriges Unterfangen, da je nach Belastungsart sich das Getriebespiel anders verhält.
HannoHupmann
05.02.2014, 13:29
@Geistesblitz klingt nach einer logischen Erklärung insbesondere, wenn es sich um einen Test ohne Belastung handelt; sprich Getriebewelle und Poti sind direkt ohne Belastung verbunden. Im Belastungsfall dürfte das Getriebespiel nicht auftreten bzw. würde durch die Last gedämpft, damit sollte der Motor die Position genau anfahren können.
ne ne. Das ist kein Problem mit dem Spiel.
@HannoHupmann
Ich habe es mit einem Escap Motor probiert von denen Du auch welche hast.
Mehr dazu später.
Geistesblitz
05.02.2014, 18:23
Wie gesagt, hängt von der Belastung ab. Wenn diese aus einer Masse besteht, ohne großartige Dämpfung, wirds sicher auch eklig. Bei einer einseitigen Last sollte das keine Probleme machen. Wenns aber wirklich nicht am Getriebespiel liegen sollte, müsste es wohl an den Reglerparametern liegen. Wie habt ihr die Regelung eigentlich aufgebaut? Was lässt sich da einstellen?
muell-er
05.02.2014, 18:28
Sehr interessantes und unterstützenswertes Projekt ...Was ist uNterschied zu open servo?
Geistesblitz
05.02.2014, 18:39
Wahrscheinlich, dass es auch für größere Leistungen gedacht ist als für normale Standardservos. Wenn man auf einem höheren Level bauen möchte, denk ich mal schon, dass man da ungern auf normale Servos zurückgreift, eben weil diese so abgeschlossene Systeme sind. Nagut, bei Openservo bekommt man auch endlich mal Werte zurück, allerdings sind diese für die typische Bauform gedacht.
Dennoch wird wohl der größte Sinn des Ganzen wohl sein, sowas mal selber gemacht zu haben und somit solche Systeme auch besser zu verstehen.
Kabelkasper
05.02.2014, 19:06
Beim Servoschwingen tippe ich auf einen zu kleinen Totbereich.
Im DB zum M51660 ist eine Darstellung zur Wirkung des Widerstandes an Pin 9 auf den Totbereich zu sehen.
KK
HannoHupmann
05.02.2014, 21:38
@muell-er dass Open Servo mit i2c arbeitet und nicht mit dem ursprünglichen PWM Signal. Außerdem ist open Servo für Servos und nicht für Getriebemotoren 12V oder so.
Beim Servoschwingen tippe ich auf einen zu kleinen Totbereich.
Im DB zum M51660 ist eine Darstellung zur Wirkung des Widerstandes an Pin 9 auf den Totbereich zu sehen.
KK
Das sieht so aus. Eine Originalservoplatine mit 1K an Pin 9 funktioniert besser als der Nachbau mit 2K7.
HannoHupmann
06.02.2014, 09:13
Also modifiziere ich:
R7 von 2,7k auf 1k (Pin 9) würde es nicht vielleicht sogar Sinn machen auf 820R zu gehen?
Im DB steht der Kondensator C3 an Pin 3 mit 0,03µF in der Conrad Schaltung mit 0,01µF. Auch der Kondensator C4, 0,22µF hat im DB einen anderen Wert von 0,1µF
Was mich auch noch wundert ist der Widerstand mit 560k zwischen Pin 2 und Pin 6 der taucht in der C-Schaltung gar nicht auf.
Vermutlich macht es auch noch Sinn in den Servosupply einen Kondensator mit 10µF zu hängen, einfach um die Versorgungsspannung ein wenig zu glätten.
R7 lötie ich nachher erstmal um. C3 und C4 mache ich erstmal steckbar damit ich herumtesten kann.
Wäre es ein großer Aufwand für Dich erstmal eine Testplatine mit konventionellen Bauteilen zu layouten?
Die Platine könnte ich erstmal gravieren, damit sich ein paar interessierte auch eine Testumgebung basteln können.
Ich würde Dir dann durchgeben was für Teile und Jumper draufkommen müssten.
Könntest Du auch den Schaltplan etwas umzeichnen, damit es etwas übersichtlicher ist? Es wäre einfacher die Übersicht zu behalten wenn man die originale Schaltung und deine nebeneinander hält.
Der 560K Widerstand soll ermitteln was der Motor gerade macht. Mit oder ohne hat es jedoch hier keinen unterschied gemacht.
Hier noch eine Beschreibung eines Bastlers aus USA. http://webpages.charter.net/mullenmj/DomeDriveSchematic.htm
Ich habe mit Mark gemailt und er sagt nur: Vergesst die Idee den m51660l einzusetzen.
"The M51660L chip is horrible." :-)
HannoHupmann
06.02.2014, 11:35
Wenn ich Zeit habe kann ich eigentlich fast alles machen :-P Aber mit der sieht es im Moment äußerst schlecht aus.
Den Schaltplan umzustellen ist kein Problem, das geht recht fix, schwieriger wird es beim Layout, das ist in der Regel ein ziemliches gefummel und man muss erst alle Bauteile nach ihrem Package auswählen was immer recht viel Zeit beim Suchen braucht.
Mit Originalschaltung meinst du jetzt die vom C?
Als Alternative zum M51660L fällt mir jetzt spontan nur ein richtiger Motortreiber, ein Poti, ein µC + AD Eingang und PWM Eingang ein. Aber dann wird es schon recht umständlich.
Hessibaby
06.02.2014, 12:08
Interessantes Projekt.
Die Schaltung vom "blauen Claus" weicht von der MELCO-Originalschaltung ab.
In der Anlage mal eine Schaltung die alles aus dem M51660 rauskitzelt.27445
HannoHupmann
06.02.2014, 14:21
@Hessibaby, das ist genau der Schaltplan vom Conrad ohne Modifkation darüber sprechen wir die ganze Zeit und diese Schaltung holt bei leibe nicht alles raus, sondern ist er ziemlich mies :-( Wir diskutieren hier schon einige Verbesserungen für genau diese Grundschaltung.
Frage ist mehr, was meinst du mit der MELCO Schaltung?
Hessibaby
06.02.2014, 15:01
MELCO = Mitsubishi Electric Corporation.
Das ist nicht die Grundschaltung vom Claus, schau Dir das Jpeg mal genau an.
Die habe ich schon mehrfach - ohne Probleme - gebaut und eingesetzt.
Mit dem Trimmer zwischen 11-13 kannst Du die Drehzahl einstellen.
Womit steuerst Du an? Wenn Du den Impulseingang (Pin5) offenlässt oder an Masse legst darf da nichts zappeln
Als Alternative zum M51660L fällt mir jetzt spontan nur ein richtiger Motortreiber, ein Poti, ein µC + AD Eingang und PWM Eingang ein. Aber dann wird es schon recht umständlich.
Ja, das wär schon klasse und ist auch möglich. Meiner Erfahrung nach ist es aber schwer die Spezialisten unter einen Hut zu bekommen. Software, Elektronik, Mechanik, CAD. u.s.w.
Ich will erstmal diesen "horrible" blöden M51660L in den Griff bekommen.
HannoHupmann
06.02.2014, 20:40
@Hessibaby 1: dann bin ich blind, aber ich habe jeden Widerstand, Kondensator und Co überprüft und keinen Unterschied gefunden, die Werte sind überall die Gleichen wie der vom Conrad Minatur-Fahrtregler! Bitte markiere auf deinem Bild die Bauteile die anders sind gegenüber der Schaltung vom Conrad (nicht Claus).
@Hessibaby 2: Jetzt hast du den Begriff erklärt aber die Schaltung die du meinst sehe ich leider immer noch nicht.
Das Bild ist genau der Fahrtregler und den wollen wir anpassen weil wir damit nicht zufrieden sind, wir also noch mehr rauskitzeln wollen, daher auch andere Transistoren (SMD) und andere Dioden (auch SMD)!
Anbei der umgezeichnete Schaltplan für den Slowly :-D
Der Widerstand R7 wurde auch gleich auf 1k Ohm geändert und mein 10µF in die Servostromversorgung eingebaut.
27447
Weitere Verbesserungen die vorgeschlagen werden?
Ja, das wär schon klasse und ist auch möglich. Meiner Erfahrung nach ist es aber schwer die Spezialisten unter einen Hut zu bekommen. Software, Elektronik, Mechanik, CAD. u.s.w.
Ich will erstmal diesen "horrible" blöden M51660L in den Griff bekommen.
Warum gibts du dich denn mit dem M51660 ab, wenn er nicht so will, wie er eigentlich soll?
Ein tiny44 oder mega88* zum Beispiel, wäre kleiner, bräuchte in etwa genausoviel kleinkram zum laufen und wäre letztenende sogar flexibler, was Schnittstellen und Regelung angeht. Eine Stromregelung mit überlastungs Schutz wäre auch noch denkbar.
Mechanik und CAD interessiert den Controller ersteinmal nicht (außer vllt. für Reglerparameter).
Das Programm sollte eigentlich auch nicht länger als einene Tag dauern (ohne optimieren) Wäre ja nur PWM auswerten und den Motor dann in Abhängigkeit des PWMs und des ADCs (Poti) drehen lassen. Unter Umständen noch eine kleine Hysterese für den Poti einprogrammiert und fertig. Zur Regelung dann ein PI-Regler oder einfach nur auf größer kleiner reagieren.
Der M51660 ist, dafür das er so unflexibel scheint, ein recht teurer Chip (5€).
Aus interesse, wie sieht es da eigentlich mit dem PWM-refresh aus? Braucht er zwingend die 20ms Pause oder kann er auch schneller reagieren?
*Alternativ könnte man auch einen Cortex M0 nehmen (ZB. http://at.mouser.com/ProductDetail/STMicroelectronics/STM32F030F4P6/?qs=eyrSuY1LhL02tVhJ92aI6g==) klingt erst mal übertrieben, aber für einen Nachbau wäre der (Original) Programmer hier günstiger [8€ STM Discovery F0]. Rechenleistung bieten die kleinen AVRs schon mehr als genug.
Hessibaby
07.02.2014, 10:27
@Hanno - Schäm, Du hast Recht, das ist das Bild der nicht modifizierten Version. Der C4 für den Totbereich (Pin11) ist zu groß 0,1µF sollten es sein, und R7 (Pin9) 1k5.
zusätzlich würde ich die Basisansteuerung der jeweiligen Endstufe mit 4k7 nach GND legen (Pulldown)
HannoHupmann
07.02.2014, 10:40
Und ich hatte schon ernsthaft an meinem Verstand gezweifelt gestern :-D.
C4 = 0,47µF --> sollte also 0,1µF sein, macht Sinn
R7 = 1k Ohm --> sollte 1,5k sein, laut Datenblatt M51660L wird der Totbereich kleiner je kleiner der Widerstand ist, also würde 1k Sinn machen, aber 1,5k ist sicher auch noch ok. Wieviel unterschied die 0,5k machen lässt sich vermutlich nur ausprobieren.
Sprich am Basiseingang der Transistoren T2 und T4 ein Widerstand 4k7 zum GND?
Hessibaby
07.02.2014, 12:53
Sorry, aber ich glaube Dein Verstand hat nicht gelitten :)
Leider habe ich keinen M51660 mehr da, sonst würde ich parallel mit testen.
Für R7 vielleicht zum testen erstmal eine Reihenschaltung 470R fest und 2k2 Trimmer ?
Jups von Basis T2 und T4 ein Pulldown von 4k7, das sollte dann ein evtl. Aufschwingen verhindern da die nicht angesteuerte Basis auf einem definiertem Pegel liegt.
Mehr fällt mir im Moment dazu nicht ein.
Ich habe mal einige Änderungen gemäß den letzten Postings gemacht. Jetzt pendelt
es noch mehr um die Sollstellung... Da ich genug von der herumlöterei von Widerständen
habe, bau ich mir erstmal eine Potiplatine, mit der ich die Werte mit einem Schraubendreher
einstellen kann. Die Kondenatoren mache ich steckbar. Aus lauter Verzweifelung habe ich
mir heute erstmal einen Prüfstand gebastelt.
27455
Ein oder zwei würde ich noch bauen für jemanden der sich ernsthaft damit auseinandersetzen möchte.
Das wäre also die Mechanik mit Getriebemotor , eine gehackte Servoplatine mit einem M51660L und
die Bauteile für die H-Brücke. Die Wellenkupplung zum Poti, den Servotester und einen
Miniaturfahrtreglerbausatz gibt es zur Not beim großen C.
Hessibaby
09.02.2014, 11:31
Mach den C4 mal größer 1µF - 2,2µF - 3,3µF - 4,7µF dann wird das Ansprechverhalten wahrscheinlich träger.
Momentan vermute ich dass das Basetiming - also dieser 20ms Tick - zwischen Servoelektronik und -tester differiert, kannst Du das mit einem Scope messen?
Wenn der Servotester z.B. mit 19ms Base läuft und die Servoelektronik mit 20ms dann ist u.U. das Zeitfenster noch nicht auf wenn der Servopuls kommt und dann wird aus dem Nullpunkt der ja bei 1,5ms liegen sollte einer mit 1,4ms . der Puls wird dadurch mal kürzer und dann wieder länger. Dass ist das alte Problem der analog Servos.
Und nun mit variablen Widerständen und steckbaren Kondensatoren.
27464
Die Abstimmung ist wirklich sehr schwierig aber für diesen Motor funktioniert
es im Moment recht gut. Der Servotester ist tatsächlich recht ungenau Hessibaby.
In einer Richtung reisst es mir immer den Poti aus der Halterung.
Der Oszi bästätigt das. Am Servotester muß ich also noch ein paar Änderungen machen.
muell-er
09.02.2014, 19:52
... mit variablen Widerständen ... Kondensatoren ... also noch ein paar Änderungen machen.So viel Arbeit. Und ERfolg ? Wenn ich denke das Servo komplet ist ungefähr PT2-Glied, mit PIDregelung gibt mehr als ein hand voll Freiheiten. Lösung mit raten und probieren ohne das man weis welche Wirkung von welche Änderung kommt - hübshces Spiel.
Viel Arbeit. ja. Der Erfolg liegt darin das der Motor jetzt dem Sollwert folgt.
Eine Prozessorlösung wäre mit Sicherheit besser. Wer macht es?
Mit Raten hat es nicht viel zu tun, eher mit Abstimmung. Die Datenblätter und
die Erfahrungen von diversen M51660L Bastlern geben Hinweise wie man
bei der Abstimmung vorgehen kann.
Es ist tatsächlich ein Spiel und macht dazu noch Spaß. :p
HannoHupmann
10.02.2014, 09:15
@muell-er: Jetzt bin ich neugierig, hast du denn einen Vorschlag wie man es anders machen könnte? Klar ist es nicht einfach den Regelkreis bei dieser Schaltung exakt einzustellen. Vermutlich muss man das tatsächlich für jeden Motor individuell, aber wir wollen auch nicht die mathematisch perfekte Genauigkeit erreichen, sondern eine brauchbare für den Modellbau.
@Slowly: beeindruckender "Prüfstand"! Wegen des Spass machen wir hier alle diese lustigen Roboterprojekte, nicht weil sie besonders sinnvoll sind. Ich fürchte im ganzen Forum gibt es nur eine Handvoll sinnvolle Roboter.
Vermutlich ist der M51660L nicht die Beste Lösung, darüber will ich gar nicht streiten, aber es ist eine Lösung und bisweilen muss man sich mit dem zufrieden geben was man bekommt. Viel zu viele Entwickler such zu lange nach der "perfekten Lösung" und kommen so gar nicht zu einem vernünftigen Ergebnis.
Die µC Lösung finde ich persönlich auch nicht wirklich "perfekt", denn: es braucht deutlich mehr Bauteile um sie zu realisieren, es braucht auch noch ein Programm, welches einfach klingt aber auch wieder einen PID Regler enthalten sollte (!) usw.
nikolaus10
10.02.2014, 10:58
....denn: es braucht deutlich mehr Bauteile um sie zu realisieren, es braucht auch noch ein Programm, welches einfach klingt aber auch wieder einen PID Regler enthalten sollte (!) usw.
Wieso mehr Bauteile: Atiny, H-Bruecke, Abblockkondensatoren, Poti.
Die Software ist auch nicht sonderlich schwierig.
KR
HannoHupmann
10.02.2014, 13:43
Die Frage musste kommen und ich habe sie auch schon erwartet, aber allein für den Atiny braucht man noch einen Programmieranschluss und einen entsprechenden Programmieradapter. Nicht jeder hat sowas zuhause rumliegen.
Ehrlich gesagt finde ich PID Regler (!) zu programmieren durchaus recht schwierig. Insbesondere die Werte für P, I und D zu ermitteln ist eine Kunst für sich. Daher ist die Aussage. nicht sonderlich schwierig, sehr relativ zu sehen. Nämlich in Relation zum eigenen Programmierkönnen ;-). Hinzu kommt noch, dass man einen Zähler so programmieren muss, dass er aus dem 20ms die High / Low Abschnitte ausliest und damit die Sollposition extrapoliert. Klingt für mich ehrlich gesagt nicht so trivial, daher scheue ich bisher vor so einer Lösung zurück.
Zudem braucht es einen Atiny mit AD-Wander-Eingang, also vermutlich sowas wie Atiny5
Der M51660L tut genau das und braucht nur ein paar Bauteile drum herum, einzig der Regler wird gerade noch ein bisschen optimiert bei uns.
.... es braucht auch noch ein Programm, welches einfach klingt aber auch wieder einen PID Regler enthalten sollte (!) usw.
Ein PID Regler wird in dem Chip nicht drin sein und ist den ebensoalten Kollegen auch nicht drin. Wenn man ihn als Regler auffasst, ist es ein einfacher P-Regler mit einer Totzone. Hier ein Blockschaltbild:
27470
Aus der Application kann man sehen, daß vom Motor noch ein kleiner D-Anteil hinzugenommen wird
27471
Eine tolle Regelung ist das aber nicht. Wenn man jetzt den Motor mit einer größeren Spannung als den Chip betreibt, muß man sich das mit dem Rückkoplungswiderstand vom Motor noch mal gut ansehen. Wenn das nicht passt, ist auch noch der D-Anteil weg. Die externe Brücke, so wie sie weiter oben gezeigt wird, kann den Motor auch nicht bremsen. Sie ist für eine echte Reglung denkbar ungeeignet.
Eigentlich ist heutzutage ein "digitales" Servo einfacher als ein analoges. Wenn man sich mal die Steuerplatinen von vergleichbaren "analogen" und "digitalen" Servos anschaut, sieht man das auch. Ein kleiner µC und ein paar Transistoren, keine Probleme mit ungenauen Kondensatoren, die Werte der Widerstände sind auch ziemlich egal. Es ist sicher auch billiger zu bauen, nur SMD und automatisch bestückbar. Und nur so ist ein PID Regler ist auch machbar.
MfG Klebwax
Hessibaby
10.02.2014, 15:33
Hier geht es auch um den Spaß an der Sache - in diesem Fall eben die besondere Herausforderung diese vorgegebene Elektronik möglichst sauber ans fliegen zu bringen.
Sicher geht das auch anders, man könnte auch eine S7 dafür nehmen, aber das ist nicht die Aufgabe.
Aber wir sind ja offensichtlich auf dem richtigen Weg :)
Geistesblitz
10.02.2014, 17:15
Och ich fand den Beitrag eigentlich ganz informativ, auch wenns nicht zum Projekt beiträgt. Mir würde jedenfalls die Variante mit Mikrocontroller und Busansteuerung besser gefallen, würde eigentlich auch gerne versuchen, einen kaskadiertern Regelkreis zu implementieren, aber dafür muss ich auch erstmal einen Prüfstand fertig bekommen.
Och ich fand den Beitrag eigentlich ganz informativ, auch wenns nicht zum Projekt beiträgt. Mir würde jedenfalls die Variante mit Mikrocontroller und Busansteuerung besser gefallen, würde eigentlich auch gerne versuchen, einen kaskadiertern Regelkreis zu implementieren, aber dafür muss ich auch erstmal einen Prüfstand fertig bekommen.
Wenn Du daran gehen möchtest, kannst Du einen von mir haben.
Hatte ich ja angeboten.
Geistesblitz
10.02.2014, 17:31
Hmm, ok...
Was ist da denn alles bei? Ich bin ja schon gerade dabei, einen eigenen zu planen, wobei ich aber auch ganz gerne Magnetencoder für die Anwendung austesten würde.
Im vorherigen "Angebotsbeitrag" habe ich einige Teile aufgezählt.
Wenn Du noch mehr benötigst schaue ich in meinen Fundus Paletten nach.
Geistesblitz
10.02.2014, 18:02
Ich weiß noch nicht so recht, eigentlich hab ich momentan noch genug andere Sachen zu tun (Prüfungsphase fängt beispielsweise gerade an), da warte ich lieber noch ein wenig, bis ich mich da mit einklinke.
Irgendwie sind die Bilder nicht richtig angekommen:
hier das Blockschaltbild
27473
und die Application Note
27472
MfG Klebwax
Nur kurz zum Thema, ein Mikrocontroller bräuchte mehr Bauteile:
27478
Ich hab mal schnell was zusammen gebastelt, wurde ein Mega88, weil ich nicht einen passenden Tiny suchen wollte, die H-Brücke ist hier mit Mosfets aufgebaut und braucht deshalb ein paar mehr Bauteile, würde aber auch mit normalen Transistoren gehen. Quarz kann man zur Not auch noch weg lassen.
:!: Werte sind noch nicht berechnet oder der gleichen.
Erweiterbar wäre das ganze dann auch noch nach belieben
- Temperatur messung
- SPI/I2C/...
- beliebige PWM Zeiten (keine fixen 20ms)
- ...
Eigentlich nur Vorteile, bis auf das programmieren, .. wobei, in der Zeit die ihr schon für die Optimierung genutzt habt, wäre da sicher was geschrieben :-b
Geistesblitz
11.02.2014, 00:29
Da ja eh ein Getriebemotor verwendet wird, ist man ja nicht mehr auf das Format von Servoplatinen angewiesen, daher dürften die wohl auch ruhig ein Stückchen größer sein, denk ich mal.
Wenn man Bock drauf hat, eine H-Brücke so aufzubauen, bitte, aber da würde ich irgendwie lieber was Fertiges nehmen. Ist kleiner, einfacher und bestimmt auch günstiger.
Generell, was ist eigentlich der Vorteil daon, die Elektronik direkt an den Motor ranzubauen? Wärs nicht sinnvoll, Motor und Steuerung getrennt zu lassen?
Da ja eh ein Getriebemotor verwendet wird, ist man ja nicht mehr auf das Format von Servoplatinen angewiesen, daher dürften die wohl auch ruhig ein Stückchen größer sein, denk ich mal.
Wenn man Bock drauf hat, eine H-Brücke so aufzubauen, bitte, aber da würde ich irgendwie lieber was Fertiges nehmen. Ist kleiner, einfacher und bestimmt auch günstiger.
Generell, was ist eigentlich der Vorteil daon, die Elektronik direkt an den Motor ranzubauen? Wärs nicht sinnvoll, Motor und Steuerung getrennt zu lassen?
Ich zitiere mich mal selbst https://www.roboternetz.de/community/threads/64051-Oktopod-Projekt/page7?p=594115&viewfull=1#post594115
Wichtig ist eigentlich, die Servoelektronik von der Motorversorgung zu trennen. Diese sollten immer aus getrennten Quellen kommen. Die Elektronik ist auf dem Weg zu 3,3V, für Motoren gilt: je höher desto besser. Mit einer integrierten Brücke ist das leicht zu erreichen.
Im Automotiv Umfeld gibt es solche Brücken ohne Zahl, von der Rückspiegel und Scheinwerfereinstellung bis zu Sitzverstellung und Fensterhebern. Die können alle problemlos an 3S oder 4S Lipos oder LiFe betrieben werden. Als Beispiel Infineon (Siemens) (http://www.infineon.com/cms/de/product/automotive-ics/motor-drivers-automotive/integrated-smart-power-motor-drivers/channel.html?channel=db3a304312bae05f0112bdd6e44a0 049) oder ST (http://www.st.com/web/catalog/sense_power/FM1965/SC1039) oder ...
Da ich PICs verwende, käme als einer der kleinsten ein PIC12F1822 im SO8 Gehäuse in Frage (würde ich zwar nicht gerne zum Entwickeln einsetzen, da die Pins zum Debuggen nicht frei bleiben). Einen externen Quarz braucht man nicht, der interne Oszillator ist immer besser als irgendein externer Elyt, wie bei den Servo-ICs. Dieser zusammen mit einem VNH3SP30-E und einem großen Scheibenwischermotor könnte ein 250W, oder anders gesagt 1/3 PS, Servo abgeben. Wenn man den Motor günstig bekommt (es soll auf Schrottplätzen Autos geben, die nie wieder einen Scheibenwischer brauchen), kann man selbst mit Hobby-Preisen für die Halbleiter billiger als Dynamixel bleiben (Silizium ist billig, Mechanik ist teuer).
Selbst wenn man es nicht auf diesen Wert treibt ist zu sehen, daß man mit einer eigenen digitalen Servosteuerung leicht die Probleme in der Stromversorgung von vielen Servos vermeiden kann.
MfG Klebwax
HannoHupmann
11.02.2014, 09:18
Keine Frage, man kann so ein Projekt beliebt ausdehnen und immer noch mehr Features einbauen, aber für manche Anwendungen braucht es gar nicht all diese Gimmiks. Die Idee hinter diesem Projekt ist es, wirklich nur ein 1:1 äquivalent zu einem Modelbau-Servo mit Getriebemotor aufzubauen. Dabei bleibt die Rahmenbedingung eben:
1) Es wird ein PWM Signal als Steuersignal verwendet
2) Es wird mit einem Potentiometer die Position erkannt
3) Es wird ein Getriebemotor mit 6V - 12V verwendet.
Fertig!
Die Platine soll später auch sehr nah am Motor sitzen (am besten auf diesem, dass eine Einheit) entsteht. Auf dieser gibt es den klassischen Servoanschluss mit 3 Leitern (GND, 5V und Signal) und einen Anschluss für die Motorspannung, nicht mehr!
Die fertige Schaltung soll sich später eben auch mit einer handelsüblichen RC-Fernsteuerung ansprechen lassen, dafür gibt es genug Anwendungen. Für eine Anwendung mit Temperatursensoren, Strom und Spannungsüberwachung etc. gibt es genug Lösungen bzw. es ist ein anderes Thema. Da nicht jeder Modellbauer über einen Programmierdongle verfügt, sehe ich leider schwarz für eine Lösung mit µC. Die Platine würde ich später gerne zum Herstellungspreis verkaufen (nein ich will damit nichts verdienen, es ist nur günstiger 20Platinen fertigen zu lassen, als zwei) und jeder kann sich selbst die Bauteile dazu kaufen.
Daher bitte ich nun zurück zum Kern dieser Aufgabenstellung zu kommen. Hessibaby hat das ja schon so schön gesagt ;-)
-------------------------
Aktuelle Aufgaben:
Mit dem M51660L sind wir jetzt schon recht weit gekommen, aber noch nicht zu einer finalen Lösung, d.h. die Positionierung des Motors ist noch nicht hinreichend genau genug. Hier gilt es noch die bestehende Schaltung zu optimieren.
Könnte es sein, dass das Stellpoti nicht fein genug auflöst? Einige "Bastler" haben hier ja sogar Multiturn Potis eingesetzt, was auch eine schöne Sache wäre wenn damit ein Bereich von 1080° abgedeckt werden könnte.
Geistesblitz
11.02.2014, 11:13
Ist ja schon gut, am besten wir lagern das mit der µC-Lösung irgendwie mal aus, bevor wir den Thread noch ganz highjacken.
Ich steck jetzt nicht so in den Details von eurem IC drin wie ihr, aber ich versuch trotzdem was Konstruktives beizutragen.
Die Positionierung ist nicht genau genug...wie äußert sich das denn? Bleibt der kurz vor der gewollten Stellung stehen? Ich vermute Irgendwie dass das was mit der genannten Totzone zu tun hat. Eigentlich haben Potis eine recht gute Auflösung, nur durch so eine Totzone wird diese eben nicht mehr so recht genutzt. Allerdings kann es dann wieder zu Schwierigkeiten mit Schwingungen um die Solllage kommen. Was mir jedenfalls bei bisherigen Experimenten mit Positionsregelung von DC-Motoren aufgefallen ist, was Probleme machen kann, ist die Losbrechspannung, bei der die Motoren anfangen, loszulaufen (muss noch nichtmal für beide Drehrichtungen dieselbe sein). Bei einem µC kann man da eine Totzone in die PWM einprogrammieren, wie und ob das mit dem IC geht, weiß ich allerdings nicht.
Achja, bei einem Multiturnpoti oder auch einem Spindeltrimmer kann ich mir nur vorstellen, dass die Positionierung noch ungenauer wird, da ja die Pulslänge auf den gesamten Stellbereich abgebildet wird. Wenn sich das Signal um 0,01ms verändert, dreht sich der Servo dann nicht mehr um 3°, sondern um 15° oder sowas. Je nachdem, wie fein die Pulsweite aufgelöst wird, kann man sich dann auch die Auflösung des Stellbereiches ausrechnen.
Hessibaby
11.02.2014, 13:23
Erfahrungsgemäß sind die in den Servos verbauten Potis nicht von allerhöchster Qualität (von wenigen Ausnahmen abgesehen).
Was mir nur gestern Abend noch eingefallen ist, das ich immer wieder Probleme mit "Modellbauelektronik" hatte wenn ich diese mit meinem Labornetzteil versorgt habe.
Bei Batteriespeisung verschwanden dann so einige Probleme von selber.
Die Frage die sich stellt ist die ob Servotester und "Powerservo" aus der selben Spannungsquelle gespeist werden?
Und von wo wird die H-Brücke versorgt?
@Klebwax
Das mit dem Rückkopplungswiderstand ist wirklich ein Problem.
Mit dieser Schaltung hat der kaum einen Einfluss.
Den Motor zu bremsen wäre kein Problem. In der H-Brücke alles
durchschalten. Das Funktioniert aber nur ein einziges Mal ;-)
Die Versorgungen sind natürlich getrennt aber durch Masse Verbunden.
PIC hört sich auch gut an. Schau mal hier: www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en012134
Einige Stangen PICs, serielle EEPROMs Darlingtons und MOSFETs hätte ich zur Verfügung.
@Geistesblitz
Die angestrebte kleine Baugröße liegt gerade im Bereich
"Einbau in ein Quadro, Hexa, Oktopod". Wenn der Kern fertig ist
könnte man fast jede beliebige H-Brücke für jede Anwendung anschließen.
@HannoHupmann
Der Stellpoti ist schon in Ordung. Ein Mehrgangpoti geht auf jeden Fall
auch. Mehrgang und Linearpotis habe ich auch herumliegen und kann
mal schauen was passiert.
Ansonsten funktioniert die Dämpfung zwischen Pin 2 und 6 nicht
mit dieser Schaltung. Es gibt immer bei schneller Positionierung ein
Überschwingen und Einpendeln beim Erreichen der Sollposition.
Das Überdrehen des Potis lag daran das der C Servotester Impulsbreiten
weit ausserhalb der Toleranz geliefert hat...
Für einfache Anwendungen ist diese M51660L Schaltung durchaus nützlich.
Bitte keine Wunder erwarten...
Die PIC und ATMEL Programmierer sind was mich angeht herzlich willkommen.
Wie wäre es mit einem Thread:
"M51660L durch Microcontroller ersetzen" ?
Einige Stangen PICs, serielle EEPROMs Darlingtons und MOSFETs hätte ich zur Verfügung.
PIC oder Atmel ist eigentlich egal. Es ging da eigentlich nur darum, daß man einen ADC braucht. Und den sollte man bei den Atmels eigentlich auch immer haben.
Es gibt immer bei schneller Positionierung ein Überschwingen und Einpendeln beim Erreichen der Sollposition
Das ist normal für einen P-Regler. Es gibt mehrere Lösungen:
Man vermindert das Trägheitmoment des Motors, also so etwas wie einen eisenlosen Glockenanker-Motor. Dann kommt er schneller zum Stehen.
Man vermindert die Stellgeschwindigkeit. Das macht der "Puls-Stretcher" in den Servo-ICs. Dann wird das ganze aber viel langsamer.
Man vergrößert das Deadband. Dann wird die Stellgenauigkeit schlechter und extrem lastabhängig.
Man bremst den Motor, wenn das Servo im Deadband ist. Dann muß die Brücke aber anders aufgebaut sein. Das könnte die einfachste Lösung sein.
Viele von den Beispielen, die hier herangezogen werden, bauen einen Fahrtregler aus einem Servo-IC. Da gibt es diese Probleme prinzipiel nicht.
Wie wäre es mit einem Thread:
"M51660L durch Microcontroller ersetzen" ?
Nur zu.
MfG Klebwax
oberallgeier
12.02.2014, 09:36
... Es gibt immer bei schneller Positionierung ein Überschwingen und Einpendeln ...Bei meinen Messungen mit analogen Servos (Steuerchip nicht dokumentiert) hatte ich immer Schwingungen festgestellt. Diese Aufzeichnung (https://www.roboternetz.de/community/threads/62904-Servomesstester-(Servotester-und-–messaufbau)?p=585556&viewfull=1#post585556) *) ist typisch für lastlos, auch Messungen mit Last zeigen Schwingungen. Ist ja klar, wenn der Regler am Schreibtisch für eine nur schätzbare Last- Trägheits- und Dämpfungskonfiguration ausgelegt wurde, liegt er meist daneben. Die Dämpfung ist bei verschiedenen Servos z.T. drastisch eingestellt, aber flott genug, dass sie ordentlich laufen können.
Überschwingen hatte ich bei den von mir vermessenen vier Servotypen praktisch nicht festgestellt, hatte aber auch nicht mit wirklich schweren (im Rahmen der Servospezifikation), ungedämpften Massen hantiert.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*) Bedingungen: Üblicherweise 5,0 V aus Labornetzteil max 5A, Signal an Servo mit 20,0 ms.
Messungen im Abstand von 1000 µs mit nicht geeichtem Potentiometer, Winkelangaben als Rohdaten in ADC-Werten (1° ca. 10 ADC), Zeitangaben mit üblicher Quarzgenauigkeit.
Wegen der schnellen Datenerfassung springen die digitalen Messwerte, eine sinnvolle Auswertung ist nur durch z.B. gleitenden Durchschnitt möglich - hier mit 10 Perioden. Man sieht bei dieser Messung deutliche Geschwindigkeitsschwingungen im 20-ms-Raster. Messungen bei anderen Servos - mit vermutlich höherer Dämpfung - zeigen ähnliche Schwingungen (ist ja auch klar). Messfahrten mit SlowMotion == ServoPWM wird mit etwas 12 Bit Auflösung vorgegeben - zeigen diese Schwingungen von full speed bis runter zu Schleichfahrt.
Hessibaby
12.02.2014, 10:11
Ganz eliminieren lässt sich das Servospiel eh nicht, da das Poti üblicherweise über ein zusätzliches Zahnradpaar von der Ausgangswelle angetrieben wird.
Das Spiel zwischen den Zahnflanken, insbesondere bei wechselnder Last, erzeugt einen Fehler.
Bei einem Truckmodell habe ich, an der Lenkung, anstelle des eingebauten Potis ein 50mm Schiebepoti zur Istmeldung eingebaut.
Nachteil war natürlich das einigermaßen dicht zu bekommen. Angeschlossen war das Ganze über eine 3,5er Klinke, Platz war ja durch den Entfall des Potis und der zwei Zahnräder da.
Bei der Testerei mit den NE555 oder NE556 aufgebauten Servotestern muss man Abweichungen tolerieren.
Ich habe mir mal die Mühe gemacht eine solche Schaltung mit Spindeltrimmer auf genau 20ms Tick einzustellen. Im längeren Betrieb lief dieser dann zwischen 19,2 und 20,5 ms hin und her da der 555er offensichtlich den frequenzbestimmenden C nicht immer gleichtief entlädt.
Vielleicht sollten wir zunächst einen Servotester basierend auf PIC oder AVR aufbauen?
oberallgeier
12.02.2014, 10:23
... Vielleicht sollten wir zunächst einen Servotester basierend auf PIC oder AVR aufbauen?Ich hatte den Aufwand lange gescheut. Aber die gefundenen Aussagen mit meinem Prüfstand (https://www.roboternetz.de/community/threads/62904-Servomesstester-(Servotester-und-–messaufbau)?p=585511&viewfull=1#post585511) sind für mich ziemlich aufschlussreich, obwohl ich z.B. die schnelle Abtastung beim Stromverbrauch u.Ä. noch immer nicht aufgebaut und programmiert habe. Wesentlicher Antrieb zum Bau meines Servotesters war die festgestellte Regelabweichung beim RS-2 (https://www.roboternetz.de/community/threads/61379-Kopfsache-und-ein-m1284-etliche-Servos-viel-Alu?p=579801&viewfull=1#post579801) - der ist in dieser Hinsicht vermutlich einer der schlechtesten Servos die ich kenne.
Geistesblitz
12.02.2014, 13:41
@Hessibaby: was waren das denn für Servos? Ich hatte bisher nur Servos, wo das Potentiometer direkt mit der Abtriebswelle gekoppelt war.
Das mit dem programmierbaren Servotester ist bestimmt mal ganz praktisch, interessant wäre auch eine Sinuskurve als Sollsignal, bei der sich die Frequenz ändern lässt. Damit lässt sich die Servodynamik ein bisschen austesten, da bei höheren Frequenzen die Amplitude immer mehr schwindet.
@Geistesblitz
Das sind Servos bei denen ein Poti mit dem Zahnrad vor dem Antrieb
gekoppelt ist. Damit hat man z.B 90° 180° 360° Servos.
HannoHupmann
19.02.2014, 11:40
Leider ist der Thread ein wenig untergegangen, ich musste mich auch ein wenig mit anderen Dingen beschäftigen.
Slowly wie sieht es denn aus im Moment?
Hessibaby
21.02.2014, 16:53
Ich harre auch der Dinge und habe beim Ali die M51660 zu vernünftigen Preisen gefunden bei 50 Stück unter 1€ inkl. Versand.
http://www.aliexpress.com/item/100-new-original-M51660L-M51660-RENESAS-ZIP14/1441719387.html
HannoHupmann
24.02.2014, 15:57
Willst du da bestellen? Dann würde ich vermutlich ein paar (4 bis 6) mit bestellen bzw. abnehmen.
Hessibaby
24.02.2014, 17:00
Wenn die Endstufe sauber läuft würde ich 20 bestellen, zumal der gerade den Preis nochmal gesenkt hat - und solange man unter 30€ bleibt kommt ja auch kein Zoll und keine EUSt drauf
unter 30€ [...] kommt ja auch kein Zoll und keine EUSt drauf
doch, bei kleiner/gleich 22€ inkl Versandkosten (!) bezahlt man keine Einfuhrumsatzsteuer und keinen Zoll (http://www.zoll.de/DE/Privatpersonen/Post-Internet/Sendungen-aus-einem-Nicht-EU-Staat/Zoll-und-Steuern/Sendungen-mit-geringem-Wert/sendungen-mit-geringem-wert_node.html). Bei 30€ bist du ja schon drüber. Aber das nur so am Rande, nicht dass du dich nachher ärgerst :-).
Gruß
Malte
Hessibaby
25.02.2014, 17:27
Danke für den Hinweis Malte, ich hatte irgendwie 30€ im Hinterkopf.
Bei 20 Stück liegen wir Heute bei 19,98€, also drunter. Aber wie gesagt bestelle ich erst dann wenn die Endstufe sauber läuft :)
Hallo,
leider habe ich im Moment etwas wenig Zeit mich intensiver mit dem Testen zu beschäftigen.
Chef hat mir einiges an dringend zu erledigen "Sachen" aufgebrummt.
Persönlich hätte ich mich bei diesem Projekt auf mehr aktive Beteiligung gefreut, besonders
da das Angebot gemacht wurde die Bauteile zur Verfügung gestellt zu bekommen.
(nicht nur schreiben sondern auch machen, mit Lötkolben und so) ;-)
Bei der Chipbestellung wäre ich mit 10 Stück dabei.
Der Preis ist klasse aber ich hoffe nicht das es "abgekupferte" sind, sondern echte Mitsubishi.
Risiko ! :-)
Gruß
Slow
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.