Forum: Mikrocontroller und Digitale Elektronik Problem mit ATMEGA16 / bread board / Netzteil


von sw (Gast)


Lesenswert?

Hallo,

ich bin am verzweifeln denn ich habe ein seltsames Problem.
Meine Schaltung ist auf einem bread board aufgebaut, die 
Versorungsspannung wird von einem Steckernetzteil (ohne Erdung) 
geliefert.  Ich habe am ATMEGA einen Schalter und eine LED 
angeschlossen, und mein einfaches Testprogramm funktioniert auch. 
(entprelltes Ein- Ausschalten der LED) Der ISP ist noch verbunden!

ABER:
Jetzt entferne ich den ISP und dann funktioniert es nur noch wenn ich 
mit dem Finger einen Kontakt, entweder auf +5V oder auf Minus, berühre 
und den Taster drücke. Berühre ich nichts und drücke nur auf den Taster 
schaltet sich die LED weder an noch aus. Wenn ich einen der Pole 
mehrfach antippe führt es dazu das die LED sporadisch an bzw. wieder aus 
geht.

Ich bin überfordert, hat mir jemand einen Tipp? kann es am Netzteil 
liegen?

von Karl H. (kbuchegg)


Lesenswert?

KLingt für mich eher nach Wackelkontakt im Breadboard. Durch das 
Berühren übst du leichten Druck auf das IC aus, so dass sich der 
Wackelkontakt schliesst.


Mach doch mal ein Photo vom Aufbau. Aber bitte so, dass man auch was 
erkennen kann.

Ansonsten, die üblichen Verdächtigen: Programm herzeigen. Vielleicht 
hast du auch einfach nur die Pullup Widerstände vergessen einzuschalten.

von sw (Gast)


Angehängte Dateien:

Lesenswert?

danke für die Hinweise, also einen Wackelkontakt kann ich ausschließen.. 
egal wo ich berühre.... ich habe die Eingangspannung mit einen 7805 
stabilisiert (von 12 V auf 5V), auch wenn ich den zB. den +12V Pol 
berühre gehts dann... das Programm scheint auch ok zu sein, solange der 
ISP drann hängt läuft es! Der ISP macht wohl eine zusätzliche 
Masseverbindung!?
1
.
2
.
3
DDRC  = 0xFF;  // PC0..PC7 as output
4
5
PORTC = 0x00;  // all PORTC output pins Off
6
7
DDRA  = 0x00;  //all A port pins as input
8
9
PORTA=(1<<PA0);  //Enable internal Pull-Up resistors
10
.
11
.

von sw (Gast)


Lesenswert?

den ISP habe ich testweise abgeklemmt, geändert hat sich dadurch nichts. 
die 3 grünen Kabel rechts unten führen zu einem sub-d stecker, auch wenn 
ich dort minus berühre funktioniert es. Aber eben nur wenn...

von Flo (Gast)


Lesenswert?

Wie schließt du deinen ISP an? Bild?

von sw (Gast)


Lesenswert?

ich bin sw! hab mich jetzt eingeloggt :-)

der ISP war über einen 10 poligen Wannenstecker, quasi freiluftmäsig, 
angeschlossen.. ist ein serieller.

reicht dies als Info?

von Flo (Gast)


Lesenswert?

kanns mir vorstellen :D
Hast du deine Masse schon überall überprüft (mit Multimeter oder 
Piepser)?

von MarioT (Gast)


Lesenswert?

Der Aufbau ist nicht gut. Bevor Du versuchst da Fehler zu finden, ist es 
besser erstmal die Kabel umzustecken. Den Quarz mußt Du direkt an den µC 
bringen daneben die C und direkt nach Masse am µC. Du gehst mit deiner 
Masse erst zu den LED dann zum µC und der Quarz ist wieder wo anders. 
Das ist alles Zufall wenn da was geht.

von Karl H. (kbuchegg)


Lesenswert?

sw schrieb:

> ISP drann hängt läuft es! Der ISP macht wohl eine zusätzliche
> Masseverbindung!?

Ich hab dein Bild jetzt abgesucht. Ich kann keine fehlende Masse 
entdecken.

Bei meinem Steckbrett hab ich das so gelöst, dass Vcc und Masse 
grundsätzlich auf die beiden waagrechten Schienen aufgeschaltet werden.
Ich hab also in der Mitte die kurzen Verbinder (du hast so einen 
drinnen, ein kurzes oranges Stück) grundsätzlich auf den 
Versorgungsschienen aller 8 waagrechten Bahnen drinnen um die Schienen 
durchgehend zu bekommen.
Die Versorgungsbahnen sind am Rand des Steckbretts ebenfalls 
grundsätzlich mit möglichst passenden Stücken verbunden, die nicht in 
der Luft rumhängen.

Also nicht so wie du, dass da eine VCC Verbindung quer über den 
Prozessor, eine Masseverbindung links, eine rechts läuft.

Ich hab mir auch mit schwarzem und rotem Edding die Bahnen markiert, 
damit ich Vcc und GND nicht irrtümlich verwechsle.

Ich denke auch, dass irgendwo die Masse fehlt, wenn deine waagrechten 
Bahnen nur 1 mal (in der MItte) im Steckbrett unterteilt sind, dann seh 
ich aber nicht wo. Bei meinem Steckbrett muss ich zb jeweils 2 Brücken 
pro Bahn einsetzen.

Ich würde: zuerst mal aufräumen, indem ich mir auf dem Steckbrett Vcc 
und Masse möglichst 'fix' verlege und auch die korrekte Verbindung 
durchklingle.

1
  ---------------------------- +++ ------------------------------+   +5V
2
  ---------------------------- +++ ----------------------------+-|   GND
3
                                                               + +
4
                                                               + +
5
                                                               + +
6
                                                               + +
7
  +--------------------------- +++ ----------------------------|-+   +5V
8
  |-+------------------------- +++ ----------------------------+--   GND
9
  + |
10
  +-|------------------------- +++ ------------------------------+   +5V
11
  --+------------------------- +++ ----------------------------+-|   GND
12
                                                               + +
13
                                                               + +
14
                                                               + +
15
                                                               + +
16
  ---------------------------- +++ ----------------------------|-+   +5V
17
  ---------------------------- +++ ----------------------------+--   GND
Die + sind jeweils möglichst exakt passende Drahtbrücken. Damit sind 
alle waagrechten Schienen grundsätzlich paarweise miteinander verbunden. 
Du brauchst nur mit dem Ohmmeter kontrollieren ob du vom linken oberen 
Eck zum linken unteren Eck Durchgang hast um sicher zu gehen, dass auch 
überall Vcc bzw GND vorhanden ist.

Ab sofort kannst du dann immer den kürzesten Weg zum nächsten 
Versorgungspin nehmen und reduzierst damit den Drahtverhau ein wenig. Es 
ist auch angenehm, wenn man nicht groß nachdenken muss, ob man auf 
dieser Teilschiene Masse schon da hat oder nicht. Sie ist einfach da, 
dank der 'Basis-Dauerverdrahtung'.


> .
> .
> DDRC  = 0xFF;  // PC0..PC7 as output
>
> PORTC = 0x00;  // all PORTC output pins Off

PORTC?
JTAG hast du abgeschaltet?

Edit: Das mit dem JTAG ist schon ein Reflex, wenn irgendwas nicht geht 
und Port C involviert ist.

von sw (Gast)


Lesenswert?

per Fuses den JTAG Abschalten...?? muss ich mal überprüfen


Also Fehler habe ich auch schon vergeblich gesucht, durchs rumprobieren 
habe ich teilweise die Verbindungen für + und - rausgenommen und 
testweise direkt angeschlossen... von daher sieht es ziemlich 
unordentlich aus.

Deinen Rat nehme ich mir zu Herzen und ich denke  das ich erstmal ein 
'start from scratch' machen sollte...

ISP funktioniert gerade auch nicht mehr... :-(

Ich werde alles nochmal mit einem ATMEGA8 aufbauen.... SAUBER! :-)

von Bernd (Gast)


Lesenswert?

Der Quarz hat doch keine 2,5mm Rastermaß - demnach hast Du den gar nicht 
kontaktiert. Kann das sein, dass der Quarz gar nicht schwingt und nur 
bei Massekontakt der µC irgendwie ins Schwingen kommt?

Ansonsten wäre das der erste Punkt, der dringend geändert gehört:
Den Quarz und die beiden Cs nahe an den µC ran

Gruß,
Bernd

von Bernadette (Gast)


Lesenswert?

Denk dran, einen PullUp-Widerstand am Reset-Anschluss anzuschließen.

Mit ISP-Anschluss wird der Reset-Anschluss auf 5V gezogen, ohne ISP 
jedoch nicht. Dann erfolgt dies durch den Finger.

B.

von Hc Z. (mizch)


Lesenswert?

> Denk dran, einen PullUp-Widerstand am Reset-Anschluss anzuschließen. Mit
> ISP-Anschluss wird der Reset-Anschluss auf 5V gezogen, ohne ISP
> jedoch nicht.

Keine Ahnung, woher das immer kommt.  Die AVRs haben einen internen 
Pullup am Reset-Pin.

von sw (Gast)


Lesenswert?

Hallo, und danke an alle für eure Hinweise. Ich habe alles getestet, 
leider hat nichts geholfen.


Nun habe ich die Schaltung komplett neu mit einem ATMEGA8 aufgebaut und 
siehe da.. es funktioniert nun. keine Ahnung was beim anderen ATMEGA 
falsch war...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.