Posts by Sc0rpe

    Hi Sc0rpe ,

    ich möchte nochmal das Thema Stromaufnahme des Servo bzw. Leistung des Netzteils aufgreifen: bist Du sicher, dass Dein "Netzteil" da ausreicht?

    100 mA Ruhestrom und relativ hohes Drehmoment ... das kann beim Anfahren/Halten schon heftig werden ( 2A oder mehr, je nach Servo) und lassen evtl. die Spannung einbrechen.

    Naja, ich muss zugeben daran hatte ich beim Kauf nicht so wirklich dran gedacht.

    Aber der Motor funktioniert ja damit. Er fährt ja ordentlich, wenn ich ihn direkt am Pi habe.


    Kannst Du da mal eine andere Stomversorgung ausprobieren?

    Muss ich morgen mal rumfragen, ob jemand ein anderes Netzteil hat.



    Ähm ... das ist jetzt aber schon eine widersprüchliche Aussage.

    In der Tat. Hoffe ich hab da heute nix durcheinander gebracht.

    Ich denke ich Poste euch morgen mal diverse Oszi Bilder und meinen Aufbau.

    Dann solltet ihr mit genügen Informationen versorgt sein.

    Einerseits das 5m lange Kabel bei dem es nicht mehr funktioniert. Klingt für mich am ehesten nach Kontaktproblemen.

    Um das auszuschließen habe ich die Kabel durchgemessen. Da ist alles in Ordnung.

    Stimmt die Masseverbindung? Deine 6V minus der 5V könnten nämlich dazu führen.

    Ich hoffe doch. Naja, das 5V micro usb Netzteil hängt einfach am Pi.

    Dann wie in der Fritzing-Verkabelung welche ich schon gepostet hatte alles angeschlossen. Einfach ein GND Pin an den Minuspol des Servonetzteils gehangen um die Massen zu verbinden.

    Die Masse des Oszi hängt aber defintiv auf PE - falls jetzt noch USB-Geräte mit eigener Spannungsversorgung drauf hängen, könnte schon eine Spannungsverschleppung passieren.

    Jap. Und nein, es hängen keine USB-Geräte am Pi. Wie kann ich das mit der Verschleppung am Besten überprüfen?

    Ist das mit den 900mV auch so, wenn Du den Servo direkt (also ohne 5m Verlängerung) anschließt?

    Ja.

    Ich glaube ein Bild des Aufbaus samt Verkabelung könnte uns weiter helfen?

    Das mit dem Aufbau ist schwierig aber ich werde mir Mühe geben, euch das irgendwie zu zeigen.

    Kann ich aber auch erst wieder morgen machen. Kann das zeug leider nicht mitnehmen.


    Vielen lieben Dank für eure Mühen.

    Ich habe nochmal diverse Sachen getestet:

    Schließe ich den Servo direkt am Pi an, das heißt nicht über die 5m langen Kabel, funktioniert er.

    Schließe ich ihn, über die langen kabel an, dann läuft er nur so schlecht wie am Anfang beschrieben. Mit dem Oszi habe ich festgestellt, dass die Spannung des PWM Signal am Servo nur etwa 900mV beträgt. Könnte vielleicht sein, dass dem Servo dieses "schwache" Signal damit nicht genug ist.


    Ich habe festgestellt, dass das PWM Signal so schwach ist, wenn ich einen GND Pin des Pi mit der Masse der Versorgung des Motors anschließe. Aber das ist doch eigentlich die richtige Art und Weise eine gemeinsame Masse zu haben oder? Könnte mir dazu einer etwas sagen?


    Glücklicherweise konnte ich auch einen Levelshifter auftreiben und habe auch damit probiert. Leider gab es keinerlei Verbesserung dadurch.

    Übrigens: Auch mit Shifter ist das Signal bei verbundenen Massen nicht 5V. Mache ich da also etwas falsch?


    Um meinen Aufbau noch zu erläutern.

    Netzteil des Servos ist dieses hier (eingestellt auf 6V) -> Servo Netzteil (Affiliate-Link)

    Angeschlossen über solche klemmen -> Adapterklemmen (Affiliate-Link)

    Am Minuspol der klemme schließe ich sowohl einen GND Pin also auch den GND des Servos an um einen gemeinsame Masse zu haben.

    So ich hab hier mal ein Foto vom Oszi gemacht.

    Das Netzteil des Servos liefert wie bereits gesagt 6V und das hab ich auch gerade nachgemessen.

    Wenn ich es auf 7,5V stelle messe ich allerdings 7,6V. Der Servo ist bis max. 7,4V laut datenblatt ausgelegt. Kann/Sollte ich es trotzdem mit den 7,6V mal probieren.

    Das ist das Bild, wenn ich dem Servo ein Signal sende.


    Nein, in diesem Fall macht es keinen Sinn LEDs statt Dioden zu nehmen.
    * Haben eine deutlich höhere Vorwärtsspannung und somit eine deutlich schlechtere Wirkung
    * Sind nicht für höhere Ströme geeignet - könne also nur minimal schützen, falls hier Kraft dahinter ist

    Okay, dann lass ich das mit den LEDs und besorg mir paar richtige Dioden. Kann man sicher immer mal gebrauchen.

    Ich möchte noch anmerken, dass Du bereits Lösungen aufbaust, obwohl Du die Ursache noch nicht gefunden hast. Du baust jetzt eine Schutzbeschaltung für den Pi - das schadet zwar nicht, dürfte aber außer, dass der Pi ggf. keinen schaden nimmt nicht ändern...

    Da hast du wohl recht.

    ... jetzt steuere ich die Servos nur mehr über eine pipolare Gegentaktendstufe mit Freilaufdioden an, ...

    Blöde Frage aber: Ich hab leider keine normalen Dioden zur Verfügung. wäre es auch möglich das ganze mit einer Leuchtdiode zu Versuchen?
    Ist ja am Ende auch eine Diode mit der Eigenschaft der Sperrrichtung etc.?
    Oder ist das keine gute Idee?

    Vielleicht solltest Du mal ne null-linie einfügen, ein x-y scaling und die timescale dranschreiben. Ich sehe jetzt nur schwarze Schleifspuren🤓


    VG

    Leroy

    Verzeih mir die ungenaue Skizze. Ich habe mal noch Achsen eingefügt, aber stell dir einfach ein PWM Signal mit 50Hz vor...nur eben mit dem seltsamen sägezahn an der Position die ich eingezeichnet habe vor. Meinen Tests zufolge scheint es auch unabhängig von der tatsächlichen Pulsweite zu sein. Solange der Servo die befohlene Position anfährt ist der Zahn da, danach verschwindet er.

    Morgen kann ich auch mal ein Foto vom Oszi machen.

    Vielen vielen Dank an alle die geantwortet haben!

    Leider habe ich bis Montag keinen Zugriff mehr auf den Servo und kann daher erst am Montag eure vielen hilfreichen Tipps überprüfen.

    Aber das werde ich auf jeden Fall tun!


    Überprüfe doch mal die Versorgung des Servos.

    - Ist diese ausreichend dimensioniert und funktioniert diese noch? Es sind nicht wirklich Batterien wie oben skizziert, oder?

    Ja sie sollte eigentlich passen. Hat ja wie bereits gesagt mal wunderbar funktioniert. Laut Datenblatt arbeitet der Motor zwar im Bereich von 6,6V - 7,4V, ich habe aber 6V anliegen und damit hat er auch gut gearbeitet. Ich habe ein verstellbares Netzteil, dieses kann jedoch entweder 6V oder 7,5V. Aus Angst hab ich daher vorsichtshalber erstmal 6V genommen. Meint ihr ich soll mal mit 7,5V versuchen? Ist ja kein großer unterschied zu 7,4V.

    Es sind nicht wirklich Batterien wie oben skizziert, oder?

    Nein nein^^, hab auf die Schnelle in Fritzing nur nichts besseres gefunden.

    - Gibt es irgendwo Kontaktprobleme?

    Darauf habe ich auch schon untersucht. Sollte aber ja eigentlich nicht der Fall sein, der Oszi hängt an einer Stelle wonach keine Kontaktstellen mehr Fehler erzeugen könnte und ohne Motor sieht das Signal an der Stelle auch sauber aus.


    Soweit ich das sehe, hast du aber derzeit kein Jittern dazwischen, oder?

    Ein leichtes jittern war am Oszi zu erkennen, aber vorher hatte der Servo ja auch sehr gut reagiert. Da war das Signal also auch sauber genug.

    Was mich da wundert ist allerdings, dass das Rechtecksignal so sauber ist, denn auch da müsste die Induktion ja schon zuschlagen. Du könntest mal einen 100n Kondensator ganz dicht am Servo zwischen Vcc und GND oder eine Diode in Sperrichtung von PWM zu GND klemmen und mal schauen was passiert. Das wären so die ersten typischen Entstörmaßnahmen.

    Das Bild hab ich mit Photoshop nur skizziert, da ich leider kein Foto gemacht habe und gerade keinen Zugriff auf Servo und Oszi habe.

    Wie bereits erwähnt, werde ich allen Tipps ab Montag nachgehen. Das mit der Diode hab ich auch überlegt, auch das werde ich ggf. ausprobieren.


    Vielen Dank an alle.

    Der PWM-Pin des Pi wird für die Soundausgabe verwendet ... evtl. beisst sich da was?

    Hmm, danke erstmal für den Hinweis. Das wusste ich noch nicht.
    Seltsam ist dann aber immernoch, warum das PWM-Signal wieder normal wird, sobal der Motor seine Position eingenommen hat.

    Sound sollte der Pi ja außerdem auch gar nicht ausgeben, da ich ja nichts gemacht habe. Habe den Pi auch mehrmals rebootet zwischendrin.

    Ich kann mir eben einfach keinen Reim drauf machen, warum das Signal nur bei einer Positionsänderung des Motors gestört wird.

    Servus Sc0rpe ,

    Also hat das, nach meinem Verständnis, noch nie wirklich funktioniert, oder?

    Doch, das war tatsächlich ernst gemeint. Hat alles gut funktioniert im Test. Dann habe ich den Servo an seiner Position befestigt, wo er hinsollte und die Leitungen verlegt und verlötet. An den Leitungen scheint es aber auch nicht zu liegen, da ich das PWM-Signal mit dem Oszi überprüft habe. Das sieht alles wunderbar aus. Schließe ich aber den Servo dazu noch an sieht das Signal eben wie oben skizziert aus :/ (Oszi hing übrigens direkt beim Servo dran, so dass es nicht an den Leitungen liegen sollte).


    An wiringPi hatte ich bisher noch nichts auszusetzen. Ich nutze ja auch extra den Pin 18 mit den "normalen" PWM-Funktionen (sprich: pwmSetMode, pwmSetRange, pwmSetClock und pwmWrite) und nicht die Software PWM von wiringPi.


    Verschaltet habe ich es folgendermaßen:


    Wie bereits gesagt, der Code hat bereits prima funktioniert und ich denke eher nicht, dass es daran liegt.

    Aber dennoch:

    Moin liebe Gemeinde,


    ich steuere mit einem Raspberry Pi 1 über PWM einen Servomotor an. Das hat bis vor kurzen auch ziemlich gut geklappt. Nur konnte ich jetzt ein seltsames Verhalten beobachten.


    Sobald ich dem Servo ein PWM-Signal sende, sehe ich folgendes Bild am Oszillator.:?:


    Der Servo beginnt dann zunächst sehr langsam sich in die Position zu drehen. Ist er kurz vor der Position angekommen macht der Servo einen Sprung mit der ursprünglich normalen Geschwindigkeit. Das PWM-Signal sieht danach wieder wie gewohnt und auch gewollt aus, also ohne den negativen Ausbruch. Während der Motor allerdings dreht bekomme ich eben dieses unerklärliche Bild. Ich bin kein Elektrotechniker und habe daher keine Ahnung, ob das normal ist oder nicht. Daher die Frage: Hat jemand eine Idee wieso das passiert und ob ich was dagegen tun kann? Oder ist der Motor gar hinüber?


    Ich verwende wie bereits erwähnt einen Raspberry Pi 1 mit wiringPi. Das 50Hz PWM-Signal wird über GPIO 18 (bzw. wiringPi Pin 1) geschickt.
    Für den Servo verwende ich eine externe 6V Stromversorgung.

    Auch die Stromversorgung des Pi ist über ein 2A 5V Netzteil sichergestellt.

    Es läuft gleichzeitig nichts anderes über den Pi.

    Die Software zur Ansteuerung ist getestet und fehlerfrei.

    Servo ist von Kuman -> Kuman KY-72


    Liebe Grüße:)


    Hallo Andreas,


    danke für deine Antwort. Wieder was gelernt.
    Hab den "Sensor" aber schon ein wenig ausprobiert. Die Werte sind nicht wirklich die besten, das stimmt. Sie schwanken doch ein wenig.
    Das ist aber okay, deswegen nehme ich ja mehrere Messungen und mittel diese. Ausreiser-Werte werden vorher rausgeschmissen. Mit dieser Methode sind meine werte bisher recht stabil. Was die Zeiten, dann bedeuten werde ich selbst noch "kalibrieren". Geht also durchaus auch so und der Aufbau ist einfacher.


    Ich verwende übrigens den wiringPi pin 6. hatte ich in den anderen Post geschrieben, da ich es oben vergessen hatte.




    verwendet wird übrigens wie man sieht der wiringPi-Pin 6. Man sieht, dass der Pin jetzt auf OUT steht, allerdings sollte mein C++-Programm den Pin ja auch exportieren.


    Magic Happens....hab gerade mal updates auf den Pi installiert...jetzt gehts es....ich versteh die Welt nicht mehr.
    Egal. Hauptsache es geht jetzt.
    Danke.

    Hallo Leute,


    ich habe folgendes Problem. Ich habe mir einen Bodenfeuchtigkeitssensor aus einem koplanaren Kondensator gebastelt.


    Dazu hab ich ein kleinen Codeschnipsel mit wiringPi geschrieben um an den GPIO Pins abzufragen wann der Kondensator geladen ist und die Zeit die er dafür braucht zu messen.
    Das ganze funktioniert auch einwandfrei. Das Problem ist aber, dass das ganze nur funktioniert, wenn vorher das selbe programm in python geschrieben laufen lasse.
    Ich zeige euch am besten mal die Programme:




    Und die Funktion in C++ die von einem anderen Programm aufgerufen wird.



    das komische daran ist, dass von dem c++ Programm auch andere GPIOs genutzt werden. Die funktionieren allerdings einwandfrei. Es ist immer der Pin vom Sensor der spinnt. Habe auch schon den Pin des Sensors mal geändert. Selbes problem. es klappt wirklich immer erst wenn ich das pythonscript ausgeführt habe. Nach nem reboot geht es dann nicht mehr. Führe natürlich beide immer mit root rechten aus.


    Jemand ne Idee?


    Gruß
    Sc0rpe

    Auch danke für diesen Beitrag. Das hat mich jetzt schonmal ein stück näher gebracht.
    Ich habe jetzt also in der /etc/pam.d/common-session die Zeile

    Quote

    session optional pam_umask.so umask=0002

    eingetragen.
    Jetzt zeigt mir zwar der Befehl umas schonmal 0002 als gesetzte umask an...jedoch haben Dateien die ich erstelle trotzdem noch die rechte

    Quote

    -rw-rw-r--


    normalerweise sollten die rechte mit 0002 als umask doch

    Quote

    -rwxrwxr-x

    haben.
    Nur damit die Frage gar nicht erst gestellt wird - Ja ich hab nach dem editieren der common-session den RasPi neugestartet. Ebenfalls weis ich immer noch nicht wie ich es für nur einen Benutzer ändern kann.