Hallo Leute, ich will ein LCD (Typ: LCD161A) mit einem Atmega8 betreiben. Anhand des AVR GCC LCD Tutorial habe ich das LCD zum laufen gebracht. Wenn ich das Programm mittels des AVRisp mk2 auf den Controller schicke wird Hallo Welt angezeigt. Ziehe ich aber den Programmer ab und schalte die Stromversorgung aus für einige Minuten, kommen nur schwarze Kästchen. Schicke ich das Programm erneut zum Controller wird wieder Hallo Welt angezeigt. Woran kann das liegen, ich vermute Timing Probleme. Der Atmega8 nutzt den internen 1mHz Takt unter F_CPU habe ich 1200000 eingetragen, weil ich irgendwo gelesen habe dass das der richtige Wert ist. Wäre hier 1000000 besser? Euer Tueller
Torben Müller schrieb: > Der Atmega8 nutzt den internen 1mHz Takt unter F_CPU habe ich 1200000 > eingetragen, weil ich irgendwo gelesen habe dass das der richtige Wert > ist. Wäre hier 1000000 besser? Du sollst hier den tatsächlichen Wert eintragen mit dem dein AVR getaktet wird. Wenn der AVR also mit 1 Mhz getaktet ist gehört hier 1000000 hin. Torben Müller schrieb: > Ziehe ich aber den Programmer ab und schalte > die Stromversorgung aus für einige Minuten, kommen nur schwarze > Kästchen. Schicke ich das Programm erneut zum Controller wird wieder > Hallo Welt angezeigt. Wie sieht deine Schaltung aus, vor allem die Spannungsversorgung und die Reset-Schaltung sind von Interesse!
>Du sollst hier den tatsächlichen Wert eintragen mit dem dein AVR >getaktet wird. Wenn der AVR also mit 1 Mhz getaktet ist gehört hier >1000000 hin. Er könnte aber auch einfach mal 16000000 angeben. Dann sind die Delays auf jeden Fall lang genug. Ansonsten mal BODLEVEL Fuse auf den höchsten Spannungswert programmiern und die BODEN Fuse aktivieren. Sieht irgendwie so aus als würde in das Display geschrieben bevor die Spannung hoch genug für das Display ist.
Torben Müller schrieb: > Wenn ich das Programm mittels des AVRisp mk2 auf den Controller schicke > wird Hallo Welt angezeigt. Ziehe ich aber den Programmer ab und schalte > die Stromversorgung aus für einige Minuten, kommen nur schwarze > Kästchen. Schicke ich das Programm erneut zum Controller wird wieder > Hallo Welt angezeigt. Woran kann das liegen, ich vermute Timing > Probleme. Ich vermute eher, dein Controller kommt nicht aus dem Reset. Mach mal den empfohlenen 10K Pullup an Reset. XL
Hallo :-) lag am Reset, wie ihr vermutet habt. Ich hatte einen defekten 100nF Kondensator in der Beschaltung, jetzt geht es. Hab ich erst nach euren Tips zum Reset gefunden, weil ich mir die Schaltung noch mal genauer angeschaut habe. Danke für eure Hilfe Tüller
Das liegt nur daran dass überall (auch hier) irgendwelche überflüssigen Kondensatoren an Reset empfohlen werden. Weil man es vor 100 Jahren bei irgendwelchen uralt Bausteinen mal so machen musste. Schon der externe Pullup an Reset ist purer Luxus. Im Zweifel, und für einen Anfänger, ist hier weniger mehr. gruß cyblord
>lag am Reset, wie ihr vermutet habt. >Ich hatte einen defekten 100nF Kondensator in der Beschaltung, jetzt >geht es. Da frag ich mich jetzt wie das AVRisp mk2 den defekten 100nF umgehen konnte;)
@cyblord: falls du Atmels Meinung wissen willst ;) http://www.atmel.com/images/doc2521.pdf Gruss Patrick
Patrick W. schrieb: > falls du Atmels Meinung wissen willst ;) Wenn du englisch kannst, liess dir den Text dazu durch. mfg.
Thomas Eckmann schrieb: > Patrick W. schrieb: >> falls du Atmels Meinung wissen willst ;) > Wenn du englisch kannst, liess dir den Text dazu durch. > > mfg. Eben, da steht frei übersetzt: "Man braucht keinen Kondensator aber wenn man hochgradig paranoid ist, dann kann man sich das antun, allerdings geht dann DebugWire usw. halt nicht mehr. Ähnlich übrigens zum PullUp Widerstand. Muss der Patrick halt irgendwann auch mal bissle Englisch lernen dann kann er Application Notes nicht nur verlinken sondern auch verstehen. Bis dahin gruß cyblord
Ich verstehe verdammt genau, was da steht, ich weiss dass der controller einen tiefpass und einen pullup enthält. Ich wollte eigentlich gar nicht cyblord addressieren, sondern den TO, sorry, mein fehler. aber was das paranoid betrifft, ich denke atmel schribt nicht ohne grund, dass das rc- netzwerk notwendig sein kann. Nur ist "noisy environment" nicht ganuer spezifiziert.ausserdem verwendet nicht jeder debugwire und jtag. Sorry wegen gross/klein, schreibe vom natel. Gruss patrick ps: ich gehe in die 6. klasse im gymnasium in urdorf(eines der besten schweizer gymnasien) und mein lehrer fragte mich nach einem vortrag, woher ich so gut englisch könne, bei ihm habe ich es nicht gelernt. ich kann mit gutem gewissen behaubten, jedes englische datenblatt mühelos zu lesen. Ja, es nervt mich wenn jemand behaubtet, ich verstehe kein englisch, da ich englisch viel lieber habe, als deutsch ;)
Patrick W. schrieb: > ich denke atmel schribt nicht ohne grund, dass das > rc- netzwerk notwendig sein kann. Ein Überrollbügel und ein Sturzhelm können im Auto auch notwendig sein - wenn man Ralley fährt. Für Otto Normalverbraucher sind sie es aber nicht. > Nur ist "noisy environment" nicht > ganuer spezifiziert. Zb. Maschinen mit starken Elektromotoren, generell alles wo mit starken Störungen elektrischer Natur zu rechnen ist. Und nein. Die Schreibtischlampe ist kein noisy environment.
@ kbuchegg: Das ist nur deine, sicherlich vernünftige, interpretation. Allerdings kann schon ein schaltregler kleine störimpulse erzeugen. Atmel macht selbst keine genaueren angaben. Noisy environment kann sehr viel bedeuten. Ich stimme dir aber zu, dass meistens, auf dem schreibtisch sicher, wedrr kondensator noch pullup braucht. Ich habe sie nur ganz am anfang verwendet, weil es im tutorial empfohlen wird. Btw: wo habe ich überhaupt behauptet, dass es den zusätzlichen pullup und/oder den kondensator braucht? Gruss patrick
Ich habe das anderswo schon gesagt und sage es gern auch hier noch mal: nach meiner Erfahrung (ja, richtig praktische Erfahrung, nicht nur Datenblatt lesen oder Spice starten) braucht man in der Regel einen Pullup-Widerstand am Reset-Pin eines AVR. Zumindest der Mega8 ist hier noch nie ohne gelaufen. Und das obwohl mein Schreibtisch nun sicher kein "noisy environment" ist. Und auch nur ein paar mm Leiterzug zwischen Pin und ISP-Stecker sind. Vielleicht habe ich ja eine schlechte Charge des Mega8 erwischt. Oder der Typ ist generell kritisch (gerade mal nachgeschaut: Geräte mit Mega88 und classic2313 tun in der Tat auch ohne Pullup). Aber ein 10K Widerstand bringt einen nicht um. Und bei DW stört er auch nicht. Einen Kondensator brauchts in der Tat nicht, weil das interne POR sehr gut funktioniert (so lange die Versorgungsspannung nicht extrem langsam ansteigt). Und aktuelle Typen haben ja auch BOD, die man tunlichst aktivieren sollte. XL
Axel Schwenke schrieb: > Zumindest der Mega8 ist hier noch nie ohne gelaufen. Dann machst du etwas richtig falsch. Bei mir laufen auf dem Steckbrett sämtliche AVR Controller ohne PullUp an Reset. Sogar mit Push Button und langen Leitungen. Liegt bei dir evt. am ISP? Vielleicht hat der nen schwachen PullDown oder was weiß ich. Aber normal ist das nicht. Ich kann den mySmartUSB Light und den Dragon da locker am Chip dranhängen lassen nach dem Programmieren. Die lassen Reset los und der läuft. gruß cyblord
Axel Schwenke schrieb: > Zumindest der Mega8 ist hier noch nie ohne gelaufen. Kann ich nicht beurteilen, weil ich die Dinger nicht benutze. Aber irgendeinen veralteten Controller als Referenz zu nennen, ist doch schon etwas gewagt. Es behauptet ja auch niemand, daß VW nur lahme Kisten baut, weil der Käfer damals bloss 34 PS hatte. Axel Schwenke schrieb: > (so lange die Versorgungsspannung nicht extrem langsam ansteigt). Dafür hilft ein 100nF-Kondensator sowieso nicht. Wenn der Controller keine Reset-Mimik eingebaut hat, benutzt man wie beim 8051 10 µF. Oder man nimmt einen externen Reset-Baustein. Aber das haben die AVRs alle eingebaut. Nur wenn der 100nF-Kondensator den Unterschied zwischen "geht" und "geht nicht" ausmacht, dann liegt da aber ein anderes Problem vor. Denn auch Atmel schreibt in der AN, daß der Kondensator nur der zusätzlichen Sicherheit dient. So wie Hosenträger obwohl man einen Gürtel trägt. mfg.
cyblord ---- schrieb: > Axel Schwenke schrieb: > >> Zumindest der Mega8 ist hier noch nie ohne gelaufen. > Dann machst du etwas richtig falsch. Bei mir laufen auf dem Steckbrett > sämtliche AVR Controller ohne PullUp an Reset. Sogar mit Push Button und > langen Leitungen. > Liegt bei dir evt. am ISP? Vielleicht hat der nen schwachen PullDown > oder was weiß ich. Liest du manchmal auch, bevor du schreibst? Die Problembeschreibung ist: Controller funktioniert, wenn der ISP angesteckt ist und funktioniert nicht mehr, wenn er abgesteckt ist. Und die Abhilfe ist: einen externen Pullup an Reset zu hängen. Und anscheinend bin ich nicht der einzige, bei dem das so ist. Auf jeden Fall ist dieser Thread nicht der erste zu diesem Problem. > Ich kann den mySmartUSB Light und den Dragon da locker am Chip > dranhängen lassen nach dem Programmieren. Die lassen Reset los und der > läuft. Nein, die lassen Reset eben nicht los, sondern treiben Reset aktiv auf H. Was bei abgestecktem ISP dann der externe Pullup macht (und laut Datenblatt ein integrierter Pullup tun sollte). XL
Thomas Eckmann schrieb: > Axel Schwenke schrieb: >> (so lange die Versorgungsspannung nicht extrem langsam ansteigt). > Dafür hilft ein 100nF-Kondensator sowieso nicht. Auch du mußt das mit dem Lesen noch üben (und zitieren auch). Ich schrieb nirgends, daß ein Kondensator an Reset nötig wäre. Noch daß er bei langsam steigender Versorgung helfen würde: Axel Schwenke schrieb: > Einen Kondensator brauchts in der Tat nicht, weil das interne POR sehr > gut funktioniert (so lange die Versorgungsspannung nicht extrem langsam > ansteigt). Was bei langsam ansteigender Versorgung hilft, schrieb ich übrigens auch schon: Axel Schwenke schrieb: > Und aktuelle Typen haben ja auch BOD, die man tunlichst > aktivieren sollte. XL
Axel Schwenke schrieb: > Nein, die lassen Reset eben nicht los, sondern treiben Reset aktiv auf > H. Was bei abgestecktem ISP dann der externe Pullup macht (und laut > Datenblatt ein integrierter Pullup tun sollte). Woher weißt du das? Hast du gemessen? Die anderen ISP Pins werden auch losgelassen, warum nur Reset nicht? Außerdem glaube ich, das hängt vom Programmer ab. Und wenn es ohne ISP nicht läuft dann hat man eine verzockte Reset Schaltung die irgendwas dummes macht. Darum Reset Beschaltung weglassen. Für die Serienproduktion kann man sich dafür immernoch was schlaues ausdenken. Aber für einen Anfänger macht es mehr Probleme als es löst. Kurzer Sinn: Auch ein Mega8 läuft ohne externe Beschaltung von Reset. Wie bisher jeder AVR der auf mein Steckbrett gekommen ist. Also erzähl mir nichts von Praxis. gruß cyblord
Axel Schwenke schrieb: > Liest du manchmal auch, bevor du schreibst? Axel Schwenke schrieb: > Auch du mußt das mit dem Lesen noch üben Axel Schwenke schrieb: > Einen Kondensator brauchts in der Tat nicht, weil das interne POR sehr > gut funktioniert (so lange die Versorgungsspannung nicht extrem langsam > ansteigt). na wenn du meinst. cyblord ---- schrieb: > läuft ohne externe Beschaltung von Reset. Wie bisher jeder AVR Volle Zustimmung. mfg.
Ganz ruhig Kollegen. Wollte hier keinen Streit losbrechen. Bei mir hat sich das Problem durch das ersetzen des Kondensators behoben. Mag sein dass dies selten ist, war aber so. Ich verwende ein einfaches Netzteil was vielleicht die Probleme ohne Programmer verursacht, jetzt geht es aber. Tueller
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.