Forum: Mikrocontroller und Digitale Elektronik Probs Mega16 und Reset


von Sascha (Gast)


Lesenswert?

Hallo,

habe folgendes Problem. Wenn ich den Mega16 resete, startet meine
Aplikation nicht richtig. Erst nach 2-3 mal reseten. Habe den Reset-Pin
wie folgt beschaltet: +5V - 680R - Led - 1µF - Reset-Pin Gnd.
Brownout ist eingschaltet. Ext. Clock 16MHz.

Mfg Sascha

von Hans (Gast)


Lesenswert?

tu mal die led raus und schau ob du genug spannung hast.. hatte son prob
mit dem mega128..nachdem ich das teil extern versorgt habe (und nicht
übern isp) gings...

73 de oe6jwf

von Sascha (Gast)


Lesenswert?

Hi,

Led raus, immernoch das gleiche. Ob ISP dran oder nicht, immer das
gleiche. Stromversorgung ist extern.

Mfg Sascha

von Frank Linde (Gast)


Lesenswert?

Was bezeichnest Du denn als "reseten"? Den Reset-Pin per Taster auf
GND schalten oder die Stromversorgung unterbrechen?

Gruß, Frank

von Sascha (Gast)


Lesenswert?

Hi,

den Reset-Pin auf GND schalten.

Mfg Sascha

von Frank Linde (Gast)


Lesenswert?

Und beim Schalten kannst Du auch 0 Volt am Reset-Pin messen? Die Frage
klingt vielleicht doof, aber ein Taster mit korrodierten Kontakten kann
einen weit höheren Widerstand haben, als die 680 Ohm Pullup.

Gruß, Frank

von Sascha (Gast)


Lesenswert?

Hi,

klingt nicht doof, Habe schon mal gemessen. Ohne Reset gedrückt=4.96V,
Reset gedrückt=0V. Oder habe ich blödsinn mit den Fusebits gemacht?
Habe unter AVR-Prog Startup:64ms +6CK eingestellt.

Mfg Sascha

von Conlost (Gast)


Lesenswert?

Hallo Sascha,
tausche den 680R gegen einen 10K Widerstand und den
1µF gegen 100nF aus, dann müsste es auf jeden Fall gehen.
Wenn nicht, liegt es eventuell an den Fusebits.
Ich hffe du hast irgenswo auf der Platine einen 10µF parallel
zur 5V Versorgung und einen 100nF möglichst nahe an den
Controllerpins +5V/GND.

Gruß,
Arno

von Sascha (Gast)


Lesenswert?

Also,

habe je einen 100nF an VCC/GND, AVCC/GND und AREF/GND. Dazu noch 47µF
parallel an VCC/GND. Sollte normalerweise reichen, oder? Beim 8051 habe
ich auch nie mehr gemacht.

Mfg Sascha

von Conlost (Gast)


Lesenswert?

Ja das ist OK so.
Nunändere noch die Resetbeschaltung.
Vom Resetpin 10k nach +5V und 100nF nach Masse, ohne LED.
Resttaster Parallel zum 100nF Kondensator.

Gruß,
Arno

von Peter D. (peda)


Lesenswert?

Nicht immer gleich die Hardware verdächtigen.

Kann ja auch ein Softwarefehler, z.B. nicht initialisierte Variablen
sein.


Nimm mal ein einfaches Programm (z.B. Blink-LED) als Test.


Peter

von Conlost (Gast)


Lesenswert?

@Peter

Aber eine Standardbeschaltung des Restpinns kann ja nicht
so ganz verkehrt sein.

Gruß,
Arno

von Peter D. (peda)


Lesenswert?

@Arno,

wenn Brown-Out und längste Resetzeit gewählt ist, dann muß es in jedem
Fall gehen, auch mit Reset direkt gegen VCC.

Ansonsten schnellstens eine dicken fetten oberkritischen Bugreport an
Atmel.


Peter

von Sascha (Gast)


Lesenswert?

So,

Reset ist auch geändert. Immer noch das gleiche. Wollte ein Prg. für
ein Akkulader schreiben. Zur Display-Ansteuerung nutze ich die Libary
von Peter Fleury. Die Delay-Routine habe geändert, da diese von 4MHz
ausgeht. An einem Mega128 lief es wunderbar, bei 16MHz. Nur beim Mega16
nicht. Mehr habe ich in dem Prg. noch nicht reingeschrieben, da ich
erst das Display ausprobieren wollte.

Mfg Sascha

von Conlost (Gast)


Lesenswert?

Hmm,

dann bleibt wohl nur noch das LED-blink-Programmchen
zum testen ob es damit geht.

Gruß,
Arno

von Sascha (Gast)


Lesenswert?

Meine vermutung liegt in lcd libary. Das Programm soll auf der ersten
und zweiten Zeile des Display`s einen Text anzeigen. Manchmal zeigt er
es richtig an. Ansonsten nur die erste Zeile, wobei ich dann noch
anmerken muß das dann der Kontrast etwas anders ist, als wenn er beide
Texte anzeigt. An einem AT89C51AC2 zeigt das Display nicht solche
Phenomäne. Auch an dem Ethernut-Board mit dem Mega128 geht es.

Irgendwie alles für den ar....  sowas

Mfg Sascha

von Conlost (Gast)


Lesenswert?

Hast du das Programm für den Mega128 auf den mega16 umgeschrieben
und es steht als device noch Mega128 drin oder sowas in dieser
Richtung?
Wär auch noch eine Möglichkeit.

Gruß,
Arno

von Sascha (Gast)


Lesenswert?

Nene, hab den Port geändert (statt PortB PortC). JTAG ist abgeschaltet.
Im Source und auch im makefile ausschließlich Mega16.

Mfg Sascha

von Conlost (Gast)


Lesenswert?

Dann muß ich passen. :-(

Gruß,
Arno

von Sascha (Gast)


Lesenswert?

Ich wohl auch :-(

Trotzdem Danke

Mfg Sascha

von Peter Z. (Gast)


Lesenswert?

Habe das gleiche Problem. Verwende Mega16 bzw 32.
Schalte ich die versorgungsspannung ca. 3s ab initialisiert sich das
Display immer richtig. Wenn ich VCC nur kurz wegnehme habe ich auch das
gleiche Problem mit nur 2 Display Zeilen anstatt 4 mit
unterschiedlichen Kontrast. Gleiches Problem tritt auf wenn ich den
Resettaster länger drücke und dann loslasse. Wenn ich nur kurz den
Resettaster drücke funktionierts einwandfrei.
....????

von Sascha (Gast)


Lesenswert?

Hab mal scherzhafterweise zweimal das display hintereinander
initialisiert, und sieh da, nach einem Reset geht es sofort. Ist aber
nicht die feine art und da werd mich wohl noch ein wenig mit den timing
rumärgern müssen.

Mfg Sascha

von Sascha (Gast)


Lesenswert?

Timing noch ein bischen geändert und nun gehts.

Mfg Sascha

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.