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?
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.
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 | .
|
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...
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?
kanns mir vorstellen :D Hast du deine Masse schon überall überprüft (mit Multimeter oder Piepser)?
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.
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.
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! :-)
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
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.
> 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.