www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Viele Schalter per Multiplexing mit AVR, "flackern"


Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe eine ganz simple Schaltung mit einem Atmega32, bei dem die 
Ports A,B und C zusammen mit den Pins 2-7 von Port D eine Matrix 
aufspannen, mit der dann (natürlich mit Dioden gegen Rückstrom) 144 
Schalter ausgelesen werden können. Dazu Schaltet eine Timer-ISR jeweils 
einen der Pins von D auf Low, die anderen bleiben High, und checkt 
danach die Ports A-C. Um die Matrix etwas übersichtlicher zu machen, 
habe ich sie auf eine zweite Platine ausgelagert, die mit der AVR 
Platine mit 0,5mm² Kabeln in 2,54mm Phoenix-Schraubklemmen verbunden 
ist. Die Schalter sind Mil-Spec Switches von Cole; ich habe sie mal 
durchgemessen, sie schalten sauber durch mit nahezu 0 Ohm. Die übrigen 
beiden Pins von PortD verwende ich für den UART. Nun wird im Program 
einfach ein Array von der Timer-Routine mit den Werten der Ports A-C 
gefüttert und von der Main ausgelesen und mit einem zweiten Array "old 
data" verglichen. Wenn ein unterschied besteht, dann wird die Bit-Nummer 
und der zustand per UART verschickt. Das funktioniert auch bereits bei 
einem Bord mit einem einzelnen Schalter wunderbar, bei einem zweiten 
Board mit 10 Schaltern habe ich aber das Problem, daß, anfangs nur alle 
paar Sekunden, danach immer häufiger, "Blindwerte" geschickt werden, 
also auch wenn ich keinen der Schalter berühre. Meist ist es die 
Bitnummer eines einzelnen Schalters. Schalte ich diesen, passiert 
manchmal gar nichts, schalte ich dann einen anderen, wird es viel 
schlimmer. Die verwendeten Kabel sind ca 20cm cm lang, sind alle 
durchgemessen. Die abtastrate liegt bei ca 300Hz.
Habt Ihr eine Idee, woran sowas grundsätzlich liegen kann? 
Softwarefehler kann ich denke ich ausschließen, da das Problem nur dann 
auftritt, wenn die Schalter angeschlossen sind.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die SW besitzt einen Fehler in Zeile 42. Bei Bauteil 42 tritt Fehler 42 
auf.

Bernhard

Autor: vuyfv (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kapazitaeten. Schaltplan?

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfreichen Antworten. Das Projekt ist zu umfangreich um 
den Quelltext zu posten, der Schaltplan sieht einfach so aus, daß die 
Pins direkt auf eine Phoenix-Klemme gehn, von wo aus sie dann per Kabel 
(~10cm) mit der zweiten Platine verbunden sind. Dort wieder eine Klemme 
und die verbindung auf die Matrix

K----------|----------|-------------|   (Klemme zu einem Pin von PA-PC)
           |          |             |
           ^          ^             ^   (Dioden)
           |          |             |
          KK         KK            KK  (Klemmen, zw. jedem Paar ein 
Schalter)
          |          |             |
K---------|----------|-------------|   (Klemme zu einem der Pins von PD)

Dass eine Ferndiagnose bei einem speziellen Problem nicht geht ist mir 
schon klar, ich habe einfach bei Weitem nicht so viel Erfahrung in der 
Elektronik wie so manch anderer User dieses Forums, vielleicht gibt es 
bei solchen Schaltungen ja bekannte Probleme und Standardlösungen, die 
ich einfach nicht kenne. Darauf ziehlt das ganze ab.

vuyfv frage nach Kapazitäten, gibt es eine Möglichkeit, herauszufinden 
ob es daran liegt?nn

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.