- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Mehrere Signale über einen Interrupt erkennen

  1. #11
    Anzeige

    Powerstation Test
    Wenn ich das Problem richtig verstanden habe, dann ist eine Oder-Verknüpfung hier nicht zielführend.
    Minifriese will ja PWM-Signale auswerten. Dazu muss die Zeit messen die das das Signal High ist (T1) und ins Verhältnis zur Gesamtzeit (T2) setzen.
    Soweit ich weiß hat der Meaga8 ein sog. Input Capture Pin (ICP) mit dem man PWM Signale einfach messen kann. Ein bereits angesprochener Analog-Switch kann dazu vernwendet werden um jeweils nur ein PWM Signal mit dem ICP zu verbinden. Vorteil dieser Methode ist der relativ geringe Programmieraufwand und die hohe Genauigkeit des Messverfahrens. Nachteil ist dass man die einzelnen Signale nicht gleichzeitig sondern nur nacheinender messen kann.
    Als zweite Methode kann man wie auch schon angesprochen ein Interrupt Pin verwenden um den Mikrocontroller zu signalisieren dass sich eines der Signale geändert hat, der dann über ein eigenes Pin pro Signal checkt welches Signal das betrifft und so die x Signale gleichzeitig messen.
    Sowohl Und-Verknüpfung als auch Oder-Verknüpfung der einzelenen Signale zum interrupteingang bringen hier aber nicht den gewünschten Effekt. (Bei UND würde man nur den Übergang zwischen den Zusatand 'Alle Signale sind High (T1)' und 'mindestens ein Signal ist low' feststellen können - bei ODER würde man nur den Übergang zwischen 'kein Signal ist high' und 'mindestens ein Signal ist high' feststellen können).
    Mir fällt keine logische Funktion ein die genau den hier gestellten Anforderungen gerecht wird. Was man am ehesten noch verwenden könnte wäre ein Exklusives Oder (XOR). Mit einem XOR das die 4 Signale verknüpft würde sich der Ausgang des XOR's immer dann ändern wenn sich eines der Eingangssignale ändert. Ändern sich 2 genau zum gleichen Zeitpunkt, könnte man dies nicht feststellen.
    Ansonsten könnte man auch noch die Signale über einfache RC-Glieder integrieren und die resultierende Spannnung mit dem ADC des Mega8 messen.
    Hoffe meine Ausführungen sind halbwegs verständlich, Kommentare sind willkommen.
    lG
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken pwm_184.jpg  

  2. #12
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    45
    Beiträge
    269
    (Bei UND würde man nur den Übergang zwischen den Zusatand 'Alle Signale sind High (T1)' und 'mindestens ein Signal ist low' feststellen können - bei ODER würde man nur den Übergang zwischen 'kein Signal ist high' und 'mindestens ein Signal ist high' feststellen können).
    Neenee,

    Ich wollte mit dem UND ja nicht die vier PWMs verbinden, sonder jeweils ein PWM mit einem Ausgang des µPs verUNDen und das Ergebnis auf den Interrupt legen. Also vier UND-Gatter mit jeweils zwei Eingängen, nämlich je ein PWM und ein Ausgang des µPs.

    Wenn dann zum Beispiel PWM1 auf high geht, erkennt das meine Interruptroutine und schaltet den zugehörigen Ausgang auf Null (Ruhezustand für die vier Ausgänge müßte also high sein). Damit ist dieses UND nicht mehr erfüllt und PWM1 hat keinen Einfluß mehr auf den Interrupt.
    Nils

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    45
    Beiträge
    269
    (Bei UND würde man nur den Übergang zwischen den Zusatand 'Alle Signale sind High (T1)' und 'mindestens ein Signal ist low' feststellen können - bei ODER würde man nur den Übergang zwischen 'kein Signal ist high' und 'mindestens ein Signal ist high' feststellen können).
    Neenee,

    Ich wollte mit dem UND ja nicht die vier PWMs verbinden, sonder jeweils ein PWM mit einem Ausgang des µPs verUNDen und das Ergebnis auf den Interrupt legen. Also vier UND-Gatter mit jeweils zwei Eingängen, nämlich je ein PWM und ein Ausgang des µPs.

    Wenn dann zum Beispiel PWM1 auf high geht, erkennt das meine Interruptroutine und schaltet den zugehörigen Ausgang auf Null (Ruhezustand für die vier Ausgänge müßte also high sein). Damit ist dieses UND nicht mehr erfüllt und PWM1 hat keinen Einfluß mehr auf den Interrupt.
    Nils

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2004
    Beiträge
    181
    hmm also ist das so eine Art Multiplexer, wenn du dann immer einen PWM nacheinander einschaltest.

    Nur für jeden Messeingang einen Ausgang zusätzlich zu brauchen ist doch etwas "teuer". Lohnt sich da der Analogmux nicht mehr?

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    Die Lösung mit dem XOR(je 2 Eingänge verbinden und die Ergebnisse nochmal, also 3 Gatter) ist doch ganz gut: Du kriegst jede Änderung mit und kannst dann alle Pins überprüfen(wenn sich zwei gleichzeitig ändern, merkst du das zwar nicht, aber bei der nächsten Änderung sind dann, wenn die Frequenz gleich ist, 3 anders als vorher. Dann müsstest du das Ergebnis verwerfen und auf den nächsten Durchlauf warten (auf den Takt genau gleichzeitige Änderungen sind wahrscheinlich eine krasse Ausnahme.).).
    Welche Frequenz haben die Signale denn?
    Ein weiteres Problem könnte darin bestehen, dass der Timer, den du verwendest wohl irgendwann überläuft, wenn immer irgendein Signal läuft. Dann kannst du den nicht einfach zurücksetzen und musst den Überlauf irgendwie abfangen.
    Wenn die zeitliche Auflösung nicht so wichtig ist, wäre ein Multiplexer die Lösung der Wahl: Du schaltest nur ein Signal durch, wartest, bis eine Periode vorbei ist und machst dann mit dem nächsten weiter(dann könntest du sogar den Capture-Pin nehmen.).

    Kommen die PWMs tatsächlich aus unterschiedlichen Quellen?
    Wenn sie gleichzeitig starten würden (wie z.B. beim ADXL) oder nacheinander kämen(wie z.B. beim Modellempfänger) wäre die Sache erheblich einfacher.
    Geräte gleicher Frequenz lassen sich u.U. auch syncronisieren(auf gleichzeitigen Pulsbeginn).

    PS: Verrätst du uns, was du damit vor hast?
    it works best if you plug it (aus leidvoller Erfahrung)

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2004
    Beiträge
    181
    mit dem XOR wär ich vorsichtig...
    es kann wirklich je nach quelle recht wahrscheinlich sein, dass die signale sich gleichzeitig ändern.
    und selbst wenn sie sich knapp nacheinder ändern, kann es passieren, dass der spike der dadurch entsteht einfach verschluckt wird.
    probieren kann man es zwar, aber optimal ist es sicher nicht.

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    40
    Beiträge
    614
    Da also alle gefundenen Lösungen nicht für 4 PWM-Signale beliebiger Art optimal sind, muss wohl eine Lösung für einen ganz speziellen Fall her, dessen spezielle Eigenschaften wir leider (hoffentlich noch...) nicht kennen.
    und selbst wenn sie sich knapp nacheinder ändern, kann es passieren, dass der spike der dadurch entsteht einfach verschluckt wird.
    Das hängt natürlich einerseits von der Geschwindigkeit der Gatter und andererseits von der der Signale ab. Welche zu verpassen scheint Minifriese jedenfalls nicht zu gefallen (sonst würde ein Multiplexer wohl ausreichen.).
    it works best if you plug it (aus leidvoller Erfahrung)

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2004
    Beiträge
    181
    och wer was wissen will wird sich schon drum bemühen, dass einem geantwortet wird.

    und wenn man solch hohe anforderungen an die messgenauigkeit hat (alle signale) wird dann eventuell auch über bessere (mehr) hardware nachdenken müssen.

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    24.01.2004
    Beiträge
    222
    Ich gehe nochma eben von der Programmierung zur Hardware zurück.

    Zitat Zitat von Minifriese
    Bloß welches Bauteil wirkt wie so ein Schalter?
    Es sollte ja eine Art elektronischer Schalter her. Da Gibts doch diese "Schmitt-Trigger" ich mein ich hät ma irgendwo gesehen das das ein elektronischer Schalter ist. ist das so?


    mfg God

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2004
    Beiträge
    181
    hmm mit einem schmitti kann man eigentlich nix schalten.
    nur signale schnell auf einen definierten pegel bringen, da er unterschiedliche ein (logisch '1') - und ausschaltschwellen (logisch '0') hat

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

12V Akku bauen