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: Frequenz einlesen verändern und wieder ausgeben Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Georg - 17.11.2007 14:54)
 Als Antwort auf Re: Frequenz einlesen verändern und wieder ausgeben von Alex - 16.11.2007 13:43
Georg nutzt:  CC1-M-Unit V1.2/2.0
Hallo Alex
zu1
Port 1 LĂŒfter heißt nur das ich da eine PWM ausgebe die einen LĂŒfter steuert. PWM Frequenz 1-255
steuert Spannung 0-5Volt
zu2
KBIER=b01001100   'FREQ1 zusĂ€tzlich an PORT[4]? --- bedeutet das ich die Frequenzmessung zusĂ€tzlich an Port 4 verfĂŒgbar habe  - so kann ich die OM Micro pinkompatibel zur Conrad Mirco einsetzen bzw. die ersten Versuche habe ich mit der Conrad Micro gemacht. Solltest du die Conrad Micro einsetzen und PWM ausgeben wollen brauchst du die PWM Routinen am Ende nicht die sind in dem Conrad Micro Betriebssystem schon drin.

zu3.
pwm1_ein    'Einschaltung PWM-Port1?

dieses PWM ein wirk zusammen mit den PWM Routinen (3 Tabellen) am Ende - ist so im Betriebssystem festgelegt. da es fubktioniert habe ich da auch nicht weiter gefragt.

zu4.
In diesen Tabellen stehen werte die die OMMicro da zu veranlassen den Port entsprechend der Ansteuerung z.B. 125 ein und auszuschalten. Wird der Port mit diesem Wert angesteuert kann man die HĂ€lfte der 250 bzw. die HĂ€lfte der Betriebsspannung  messen. es bildet sich der Mittelwert.

zu5.
An welchen Port wird die Eingangsfrequenz eingelesen und wo wird die Ausgansfrqenz ausgegeben?
Wie kann ich mir zusÀtzlich die Eingangs.- und Ausgangsfrquenz am PC im Terminal-Programm anzeigen lassen?


FrequenzMessung an Port3 und zusÀtzlich an Port 4.
Ausgang an Port 1

zur Ausgabe der Werte am Terminalprog. mußt du die unter 3 auf "pwm2_ein" Ă€ndern und die 3 Tabellen gegen die hier tauschen

' ---------------------------------------------------------------------------
' --- PWM-Routinen fĂŒr Port2 ------------------------------------------------
' ---------------------------------------------------------------------------
TABLE pwm2_ein byte    ' PWM Port2 einschalten
  &h12 &h06
  &h1a &h20 &h18 &h20 &h3f &h29 &h3f &h2a &ha6 &h1a &hb7 &h28 &h1b &h20 &h81
TABEND
' ---------------------------------------------------------------------------
TABLE pwm2 byte        ' PWM Port2 setzten - Uebergabe als Argument
  &h12 &h06
  &had &h13 &ha1 &hfa &h25 &h03 &h10 &h28 &h81 &h5f &h48 &h59 &h48 &h59 &hbf &h29
  &hb7 &h2a &h11 &h28 &h81 &hae &h01 &h83
TABEND
' ---------------------------------------------------------------------------
TABLE pwm2_aus byte     ' PWM Port2 ausschalten
  &h12 &h06
  &h1a &h20 &h18 &h20 &h3f &h28 &h1b &h20 &h81
TABEND
' ---------------------------------------------------------------------------

Zur Anzeige der Ein- und Ausgangswerte einfach die Print Anweisung nutzen und in die Loop Schleife einbinden

print freq1   ' freq Eingang
print tmp     ' Freq Ausgang


Nur eins noch du willst ja keine Spannung sondern eine Frequenz ausgeben. Die PWM Grundfrequenz der OM Micro ist wenn ich mich erinnere 50Hz.
Vieleicht mußt du auch eine externen Chip zur Frequenzausgabe nutzen, so was gibt es bestimmt mir ist nur jetzt keiner prĂ€sent.

Gruß Georg





> --------------------------------------------------------------------------
>
> Hallo Georg,
>
>
> 1.) Frage:
>
> Definition der Ports:
>
> z.B.
>
> Open Micro
> (pin8    Vss / Masse)
> pin7    port1           'Serielle Schnittstelle
> pin6    port2
> pin5    port3           'FREQ1
> pin4    port4
> pin3    port5
> pin2    port6
> (pin1    Vdd / +5V)
>
>
>
>
> Deine Port Definition ist komplett Auskommentiert?
> Die Anordnung der Ports?
>
> 'port1 'PWM-Port fĂŒr den LĂŒfter?   Wie LĂŒfter?
> 'port2 'RS232?
> 'port6 'Dipschalter DIP1 PORT[2]?
> 'port4 'FREQ1?
> 'port5 'Dipschalter DIP2 PORT[5]?
> 'port2 'Dipschalter DIP3 PORT[6]?
>
> MĂŒssen die Ports noch definiert werden?
>
>
> 2.) Frage:
> KBIER=b01001100   'FREQ1 zusĂ€tzlich an PORT[4]?
>
> Was ist KBIER?
> Woher kommt b01001100?
>
>
> 3.) Frage:
>
> pwm1_ein    'Einschaltung PWM-Port1?
>
> Wodurch wird der Port eingeschaltet?
> Hier sieht es aus, als sei es eine Sprungmarke ohne Ziel.
>
>
> 4.) Frage:
>
> Es gibt drei Tabellen,
>
> TABLE pwm1_ein
> TABLE pwm1
> TABLE pwm1_aus
>
> Die Tabellen habe ich nicht verstanden.
> Wie funktioniert das mit den Tabellen?
> Warum stehen in der einen Tabelle Dezimal-Zahlen un in den anderen Hex-Zahlen?
>
>
> 5.)
>
> An welchen Port wird die Eingangsfrequenz eingelesen und wo wird die Ausgansfrqenz ausgegeben?
> Wie kann ich mir zusÀtzlich die Eingangs.- und Ausgangsfrquenz am PC im Terminal-Programm anzeigen lassen?
>
>
> Das sind bestimmt noch nicht alle Fragen.
>
> Gruß
> Alex
>
>
>
>
>
>
> --------------------------------------------------------------------------
> --------------------------------------------------------------------------
>
>
>
>
>
> Deine Nachricht!
>
>
>
> hier ein Beispiel:
>
> ' --- Betriebssystem konfigurieren ------------------------------------------
> include "om.def"                       ' Definitionen fuer Betriebssystem
> pullupa = 0       '&b00111101     ' Schaltet die internen Pull-Up-WiderstĂ€nde ab
> ' --- Definitionen der Ports--------------------------------------------------
> 'define PWM_Port    port[1]      ' PWM-Port fĂŒr den LĂŒfter
> '                             port[2]      ' Anschluss RS232-Interface (fĂŒr Testphase)
> '                             port[6]      ' Dipschalter  'DEFINE DIP1 PORT[2]
> ' FREQ1                ' port[4]
> '                             port[5]      ' Dipschalter  'DEFINE DIP2 PORT[5]
> '                             port[2]      ' Dipschalter  'DEFINE DIP3 PORT[6]
> ' --- Definition der Variablen ----------------------------------------------
> define tmp                 byte          ' Hilfsvariable ersatz fĂŒr pwm BYTE
> define PWMIn            byte
>
> CONFIG2=&b01000000        'IRQEN im CONFIG2-Register des Kontrollers setzen
> 'INTERRUPT basicirq        'BASIC-Interruptroutine vereinbaren
>
> FREQ=50                        ' Torzeit, bzw. Meßzeit fĂŒr FREQ1: 1 Sekunde
> KBIER=&b01001100          'FREQ1 zusĂ€tzlich an PORT[4]
>
> 'Programmschleife
> pwm1_ein      ' Einschaltung PWM-Port1
>
> #Loop
>
> PWMIn = freq1
>
>  Looktab FreqausgabeKennlinie0, PWMIN ,tmp  '
>               pwm1 tmp
>               pause 1
>
> goto Loop
>
> TABLE FreqausgabeKennlinie0 byte      
>  0 0 0 0 0  0  1  1  2  3  4  5  6  8  9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 27 29 31 33 35 37 39
> TABEnD
>
> ' ---------------------------------------------------------------------------
> ' --- PWM-Routinen fĂŒr Port1 ----------------------------------
> ' ---------------------------------------------------------------------------
> ' Hinweis
> ' Wenn Diese PWM-Routine eingeschaltet wird, dann kann nicht mehr auf die
> ' Serielle Schnittstelle zugegriffen werden. Nach abschalten dieser
> ' PWM-Routine steht die Serielle Schnittstelle wieder zur VerfĂŒgung.
> ' ---------------------------------------------------------------------------
> TABLE pwm1_ein byte    ' PWM Port1 einschalten
>   &h12 &h06
>   &h1a &h20 &h18 &h20 &h3f &h26 &h3f &h27 &ha6 &h1a &hb7 &h25 &h1b &h20 &h81
> TABEND
> ' ---------------------------------------------------------------------------
> TABLE pwm1 byte        ' PWM Port1 setzten - Uebergabe als Argument
>   &h12 &h06
>   &had &h13 &ha1 &hfa &h25 &h03 &h10 &h25 &h81 &h5f &h48 &h59 &h48 &h59 &hbf &h26
>   &hb7 &h27 &h11 &h25 &h81 &hae &h01 &h83
> TABEND
> ' ---------------------------------------------------------------------------
> TABLE pwm1_aus byte    ' PWM Port1 ausschalten
>   &h12 &h06
>   &h1a &h20 &h18 &h20 &h3f &h25 &h1b &h20 &h81
> TABEND
> ' ---------------------------------------------------------------------------
> end
>
> Hier kurze ErklÀrung
> bei diesem Beispiel wird die FrequenzzĂ€hlung an an Port4 verfĂŒgbar gemacht. Die Meßzeit betrĂ€gt eine Sek. fĂŒr deine Einstellung ---> je höher die Frequenz desto niedriger die Torzeit. Übergabe an die variable PWMIn. Im nĂ€chsten Schritt wird die gemessene Frequenz mit Looktab mit der Datentabelle verglichen und ein entsprechender ausgelesener Wert der variablen tmp zugewiesen und an die PWM ausgabe an Port 1 ĂŒbergeben. Also wenn ich 7 Hz messe wird mir 1 Hz ausgegeben. Oder der Wert schaut in die Tabelle was an Pos 7 steht (beginnend mit Null ---> 0 1 2 3 4 5 6 7 8 9 10 11 usw. Die Messung ist mit der Torzeit verĂ€nderbar (255 stufen fĂŒr Bytevariabele , mit Zusatzsoftwaremodul auch Wordvariabelen möglich 32000 Stufen) fĂŒr die Ausgabe weis ichs nicht genauwas da geht bei mir reichte die Byte Variable. Man könnte auch die PWM auf Port2 legen und auf Port1 per Terminalprogramm die Messungen anzeigen lassen - so zum testen
> FĂŒr die PWM-Ausgabe können dir die Profis hier sicher mehr sagen.
> Oder einen separaten BAustein fĂŒr die Freq Ausgabe nutzen.
>
> Ich hoffe ich konnte dir mit meinen Worten weiterhelfen - sonst schreib nochmal
>
> Gruß
> Georg
>
> --------------------------------------------------------------------------

 Antwort schreiben

Bisherige Antworten: