mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Phänomen nach flashen


Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

habe gerade ein Phänomen entdeckt, welches ich mir nicht erklären kann.

Ich habe gerade meinen Atmel mikrocontroller ATmega16 mit einem 
Lauflicht in AVR studio programmiert. Das Programm beinhaltet die 
_delay_ms-funktion. Direkt nach dem Programmieren, läuft das Lauflicht 
auf den LEDs des STK500 ab. Soweit so gut.

Es ergeben sich aber direkt nach dem Flashen andere delay-Zeiten als 
wenn ich dann das erste mal das STK500 ausschalte und dann wieder 
einschalte (sprich wenn ich den controlelr spannungsfrei mache).

Woran kann das liegen?

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
übrigens tritt das gleiche Phänomen auf, wenn ich dann während des 
Programm ablaufs auf RESET drücke:


STK500 einschalten --> LEDs laufen mit geschwindigkeit-X -> RESET 
gedrückt -> LEDs laufen nicht mit geschwindigkeit-x sondern langsamer.

Autor: Condi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An der Spannung. Wenn der noch auf internen Takt geschalten ist und du 
den mit AVR Studio flashst, setzt das auch das VTarget. Wenn du im AVR 
Studio 5V stehen hast und das STK 3,3V als Standard hat, ist nach jedem 
einschalten der Takt niedriger. Somit stimmt dann auch die Delay Zeit 
nichtmehr. Kann auch andersrum sein. Dreh einfach mal im AVR Studio an 
der Spannung, dann siehst du das ja sofort.

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf was soll ich das VTarget jetzt stellen?

Im moment, nachdem ich auf "Read Voltages" geklickt habe, steht da "5.1 
V" bei VTarget und "5.0 V" bei ARef.

Danke

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verstehe außerdem nicht was das VTarget überhaupt bewirkt, finde dazu 
auch nix im Forum :-(


Ist das von mir genannte Verhalten normal? LIegt das ausschließlich am 
STK500?


Danke für Hilfe!

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat denn niemand eine Ahnung ??


Danke

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ MagicProgger (Gast)

>verstehe außerdem nicht was das VTarget überhaupt bewirkt, finde dazu
>auch nix im Forum :-(

Ganz einfach. Wenn dein AVR mit dem internen RC-Oszillator getaktet 
wird, dann ist dessen Frequenz von der Versorgungsspanung des AVR 
abhängig! Einer von vielen Gründen, weshalb der interen RC-Oszillator 
NICHT für eine solide UART-Kommunikation taugt.

>Ist das von mir genannte Verhalten normal?

Ja.

> LIegt das ausschließlich am STK500?

Nein.

MFG
Falk

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok aber beide regler (VTarget und ARef) stehen auf 5.0 V und 5.1 V.

Wie kann ich es nun einstellen, dass es keine Unterschiede mehr zwischen 
RESET und Neu-Einschalten des STK500s gibts?

Ist wirklich wichtig!


Danke

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Außerdem tritt das Problem nicht nur direkt nach dem Programmieren auf, 
sondern es ist heute noch genauso, obwohl ich nur das Board einschalte 
und anschließend auf Reset drücke.

Ich schalte das Board ein, motor dreht "korrekt" schnell. Ich drücke auf 
RESET und der motor dreht nur noch die hälfte so schnell wie er laufen 
sollte.

Autor: Jörg B. (joerg-sh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Fusebits so gestetzt das externer Takt verwendet wird? Wenn 
nicht mach das mal. Das STK bietet das ja an . Wenn die die 3,68 MHz 
nicht reichen kannst du auch noch einen Quarz Stecken und entsprechend 
jumpern.

Gruß  Jörg

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner wrote:

> Ganz einfach. Wenn dein AVR mit dem internen RC-Oszillator getaktet
> wird, dann ist dessen Frequenz von der Versorgungsspanung des AVR
> abhängig! Einer von vielen Gründen, weshalb der interen RC-Oszillator
> NICHT für eine solide UART-Kommunikation taugt.

Die Frequenz ändert sich aber nur um wenige Prozent (z.B. beim mega48 
nicht mal 1%). An einem Lauflicht erkennt man das mit dem Auge ohne 
Frequenzzähler,  Oszilloskop usw.) nicht. Es muss also an etwas anderem 
liegen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ MagicProgger (Gast)

>Ich schalte das Board ein, motor dreht "korrekt" schnell. Ich drücke auf
>RESET und der motor dreht nur noch die hälfte so schnell wie er laufen
>sollte.

Die HÄLFTE! Na, sooo schlecht ist selbst der schlechteste RC-Oszillator 
nicht. +/-10%, eher weniger. Dann wird es wohl was anderes sein. Gibts 
beim STK500 nicht auch ne Möglichkeit, den Takt für den Ziel-AVR in der 
Frequenz zu verstellen?

MFg
Falk

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
meint ihr das "Oscillator Clock" und "ISP clock"?

Da stehen unterschiedliche Werte in meinen Einstellungen.

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habt ihr noch vorschläge?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ MagicProgger (Gast)

>meint ihr das "Oscillator Clock" und "ISP clock"?

Oscillator Clock.

MfG
Falk

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich habe nun die "STK500 Osc-Frequ." auf 1 MHz (genau 1.23 MHz) 
gesetzt, auf Write geklickt bringt aber auch nix.

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat jemand noch Ideen???

Autor: Oops (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ MagicProgger

>STK500 einschalten --> LEDs laufen mit geschwindigkeit-X -> RESET
>gedrückt -> LEDs laufen nicht mit geschwindigkeit-x sondern langsamer.

Also, wenn ich das ganz wörtlich nehme, dann ist die Laufgeschwindigkeit 
der LEDs langsamer, SOLANGE Du Reset drückst. Ist das richtig? Was 
passiert wenn Du Reset wieder losläßt?

Gruss
Oops

Autor: MagicProgger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das Problem tritt NACH dem Reset-Drücken auf. Die LEDs blinken 
nach dem INschalten des STKs normal. dann drücke ich reset und DANACH 
läuft das langsamer ab.
Nur Ausschalten und Wieder-Einschalten des STKs macht das wieder normal, 
solange ich eben nicht auf reset drücke

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.