Forum: Mikrocontroller und Digitale Elektronik ATMEGA 32 Mysteriöses Verhalten


von Tobias A. (Gast)


Lesenswert?

Hallo

ich kämpfe immer noch mit der ersten Platine nach dem
Fädelaufbau.

Folgendes Problem:

Ich entwickele ein System, welches auf Knopfdruck eine Messung
starten soll.. (mehr dazu erstmal nicht).

Auf dem Fädelaufbau starte ich den Prozessor (Power on und
dann reset) und drücke den Taster zum Starten der Messung.
Geht prima.

Mach ich gleiches auf der fertigen Leiterkarte startet er
die Messung, aber er holt keine Messwerte und an Zeitvorgaben
hält er sich auch nicht.

Jetzt das Mysteriöse: Wenn ich am Fädelaufbau 3 Runden am
Incrementalgeber drehe geht das mit der Messung.

WARUM? Vor allem kann das so nicht bleiben. Das blöde Ding
muss richtig funktionieren.

Ach so: Die Leiterkarte ist i.o.
Die Fuses sind gleich gesetzt
es ist das gleiche Programm (definitiv!!!)

Hat wer ne Idee wie ich das abstelle?

 Gruß
   Tobi

von OldBug (Gast)


Lesenswert?

Nein!

Gruß,
Patrick...

von Ingo Henze (Gast)


Lesenswert?

Moment mal.
Du drehst an deinem "Fädelaufbau" und das Teil auf der Platine
funktioniert dann?
Das wäre dann schon was im Bereich des esoterischen (oder EMV :-)

Sind denn die beiden Aufbauten irgendwie verbunden?

von Tobias A. (Gast)


Lesenswert?

Hi

nein so war es nicht gemein.

Ich habe 2 Varianten der gleichen Schaltung:

1x Fädelaufbau (da geht das alles so wie es soll)

1x Leiterplatte (da gehts eben nicht)


Die beiden sind nicht verbunden und werden auch nur unabhängig
voneinander betrieben.
Ach so ich sollte noch erwähnen
Fädelaufbau PDIP - Atmel
Leiterplate TQFP44 - Atmel

Gruß
 Tobi

p.s.: Noch was zum Thema EMV Esotherik:
Wir haben in einem Büro einen Drucker der, sobald
man die elektrische Rolladensteuerung bedient -
ein leeres Blatt Papier rauswirft.
(der Drucker steht 5 m vom Fenster weg)

von OldBug (Gast)


Lesenswert?

Warum bringst Du dann Fädelaufbau (Incrementalgeber) und Print in einen
Zusammenhang?

Gruß,
Patrick...

P.S.: Meine Glaskugel sagt "Fehlfunktionen aufgrund von
elektrostatischer Aufladung durch Nylon-Damenstrümpfe" - würd ich mal
kontrollieren ;-)

von Ingo Henze (Gast)


Lesenswert?

Naja, der Eindruck war bei mir aber entstanden:

"Auf dem Fädelaufbau starte ich den Prozessor (Power on und
dann reset) und drücke den Taster zum Starten der Messung.
Geht prima."
... [Leiterkarte geht nicht] ...
"Wenn ich am Fädelaufbau 3 Runden am
Incrementalgeber drehe geht das mit der Messung."

Der Zusammenhang ist mir nicht so ganz klar.
Ist denn das Abfragen des Gebers die eigentliche Meßfunktion?

Nette Sache, das mit dem Drucker. Sollte man mal unetrsuchen...

von Tobias A. (Gast)


Lesenswert?

Hi

ich bringe die nicht zusammen.
Der Inkrementalgeber wird umgesteckt.
Ich hab 1 Inkrementalgeber den ich umstecke.

@Glaskugel
Wäre ja schön wenn hier Damennylonstrümpfe in der
Nähe wären. Oder zumindest jemand der so was für
gewöhnlich trägt :-)

von Flite (Gast)


Lesenswert?

Wie wärs, wenn du mal das Layout sowie deine Software online stellst.
Dann kann man vielleicht was sagen. Ich denke mal, dass der Fehler dort
liegt.

Mit den wenigen Informationen wird dir wohl niemand helfen können ...

Grüße
Flite

von Tobias A. (Gast)


Lesenswert?

Hi

der Drehgeber hat nix mit dem Messprozess zu tun.
Ich nutze den lediglich zur Steuerung meiner Menüs.
Aber ich hab durch Testen rausbekommen das ich die
Messfunktion starten kann wenn ich am Drehgeber gedreht
habe.

von Tobias A. (Gast)


Lesenswert?

Hmmm

das Problem ist, das ich das nicht DARF.
Würde ich zu gerne tun.

Ich meine wenn es ja gar nicht gehen würde....
aber nach drehen am Incrementalgeber...
Ich seh mich schon am Wochenende hier sitzen.


Gruß
 Tobi

von Ingo Henze (Gast)


Lesenswert?

Nochmal zum Mitschreiben:-)

-beim "Fädelaufbau" geht alles wunderbar, inkl. Drehung am Menü.
-bei der Leiterkarte geht es erst, wenn man gedreht hat

oder wie jetzt?

von Tobias A. (Gast)


Lesenswert?

genau so isses

Fädelaufbau geht auch ohne das ich erst am Incr. drehen muss.

Platine geht erst nachdem ich am Incr. gedreht hab.

von Ingo Henze (Gast)


Lesenswert?

Hmmm,
also wenn sonst alles gleich ist (Fuses und Programm) kann es ja nur
irgendwie was mit der Hardware sein.
Und da ist eine Ferndiagnose schwierig bis unmöglich.

von OldBug (Gast)


Lesenswert?

Hm, die Glaskugel wird deutlicher:
"Das hört sich aber schwer nach Softwarefehler an!"

von Tobias A. (Gast)


Lesenswert?

Hi

es ist die gleiche Software auf beiden Aufbauten.
Diese Schaltung treibt mich in den Elektrotechnischen
Aberglaube....

von OldBug (Gast)


Lesenswert?

Ja, das hab ich schon verstanden, aber vielleicht tritt bei Deinem
Fädelaufbau irgend ein Puls auf, der durtch die Fädeltechnik entsteht
oder wie auch immer. Dadurch "meint" der Fädelaufbau, daß am
Inkrementalgeber gedreht wurde, beim Platinenaufbau musst Du das dann
erst explizit machen...
Vielleicht mal die Aktivierung der Messung überprüfen (im Sourcecode
natürlich).

Gruß,
Patrick...

von Tobias A. (Gast)


Lesenswert?

Hi

der Incrementalgeber ist so genau das ich den
Softwareseitig bremse.
Erst nach 15 Impulsen auf den Incr. passiert
Menütechnisch überhaupt erst was.

und wenn ich 3 Menüs gescrollt hab gehts erst

von Thomas Fischl (Gast)


Lesenswert?

Hallo,

"an Zeitvorgaben hält er sich auch nicht"
Was genau meinst du damit?

Du hast zwar geschrieben, dass du die Fuses gleich gesetzt hast, aber
stimmen die auch wirklich mit der verwendeten Taktquelle überein?
Verwendest du den internen Oszillator oder hängt extern ein
Quarz/Quarzoszillator dran? Ist die Taktquelle bei beiden Schaltungen
identisch?

Thomas

von Tobias A. (Gast)


Lesenswert?

Das mit

"an Zeitvorgaben..." bedeutet, das er theoretisch jede sec eine
Messung machen soll und das z.B. 10 x.
Aber er macht nix.
Irgendwann verlässt er dann das Messmenü wieder und hat nix getan.


Die Taktquellen sind gleich.
Wie gesagt nach Incrementalgeber drehen geht ja alles.

von Tobias A. (Gast)


Lesenswert?

Hi


also ich hab des Rätsels Lösung gefunden
(ich glaube Fisch zu mittag macht zeitweise schlau)

Ich lege nach einer Parameteränderung den neuen Wert
im EERPOM ab.
Nach dem Start des Prozessors lese ich die Parameter wieder
aus und Variablen.

Die EEPROM-Zelle (IM ATMEL)in der ein wichtiger Messparameter
gespeichert wird ist defekt!

Danke an alle und schöne Pfingsten

  Tobi

von OldBug (Gast)


Lesenswert?

Ist nicht zufällig die erste Zelle im EEPROM?

von Tobias A. (Gast)


Lesenswert?

Hmmm

das kann ich Dir so aus dem Stehgreif nicht sagen.
Aber bei der PDIP version klappt es.
Ich gehe mal davon aus das Codevision weiß wie es die
EEPROM-Adressen / Speicherzellen zu verwalten hat.

Gruß
  Tobi

von OldBug (Gast)


Lesenswert?

Hab mal irgendwo gelesen, daß die erste Zelle besonders anfällig gegen
Resets ist, deswegen meine Frage...

von Thomas Fischl (Gast)


Lesenswert?

Hi,

an Brownouts, die dir den EEPROM-Inhalt versauen könnten, hast du schon
gedacht und daher den Brownout-Detektor im Controller aktiviert?

Thomas

von Tobias A. (Gast)


Lesenswert?

Hmm...
nicht wirklich.
Ich hab das Brownoutlevel wie bei dem anderen Prozessor auf 4 V
gestellt.
Welche Fuse würdest du genau setzen?


Gruß
  Tobi

von Thomas Fischl (Gast)


Lesenswert?

Hi,

ich würde die BOD-Fuses so setzen:
BODLEVEL programmed (4.0 Volt)
BODEN programmed (BOD aktiviert)

SUT0 und SUT1 würde ich nach der Empfehlung im Datenblatt setzten. Das
richtet sich nach der verwendeten Taktquelle und man findet es im
Datenblatt unter "System Clock and Clock Options".

Thomas

von Tobias A. (Gast)


Lesenswert?

Hi

danke werd ich montag mal genau antesten.

Ich sag bescheid ob es was bringt.
Aber ich vermute die Speicherzelle ist hin.

Gruß
  Tobi

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.