Hoher Strom bei Taster am Eingan

Gast #1630828
Lesenswert?

Hi
Ich habe mir ein Experimentierboard gebaut und bin jetzt grad ein wenig 
am rumprobieren.
Ich habe auf dem Experimentierboard einen Atmega128 mit 8 LEDs an PortA 
und 8 Tasten an PortB gegen 0V. Intern habe ich den PullUp aktiv.
Jetzt habe ich das Problem, daß wenn ich eine Taste drücke der Strom um 
150 mA pro Taste steigt. Wenn ich einen externen PullUp einbaue und den 
internen abschalte wird wiederrum der Taster nicht erkannt.
Mein Mini-Progrämmchen sieht so aus:

#include <avr/io.h>                             // I/O-Definitionen
#include <stdint.h>                   // Standard Integer Typen
#define  F_CPU 16000000                        // CPU Clock für 
Wartezeiten für
#include <util/delay.h>

void main (void)
  {
  int I;
  DDRA = 0xFF;
  DDRB = 0xFF;
  DDRC = 0x00;
  PORTC = 0xFF;
  while(1)
    {
    PORTA  = ~I;
    PORTB  = ~PINC;
    //PORTC  = ~I;

    _delay_ms (100);

    if (PINC == 0b11111110)
    {
    I++;
    }
    if (PINC== 0b11111101)
    {
    I--;
    }
    if (PINC== 0b11111011)
    {
    I=0xFF;
    }
    if (PINC== 0b11110111)
    {
    I=0x00;
    }


    }
  }
Gast #1631304
Lesenswert?

So Hallo nochmal und danke für die Antworten.
Ich bin jetzt erst nach Hause gekommen und deshalb kommt auch jetzt erst 
die Schaltung.

Bemerkungen: Ich habe die Schaltung für mich und einen Kumpel entworfen 
und so universell gehalten wie möglich. Als erstes habe ich ein 
Mainboard mit dem Atmega, der Stromversorgung, RS232, USB und für jeden 
Port einen für mich genormten 16 poligen Stecker mit den einzelnen Port 
Bits, 5V und 0V. Dazu habe ich mir ein Tastenboard und ein LED Board 
gemacht. Es wird noch ein LCD Board und bei Bedarf noch anderes hinzu 
entwickelt.
Mainboard und Tastenboard habe ich mit reingestellt.
Ich weiss nicht was ich hätte viel falsch machen können. Derzeit sind 
der Max232- und der USB Chip nicht auf der Platine verbaut.
Angehängte Dateien:
#1631314
Lesenswert?

Hab ich was auf den Augen oder hast du die LED ohne Vorwiderstand 
angeschlossen?

Anyway. Wenn die LED die 150mA verursachen würden, wären sie schon 
längst gestorben.
Auf dem Photo kann man leider nicht viel erkennen. Such alle Bahnen nach 
Kurzschlüssen nach GND oder Vcc ab.

Wie war das nochmal: Du drückst einen Taster und dann rinnen 150mA mehr.
-> Klingle speziell die Tastenleitungen nach Kurzschlüssen ab. Irgendwo 
müsste da imho was sein.
Gast #1631316
Lesenswert?

Öhm die LEDs haben SMD Vorwiderstände. Kurzschlüsse kann ich keine 
finden. Eagle meckert auch keine übereinander liegenden Leitungen im 
Layout an. Mein kumpel hat sein Board auch schon fertig (Gleicher 
Aufbaustand) und er hat das selbe Problem.
#1631318
Lesenswert?

Schau dir auch das Flachbandkabel genau an ob es richtig rum gequetscht 
wurde. (Ist mir schon mal passiert. Meine Taster haben dann einen 
Kurzschluss getastet :-)

Wenn du einen Durchgangsprüfer hast, dann stelle fest, ob die Leitung 
vom Taster auch wirklich zum richtigen Pin am 128er geht. Bei der 
Gelegenheit auch gleich durchklingeln, ob es eine Verbindung zu Vcc oder 
GND gibt (bei ungedrücktem Taster)

Das ist irgendein Problem im Aufbau. Wenn du den Taster betätigst, 
schliesst du irgendwas kurz und das löst dann die 150mA aus.
Gast #1631324
Lesenswert?

Die Schaltung will mich für dumm verkaufen ;)

Flachbandkabel Durchgepiepst und auf verdrehung geprüft: I.O.
Beim drücken der Taster 0V gegen Pin gepiepst: I.O.
Port-Pins gegeneinander gepiepst: I.O. (Kein Kontakt ;))

Anmerkungd er Strom der Platinenversorgung steigt pro gedrücker Taste so 
um die 80-100 mA. (Nein ich drücke jetzt nicht alle ^^ nur 2-3 und nur 
kurzzeitig)
Gast #1631370
Lesenswert?

Ich sehe, dass der Steckverbinder der Tastenplatine SV8 heißt, ein 
gleichnamiger auf der Hauptplatine heißt auch SV8 an Port A - und die 
sind als Ausgänge konfiguriert.
Sollten nun doch die beiden SV8 zusammengekommen sein? Dann wären die 
Taster auf den Ausgängen.
#1631393
Lesenswert?

Massa-Master schrieb:
> Oh mann Ihr seid Toll... Ich hoffe das mit dem MC103 isses^^ werde ich
> allerdings erst morgen sehen :(
>
> ja der AVCC ist nicht angeschlossen

Keine gute Idee.
Dann kannst du den ganzen Port A nicht benutzen.
(Avcc ist die Versorgung für Port A. Du brauchst sie, unabhängig davon, 
ob du den ADC benutzt oder nicht. Also vid, vid, schnell ein Drähtchen 
zu Vcc eingelötet und einen 100nF nach GND nóch drannpappen)
Und wenn du schon dabei bist, machst du auch noch einen 100nF 
Kondensator von ARef nach GND
Gast #1631405
Lesenswert?

OK. Nochmal Rückmeldung....
Hab jetz meinen uralten verstaubten Parallel Programmer rausgekramt. Es 
lag natürlich an der MC103. Ihr seid Spitze.
Zum Letzten Post: die vorgeschlagenen Änderungen werden schnellstmöglich 
eingebaut ^^ Will morgen endlich mal mein T6963 LCD anbauen und testen.

Habt noch einmal vieeeeeeelen dank. Immer wieder toll nette Hilfe im 
I-Net zu finden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren