mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zu schnelles PWM-Signal messen


Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht gegen eine klassische Glättung mittels integrierendem 
Verstärker?

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dennis S. (bzzzt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Dennis S. (bzzzt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann bleibt dir immer noch das RC-Glied, falls sich dir der Mittelwert 
dann nicht zu langsam anpasst.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber was ist mit der Digitallösung aus meinem ersten Post, was sagt da
>die Systemtheorie dazu?

Das dein Vorhaben Quatsch ist.

Autor: Dennis S. (bzzzt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Dennis S. (bzzzt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du uns das schon am Anfang gesagt hättest, hätten wir dir doch 
gleich das RC-Glied empfohlen. ;)

Autor: G a s t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ...

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.