mikrocontroller.net

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


Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein!

Gruß,
Patrick...

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Flite (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ingo Henze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: OldBug (Gast)
Datum:

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

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas Fischl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist nicht zufällig die erste Zelle im EEPROM?

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: OldBug (Gast)
Datum:

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

Autor: Thomas Fischl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas Fischl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.