Externes PWM-Signal einlesen und Auswerten
Hallo,
ich habe folgedes Problem.
Ein PWM-Singnal mit 0V bzw. 5V und einer Frequenz von ca. 6,6kHz (T =ca. 150us) müsste ich in den MC einlesen und das Tastverhältnis feststellen. Welches dann alle ca. 500ms ausgegeben werden soll (bsp. Display)
V= Tein / (Tein-Taus)
als Hardware ist ein Atmega8 mit einem extrenen Quarz von 3,6864 MHz geplant.
- Gibt es da eine "Musterlösung" welche die Hauptschleife nicht unbedingt ausbremst?
- Schaffe ich eine Fehlerfreie auswertung mit dieser Quarzfrequenz?
gruß Cali :)
Liste der Anhänge anzeigen (Anzahl: 1)
huhu,
das Tastverhältnis geht von ca. 1% -99% es kommt direkt aus einem Pic mit einer Frequenz von 6.6kHz. Dieses Tastverhältnis spiegelt den aktuellen "Istwert" eines Sensors (in unserem Fall eine Digitalwaage)wieder.
Dieses Signal müssen wir dann Softwareseitig annähern, das bei der
leeren Waage dann der Wert 0% bzw bei max. Belastung dann 100% weiterverabeitet wird. (Eventuell ist eine anzeige dieses Wertes auf einem Display geplant)
Aber unser Primärziel ist es diesen Wert (0%-100%) dann auf ein Industriestandartsignal von 4-20mA zu konvertieren, damit wir diesen Sensor mit einem Handelsüblichen Regler verabeiten können.
Es handelt sich zwar nur um ein Schulungsmodel (mit großer Totzeit) aber es währe totzdem nicht so schön, wenn die Anzeige im Dislay um 5% schwankt bei konstantem Gewicht auf der Waage.
Alternative a)
Wir Verarbeiten das Signal komplet mit einer OP-Ampschaltung aus, was ich aber nicht unbedingt Zeitgemäs finde und jeder der schon mal mit OP´s gearbeitet hat weis, das sich 95% der "Schulbuchschaltungen" nicht 1 zu 1 realisieren lässt.(Theorie vs. Praxis)
Alternative b)
Wir lesen das Rs232 (mithilfe eines 232 ic´s) direkt aus der Waage aus. http://www.kern-sohn.com/pdf/BA_FCB_d.pdf (leider bin ich in Sachen RS232 ein Volllaie deswegen fällt es mir schwer den Aufwand zu Bewerten -> Expertenmeinung wäre Super) ... ist wahrscheinlich nicht der einfachste Weg aber der genauste mit vielen Möglichkeiten (Display usw.)
Alternative c)
Tiefpass (RC-Schaltung) an den Pwm-Ausgang und dann mit ADC in den uC Einlesen und später mit Wertetabelle Softwareseitig "Kalibrieren".
Bsp.:
"Digitalerconvertierter Analogwert" -> " Tastgrad"
0-12 -> 1%
13-24 ->2%
25-36 -> 3%
usw.
Sehr einfache Variante ist nur eine Frage der Genauigkeit.
Könnte mir vorstellen, das sich nicht wieder die exakte Spannungswert wie ein Verzögerungsglied 1. Ordnung verhält bei einem Sprung.
Alternative d)
Das Pwm-Signal direkt in den uC einlesen und Auswerten (eure Vorschläge)
Alternative e)
Die Nadel im Heuhaufen finden. (vielleicht gibts ja fertige IC´s)
Alternative f)
(siehe Anhang)
hab die "Steuerleitungen" mal weggelassen (Reset; input enable usw.)
geht hier ja nur um das Prinzip.
Ps: Jetzt bin ich aber mal auf eure Meinungen gespannt 8-[
gruß Cali :)