Microprozessor C-Control Basic! Lichtsteuerung

Hallo,

ich habe vor eine kleine Lichtsteuerung zu entwerfen. Die Schaltung mit den Leuchtstoffröhren, EVG’s, und analoger Regelung ist fertig. Nur leider fehlt mir noch noch der Rechner. Ich benötige ein Rechner mit acht High-Low-Ausgängen. Dachte zuerst an ein Mainboard mit Bootdiskette und ein QuickBasic-Programm. Darüber kann man den Druckerport schalten und die Ausgänge nutzen. Nur ein Problem der hohe Stromverbrauch, auch wenn das Licht aus ist! Vorteil, das Mainboard hat eine Echtzeit-Uhr!

Jetzt dachte ich an ein Microprozessor mit Programm. Kenne mich leider auf diesem Gebiet nicht gut aus und benötige einige Tipps. Habe schon viel gegooglet, und bin auf Basic-Control gestoßen. QBasic, VBasic / .net und PBasic behersche ich. Nur habe absolut keine Ahnung von Maschienensprache und C.

Gibt es ein Microprozessor mit Echtzeituhr? Das ist ganz wichtig! Weil das Licht alleine sich einschalten soll.
Gibt es irgendwo ein fertiges Modul mit dem man etwas experimentieren kann?

Danke für eure Tipps im vorraus!

Mit freundlichen Grüßen

Sebastian

Moien

Habe schon viel gegooglet, und bin auf
Basic-Control gestoßen.

Da bist du als Anfänger auch an der richtigen Adresse. Das Teil kann Lichtsteuerungen recht problemfrei machen.

QBasic, VBasic / .net und PBasic behersche ich.

QBasic ist der C-Control-Sprache am nächsten. Man sollte Programme aber simple halten. Vorallem der Stack hält nicht viel aus.

Nur habe absolut keine Ahnung von
Maschienensprache und C.

Braucht man (dafür) nicht.

Gibt es ein Microprozessor mit Echtzeituhr?

Der C-Control hat eine Uhr auf Funkuhr-Basis und eine normale Quartzuhr für den Notfall.

Gibt es irgendwo ein fertiges Modul mit dem man etwas
experimentieren kann?

C-Control Starterkit müsste es immernoch geben. Das Teil braucht nur eine 12 oder 9V Versorgung und einen RS-232-Anschluss am Rechner.

Du könntest auch die Software runterladen und erstmal trocken üben. Der Simulator ist brauchbar und läuft auch unter XP.

cu

Danke für die schnelle Antwort

QBasic ist der C-Control-Sprache am nächsten. Man sollte
Programme aber simple halten. Vorallem der Stack hält nicht
viel aus.

Was genau meinst du, der Stack hält nicht viel aus?

Gibt es ein Microprozessor mit Echtzeituhr?

Der C-Control hat eine Uhr auf Funkuhr-Basis und eine normale
Quartzuhr für den Notfall.

Läßt sich eine Uhrzeit im Programm abfragen, und dann zu einer bestimmt Zeit einen Befehl ausführen, z.B.: Ausgang auf High. (Licht an)?

Gibt es irgendwo ein fertiges Modul mit dem man etwas
experimentieren kann?

C-Control Starterkit müsste es immernoch geben. Das Teil
braucht nur eine 12 oder 9V Versorgung und einen
RS-232-Anschluss am Rechner.

Kannst du mir irgendein Experimentier-Board empfehlen?

Du könntest auch die Software runterladen und erstmal trocken
üben. Der Simulator ist brauchbar und läuft auch unter XP.

Wie nennen sich den solche Programme und gibt es die direkt vom Hersteller?

MFG Basti

Moien

QBasic ist der C-Control-Sprache am nächsten. Man sollte
Programme aber simple halten. Vorallem der Stack hält nicht
viel aus.

Was genau meinst du, der Stack hält nicht viel aus?

Wenn man eine Methode (Funktion/Prozedur) aufruft werden Informationen zu dieser Methode auf den Stack gelegt. Wenn die CPU fertig ist mit der Methode werden die Informationen wieder vom Stack gelöscht. Der C-Control-Stack ist recht klein. Wenn man nun eine Methode1 hat die Methode2 aufruft, die wiederrum Methode3 aufruft, die wiederrum Methode4 aufruft,… usw schmiert das Ding ab. Es ist aber kein Problem aus Methode1 zuerst Methode2 und danach Methode3, 4… aufzurufen.

Es ist auch kein Problem hundert Methoden zu haben. Es ist auch kein Problem diese Methoden hunderte Male aufzurufen. Nur halt nicht gleichzeitig. Das macht rekursive Algorithmen unmöglich. Es stört bei Regelungsaufgaben nicht wirklich.

Der C-Control hat eine Uhr auf Funkuhr-Basis und eine normale
Quartzuhr für den Notfall.

Läßt sich eine Uhrzeit im Programm abfragen

Ja. Es gibt Funktionen wie Year(), Day(), Min(), Sec(), Hour(),…

, und dann zu einer
bestimmt Zeit einen Befehl ausführen, z.B.: Ausgang auf High.
(Licht an)?

Es gab bei der C-Control I nur einen Programmfluss und keine Timer/IRQ. Man kann nicht sagen: „mach um 12:30 den Ausgang auf high“. Man muss selbst immer wieder abfragen „ist es jetzt 12:30 ?“ und dann g.g.F. den Ausgang auf high schalten. Also etwas im Styl (die Syntax stimmt nicht ganz, hab das System schon länger nicht mehr benutzt):

define licht1 DigitalIO[1]

while (true) begin
if (Hour() = 12 AND Min() = 30) then
licht1 = 1
if (Hour() = 12 AND Min() = 35) then
licht1 = 0

end

C-Control Starterkit müsste es immernoch geben. Das Teil
braucht nur eine 12 oder 9V Versorgung und einen
RS-232-Anschluss am Rechner.

Kannst du mir irgendein Experimentier-Board empfehlen?

Ich hab immer mit der „C-CONTROL-UNIT (PLUS)“ gearbeitet und meine Boards selbst gelötet. Die 2 Reihen oben und unten auf Pfostenstecker gesteckt und gut war. Das „C-CONTROL-APPLICATIONSBOARD“ hab ich mir mal angesehen, war dann aber doch zu teuer. Es ist allerdings sehr nett nach dem Einbau ohne Rechner noch ein Display zu haben, aber I2C Displays hat die Software damals nicht nicht unterstützt (heute gibt es Treiber).

Der M-Unit fehlen einige Bauteile (braucht Zusatzbausteine für RS232, ein paar pull-up/down Wiederstände fehlen…), die würde ich nicht kaufen.

Neben dem C-Control I System gibt es noch die C-Control II und C-Control I 2.0 Teile. Die sind untereinander nicht so ganz kompatibel. Das II und I 2.0 System sind wesentlich leistungsfähiger. Allerdings braucht man gar nicht soviel Power für eine Lichtsteuerung. Ist deine Entscheidung. Für einen Programmieranfänger sind II und I 2.0 einfacher. Allerdings sind die Preise auch gesalzen.

Dem ersten I’er fehlt vorallem ein IRQ-Kanal. Das macht die Verarbeitung von Tasten etwas komplexer. Man kann nicht sagen „Informier mich wenn Taste X gedrückt wird“. Man kann aber ständig nachfragen ob Taste X jetzt gedrückt ist. Also:

while (true) begin
if taste1 = 1 then

end

Nur kann man dadurch u.U. Tasten verpassen. Die neueren Varianten sind da einfacher.

Du könntest auch die Software runterladen und erstmal trocken
üben. Der Simulator ist brauchbar und läuft auch unter XP.

Wie nennen sich den solche Programme und gibt es die direkt
vom Hersteller?

http://www.c-control-support.net/

(genauer: http://www.c-control-support.net/daten/update.html)

cu

Danke

Danke für die Tipps. Werde mich noch ein wenig weiter informieren, bevor ich mir ein Controller kaufe.

MFG Basti