C-Control

Der Mikrocontroller C-Control (CONRAD-Control) wird vom Elektronikunternehmen Conrad Electronic produziert und vermarktet. Die seit 1994 produzierte Mikrocontrollerreihe wird heute in verschiedenen Variationen vertrieben. Neben einem auf einem Motorola MC68HC05B6 basierenden Controller in einer Standard- und Kompaktausführung (M Unit), wird seit Mitte 2004 nun auch die Nachfolgegeneration der C-Control I MIUnit in Form der C-Control I M-Unit 2.0 68HC908GT16 und C-Control I Micro 68HC908QT4CP verkauft. Eine Weiterentwicklung der C-Control I stellt die C-Control II dar, die durch eine dritte C-Control Version, der C-Control Pro Mitte 2005 ergänzt wird. Die C-Control wird vor allem wegen des einfachen Handlings, dem zahlreichen Zubehör und dem großen Angebot an deutschsprachiger Literatur verwendet.
Controller-Versionen
Kommerzielle Controller
Vor 1996 gab es eine C-Control I Version 1.0, die allerdings nicht mit den noch heute erhältlichen Mikrocontrollern der Generation I kompatibel ist. Später kam dann die C-Control I Version 1.1 auf den Markt, die nun nicht nur in der grafischen Programmiersprache CCPLUS, sondern auch in dem BASIC-Dialekt CCBasic programmiert werden konnte. Die C-Control I Version 1.1 ist sowohl als BASIC Unit als auch M-Unit 1.1 verfügbar.
Zusätzlich gibt es seit Ende 2000 die C-Control II (auch C-Control 2 oder CC2 genannt) basierend auf einem Infineon-16-Bit-Mikrocontroller. Diese hat mit der C-Control I nur sehr wenig gemeinsam. Durch das Multithreading, die vorhandene Möglichkeit der Stringverarbeitung, sowie der 64Bit-Fließkommaarithmetik und den für einen Mikrocontroller sehr großen Speicher, ist die C-Control II weiterhin die umfangreichste Variante. Durch CC2Net.de ist der Support zur C-Control II sehr gut, so daß man bei einem Problem schnell Hilfe findet.
Seit Mitte 2004 ist auch die Nachfolgegeneration der C-Control I Version 1.1, die C-Control I M-Unit 2.0, erhältlich. Ziel des neuen Controllers ist es eine weitestgehende Kompatibilität zur alten M Unit 1.1 zu halten. Neben der C-Control I M-Unit 2.0 wurde auch die C-Control I Micro veröffentlicht. Die Micro ist ein einzelner Chip, der ohne äußerliche Beschaltung lauffähig ist. Neuerdings kann man auch für dieser Controller mit dem speziellen CCASM Assembler-Maschinencode erstellen.
Seit Mitte Mai 2005 gibt es die dritte Variante, die C-Control Pro (auch CC-Pro genannt). Diese Variante der C-Control hat wiederum wenig mit den vorherigen beiden gemeinsam.
Alternative Controller
Es gibt neuerdings auch einige alternative Controller, die zumindest in Teilen auf das BASIC-System der C-Control I zurückgreifen. Anfang 2004 wurde das CC1-OS-Project eingestellt. Das Projekt verfolgte das Ziel die C-Control I zu erweitern. Als weitere Alternativen stehen die Open Mini und Open Micro von Dietmar Harlos, sowie die B-Control (basierend auf Atmel Atmega32/128) von Martin Kaup zur Auswahl.
Anwendungen
Mit der C-Control lassen sich einfache Automatisierungsvorgänge für den privaten, aber auch semiprofessionellen Bereich realisieren. Durch die C-Control I M-Unit 2.0 wird eine im Vergleich zur Vorgängerversion 38 Mal höhere Ausführungsgeschwindigkeit erreicht. Auch der Umgang mit dem IIC-Bus, externen Komponenten oder LC-Displays wurde vereinfacht.
Die C-Control II wird sogar sehr häufig im professionellen Bereich eingesetzt. Durch umfangreiche Programmmodule kann verschiedenste Hardware auf einfachste Weise eingebunden werden. Die C-Control II ist auch in der Heimautomatisierung sehr beliebt, da ein Controller ausreichend Ressourcen hat, um hier alles zu steuern bzw. zu regeln. Bei der Wahl des Controllers spielt oft auch die Ausführungsgeschwindigkeit eine wichtige Rolle. Verschiedene Benchmarks haben aber gezeigt, dass ein Geschwindigkeitsvergleich der aktuellsten Controller sehr stark von der Anwendung und damit von den vom Controller zur Verfügung gestellten Ressourcen abhängt.
Jede C-Control-Variante hat demnach ihre Vor- und Nachteile.
Programmierung
Die für die Programmierung der C-Control I erhältliche C-Control I Software CD von CONRAD beinhaltet die Programmiersprache BASIC++ und CCBASIC. Alternativ lässt sich auch mBasic, die C-ähnlichen Sprache CCCCC oder das für das Open Projekt entwickelte, abwärtskompatible OCBASIC einsetzten.
Die C-Control Generation I kann außerdem mit Assembler programmiert werden. Für die M Unit 2.0 und Micro wird allerdings ein spezieller Assembler namens CCASM benötigt, da sich nur mit CCASM signierte Programme auf den neuen C-Controls starten lassen.
Main() ' Dies ist ein Kommentar
FUNCTION Main()
DEFINE i AS BYTE
DEFINE MeinString AS STRING * 10
LCD.INIT
LCD.CLEAR
FOR i = 1 TO 10
MeinString = "Wert von i = " & STR(i)
LCD.PRINT MeinString
NEXT i
LCD.OFF
END FUNCTION
M Unit 2.0 Beispiel in BASIC++ mit dynamischen Strings und LC-Display-Ausgabe
Die Programmierung der leistungsstärkeren C-Control II erfolgt dagegen mit der Programmiersprache C2. Allerdings können hier auch Assemblerroutinen leicht eingebunden werden.
thread main
{byte second;
stports.init();
stports.LCDlight(1);
lcdext.init();
lcdext.print("Hello World");
second=system.second();
loop
{
lcdext.line(2);
lcdext.time(0);
stports.togLED(1);
sleep 490;
stports.togLED(1);
wait system.second()!=second;
second=system.second();
}
}
C2-Beispiel mit LC-Display-Ausgabe bei einer C-Control-II-Station
thread main
{byte second;
lcdext.init();
lcdext.print("Hello World");
second=system.second();
loop
{
lcdext.line(2);
lcdext.time(0);
sleep 500;
lcdext.goto(2,2);
lcdext.put(' ');
lcdext.goto(2,5);
lcdext.put(' ');
wait system.second()!=second;
second=system.second();
}
}
C2-Beispiel mit LC-Display-Ausgabe bei einer C-Control-II-Unit mit externem LCD
Die C-Control Pro ist ein Atmel AVR ATmega32 bzw. ATmega128 Mikrocontroller und enthält wie die C-Control I & II einen vorinstallierten Tokeninterpreter, welcher bei einem Programmdownload ggf. automatisch aktualisiert wird. Im Gegensatz zur C-Control I können die Token nicht nur aus einem BASIC- sondern auch aus einem C-Quelltext compiliert werden, und das sogar gemischt. Allerdings ist die C-Control Pro im Gegensatz zur B-Control, die ebenfalls auf ATmega Mikrocontrollern basiert, nicht kompatibel zur C-Control I.
Literatur
Die C-Control zeichnet sich durch ein großes Angebot an deutschsprachiger Literatur aus. Der Einstieg in der Welt der Mikrocontroller erfolgt daher meist mit der C-Control. Die zahlreichen Bücher und Internetseiten greifen dabei sowohl Themen für Anfänger als auch Fortgeschrittene auf.
Literaturliste
Sortiert nach Erscheinungsdatum:
- Stefan Tappertzhofen: Messen, Steuern und Regeln mit C-Control M-Unit 2, Franzis Verlag: Poing 2005, ISBN 3-772-34165-9
- Burkhard Kainka: Messen, Steuern, Regeln mit dem C-Control/Basic-System, Franzis Verlag: Poing 2003, ISBN 3-772-36735-6
- Burkhard Kainka, Andre Helbig: Messen, Steuern, Regeln mit C-Controll II, Franzis Verlag: Poing 2002, ISBN 3-772-34054-7
- B. Kluth/C. Kluth: C-Control-Station, Franzis Verlag: Poing 2002, ISBN 3-772-38165-0
- Burkhard Kainka, Martin Förster: C-Control-Anwendungen, Franzis Verlag: Poing 1998, ISBN 3-772-35514-5
Weblinks
- C-Control Webseite
- C-Control Intern
- C-Control I M-Unit 2.0 und C-Control I Micro Webseite
- C-Control II Supportseite
- C-Control Pro Webseite
- Open-Micro / Open-Mini Info-Seite
- B-Control
Programmierung / Entwicklungsumgebungen
C-Control I
- Basic++ Webseite, CCASM Webseite
- mikrocontrollerBASIC - Neuer C-CONTROL Compiler, Assembler und Emulator mit VisualBASIC/QBASIC Syntax von Patrick Borek
- Open-Control/Basic inoffizieller und 100% kompatibler Nachfolger von CCBasic
- Workbench++ interaktive Entwicklungsumgebung für Basic++ und CCASM
- Info Seite uber C-Control
C-Control II
C-Control Pro