Guten Tag Zusammen, für mein Projekt möchte ich einen DC Getriebemotor über ein Motorshild(Adafruit DRV8833) mit einem Arduino mini pro ansteuern. Aus einem gekauften Gerät, möchte ich den dort eingesetzten Motor verwenden und mit der selbigen Drehzahl betreiben. Die Drehzahl des Motors soll konstant sein und beträgt ca. 20 upm danach befindet sich ein Getriebe mit einer starken Untersetzung. Durch eine weitere Untersetzung 30/1 soll der Motor genau genommen sich in 24h einmal drehen. Nun habe ich den Motor am gekauften Gerät an ein Oszilloskop angeschlossen und habe folgendes Signal bekommen (siehe Anhang). Amplitude <5V Frequenz 19kHz PWM würde ich grob 50% schätzen Für eine konstante Drehzahlregelung ist der Motor mit einem Geber geregelt. Drehmoment ist relativ hoch Nun habe ich zunächst den Motor ohne Geber an mein Board angeschlossen. Die Spannungsquelle habe ich auf 5V gestellt und am Motorshild angeschlossen. Den PWM Ausgang am Arduino mini pro konfigurierte ich so, dass dieser 19kHz hat und den Tastgrad habe ich variable auf ein Poti gelegt. Das Signals ist am anderen Bild (siehe Anhang) zu erkennen. Der Motor dreht sich jedoch geschätzt 10x schneller wie erwartet. Des Weiteren ist das Drehmoment des Motors sehr schwach. Bereits unter einem Tastgrad von 50% bleibt der Motor über meine Ansteuerung stehen. Somit ist die niedrigste Drehzahl die ich simulieren kann bei ca. 200 upm. Wenn ich leicht an die Scheibe des Inkrementalen Sensors komme hört er auf sich zu drehen. Hingegen bei dem ersten Test, wo der Motor über die Steuerung des gekauften Gerätes angesteuert wurde, war das Drehmoment sehr hoch und ich konnte den Motor kaum anhalten. Zu sehen ist auch, das sich das Signal etwas unterscheidet. Die Amplitude ist soweit fast gleich, jedoch ist die abfallende Flanke des PWM´s gedämpfter. Ich wäre sehr dankbar, wenn mir jemand einen Rat geben kann, wie es möglich ist den Motor so anzusteuern, das dieser mit niedriger Drehzahl und hohem Drehmoment betrieben werden kann!
Miss mal am FLT Ausgang des DRV-Boards, ob da was auf High geht. Wenn ja, schlägt entweder der Überstrom- oder der Temperaturschutz an. Weiter miss doch mal am Motor Spannung, wenn du ihn abbremst. Wenns da einknickt, ist evtl. dein VMotor Netzteil zu schwach. SLP muss auf High sein.
Christian S. schrieb: > Motorshild(Adafruit DRV8833) mit einem Arduino mini pro ansteuern. Datenblatt? Das hier? https://www.adafruit.com/product/3297 > Die Drehzahl des Motors soll konstant sein und beträgt ca. 20 upm danach > befindet sich ein Getriebe mit einer starken Untersetzung. Durch eine > weitere Untersetzung 30/1 soll der Motor genau genommen sich in 24h > einmal drehen. Also drei Getriebe in Reihe? > Nun habe ich den Motor am gekauften Gerät an ein Oszilloskop > angeschlossen und habe folgendes Signal bekommen (siehe Anhang). > Amplitude <5V > Frequenz 19kHz > PWM würde ich grob 50% schätzen Und vor allem negative Spannung. Merkwürdig. > Für eine konstante Drehzahlregelung ist der Motor mit einem Geber > geregelt. Gut. > Das Signals ist am anderen Bild (siehe Anhang) zu erkennen. Der Motor Sieht anders aus. Das Original klingt langsam ab, deine PWM schaltet hart, was eigentlich der Normalfall ist. > dreht sich jedoch geschätzt 10x schneller wie erwartet. Des Weiteren ist > das Drehmoment des Motors sehr schwach. Bereits unter einem Tastgrad von > 50% bleibt der Motor über meine Ansteuerung stehen. Merkwürdig. > Zu sehen ist auch, das sich das Signal etwas unterscheidet. Die > Amplitude ist soweit fast gleich, jedoch ist die abfallende Flanke des > PWM´s gedämpfter. > Ich wäre sehr dankbar, wenn mir jemand einen Rat geben kann, wie es > möglich ist den Motor so anzusteuern, das dieser mit niedriger Drehzahl > und hohem Drehmoment betrieben werden kann! Zeig mal deinen Schaltplan, Verdrahtung und Software. Dann reden wir weiter.
Christian S. schrieb: > Die Drehzahl des Motors soll konstant sein und beträgt ca. 20 upm Wohl erst nach seinem angeflanschten Getriebe. Christian S. schrieb: > Der Motor dreht sich jedoch geschätzt 10x schneller wie erwartet Dein DRV8833 hat einen push-pull Ausgang, das Original sicher nur 1 Transistor und eine Freilaufdiode. Um ehrlich zu sein würde ich dabei aber eine geringere Drehzahl erwarten. Obwohl, an Freilaufdiode mehr Spannung als an Kurzschluss, also braucht der Strom länger bis er abklingt, das kann schon zu höherer Drehzahl führen. Steure des DRV883 nicht dauernd mit nSLEEP=High und PWM an, sondern lege PWM an nSLEEP und einen Eingang an High, den anderen an Low. Leiddr hat bSLEEP eine Verzögerung von 1ms also PWM eher 100Hz als 19kHz. Ist halt ein blöder IC.
Christian S. schrieb: > Signal_Ziel.jpg Mach doch wenigstens die Lampe aus, wenn du den Oszi-Bildschirm per Kamera photograpieren musst und ihn nicht direkt als PNG o.ä. speichern kannst. Bei vernünftigen Oszis sind die Zeiten, wo man eine Kamera davor halten muss, seit ein paar Jahrzehnten eigentlich vorbei (sofern der Nutzer in der Lage ist, das Gerät richtig zu bedienen).
Falk B. schrieb: > Christian S. schrieb: > >> Motorshild(Adafruit DRV8833) mit einem Arduino mini pro ansteuern. > > Datenblatt? Das hier? Ja genau das ist da richtige Datenblatt! > https://www.adafruit.com/product/3297 > >> Die Drehzahl des Motors soll konstant sein und beträgt ca. 20 upm danach >> befindet sich ein Getriebe mit einer starken Untersetzung. Durch eine >> weitere Untersetzung 30/1 soll der Motor genau genommen sich in 24h >> einmal drehen. > > Also drei Getriebe in Reihe? Es wären dann 2 Getriebe in Reihe. Zunächst das Getriebe direkt am Motor und dann noch ein von mir eingebautes Schneckengetriebe. > >> Nun habe ich den Motor am gekauften Gerät an ein Oszilloskop >> angeschlossen und habe folgendes Signal bekommen (siehe Anhang). >> Amplitude <5V >> Frequenz 19kHz >> PWM würde ich grob 50% schätzen > > Und vor allem negative Spannung. Merkwürdig. > >> Für eine konstante Drehzahlregelung ist der Motor mit einem Geber >> geregelt. > > Gut. > >> Das Signals ist am anderen Bild (siehe Anhang) zu erkennen. Der Motor > > Sieht anders aus. Das Original klingt langsam ab, deine PWM schaltet > hart, was eigentlich der Normalfall ist. Richtig, wie lässt sich so etwas realisieren? Das langsame abklingen kann aber doch nicht die Lösung sein, weshalb der Motor sich völlig anders verhält wie gewünscht? Die Drehzahl des Motors soll bereits 20upm sein. Nach dem ersten Getriebe beträgt die Drehzahl bereits 1 Umdrehung in 24h abzüglich meines Schneckengetriebes welches ca. 1/50 ist. > >> dreht sich jedoch geschätzt 10x schneller wie erwartet. Des Weiteren ist >> das Drehmoment des Motors sehr schwach. Bereits unter einem Tastgrad von >> 50% bleibt der Motor über meine Ansteuerung stehen. > > Merkwürdig. > >> Zu sehen ist auch, das sich das Signal etwas unterscheidet. Die >> Amplitude ist soweit fast gleich, jedoch ist die abfallende Flanke des >> PWM´s gedämpfter. > >> Ich wäre sehr dankbar, wenn mir jemand einen Rat geben kann, wie es >> möglich ist den Motor so anzusteuern, das dieser mit niedriger Drehzahl >> und hohem Drehmoment betrieben werden kann! > > Zeig mal deinen Schaltplan, Verdrahtung und Software. Dann reden wir > weiter. Schaltplan primitiv skizziert.
Christian S. schrieb: > Die Drehzahl des Motors soll bereits 20upm > sein. Nach dem ersten Getriebe beträgt die Drehzahl bereits 1 Umdrehung > in 24h abzüglich meines Schneckengetriebes welches ca. 1/50 ist. Sorry aber der Satz ist so (für mich) nicht verständlich. 1. Ist das richtig, dass du am Wellenausgang des Motors mit der eigenen Ansteuerung die 20fache Drehzahl misst wie mit der originalen Ansteuerung? 2. Bist du sicher, dass bei deinen Drehmomentversuchen die Spannung deiner Spannungsversorgung nicht einbricht wegen einer Strombegrenzung? 3. Versuche die Dinge zu prüfen die man dir rät: Matthias S. schrieb: > Miss mal am FLT Ausgang des DRV-Boards, ob da was auf High geht. Wenn > ja, schlägt entweder der Überstrom- oder der Temperaturschutz an. ... und zuletzt: Zitiere nur die Fragen auf die du antwortest, nicht ganze Romane. Dann kann man deine Antworten leichter zuordnen. ich finde das erste oszillogramm auch seltsam. Wenn man zu beiden Oszillogrammen noch die Ströme sehen könnte wäre das vieleicht ganz aufschlussreich.
Christian S. schrieb: >> Also drei Getriebe in Reihe? >>> Das Signals ist am anderen Bild (siehe Anhang) zu erkennen. Der Motor >> >> Sieht anders aus. Das Original klingt langsam ab, deine PWM schaltet >> hart, was eigentlich der Normalfall ist. > > Richtig, wie lässt sich so etwas realisieren? Erstmal sollte man fragen, warum das so ist und dann ob men es wirklich braucht. Dann vielleicht, wie man es praktisch realisiert. > Das langsame abklingen > kann aber doch nicht die Lösung sein, weshalb der Motor sich völlig > anders verhält wie gewünscht? Es ist ein Hinweis. > Die Drehzahl des Motors soll bereits 20upm > sein. So ein kleiner Motor ist bei 20 U/min sehr schwach. Ist das wirklich die Drehzahl des Motors oder eher des Getriebeausgangs am Motor? >Nach dem ersten Getriebe beträgt die Drehzahl bereits 1 Umdrehung > in 24h abzüglich meines Schneckengetriebes welches ca. 1/50 ist. Du redest wirr. >> Zeig mal deinen Schaltplan, Verdrahtung und Software. Dann reden wir >> weiter. > > Schaltplan primitiv skizziert. Mein Gott, was in aller Welt hindert dich daran, mal EINE MINUTE zu lesen und nachzudenken? "Wichtige Regeln - erst lesen, dann posten!" "Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang" Auch nicht als Screenshot im GIF Format! Und ein Bild so drehen, daß man es direkt lesen kann ist auch nicht zuviel verlangt, schließlich willst du was von uns! Die Kommentare in deinem Code sind beisweilen arg irreführend bis falsch. delay(10) macht 10ms Verzögerung, nicht 100. Aber das ist Nebenache. Die Initialisierung scheint OK zu sein. Dein Aufbau auch. Deine Messung aber nicht. Denn am Motor kann keine negative Spannung messbar sein. Ich vermute einen Meßfehler. Hast du die Masse am Tastkopf an Masse vom Motortreiber angeschlossen? Das Original sieht nach einem einfachen Ein-Quadrtantenbetrieb aus, sprich, eine Transistor + Freilaufdiode. Das reicht auch für dein Vorhaben, denn du willst ja nur in eine Richtung drehen. Das geht aber auch mit einem 2 Quadrantensteller, aka, Halbbrücke. Wenn dein Motor zu schnell läuft, ist das Tastverhältnis zu groß, logisch. Das kann man ändern. Aber zuerst musst du mal richtig messen, denn so ganz ergibt das noch keinen rechten Sinn.
> 1. Ist das richtig, dass du am Wellenausgang des Motors mit der eigenen > Ansteuerung die 20fache Drehzahl misst wie mit der originalen > Ansteuerung? Ja richtig, die beiden Bilder des Oszis zeigen einmal die originale Ansteuerung und meine eigene Ansteuerung. Bei meiner eigenen dreht die Motorwelle (zu sehen an der Rotation der Geberscheibe) um ein vielfaches schneller als bei der originalen. Zudem hat der Motor bei der originalen ein deutlich höheres Drehmoment und lässt sich kaum mit der Hand bremsen. >2. Bist du sicher, dass bei deinen Drehmomentversuchen die Spannung >deiner Spannungsversorgung nicht einbricht wegen einer Strombegrenzung? Ich nutze ein DIGIMESS SM5020 als Spannungsquelle dieses dürfte den notwendigen Strom locker liefern. Am DRV Board habe ich die Strombegrenzung von 1A durch Kurzschließen der Jumper BSn/ASen deaktiviert. >3. Miss mal am FLT Ausgang des DRV-Boards, ob da was auf High geht. Wenn > ja, schlägt entweder der Überstrom- oder der Temperaturschutz an. Am FLT Ausgang des DRV-Board messe ich bei unterschiedlichen Tastgraden 0,2-0,5V welches ständig schwankt.
Christian S. schrieb: > Am FLT Ausgang des DRV-Board messe ich bei unterschiedlichen Tastgraden > 0,2-0,5V welches ständig schwankt. Wie misst du denn? Ich vermute, du fängst dir bei der Messung viele Störungen ein. Außerdem ist das ein Open Collector Ausgang, der braucht noch einen externen Pull-Up Widerstand. Ohne den mißt man Fahrkarten.
:
Bearbeitet durch User
>Wie misst du denn? Ich vermute, du fängst dir bei der Messung viele >Störungen ein. Ich habe einfach zwischen FLT und GND mit dem Multimeter gemessen. >Das Original sieht nach einem einfachen Ein-Quadrtantenbetrieb aus, >sprich, eine Transistor + Freilaufdiode. Ich sollte evtl. diese Kombination mal probieren und das DRV8833 weg lassen. Die Variante mit der H-Brücke, war die erste die ich durch das Internet heraus finden konnte und mir recht simple erschien. Evtl. schleicht sich durch die H-Brücke ein Fehler ein. Ich kann gerne ein Bild der Platine von der originalen Steuerung hochladen. Diese sieht jedoch sehr kompliziert aus. Zumindest für mich, da ich wirklich kein Experte auf diesem Gebiet bin, deshalb freue mich umso mehr, wenn ich hierfür Unterstützung bekomme. Ich kann leider die Platine nicht komplett ausbauen, da diese teilweiße geklebt ist, bitte entschuldigt somit die nicht perfekte Abbildung.
Christian S. schrieb: >>Wie misst du denn? Ich vermute, du fängst dir bei der Messung viele >>Störungen ein. > > Ich habe einfach zwischen FLT und GND mit dem Multimeter gemessen. Gut, aber den Pull-Up brauchst du trotzdem. >>Das Original sieht nach einem einfachen Ein-Quadrtantenbetrieb aus, >>sprich, eine Transistor + Freilaufdiode. > > Ich sollte evtl. diese Kombination mal probieren und das DRV8833 weg > lassen. Nicht unbedingt. > Die Variante mit der H-Brücke, war die erste die ich durch das > Internet heraus finden konnte und mir recht simple erschien. Ist sie auch. Der IC funktioniert schon. Der Fehler steckt woanders. > Evtl. > schleicht sich durch die H-Brücke ein Fehler ein. Möglich, aber eher unwahrscheinlich. > Ich kann gerne ein > Bild der Platine von der originalen Steuerung hochladen. Diese sieht > jedoch sehr kompliziert aus. Zumindest für mich, da ich wirklich kein Naja, dort ist ein kleiner Mikrocontroller von STM drauf, ein Schaltregler und bissel Gemüse. Auf deinem Schaltplan sind der Treiber und der Arduini jeweils geerdet. Wie sieht der Aufbau real aus? Die masseverbindung sollte vom Arduino direkt zum Treiber an GND laufen. Nicht jeweils vom Treiber über X m Kabel zu PE an der Steckdose oder am Schaltnetzteil und dann über X m wieder zurück zum Arduino. Ein Bild sagt mehr als 1000 Worte.
Christian S. schrieb: > Ich nutze ein DIGIMESS SM5020 als Spannungsquelle dieses dürfte den > notwendigen Strom locker liefern. Kommt auf die Stromeinstellung an, und der Treiber kann auch noch begrenzen. Konjunktiv (dürfte) nützt hier nichts. Messen ist angesagt, aber richtig messen. Sprich am Motor direkt, einmal unbelastet und einmal so belastet: Christian S. schrieb: > Wenn ich > leicht an die Scheibe des Inkrementalen Sensors komme hört er auf sich > zu drehen. Das Drehmoment ist proportional zum Strom. Wenn also Drehmoment fehlt, dann fliesst entsprechend weniger Strom.
SLP ist auf high und die Erdung ist auch direkt auf dem Board kurz gehalten. Hier ein Bild.
Ich würde da ganz im Sinne von "teile-und-herrsche" zum Test einfach mal das einstellbare Netzteil auf 0V drehen, dann den Motor anschließen, die Spanung langsam hochdrehen und beobachten, was passiert: Was macht der Strom? Bei welcher Spannung sind die gewünschten 20U/min erreicht? Hat der Motor damit dann das erwartete Drehmoment? Wenn ich das weiß, weiß ich, was der Motor braucht. Und dann kann ich recht einfach ausrechnen, was ich ihm geben muss.
:
Bearbeitet durch Moderator
Lothar M. schrieb: > ch würde da ganz im Sinne von "teile-und-herrsche" zum Test einfach mal > das einstellbare Netzteil auf 0V drehen, dann den Motor anschließen, die > Spanung langsam hochdrehen und beobachten, was passiert: > Was macht der Strom? Aber bitte mit der Belastung (festhalten)!
Hier die Ergebnisse verschiedenen Strommessungen. - Strommessung originale Platine unbelastet: Strom schwankt sehr stark von 10-50mA - Strommessung originale Platine belastet (festhalten der Welle bis zum Stillstand des Motors): Strom steigt kontinuierlich bis 300mA bis Motor stehen bleibt Strommessung eigene Ansteuerung unbelastet: Strom steigt konstant bis max 50mA mit zunehmender Drehzahl an; durch 1) Spannung an Spannungsversorgung von 0V-5V erhöht 2) Tastgrad von 50% auf 100% erhöht Strommessung eigene Ansteuerung belastet: Bei konstanter Spannung 4V und 100% Tastgrad steigt der Strom bis zum Motorstillstand auf 300mA an. Motorwelle wird bis zum Stillstand langsam blockiert. Tastgrad von 50% und konstanter Spannung von 4V ist nur ein Anstieg des Stromes von 30mA -> 80 mA zu erkennen. Folge kaum Drehmoment. Somit lässt sich daraus schließen, das der Motor bei der originalen Platine trotz PWM bei Belastung sein maximales Drehmoment erreicht. Fraglich ist warum? Und wie wird die niedrige Drehzahl erreicht?
Christian S. schrieb: > Somit lässt sich daraus schließen, das der Motor bei der originalen > Platine trotz PWM bei Belastung sein maximales Drehmoment erreicht. > Fraglich ist warum? Wahrscheinlich weil eine Regelung implementiert ist, die die Istdrehzahl erfasst und bis zu 100% PWM nachregelt. Der Anschluss des Motors hat ja einige Kontakte mehr für einen Drehzahlsensor.
:
Bearbeitet durch User
Nimm erst mal vernünftige Zuleitungen für die DC-Versorgung und Motor. Diese billigen Breadboard-Kabel taugen gerade noch für Signale aber nicht für höhere Ströme. Mit diesen Leitungen, und den Übergangswiderständen am Breadboard, wirst du einigen Spannungsabfall haben.
Udo S. schrieb: >Wahrscheinlich weil eine Regelung implementiert ist, die die Istdrehzahl erfasst und bis zu 100% PWM nachregelt. Falk B. schrieb: >Wo? Ergebnisse sind in meinem Beitrag enthalten! >Und wie gemessen? Multimeter in Reihe.
Ich denke, der Udo hat es auf den Punkt gebracht. Du musst die Drehzahl messen und regeln.
Der originale Motor besitzt einen inkrementellen Sensor womit dieser geregelt wird. Dies wäre mein nächster Schritt, den Motor mit einer Regelung in Betrieb zu nehmen. Jedoch dachte ich, dass ich es bereits schaffe den Motor mit langsamer Geschwindigkeit und maximalem Drehmoment analog zum "Original" zu drehen. Die Regelung wird in erster Linie benötigt, um aufgrund unterschiedlichem Lastverhalts eine konstante Drehzahl zu generieren, um somit ein Aufschwingen des Antriebssystems zu vermeiden. Hintergrund, am "Ende" befindet sich eine Kamera. Es wird quasi eine Kameranachführung. Deshalb auch die niedrige Drehzahl die benötigt wird.
Christian S. schrieb: > Der originale Motor besitzt einen inkrementellen Sensor womit dieser > geregelt wird. Dies wäre mein nächster Schritt, den Motor mit einer > Regelung in Betrieb zu nehmen. Dann tu das. > Jedoch dachte ich, dass ich es bereits > schaffe den Motor mit langsamer Geschwindigkeit und maximalem Drehmoment > analog zum "Original" zu drehen. Irrtum. Schon gar nicht, wenn dein Motor selber bei so niedrigen Drehzahlen dreht.
Ich habe auch gerade mal an der originalen Platine den Geber deaktiviert und die 4 Adern des Gebers am Stecker ausgeklemmt. Und tatsächlich dreht sich der Motor mit der gleichen Geschwindigkeit, die auch ich mit meiner Steuerung erreicht habe. Dann wird das nur mit der Regelung des Motors erreicht. Habt ihr bereits einen Rat wie ich das am besten regeln kann, um das gewollte Ergebnis zu erhalten? Ich werde mich bezüglich der Regelung erst intensiv einarbeiten müssen, aber vielleicht hat jemand bereits vorab einen groben Ansatz im Hinterkopf.
Christian S. schrieb: > Habt ihr bereits einen Rat wie ich das am besten regeln kann, um das > gewollte Ergebnis zu erhalten? Ich werde mich bezüglich der Regelung > erst intensiv einarbeiten müssen, aber vielleicht hat jemand bereits > vorab einen groben Ansatz im Hinterkopf. Ganz einfach. Die Drehzahl messen und entsprechend die PWM regeln. Wobei man bei so langsamen Drehzahlen eher die Periodendauer einer Umdrehung mißt, das geht deutlich schneller und genauer. Wieviele Pulse macht denn dein Geber / Umdrehung?
Beitrag #6512719 wurde von einem Moderator gelöscht.
Christian S. schrieb: > Habt ihr bereits einen Rat wie ich das am besten regeln kann, um das > gewollte Ergebnis zu erhalten? Du sollst den Motor und seine Betriebsdaten ausmessen. Was hast du an diesem Rat nicht verstanden? Denn nur, wenn man weiß, WAS man regeln will, kann man überlegen, WELCHES Stellglied man nimmt und WIE man das regelt. Falk B. schrieb: > Ganz einfach. Dazu muss man aber trotzdem ein wenig Ahnung von der Materie haben. Dieses blinde Drauflosgefrickel wird nicht funktionieren. @Christian S. (christian_s199): Du musst erst mal herausfinden, warum deine Endstufe in keinem Betriebsbereich (du hast das Poti ja mal von ganz oben bis ganz unten druchgedreht...) das tut, was die andere wenigstens dann tut, wenn sie nachgeregelt wird. Christian S. schrieb: > Und tatsächlich dreht sich der Motor mit der gleichen Geschwindigkeit, > die auch ich mit meiner Steuerung erreicht habe. Und du kannst den Motor dann wie bei deiner Elektronik auch einfach so anhalten? Oder hat der in diesem Betriebszustand an dieser Originalelektronik deutlich mehr Moment?
:
Bearbeitet durch Moderator
Die Frage nach dem "wie" ist trotzdem berechtigt. Die naheliegende Idee ist die Drehzahl zu regeln. Da er aber anscheinend eine Kamera-Nachführung baut, die sich in einem Tag genau einmal drehen soll, wäre ein guter Ansatz einen übergeordneten Regelkreis zu programmieren, der die Geschwindigkeit je nach Anzahl der Umdrehungen soll/ist anpasst, so dass am Ende des Tages genau die Anzahl Motorumdrehungen rauskommt, die eine Umdrehung am Ausgang des letzten Getriebes ergeben.
Udo S. schrieb: > wäre ein guter Ansatz einen übergeordneten Regelkreis zu programmieren Ja, jetzt wirds spannend. Udo S. schrieb: > Die naheliegende Idee ist die Drehzahl zu regeln. Das klappt hier tatsächlich nicht, denn das soll ja eine "Uhr" sein, die pro Tag eine ganz bestimmte Anzahl "Geberschritte" machen soll. Ich würde da mit einem Zähler als Sollwert vorgeben, wieviele "Impulse" seit Tagesbeginn vergangen sind und dann die Impulse vom Geber als Istwert auf diesen Sollwert nachführen. Dazu muss man zuallererst das Gebersignal ohne Verluste und Unterbrechungen einlesen. Das wäre jetzt die nächste Aufgabe...
Wenn die Kamera nicht auf Jahre hinaus dem 24h-Rhythmus folgen muss, dann könnte es auch eine Steuerung mit Auswertung der Tachospannung des Motors machen. Der Vorteil wäre, daß man keinen Istwertgeber bräuchte.
Dr. Heinz Doofenshmirtz schrieb: > Wenn die Kamera nicht auf Jahre hinaus dem 24h-Rhythmus folgen muss, > dann könnte es auch eine Steuerung mit Auswertung der Tachospannung des > Motors machen. Wozu? Die Industrie hat nicht umsonst Drehgeber erfunden, u.a. weil die auch bei sehr kleinen Drehzahlen sehr gute Signale liefern, im gegensatz zu Tachogeneratoren. > Der Vorteil wäre, daß man keinen Istwertgeber bräuchte. Den gibt es aber schon! Also kann und sollte man ihn nutzen und nicht aus hirnrissigen, ideologischen Gründen ingnorieren!
Tu dir einen gefallen und verteile die Stromversorgung nicht durch das Steckbrett. Dessen Kontakte haben zu hohe Übergangswiderstände, die taugen meist nur für ganz kleine Ströme unter 100mA.
Falk B. schrieb: >Wieviele Pulse macht denn >dein Geber / Umdrehung? Ich möchte einen 12CPR Encoder einsetzen. Der Encoder am Original ist ein inkrementaler Encoder mit jedoch ca. 100 Schritten. Leider habe ich diesen im Internet nicht finden können sondern nur einen 12CPR. Lothar M. schrieb: >Oder hat der in diesem Betriebszustand an dieser >Originalelektronik deutlich mehr Moment? Bei abgeklemmten Geber an der Originalelektronik wird der Motor mit einem Tastgrad von 100% betrieben und hat dadurch das gleiche Drehmoment, wie wenn ich die Motor einfach direkt an 4V anschließe bzw. bei meiner Ansteuerung einfach auf 100% Pulse. Jedoch ist das Drehmoment bei der Originalelektronik mit aktiviertem Geber und der langsamen Drehzahl genauso hoch wie bei einem Tastgrad von 100% und einer sehr hohen Drehzahl. Hingegen wenn ich bei meiner Ansteuerung den Motor versuche zu pulsen, um damit die Drehzahl zu regeln, bleibt er bereits bei <50% Tastgrad stehen, da sein Drehmoment immer weniger wird. Bei 50% ruckelt er nur noch ganz leicht. >Das klappt hier tatsächlich nicht, denn das soll ja eine "Uhr" sein, die >pro Tag eine ganz bestimmte Anzahl "Geberschritte" machen soll. Genau, das der Motor wie eine analoge "Uhr" drehen soll ist ein guter Vergleich. Natürlich müssen noch die beiden zusätzlichen Übersetzungen einbezogen werden. Stefan schrieb: >Tu dir einen gefallen und verteile die Stromversorgung nicht durch das >Steckbrett. Danke ich werde nun bei der Verdrahtung möglichst auf das Steckbrett und dem Verdrahtungssatz verzichten und auf eine hochwertigere Verdrahtung zurück greifen.
Christian S. schrieb: > Ich möchte einen 12CPR Encoder einsetzen. Sollte reichen, dein Motor dreht zwar sehr langsam, hat aber eine riesige Übersetzung. >>Oder hat der in diesem Betriebszustand an dieser >>Originalelektronik deutlich mehr Moment? > > Bei abgeklemmten Geber an der Originalelektronik wird der Motor mit > einem Tastgrad von 100% betrieben und hat dadurch das gleiche > Drehmoment, wie wenn ich die Motor einfach direkt an 4V anschließe bzw. > bei meiner Ansteuerung einfach auf 100% Pulse. Logisch. Die Regelung sieht keine Pulse, "denkt" also, der Motor steht und gibt VOllgas. > Jedoch ist das Drehmoment > bei der Originalelektronik mit aktiviertem Geber und der langsamen > Drehzahl genauso hoch wie bei einem Tastgrad von 100% und einer sehr > hohen Drehzahl. Das macht die Regelung, die gibt Gas sobald die Drehzal durch Belastung abfällt. Das macht ein PI-Regler. https://de.wikipedia.org/wiki/Regler#PI-Regler Der Vorschlag von Udo ist gut, man sollte nicht einfach die Drehzahl reglen sondern die Anzahl der Umdrehungen. Sozusagen ein Servo mit endloser Drehung. D.h. man braucht einen Sollwertgenerator, das ist ein Zähler in deiner Software, der vorgibt, wieviel Schritte dein Motor in welcher Zeit macht. Den erstellt man mittels einers Timer-Interrupts. Die Auswertung deines Gebers zält die real gemachten Schritte. Beide Werte (Soll / Ist) werden verglichen und damit der Regler gefüttert. Damit hat man eine phasenrichtige Regelung, welche keinerlei Fehler akkumuliert. Die Genauigkeit deiner Drehung des Motors hängt dann nur von der Genauigkeit der Zeitbasis deines Controllers ab. Wenn du den mit einer Atomuhr takten würdest, wäre deine Motordrehung auch atomuhrgenau. Hier gibt es eines der klassischen Referenzprojekte zum Thema vom Meister chan. http://elm-chan.org/works/smc/report_e.html
Falk B: Vielen dank für deinen Vorschlag für die Regelung. Ich werde mich hierzu jetzt erst einarbeiten, bevor ich weitere Fragen zur Regelung stelle. Was ich aber noch nicht ganz verstanden habe, weshalb der Motor mit meiner Ansteuerung und einem abnehmendem Tastgrad ein immer kleiner werdendes Drehmoment hat und bei 50% bereits stehen bleibt. Wodurch wird bei der Regelung erreicht, dass der Motor im unteren Drehzahlbereich trotzdem sein maximales Drehmoment hat? Und bezüglich des Drehzahlverhaltens ist mir noch nicht ganz schlüssig, warum bei dem Original und meiner Ansteuerung trotz des annähernd gleichen Signals am Oszi der Motor um das X-Fache schneller dreht. Amplitude ist gleich und die Frequenz mit 19kHz auch. Der Tastgrad ist auch bei beiden Varianten ca. 50%, nur die fallende Flanke am PWM ist bei der originalen Variante etwas gedämpfter.
Christian S. schrieb: > Was ich aber noch nicht ganz verstanden habe, weshalb der Motor mit > meiner Ansteuerung und einem abnehmendem Tastgrad ein immer kleiner > werdendes Drehmoment hat und bei 50% bereits stehen bleibt. Weil die Verluste des Getriebes so hoch sind. > Wodurch wird > bei der Regelung erreicht, dass der Motor im unteren Drehzahlbereich > trotzdem sein maximales Drehmoment hat? Eben durch die Regelung. Der Regler steuert den Motor immer gerade so stark an, daß er eben NICHT stehen bleibt. Damit werden auch die unterschiedlichen Belastungen (Festhalten) kompensiert. > Und bezüglich des Drehzahlverhaltens ist mir noch nicht ganz schlüssig, > warum bei dem Original und meiner Ansteuerung trotz des annähernd > gleichen Signals am Oszi der Motor um das X-Fache schneller dreht. Ertmal musst du richtig messen. Siehe mein Beitrag. > Amplitude ist gleich und die Frequenz mit 19kHz auch. Der Tastgrad ist > auch bei beiden Varianten ca. 50%, Niemals! https://www.mikrocontroller.net/attachment/484726/Signal_Ziel.jpg Das sind ca. 20% Tastverhältnis. > nur die fallende Flanke am PWM ist > bei der originalen Variante etwas gedämpfter. Nicht gedämpfter, eher merkwürdig. Eine PWM an einem Motor sieht eigentlich nie so aus, schon gar nicht bei 19kHz. Da muss man nochmal genau messen und nachdenken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.