Arduino: Probleme mit Interrupt bei laufenden Motor

Gast #4811822
Moin zusammen,

ich habe ein kleines Problem mit meinem Arduino. Ich möchte die Drehzahl 
eines DC Motors mittels Hall Sensor messen. Hierzu zähle ich die Zeit 
zwischen zwei fallenden Flanken (mittels Interrupt an INT0 / D2) Das 
funktioniert soweit auch ganz gut. Allerdings gibt es Probleme sobald 
ich de DC Motor anschließe. Dann wirft der AVR ständig unwillkürlich 
Interrupts (auch wenn ich das Eingangssignal auf Masse setze). Ersetze 
ich den Motor durch einen Widerstand  funktioniert wieder alles wie es 
soll.
Interessanterweise wird der Zustand des Pins bei manueller Auslesung in 
10ms Abstand korrekt angezeigt. Dennoch werden Interrupts geworfen.
Die Schaltung habe ich angehängt, vielleicht habt ihr ja eine Idee :)

Viele Grüße und Dankeschön!
Angehängte Dateien:
Gast
Da Du praktisch keine Informationen zur Schaltung rüberkommen lässt, 
sogar den Hallsensor entfernt hast, würde ich raten: C42 ist zu klein.

Trotzdem ein kleiner Tipp: Rund um Motore gibt immer es sehr viele 
Störungen. Eine extreme Entkopplung der Motorstromversorgung, von der 
des Mikrokontrollers kann nicht schaden. Da Du aber extrem zurückhaltend 
bist, was sinnvolle Informationen betrifft...
Gast
Völlig richtig! Ich habe diese vereinfacht hochgeladen. Wie gesagt 
werden auch Interrupts ausgeführt, wenn der INT0 Port dauerhaft auf 
Masse liegt.
(Firma: matzetronics)
Dein Motor stört die Versorgungsspannung mit Spannungspitzen, die bei 
Bürstenmotoren unvermeidbar sind. Deswegen sollten solche Motoren mit LC 
Kombinationen entstört werden, wie z.B. hier zu sehen:
Beitrag "RC-Servoelektronik für DC-Motor"
10nF können auch 47nF oder 100nF werden.
Zusätzlich ist es sinnvoll, die Betriebsspannung mit einem mittelgrossen 
Elko abzublocken (100µF-470µF).
Gast
Vielen Dank! Ich habe mal die Versorgungsspannung nach gemessen. Da 
sieht man das Problem doch sehr deutlich.
Ich melde mich nochmal sobald ich Ergebnisse habe.
Viele Grüße
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.