Baubericht CAMPAC Interface 2004

Baubericht CAMPAC Interface

(von Gerhard Klauser)

Nachdem die Sache mit dem CAMPAC Bau recht schnell erledigt war, habe ich eine neue Herausforderung gesucht.Als Computerfreak bin ich es gewohnt, Backups zu machen und habe daher  immer ein ungutes Gefühl bezüglich der Datensicherung meiner Modelleinstellungen auf der Fernsteuerung. Bisher habe ich daher die Modelle immer noch zusätzlich auf ein CAMPAC Modul gespeichert.

Als neue Herausforderung wollte ich ein PC Interface mit der notwendigen Software bauen.

Ich habe das Problem in 2 Varianten gelöst.

Variante 1:

Die erste Variante war eine elegante Lösung, die sich jedoch nicht zum Nachbau eignet (hohe Kosten für CControl).Ich habe eine uralte CControl, mit der ich mal meine Heizung gesteuert habe umgebaut und ein CAMPAC Interface daraus gemacht.Das CAMPAC Modul wird auf die CControl gesteckt und diese über die serielle Schnittstelle mit dem PC verbunden. Auf der CControl läuft ein Basic-Ladeprogramm und ein Assemblerprogramm welches den I2C Bus des CAMPAC Moduls ansteuert. Das PC Program (Visual Basic) sendet lediglich Adressen und Daten sowie Schreib- und Lesebefehle an die CControl.

Damit können CAMPAC Module ausgelesen, auf dem PC gespeichert und wieder auf das CAMPAC Modul geschrieben werden.

Hier einige Bilder:

Die CControl mit aufgestecktem CAMPAC Modul:

Und hier das Interfaceprogramm auf dem PC:

Variante 2:

In der Variante 2 habe ich ein Interface gebaut, dass recht kostengünstig nachgebaut werden kann.

Im Unterschied zu den im Internet verfügbaren Programmen wie beispielsweise: http://ourworld.compuserve.com/homepages/wallacelouie/cms.htm , sollte das Interface nicht nur unter Dos oder W98 funktionieren sondern auch unter Windows XP oder Windows 2000. Ein gutes Beispiel wäre das Programm unter http://www.rkolbabek.com/index.php?page=3#toolpac  (keine Angst, der Download ist in English und der Autor gibt gerne per Mail Auskunft), doch leider unterstützt das Programm nur die serielle Schnittstelle, ich wollte jedoch die Parallele Schnittstelle verwenden.

Daher habe ich mich entschlossen, selbst ein Interface für die Druckerschnittstelle und das zugehörige Programm zu erstellen.

Hier das Interface:

Die zugehörige Stückliste mit Conrad Teile Nummer:

179205-62       IC 7805=L2005=LM340T5                                 0,65 1x

403377-62       WIDERSTAND KOHLE 0,25 W 5% 10K BF 0207               0,10         5x

453099-62       KONDENSATOR 0,1 UF KDPU 2,54 MM                            0,28         2x

460656-62       MINI EL KONDENSATOR 47 UF 16V -40/105GR               0,18         2x

739200-62       STIFTLEISTE 1 X 20 / RM2                                     0,79         1x

741671-62       STIFTLEISTE 25 POLIG                           0,65         1x

168874-62       SN 74 LS 07                                                 1,36         1x

Das Interface mit dickem Akku:

Noch ein paar Worte zur Stromversorgung:

Das Interface hat mit einer einfachen 9V / 50 mAh bei einem 16k CAMPAC problemlos funktioniert. Das CAMPAC 64k hat jedoch einen Hitachi Mikrocontroller drauf und säuft kräftig Strom. Ich hatte grosse Probleme und immer wieder Schreib- Lesefehler auf dem CAMPAC 64k bis ich mich dazu entschlossen habe, den 3000 mAh Akku meines Modellautos als Spannungsquelle zu verwenden. Ich habe immer noch sporadische Schreib- Lesefehler, diese werden jedoch durch die Software und eine Verify Möglichkeit abgefangen.

Und das zugehörige Programm:

Was kann das Programm momentan:

  • – ganze Campac lesen und schreiben und vergleichen (sowohl 64k als auch 16k)
  • – einzelne Bytes lesen und schreiben (modifizieren)
  • – Campac auf Festplatte speichern und von Festplatte beschreiben
  • – Campac kopieren
  • – Modellspeicher innerhalb Campac umkopieren

Da Futaba die Speicherorganisation der Camapc nicht bekannt gibt, muss die Adressbelegung mühsam über probieren (Einstellungen abspeichern, Einstellung ändern, abspeichern und mit Daten vor Änderung vergleichen) herausgefunden werden. Im Internet finden sich viele Angaben über die Speicherorganisation der FC 18, nicht jedoch über die FC 28 (vielleicht kann mir hier ja jemand weiterhelfen). Ich habe daher noch ein zusätzliches Programm geschrieben, dass es erlaubt, Files byte weise zu vergleichen  und so die Adresse der Modelleinstellungen auf dem CAMPAC zu identifizieren. Traumziel wäre es, ein Modell komplett am Computer zu programmieren und dann auf das CAMPAC zu laden und das fine tuning im Flug zu machen.

Bisher habe ich folgende Adressen auf der FC 28 identifiziert (Word 0 und Wird 1 haben bei FC 18 und FC 28 die gleiche Bedeutung):

Word 0  =             03            das CAMPAC ist ein 16k

Word 0  =             04            das CAMPAC ist ein 64k

Word 1=                02            das CAMPAC wurde auf einer FC 18 erstellt

Word 1=                159          das CAMPAC wurde auf einer FC 28 erstellt

Byte 10 bis 21                      Modellname

Byte 22                                  Modulation PPM/PCM

Hier noch ein Blick auf das Programm zum Vergleichen der Daten:

Was die Sache noch weiter kompliziert macht, ist dass die FC 28 mehrere Grundeinstellungen / Mischertypen mit unterschiedlichen Flugzuständen hat. Ein Modell belegt auf einer FC 28 ein CAMPAC 16k (2k Byte), so dass man theoretisch tausende  von Versuchen braucht um wirklich die Bedeutung aller Speicheradressen genau zu kennen.

Wie geht´s weiter:

  • – Momentan gar nicht
  • – vielleicht lade ich das Programm auf´s Netz so dass sich weitere Leute finden, die mithelfen die CAMPAC Adressen zu dekodieren.

Für Insider:

Die Druckerschnittstelle, die in dieser Anwendung als I2C Bus umfunktioniert wurde, lässt sich in Windows XP aus Sicherheitsgründen nicht mehr direkt aus einem Programm ansteuern. Das funktioniert nur noch auf einem Device Driver Level. Ich habe mir jedoch die Arbeit nicht selber angetan. Einen sehr guten Device Driver der sich aus Visual Basic ansprechen lässt gibt es als Shareware unter http://zealsoftstudio.com/ntport/ für 15 US$.

Gerhard Klauser, März 2004