- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: Atmega spinnt beim Zählen von Impulsen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2013
    Beiträge
    8

    Atmega spinnt beim Zählen von Impulsen

    Anzeige

    Praxistest und DIY Projekte
    Hallo

    Ich habe ein Problem bei meinem Atmega8 der die Impulse der Gabellichtschranke ( Vishay TCST 2103) zählen soll. Ich messe die Drehzahl der Antriebsmotoren meines Roboters über eine Schlitzscheibe und eine Gabellichtschranke. Die Impulse kommen auf den Hardwareinterrupteingang (INT0) und werden von der Interruptroutine verarbeitet.
    Das Problem tritt auf, sobald die Motoren laufen. Es werden dann viel zu viele Impulse gezählt (mehrere hundert pro Sekunde). Drehe ich das Rad von Hand, stimmt die Impulszahl. Testweise habe ich die Gabellichtschranke ausgebaut und den Lichtstrahl unterbrochen. Wenn die Motoren dann laufen, werden auch mehrere hundert Impulse in der Sekunde gezählt.

    Die Software funktioniert einwandfrei, ich habe das mit einem Impulsgenerator getestet. Stehen die Motoren, ist alles in Ordnung. Laufen sie, sind es wieder zu viele.

    Die Motoren habe ich jeweils mit einem 100 nF Kondensator an den Anschlüssen entstört. Kann es sein, dass das zu wenig ist und deshalb das seltsame Verhalten verursacht wird?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Ist die Motorsteuerung mit Freilaufdioden versehen?
    Hat der Controller inkl. Lichtschranke(n) eine eigene Spannungsregelung? Günstig ist es auch, diese mit Diode und mehreren hundert µF zu puffern. Dann können eventuelle Spannungseinbrüche durch den Motorlaststrom nicht die Steuerelektronik beeinflussen.
    Ist die falsche Zählrate eventuell sogar gleich der PWM-Frequenz (ich geh mal von PMW aus) ?
    Je nachdem, wo die 100nF genau angeschlossen sind, kann das bei PWM.Betrieb auch schon zu viel des Guten sein.
    Geändert von RoboHolIC (15.11.2015 um 22:05 Uhr) Grund: Motor als Schuldiger war ja schon vom TO erkannt

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2013
    Beiträge
    8
    Hallo

    Freilaufdioden sind vorhanden
    Der Controller hat eine eigenen Low-Dropout-Spannungsregler. Die 5V-Seite ist mit einem 100 µF Kondensator gepuffert. Die Zählrate ist nicht gleich der PWM-Frequenz und schwankt auch. Die 100nF sind direkt an den Anschlussfahnen der Motoren angelötet.
    Danke für eure Hilfe.

    Gruß Marius

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Dann wird's langsam knifflig. Ein Fall für ein Oszilloskop.

    Gibt es einen Schaltplan? Manches wäre doch einfacher zu sehen anstatt es einzeln erfragen zu müssen.
    Vielleicht auch ein Bild vom Aufbau?

    Ist evtl. der Ausgang der Lichtschranke zu hochohmig und damit anfällig dafür, von einem Störsignal überlagert zu werden? Ist ein Arbeitswiderstand für den Phototransistor vorhanden?
    Gemeinsamer Massepunkt vorhanden für Controller und Motor?
    Verkabelung des Motors räumlich getrennt von der des Sensors?

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Dann wird's langsam knifflig. Ein Fall für ein Oszilloskop ..
    Genau. Ich hattes selbst schon Probleme mit Gabellichtschranken. Oft war die suboptimale Beschaltung der Grund z.B. dafür, dass die High´s und die Low´s ziemlich phantasievoll und eifrig ihre Pegel änderten - oder dass der eine oder andere Pegel von der Lichtschranke an der Grenze seiner Definition abgeliefert wurde. Und dann ist der Controllereingang mitunter überfordert, wenn z.B. Input High Voltage 0.6Vcc unterschreitet (siehe im Datenblatt unter Electrical characteristics/DC Characteristics.

    Allerdings kommt mir die Beschreibung am Beginn eher vor wie eine Art "Prellen". Ähnliches hatte ich allenfalls bei schlampigen Testaufbauten bzw. dürftig gefertigten Encoderscheiben gesehen. Aus meiner wirklich ersten Anfangszeit stammt dann die absolute Horrorlösung: in der ISR die Zeit seit dem letzten Interrupt prüfen - und wenn die zu kurz ist, dann mit return bis zum nächsten Signal warten :-/ (brrrrrrrrrr - ich weiß).

    .. Der Controller hat eine eigenen Low-Dropout-Spannungsregler ..
    Die Frage jetzt klingt schon leicht unverschämt : ist GND(Controller) mit GND(Lichtschranke) verbunden ?
    Ciao sagt der JoeamBerg

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2013
    Beiträge
    8
    Hallo

    Danke für eure Beiträge. Das Problem ist, das auch die Impulse aus einem Taktgenerator falsch gezählt werden, wenn der Motor läuft. Wenn die Motoren stillstehen, zählt der Controller die richtige Anzahl von Impulsen


    Gruß Marius

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    03.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Zitat Zitat von marius2 Beitrag anzeigen
    Das Problem ist, das auch die Impulse aus einem Taktgenerator falsch gezählt werden, wenn der Motor läuft. Wenn die Motoren stillstehen, zählt der Controller die richtige Anzahl von Impulsen
    So weit warst du ja bereits beim Eröffnungsbeitrag. Und mit GaLi + Encoderscheibe OHNE Motoren ist die Zählung ja auch in Ordnung, richtig?
    Dann sind eindeutig die Motoren die primären Verursacher. Das können sein
    - vom Motorstrom bewirkte Spannungseinbrüche auf der µC-Versorgung
    - GND nicht sternförmig verdrahtet
    - Schalt- bzw. Kommutierungsstörungen, die der Motor auf die µC-Versorgung drückt
    - Störungen, die dem Lichtschrankensignal überlagert sind.
    - fehlende oder zu kleine Abblockkondensatoren am µC
    Mehr wahrscheinliche Störungsmechanismen fallen mir nicht ein.

    Eine Frage noch:
    Zitat Zitat von marius2 Beitrag anzeigen
    Wenn die Motoren stillstehen
    Wodurch stehen sie still?
    - Motoransteuerung im Code ausgeblendet, also abweichender Code
    - Motoren blockiert (eher unwahrscheinlich, aber einen vorsichtigen Versuch wert)
    - Motoren gar nicht angeschlossen, Code tut aber so als ob

    Schön wären jetzt
    - ein Schaltplan der gesamten Schaltung inkl. Stromversorgung
    - der Code (AVR-Kenner vor!)
    - Messung der statischen H- und L-Spannungen, die die Lichtschranke an den Interrupteingang liefert
    - eine genaue Typbezeichnung des verwendeten Controllers
    - das Versuchsergebnis mit getrennter Controller- und Motorversorgung (GND_µC und GND_Mot verbunden)

    sonst drehen wir bald die nächste Runde im Kreis, aber nicht alle werden diese zweite Runde mitgehen.

    Ich wünsche Dir erkenntnisreiches Experimentieren.

    Gruß
    Christian.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Marius,
    Zitat Zitat von RoboHolIC Beitrag anzeigen
    Schön wären jetzt
    - ein Schaltplan der gesamten Schaltung inkl. Stromversorgung
    - der Code (AVR-Kenner vor!)
    - Messung der statischen H- und L-Spannungen, die die Lichtschranke an den Interrupteingang liefert
    - eine genaue Typbezeichnung des verwendeten Controllers
    - das Versuchsergebnis mit getrennter Controller- und Motorversorgung (GND_µC und GND_Mot verbunden)

    sonst drehen wir bald die nächste Runde im Kreis, aber nicht alle werden diese zweite Runde mitgehen.
    Es fehlt noch ein Foto vom Aufbau!
    Die tatsächliche Verdrahtung z.B. der Masse geht nicht aus dem Schaltplan hervor, kann aber den Unterschied zwischen spinnt und funktioniert ausmachen!

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. MPU6050 Gyro-Winkel spinnt beim drehen um die Z-Achse
    Von jojoho im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 10.06.2013, 09:38
  2. Registerfrage beim Atmega 8
    Von Asuroneuling im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 12.08.2009, 13:54
  3. ATMEGA 16 Schnittstelle spinnt.
    Von JensB im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 18.08.2006, 21:51
  4. Zählen von Impulsen
    Von BlackBroom im Forum C-Control II
    Antworten: 4
    Letzter Beitrag: 24.08.2005, 20:59
  5. Beim Pc-start "spinnt" die Relaiskarte
    Von RCO im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 30.06.2004, 23:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress