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 

 Re: servo Kategorie: C-Control I V1.2/2.0 (von Falk - 5.11.2004 16:16)
 Als Antwort auf Re: servo von DIE HARD - 4.11.2004 18:43
Hallo,

super !!
die CD habe ich leider nicht, aber die ist ja auch nur bei dem Programmieradapter dabei.
Diesen hab ich mir selbst gebaut, war günstiger.
Noch mal vielen Dank für die schnelle Hilfe

Mfg

Falk

>
> > Hallo,
> >
> > möcht im Rahmen einer Heizungssteuerung ein Servo(für die Frischluftklappe) ansteuern, nun habe ich gelesen das dies bei der neuen M-Unit leichter möglich ist.
> > Leider habe ich noch kein Beispielprogramm gefunden.
> > Wer könnte mir da eventuell weiterhelfen?
> >
> > Mit besten Grüßen Falk
> >
> >
> Hallo,
> eine Demo ist auf der Installations-CD bei den Demos zu den EXTENDED FUNCTIONS.
> Weil ich vermute, dass du die M 2.0 nicht hast hier die DEMO:
>
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
> 'IIIIIII  DEMO ZUM BASIC-COMPUTER UNIT M 1.2/2.0 (by DIE HARD)  IIIII
> 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
> '--------------------------------------------------------------------
> ' Beispiel zum BASIC-COMPUTER  mit dem Programmer/Application-Board
> '--------------------------------------------------------------------
> ' ANWENDUNG: SERVOANSTEUERUNG MIT DA1 und DA2
> '
> '--------------------------------------------------------------------
> ' Dieses Beispiel zeigt die Vorgehensweise um die beiden PWM DA-WANDLER
> ' zur Ansteuerung von Servos zu konfigurieren. Die Konfiguration
> ' erfolgt über ein KONFIGURATIONS-REGISTER, das wie alle erweiterten
> ' Funktionen über die "REDIRECT PRINT" Funktion gelesen und geschrieben
> ' werden kann.
> '--------------------------------------------------------------------
> ' Das Konfigurations-Register bietet folgende Optionen.
> '
> ' Bit 0       Schaltet beide PWM-DACs in den SERVO-Mode
> ' Bit 1       Schaltet den Frequenzzähler 1 in den EREIGNISZÄHLER Mode
> ' Bit 2       Schaltet den Frequenzzähler 2 in den EREIGNISZÄHLER Mode
> ' Bit 3       Aktiviert die PULLUP-Widerstände an PORT 1 bis 8
> ' Bit 4       Aktiviert die PULLUP-Widerstände an PORT 9 bis 15
> ' Bit 5       Zeigt an wenn die interne Uhr mit DCF77 synchronisiert wurde
> ' Bit 6       Signalisiert einen Fehler bei der IIC-Kommunikation
> ' Bit 7       Zustand der Start-Taste
> '---------------------------------------------------------------------
> ' Einzelheiten darüber finden Sie in den Demos zu den EXTENDED FUNCTIONS
> ' - LCD MODULE       über die zusätzlichen Funktionen für das LCd
> ' - CONFIG MODULE    Ã¼ber die zusätzlichen Funktionen für die Konfiguraton
> '
> ' Beschreibung:
> ' Wenn die beiden DA-Ausgänge (und das ist leider nur für beide gleichzeitig möglich)
> ' als SERVO-Treiber konfiguriert sind liefern sie ein für Servos übliches Signal
> ' mit einer Wiederholfrequenz von 50 Hz.
> ' Ein DA-Wert von Null entspricht einer Pulslänge von 1ms, ein Wert von 255
> ' einer Impulslänge von 2ms
> ' In diesem Beispiel werden die Position von einem SERVO an DA2 mit den Tasten
> ' F1 bzw. F2 auf der Tastatur am Applicationboard eingestellt.
> ' Der eingestellte Wert wird am LCd angezeigt.
> '-----------------------------------------------------------------------
>
> '--------------------------
> '------ I/O PORTS ---------
> '--------------------------
> define SERV         da[2]
> define ADC8         ad[8]
> define LIGHT        port[16]
> '--------------------------
> '---- SYSTEM MEMORY -------
> '--------------------------
> define POS         byte[1]
> define KEYCODE     byte[3]'DECODIERTE TSTE
> define VALUE       byte[4]'GELESENER TABELLENWERT
>
> #INIT
> POS=128:LIGHT=off
> gosub SET_SERVOMODE
>
>
> '--UMLEITUNG DER PRINT-FUNKTION AUF DAS LCD-MODULE ----
> print"#ON_LCD#";
> print"#INIT#";
> '-------------------------------------------------
> '--        F1 F2 SERVO CONTROL                   -
> '-------------------------------------------------
> #LOOP
> print"#L101#";
> print"POS: "; POS;"  ";
> gosub KEYDECODE
> '--- OBERES LIMIT ----------
> if POS=255 then goto NOINC
> if KEYCODE=12 then POS=POS+1
> SERV=POS
> #NOINC
> '--- UNTERES LIMIT ---------
> if POS=0 then goto LOOP
> if KEYCODE=13 then POS=POS-1
> SERV=POS:pause 1:goto LOOP
> '--------------------------------------------------
>
>
> '--------------------------------------------------------------------
> '        TASTATURDECODER (RÜCKKEHR MIT TASTENCODE IN KEYCODE)
> '--------------------------------------------------------------------
> #KEYDECODE
> KEYCODE=255:if ADC8<10 then return
> KEYCODE=0:if abs(17-ADC8)<5 then return
> KEYCODE=1:if abs(33-ADC8)<5 then return
> KEYCODE=2:if abs(50-ADC8)<5 then return
> KEYCODE=3:if abs(66-ADC8)<5 then return
> KEYCODE=4:if abs(82-ADC8)<5 then return
> KEYCODE=5:if abs(98-ADC8)<5 then return
> KEYCODE=6:if abs(114-ADC8)<5 then return
> KEYCODE=7:if abs(130-ADC8)<5 then return
> KEYCODE=8:if abs(147-ADC8)<5 then return
> KEYCODE=9:if abs(164-ADC8)<5 then return
> KEYCODE=10:if abs(181-ADC8)<5 then return'CLR
> KEYCODE=11:if abs(199-ADC8)<5 then return'ENTER
> KEYCODE=12:if abs(218-ADC8)<5 then return'F1
> KEYCODE=13:if abs(236-ADC8)<5 then return'F2
> KEYCODE=255:return
> '----------------------------------------------------------------------
> #SET_SERVOMODE
> print"#ON_CONFIG#";
> put &B00000001
> print"#OFF#";
> return
>
>
>
>
>
>

 Antwort schreiben

Bisherige Antworten: