Frage zu CCP

OP #556466
Lesenswert?
• ▲
▼
Hallo,

kann mir vielleicht jemand sagen, was ich sofwaremäßig habe, wenn ich 
mit einem capture-eingang arbeite??

ich will eine Drehzahl einlesen, weiß aber nicht, was mir ich für werte 
habe, wenn ich die capturevariable weitergebe.

ich arbeite immer noch mit dem picdem mechatroniks demoboard mit einem 
PIC16F917 (Beitrag "PICDEM Mechatronics Board mit PIC 16F917")

generiert mir der PIC direkt eine Drehzahl, eine Zeit oder was macht 
der??


mit dem datenblatt komme ich da irgendwie nicht weiter.


Gruß,

Andreas.
#556517
Lesenswert?
• ▲
▼
Gegenfrage: Was macht den der Capture Eingang an deinem
Board?

Wenn das mehr oder weniger dasselbe macht wie auf einem AVR,
dann macht es doch dieses:

Ein Timer zählt frisch, fröhlich vor sich hin.
Tritt ein Ereignis am Capture Eingang auf, dann wird
der Zählerstand des Timers zur gefälligen Betrachtung
durch das Programm gesichert.

Nehemn wir mal an, der Timer beginnt bei 0 und zählt
so vor sich hin. Kommt das Ereignis früher, dann kann
er logischerweise nicht so weit zählen, als wie wenn
das Ereignis später auftritt. Der Zählerstand ist
also ein Mass dafür, wieviel Zeit vom Beginn der Zählerei
(bzw. vom Auftreten des letzten Capture Ereignisses) bis
zum Auftreten des Capture Ereignisses vergangen ist.
Du weist ja wie schnell der Timer zählt. Aus dem Zähler-
stand kann daher direkt die Zeit errechnet werden.

Daraus kannst du dann zb. eine Frequenz erechnen. Denn wir
wissen ja: F = 1/t  (je größer die Zeit, desto kleiner
die Frequenz und umgekehrt)
OP #556551
Lesenswert?
• ▲
▼
Jo, versteh ich.

Der Capture eingang wir über einen optischen interrupter 
(drehzahlsensor) gepulst. wie krieg aus dem signal jetzt die 
entsprechende frequenz??? das ist meine eigentliche frage.

zählt der timer immer von 0 los bis das nächste high signal kommt oder 
wie läuft das?

>... ja: F = 1/t ...

ist schon klar.
Gast #556670
Lesenswert?
• ▲
▼
Es ist völlig egal, bei welchem Zählerstand der Timer anfängt zu zählen. 
Entscheidend ist die Differenz von zwei Ereignissen. Anhand des 
Zähltaktes und der Pulse pro Umdrehung Deines Sensors kann man auf die 
Drehzahl schließen. Vielleicht müßte man noch schauen bei welcher Flanke 
(steigend,fallend,beide), der Capture-Interrupt ausgelöst wird. Wenn er 
auf beide Flanken reagiert bekommst Du doppelt so viele Impulse pro 
Umdrehung.
#556781
Lesenswert?
• ▲
▼
Andreas H. wrote:
> Wie kriege ich die Differenz denn?

Durch Subtraktion.

Du merkst Dir den aktuellen Zeitstempel und subtrahierst von einer Kopie 
des aktuellen Zeitstempels den beim letzten mal gemerkten Zeitstempel.


>
> Muss ich dann in der capture isr sowas schreiben wie

Ja aber sicher doch.

>
>
1
> Differenz=wert-CCP_1
2
> 
3
> wert=CCP_1
4
>
>
> oder ist CCP_1 dann schon der Differenzwert, sprich die Periode bzw.
> halbperiode??

CCP_1 kenne ich nicht, ich bin kein PICler.

...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.