< Projekte
WCTRL
Steuerung eines DC-Motors mit 8-Bit PIC Microcontroller
Hardware
Download


Downloads und Einrichtung der Entwicklungsumgebung

Download: WCtrl Firmware Projekt (MPLAB X Projektdateien)

In Arbeit (vorläufig, unfertig und ungetestet...)


Die ZIP-Datei enthält zwei Projekte:

  1. Applikations-Firmware für den Motorcontroller (in C)
  2. Bootloader, angepasst an das WCtrl-Projekt (ASM-Projekt)

Bitte einen Ordner für das Projekt auf der Festplatte anlegen und den kompletten Inhalt der ZIP-Datei in diesen Ordner entpacken.

Entwicklungsumgebung:

Das Projekt ist für die Verwendung der integrierten Entwicklungsumgebung (IDE) MPLAB X von Microchip vorbereitet. Daher wird vorausgesetzt, dass zur Bearbeitung der Firmware die folgenden Software-Pakete auf dem Computer installiert sind:

Für die Nutzung des Bootloaders wird ein einfacher USB-zu-Seriell Adapter benötigt, wie er auf der Projektseite zum Bootloader beschrieben ist. Der USB-Adapter wird dafür am Besten mit dem passenden Gegenstück zum Servostecker des Motorcontrollers versehen. Zum Flashen des Controllers kann dessen Spannungsversorgung mit +5V durch den USB-Anschluss erfolgen. Wenn jedoch Testläufe mit Motor während einer Verbindung zum seriellen Port erfolgen sollen, ist dafür eine separate Spannungsversorgung erforderlich.  In diesem Fall darf dann nur Masse- und Signalanschluss mit dem USB-Interface verbunden werden.

Über den Software-UART in der Applikationsfirmware können Steuerdaten vom PC an den Controller und Diagnose- oder Debug-Daten vom Controller an den PC gesendet werden. Die Eingabe bzw. Anzeige dieser Daten kann über ein Terminal-Programm, wie z.B. HTerm erfolgen:

  • HTerm Terminalprogramm zur Ein/Ausgabe von Steuer- und Diagnosedaten

Bootloader assemblieren und flashen

Wenn der PIC bereits mit dem Bootloader ausgestattet ist, kann dieser Abschnitt übersprungen werden.

Sonst muss zunächst das Bootloader-Projekt assembliert und der Bootloader in den PIC programmiert werden. Dafür ist neben einem geeigneten Programmiergerät (wie z.B. PICKit 3) auch ein Adapterkabel mit SOIC8-Klemme notwendig, um das IC auf der Platine mit dem Programmiergerät verbinden zu können.

Dazu MPLAB X öffnen und mit File/Open Project das Projekt "Bootloader.X" öffnen. Nach einem erfolgreichen Build muss der Code mit dem Programmiergerät in den PIC geflasht werden.

Applikationscode compilieren

Dazu MPLAB X öffnen und mit File/Open Project das WCtrl-Projekt laden. In der Projektoption "default" sollte es sich bereits ohne Fehlermeldung compilieren lassen (Production/Clean and Build Project). In dieser Konfiguration kann nach evtl. Änderungen im Sourcecode geprüft werden, ob das Programm fehlerfrei compiliert und die korrekte Funktion ggf. auch per Debugger überprüft werden.

Applikationscode flashen per Bootloader:

In der Projektkonfiguration "build_and_load" kann nach einem erfolgreich durchgeführten Build  der erzeugte Programmcode auch gleich automatisch in den PIC übertragen werden. Dafür wird das PICLoader-Programm im Ordner "Loader" (im WCtrl-Projektordner) direkt aus der IDE aufgerufen, um den Code mit Hilfe des Bootloaders sofort in den PIC zu flashen. Hierzu muss in den Projekteinstellungen ggf. nur einmal die richtige COM-Port Nummer für die Kommunikation mit dem Bootloader eingestellt werden:
File/Project Properties, dann bei "Categories" für "Conf: [build_and_load]" in der Kommandozeile bei "Execute this line after build" den richtigen COM-Port eintragen:

Wenn das Programm in der Projekteinstellung "build_and_load" compiliert wurde, wird danach sofort automatisch das PICLoader-Tool gestartet. Dieses versucht, sich mit dem Bootloader zu verbinden und den Programmcode zu übertragen. Tritt dabei ein Fehler auf, z.B. weil der entsprechende COM-Port bereits in einem anderen Programm geöffnet ist, erscheint sofort eine Fehlermeldung im Output-Fenster.
Sonst erscheint:
"User defined post-build step: [Loader\PICLoader.exe /com4 dist\build_and_load\production\WCtrl.X.production.hex]"

Erst jetzt sollte der Controller mit dem Interface verbunden bzw. eingeschaltet werden. Wenn der Controller schon vorher eingeschaltet wird, kann keine Verbindung aufgebaut werden, weil der Bootloader nur in der ersten Sekunde nach dem Einschalten aktiv ist.
Nach erfolgreichem Verbindungsaufbau werden im Output-Fenster entsprechende Meldungen zum Fortschritt (Programming, Verify...) angezeigt. Bei evtl. Fehlern (z.B.durch Verbindungsabbruch) wird dies deutlich als "Build Failed" in roter Schrift angezeigt. 
Wenn nach 45 Sekunden noch keine Verbindung aufgebaut werden konnte, bricht der Vorgang mit "Target not connected" ab.


Kontakt