Genauso ist es.
Beste Grüße
Christian
Druckbare Version
Genauso ist es.
Beste Grüße
Christian
Hmmm, 20voltiges Gezappel - sieht vernünftig aus? Das klingt mir nicht wirklich schlüssig. Die Versorgung von Servos soll, wie ne übliche (gute) Versorgung, möglichst stabil sein, Rippel allenfalls im Millivoltbereich. Und ein 20V "Gezappel" würde ich mal ziemlich ernst sehen und dringend behandlungsbedürftig, zumal die Versorgung ja allenfalls 12 V sein kann - selbst da würde ich die 78xx-er schon als defekt erklären. Oder eine Induktivität in der gesamten Leitung suchen. Und zumindest für die künftigen Tests mit ner Freilaufdiode den Spannungsregler brücken.
Du siehst ja, dass laut meinem Oskarbild nach einem Einbruch der Servo-Versorgungsspannung sich wieder eine Erholung abzeichnet. Der Einbruch ist eindeutig dem Anfahren des Servos zugeordnet; der Trigger auf die fallende Flanke des Servo-(+) im Kanal der Servoversorgung löst das "Gezappel" zweifelsfrei aus.
Ich komme so langsam weg von einem SW-Problem. In den, bei mcselec geposteten Codeschnipseln sehe ich keine anderen Schreibzugriffe auf GPIOs als auf PORTC der Servoports (PC1, PC2).
Hoffentlich versteckt sich da im übrigen Programm nicht noch ein Bug.
Ich finde das 20V Gezappel auch irritierend.
Bei Anschluß von Servo1 an PC1 brechen die Steuersignalpulse auf 1V zusammen. Bei Servo2 an PC2 nicht?
Portpin am ATmega kaputt!?
Wie sieht es mit LEDs statt der Servos aus? Ich nehme oft einen 1k Widerstand und eine LED mit 2V Flußspannung zum Testen wenn ich noch keine echte HW anschließen möchte. Schließt dann unerwartete Rückwirkungen aus den Servos heraus aus.
Man könnte dann auch die Servo Signalleitungen über Dioden an den µC anschließen und sehen was das Oszi zeigt:
PC1 ---- ->| ----Servo1
..............D
PC2 ---- ->| ----Servo2
..............D
Gruß
Searcher
Hallo Searcher,
Sorry, ich habe zu schnell geschrieben. Es ist ein 20 mV Gezappel. 20 V wäre zu heftig allerdings per Selbstinduktion möglich.
Dafür habe ich in der Versorgungsspannug für die Servos eine Freilaufdiode vorgesehen.
Die Spannung der Ansteuerimpulse bricht bei beiden Servos zusammen sobald ich sie anschließe.
Die von Dir vorgeschlagenen Diode habe ich in die Signalleitung des ruckelnden Servos eingelötet.
Messung zwischen µP und Diode egab 1,9 V. Dahinter, d.h. nach der Diode und Servo gemessen ca. 300 mV. Das Servo reagiert nicht mehr.
Ich habe danach "spasseshalber" die Diode in Sperrichtung eingelötet. Dann messe ich vor der Diode die 5V TTL Spannung, wie zu erwarten war.
Hinter der Diode messe ich 0V.
Entschuldigung für das verlorengegangene m bei den Volts.
beste Grüße
Christian
Es wäre wohl nützlich, wenn Du uns Deinen Schaltplan mal zeigst. Muss nix aufwendiges sein, eine einfache Bleistiftskizze reicht. So ungefähr - ich mach manchmal sogar nen Belegungsplan dazu. Da versteht man meist mehr als von nem Foto (z.B. zu den vorigen Skizzen).Zitat:
.. Die von Dir vorgeschlagenen Diode habe ich in die Signalleitung des ruckelnden Servos eingelötet ..
Ist das auf einer eigenen Platine aufgebaut oder auf einem Steckbrett?
Hallo,
kein Problem wg. der mV.
Also das sieht für mich so aus, als wenn die Servos so viel Strom ziehen. daß die Spannung zusammenbricht. Deshalb scheint Servo1 nur halbseiden zu gehen. Das Servo2 gut läuft ist vielleicht nur Zufall. Ich kenne die Servos nicht, scheint mir aber zimlich unwahrscheinlich zu sein
Mit den Dioden in Sperrichtung werden die Ausgänge des µC ja überhaupt nicht belastet. Falls Du Leuchtdioden hast, die statt der Servos mit einem 1k Widerstand in Reihe an die Portpins nach GND schalten und messen. Sollten dann natürlich auch schwach leuchten. Statt 1k leuchten die mit 470 Ohm in Reihe schon bißchen besser. Nicht, daß die Portpins kaputt sind und die Spannung schon unter geringer Belastung zusammenbricht. Das scheint mir wahrscheinlicher.
Oder die Servos ziehen tatsächlich soviel. Dann über Transistoren mit Gewalt die Servos füttern. Das scheint mir aber kaum wahrscheinlich.
Oder auch andere Portpins ausprobieren. Bedeutet natürlich die ASM Routinen anpassen :-(
Gruß
Searcher
- - - Aktualisiert - - -
... und vielleicht auch das komplette Programm im Anhang oder so.
Gruß
Searcher
Hier kommt der Plan.
Nichts besonderes. Von JP_Ausgang deht es über ein Flachbandkabel an eine Dsub Buchse (9 Polig) dann über ein Flachbandkabel wieder an einen Dsub Steckverbinder in eine Verteilplatine.
Von dort aus geht es an die Servos.
Der FET schaltet eine Beleuchtung (100 mA) an. Diese ist derzeit abgeklemmt und spielt bei den Problemen keine Rolle.
Anhang 35365
beste Grüße
Christian
Danke für den Schaltplan.Zitat:
.. mit dem Oskar nachgemessen .. Es sieht ganz vernünftig aus, Keine Einbrüche . Ich sehe dort für die Dauer des Impulses ca. 20V ..
Mein vorgestellter Bildschirmdump vom Oszilloskop ist sehr speziell. Dort liegt das Hauptaugenmerk auf der sprunghaften Änderung der Pulsdauer von 826 µs auf 2426 µs, also um 1,6 ms (daher der Trigger auf fallende Flanke des Vcc-Servo bei 4V !). Bei "normalem" Betrieb sehe ich keine Probleme. Allerdings weiß ich aus eigener Erfahrung, dass bei Servos hinter einem 7805 schon beim Anfahren erhebliche Störungen auftreten können, weil die eben - insbes. beim Anfahren - ein Vielfaches des Stroms vom "Normalbetrieb" ziehen - und das für Sekundenbruchteile. Is ja klar: ein DC-Motor zieht im Stillstand immer maximalen Strom . . . Diese Zeit hatte ich noch nie gemessen. Auch ne Strommessung . . . n Test mit meinen 3mΩ-Widerstand (5W) werde ich diese Tage auch nicht aufbauen.
Noch mal: der 7805 ist je nach Fabrikat für 1A (z.B. Toshiba) bis 1,5A (TI) spezifiziert. Und das war bei meinen wenigen Versuchen mit stärkeren Servos hinterm 7805 eindeutig zu wenig. Da Du ja zwei Servos an einem 7805 hast kann ich mir gut vorstellen, dass beim Einschalten mindestens einer ins Koma fällt. Vielleicht kannst Du doch mal nen 78S05 versuchen? Kompatibel bis auf spezifizierte 2A - und die sind immer noch ziemlich wenig für zwei große Servos. Oder, besser: versuchs doch mal mit nem Handy-Netzteil für Deinen Controllerzweig (USB - 5V/0,5A - reicht sicher für Deine Schaltung) und häng die beiden Servos an das 6080 @ 5V/3A. Und schau was dann passiert.
Anmerkung: im Schaltplan ist ein Mega5P dargestellt? Oder ist mein Bildschirm krank? Du schreibst von nem mega328P . . . ?
Hallo Christian,
ich konnte es nicht lassen und habe versucht auch ein Programm zu machen. Wenn Du dich traust, kannst Du das Angehängte probieren. Ich hoffe ich habe die Funktionen richtig getroffen. Ist mit LEDs getestet, die etwa 6 mA aus den Ausgängen gesogen haben. Wird mit einem Taster an PD7 bedient. Laut Oszi keine Probleme.
Gruß
Searcher
EDIT Bug im Programm entdeckt und berichtigt: POP 19 statt POP 29
Vielen Dank für Eure Antworten und Hilfen.
Auf Anraten des Herstellers habe ich die Versorgungsspannung der Servos mittels 7806 auf 6V erhöht. Es ruckelt nicht mehr. Dennoch bleiben Ungereimtheiten.
Der Logikpegel bricht nach wie vor auf 1V ein. Ich habe testweise ein HYX-S0009 Servo an meine Schaltung gehangen. Der Logikpegel blieb bei 5V. Also scheint es an den Servos zu liegen.
Zu Beginn und zum Ende eines Steuerimpulses gibt es Spitzen in Spannung und Strom.
Die Spannungsspitzen konnte ich durch Einbau eines 200 nF Folienkondensators in Nähe des Servos abfangen. Die Spitzen im Strom dagegen nicht. Mit dem Logikpegel von 1V bin ich nicht glücklich. Der hersteller gab bisher keine Antworten dazu.
Meine Oszillogramme möchte ich gerne mit Euch teilen.
In den Oszillogrammen bezeichnet S1 Servo 1 und S2 Servo 2. Die Messungen erfolgten immer an Servo1.
U-Control_1 .jpgAnhang 35392 zeigt den Steuerimpuls vor Einbau des Folienkondensators. Servo2 erzeugt Spannungsspitzen im Steuersignal von Servo1.
Danach habe ich jedes Servo jeweils mit eigenen Zuleitungen für Masse und Versorgungspannung (6V) versehen und einen 200 nF Folienkond. zwischen Impulseingang von Servo1 und Masse gelegt.
Siehe U_Control_HiRes.jpg.
Anhang 35393Die Impulsform ist noch nicht glatt.
In U_Control_HiResWide.jpg sieht man daß der Einfluß von Servo2 deutlich verringert ist.
Anhang 35394
Danach habe ich beide Servos von der Schaltung getrennt d.h. Betrieb im Leerlauf.
Messung an der Impulsausgang für Servo1.
In UControl_NoServo.jpg sieht man weiterhin Spannungsspitzen zu Beginn und Ende des Impulses.
Anhang 35395
Auch hier sind Auswirkungen von Servo2 erkennbar.
Die Größe und Art des Überschwingens sieht man auf U_Control_NoServoStart.jpg
Anhang 35396
Nun zur Strommessung:
Zunächst habe ich die Messungen an einem 1 Ohm Längswiderstand durchgeführt. Auf Anraten eine Freundes, der im Bbereich Hardwareentwicklung tätig war, habe ich mir ich aus 2 parallelgeschalteten 1 Ohm Widerständen einen 0,5 Ohm Widerstand gebaut und in die Impulsleitung von Servo1 eingebracht.
Um die Varianz der Schwankungen zu erfassen betrieb ich den Oszi zuerst im Envelope Modus. Danach ergibt sich bei Servo1 eine Spannungsspitze von 620 mV was einem Strom von 1,2 A entspricht.
Anhang 35397
Siehe I_Control_05Ohm_2.jpg. Auch Servo2 macht sich bemerkbar.
In I_ControlHiRes.jpg ist der Stromverlauf des Steuerimpulses von Servo1 höher aufgelöst dargestellt.
Anhang 35398
Danach wollte ich wissen wie die Verhältnisse im Leerlauf sind.
Zunächst entfernte ich das Bandkabel und konnte einen Einschwingvorgang mit max. Amplitude von ca. 200 mV -> 400 mA messen bei ca. 3,6 MHz. Diese war nach 3 µs abgeklungen.
Nach Einstecken des Bandkabels vergrößerte sich der Überschwinger auf 1500 mV bei 4MHz Frequenz. Diese war nach 5µs abgeklungen.
Dann steckte ich das andere Ende an meine Verteilplatine ( mit 200 nF Kond.) der Überschwinger betrug dann 400 mV -> 800mA @160 kHz. Eingeschwungener zustand nach ca. 40 µs erreicht.
Das klingt plausibel da die Kapazität und die Induktivität des Schwingkreises erhöht wurde.
Ich hatte eigentlich nicht damit gerechnet in Bereiche der HF-Technik zu kommen.
Der Aufbau auf Lochrasterplatine ist sicherlich auch nicht HF konform.
Habt ihr evtl. Empfehlungen zu Servos mit 270° Stellbereich und doppeltem Lager?
beste Grüße
Christian