Moin, ich muss den Strom eines BDC-Motors messen, dabei brauche ich nur den Mittelwert. Das Problem: PWM-Signal ist über 50kHz, der vorhandene AVR kann nur gut 10kHz, also unterabgetastet. Meine Idee ist jetzt, nicht in festen Zeitabständen zu messen, sondern die Abstände per Zufall variert. Geht das oder gibts da ein prinzipielles Problem?
Was spricht gegen eine klassische Glättung mittels integrierendem Verstärker?
die aufwändige Analogschaltung, ich habe halt hier eine fertige Schaltung und wenn es mit der geht möchte ich sie verwenden. Ein integrierender Verstärker ist ja nicht unbedingt trivial
Ist doch PWM, also nur zwei Spannungspegel. Der AVR wird doch bestimmt mit mehr als 100 kHz getaktet. Dann misst du in einer Assemblerschleife die Länge des High- und Low-Anteile und kannst dir so den Tastgrad berechnen. Und zum Thema integrierender Verstärker: Ein RC-Glied vor dem Analogeingang des AVRs bildet dir auch den Mittelwert, da braucht man keinen Verstärker.
Dennis S. schrieb: > Ist doch PWM, also nur zwei Spannungspegel. nicht ganz, ich messe ja den Strom der durch eine Spule fließt, der hat nicht nur zwei Pegel
Dann bleibt dir immer noch das RC-Glied, falls sich dir der Mittelwert dann nicht zu langsam anpasst.
Dennis S. schrieb: > Dann bleibt dir immer noch das RC-Glied, falls sich dir der Mittelwert > dann nicht zu langsam anpasst. RC geht noch, das lässt sich noch fliegend ergänzen, den Mittelwert brauche ich auch nur ca. 2x pro Sekunde, das würde also wohl gehen. Aber was ist mit der Digitallösung aus meinem ersten Post, was sagt da die Systemtheorie dazu?
>Aber was ist mit der Digitallösung aus meinem ersten Post, was sagt da >die Systemtheorie dazu? Das dein Vorhaben Quatsch ist.
Mal vom konkreten Sinn und dem Verhältnis zwischen Aufwand und Nutzen abgesehen: Wenn Walter wirklich Random Sampling betreibt und den Mittelwert der Messwerte bildet, sollte es klappen. Jedoch wird er sehr viele Messwerte benötigen (in der Größenordnung 2^{Auflösung in Bits} weil sein Signal so komisch ist?), um einen passenden Mittelwert zu erhalten. … mal so aus dem Bauch heraus.
Walter schrieb: > ich muss den Strom eines BDC-Motors messen, > dabei brauche ich nur den Mittelwert. > Das Problem: > PWM-Signal ist über 50kHz, der vorhandene AVR kann nur gut 10kHz, > also unterabgetastet. Das einfachste ist es, den AVR zeitsynchron zur PWM messen zu lassen. Lege also einen Pin (Interruptpin) direkt an die PWM-Quelle des BLDC und lass dann damit den ADC des AVR samplen und den Strom über dem Shunt messen. Gegebenenfalls kann man mit programmierbarer Messverzögerung den realen Stromwert messen.
holger schrieb: >>Aber was ist mit der Digitallösung aus meinem ersten Post, was sagt da >>die Systemtheorie dazu? > > Das dein Vorhaben Quatsch ist. habe ich noch in keinem Fachbuch gelesen, da steht immer nur drin warum etwas funktioniert bzw. nicht
Knut Ballhause schrieb: > Das einfachste ist es, den AVR zeitsynchron zur PWM messen zu lassen. dann fehlt mir aber zum einen das Tastverhältnis und zum anderen variiert der Strom doch während der Ein-phase (und ich kann das Gehäuse des Motors/Controllers nicht öffnen, komme also nicht an die PWM Quelle)
Wenn du uns das schon am Anfang gesagt hättest, hätten wir dir doch gleich das RC-Glied empfohlen. ;)
Walter schrieb: > Aber was ist mit der Digitallösung aus meinem ersten Post, was sagt da > die Systemtheorie dazu? Wenn du die PWM-Frequenz kennst oder durch den uC messen läßt, kannst du Aliasing ausnutzen, indem du dich mit deine Abtastfrequenz dicht daneben legst. Dann siehst der uC die PWM-Pulse quasi in Zeitlupe.
Verwende den Timereingang und messe die PWM Frequenz , falls variabel, und das Tastverhältnis. Dazu die Versorgungsspannung des Motors. Der Rest ist dann nur noch Mathematik.
Ralph schrieb: > Verwende den Timereingang und messe die PWM Frequenz , falls variabel, > und das Tastverhältnis. > Dazu die Versorgungsspannung des Motors. > Der Rest ist dann nur noch Mathematik. vielleicht habe ich mich da etwas unklar ausgedrückt: ich möchte den Strom messen (über einen Shunt), aber der ist während der Einphase doch nicht konstant, also komme ich mit dem Tastverhältnis allein nicht weiter. Ich bastel jetzt Mal eine Simulation mit der zufälligen Abtastung und melde mich dann mit dem Ergebnis ...
Mit dem Kennwerten des Motors, der Versorgungsspannung und der resultierenden Drehzahl lässt sich der Stromverlauf über den Motor berechnen. Und das mit nahezu beliebiger Auflösung, abhängig der vorhandenen Rechenzeit und Eingangssignalauflösung. Beim Messen solch dynamischer Signalverläufe wie es mit Induktivitäten bei gepulsten Spannung entstehen wirst du immer Probleme haben. Im Prinzip hast du 2 Möglichkeiten zum direkten Messen. 1. ein Oversampling mit einem vielfachen der PWM Frequenz um den Stromverlauf auch nur annähernd Abtasten zu können. 2. Einen Tiefpassfilter ( RC) mit einer Grenzfrequenz deutlich unter der PWM Frequenz und du kannst einen Mittelwert messen. Zu deiner ursprünglichen Frage. Es gibt in einem µC keinen wirklichen Zufallsgenerator. Damit fehlt schon mal die Basis für eine zufällige Abtastung. Da die generierte Zufallszahl, die die Abtastung triggert, einem Algorithmus folgt wirst du in Relation zur PWM eine Schwebung / Modulation erhalten. Jetzt müsste mal ein Statistiker sagen unter welchen Voraussetzungen, sprich Anzahl der Messungen, Verteilung,..... daraus ein brauchbarer Mittelwert berechnet werden kann. Ich denke nicht das dabei etwas sinnvolles raus kommt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.