-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Atmega32 + 16Mhz + Pollins Funk AVR Board = uC macht Quatsch

  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449

    Atmega32 + 16Mhz + Pollins Funk AVR Board = uC macht Quatsch

    Anzeige

    Hallo liebe Community,

    Mein Atmega32 macht was ganz komisches...

    Zutaten für diese Problemsuppe:
    - Das Funk AVR Evaluations Board von Pollin (als Bausatz)
    - ein jungfreulicher Atmega32-16PU
    - Eine Priese PonyProg
    - und Bascom

    1. Atmega32 ins Board stecken (richtig rum natürlich, Atmega8 hats schon 2 mal falsch rum überlebt )
    2. Mit PonyProg Fuses wie im Bild angehängt setzten
    3. Bas-Datei mit folgendem Inhalt
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    Config Portd.5 = Output		'LED 1
    Config Portd.6 = Output		'LED 2
    Config Portb.1 = Input		'Taster
    
    Do
      Portd.5 = 1
      Portd.6 = 0
      Do
      Loop until Portb.1 = 1
      Portd.5 = 0
      Portd.6 = 1
      Waitms 1000
    Loop
    
    End
    mithilfe von PonyProg via ISP in den Atmega laden
    4. wundern

    Was macht der Atmega?
    -> Er macht das was ich ihm gesagt habe:
    - LED1 an, LED2 aus
    - Warten bis ich Taste drücke
    - LED1 aus, LED2 an
    - 1 sec. warten
    - von vorne beginnen

    Allerdings unterwirft er sich nur einer sehr begrenzten Zeit (ca. 3-5 sec.) meinen Programmierkünsten:
    Denn dann:
    - entweder er bleibt stecken wenn LED2 leuchtet und macht erst weiter wenn ich die Taste drücke (eig. sollte er nur 1 sec. warten)
    - er macht etwas ganz anderes (teilweise leuchten LED1+2 !?!)
    - Er macht das was ich will, aber beide LEDs glimmen nur schwach

    3-5 sec. später geht er wieder ganz normal und dann spinnt er wieder und geht wider normal und...so weiter

    Ich hab wirklich gar keinen Plan warum das so ist... Es muss offensichtlich mit dem Taster zusammenhängen, weil wenn der Atmega nur blinken soll ohne das die Taste gedrückt wird macht er das ganz brav [EDIT] das macht er jetzt schon seit ca. 30 min. ohne Probleme [/EDIT]. Allerdings funktioniert der Taster mit einem Atmega8 tadellos... (sogar das selbe Programm, nur eben die ersten beiden Zeilen entsprechend geändert)

    Woran zum Teufel liegt das???

    Bitte um ergebenst um Hilfe
    -schumi-

    PS: kann sein das die Fuses irgendwie nicht stimmen?? hab mich noch kaum damit auseinander gesetzt... (bzw. hab sie mir von da geklaut: http://www.mikrocontroller.net/topic/59460, die 2. Antwort. Aus dem Datasheet zum Atmega32 wurde ich noch nicht so ganz schlau... )
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken atmega32-fuses_quarz.png  

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    An den Fuses wird es eher nicht liegen. Eher schon an einem Fehlen Pullup Widerstand bei der Taste. Ich weiss nicht ob da einer in Hardware auf dem Board drauf ist.

    Der Fehler liegt darin, das man den Eingang nicht mit Portb.1 abfragt, sondern über Pinb.1 .

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.10.2004
    Ort
    Reutlingen
    Alter
    28
    Beiträge
    704
    Bascom ist nicht mein Gebiet, aber wie siehts denn mit der Stromversorgung aus ? Meine Erfahrungen haben gezeigt dass Probleme der Art zu 80% auf die Stromversorgung fallen (spricht vor allem für deine teilweise glimmenden LEDs und den offensichtlich ab einem gewissen Punkt "dauerschleiferesetenden" µc
    mfg
    Michael Eisele

    www.brainrobots.de
    www.facebook.com/brainrobots
    ---
    the most astonishing adventure in the universe begins when the world ends
    ---

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    Hallo,

    erst mal danke für die Antworten!

    @Besserwessi:
    - Gut dass das mit den Fuses so stimmt, war nämlich noch verunsichert ob das wirklich so richtig ist...
    - >> Eher schon an einem Fehlen Pullup Widerstand bei der Taste <<
    Pullup ist dran (33 KOhm)
    - >> Der Fehler liegt darin, das man den Eingang nicht mit Portb.1 abfragt, sondern über Pinb.1 . <<
    Oh, tut mir leid. Das war ein Tippfehler. Das Programm ist nämlich auf einem anderen PC und da hab ich es einfach nur schnell abgeschrieben..

    @michiE
    - >> Probleme der Art zu 80% auf die Stromversorgung fallen <<
    Das mit der Stromversorgung kann eigentlich nicht sein. Dazu wird ein normales 10V~ Netzteil + Gleichrichter + 5V- Spannungsregler (natürlich incl. Elkos etc.) benutzt. Messung während dem Betrieb zwischen GND & VCC ergab 5.05V, passt also. (Ich glaub schön langsam das mein Multimeter nicht ganz genau geeicht ist, weil bei allen Spannungsreglern 5.05V rauskommen statt 5.00V)

    Hier gibts übrigens noch den Schaltplan von dem Board:
    http://www.pollin.de/shop/downloads/D810046B.PDF


    MfG
    -schumi-

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.10.2004
    Ort
    Reutlingen
    Alter
    28
    Beiträge
    704
    Hi Schumi

    Ich dachte eher daran die Spannung mal mit dem Oszi anzuschauen.
    Alternativ kannst du mal schauen ob der Controller schön im Sockel steckt, bzw mal die Widerstände zwischen Platine und Controller messen. Ich hatte neulich Probleme mit Sockeln mit runden "Pins", in denen die Pins des Mega8 nur ziemlich zufällig Kontakt hatten.

    lg
    Michi
    mfg
    Michael Eisele

    www.brainrobots.de
    www.facebook.com/brainrobots
    ---
    the most astonishing adventure in the universe begins when the world ends
    ---

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.06.2010
    Ort
    78xxx
    Alter
    25
    Beiträge
    73
    Das könnte das selbe Problem sein, wie auf dem Atmel Evaluation Board. Die Schalter sind "Active High", d. h der interne PullUp Widerstand des Atmega's bringt dir nichts, bzw. du musst ihn abschalten, das Board hat extra einen PullDown Widerstand(R10). Das Problem ist der Kondensator C17, der nach dem Drücken auf den Taster einen kurzen Spannungseinbruch verursacht. Dieser Spannungseinbruch kann (manchmal) zu einem Reset führen, oder dazu dass der ATmega32 sich im Prog. verläuft ...
    MfG Icon

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    Leute, ihr seid klasse!!

    Ich hab mal schnell den originalen 330nF Kondensator durch einen 3.3nF ausgetauscht
    -> Es funktioniert Problemlos! (Am Programm wurde nichts geändert)

    Danke für die Hilfe
    -schumi-

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.10.2004
    Ort
    Reutlingen
    Alter
    28
    Beiträge
    704
    jetzt würde noch interessieren warum das Ganze so auf ein Mal funktioniert. Du betreibst das Board mit Netzteil + Gleichrichter, oder?
    mfg
    Michael Eisele

    www.brainrobots.de
    www.facebook.com/brainrobots
    ---
    the most astonishing adventure in the universe begins when the world ends
    ---

  9. #9
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    Hi

    ja, wie oben geschrieben:
    Dazu wird ein normales 10V~ Netzteil + Gleichrichter + 5V- Spannungsregler (natürlich incl. Elkos etc.) benutzt.
    Es liegt anscheinend daran, dass die Stromversorgung kurz zusammenbricht (bzw. schwächer wird) wenn der Kondesator C17 (330nF) beim Taste-drücken aufgeladen wird. Bei dem 3.3nF ist der Einbruch nicht so stark, das sich der Atmega im Programm verläuft

    MfG
    -schumi-

  10. #10
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Ich würde mal ganz stark vermuten das das eventuell mit dem Ladevorgang des Kondensators zusammen hängt..... . So wie das im Plan gezeichnet ist wird der Kondensator direkt an 5V geklemmt, wenn man den Schalter betätigt. Ein entladener Kondensator wirkt im Einschaltmoment wie ein Kurzschluss. Dadurch passiert es dann das die Spannung zusammenbricht und der Mega verrückt spielt.
    Das wäre eine Vermutung von mir....

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •