-
        

Ergebnis 1 bis 6 von 6

Thema: Interrupt zählt doppelt...

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.10.2010
    Beiträge
    46

    Interrupt zählt doppelt...

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Leute.

    Ich habe mir einen kleinen Roboter gebaut um etwas mit der Hardware und Software (Bascom) zu spielen.

    Die Hardware besteht im wesentlichen aus 2 Conrad Gleichstrommotoren mit 1:50 Untersetzung und einem Atmega16 der mit 16Mhz getaktet wird.

    Die Dreherkennung der Räder erfolgt über eine Gabellichtschranke und einem Lochrad auf der Achse der Räder.

    Nachdem ich anfangs das ganze über eine Prozedur abgefragt hatte (Schleife) bin ich nun dazu übergegangen die Impulse der "Odometer" auf Int0 und Int1 zu legen und eine variable hoch zu zählen die dann aus dem ganzen Programm abgefragt werden kann.

    Das ganze funktioniert auch soweit bis auf einen Kleinigkeit. Links wird doppelt gezählt aber nur dann wenn "beide" Motoren laufen.
    Drehe ich die Motoren von Hand, oder steuere ich sie einzeln an dann funktioniert es ohne Probleme und beide zähler zeigen den gleichen Wert an.

    Beide Motoren laufen auch synchron. Frage ich den rechten Zähler ab und stoppe die Motoren nach 16 Impulsen dann ist das genau eine Umdrehung mit beiden Motoren. Der rechte Zähler zeigt 16 an während der linke 32 anzeigt.

    Die Auswertung des Interrupts der Ports erfolgt mit fallender Flanke.
    Einen Verdrahtungsfehler am Port (Brücke) liegt nicht vor sonst würde der Zähler auch im Handbetrieb doppelt zählen Die Hardware funktioniert soweit.
    Ein Oszi habe ich leider nicht um eventuelle Störungen im Signal zu verfolgen.

    Ich habe absolut keine Ahnung woran das liegen kann das der Linke doppelt zählt.

    Vielleicht findet jemand von euch den Fehler. Ich beschäftige mich zu ersten mal mit Interrupts und habe möglicherweise irgendwo einen Fehler gemacht.

    In der "Sub Prog_test()" Routine befindet sich die Auswertung der Impulse.

    Ich habe als Anhang das Testprogramm angehängt.
    Das Testprogramm ist eine abgespeckte Version des Hauptprogrammes. Folglich liegen noch ein paar variablen herum die ich nicht entsorgt habe.

    Und, ja ich weiss man kann es besser machen

    Hoffende Grüße
    Thomas
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Für mich ist die doppelte Zählung durch EMV Störungen vom Motorstrom verursacht (Abschirmung von Leitungen ? ).
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.10.2010
    Beiträge
    46
    Hi.
    Die Leitungen sind zwar nicht geschirmt liegen aber gesondert von den Versorgungsleitungen der Motoren. Müsste dann nicht auch der Rechte doppelt zählen wenn beide Motoren laufen?

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Es könnte auch sein, dass der Widerstand von Masseleitungen zu gross ist. Hifreich beim Suchen könnte umstecken der Motoren sein, ob die Störung mit bestimmtem Motor zusammenhängt.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.10.2010
    Beiträge
    46
    Hi Picture,

    Du scheinst recht zu haben. Es muss an den Störungen liegen.
    Wenn ich die Motoren nur mit 30 PWM ansteuere dann bekomme ich nicht nur auf der linken Seite doppelte Impulse, sondern das fast 5 Fache. Auch die rechte "Zickt" nun rum.
    Je kürzer die Impulse für die Steuerung der Motoren desto mehr Müll scheint auf den Leitungen zu sein.
    Ein Oszi wäre jetzt genau das richtige.

    Danke für den Hinweis.

    Gruß
    Thomas

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Dann würde ich, falls möglich, noch versuchen die Stromspitzen zu verringern durch z.B. die PWM für Motoren glättende LC Tiefpässe. Es ist auch möglich, das die Störungen sich an den steuernden µC per Versorgungsspannung (VCC) übertragen, dann sollte eine Diode (für geringen Spannungsabfall Schottky) dagegen helfen (siehe Skizze).
    Code:
    
                           D
    
          Antrieb  <-----+->|-+-----> µC
         (Motoren)       |    |+
                         -   ===
                   Akku ---  /-\
                         |    |
                        ===  ===
                        GND  GND
    
    (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

Ähnliche Themen

  1. Rekord-Schnittstelle Thunderbolt: Doppelt so schnell wie USB 3.0
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 03.03.2011, 14:41
  2. AVR-->PC (RS232): Rx-Event kommt doppelt??
    Von Minifriese im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 0
    Letzter Beitrag: 17.07.2007, 21:34
  3. Eram doppelt ansprechen
    Von Gento im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 13.09.2006, 20:39
  4. Ausgeschaltete Schalter doppelt ausschalten ?
    Von Ausbilder 'Durchdrücker' im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 09.04.2005, 18:01
  5. MOSI/MISO doppelt nutzen mit 4053 - Jemand erfahrung?
    Von sebastian.heyn im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 16.03.2005, 13:31

Berechtigungen

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