PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C167 Drehzahlberechnung mit Timer 3 od. Timer 3 & 4?



cieks0301
13.03.2009, 10:23
Hallo,

ich möchte die Drehzahl von einem Förderband mit Hilfe einem Optoelektronischen Sensor (Schaltfreq = 500 HZ, Ansprechzeit = 1ms) messen.
Der Sensor ist am Pin 3.6 (T3IN) des Mikrocontrollers c167 angeschlossen.

Erstmal möchte die Zahl der steigenden Flanke in einer bestimmten Zeit
zählen und danach die Drehzahl berechnen.
Wie funktioniert es?



sbit lauf = P3^6;

void main () {

DP2 = 0xffff;
P2 = 0;
T3CON = 0x0249;
T3IC = 0x44;
T3 = 0x0000;

while (1) {

while (lauf);
T3R=1;

while (lauf)
P2 = T3;

T3R = 0;
set_cursor(20,5);
printf("Counter = %4u", P2);

//Wie kann ich die Zahl vom Zähler auf Terminal ausgeben?
}



Welche ist besser, nur ein Timer zählt, wieviele steigende Flanke gibt,
oder mit 2 Timer, ein anderer Timer als Counter.
Ich meinte T3 funktioniert als Timer, und T4(od. T2) funktioniert als Counter und zählt die Flanke (Bit T3OTL als Zähltakt.

Vielen Dank.

MfG,
Ciek

cieks0301
13.03.2009, 10:47
Ich habe das Program so geändert, aber die Zahl erhöht sich immer, obwohl ich das Band noch nicht laufend lasse. Was mache ich falsch?

Hat Jemand Idee, wie ich die Drehzahl berechnen soll?



WORD T3IMAGE;

void main(){

T3CON = 0x0401;
T3 = 0;
T3IE = 1;
T3IC = 0x61;
T2CON = 0x000D;
T2 = 0;
T2IC = 0x44;
T2R = T3R =1;
IEN = 1;

while(1){

TIMAGE = T2;
set_cursor(20,5);
printf("Counter = %5u", T2);
}

T3IE = 0;
IEN = 0;
T3R = 0;
T2R = 0;
}




Vielen Dank.

Mfg,
Ciek

oberallgeier
13.03.2009, 10:48
Wenn keine Antworten kommen (https://www.roboternetz.de/phpBB2/viewtopic.php?t=46862) - einfach einen neuen Thread aufmachen ? ? ? ?

Übrigens - soweit ich mich auskenne - drehen sich Förderbänder nicht, bei denen laufen die Bänder mit einer bestimmten bzw. bestimmbaren Geschwindigkeit. Es drehen sich meist nur die Antriebs- oder Auflagerollen. Auch die Elektromotoren drehen ihre Welle - und manchmal rotiert der Konstrukteur im Grab. Aus der tatsächlichen Drehzahl des Antriebsmotors kann man recht genau auf die Geschwindigkeit des Förderbandes schließen. Aber vermutlich ist das in Deiner Aufgabenstellung total anders, vielleicht dreht sich das Förderband sogar - auf einer Art Drehteller . . . . .

cieks0301
13.03.2009, 10:56
Hallo,

Danke für die Antwort.
Ich habe den alten Thread schon gelöscht.

Das Rad des Bands hat 8 schwarze und 8 weiße Punktchen.
Durch Abwechslung der Farbe bekommen wir HIGH und LOW-Signal.

MfG,
Ciek

oberallgeier
13.03.2009, 11:30
... Das Rad des Motors hat 8 schwarze und 8 weiße Punktchen ...Jetzt höre ich mit meiner Polemik auf und frag nicht nach, was das für ein Rad des Motors ist.

DER totaler Trick wäre natürlich dies hier (klick mich). (http://lmgtfy.com/?q=lichtschranke+mit+Drehzahlanzeige)

Da gibts dann solche Möglichkeiten (http://www.motrona.de/tachometer.html) oder auch mal etwas für die Hosentasche (http://www.rheintacho.de/produkte/digital-handtachometer.htm) . . . . .

PS: lernt man heutzutage nicht mehr ne Internetsuche zu machen?

cieks0301
13.03.2009, 11:37
Bitte kein SPAM schreiben.

Mein Hauptproblem liegt in der Programmierung.
Ich weiß, dass meine Beschreibung schwer zu verstehen ist, aber ich versuche immer zu verbessern.