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 

 Tacho anzeige Kategorie: Hardware (von Dieter Kalkofen - 25.11.2004 20:30)

 Hallo
 Ich habe ein Problem mit meiner M2 Unit
 Ich möchte mit einer M2  Unit ein Tachosignal und ein Drehzahlsignal in Zahlenwerte umsetzen
 Als Pegelwandler (auf TTL) werden zwei Optokoppler benutzt
 Die M Unit zählt die Impuklse   Freq1 und Freq2 werden Gestartet  wobei der Drehzahlmesser (Frq2)
 Zweimal gezählt wird und der Tacho (Frq1) nur einmal
 Die Werte werden dann in zwei Speicher geladen  fĂĽr jeden Kanal 16 Bit
 Ein anderer Rechner liest die Speicher aus
 

'Frquenzmesser

define Q word
define D byte
define T byte
define S byte
define H byte
define E byte
define X byte
define Y byte
define Z byte
define L byte
define M byte
define DATA byte
define TEMPVAL      byte[1]
define CA word       'Ergebniss Counter 1
define CB word       'Ergebniss Counter 2
define BUS BYTEPORT[1]

define LE1  port[09] 'Lash 1 Counter 1
define LE2  port[10] 'Lach 2
define LE3  port[11] 'Lach 3 Counter 2
define LE4  port[12] 'Lach 4
define BYSI port[16] 'Redy Signal

BEEP 400,25,10
BEEP 400,25,10

#INIT
'--UMLEITUNG DER PRINT-FUNKTION AUF DAS CONFIG-MODULE -
print"#ON_CONFIG#";             'UMGELEITET
get TEMPVAL                     'den aktuellen Wert lesen
put (TEMPVAL or &B0000110)      'Bits setzten und zurĂĽck schreiben
print"#OFF#";                   'Umleitung abschalten

LE1=0 : LE2=0 : LE3=0 : LE4=0
BUS=0 : BYSI=0
PULSE LE1 : PULSE LE2
PULSE LE3 : PULSE LE4

PUT 12
PRINT "Fequenzmessung:"
PRINT "V 26,11,2004"

'--------------------------------------------------------------------------------------------------

#LOOP
'Start Counter 1 u 2
CA=0 : CB=0
FREQ1=0 : FREQ2=0
TIMER=0
BYSI=1
WAIT TIMER=25 '25
CB=FREQ2
if FREQ1=9000 then FREQ1=0
if FREQ2=9000 then FREQ2=0
'
X=(CB / 256) : Y=CB -(X*256)
'
BUS=X : PULSE LE3
BUS=Y : PULSE LE4
'
BYSI=0

'
'Start Cunter 2
CB=0
FREQ2=0
TIMER=0
BYSI=1
WAIT TIMER=25
CB=FREQ2 : CA=FREQ1
if FREQ1=9000 then FREQ1=0
if FREQ2=9000 then FREQ2=0
'
X=CB / 256 : Y=CB - (X*256)
'
BUS=X : PULSE LE3
BUS=Y : PULSE LE4
'
X=CA / 256 : Y=CA - (X/256)
'
BUS=X : PULSE LE1
BUS=Y : PULSE LE2
'
BYSI=0

GOTO LOOP

END

'------------------------------------------------------------------------------------------------

#CONV
T=0 : H=0 : Z=0 : E=0
T=Q/1000
H=(Q-(T*1000))/100
Z=(Q-(T*1000)-(H*100))/10
E=(Q-(T*1000)-(H*100)-(Z*10))
RETURN

Die Sache läuft ganz gut der Drehzahlmesser läuft stabiel
Der Tacho fängt bei ca 50 Km/h an zu springen ( bei gleicher Geschwindigkeit)
Die Eingangssignale sind sauber ein parallel angesclossener Travlelpilot zeigt eine kontionierliche
Geschwindigkeit an
Schlisst man ein Signalgenerator an bleibt die Anzeige stabiel


Da beim Geschwindikkeitssignal nur ein sehr niedrige Frequenz anliegt < 100 Hz
sollte man vieleicht nur die Signalbreite der einzelnen Impulse messen
Kann das die M2 Unit
Oder kann man das Programm verbessern

Dieter Kalkofen




 Antwort schreiben

Bisherige Antworten:

Re: Tacho anzeige (von Carsten - 26.11.2004 8:55)
    Re: Tacho anzeige (von Dieter Kalkofen - 26.11.2004 18:51)
        Re: Tacho anzeige (von Carsten - 29.11.2004 10:06)
            Re: Tacho anzeige (von Dieter Kalkofen - 2.12.2004 19:15)