Programmierung

C-Control-I-Basic


 
  1. Allgemein

    Von Conrad Electronik gibt es ein Mikroprozessorsystem mit dem MC68HC05B6 von Motorola. Die C-Control "Main Unit I" und "Main Unit I 'M' " sowie die "Main Unit I Station" sind in Basic programmierbar (Vorsicht: Die PLUS-Version ist nur "graphisch" programmierbar). Bei den, seit dem 2005'er-Katalog neu erschienenen, Systeme wie die  "M-Unit 2.0" der "MICRO-Chip" ist das Basic um wichtige Funktionen ergänzt worden. Die Syntax entspricht in etwa der des Standard-Basics mit verringertem Befehlssatz (ca. 33 Befehle). Es werden ganzzahlige Datentypen bis 16 Bit unterstützt. Für mein CControl-Projekt sind diverse Programme entstanden, von denen ich hier einige zum Download freigebe bzw vorstelle.

  2. Das "Hallo Welt"

    print "Hallo Welt"  //Ausgabe auf die serielle Schnittstelle


  3. Programme

    • Lauflicht

      Name     : llicht109.bas
      Version  : V1.09
      Autor      : (c) DG1XPZ 01.09.1997
      Länge    : 3462 Byte
      Funktion: Lauflicht am Digital-Port 1-7
      Systemvoraussetzungen:
      - C-Control/Basic-Modul
      - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur

    • Aufnehmen der Ladekennlinie eines Akkus

      Name    :  lakku101.bas 
      Version : V1.01
      Autor     : (c) DG1XPZ 16.08.1997
      Länge    : 4086 Byte + 1152 Byte werden für Daten benötigt !!
      Funktion: Aufnehmen der Ladekennlinie eines Akkus
      Systemvoraussetzungen:
       
      - C-Control/Basic-Modul
       - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur
      Schwerpunkt:
       
      - Speichern der Meßwerte im EEPROM
       - Übertragen der Daten aus EEPROM zum PC (Terminalprogramm)
      Hinweise:
       
      - AD1-Eingang = Spannung max 2,5V mit 10/12/12.5/15/25V-Sensor
       - es darf auf keinen Fall das Funkuhrmodul angeschlossen werden
      Meßwertaufzeichnung:
       - Format: Stunde, Minute, Spannung
       - alle 5 min werden die Meßwerte aufgezeichnet (im EEPROM)
       (ungefähr [16h a 5 min] x [3 Meßwerte a 2 Byte] = 1152 Byte Speicherplatz im
       EEPROM werden dafür benötigt [max. 1728 Byte bei 24h-Messung])
       Programmbeschreibung:
       Nach dem Start des Programms, und Ausgabe der Programmversion wird die
       Ausgabe der Meßwerte der letzten Aufzeichnung angeboten. Eine Bestätigung
       mit der RAUTE-Taste beginnt sofort mit der Übertragung der Meßwerte über
       die serielle Schnittstelle des µComputers. Am PC sollte vorher ein Terminal-
       programm gestartet werden. Die Meßwerte werden in Tabellenform so übertragen
       (zum PC)/aufgezeichnet (im EEPROM), das sie problemlos in Excel als Diagramm
       ausgewertet werden können. Jede andere Taste bewirkt das VERNEINEN.
       Jetzt wird der verwendete Spannungssensor abgefragt.
       Danach kann die max. Meßzeit eingegeben werden, anschließend beginnt sofort
       die Messung mit Ausgabe der Spannung und der Meßzeit.
       Bei fehlendem Akku wird eine Fehlermeldung ausgegeben.
       Sollen die aufgezeichneten Meßwerte zum PC übertragen werden, muß
       das Programm neu gestartet werden (Reset+Start oder Power OFF+ON)
       Erklärung wie oben.

    • Wetterstation

      Name    :  wette116m.bas 
      Version : V1.16m
      Autor     : (c) DG1XPZ 21.09.1997
      Länge    : 4636 Byte
      Funktion: Anzeige von Wetterdaten
      Systemvoraussetzungen:
       - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur
      Schwerpunkt:
       - Ausgeben von Text am Display
       - Eingeben von Text mit Tastatur
       - Meßwerte vom AD-Wandler auswerten ->
      Hinweise:
       - AD1 = Temp -27.5°C bis 100°C 
       - AD2 = Lux 0 bis 265 Lux (ungeeicht - nur Ausgabe des Byte-Wertes)
       - AD3 = Luftdruck in mBar 800hPa bis 1015hPa (eigenes Modul)
       - wechseln zum Menü während der laufenden Messung: mit STERN-Taste
      Meßwertaufzeichnung:
       - Tag, Monat, Jahr, Stunde, Minute, Sekunde, Temperatur, Lux, Luftdruck
       - Platzbedarf im EEPROM = 9 x 2 byte = 18 Byte je Messung
         bei Intervall 30 = 48 Messungen pro Tag = 48 x 18 Byte  = 864 Byte pro Tag

    • Service

      Name    : service_m103.bas 
      Version : V1.03
      Autor     : (c) DG1XPZ 16.08.1997
      Länge    : 4000 Byte
      Funktion: -liest alle Ports aus und ermöglicht das Setzen dieser
                      -prüft Ladezustand des internen Akkus (nur mit Service-Stecker)
      Systemvoraussetzungen:
       - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur
       - Service-Stecker mit Spannungsteiler 12.5V (10KOhm + 40KOhm) an AD1

    • Solardatenerfassung

      Name    : Solar.bas
      Version : V1.17
      Autor     : (c) DG1XPZ 04.07.1999
      Länge    : 5781 Byte
      Funktion: Anzeige der Solarleistung einer Solaranlage in Ampere-Stunden
      Systemvoraussetzungen:
       - C-Control/Basic-Modul
       - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur
       - ein 4-zeiliges Display mit 20 Zeichen je Zeile wird vorausgesetzt
         (sorry, das original 2x16-Display ist für dieses Prg nicht geeignet)
      Schwerpunkt:
       - Anzeige der dem Akku zugeführten Energie (von der Solarzelle)
       - Speichern des Tages-Meßwertes im EEPROM
       - Übertragen der Daten aus EEPROM zum PC (Terminalprogramm)
      Hinweise:
       - AD1-Eingang = Spannung mit 15V oder 25V-Sensor (Batterie)
       - AD2-Eingang = Strom mit Stromsensor 2.55A oder 25.5A
         Variablen "Stromsensor" und U_sensor müssen eingestellt werden !!!
       - bei 25.5A: "Stromsensor:=25"
       - bei 2.55A: "Stromsensor:=2"
       - Die Leistung wird jede!! Minute mit 5 Stellen nach dem Komma
         berechnet.
       - Sonnenscheindauer ist auf max. 18h begrenzt (reicht wohl auch)
       - max. Solarstrom von 2,5A (25A)
       - max. Kapazität (Leistung) 32,350Ah (323,50Ah) pro Tag
         (hängt vom Variablen-Typ ab, Typ Word = 32767, dann würde ein un-
         kontrollierter Überlauf stattfinden, ab 32,350 wird nicht mehr
         gezählt und ein Fehlerton ausgegeben!!)
       - beim "Umschalten" von 2,55A- zum 25,5A-Sensor ändert sich nichts an
         der Berechnung der Daten, lediglich die Kommastelle bei der Ausgabe
         wird um eine Stelle versetzt.
       - die dem Akku zugeführte Energie wird durch den Faktor 1,4 geteilt
         (Wir erinnern uns: Dem Akku muß immer die 1,4-fache Energie zugeführt
         werden, um auf die volle Nennkapazität zu kommen.)
         Die Nutzung eines Funkuhr-Moduls ist ohne Programmänderung möglich.
      Meßwertaufzeichnung:
       - Format: Tag, Monat, int_Kapazitaet, Rest_Kapazität, Sonnendauer, Imax
       - um 23:59 werden die Meßwerte aufgezeichnet (im EEPROM)
         (= 8 Meßwerte a 2 Byte pro Tag)

    • Prüfen und Anzeige der Kapazität eines Akkus

      Name   : Akku.bas
      Version : V1.19d
      Autor     : (c) DG1XPZ 16.08.1997
      Länge    : 5037 Byte + 1210 Byte werden für Daten benötigt !!
      Funktion: Prüfen und Anzeigen der Kapazität eines Akkus
      Systemvoraussetzungen:
       - C-Control/Basic-Modul
       - Applicationsboard mit 4-zeiligem LCD-Display und Tastatur
       - ein 4-zeiliges Display mit 20 Zeichen je Zeile wird vorausgesetzt
         (sorry, das original 2x16-Display ist für dieses Prg nicht geeignet)
      Schwerpunkt:
       - Speichern der Meßwerte im EEPROM
       - Übertragen der Daten aus EEPROM zum PC (Terminalprogramm)
      Hinweise:
       - AD1-Eingang = Spannung max 2,5V ohne Teiler, Akku-max.:2.50 V
         10/12/15/25V-Teiler möglich
       - Dig8-Ausgang = Relaissteuerung (Lastwiderstand an Akku legen, und
         zum Ende der Messung wieder abschalten)
       - Anzahl Zellen max.: 17 NiCd o.ä. (weil 25V / 1.45V = 17 ist )
         max.: 1 Blei-/Bleigel-Akku á 12V (oder 2 à 6V)
       - Kapazität max.: 31.250 Ah
       - Lastwiderstand max.: 0.8 - 2083.0 Ohm
       - Entladestrom max.: 1.2mA - 3.125 A
       - Der Lastwiderstand muß bei NC-Akku für 1.25V berechnet werden !
         ( 100mAh = 125.0 Ohm, 500mAh = 25.0 Ohm, 700mAh = 17.8 Ohm
         750mAh = 16.67 Ohm 1000mAh = 12.5 Ohm
         2200mAh = 5.68 Ohm, 3000mAh = 4.17 Ohm, 3500mAh = 3.57 Ohm )
       - Der Lastwiderstand muß bei Blei-/Bleigel-Akkus für 2.0V berechnet werden !
       - Die Kapazität wird jede!! Minute mit 2 Stellen nach dem Komma
         berechnet, dadurch sehr genaue Meßwerte.
       - Der NiCd/NiMH-Akku wird bis auf 0.5V je Zelle entladen (bei 1 Zelle)
         (soll angeblich den Memoryeffekt bei NiCd-Zellen verringern können)
         Bei mehr als 1 Zelle beträgt die Ladeschlußspannung 1.0V
         (verhindert Umkehreffekt im Akkupack)
       - Die Blei-/Bleigel-Zelle wird bis auf 1.8V entladen
      Meßwertaufzeichnung:
       - Format: Stunde, Minute, Spannung, Kapazität(Int, Rest)
       - alle 5 min werden die Meßwerte aufgezeichnet (im EEPROM)
         (ungefähr [10h a 5 min] x [5 Meßwerte a 2 Byte] = 1210 Byte
         Speicherplatz im EEPROM werden dafür benötigt)

  4. CControl-Projekt  
 
http://www.counter-service.de http://www.counter-service.de
Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ