FullCircle/Programmier-&Test-Plattform

Aus C3MAWiki
(Weitergeleitet von Programmier-&Test-Plattform)
Dies ist ein Projekt, an dem momentan aktiv gearbeitet wird. Wenn du Fragen hast oder mitarbeiten möchtest, wende dich an Sixt.

Übersicht

Notiz: Aus Zeitgründen wird momentan externer Programmierung durch Programmiergerät und Möglichkeit der Signaluntersuchung Vorrang gewährt. Falls noch Zeit ist kann man über die unten beschriebene High-End-Lösung nachdenken.

Die Programmier-&Test-Plattform soll die Programmierung und den Test der Lightbox-Platinen erleichtern. Ziel ist es ein halbautomatisches Testsystem zu entwickeln, dass mit Hilfe eines PC's und einer Mikrocontroller basierten Plattform die Platinen programmiert und testet. Dazu wird die Plattform über einen USB/Seriell-Konverter an einen beliebigen Computer angeschlossen. Auf dem Computer kann man nun die Eingabe in einem Terminal durchführen. Um die Eingabe der Fuse-Bits und der Firmware-Hex-Datei zu erleichtern wird hierzu noch ein kleines Programm geschrieben. Damit kann man dann die jeweiligen Dateien für die Übertragung vorselektieren.

Stand

Hardware

(Status ausgehend von externer Programmierung durch Programmer)

Stand: 70%

  • Bestellung vom 30.7. ist im angekommen
  • Hardwareaufbau hat begonnen
  • Platinenaufbau fertig
  • Pogo-Pins installiert
  • Anschlüße für externe Verwendung angelötet

To do:

  • Pogo-Pins festkleben (2-Komponentenkleber aus meiner Box)?
  • Anschlüße und Pogo-Pins mit Kupferlackdraht verlöten?
  • 1-2 mm dickes Holzbrett bohren und auf Lightboxplatine mit Pogo-Pins kleben (2-Komponentenkleber aus meiner Box)?
  • Mit Multimeter durchmessen

Stand: 98,42%

  • Programmierstation am 8.8.2012 fertiggestellt.
  • hat ISP-Header 6-polig und LEDs konnektiert.
  • über XLR-Anschluss können DMX-Signale von "Der Gerät" zugeführt werden
  • Testprogramm schaltet über ola_set_dmx abwechselnd ständig die drei LEDs. Skript "olatest" auf Thinkpad"

Bedienung

  1. Testskript "olatest" starten
  2. XLR-Kabel an "Der Gerät" anschliessen.
  3. Skript olatest starten
  4. Programmiergerät an ISP-Header auf Testgerät anschliessen
  5. Platine auf Testgerät drücken (Wierumizität!)
  6. make program
  7. make fuse
  8. DIP-Schalter 1 auf on (auf Adresse "1") schalten
  9. LEDs kontrollieren (abwechselnd jede Farbe geht erst auf 100 Prozent Helligkeit, dann auf verringerten Wert)

Software (zurückgestellt)

(Status ausgehend von Programmierung durch Mikrocontroller auf unterster Platine) (aus Zeitgründen vorerst eingestellt - wenn externe Programmierung geht reicht dies erstmal)

Stand: 40%

  • State-Machine fertig
  • Kommunikation und Bedienung durch den Computer läuft
  • Oberfläche für PC-Tool fertig
  • Mit Serieller Schnittstelle in Java begonnen

To do:

  • PC-Tool fertigschreiben
  • Buskommunikation für Test B
  • ISP-Programmierung
  • Fuse-Bits setzen
  • PC-Tool

Geplante Funktionen

  • Externe Programmierung durch Programmiergerät
  • Bereitstellung der Signale an Pfostensteckerleiste
  • Stromversorgung durch 12 Volt mit Verpolschutz
  • evtl. Anschluß von LEDs an Platine zum Test der Funktion
  • (Setzen der Fuse-Bits)
  • (Flashen des Controllers der Lightboxplatine)
  • (Test A: Adresse auf 0 setzen, im Anschluß Reset am Controller, alle LED's leuchten auf voller Stärke)
  • (Test B: vordefinerte Adresse einstellen, Überprüfen ob Controller Messages richtig interpretiert und anzeigt)

Hardware

Aufbau der Hardware

!Wichtig! Richtiges Selektieren der Versorgungsspannung ! Platine soll später beides ermöglichen. Selektion über Jumper bei der Pfostensteckerleiste geplant.

Testplattform von oben:

Testplattform von der Seite:

Oberste Platine:

Leere Lightboxplatine, die aufgebohrt wurde damit die Pogo-Pins eingefasst werden können und mit 2-Komponenten-Klebstoff auf der Rückseite angebracht werden können.

Mittlere Platine:

Platine mit Anschlüßen für externe Programmer mit 6-Pin und 10-Pin ISP-Header nach Atmel-Steckerbelegung, Stromversorgung der Platine mit 12 Volt und Pfostensteckerleiste zur Auswahl der Durchkontaktierung für späteren Aufbau mit MC und externen Untersuchung der Signale.

Unterste Platine:

Später vorgesehen für Mikrocontroller, der halbautomatisch programmiert und Tests durchführt. (Momentan pausiert aus Zeitgründen)

Die Hardware wird aus einer leeren Lightbox-Platine bestehen auf der sich an den Stellen der THT-Bauteile Pogo-Pins befinden, die die Signale zum Programmieren&Testen an die zu programmierende Platine übertragen. Darunter befindet sich eine Platine mit Anschlüßen für externe Programmer mit 6-Pin und 10-Pin-ISP-Header,einem Anschluß für die 12V-Versorgung der Platine und eine Pfostensteckerleiste für die externe Untersuchung der Signale der Lightboxplatine.

Auf eine Programmierung durch einen Controller auf der untersten Platine wird momentan aus Zeitgründen verzichtet. Wenn noch Zeit da ist wird dies wieder aufgenommen. Aber nur wenn die Zeit dafür ausreicht. Die Priorität hierfür sehe ich momentan sehr niedrig.

Nutzung der Hardware des Controllers

(pausiert)

UART0: RS232-Treiberbaustein zur Kommunikation mit dem PC

UART1: RS485-Treiberbaustein für Test B

SPI: Nutzung für ISP-Programmierung

Software

RS232-Einstellungen:

Baud: 9600

Data: 8

Stop: 1

Parity: None

Menü

(pausiert)

Bisheriger Aufbau des Menüs, dass dem Benutzer bei der Programmierung und den Tests unterstützen soll

*************************************************
*                                               *
*       FullCircle-Programmier&Test-Plattform   *
*       -------------------------------------   *
*       - Druecke die jeweilige Taste           *
*          zur Selektion einer Option           *
*       - Leertaste selektiert naechste         *
*         Option                                *
*                                               *
*************************************************
*                                               *
* (1)   Fuse-Bits setzen                        *
* (2)   Flashe Firmware                         *
* (3)   Test A                                  *
* (4)   Test B                                  *
* (5)   Hauptmenue                              *
*                                               *
*************************************************