Hallo! Ich möchte in meinem Programm 4 Servos ansteuern. Alles schon fertig programmiert und mit den Standard-SG90 Servos probiert - funktioniert. Nun habe ich die eigentlichen Servos, die ich verwenden werde, gegen die SG90 ausgetauscht und nichts tut sich. Die neuen Servos sind die Savöx SV-1270TG https://www.savox-shop.com/de/savoex-sv-1270tg-servo.html Natürlich ist die Stromversorgung anders als bei den SG90. Ich verwende nun dafür eine externe 7.4VDC Stromquelle (Netzteil schafft max. 20A). Bei den Servos tut sich einfach nichts - sie zucken ein bisschen und zufällig verändern sie hin und wieder so um 40° die Richtung hin und her. Alles extrem komisch. Ich dachte Servos sind alle gleich zum Ansteuern. Ich habe nun diesen Test-Code "Signalerzeugung für 1 Servo (c)" von https://www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung genommen, wo ganz simpel ein Signal erzeugt wird. Auf dem SG90 funktioniert es - auf dem Savöx nicht. Hat wer eine Idee? Der zuckt einfach ganz leicht herum und nimmt gar kein Signal an. Habe auch schon die Werte vom Test-Code leicht geändert - nichts... Habe alle 4 Servos getestet - immer das gleiche Ergebnis. Ich hoffe mir kann wer helfen!
:
Bearbeitet durch User
Christoph K. schrieb: > Bei den Servos tut sich einfach nichts Anstatt über die Servos zu schimpfen solltest du mindestens dein Programm oder ein Messprotokoll des Signals zeigen. Denn dort wirst du ja wohl auch etwas anpassen wollen, oder nicht? Falls nicht, tausche die Servos um.
>Nun habe ich die eigentlichen Servos, die ich verwenden werde, gegen die >SG90 ausgetauscht und nichts tut sich. Dann frage den Verkäufer doch mal, was konkret die mit "Ansteuerung: Digital" so meinen.
Christoph K. schrieb: > Ich hoffe mir kann wer helfen! SG90 - Standardservo (PPM) Savoex - Digitalservo Das sind grundverschiedene Ansteuerungen! Googlen musst du selbst...
Vielleicht findest Du da einen Hinweis: https://www.roboternetz.de/community/threads/70923-Wie-sieht-der-optimale-Signalgang-für-einen-Digitalservo-aus-(Servo-singt-bei-Last)
npn schrieb: > Das sind grundverschiedene Ansteuerungen! Aha... Das üblich PPM-Signal nehmen beide, wobei in der Regel die digitalen Servos viel anspruchsloser bei der Framerate sind als die analogen. Du kannst die Framerate ja mal verkürzen, und schauen, ob es dann besser wird. Oliver
Oliver S. (oliverso) >npn schrieb: >> Das sind grundverschiedene Ansteuerungen! >Aha... >Das üblich PPM-Signal nehmen beide, wobei in der Regel die digitalen Sollten. Also in Anbetracht der Tatsache, daß PPM in Modellbaukreisen als analoges Protokoll betrachtet wird, muß eine digitale Ansteuerung (Protokoll), welche beim Anbieter proklamiert wird, ja was anderes sein. Vielleicht SBus?
Das Protokoll muss nicht anders sein, intern kann auch etwas digitaler sein und dann ist das wieder nur Marketing. Ist der Signalpegel vielleicht zu gering, 3,3 V Controller? Oder Störungen über die Masseleitung?
Oliver S. schrieb: > Das üblich PPM-Signal nehmen beide, wobei in der Regel die digitalen > Servos viel anspruchsloser bei der Framerate sind als die analogen. Ob die PPM-Signale mit 20 oder mit 100Hz kommen, ist bei den meisten analogen völlig egal. Guck dir mal das Funktionsprinzip der Analogelektronik in so einem Servo an.
npn schrieb: > Christoph K. schrieb: >> Ich hoffe mir kann wer helfen! > > SG90 - Standardservo (PPM) > Savoex - Digitalservo > > Das sind grundverschiedene Ansteuerungen! > > Googlen musst du selbst... Das ist Quatsch, die Ansteuerung ist (normalerweise) identisch, die interne Signalverarbeitung ist unterschiedlich. Aus meinen persönlichen Erfahrungen sind Digitalservos sogar deutlich "gutmütiger", sie halten z.B. die Position im Gegensatz zum Analogservo, wenn die Ansteueung aussetzt oder die Steuerimpulse nur sporadisch kommen. Idee an den TE: Ändere doch mal die Impuls-Polarität, d.h. negiere das Signal. Es soll Servos geben, die das so brauchen ... Für den Roboterbau gibts übrigens auch Servos mit RS232-Ansteuerung.
:
Bearbeitet durch User
Johannes S. schrieb: > Ist der Signalpegel vielleicht zu gering, 3,3 V Controller? Genau das wäre jetzt auch meine erste Vermutung. Zumal der Threadstarter den Servo ja mit 7,4V betreibt.
3,3V reichen normalerweise. Ich habe noch keinen Servo gesehen, bei dem das nicht der Fall war.
Hi, danke für die ersten Antworten! Ich verwende einen ATmega8A-PU und betreibe ihn mit 5V (mit einem ELEGO-Controller für Mikrocontroller). Wie ich schon gesagt habe, die Savöx Servos sind extern mit 7.4V versorgt. Frank E. schrieb: > Idee an den TE: Ändere doch mal die Impuls-Polarität, d.h. negiere das > Signal. Es soll Servos geben, die das so brauchen ... -> habe ich probiert. Der Servo bewegt sich / zittert gleich komisch. Hier der Test-Code (normales Signal, nicht invertiert)
1 | #define F_CPU 8000000UL
|
2 | |
3 | #include <avr/io.h> |
4 | #include <util/delay.h> |
5 | |
6 | int main (void) |
7 | {
|
8 | DDRB = (1<<PB1); |
9 | |
10 | while( 1 ) |
11 | {
|
12 | PORTB |= (1<<PB1); |
13 | _delay_us( 1500 ); // in den 1500 steckt die Lageinformation |
14 | PORTB &= ~(1<<PB1); |
15 | |
16 | _delay_ms( 18 ); // ist nicht kritisch |
17 | }
|
18 | |
19 | return 0; |
20 | }
|
Wie gesagt, irgendwas für ein Signal kommt schon an am Savöx, weil er zittert ja leicht und bewegt sich willkürlich hin und her. Hilft ein Video? Wenn ich das Signalkabel abstecke ist er ruhig.
:
Bearbeitet durch User
Christoph K. schrieb: > Wie gesagt, irgendwas für ein Signal kommt schon an am Savöx, weil er > zittert ja leicht und bewegt sich willkürlich hin und her. Hilft ein > Video? Ein Video von einemm zitternden Servo? Nicht wirklich. > Wenn ich das Signalkabel abstecke ist er ruhig. Sollte immer so sein. Wie sieht dein Schaltplan aus?
Signal-Masse nicht verbunden? Am Besten den Schaltplan schicken,.gern auch als abfotografierte Handskizze. Laeuft denn der SG90 noch nach dem Umbau auf externe Versorgung?
Maxe schrieb: > Signal-Masse nicht verbunden? Das ist das Stichwort. Wahrscheinlich hat der TO die Massen von der Stromversorgung der Servos und von seiner Ansteuerung nicht verbunden. Mit einem Verdrahtungsplan würde man das gleich sehen, aber der fehlt ja mal wieder.
:
Bearbeitet durch User
Hi, hier der Aufbau. Ich hoffe man erkennt es so halbwegs. (Die anderen vielen Kabel, die in die Wago-Klemmen kommen, sind die anderen 3 Servos). Spannung vom Netzteil habe ich geprüft/eingestellt - 7.4V Den SG90 muss ich ja über 5V laufen. Aber dieser funktioniert einwandfrei dann.
:
Bearbeitet durch User
Lustig :) Die Erfindung der echten Ein-Draht-Steuerung. Leider fehlgeschlagen 8(( Blackbird
Scheint eindeutig: Massen vom Servo(-Netzteil) und µC nicht verbunden. Ich sehe die Verbindung in dem Tohuwabohu jedenfalls nicht.
Wow danke euch! Ich bin nicht der beste Elektroniker und nicht der beste Programmierer.. Habe jetzt die Massen verbunden und es funktioniert. Kann mir einer ganz einfach erklären, wieso das nötig ist? Komme nicht wirklich drauf. Wird aber kaum Strom durch diese Verbindung fließen oder?
:
Bearbeitet durch User
Christoph K. schrieb: > Kann mir einer ganz einfach erklären, wieso das nötig ist? Weil man immer ein Beyugspotential braucht. Masse bietet sich da halt an. Oder frag deinen Phzsik-Lehrmench (ca. 7.Klasse, oder sogar Grundschule HSU)
Christoph K. schrieb: > Kann mir einer ganz einfach erklären, wieso das nötig ist? > Komme nicht wirklich drauf. > Wird aber kaum Strom durch diese Verbindung fließen oder? Stromkreis. Die Betonung liegt auf -kreis! Wie viel Stom fließt, ist dem Stromkreis erst mal egal. Blackbird
:
Bearbeitet durch User
Der Strom der durch das Signalkabel fließt muss ja auch wieder zurück. Stromkreis und so. Der Strom entspricht damit dem des Servosignals.
Ja danke für die Erklärungen! Macht schon Sinn (natürlich). War mir nicht so bewusst - man lernt jeden Tag. Anderes Thema (evtl. neuen Beitrag eröffnen?): Beim Einschalten fährt der Savöx direkt in die gewünschte Position - so soll es sein. Wenn ich aber alle Stromversorgungen abdrehe (Stromausfall), verändert der Servo noch seine Position (um so 30-40°, weil wahrscheinlich das PPM-Signal zusammenbricht), was in meinem Fall nervig ist. Beim Abdrehen soll der Servo in der Position stehen bleiben. Gibt es eine hardware- oder softwareseitige Abhilfe?
Christoph K. schrieb: > Wow danke euch! > Ich bin nicht der beste Elektroniker und nicht der beste Programmierer.. > Habe jetzt die Massen verbunden und es funktioniert. > > Kann mir einer ganz einfach erklären, wieso das nötig ist? > Komme nicht wirklich drauf. Weil Du mit nur einem Draht keine Spannung übertragen kannst. Spannung setzt voraus, dass zwei Punkte vorhanden sind, "zwischen" denen sie vorliegt. Du hast aber vom Mikrocontroller aus nur eine Verbdindung hergestellt. Der Servo hat daher zwischen seinen beiden_ Steueranschlüssen keine definierte Spannung gehabt. Es ist zwar richtig, dass Du mit einem Kabel alleine ein Potential übertragen kannst. Aber Spannung ist der Unterschied zwischen zwei Potentialen. Mit "definiert" ist hier gemeint, dass die Spannung durch die Schaltung die diese Spannung steuert, für bestimmte Zeiträume (einigermaßen) konstant und genau ist. > Wird aber kaum Strom durch diese Verbindung fließen oder? Das gleich wäre mit einer Glühlampe passiert. Wenn Du nur eine Leitung anschliesst, leuchtet sie nicht. Nun, scheint Dir das evtl. aus dem Physikunterricht offensichtlich, weil dort Strom fliessen soll. Der Servo wird zumindest bei den gewollten Spannungsänderungen (von 5V auf 0V oder was auch immer) kurzzeitig Strom ziehen, falls die Eingänge FETs sind. Das Gate wirkt nämlich gegenüber dem Rest des FETs wie ein kleiner Kondensator. Falls aber die Eingänge die Basis bipolarer Transistoren sind, dann muss dort bei Spannungen über dem Schwellwert immer ein geringer aber doch merklich großer Strom fliessen (je nach Transistor etwa 1mA - nur so als Hausnummer - kann auch deutlich weniger oder mehr sein). Es gibt tatsächlich Fälle, in denen eine Spannung ohne Strom auch zur Steuerung verwendet werden kann. Aber die sind eher exotisch in der "normalen" Elektronik.
Christoph K. schrieb: > Wow danke euch! > Ich bin nicht der beste Elektroniker und nicht der beste Programmierer.. > Habe jetzt die Massen verbunden und es funktioniert. > > Kann mir einer ganz einfach erklären, wieso das nötig ist? > Komme nicht wirklich drauf. > Wird aber kaum Strom durch diese Verbindung fließen oder? Zum Glück hast die die 230V mit Tesa abgedeckt.
STK500-Besitzer schrieb: > Pull-Down-Widerstand an dei Signalleitung. Funktioniert nicht. (Habe 10kOhm von der Signalleitung an die Masse verbunden.)
Christoph K. schrieb: > Hier der Test-Code ( Sehr schön, auf ein Minimum reduziert, ohne Schnickschnack. Finde ich gut. Christoph K. schrieb: > Kann mir einer ganz einfach erklären, wieso das nötig ist? Weil Strom in einem Kreislauf fließen muss. Wenn der Kreislauf unterbrochen, fließt kein Strom.
Christoph K. schrieb: > STK500-Besitzer schrieb: >> Pull-Down-Widerstand an dei Signalleitung. > > Funktioniert nicht. > (Habe 10kOhm von der Signalleitung an die Masse verbunden.) Dann muss dein Controller länger als dein Servo mit Strom versorgt werden.
Ein Wunder, daß nichts Schaden genommen hat. Der Strom durch die Y-Kondensatoren reicht gerne mal aus um so einen Servo oder den AVR zu zerballern.
Eventuell hilft hier die Brown-Out Fuse, damit der Mikrocontroller gestoppt wird, wenn die Spannung einen gewissen Wert unterschreitet.
noch einen Taster an den µC anschliessen um den Puls abschaltbar zu machen. Als Test kann man dann erst den Puls abschalten und dann die Versorgung abklemmen. Stefan ⛄ F. schrieb: > Sehr schön, auf ein Minimum reduziert, ohne Schnickschnack. Finde ich > gut. na ja, war der Code wie schon im Eingangspost genannt.
Johannes S. schrieb: > na ja, war der Code wie schon im Eingangspost genannt. Ich war davon ausgegangen, dass du von dort abgeguckt hast, aber es wie üblich an deine Bedürfnisse angepasst hast. Das ist fast immer so, wenn jemand auf andere Webseiten verweist, wo der Code angeblich zu sehen ist. Wir sind ein bisschen von den Leuten gebrandmarkt, die nicht imstande sind, ihr Setup ordentlich zu beschreiben. Deswegen fragen wir oft nach Sachen, die ziemlich doof klingen. Wobei das mit der fehlenden GND Verbindung ist .... Gut, dass der ein oder andere auch an die doofen Fälle denkt und sich traut, danach zu fragen.
Servos mögen es gar nicht, wenn die Steuerpulse über längere Zeit (mehrere Synchronzeiten) ausfallen und sie mögen es auch nicht, wenn die Stromversorgung "wackelt". Beides zusammen, wie es beim Abschalten vorkommen kann, erst recht nicht. Das war das Horrorszenario jedes Modellpiloten! Da musst Du schon selber irgendwie Abhilfe schaffen, dass so etwas nicht vorkommt. Blackbird
Ist auf dem Servo noch eine mechanische Last, wenn er abgeschaltet wird? Genauer: Wirkt auf die Servorachse noch ein Drehmoment? Soweit mir bekannt ist, blockieren die üblichen Servos mechanisch nicht, falls sie keine Stromversorgung mehr haben. Mal abgesehen von den anderen schon genannten Faktoren.
In meiner Anwendung ist es ok, wenn die Servos auf ihre Position fahren und dann dort stehen bleiben und abgedreht werden - es liegt keine Kraft dann mehr auf den Servos. Ich habe nun diesen Code genommen, um mehrere Servos anzusteuern: https://www.mikrocontroller.net/articles/Modellbauservo_Ansteuerung "Signalerzeugung für mehrere Servos mittels Timer (c)" (Ich denke es macht hier jetzt keinen Sinn meinen Code hier zu posten, weil da zu viel anderes Zeug drinnen steht - für diese Frage zumindest) Alles funktioniert aber ich schaffe nicht die einzelnen Servos abzudrehen (also das PPM-Signal zu stoppen) Weiß dazu wer einen Befehl? Also mit
1 | ServoValue[0] = CENTER; |
fahre ich ihn in die Mitte. 1 Sekunde danach soll er auf dem Pin einfach kein Signal mehr ausspucken, bis ich ihn wieder ansteuere. Dann wäre das Problem auch weg mit dem Verstellen der Position während dem Abschalten. Danke!
:
Bearbeitet durch User
Christoph K. schrieb: > Alles funktioniert aber ich schaffe nicht die einzelnen Servos > abzudrehen (also das PPM-Signal zu stoppen) Wo ist das Problem? Es gibt so viele Möglichkeiten, mindestens eine davon sollte für sich leicht umzusetzen sein: - Die Brown-Out Fuses benutzen, um Spannungsabfall zu erkennen - Den Mikrocontroller in einen Schlafzustand (sleep) versetzen - Den Timer anhalten - Interrupts sperren - Die ISR umprogrammieren, so dass sie auf ein spezielle "Stop"-Flag reagiert. Fehlen Dir Grundlagen der Programmiersprache? Dann wäre das hier eine gute Gelegenheit, es zu lernen. Ich kann Dir ein Tutorial empfehlen, falls du magst. Die mir bekannten Servos schalten sich ab (halten nicht mehr gegen äußere Kräfte), wenn das PPM Signal ausfällt. Es gibt angeblich auch spezielle Servos, die dann die letzte Position halten oder eine bestimmte Position anfahren.
Christoph K. schrieb: > 1 Sekunde danach soll er auf dem Pin einfach kein Signal mehr > ausspucken, bis ich ihn wieder ansteuere. Das ist aber nicht die Art, wie man Modellbauservos ansteuert. Die bekommen immer ein Signal, bekommen sie keins ist erst mal undefiniert wie sie sich verhalten. Oder steht dazu irgendwas anderes in der Doku zu deinen Servos? Ich sehe auch keinen Grund warum du ihnen kein Signal geben willst. Sollen sie stehen bleiben, dann bekommen sie ein Signal konstanter Pulsbreite. Nachtrag: Wenn es darum geht, dass sie beim Ausschalten von allem nicht verfahren, dann wurde dir die Lösung schon genannt. Sorge dafür dass die Steuerung etwas länger Strom hat als die Servoversorgung.
:
Bearbeitet durch User
Ich bin Hobbybastler was Elektronikzeugs und Programmieren angeht. Ich muss kein Profi sein; ich kann andere Dinge. AVR ist für mich ein relativ großes und schwieriges Unterfangen. Deswegen frage ich hier im Forum andere Leute, die mir (schneller) helfen können. Die Brown-Out-Fuse hat ganz super funktioniert. Nicht zu 100% perfekt aber mehr so 95% verändert sich nun die Position nicht mehr beim Abschalten. Ich hab zum Beispiel noch nie was von der gehört und musste mich grad etwas einlesen. Danke für den Tipp.
Einem PCA9685 kann man die Pulserzeugung auch überlassen, der macht das für bis zu 16 Kanäle schon jitterfrei.
Möchte trotzdem die Servos abdrehen (nach 1 Sekunde oder was auch immer). Weil sie machen schon minimal Lärm, vor allem wenn auch nur minimal Kraft anliegt. Stefan ⛄ F. schrieb: > - Den Timer anhalten Klingt gut. Wie würdest du das machen? Schaffe es nicht wirklich in dem genannten Code.
Udo S. schrieb: > Christoph K. schrieb: >> 1 Sekunde danach soll er auf dem Pin einfach kein Signal mehr >> ausspucken, bis ich ihn wieder ansteuere. > > [...] Sorge dafür dass die > Steuerung etwas länger Strom hat als die Servoversorgung. Vielleicht wäre es ratsam an dieser Stelle dem TO etwas genauere Vorgaben zu machen. Denn häufig vertragen Schaltungen keine Eingangsspannungen, die über VCC liegt. Man könnte etwa VCC und GND zu öffnen (also floaten zu lassen oder ähnliches) oder etwa die Abschaltung des Steuersignals ggü. der Abschaltung von VCC/GND mit einem Kondensator minimal (z.B. im 1ms Bereich) zu verzögern. Aber es mag sein, das bei Servos eine andere Variante verwendet werden kann oder gar muss. Soll nur eine Anregung sein.
Christoph K. schrieb: > Möchte trotzdem die Servos abdrehen (nach 1 Sekunde oder was auch > immer). > Weil sie machen schon minimal Lärm, ... [...] Die machen Lärm? Das hättest Du mal früher schreiben sollen, denke ich. Was für Lärm?
Nein Lärm machen sie eh nicht. Nur wenn sie gerade in ihrer Position stehen und man Kraft anwendet, arbeitet der Motor gleich dagegen (er summt). Auch schon eine sehr geringe Kraft ist ausreichend.
Christoph K. schrieb: > Nur wenn sie gerade in ihrer Position > stehen und man Kraft anwendet, arbeitet der Motor gleich dagegen (er > summt) Das ist der Zweck eines Servos!
Christoph K. schrieb: > Nein Lärm machen sie eh nicht. Nur wenn sie gerade in ihrer Position > stehen und man Kraft anwendet, arbeitet der Motor gleich dagegen (er > summt). Auch schon eine sehr geringe Kraft ist ausreichend. Na dann schalte die PWM doch nicht ab! Du hast doch geschrieben: Christoph K. schrieb: > Möchte trotzdem die Servos abdrehen (nach 1 Sekunde oder was auch > immer). > Weil sie machen schon minimal Lärm, vor allem wenn auch nur minimal > Kraft anliegt. > [...] Was denn nun? :-)
Udo S. schrieb: > Das ist der Zweck eines Servos! Ja ich weiß das. Ich will trotzdem den Servo einfach nach 1 Sekunde abschalten. Rein mechanisch muss man bei meinem Savöx 1Ncm (komplette Schätzwerte, nur zum Vorstellen) im ausgeschaltenen Zustand anlegen, sodass er sich verstellt. Im eingeschaltenen Zustand, wenn er auf Position gefahren ist und ich nur 0,1Ncm Kraft anlege, summt der Motor aber schon. Bei meinem Anwendungsfall sage ich werden 0,5Ncm am Servo anliegen, wenn er auf Position gefahren ist. Somit summt der Motor weil er über 0,1Ncm ist, er würde sich aber noch lange nicht verstellen, auch wenn der Motor aus ist (aufgrund der Machanik braucht man wie gesagt 1Ncm um ihn zu verstellen). Deswegen möchte ich die Servos einfach nach 1sec abdrehen, nachdem sie auf Position gefahren sind. Einfach damit sie nicht unnötig brummen. Ich hoffe man versteht jetzt, wieso ich das machen will.
:
Bearbeitet durch User
Christoph K. schrieb: >Möchte trotzdem die Servos abdrehen (nach 1 Sekunde oder was auch >immer). >Weil sie machen schon minimal Lärm, vor allem wenn auch nur minimal >Kraft anliegt. Dann ist evtl. der Totbereich etwas eng gewählt. Ist das evtl. einstellbar?
:
Bearbeitet durch User
Christoph K. schrieb: > Bei meinem Anwendungsfall sage ich werden 0,5Ncm am Servo anliegen, wenn > er auf Position gefahren ist. Somit summt der Motor weil er über 0,1Ncm > ist Deine Aussagen sind so nicht kausal. Er summt nur, wenn er nachstellt. Er stellt nur nach, wenn er durch äussere Kräfte verstellt wird. Die einzig andere Möglichkeit für das Summen wäre, dass dein Servosignal jittert. Das ist dann ein Softwareproblem. Du solltest dich wirklich mal ein bischen mit den Grundlagen beschäftigen.
Dann einfach testen und den Signaleingang vom Servo abziehen und auf GND legen und prüfen ob die Position aktiv gehalten wird. Auf der tollen Savöx Seite kann man T-Shirts für den High End Servo Fanclub kaufen, aber ordentliche Daten gibbet nich... Jens G. schrieb: > Dann ist evtl. der Totbereich etwas eng gewählt. Ist das evtl. > einstellbar? das steht da zumindest in der FAQ, nicht programmierbar.
Johannes S. schrieb: > Dann einfach testen und den Signaleingang vom Servo abziehen und auf GND > legen und prüfen ob die Position aktiv gehalten wird. > Auf der tollen Savöx Seite kann man T-Shirts für den High End Servo > Fanclub kaufen, aber ordentliche Daten gibbet nich... Echt so.. Position bleibt perfekt gehalten sowohl wenn sie auf GND liegt oder einfach in der Luft hängt
Udo S. schrieb: > Deine Aussagen sind so nicht kausal. Finde ich eh auch etwas komisch - ist trotzdem so. Er stellt nur minimal nach eventuell. Hat eventuell was damit zu tun, dass die Position im Servo wo anders gemessen wird und die Zahnräder alle minimal Spiel haben. Kann ich mir so vorstellen. Aber ich weiß, was du meinst.
Christoph K. schrieb: > Udo S. schrieb: >> Das ist der Zweck eines Servos! > > [...] > Im eingeschaltenen Zustand, wenn er auf Position gefahren ist und ich > nur 0,1Ncm Kraft anlege, summt der Motor aber schon. > > [...] Meine Güte. Christoph K. schrieb: > In meiner Anwendung ist es ok, wenn die Servos auf ihre Position fahren > und dann dort stehen bleiben und abgedreht werden - es liegt keine Kraft > dann mehr auf den Servos. > Erst keine Kraft ... Dann doch ... Aber sie reicht nicht um die Achse zu bewegen ... Ich schlage vor, Du beschreibst mal vollständig unter Angabe aller Fakten und Details was Du vorhast, dazu Die Beschreibung Deiner Lösung, vollständig und mit allen Details und dann sehen wir mal ... Wir sind hier nämlich nicht beim heiteren Teekesselchen-Raten.
Ersetzt Drehmoment durch Kraft, für die, die es wegen diesem Fehler nicht verstehen...
Christoph K. schrieb: > Ersetzt Drehmoment durch Kraft, für die, die es wegen diesem Fehler > nicht verstehen... OK. Ich bin raus. Mahlzeit.
Ich finde gut, dass ihr mir tiefgründiger und evtl. auch mechanisch mit meinem Problem helfen möchtet. Ich finde es aber überhaupt nicht notwendig mein Projekt hier vollständig zu beschreiben. Wenn mir einfach jemand nett einen Softwaretipp geben könnt, wäre mir sehr geholfen :) Ich will echt einfach nur die Servos 1 Sekunde, nachdem sie auf Position gefahren sind, abdrehen.
Udo S. schrieb: > Oder steht dazu irgendwas anderes in der Doku zu deinen Servos? Der Witz ist: Dieser Servo kostet 70 Euro und dennoch gibt es weder ein Datenblatt noch sonst eine Anleitung dazu. https://www.savox-shop.com/de/savoex-sv-1270tg-servo.html Als ob der Hersteller angst hätte, man würde ihn dann auf zugesicherte Eigenschaften festnageln. In meinen Augen ist das Ding alleine schon wegen der fehlenden Doku keine 20€ wert.
Christoph K. schrieb: > Den Timer anhalten > Klingt gut. Wie würdest du das machen? Guck doch einfach ins Datenblatt. Da gibt es ein Kapitel dass die Register des Timers beschreibt. Ich habe es dir schon auf dem Silbertablett serviert, das goldene behalte ich für mich.
Christoph K. schrieb: > Wenn mir einfach jemand nett einen > Softwaretipp geben könnt, wäre mir sehr geholfen :) Der Tipp heisst: Grundlagen eines Mikrocontrollers. Detailtipp: Jeder Portpin kann als Ein oder Ausgang geschaltet werden. Ich finde es aber überhaupt nicht notwendig die dazugehörigen Befehle vollständig zu beschreiben. Zumal wir ja weder dein Programm noch deinen Schaltplan kennen.
Udo S. schrieb: > Detailtipp: Jeder Portpin kann als Ein oder Ausgang geschaltet werden. Oha! Dieser Tipp bewirkt die Gefahr, dass er den Pin als Eingang schaltet und dann die ISR den internen Pull-Up Widerstand toggelt. Dann blickt der Christoph gar nicht mehr durch.
Stefan ⛄ F. schrieb: > er Witz ist: Dieser Servo kostet 70 Euro und dennoch gibt es weder ein > Datenblatt noch sonst eine Anleitung dazu. Das ist mir auch schon aufgefallen. Preise wie für Industriebauteile, aber -zumindest auf die Schnelle- keine konkreten technischen Daten ausser dem Drehmoment. Sind das Servos für den "audiophilen" Modellbauer? :-)
Theor (Gast) >Christoph K. schrieb: >> Ersetzt Drehmoment durch Kraft, für die, die es wegen diesem Fehler >> nicht verstehen... >OK. Ich bin raus. Mahlzeit. Das warst Du schon vorher. Oder meinst Du, daß Deine letzten Updates/Fragen wirklich zielführend waren? @TO: Ich gehe mal davon aus, daß die Last immer gleich bleibt, also während und nach Positionierung. Also sollte er doch mit Brummeln aufhören, wenn er sein Ziel erreicht hat, und sich die Last nicht ändert. Insofern ist doch Dein Test eher akademischer Natur, oder? >Finde ich eh auch etwas komisch - ist trotzdem so. Er stellt nur minimal >nach eventuell. Hat eventuell was damit zu tun, dass die Position im >Servo wo anders gemessen wird und die Zahnräder alle minimal Spiel >haben. >Kann ich mir so vorstellen. Aber ich weiß, was du meinst. Ja, so wird das auch sein. Das Poti (bzw. Winkelsensor) wird wohl auf der Ausgangswelle sitzen. Wenn Du die verdrückst, dann geschieht das innerhalb des Getriebespiels, bzw. Du verdrehst das Poti geringfügig, und der Servo will das wieder ausgleichen. Aber wie gesagt, wenn da immer während/nach Positionierung keine Kraftänderung mehr stattfindet, sollte das doch eher egal sein, bzw. so nicht auftreten.
Ich habe bei einem sehr billigen Servo mal erlebt, dass er ständig knurrte, sogar ganz ohne last uns trotz top sauberer Ansteuerung und Stromversorgung. Vielleicht ist dieser Servo ebenso "billig". Es muss ja einen Grund haben, dass der Hersteller nicht einmal ein Datenblatt veröffentlicht.
Jens G. schrieb: > Theor (Gast) > >> [...] > >>OK. Ich bin raus. Mahlzeit. > > Das warst Du schon vorher. Oder meinst Du, daß Deine letzten > Updates/Fragen wirklich zielführend waren? Das meine ich. Ja. > > [...] > Aber wie gesagt, wenn da immer während/nach Positionierung keine > Kraftänderung mehr stattfindet, sollte das doch eher egal sein, bzw. so > nicht auftreten. Ah. Du bist wohl auch raus. Oder führt die Aussage, dass nicht sein kann, was nicht sein darf, irgendwie weiter? :-) OK. Ich habe mich über das Verhalten des TO aufgeregt. Auch nicht besonders nützlich. Zugegeben. Aber sachlich halte ich meine Beiträgee durchaus für relevant. Was soll man damit anfangen, wenn immer wieder neue Schnitzelchen vorkommen, die sich auch noch widersprechen? Du siehst ja selbst, dass man wieder vor einer Wand steht. Irgendwas fehlt da an Information. Oder nicht?
Stefan ⛄ F. schrieb: > https://www.savox-shop.com/de/savoex-sv-1270tg-servo.html das ist auch nur ein deutscher Internethändler. das dürfte eher die Herstellerseite sein: https://www.savoxusa.com/collections/high-voltage-servos/products/savsv1270tg-hv-coreless-digital-servo#technical-details aber wie geschrieben, auch nicht viel mehr. Und gegen die originalen Dynamixel sind die Savöx noch Schnäppchen. Und noch zu geheimen Anwendung: wenn die Servos 24/7 laufen sollen und nahezu immer auf einer Position stehen, dann kann man damit die Mechanik und das Poti schnell kaputtschrubbeln. Da werden auch teure Savöx schnell ausfallen.
Da sind doch die technischen Daten:
1 | Technical Details |
2 | Operating Temperature: 14° - 122°F (-10° - 50°C) |
3 | Running Current (no load): 120mA @6.0V, 150mA @7.4V |
4 | Stall Current (at locked): 5500mA @6.0 V, 6800mA @7.4V |
5 | Idle Current: 5mA @4.8V, 5mA @6.0V |
6 | Wire Length: 200 ± 5mm |
7 | Output Gear Spline: 25 Tooth |
8 | Bearings: 2BB |
9 | Operating Travel: 100° (1000 → 2000 µ second) |
10 | Neutral Position: 1500 µ second |
11 | Pulse Width Range: 800 → 2200 µ second |
12 | Maximum Travel: Appx 130° (900 → 2100 µ second) |
13 | Refresh Rate: 333 Hz |
14 | Motor Type: Coreless |
Theor (Gast) >> Aber wie gesagt, wenn da immer während/nach Positionierung keine >> Kraftänderung mehr stattfindet, sollte das doch eher egal sein, bzw. so >> nicht auftreten. >Ah. Du bist wohl auch raus. Oder führt die Aussage, dass nicht sein >kann, was nicht sein darf, irgendwie weiter? :-) Warum? Ich habe hier nur eine Einsatzvariante beleuchtet, die mir erstmal als die einfachste vorkommt. Deswegen bin ich ja nicht raus. Zumal ich nie so in der Art mein zukünftiges Fernbleiben von diesem Thread rausposaunen würde, denn das interessiert den TO ja ohnehin nicht. ZWeitens halten die wenigsten dann Ihr Versprechen, und sind dann doch wieder plötzlich mit von der Partie. >OK. Ich habe mich über das Verhalten des TO aufgeregt. Auch nicht >besonders nützlich. Zugegeben. Aber sachlich halte ich meine Beiträgee >durchaus für relevant. >Was soll man damit anfangen, wenn immer wieder neue Schnitzelchen >vorkommen, die sich auch noch widersprechen? >Du siehst ja selbst, dass man wieder vor einer Wand steht. Irgendwas >fehlt da an Information. Oder nicht? Tja, aber so ist das nun mal. Klar, viele TOs scheren sich einen Dreck um eine ordentliche Problembeschreibung. Aber manche Problempunkte kristallierieren sich erst nach einer Diskussion heraus. Könnte der TO schon am Anfang alles liefern, bräuchte er hier wohl nicht mehr zu fragen, weil er das alles ja schon selber abklappern könnte. Und wenn dem TO noch nicht mal klar ist, daß auch ein Signalpfad eine Rückleitung braucht, dann wird er auch nicht unbedingt auf die Idee kommen, die fehlende Masseverbindung schon in der initialen Problembeschreibung mit zu erwähnen, weil ja scheinbar irrelevent (für ihn). Vielleicht ist ihm ja auch noch nicht so recht der Unterschied bewußt, ob man mit konstanter Last, oder mit Wechsellasten zu tun hat. Denn das "verärgert" ja sicherlich den Servo, weshalb er dann ärgerlich zu brummen anfängt ;-)
Jens G. schrieb: > [...] Naja. Lassen wir das. Ich habe mich falsch verhalten und ich bedaure es. Vielleicht hast Du und der TO ja Glück und Deine Beiträge bringen was. Viel Erfolg.
Jetzt mal alles gemütlich angehen.. Erstmal danke, dass ihr mir überhaupt helft. Das ist ein Forum und ich will hier nichts anderes als einfache Hilfe für mein Problem. Ich brauch nicht von irgendwem angemault werden, wie doof ich bin. Ich bin kein Elektronik-Gott, sorry. Man kann auch normal schreiben. Jeder fängt mal klein an. Ich finde es immer wieder lustig in Foren wie diesem, wie vor allem Anfänger unnötigerweise fertig gemacht werden. Aber Jens hat es gut beschrieben - ich kann hier nichts schreiben, was ich nicht weiß. Manches kristallisiert sich nur durch eine Diskussion heraus. Und allgemein versuche ich unnötige Infos zu vermeiden (aber wie gesagt, ich es es ja nicht)... Fangen wir von 0 an: Ich habe 4 Servos, die eine Aluminiumplatte ca. 5 mm anheben und wieder senken und dabei etwas abdichten. Im abgesenkten und im ausgefahrenem Zustand liegt KEINE Kraft an den 4 Servos. Nur während dem Hochfahren/Runterfahren muss viel Kraft aufgewendet werden. (Wer die Mechanik noch genauer erklärt haben will, lasst es mich wissen - aber ich denke das ist nicht das Thema) Die Platte wird nur alle paar Tage rauf und runter bewegt. Wäre es nicht einfach schlau, die Servos deshalb abzudrehen (Auch wegen dem genannten Geräuschproblem. Wie gesagt sie brummen nur, wenn minimal Drehmoment am Servo anliegt). Abdrehen im Sinne von, nur die Signalleitung abdrehen - Stromversorgung der Servos kann angeschlossen bleiben. Oder meint wer, dass das allgemein schlecht sein kann für die Servos? Deswegen nochmal zur eigentlichen Frage: Ich möchte, dass nachdem die Servos die Position angefahren haben, abgedreht werden. Ich will es einfach mal ausprobieren und schauen ob es für mein Projekt passt oder nicht. Vielleicht lass ich sie dann auch einfach laufen, wenn es nicht gut funktioniert. Danke fürs Durchlesen und vielleicht kann mir jemand helfen. Ich habe schon probiert den Port auf 0 zu schalten oder nachgeschaut, wie ich den Timer stoppen kann. Kenne mich mit Timern nur sehr mager aus. Ich kopiere einfach oft Code vom Internet und wandle diesen etwas um. Einfache Dinge kann ich selber programmieren. Wie gesagt, ich bin Anfänger.
NichtWichtig schrieb: > Da sind doch die technischen Daten: Da fehlt einiges. Zum Beispiel: - wie das Steuersignal aussehen kann/muss - wie viel Strom der Steuereingang aufnimmt - wie sich der Servo bei Ausfall des Signals verhält - inwiefern er sich von analogen Servos unterscheidet - ob er sich bei geringen Differenzen langsamer bewegt, und wenn ja, wie viel langsamer - wie groß die Hysterese ist (geringe Differenzen werden üblicherweise ignoriert) - die genauen Abmessungen und Position der Aufnahme für das Horn - Stecker am Anschlusskabel (Format und Pinbelegung) - inwiefern er wasserdicht ist - ob er Kontakt zu Benzin verträgt - die minimale und maximale Versorgungsspannung - die Stoßfestigkeit und und und
>Im abgesenkten und im ausgefahrenem Zustand liegt KEINE Kraft an den 4 >Servos. Nur während dem Hochfahren/Runterfahren muss viel Kraft >aufgewendet werden. (Wer die Mechanik noch genauer erklärt haben will, >lasst es mich wissen - aber ich denke das ist nicht das Thema) Und in welchem Zustand bleibt die Klappe nun üblicherweise stehen? Nur im aus-/eingefahrenen Zustand, oder auch irgendwo mittendrin? Wenn nur ersteres, dann hast Du doch gar kein Brummeln, um welches Du Dich kümmern müsstest. Wie gesagt - ist das jetzt nur ein rein akademisches Problem, oder auch was für die Praxis?
Die Platte bleibt entweder ganz oben oder ganz unten stehen - nicht in der Mitte. Ganz unten liegt die Platte nicht mehr auf den Servos auf - ganz oben schon. Ganz unten habe ich das Problem nicht - oben kann es minimal möglich sein. Ich bin mir noch nicht ganz sicher - ich will es einfach wirklich ausprobieren und ich schaffe es nicht, das Servosignal abzudrehen. Es sind sowohl im Code als auch an der Hardware (Platte) noch Sachen unklar. Ich möchte es testen und ausprobieren.
:
Bearbeitet durch User
Wahrscheinlich ist der Sollwert der Servos für "oben" so gesetzt, dass die Platte am Anschlag ist und die Servos einfach mit max. Kraft gegen diese Platte drücken und dann entsprechend brummen. Siehe: Christoph K. schrieb: > Ich habe 4 Servos, die eine Aluminiumplatte ca. 5 mm anheben und wieder > senken und dabei etwas abdichten.
Christoph K. schrieb: > Position bleibt perfekt gehalten > sowohl wenn sie auf GND liegt oder einfach in der Luft hängt 1.) Dann regelt das Servo ja nun trotzdem nach, halt auf die letzte gültige Position. Sollte bezüglich Lärm keinen Unterschied machen. 2.) Digitalservos können hier verschiedene Dinge tun. Bei manchem kann man eine Failsafe-Position programmieren. Es gibt auch oft eine einstellbare Hold-Zeit, die angibt, wie lange das Servo wartet bevor es die Failsafe Position anfährt. Manche Digitalservo halten auch die letzte Position nur ein paar Sekunden und schalten dann erst den Motor ab.
:
Bearbeitet durch User
Die Modellbauservos sind einfach nicht fuer so Anwendungen gedacht. Ich hatte auch schon mal die Thematik mit durchgebrannten Multiplex-Servos (teuer!). Die Annahme war, dass der Servo auf Block gegangen ist, was er nicht darf. Das wollte ich mit einer Feinsicherung absichern, der Herstellersupport konnte keinen Nennstrom nennen. Ist schlicht nicht dahingehend ausgelegt. Letztlich hat sich rausgestellt, dass der Servo gar nicht auf Block gegangen ist, sondern nur an einer schwergaengigen Stelle seine Position halten musst. Nach einer halben Stunde war der Servo dann ueberhitzt und ist durchgebrannt. Eine Feinsicherung (2A) hab ich dann nach eigenen Versuchen ausgewaehlt und zusaetzlich die Servoversorgung ueber einen Transistor abschaltbar verdrahtet, sodass ich den Servo wirklich spannungsfrei schalten kann, zumindest wenn das Geraet gerade nicht laeuft.
Christoph K. schrieb: > Ganz unten liegt die Platte nicht mehr auf den Servos auf - > ganz oben schon. Ganz unten habe ich das Problem nicht - oben kann es > minimal möglich sein. Also ist doch zumindest klar, dass in Stellung "oben" der Servo gegenarbeiten muß und zwar permanent. Und auch vorausgesetzt, dass die Platte nicht so schwer ist, dass die Servos sich schon beim Heben quälen, dann sollte das Getriebe doch einen Teil des Haltemoments übernehmen. Aber brummen wird das wohl immer ein wenig. Zum abgeschalteten Servo kann ich zumindest für die "Analogen" sagen, dass die Haltekräfte durch das Getriebe doch ganz erheblich sind! Kann mir nicht vorstellen, dass das bei den Digitalen anders ist. Der Fall, dass das Servo nicht mehr angesteuert wird, ist zumindest (bei den schon erwähnten) Modellpiloten einfach der Supergau, ein Zustand der quasi verboten ist! Vielleicht wäre das Verfahren der Platte über Spindel mit effen Endschaltern doch eine ordentliche Alternative. Supersimpel anzusteuern, Stromverbrauch nur bei Bewegung und falls nötig, über eine zusätzliche simple Relaissteuerung mit definiertem Fehlerverhalten auszustatten...nur mal als Hinweis... Gruß Rainer
Christoph K. schrieb: > Kann mir einer ganz einfach erklären, wieso das nötig ist? Weil der Servo als Steuersignal eine bestimmte Spannung erwartet. Eine Spannung ist immer die Potential- DIFFERENZ zwischen zwei Punkten. Damit der Servo die Differenz "sehen" kann, muss er also genau mit diesen zwei Potentialen der Steuerelektronik verbunden werden.
>übernehmen. Aber brummen wird das wohl immer ein wenig. Zum
Bei einer "angemessenen" Hysterese des Servos sollte es zum Halten nie
brummen, solange die Selbsthemmung des Getriebes alleine zum Halten
reicht (zumal in der Stellung "oben", wenn damit senkrecht über der
Servowelle gemeint ist, ja auch keine Extra-Haltekräfte nötig sein
sollten)
:
Bearbeitet durch User
Lothar J. schrieb: > Stromkreis. Die Betonung liegt auf -kreis! > Wie viel Stom fließt, ist dem Stromkreis erst mal egal. Ein schlechteres Argument habe ich wirklich noch nicht gehört. Angenommen der Servoeingang besteht aus einem OP mit MOSFET-Eingang. Dann müssten trotzdem beide Pole angeschlossen werden, obwohl so ein MOSFET wegen seines isolierten Gates bestimmt keinen (statischen) Strom fließen lässt.
Da fließt durchaus Strom, nämlich um die Gates der MOSFET umzuladen. Ohne Stromkreis ist das nicht möglich, dann behalten die MOSFET ihren aktuellen Zustand bei bzw. empfangen Radiowellen, die nicht an Leitungen gebunden sind. Daher kommen die unkontrollierten Reaktionen, die der TO anfangs beschrieb.
>Dann müssten trotzdem beide Pole angeschlossen werden, obwohl so ein >MOSFET wegen seines isolierten Gates bestimmt keinen (statischen) Strom >fließen lässt. Müssten? Müssen. Den Mosfet interessiert neben dem Gatepotential auch dessen Sourcepotential. Also zwei Potentiale, eine Spannung (Ugs). Was ist da jetzt unklar?
Wenn alle 4 Servos immer das gleiche tun, warum müssen dann 4 getrennte Servosignale generiert werden? Eins reicht doch. An alle 4 geht das gleiche Signal. Die Feineinstellung der Endstellungen der Servos wird einmal mechanisch gemacht. Auch würde ich die Endstellungen mechanisch verriegeln (mit einem 2. Servo), um die Hebemimik von dem (den) Servo(s) entlasten zu können. Blackbird
:
Bearbeitet durch User
Christoph K. schrieb: > Beim Abdrehen soll der Servo in der Position stehen bleiben. Hallo, Ich benutze auch Savöx Servos, nur andere Modelle. Wenn man den Ansteuerimpuls, in der Länge, knapp über 0 ausgibt, schaltet sich der Servomotor aus. Hab jetzt leider keine genaue Zeit im Kopf, könnten aber 10us sein. Dabei findet keine Verstellung statt man kann also die Sollposition anfahren, und dann abschalten. Später kann man mit der letzten Sollposition weiter machen. Ich benutze diese Funktion erfolgreich für meinen Roboter, wenn die Servos mal keinen Krach machen sollen. Die Savöx sind anscheinend etwas sehr genau, was das Aussteuern der Sollposition betrifft. Daher stellt der Motor ständig nach. Er findet nie die optimale Position. Bei HiTech Servos soll das wohl besser sein.
:
Bearbeitet durch User
Wolfgang schrieb: > Ob die PPM-Signale mit 20 oder mit 100Hz kommen, ist bei den meisten > analogen völlig egal. Nein, natürlich nicht, die Regelcharacteristik ändert sich, bei Verdopplung der Impulsabstandszeit läuft der Motor meist deutlich langsamer. Aber immerhin laufen sie. > Guck dir mal das Funktionsprinzip der > Analogelektronik in so einem Servo an Genau, meist Monoflops. Schau dir einfach mal solche ICs an.
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.