- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: Atmega spinnt beim Zählen von Impulsen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.12.2013
    Beiträge
    8

    Atmega spinnt beim Zählen von Impulsen

    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

Ä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
  •  

LiFePO4 Speicher Test