
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo, danke fĂŒr deine EinschĂ€tzung, das mit der Verzögerung durch den Print Befehl habe ich schon in meine Erwartung mit einbezogen aber sonst bekomme ich die Info nicht so einfach aus der C-Control heraus. Dadurch das ich den Print Befehl erst nach dem On/Off Puls ausfĂŒhre bekomme ich wenigstens das Puls-Pausen-LĂ€ngen VerhĂ€ltnis heraus, wenn ich zusĂ€tzlich mit dem Freqport messe erhalte ich auch die Pulse je Torzeit. Soweit zur Theorie die Praxis am Wochenende wirds zeigen. Sicher ginge das Ausmessen auch mit einem Oszi leider habe ich da sich mein Messopjekt bewegt kein netzunabhĂ€ngiges Oszi zur VerfĂŒgung. Die Messgenauigkeit von 0,1ms ist bei einer theoretischen Auflösung von gut 14ms also bei bis zu 70Hz zu verschmerzen. GruĂ Georg > Die Puls- und PausenlĂ€nge wirst Du in etwa so ermitteln können, aber nicht sehr genau, ich schĂ€tze mit einer Auflösung von 0,1 ms. z.B. fĂŒr eine Fernsteuerung mit ihren kurzen Pulsen und lagen Pausen nicht brauchbar / ansonsten evtl ja. Die PulshĂ€ufigkeit kannst Du so nicht ermitteln, denn wĂ€hrend Print ausgefĂŒhrt wird, gehen Dir Impulse verloren - es sei denn Du Ă€nderst das und zĂ€hlst per interrupt am FREQ. Das aber wiederum (weil Interrupts abgearbeitet werden mĂŒssen) beeinfluĂt evtl. Deine PulslĂ€ngenmessung. Kurz - probier es aus. > > > Hallo zusammen, > > nach lĂ€ngerer Abwesenheit beschĂ€ftigt mich wieder ein Projekt. Ich möchte gerne eine PWM die ihre Pulsweite verĂ€ndert ausmessen und verarbeiten. Mit der Frequenz Messung per Freq-Port erhalte ich ja nur die Anzahl (Zahl) der Impulse je Zeiteinheit (Torzeit). Ich möchte aber die PulshĂ€ufigkeit, PulslĂ€nge sowie die PausenlĂ€nge erhalten. Die Frage an die Profis: kann man das mit einem Port hinbekommen ???? die max zuerwartende PulshĂ€ufigkeit wird um die 65-70 je Sekunde betragen. > > Mein Ansatz wĂ€re: eine Schleife solange durchlaufen lassen bis das Signal wieder auf low ist und eine anschlieĂende Schleife solange durchlaufen zulassen bis das Signal wieder auf High geht. Bei jedem Durchlauf der Schleife soll ein ZĂ€hler sich um 1 erhöhen. > > ich habe es noch nicht getestet, was sagen die Profis könnte das funktionieren oder noch wichtiger gehtÂŽs auch einfacher ????????????? > > > > GruĂ > > Georg > > > > Hier mein Beispiel > > > > Define Port1 as Port[1] > > define pu1 as word > > define pu2 as word > > > > pu1 = 0 > > pu2 = 0 > > > > #loop > > print pu1 , pu2 > > > > #pulszĂ€hlen > > if not port1 then goto pausezĂ€hlen > > pu1 = pu1 +1 > > goto pulszĂ€hlen > > > > #pausezĂ€hlen > > if port1 then goto loop > > pu2 = pu2 +1 > > goto pausezĂ€hlen > > > > goto loop |
| Antwort schreiben |