Unterschiede zwischen den Revisionen 1 und 5 (über 4 Versionen hinweg)
Revision 1 vom 11.01.2008 16:11
Größe: 2061
Autor: MoinAdmin1
Kommentar:
Revision 5 vom 18.12.2014 13:31
Größe: 4708
Autor: LotharF
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 2: Zeile 2:
[[TableOfContents]] <<TableOfContents>>
Zeile 4: Zeile 4:
= Flashen mit PonyProg =
Zeile 6: Zeile 5:
== FlightCtrl: ATMEGA644 programmieren == = PonyProg Allgemein =
Zeile 8: Zeile 7:
Mit dem AvrDude gab es in der Vergangenheit immer wieder Probleme. Sollte es beim Einspielen des Bootloader Probleme mit AvrDude (bzw. dem MikroKopter-Tool) geben, kann alternativ PonyProg benutzt werden.
Zeile 10: Zeile 9:
Nun es gibt eine Version von PonyProg, mit der sich der ATMEGA644 über das SerCon programmieren lässt: '''!PonyProg V2.6g'''
Zeile 12: Zeile 10:
 . Download: http://mikrocontroller.cco-ev.de/files/PonyProg2000_26g.zip  . '''Download''': http://mc.mikrocontroller.com/files/PonyProg2000_26g.zip
Zeile 15: Zeile 13:
[[BR]] Nach der Installation von PonyProg muss man es ggf. einmal kalibrieren. Das hat noch nichts mit einer angeschlossenen Hardware zu tun.
Zeile 17: Zeile 15:
Als Controller wird der '''ATMEGA644 '''gewählt. (Wähle im Menü: Setup - Calibration )
Zeile 19: Zeile 17:
Der SerCon wird unter Interface-Setup so eingestellt: Man sollte den Rechner zum Programmieren/Kalibrieren vorher einmal neu starten und während des Prozesses auch keine weitere Software laufen lassen, bzw. starten.
Zeile 21: Zeile 19:
http://mikrocontroller.cco-ev.de/images/kopter/pony_ser.gif Der Programmiervorgang ist 'zeitkritisch' und 'ungewollte' Unterbrechungen können einen AVR-Prozessor schon mal unbrauchbar machen.
Zeile 23: Zeile 21:
[[BR]] Die '''Fuses''' müssen so eingestellt werden: == SerCon als ISP-Interface ==
Zeile 25: Zeile 23:
http://mikrocontroller.cco-ev.de/images/kopter/pony644.gif Der '''SerCon''' wird unter Interface-Setup so eingestellt:
Zeile 27: Zeile 25:
Die Bedienung ist wie bei den BL-Reglern (ggf. in die Anleitung dazu schauen) {{http://mc.mikrocontroller.com/images/kopter/Sercon_kl.jpg}}
{{http://mc.mikrocontroller.com/images/kopter/pony_ser.gif}}
Zeile 29: Zeile 28:
[[BR]]''ACHTUNG:'' Spielt man auf die Hauptplatine die Flight-Control Software mit '''Bootloader''', so müssen folgende Fusebits gesetzt werden, damit der Bootloader später auch verwendbar ist: == DT-006 als Interface ==
Zeile 31: Zeile 30:
http://mikrocontroller.cco-ev.de/images/kopter/Atemega644Fusebits.png Alternativ kann z.B. auch unser ISP-Adapter zur Programmierung genutzt werden.
Zeile 33: Zeile 32:
[[BR]] Dieser erfordert eine parallele Schnittstelle am PC.
Zeile 35: Zeile 34:
=== Problembehebung: Write failed === {{attachment:ISP_STK500.jpg}}
{{attachment:pony_dt006.gif}}

Bild: Schaltplan des parallelen ISP-Adapters und der entsprechenden Einstellung unter Ponyprog


= FlightCtrl: ATMEGA644 programmieren =

 1. SerCon mit der FlightCtrl Platine verbinden. (ISP2 - 6pol) Rotes Kabel jeweils auf Pin 1.
 1. Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
 1. JUMPER auf dem SerCon stecken !
 1. Controller: AVR micro --> ATMEGA644 einstellen
 1. Bootloader für FlightCtrl auswählen
 1. Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
 1. Controller (Device) programmieren

<<BR>>Fuse-Setting für den Bootloader der Flight-Ctrl:

{{http://mc.mikrocontroller.com/images/kopter/Atemega644Fusebits.png}}

{i} Die aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.

<<BR>>----<<BR>>

= BL-Ctrl: MEGA8 programmieren =

 1. SerCon mit der Bl-Ctrl Platine verbinden. (ISP1 - 10pol) Rotes Kabel jeweils auf Pin 1.
 1. Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
 1. JUMPER auf dem SerCon stecken !
 1. PonyProg entsprechend der unten aufgeführter Anleitung benutzen.

{{attachment:pony_bedienung.gif}}

Bild: Schritte zum Programmieren des Controllers:

 1. Controller: AVR micro --> ATMEGA8 einstellen
 1. Bootloader für BL-Ctrl auswählen
 1. Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
 1. Controller (Device) programmieren
'''Hinweis'''
Die Einstellungen hier müssen sorgfältig verglichen werden! Der Regler muss zum Programmieren mit Spannung versorgt sein. Die Fusebits müssen nur einmal programmiert werden. Wenn ein neues Programm eingespielt wird, müssen sie nicht jedes mal neu gesetzt werden.

{{attachment:Fuses_Mega8_8MHZ_Intern_MIT_Bootloader.gif}}

Bild: Ponyprogeinstellung der Fusebits bei Verwendung des internen 8MHz-Oszillators und der Brown-Out-Detection (Unterspannungs-Watchdog).

Schritt 1: Controller einstellen Schritt 2: Device File öffnen Schritt Schritt 3: Fuses programmieren 4: Device programmieren

aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.

= Problembehebung: Write failed =
Zeile 44: Zeile 93:
Ist nach falschem Setzen der Fusebits (oder nach einem fehlgeschlagenem Programmieren mit avrdude) kein weiterer Zugriff auf den Prozessor mehr möglich, so kann dieser evt. mit einem Oszillator wiederbelebt werden. Siehe dazu den Beitrag ["AVRWiederbelebung"]. Ist nach falschem Setzen der Fusebits (oder nach einem fehlgeschlagenem Programmieren mit avrdude) kein weiterer Zugriff auf den Prozessor mehr möglich, so kann dieser evt. mit einem Oszillator wiederbelebt werden. Siehe dazu den Beitrag [[AVRWiederbelebung]].
Zeile 46: Zeile 95:

=
Zeile 48: Zeile 99:
[[BR]] <<BR>>

siehe auch: (evtl. Links zu anderen verwandten Seiten einfügen...)

PonyProg Allgemein

Sollte es beim Einspielen des Bootloader Probleme mit AvrDude (bzw. dem MikroKopter-Tool) geben, kann alternativ PonyProg benutzt werden.

/!\ Achtung: die aktuellere V2.7a geht nicht! Der ATMEGA644 ist nicht mehr in der Datenbank.

Nach der Installation von PonyProg muss man es ggf. einmal kalibrieren. Das hat noch nichts mit einer angeschlossenen Hardware zu tun.

(Wähle im Menü: Setup - Calibration )

Man sollte den Rechner zum Programmieren/Kalibrieren vorher einmal neu starten und während des Prozesses auch keine weitere Software laufen lassen, bzw. starten.

Der Programmiervorgang ist 'zeitkritisch' und 'ungewollte' Unterbrechungen können einen AVR-Prozessor schon mal unbrauchbar machen.

SerCon als ISP-Interface

Der SerCon wird unter Interface-Setup so eingestellt:

http://mc.mikrocontroller.com/images/kopter/Sercon_kl.jpg http://mc.mikrocontroller.com/images/kopter/pony_ser.gif

DT-006 als Interface

Alternativ kann z.B. auch unser ISP-Adapter zur Programmierung genutzt werden.

Dieser erfordert eine parallele Schnittstelle am PC.

ISP_STK500.jpg pony_dt006.gif

Bild: Schaltplan des parallelen ISP-Adapters und der entsprechenden Einstellung unter Ponyprog

FlightCtrl: ATMEGA644 programmieren

  1. SerCon mit der FlightCtrl Platine verbinden. (ISP2 - 6pol) Rotes Kabel jeweils auf Pin 1.

  2. Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
  3. JUMPER auf dem SerCon stecken !

  4. Controller: AVR micro --> ATMEGA644 einstellen

  5. Bootloader für FlightCtrl auswählen

  6. Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
  7. Controller (Device) programmieren


Fuse-Setting für den Bootloader der Flight-Ctrl:

http://mc.mikrocontroller.com/images/kopter/Atemega644Fusebits.png

{i} Die aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.




BL-Ctrl: MEGA8 programmieren

  1. SerCon mit der Bl-Ctrl Platine verbinden. (ISP1 - 10pol) Rotes Kabel jeweils auf Pin 1.

  2. Bl-Ctrl Platine, falls noch nicht geschehen, mit Spannung versorgen. Die grüne LED auf dem Konverter muss nun dauerhaft leuchten.
  3. JUMPER auf dem SerCon stecken !

  4. PonyProg entsprechend der unten aufgeführter Anleitung benutzen.

pony_bedienung.gif

Bild: Schritte zum Programmieren des Controllers:

  1. Controller: AVR micro --> ATMEGA8 einstellen

  2. Bootloader für BL-Ctrl auswählen
  3. Fusebits (Konfigurationsbits) des Controllers einstellen (Siehe folgendes Bild) und mit „Write“ schreiben
  4. Controller (Device) programmieren

Hinweis Die Einstellungen hier müssen sorgfältig verglichen werden! Der Regler muss zum Programmieren mit Spannung versorgt sein. Die Fusebits müssen nur einmal programmiert werden. Wenn ein neues Programm eingespielt wird, müssen sie nicht jedes mal neu gesetzt werden.

Fuses_Mega8_8MHZ_Intern_MIT_Bootloader.gif

Bild: Ponyprogeinstellung der Fusebits bei Verwendung des internen 8MHz-Oszillators und der Brown-Out-Detection (Unterspannungs-Watchdog).

Schritt 1: Controller einstellen Schritt 2: Device File öffnen Schritt Schritt 3: Fuses programmieren 4: Device programmieren

aktuelle Firmware wird dann mit AvrDude entweder in einem Terminal oder mit der grafischen Oberfläche des MikroKopter-Tools in die FlightCtrl eingespielt.

Problembehebung: Write failed

Schlägt die Programmierung mit einem "Write failed" fehl, so kann es durch Anpassung einiger Einstellungen funktionieren. In der Pony-Prog-Ini-Datei folgende Werte ändern:

  • ATMegaPageWriteDelay=100
  • AVRByteWriteDelay=50
  • AVREraseDelay=100

(Bei PonyProg 2.06g gibt es 2 ini-Dateien: PONYPROG2000.INI und PonyProg2000_26g.ini. Im Zweifelsfall in beiden Dateien ändern).

Problembehebung: aus dem Prozessor ausgesperrt

Ist nach falschem Setzen der Fusebits (oder nach einem fehlgeschlagenem Programmieren mit avrdude) kein weiterer Zugriff auf den Prozessor mehr möglich, so kann dieser evt. mit einem Oszillator wiederbelebt werden. Siehe dazu den Beitrag AVRWiederbelebung.

= /!\ ToDo: hier gibt es noch etwas zu tun



  • (Hier kann ein Link auf eine Kategorie eingefügt werden)