Discussion in 'Opencharge' started by snipor, Jun 5, 2007.

  1. snipor

    snipor New Member

    Hallo Leute,

    ich habe leider ein Problem beim programmieren des Atmega's. Ich habe schon versucht mit verschiedenen ISP Adpatern den Atmel zu beschreiben, leider funktioniert keiner von ihnen. Im Moment verwende ich diesen http://www.lancos.com/e2p/avrisp-siprog.gif allerdings mit einem 74ALS244An
    Ponyprog erkennt ihn leider nicht und meldet "Device missing or unknown device -24". Auch das setzen/lesen der Fusebits funktioniert nicht.

    Wenn ich zuerst "read all" auswähle kommt zuerst obige Meldung, nach einmaligen ignorieren ist der Vorgang erfolgreich.
    Mit "write all" und einmaligem ignorieren klappt nun auch das schreiben des bootloaders.
    Wenn ich dann Megaload starte passiert gar nichts.
    Während ich Ponyprog verwende habe ich nur den Atmega eingesetzt, bei Megaload setzte ich noch zusätzlich den Max232 ein.
    Hat jemand einen Tipp für micht? Welchen Programmieradapter verwendent ihr?

    Danke

    Gruß Jürgen
  2. gerner

    gerner New Member

    Hallo Jürgen,
    auch ich hatte (und habe) meine Schwirigkeiten beim Programieren des Mega32 im Opencharge. Da ich aber unter einem gewissen "Erfolgsdruck" stand habe ich das Ding einfach ausgebaut und auf einem Steckboard programmiert.
    Mein Programmer ist fast der gleiche den Du hast, jedoch stammt meiner von Fabian Greif:
    http://www.kreatives-chaos.com/artikel/stk200-programmieradapter
    Ich benutze auch ein normales TTL-IC 74LS244 und Ponyprog.

    Die Megaloadfunktion habe ich noch nicht getestet, aber hier im Forum gibt es viel schlaue und fleißige Leute die Dir (...mehr) weiterhelfen können.

    Gruß

    Hans
  3. snipor

    snipor New Member

    Hallo Hans,

    hast du dann einfach gleich die Firmware mit Ponyprog drauf geschrieben, oder erst den Bootloader?
    Dein Programmieradapter ist komplett identisch mit meinem. Ich werde nun noch einmal ohne Diode testen. Welche Beschaltung hast du auf dem Steckboard verwendet?
    Danke

    Gruß Jürgen
  4. Space

    Space New Member

    Vielleicht zu einfach, aber hast du alle Versorgungsspannungen an dem Atmega Sockel überprüft? Aufbaufehler wie z.B. Lötbrücken, sind auszuschliessen..?

    Lade dir mal das das Bascom Demo runter und probiere den in Bascom integrierten Progger (STK200/STK300 Programmer unter Programmer Options einstellen)


    Lasse im ersten Step den Bootloader weg. Erst wenn das Haupt-Programm normal geflasht und auch startet, die Bootloader Instalationsprozedur durchführen.
  5. snipor

    snipor New Member

    Hallo,

    Spannungen passen alle, sauber aufgebaut ist auch alles.
    Muss man bei Bascom auch die Fusebits einstellen?
    Wenn ich Bascom öffne dann kann ich nur die Datei Prototyp2-2620.bas öffnen.
    Als nächstes wähle ich den STK200/STK300 Programmer. Muss ich dann bei Communication die Baudrate oä. einstellen?
    Nach dem ich send to chip gewählt habe erscheint. File not found.
    Danach erschein AVR ISP STK programmer und meldet "Could not identify chip with ID:FFFFFF"
    Nun wähle ich den Atmega32 aus und klicke unter Buffer "Load from file"
    Jetzt lade ich die Datei Prototyp2-2620.HEX.
    Als letztes gehe ich auf "Write buffer to flash ROM"
    Danach öffnet sich ein Fenster mit "Writing Rom" der Status ändert sich jedoch nicht bzw nur ganz langsam.
    Ist diese Vorgehensweise richtig?

    Edit:
    Ich habe nun meinen ISP-Adapter nach dieser Schaltung modifiziert http://www.blafusel.de/bilder/misc/upc/atmega8_isp_sp.gif.
    Nun kann ich über ISP problemlos auf den Atmega zugreifen. Auch die Firmware kann ich so schreiben, sowie die Fusebits setzen.
    Nur diese Megaload Sache funktioniert nicht.
    Sollte der Programmiervorgang automatisch nach dem anschließen an den COM Port starten?
    Kann ich die RS232 Schnittstelle irgendwie auf Funktion testen, um diese als Fehlerquelle auszuschließen?


    Danke

    Gruß Jürgen
  6. gerner

    gerner New Member

    Hallo Jürgen,

    auf dem Steckboard sind die Programierports des Mega23 (MOSI, MISO, SCK, RESET, GND und VCC mit +5V) direkt mit den Programmierports meines Adapters verbunden.
    Dazu ist noch ein Wiederstand zwischen RESET und +5V notwendig. Der Wert ist unkritisch und bewegt sich zwischen 5K und 100K. Dazu noch den Mega32 mit 5V versorgen und schon sollte es laufen.

    Bei Ponyprog den Mega32 einstellen, sonst erkennt das Programm den Prozessor nicht.

    Zuerst habe ich wie in der Anleitung beschrieben (FUSEBITS beachten) den Megaload eingespielt, FUSEBITS wie in der Anleitung umgestellt um dann das Programm eingespielt. Seitdem läuft das Ding.

    Den Tip mit Bascom kann ich nur empfehlen, da Bascom den Microcontroller automatisch erkennt.

    Solange Ponyprog das "unknown Device" sagt, hat ein programmierung keinen Sinn, da die Software einfach drauf los schreibt.

    Schöne Grüße

    Hans
  7. snipor

    snipor New Member

    Hallo,

    ich habes es mittlerweile geschafft, dass auch der Vorgang mit Megaload klappt.
    Jedoch funktioniert bei mir nicht die Reiehenfolge wie sie in der Aufbauanleitung zu finden ist.
    Fuses-> Bootloader mit Ponyprog-> Software mit Megaload-> Fuses, kein Bootloader reset.
    Wenn ich jedoch folgende Reihenfolge verwende klappt es.
    Fuses-> Bootloader mit Ponyprog-> Fuses, kein Bootloader reset-> Software mit Megaload.

    Jedoch konnte ich keine Verzögerung, wie hier im Forum berichtet wurde beim einschalten des Ladegeräts feststellen?
    Habe ich die Prozedur welche in der Aufbauanleitung zu finden ist falsch verstanden, oder gibt es möglicherweise einen anderen Grund weshalb diese nicht funktioniert?

    Jedoch habe ich leichte Kontrastprobleme auf meinem Display.
    Wenn ich die ESC Taste drücke um einen Wert zu verändern, entstehen einzelne Darstellungsfehler. Diese bauen sich von unten nach oben mit dem blinkenden Cursor auf, jedoch nur im Bereich des ausgewählten Wertes.
    Auch springt der Cursor manchmal zwischen zwei Parameter/Werte.
    Ist dies ein Fehler meines Aufbaus, oder ein Softwareproblem?

    Vielen Dank

    Gruß Jürgen
  8. Space

    Space New Member

    Im Moment kapiere ich nicht, was nicht funktioniert. Du kannst bei gedrückter ESC Taste und mit Hilfe von Megaload Software aufspielen?

    Das beim Booten keine Verzögerung entsteht, ist grundsätzlich ja richtig. So soll es sein. Wenn der Bootloader richtig funktioniert heist das, daß die Fuses richtigerweise auf Restvektor $0000 stehen.

    Du meinst sicherlich die OK Taste...?
    Das von unten nach oben aufbauen hängt mit der Refreshrate des LCD Zeichens in den "Taste OK gedrückt" Softwareloop zusammen. Könnte man ändern, ich finde aber das schaut aus wie ein animierter Cursor und finde das eigentlich nicht garnicht schlecht....:cool:
    Sollte eigenlich bei durchschnittlicher Motorik :)D) nicht/kaum vorkommen, da der vewendete Drehgeber ein eindeutige Rastung hat, und anders als ein optischen Drehgeber auch eindeutig definierte Werte liefert. Wie schlimm ist das Springen:
    Immer / häufig / recht häufig / manchmal / gerade vor 1 h ist wieder ein Wert gesprungen
    Kann natürlich sein, das der Drehgeber marmelig ist...


    TH
  9. Space

    Space New Member

    ...ach ja, und warum tut der Progger nun?
  10. snipor

    snipor New Member

    Es funktioniert eigentlich alles soweit, aber eben nicht mit der in der Aufbauanleitung beschriebenen Reihenfolge.
    Warum weiß ich allerdings nicht.

    Ja ich meinte die OK Taste ;)
    Ich dachte es wäre ein Fehler, da eben der komplette Wert sich im gleichen Takt mit dem Cursor leicht aufbaut.

    Naja, die Rastung ist schon eindeutig, jedoch springt der Cursor auch bei ganz langsamer Drehung manchmal zwischen zwei Werte.
    Damit meine ich z.B. zwische NiCd und NiMh oder zwischen Save und Rest
    Dies geschieht auch recht häufig, ca. alle 4-6 mal.

    Wie kann ich eigentlich im Speichermenü die Userzeichen für den Namen auswählen:confused:

    Gute Frage.
    Wie gesagt, ich habe den Adapter nur entsprechend dem im letzten Beitrag genannten Link modifiziert. Alle anderen Version haben nicht funktioniert.
    Ich werde aber bei Gelegenheit den Atmega auf ein Steckbrett setzen, und dort nochmal die anderen Versionen durchprobieren.

    Gruß Jürgen
  11. Frogger

    Frogger New Member

    Das mit dem Springen zwischen Werten kommt bei mir auch vor. Ich habe keine Ahnung ob das an der Soft liegt oder am Geber. Manchmal auch so oft das es leicht nervt. Ich denke ich warte einfach den nächsten Opencharge ab und dann seh ich ob es am Drehgeber liegt oder an der Software. Das ganze passiert beim schnellen drehen leichter. Könnte Tatsache Software sein weil das ja zeitkritisch ist.

Share This Page