Drehzahlmessung in PSoC
Drehzahlmessung in PSoC
Die Spindel meiner Fräse brauchte einen Drehzahlmesser und ich habe noch einige
der preiswerten PSoC 4 CY8CKIT-049-42xx rumliegen.
Grund genug, sich einmal etwas intensiver mit der Thematik PSoC und Drehzahlmessung zu beschäftigen.
Die beiliegenden Beispiele demonstrieren einen realen Drehzahlmesser nach dem Prinzip der Periodendauermessung
und der Frequenzmessung.
Im Dokument sind beide Verfahren sowie die Realisierung genauer erläutert.
der preiswerten PSoC 4 CY8CKIT-049-42xx rumliegen.
Grund genug, sich einmal etwas intensiver mit der Thematik PSoC und Drehzahlmessung zu beschäftigen.
Die beiliegenden Beispiele demonstrieren einen realen Drehzahlmesser nach dem Prinzip der Periodendauermessung
und der Frequenzmessung.
Im Dokument sind beide Verfahren sowie die Realisierung genauer erläutert.
Reiner W.
-
- Administrator
- Beiträge: 91
- Registriert: So 5. Apr 2015, 21:46
- Wohnort: Frankfurt/M
- Kontaktdaten:
Re: Drehzahlmessung in PSoC
Hallo Reiner, wieder mal super Beitrag!
Bin bisher leider nur dazu gekommen kurz drüberzufliegen, werde es mir in den nächsten Tagen genauer angucken. Es scheint so als hättest du verschiedene Lösungsansätze gegenübergestellt. Bin mal gespannt welcher der Beste ist und wie nah der an meiner Idee zu dem Thema ist
Bin bisher leider nur dazu gekommen kurz drüberzufliegen, werde es mir in den nächsten Tagen genauer angucken. Es scheint so als hättest du verschiedene Lösungsansätze gegenübergestellt. Bin mal gespannt welcher der Beste ist und wie nah der an meiner Idee zu dem Thema ist

Code: Alles auswählen
P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
((1.0/C_M_LSB_BH) *
G_M_INFO_DERIVE(T_ALG.E_BH)))
Re: Drehzahlmessung in PSoC
Hallo Thomas,
Wer's noch genauer braucht, kann sich wenigstens nochmal die Hybrid Methode ansehen http://www.cypress.com/file/67281/download ab S.3
Sollte eher ein grober Überblick mit praktischen Beispielen sein.
Na ja, damit hab ichs nicht übertrieben und vollständig sieht anders aus;-)Es scheint so als hättest du verschiedene Lösungsansätze gegenübergestellt
Wer's noch genauer braucht, kann sich wenigstens nochmal die Hybrid Methode ansehen http://www.cypress.com/file/67281/download ab S.3
Sollte eher ein grober Überblick mit praktischen Beispielen sein.
Reiner W.
-
- Administrator
- Beiträge: 91
- Registriert: So 5. Apr 2015, 21:46
- Wohnort: Frankfurt/M
- Kontaktdaten:
Re: Drehzahlmessung in PSoC
Besonders gut gefallen hat mir die Implementierung des Schmitt-Triggers. Hatte ich auch schonmal versucht um einen Taktgeber zu basteln bin dann aber gescheitert. Wenn der PSoC für nichts anderes genutzt wird ist das sicherlich eine gute Sache, wenn man auf die Ressourcen achtet ist ein Hardware Trigger aber wohl besser.
Vielen Dank das du die Signale auch mal nach außen geführt hast und man so sieht wie die Komponenten arbeiten!
Habe gesehen das du auch den PSoC5 Programmer nutzt um den 4er zu flashen. Das funktioniert so viel besser und außerdem hat man wieder Debugging-Möglichkeiten.
Vielen Dank für dieses tolle Tutorial, ich denke es ist besonders für Anfänger geeignet weil es alle Zusammenhänge erklärt.
Vielen Dank das du die Signale auch mal nach außen geführt hast und man so sieht wie die Komponenten arbeiten!
Habe gesehen das du auch den PSoC5 Programmer nutzt um den 4er zu flashen. Das funktioniert so viel besser und außerdem hat man wieder Debugging-Möglichkeiten.
Vielen Dank für dieses tolle Tutorial, ich denke es ist besonders für Anfänger geeignet weil es alle Zusammenhänge erklärt.
Code: Alles auswählen
P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
((1.0/C_M_LSB_BH) *
G_M_INFO_DERIVE(T_ALG.E_BH)))
Re: Drehzahlmessung in PSoC
Ja, dass mit den Ressourcen ist so eine Sache. Ganz speziell bei PSoC 4. Ich habe mir angewöhnt, zu allen möglichen Komponenten Alternativen (meist in Software) zu testen und zu dokumentieren. Das gilt speziell für Standardanwendungen wie Timer, Counter, Keypad, Drehgeber usw.)
Ist immer ärgerlich, bei der Erweiterung eines Projektes festzustellen, dass die Ressourcen doch nicht reichen. Und einen Drehgeber in Hard- und den zweiten in Software zu implementieren ist auch Mist.
Ist immer ärgerlich, bei der Erweiterung eines Projektes festzustellen, dass die Ressourcen doch nicht reichen. Und einen Drehgeber in Hard- und den zweiten in Software zu implementieren ist auch Mist.
Das ist mir in Fleisch und Blut übergegangen, hat mir am Anfang den Debugger ersetzt und ist extrem nützlich für Dokumentationen. Und den Minigrog 3 hab ich mir wohl umsonst zugelegt. Der CY8CKIT-059 tut's genauso. Na vlt. brauch ich mal JTAG.Vielen Dank das du die Signale auch mal nach außen geführt hast und man so sieht wie die Komponenten arbeiten!
So war's gedacht;-) Die meisten meiner Dokus hab ich ja gemacht/begonnen, als ich selbst totaler Anfänger war, was auch machmal peinlich ist, wenn mann mit späterem Abstand drüberschaut;-).. ist besonders für Anfänger geeignet..
Reiner W.
-
- Administrator
- Beiträge: 91
- Registriert: So 5. Apr 2015, 21:46
- Wohnort: Frankfurt/M
- Kontaktdaten:
Re: Drehzahlmessung in PSoC
Jaja... dieses Gefühl wenn man nach ein paar Jahren auf alte Dokument zurückblickt und denkt: Wer bitte hat denn das geschrieben
Ist ganz normal denke ich und ein Zeichen das man sich weiterentwickelt hat 
hast du denn versucht den Timer in SW zu "entprellen" also z.B. alle Werte zu ignorieren die kleiner als x sind?
Wenn du alle Ressourcen für diese eine Applikation nutzen kannst dann ist es letztlich egal.


hast du denn versucht den Timer in SW zu "entprellen" also z.B. alle Werte zu ignorieren die kleiner als x sind?
Wenn du alle Ressourcen für diese eine Applikation nutzen kannst dann ist es letztlich egal.
Code: Alles auswählen
P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
((1.0/C_M_LSB_BH) *
G_M_INFO_DERIVE(T_ALG.E_BH)))
Re: Drehzahlmessung in PSoC
Nein, dafür nehme ich eigentlich meist die Glitchfilter-Komponenente. Hoffe ich hab jetzt richtig verstanden was du meinst.hast du denn versucht den Timer in SW zu "entprellen" also z.B. alle Werte zu ignorieren die kleiner als x sind?
Wenn deine Frage darauf abzielt, ob ich unsinnige (zu keine) Messwerte eliminiere, das mache ich im Beispiel nicht. Bei Bedarf würde ich unsinnige (zu hoch/klein) aber sicher genauso machen, wie ich die Mittelwertbildung mache. Aber statt aufsummieren ggf. eliminieren. Ließe sich simpel implementieren, wobei ich wohl eher auf die Abweichung zum vorhergehenden Messwert reagieren würde.
Macht aber sicher nur bei der Periodendauermessung Sinn.
Reiner W.