Problemsammlung Programmierung

OP #1120683
Hallo,
ich bin mir im klaren darüber, dass es hier 'zig tausende Einträge zu 
diesem Thema gibt, trotzdem hier mein Problem:
Ich habe mir eine Platine zum Programmieren zusammengelötet -> atmega8 
lässt sich mit dapa perfekt (naja) beschreiben. Jetzt hab' ich eine 
etwas komplexere Platine zusammengebastelt, controller rein - nix geht. 
Controller wieder zurück und nen LED-blinkprogramm drauf (LED soll 
einfach durchgehend leuchten). In der fertigen Platine aber funktioniert 
die Schaltung nur sehr eingeschränkt - die LED geht erst nach ein paar 
Sekunden an und geht dann einfach hin und wieder aus, vA dann wenn ich 
an ebendieser Platine den Programmer anschließe. Mit Spannungsmesser 
dran (ich hab' keine Ahnung was ich mache) seh ich, dass die Spannung 
einfach mal gegen 0, mal gegen 5v geht. Ich verwende in beiden Platinen 
(Test~ und neuer) den selben Quarz. Ich würd' mich über n bisschen Hilfe 
echt freuen.

Frank
OP
Oje, die hatte ich komplett übersehn.
Ich hatte mich beim Aufbau an diese Anleitung hier:
http://www.linuxfocus.org/Deutsch/November2004/article352.shtml
ursprünglich bezogen, deswegen hab ich bzgl des Abblockkondensators 
(10µF Elko) und der Beschaltung von AGND und AVCC (keine beschaltung) 
Unterschiede entdeckt. Nur verstehe ich nicht, warum die erste Schaltung 
bzgl Programmierung bisher keine Probleme macht, während die 2. sich 
nicht allzu deterministisch verhält. AVCC und AGND anzuschließen brachte 
übrigens keine merkliche Verbesserung der Lage. Der Quarz ist übrigens 
über 2 22pF Kondensatoren angeschlossen, allerdings sind die für bis 
100V gedacht, darin besteht verdrahtungsmäßig der einzige unterschied 
zur funktionierenden Schaltung.
Danke nochmal für die schnelle Antwort.

Frank
Kannst du mal ein Photo deiner Platine machen (oder noch besser: auf den 
Scanner legen)
Deine Fehlersymptome klingen für mich nach kalter Lötstelle oder nach 
einem gerade noch Kurzschluss oder sowas in der Richtung (Wackelkontakt)
OP
fotographieren, scannen geht leider nicht, weil 1. lochrasterplatine, 2. 
kein fotoapparat/scanner da ist.
Vielen Dank für den Hinweis - ließe sich das durch einfaches 
Nachkontrollieren mit dem Lötkolben korrigieren??
(sry, komm' aus der Softwareecke -> elektrik, differentialgleichungen, 
... ist nicht so ganz meins ;) )

Frank
Frank Ehmann wrote:
> fotographieren, scannen geht leider nicht, weil 1. lochrasterplatine, 2.
> kein fotoapparat/scanner da ist.

1. wäre kein Problem, aber 2. ist der Showstopper :-)

> Vielen Dank für den Hinweis - ließe sich das durch einfaches
> Nachkontrollieren mit dem Lötkolben korrigieren??

Ja.
Schau dir alle Verbindungen an. Alle Lötstellen die nicht schön glänzen, 
sondern matt erscheinen, sind heisse Kandidaten. Auch wenn die Lötstelle 
mehr Perlenform hat als die normale übliche Kegelform, ist das ein 
heisser Kandidat.

Wie hast du die Verbindungen gezogen? Draht? Dann könnte Kabelbruch eine 
Möglichkeit sein.

Deine Spannungsversorgung hast du schon mit einem Voltmeter 
kontrolliert?
OP
Ouch - Fehler gefunden - befürchte ich wenigstens.
Ich hatte - weil mir die Sockel ausgegangen waren 
Präzisionsbuchsenleisten(oder wie auch immer die heißen, die mit den 
runden Löchern) verwendet und den avr nicht mit brutalster Gewalt in die 
Fassung gezwängt. Allerdings kann ich mir jetzt wenigstens (halbwegs) 
sicher sein, dass die Lötverbindungen in Ordnung sind.
Nochmal vielen vielen Dank für die Hilfe.

Frank
Frank Ehmann wrote:
> Ouch - Fehler gefunden - befürchte ich wenigstens.
> Ich hatte - weil mir die Sockel ausgegangen waren
> Präzisionsbuchsenleisten(oder wie auch immer die heißen, die mit den
> runden Löchern) verwendet und den avr nicht mit brutalster Gewalt in die
> Fassung gezwängt.

Habe nicht viel mit AVR zu tun gehabt, aber muss man die mit brutalster 
Gewalt in die Fassung zwängen, damit sie funktionieren? ;-)

Meine PICs habe ich immer mit Vorsicht, aber bestimmt in die Fassung 
gedrückt.

> Allerdings kann ich mir jetzt wenigstens (halbwegs)
> sicher sein, dass die Lötverbindungen in Ordnung sind.

Nur weil Du einen Fehler (was eigentlich, die Sache mit der Gewalt?) 
gefunden hast, heisst das noch lange nicht, dass der Rest in Ordnung 
ist.

Hier übrigens ein tolles Buch über Fehlersuche, mit einer Prise Humor 
gewürzt:
http://www.techonline.com/learning/techpaper/210800201
(zwei Kapitel sind online kostenlos lesbar).
OP
hallo,

naja - rohe Gewalt - der IC saß bisschen schief. Wollte den eigentlich 
auch nicht so brutal behandeln, da ich ihn ja immer wieder in die andere 
Schaltung umbaun musste.
Also momentan funktioniert meine Platine soweit ich getestet habe 
(Programmieren, LCD, LEDs) nur, wenn ich den Deckel nicht auf das 
Gehäuse in dem sie sich befindet setze. Vermute, dass es dann 
irgendeinen Kurzschluss gibt oder der Quarz aus dem Sockel fällt, ...
Ob jetzt der Rest (USART, TWI, ...) funktionieren, weiterer 
Nichtdeterminismus auftritt hab' ich allerdings noch nicht geprüft.

thx nochmal für die Hilfe

Frank
OP
^^
nein, nur keine Schrumpfschläuche oder ähnliche Isolierungsmaterialien, 
also Blatt Papier zwischen Dioden und Platine gelegt, was wohl 
verrutscht ist und nen Kurzschluss verursacht hat. zZt leuchtet die LED 
-> mein Programm arbeitet anscheinend soweit korrekt.
OP
nachtrag:
Programmierung scheint soweit zu funktionieren.
Das Ausführen des Programms auf meiner alten Platine geht auch perfekt, 
aber auf der neuen Platine wird ein Takt erst nach nicht nachvollziehbar 
langer Zeit oder garnicht ausgeführt. LED statisch beleuchten geht, 
alles weitere nicht.
Ich würd' meine Fehlersuche gern eingrenzen, also wo könnte der Fehler 
liegen?

tschuldigung, dass ich das Forum so zuspamme

Frank
sag mal..

mit dem takt .. da schreibst du folgendes:

"Der Quarz ist übrigens
über 2 22pF Kondensatoren angeschlossen, allerdings sind die für bis
100V gedacht"

das wäre aber doch falsch .. oder ?

die 22pf müssen doch gegen masse und nicht in reihe.

gruss
OP
ähm - ja ich glaub' das meinte ich.
jedenfalls schaut's folgendermaßen aus:

 .---||-- Quarz--- AVR
 |---||-- Quarz--- AVR
_|_

da ich mich mit elektronischen Bauteilen über des bisschen, was man in 
der Schule lernt nicht auskenne hab' ich halt den Kondensatoren 
mistraut, die mir da gegeben wurdne, weil halt Keramik, rauh und ohne 
Aufdruck statt glänzend blau mit 220k.

Den Quarz hab' ich übrigens jetzt abgehängt (fuses gesetzt) um den 
wenigstens ausschließen zu können.
OP
Hallo,

nach ewigem Suchen und vernachlässigen sonstiger Tätigkeiten (essen, 
schlafen, lernen) konnte ich jetzt mein Problem vermutlich erstmal auf 
das LCD einschränken.
ein Testprogramm (Link war in meinem ersten Post) läuft super (LEDS), 
aber sobald ich die led.h (pfleury-libs) einbinde (ausgänge sind 
eingestellt), und versuche lcd_init(LCD_DISP_ON); aufzurufen hängt das 
Programm an genau der Stelle. Das LCD zeigt, wie wenn es auch nicht 
angesprochen wird eine Zeile Schwarze Rechtecke.
Gibt's zu diesem Thema nen Patentrezept oder kann s auch einfach an der 
Verkabelung des LCDs liegen? (wie ließe sich herausfinden, ob ich das 
LCD aus versehen zerstört habe?)

Danke für die Geduld

Frank
Gast
Hi

Über LCD's hat sich SPRUT ( www.sprut.de ) mal ausgelassen ... ist 
zumindest auf Deutsch :)

Was mir sonst zu störichen µC's einfällt ...
- sind unbeschaltete Eingänge vorhanden
- ist Reset korrekt gesetzt (kA, AVR's kenne ich nicht)
- Stützkondensator vorhanden

Mehr fällt mir nicht ein

Das mit dem Deckel interessiert mich aber noch etwas ;)
In wie fern kann ein Deckel derartige Probleme machen?
Oder sitzt der Deckel 'press' auf der Schaltung, wenn das Teil halt 
geschlossen ist?
Vll wird die Platine dabei auf den Boden gedrückt und dort entstehen 
Kurzschlüsse?

MfG
OP
Hallo,
um mal die Fragen zu beantworten:
 - unbeschaltete Eingänge - jop - hab nicht alle Pins an irgendwas 
angeschlossen, die die ich brauch natürlich ausgenommen.
 - notReset ist über R an VCC verbunden
 - Stützkondensator, wenn s der zwischen VCC und GND am µC is, ja der is 
da.

Das mit dem Deckel kam vermutlich von nicht isolierten LED-Füßchen, hab 
da jetzt nen Schrumpfschlauf drübergsetzt und verwende die jetzt als 
"Debuggerausgabe":

led 0 = 1, led 1 = 2, led 0+1 = 3, nix = 4
somit konnte ich rausfinden, wo das Programm stehen bleibt. Der folgende 
Befehl wird nicht mehr ausgeführt (warum auch immer):

        DDR(LCD_RW_PORT)    |= _BV(LCD_RW_PIN);

der befehl DDR ... geht , da ich ja die LEDS "initialisiere" und auch 
vorher noch
        DDR(LCD_RS_PORT)    |= _BV(LCD_RS_PIN);
ausgeführt wird.

ich weiß hier nicht weiter - btw _BV ?= (1<<LCD_RS_PIN) ???


Frank
OP
Könnte es sein, dass das Display vollkommen den Geist aufgegeben hat?

hier: Beitrag "lcd zeigt nur schwarze balken"

hatte jemand anscheinend ziemlich das gleiche Problem. Hab' grad noch ne 
Lötbrücke entfernt, und alle Pins des LCDs nochmal durchgemessen, ob ich 
irgendwo nen Kurzschluss hab' aber da war nichts zu finden.
Nachdem aber in meiner Ursprungsschaltung das Teil auch nicht mehr 
reagiert . . . :'(

Jetzt muss ich mal schaun, wo ich n vergleichbares Display herkrieg(was 
auch in die Aussparung am Gehäuse passt.
Danke nochmal für die Hilfe.

Frank
Gast
Löse mal einen Reset über den Reset-Pin aus, wenn an AVR und LCD bereits 
Spannung anliegt. Sollte nach diesem Reset das LCD initialisiert werden, 
dann ist die Wartezeit vor der Initialisierung in Deiner Software zu 
kurz. Es gibt LCDs, die mit 50ms zufrieden sind, andere brauchen über 
300ms.

...
OP
hab' eigentlich schon nen delay von 1s bevor ich lcd_init aufrufe, 
irgendwas an RS legen ändert nix, muss aber gestehen, dass ich (hab ich 
vorher glaub ich schon geschrieben) ne Lötbrücke zwischen GND (beim 
Quarz) und RS hatte.
OP
Hallo,

ich häng meine Frage/Problemstellung mal an den alten Thread an, da das 
Problem selbst im Grunde immer noch das gleiche ist.
Hab' mir zwar ein neues LCD(4x20) zugelegt, Leiterbahnen so gut es ging 
(optisch) auf Lötbrücken überprüft (Durchgang gibt s bei dem LCD 
anscheinend immer), Controller angeschlossen, Programm aufgespielt, 
nix(also nur 2 Schwarze Zeilen statt vorher eine).
Ich hab bisher die PFleury LCD-Libraries verwendet, den Kontroller mit 
dem ersten LCD sogar in zwei verschiedenen Schaltungen getestet, aber 
immer gibt s das selbe Ergebnis. Das Programm bleibt anscheinend schon 
beim lcd_init(...) hängen, iirc beim Setzen des RS bits, die 
"debugvariante" ist nur vermutlich auf nem anderen Rechner, deswegen 
lässt sich das nicht so genau sagen.
Gibt's noch besondere Fehlerquellen? Die Leitungen hatte ich ohne LCD 
durchgetestet, sollten bis dahin also keine Brücken enthalten, die 
Lötstellen am LCD konnte ich nur durch Draufschaun, Messer testen.
Programm - hab' mir letztens andere LCD-libraries runtergeladen, werde 
die mal testen. Kann der µC irgendwie zerstört sein? Kann man das 
irgendwie überprüfen ohne LEDs an die Pins zu hängen?
Nochmal vielen Dank für die Hilfe bisher

Frank

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.