Hol dir doch mal einen billigen Servotester, um sicherzugehen, das die Servos ok sind.
Hol dir doch mal einen billigen Servotester, um sicherzugehen, das die Servos ok sind.
Der Vorschlag mit dem externen Servo-Controller kam jetzt ja bereits mehrfach. Da die Dinger nicht die Welt kosten, werde ich so einen besorgen und testen, ob die Servos sich immer noch so merkwürdig verhalten.
Die Frage zur Energiequelle habe ich mir auch gestellt. Der NiMH-Akku hat 3000 mAh und bringt 7.2V, die über den Modelcraft-Wandler auf 6V reduziert werden, damit die Servos nicht überhitzen.
https://www.conrad.ch/de/conrad-ener...er-206028.html
Aber würdie die Software so wenigstens passen? Mit der getesteten LED sah es gut aus. Wurde heller und wieder dunkler, als ich die Werte statt von 7.5-12.5 von 5-100 gestellt hatte.
wenn du auch das oben von mir verlinkte Python-Beispiel (direkt an GPIOs) erfolgreich getestet hast, dann stimmt ja sicher alles, oder?
https://learn.adafruit.com/adafruits...motor/software
PS, deine Batterien schauen gut aus, die Leistung deines DC-Wandlers ist aber auch wichtig!
Feiertage durch, PCA9685 da und verbaut. Mit dem ersten lief das Ganze mehr oder weniger problemlos. Dank eines unachtsamen Kurzschlusses ist der jetzt aber mit Rauchverletzung entsorgt worden. Jetzt habe ich den zweiten zusammengebaut und an den RPi angeschlossen. Um allfällige Verkabelungsprobleme auszuschliessen, habe ich einen Servo direkt an den PCa9685 angeschlossen. Dieser ist mit dem RPi und dem DC-Wandler (übrigens max 5A bei 6V) verbunden. Mit dem gleichen Testskript (ausgeliefert mit der Treibersoftware) geht im Moment gar nichts. Kein hin und her bewegen, kein Zucken, nicht mal ein Brummen.
Mit dem Voltmeter habe ich mal gemessen. Am Servo kommen 6V an. Interessanterweise höre ich aber kein Pfeifen, wenn ich die Verbindung mit dem Voltmeter prüfe. Beim Software-PWM gab es auf der Steuerleitung und dem Nullleiter jeweils ein schnelles Piep Piep Piep in der Geschwindigkeit der Frequenz. Jetzt nicht. Nun bin ich wieder gleich weit, weiss aber zumindest (hoffentlich), dass es kein Softwareproblem ist. Ideen? Braucht ihr Bilder vom Aufbau?
Es ist grundsätzlich nicht verkehrt, sich nochmals damit auseinanderzusetzen, indem z.B. alles aufgezeichnet wird, wie es vorher war, wie es jetzt war/ist. Oftmals hilft schon das bloße Reden über ein Problem, um auf neue Gedanken zu kommen, was noch falsch sein könnte. Ich denke es gibt sicher noch andere Mittel der Reflexion.
Die Informationen die ich entnehmen kann sind:
1. PCA9685 verbaut und funktionierte
2. Kurzschluss verursacht, keine Funktion mehr
3. einen zweiten PCA9685 zusammengebaut
4. Servo jetzt direkt an PCA9685 angeschlossen, was vorher nicht so war
5. jetzt keinerlei Reaktion mehr
Frage ist auch, wannd er Kurzschluss entstand, ob andere Teile mit betroffen sind.
MfG
was bedeutet "einen Servo direkt an den PCA9685 angeschlossen" ?
Servo-pwm wird doch immer am PCA9685 (pwm) angeschlossen, und Servo-Vc/GND stammen von einer externen Spannungsquelle,
und der PCA9685 bekommt immer seine Steuersignale vom µC/SoC
- wie sollte es anders möglich sein?
Wenn man mit zeitlich veränderlichen Signalen arbeitet, braucht man passende Messmittel. Das ist typisch ein Scope. Geht es dabei nur um digitale Logiksignale tut es auch ein einfacher Logicanalizer. Alles andere ist das Stochern mit einer Stange im Nebel, führt zu falschen Problemanalysen und am Ende zu Frust.
Simple LAs gibt es für weniger als eine Pizza kostet. Es gibt dazu freie Software, wenn man die Software von saleae nicht nutzen will, ohne deren LA zu kaufen. Damit kann man sowohl den I2C Bus des PCA als auch die Servosignale leicht überprüfen.
Braucht man den LA öfter, findet sich für kleines Geld oder auch ganz umsonst ein ausgedienter Laptop. Selbst ein älteres Teil reicht für diesen Zweck. Damit wird aus dem billig-LA ein richtiges Gerät, das man noch um andere Funktionen erweitern kann.
MfG Klebwax
P.S. Vorsicht, mit einem LA kann man die Qualität der Signale nicht überprüfen. Sie sehen immer perfekt aus.
P.P.S. Warum die Servos mit 6 NiMH und einem Spannungswandler betrieben werden, wo sie doch für 5 (ursprünglich mal 4) Zellen gebaut sind, leuchtet mir nicht ein. Jedes zusätzliche Modul erzeugt eigene Probleme.
Wie auf den Bildern oben, vermutlich schlecht, zu erkennen ist, gibt es innerhalb des LKW eine Menge Drähte, die zu den ursprünglichen Steuerservos gehen. Um mal die Verkabelungsprobleme auszuschliessen, habe ich nicht die fest verbauten Servos mit den ganzen internen Drähten am PCA9685 angeschlossen, sondern andere, baugleiche Servos genommen und diese an den Controller angeschlossen.
Der PCA9685 ist am RPi an den Pins 1, 3, 5 und 9, also 3.3V, SDA/GPIO2, SCL/GPIO3 und GND bzw. VCC, SDA, SCB und GND (PCA-Seite) angeschlossen.
Die externe Stromversorgung ist via Wandler an V+ und GND verbunden. Verständlich?
Am RPi habe ich übrigens noch überprüft, ob über den Befehl i2cdetect -y 1 das Modul überhaupt gefunden wird. Wird es, und zwar genau so wie es in der Anleitung angegeben wird.
Ich werde jetzt noch etwas versuchen und mal alle 16 Ports ansprechen, nur um sicher zu sein, dass ich da nicht was falsch gemacht habe. Dann hänge ich eine LED an PWM und GND und schaue, ob die wenigstens leuchtet. Theoretisch müsste das gehen, wenn ein Signal kommt und der Widerstand passt.
Kann es sein, dass ich irgendetwas beim Zusammenlöten des PCA9685 falsch gemacht haben könnte? Ich habe mal die Eingangsspannung RPi -> PCA9685 auf allen drei Leitungen (VCC, SDA und SCL) gemessen. Immer 3.3V. Mit dem Testprogramm mal nach einander alle 16 PWM-Signale eingeschaltet (ohne externe Stromquelle, kommt ja eh nur bei VCC raus) und gemessen. Hier tauchen lediglich zwischen 0.12V und 0.48V auf. Müssten hier nicht auch die 3.3V ankommen? Fehler im Chip oder ich was falsch verstanden? würde erklären, wieso die Servos sich nicht bewegen. Meine Meinung.
hast du einen Arduino, um den PCA9685 zutesten? Das müsste man als erstes sicher stellen, dass er noch funzt.
Leider nein, nur einen RPi.