Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Station 2.0 Keyboard ist Crap Kategorie: C-Control I V1.2/2.0 (von Olli - 7.03.2006 13:34)
Olli nutzt:  CC1-Station V2.0
Hallo Leute,

ich wollte Euch mal meine Erfahrungen mit der C-Control I Station 2.0 berichten. Sagen wir mal als abschreckendes Beispiel.

Ich hab mir die Station gekauft, weil ich eine betriebsfertige Lösung haben wollte, und mir nicht stundenlang im Conrad-Katalog das ganze Gebimsel zusammensuchen wollte, und nachher vielleicht noch feststellen, dass die Komponenten nicht zusammenpassen oder etwas fehlt. Auch eine fertige Gehäuselösung war für mich Kaufargument (ich mag so die typischen Elektronikbastlergehäuse nicht...)

Ich hab mir dazu noch einen Messverstärker für PT1000 und Betauungsfühler zusammengebrutzelt (hat zwar ewig gedauert für mich als Gelegenheitselektroniker, und ging nur dank Schaltungssimulation, funktioniert aber top). Dann wollte ich mir die Software schreiben...

Das Auswerten der Wandler mit CCBasic und das vorgeben einer Sollkurve für Temperatur und Feuchte ging noch ganz gut. Dann dachte ich mir aber: Assembler wäre ganz praktisch, insbesondere weil ich eine nicht-vorzeichenbehaftete 16- oder 32-bit Multiplikation gebraucht hätte). Assembler hat natürlich nicht funktioniert (wie wahrscheinlich jeder hier weiss). Nach ein paar Stunden suchen im Web bin ich auf Basic++ gestoßen. Die Tatsache, dass der Entwickler auch noch einen Assembler anbietet hat mich hoffnungsfroh gestimmt.

Doch ach, erstes Basic++ Programm geuploaded (ein Beispiel aus dem Programmpaket wohlgemerkt) und C-Control hat sich aufgehängt. Als ich dann ein Assemblerprogramm versucht hab, einzubinden (ebenfalls Beispiel-Code, aber nebenbei ich bin Assembler-Profi) war mir klar, dass die Maschinenbefehle überhaupt nicht ausgeführt wurden. Auf die Orthografie der offiziellen Doku des offiziellen Basic++ gehe ich nicht weiter ein. Mir war für mich klar, was zu tun ist. Mit sowas ärgere ich mich gar nicht lang rum.

Also wieder CCBasic. Ich dachte mir: Okay wozu Assembler - Augen zu und durch. Dann wollte ich die in der Station eingebaute Tastatur abfragen. Ich fing an, mir die Prog-Taste vorzunehmen, weil ich naheliegenderweise benutzerdefinierte Steuerparameter eingeben können wollte. Ein Blick in die Doku der Station zeigte aber, dass gerade die Prog-Taste an PORTD des Prozessors hängt und dieser wohl nicht in CCBasic abgefragt werden kann.

Also doch Assembler ? Nach weiterer Recherche habe ich herausgefunden, dass die V2.0 der C-Control I den Sys-Befehl nicht ausführt, man also keine eigenen Assembler-Routine starten kann. Wozu also dieser CCASM ? Ich konnte/wollte es einfach nicht glauben. Also weitere Experimente.

Ich habe schließlich herausgefunden, dass man mittels des LOOKTAB-Befehls durch Angabe eines beliebigen Index den gesamten Speicher der Station auslesen kann (z.B. ist der Inhalt des Flash bei der CControl I 2.0 ebenfalls im Hauptspeicher adressiert...). Ich habe ein Label #beginn auf den Anfang des Basic-Programms gesetzt und die erste definierte Variable mit einem bekannten Wert belegt. Auf diesen habe ich die LOOKTAB-Ergebnisse abgefragt. So habe ich herausgefunden, welchem LOOKTAB-Index vom Beginn des Programms aus der Beginn des Variablenbereichs liegt. Da dieser absolut bei $00C0 liegt, war klar, unter welchem Index PORTD (Adresse $0003) zu finden ist.

Okay, dachte ich, super, Problem ohne Assembler gelöst. Das Auslesen des Betriebssystems der Station hat mich da verständlicherweise gar nicht mehr so interessiert...
Also die anderen Tasten noch schnell abgefragt, und der Benutzeroberfläche steht nichts mehr im Weg. Aaaaaaaber: ich hab die Werte von AD8 abgefragt (wo die Tastatur über einen Spannungsteiler dranhängt) und er hat Zufallswerte zwischen 0 und 255 geliefert, wenn keine Taste gedrückt wurde, und um den Scancode stark schwankende Werte, wenn eine Taste gedrückt wurde, so dass ein zuverlässiges Auslesen der Tastatur unmöglich war !!!!!

Ich also nicht auf den Kopf gefallen und auf den Schaltplan der C-Control geguckt. Und was seh ich ? Der Spannungsteiler der Tastatur ist mit 14 mal 10kOhm-Widerständen (=maximaler Innenwiderstand der Tastaturspannung = 140kOhm!) realisiert und im Leerlauf mittels 1MOhm auf Ground gehalten. Kein Wunder dass keine stabilen Werte am AD liegen: der hängt ja quasi in der Luft.
Im Datenblatt des Controllers 68HC908GT16 liest man: "Source impedances greater than 10 kΩ adversely affect internal RC charging time during input sampling.". Wer lesen kann hat Vorteile.

Junge, ist das "Conrad Technologie Centrum" eine Behindertenwerkstatt ? Ich hab nicht lang gefackelt. Anstatt an Conrad eine Bittsteller-Email zu verfassen, oder lange Garantieprozeduren zu durchlaufen, wollte ich schnell mein Vorhaben durchbekommen.

Also einen LM358 an zwei abgehackten Beinen eines alten IC-Sockels angelötet und als einen Impedanzwandler auf den internen Jumper des AD8 gesteckt. Da hat es doch tatsächlich funktioniert. Die Tastaturwerte waren absolut sauber und konstant. Auch der Leerlaufwert. Einziges Problem noch: der LM358 hat als maximale Ausgangsspannung UB-1.5V, also 3.5 V und da liegen die letzten Tasten drüber. Also noch den letzten 10kOhm-(SMD-)Widerstand des Tastaturspannungsteilers durch einen 55 kOhm-Widerstand ersetzt und die Tastatur war wieder auf der Höhe.

Noch ein paar andere Punkte sind mir aufgefallen:

1) Der CCBasic-Simulator verträgt nur 24 Byte Variablen, laut Doku der Station sind aber 64Byte verfügbar (auf dem Controller selber tut das auch).

2) Wieso eigentlich nur 64 Byte, wo doch die Station 512Byte RAM hat, doppelt so viel wie die C-Control I V1.1. Wie wurde der ganze Speicher verschleudert ?

3) Das mitgelieferte Code-Beipiel zur Ansteuerung der LED und Relais eignet sich nicht, um mehrere
LED/Relais gleichzeitig anzusteuern, da diese am I2C-Bus hängen und die entsprechenden Ports nicht gelesen sondern nur geschrieben werden können. Versucht man also Bitports für die LED zu definieren, dann wird eine 1 in das Leseergebnis des Ports hereinge-AND-et. Da das Leseergebnis aber immer Null ist, wird per Bitzugriff immer nur eine LED eingeschaltet, alle anderen werden immer automatisch ausgeschaltet. Man muss als Byteport darauf zugreifen, wenn man mehrere schalten will.

Aber nochmal: die Sache mit der Tastatur hat dem Fass den Boden ausgeschlagen. Das Ding funktioniert so, wie es ausgeliefert wird, nicht. Hat einer von den Conrad-Idioten die Tastatur überhaupt mal getestet ???

Was ich sagen will: lasst Euch nicht von dem schnieken Hutschienengehäuse blenden. Die C-Control I V2.0 ist Sche*sse. Ich weiß, dass ich nie nie nie nie wieder eine C-Control kaufen werde. Bei solchen Irrwegen, wie sie der Benutzer der C-Control erleiden muss, denkt man besser gar nicht an den eigenen Stundensatz...

Die AVR-Controller sind offensichtlich besser beackert, in C und Assembler programmierbar und es gibt entsprechende wohlgetestete Boards (RN-Control).

Grüße,
Olli

 Antwort schreiben

Bisherige Antworten:

Re: Station 2.0 Keyboard ist Crap (von Hecktor - 11.03.2006 9:55)
    Re: Station 2.0 Keyboard ist Crap (von ManfredW - 12.03.2006 14:18)
        Re: Station 2.0 Keyboard ist Crap (von Henrik - 12.03.2006 14:34)
            Re: Station 2.0 Keyboard ist Crap (von olli - 13.03.2006 9:27)
            Re: Station 2.0 Keyboard ist Crap (von Hecktor - 12.03.2006 20:15)
    Re: Station 2.0 Keyboard ist Crap (von Olli - 11.03.2006 21:29)
    Re: Station 2.0 Keyboard ist Crap (von Henrik - 11.03.2006 16:53)
Re: Station 2.0 Keyboard ist Crap (von Peter Grzeschik - 9.03.2006 12:45)
Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 8.03.2006 12:53)
    Re: Station 2.0 Keyboard ist Crap (von Olli - 8.03.2006 23:52)
        Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 9.03.2006 12:18)
            Re: Station 2.0 Keyboard ist Crap (von Olli - 9.03.2006 20:56)
                Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 10.03.2006 18:30)
                    Re: Station 2.0 Keyboard ist Crap (von Olli - 10.03.2006 20:33)
                       Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 10.03.2006 21:19)
                          Re: Station 2.0 Keyboard ist Crap (von Olli - 11.03.2006 21:12)
Re: Station 2.0 Keyboard ist Crap (von Stefan Tappertzhofen - 7.03.2006 22:19)
    Re: Station 2.0 Keyboard ist Crap (von Olli - 8.03.2006 8:41)
        Re: Station 2.0 Keyboard ist Crap (von Stefan Tappertzhofen - 8.03.2006 10:06)
            Re: Station 2.0 Keyboard ist Crap (von Olli - 8.03.2006 23:43)
                Re: Station 2.0 Keyboard ist Crap (von Stefan Tappertzhofen - 9.03.2006 10:29)
                    Re: Station 2.0 Keyboard ist Crap (von Olli - 9.03.2006 19:20)
                       Re: Station 2.0 Keyboard ist Crap (von Patrick - 9.03.2006 22:11)
                          Re: Station 2.0 Keyboard ist Crap (von olli - 10.03.2006 9:02)
                          Re: Station 2.0 Keyboard ist Crap (von Dietmar - 10.03.2006 0:33)
                             Re: Station 2.0 Keyboard ist Crap (von olli - 10.03.2006 8:45)