Ohhh mannooo - stimmt. Ich hatte das stillschweigend vorausgesetzt. Das ist bei Dir (*gg* auch *gg*) ein Erfahrungswert ?.. was ist Ausgang der unbelasteten Schaltung .. Ist der ATmega-Pin auf Output konfiguriert ..
Ohhh mannooo - stimmt. Ich hatte das stillschweigend vorausgesetzt. Das ist bei Dir (*gg* auch *gg*) ein Erfahrungswert ?.. was ist Ausgang der unbelasteten Schaltung .. Ist der ATmega-Pin auf Output konfiguriert ..
Ciao sagt der JoeamBerg
Ist ein wenig ein Schuß ins Blaue. Ob er trifft kommt drauf an wie Christian seine Signalerzeugung programmiert hat. Bei Verwendung des HW-Ausgangs eines Timers muß er ja den zugeordneten Pin auf Output programmieren. Sonst kommt da nicht das timererzeugte Signal raus.
Wenn er aber immer Pegelwechsel ins PORT Register schreibt, könnte es sein, daß er damit den Pullup immer aus- und einschaltet wenn der Portpin ein INPUT ist. Der Strom darüber könnte dann zu schwach sein um die Servos anzusteuern und die Spannung bricht deshalb zusammen. Das Oszi kann trotzdem bei unbelastetem Portpin ein 5V Signal zeigen.
Einen ähnlichen Effekt hatte ich tatsächlich mal. Nicht mit Servos aber ganz banal mit LEDs, die nicht richtig "brennen" wollten. Ich kann mich nur nicht erinnern, was das Oszi bei offenem Portpin und abgeschalteten Pullup angezeigt hatte. Der Portpin floatet dann ja.
Bin jetzt mal gespannt, wo sich der Hase tatsächlich im Pfeffer wälzt
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Hallo Searcher, Hallo Oberalllgeier
guter Hinweis.
Hier die Konfiguration im Bascom Programm:
Config Portc.1 = Output 'Pin 24
Config Portc.2 = Output 'Pin 25
Ich kann nur hoffen daß der Compiler das macht was er soll.
GND ist für V_MCU und V_Vers identisch.
Beide Spannungsregler 7805 werden von einem 12V Labornetzteil gespeist.
Ich kann mir nicht vorstellen daß der Eingang des Servos so niederohmig ist und den Pegel von PortC.1 so nach unten zieht.
Die Ausgänge sollte doch bis 20mA locker verkraften.
Um eine Übersicht des Strombedarf zu bekommen habe ich ein digitales Multimeter in den Stromkreis des Labornetzteils eingeschleift.
Schaltung ohne Sensor 30 mA
nur Servo1 eingesteckt 44 mA
nur Servo2 eingesteckt 45 - 56 mA
Servo 1+2 eingesteckt 65 - 70 mA
Servo1 in Bewegung, Servo2 eingesteckt 120 mA
Servo1 in Arbeitsposition, stehend, Servo2 eingesteckt 75 - 84 mA
Servo2 in Bewegung, Servo1 eingesteckt 120 mA
beste Grüße
Christian
Geändert von autoguider (18.12.2020 um 16:58 Uhr)
Hi Christian.
Kann Dein Labornetzteil die Spannung regeln? Oder ist das wirklich ne Festspannung 12 V? Welchen Strom kann das Netzteil liefern? (oder einfacher für Dich: Typangabe - wenns nicht irgendein Exot ist)... Beide Spannungsregler 7805 werden von einem 12V Labornetzteil gespeist ..
Wenns regelbar wäre: dann könntest Du das Netzteil auf 5V einstellen, den Controller UND die Servos dran hängen, und dann den Aufbau testen.
Vorstellen ist gut, messen ist besser. Du hast schon Oszilloskopmessungen gemacht. Wie wärs, wenn Du die EINGANGSspannung der Servos (nach dem 7805) mit dem Oskar so misst wie ich es oben beschrieben hatte. Mit vergleichbarer zeitlicher Auflösung. Trigger war bei mir die Servo-Lieferspannung, fallende Flanke (= Spannungseinbruch)... Ich kann mir nicht vorstellen daß der Eingang des Servos so niederohmig ist ..
Ciao sagt der JoeamBerg
Hallo Oberallgeier,
es ist ein PeakTech 6080
Ich habe mit dem Oskar nachgemessen als Deine Oszillogramme sah.
Da ich meinen 2. taskopf verliehen habe, habe ich einfach eine Litze in den Eingang von Kanal 2 gesteckt.
Es sieht ganz vernünftig aus, Keine Einbrüche. Ich sehe dort für die Dauer des Impulses ca. 20V "Gezappel". Der Oskar hat eine bandbreite von 200MHz (Tek 2432).
beste Grüße
Christian
Solange ich mich noch tiefer ins Programm grabe: Der AVCC Pin des ATmega328P ist schon sicher mit Vcc (5V) verbunden? Der versorgt auch PC0, PC1, PC2 und PC3.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
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.
Ciao sagt der JoeamBerg
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
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Danke für den Schaltplan... 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 . . . ?
Ciao sagt der JoeamBerg
Lesezeichen