Hallo Experten,
Zur Drehzahlbestimmung möchte ich eine Frequenz, eine TTL-Pulskette vom
Geber, in eine analoge Spannung umwandeln. Bei Nenndrehzahl beträgt die
Frequenz 30kHz.
Ich verwende im Moment den f/U- Wanlder LM2917 von Texas Instruments.
Leider ist das gute Stück zu langsam. Denn ich möchte mit meiner Messung
Umschaltvorgänge (Linkslauf- zu Rechtslauf) messen können. Mit diesem
Chip eile ich der Drehzahl immer einige ms nach.
Ich weiss dass ich zu langsam bin, weil ich gleichzeitig auch Strom und
Spannung messe.
Hat jemand von euch eine Idee für ein besseres IC oder für eine
schnellere Schaltung um eine Pulskette in eine Spannung zu wandeln?
Danke für eure Hilfe
Annn
annn schrieb:> Ich weiss dass ich zu langsam bin, weil ich gleichzeitig auch Strom und> Spannung messe.
Seit wann hängt Strom/Spannung von (einem Motor?) von der Drehzahl ab?
Um was geht es eigentlich hier?
Siehe Netiquette etwas mehr Angaben wären Sinnvoll.
Wie schnell soll sich denn deine Drehzahl ändern können. In
Millisekunden ändern sich höchstens Drehzahlen von Zahnarztbohrern
relevant.
Ich würde das mit einem kleinen µC machen. Wenn man einen µC findet, der
Input caupture und einen DAC hat kann man das Signal damit relativ
schnell in eine Spannung umwandeln
Hallo,
Ja, da war ich ein wenig zu knapp im Beschreiben. Es handelt sich um
eine 3-Phasen ASM. Ich weiss, dass ich zu langsam bin, weil ich die
Wirkleistung mit der Drehzahlvergleichen kann.
Ich logge Strom und Spannung mit einer Messkarte, deshalb kann ich auch
keinen Mikrocontroller verwenden. Ich möchte am Schluss Strom, Spannung
und Drehzahl zusammen loggen.
Pardon für die knappe erste Beschreibung.
Annn
annn schrieb:> Ich logge Strom und Spannung mit einer Messkarte, deshalb kann ich auch> keinen Mikrocontroller verwenden.
Wenn du das gemessene Signal mit einem DAC als Spannung ausgiebst kannst
du sie dann mit einem Analogeigang einer Messkarte einlesen.
Diese Lösung ist sehr schnell, das Ausgangssignal des µC wir einmal pro
Periode des Messsignals aktualisiert.
annn schrieb:> s handelt sich um> eine 3-Phasen ASM. Ich weiss, dass ich zu langsam bin, weil ich die> Wirkleistung mit der Drehzahlvergleichen kann.
Ja und?
Die Leistungsaufnahme ändert sich schlagartig, die Drehzahl nur langsam,
weil da ein großes Trägheitsmoment im Wege steht.
Das ist als ob du meinst ein LKW könnte in einer 10tel Sekunde von 0 auf
80 beschleunigen, nur weil du siehst daß jemand das Gaspedal schnell
durchdrückt.
Hallo NitroBor,
ja genau, und ich glaube nach dem gleichen Prinzip funktioniert mein
LM2917-Wandler von Ti. Trotzdem ist das Ding nicht schnell genug...
Hallo Udo Schmitt,
ja das ist mir bewusst. Aber, wenn ich die elektrische Wirkleistung und
die mechanische Leistung anschaue, dann darf die mechanische Leistung ja
nie höher sein als die elektrische.
Aber genau das passiert mir hier wenn ich eine Drehrichtungsumkehr
vornehme. Und ich glaube das kommt so heraus, weil meine Drehzahlmessung
zu langsam ist.
Vielen Dank für eure Hilfe.
Annn
annn schrieb:> Aber, wenn ich die elektrische Wirkleistung und> die mechanische Leistung anschaue, dann darf die mechanische Leistung ja> nie höher sein als die elektrische.
Wiederlegung: Wenn die Maschine schlagartig elektrisch getrennt wird,
dann läuft sie noch etwas nach (Trägheit). Also mechanische Leistung
ohne elektrische Lesitung.
Hallo Udo,
das ist genau der wunde Punkt... Die mechanische Leistung bestimme ich
mit der Drehzahl. Das Massenträgheitsmoment meiner Maschine ist bekannt.
Also ganz simpel: pmech = M * Omega
mit
M = Massenträgheitsmoment * d/dt(Omega)
Hallo Nay,
ja da hast du recht, aber ich trenne meine Maschine hier nie vom Netz,
ich nehme lediglich eine Drehrichtungsumkehr vor.
Die Maschine befindet sich so nie im Generatorbetrieb.
Ich bin ziemlich sicher, dass meine Schaltung ganz einfach zu langsam
ist. Deshalb bin ich auf der Suche nach einem anderen IC, oder einem
anderen Messprinzip um eine Frequenz in eine analoge Spannung zu
wandeln.
Annn
>Die Maschine befindet sich so nie im Generatorbetrieb.
Darauf würde ich nicht wetten.
Du treibst Deinen Motor an und steckst somit Energie rein.
Wenn Du nun stoppen und/oder die Drehrichtung ändern willst brauchst Du
eine Bremse um ohne den Generatorbetrieb zum Stillstand zu kommen.
Andernfalls erzeugt Dein Motor, zusammen mit der Last bzw. angekoppelten
Masse Energie. Das geschieht auch beim ganz normalen "Auslaufen". Auch
mit einer Bremse wird, dann natürlich kürzer und weniger, Energie
erzeugt.
Um noch mal auf den LM2917 zurückzukommen.
Ich kann mir einfach nicht vorstellen, dass der, bezogen auf
massegekoppelte Frequenzänderungen, zu langsam ist.
Kann es sein, dass die aktuelle Beschaltung ungünstig gewählt wurde?
Die Reaktionszeit hängt sehr stark von der Beschaltung ab. Also ev. zu
großzügig gewählte Ladekondensatoren und/oder Entladewiderstände?
Hallo, Amateur
auch an dich ein Dankeschön. Ja bleiben wir beim LM2917... du hast recht
mit dem Motorgeneratorbetrieb... ich glaube ich muss da nochmal über die
Bücher...
Aber die Beschaltung vom LM2917 habe ich richtig ausgelegt. Ein Problem
das ich sowieso mit diesem Bauteil habe, ist der grosse Frequenzbereich
den ich abdecken muss. Deshalbe gefällt mir die Lösung von Sandro
eigentlich sehr gut.
Die Vorgänge sind tatsächlich sehr schnell. Die Umschaltung von
Nenndrehzahl Linkslauf nach Nenndrehzahl Rechtslauf dauert ca. eine
Sekunde.
Annn
Hallo nochmal,
noch zur Vollständigkeit, hier noch ein Plot der die mechanische und die
elektrische Leistung beim Hochfahren von 0 bis in den Leerlauf zeigt
Die rote Kurve beschreibt die mechanische Leistung. Die blaue Kurve
beschreibt die elektrische Leistung. Beide Kurven in Funktion der Zeit.
Hier ist eindeutig, dass die Messung nicht stimmt. Beim Hochfahren darf
die mech. Leistung offensichtlich nie höher werden als die elektrische.
Bei ca. 3s befindet sich die Maschine im Leerlauf.
Annn
Nun wenn es nur um die Frequenz-Spannungswandlung geht, könnte, das
nötige Know-how vorausgesetzt, ein µP das Problem lösen.
Ein Sechs- bzw. Achtfüßer kost' fast nix und kann Dir sogar zwei
Messmethoden kombinieren.
Bei hohen Drehzahlen werden die Impulse pro Zeiteinheit erfasst, bei
geringen die Pulsabstände.
Bitte bedenke aber: Hier wird sehr schnell mit einem: "Nimm doch einfach
einen XY-µP" geantwortet. Das gilt aber nur für die Leute, die sich
damit auskennen. Dann ist es wirklich ein Klacks.
Ist das ganze neu für Dich, so kommt das volle Programm bestehend aus
Elektronik (Beschaltung), Strukturanalyse (wie ist so ein µP aufgebaut
bzw. Strukturiert) und die Programmierung auf Dich zu. Also nix, was man
so zwischen Frühstück und Mittag erledigt.
Hallo Amateur,
Danke für deine Antwort. Ganz neu sind Microcontroller nicht für mich.
Ich habe mir gedacht, ich löse das Problem mit einem simplen AtMega16.
Ich lese die Pulse mit einem externen Interrupt ein, und kreiere so ein
PWM Signal. Mit einem AtMega16 komme ich so sogar ohne ADC aus, die
Pulse von meinem Geber sind wunderschöne TTL- Pulse...
Ich hoffe das wird mein Problem lösen.
Annn
annn schrieb:> Die Vorgänge sind tatsächlich sehr schnell. Die Umschaltung von> Nenndrehzahl Linkslauf nach Nenndrehzahl Rechtslauf dauert ca. eine> Sekunde.
Was für eine ASM ist das? Eine mit 100mW???
Oder überlastest du die mit Faktor 10 und sie hat gar nichts
anzutreiben?
Wenn die Kästchen im Diagramm Sekunden sind, dann ist die Verzögerung um
0,2s am Anfang wirklich seltsam.
Aber eins verstehe ich nicht. Du hast offensichtlich Encoder Signale,
die du in ein analoges Spannung/Drehzahl umwandelst. Gleichzeitig
rechnest du aber, was auf einen µC oder so hindeutet.
Warum zum Geier verarbeitest du dann die digitalen Drehzahlsignale nicht
gleich digital?
annn schrieb:> Ich habe mir gedacht, ich löse das Problem mit einem simplen AtMega16.> Ich lese die Pulse mit einem externen Interrupt ein, und kreiere so ein> PWM Signal.
Stichwort "Input Capture".
Und danach machst du keine PWM sondern verarbeitest dein digitales
Signal auch digital weiter. Warum bitte das analog wandeln und dann
wieder mit einem A/D digital. Du hast es doch schon digital!
Amateur schrieb:> Bei hohen Drehzahlen werden die Impulse pro Zeiteinheit erfasst, bei> geringen die Pulsabstände.
Eine ASM hat keine so hohen Drehzahlen, daß die Impulsdauermessung nicht
die bessere Version wäre.
Bedenke er will das Ergebnis ms schnell.
Ein µC mit 10MHz zählt da schon auf 10000, so genau braucht er es gar
nicht.
Hallo Udo,
Nein, es handelt sich um eine 3kW-Maschine. Aber die Drehrichtungsumkehr
läuft von im Leerlauf ab. Deshalb die schnellen Vorgänge.
Ich lese die Strom und Spannungswerte von Messwandlern auf eine
Messkarte ein. Bei Nenndrehzahl liefert mir der Geber eine Pulskette von
30kHz.
Es ist sehr schwer die Frequenz wirklich genau zu messen, zumal meine
Karte auf einem nicht echtzeitfähigen PC unter Windows läuft. Ich habe
das Versucht, mit Zählern etc. das Funktioniert bei tiefen Frequenzen
prima, bei hohen Frequenzen wird der Fehler zu hoch.
Wenn ich die Drehzahl wie die Spannungen und die Ströme als
Analogssignal logge, bietet das auch den Vorteil, dass ich die Frequenz
immer bezogen auf die Ströme und Spannungen aufzeichne.
Sonst müsste ich Spannung, Strom, Frequenz mit einem Zeitstempel
versehen, und man hätte keine äquidistanten Messpunkte mehr.
Deshalb möchte ich die Frequenz als Analogsignal aufzeichnen.
Annn
>Eine ASM hat keine so hohen Drehzahlen, daß die Impulsdauermessung nicht>die bessere Version wäre.
@Udo
Da müsste man den Impulsgeber fragen. Kann aber die Drehzahl in 1
Sekunde umgeschaltet werden, so scheint es sich um Locker und Leicht zu
handeln - oft auch schnell.
@annn
Sicher kannst Du einen AtMega16 verwenden - vor allem, wenn Du einen
über hast. Allerdings langweilt der sich zu Tode und ist riesengroß.
Ein ATTiny mit 8 Füßen reicht vollkommen aus. Soweit mir bekannt haben
die genügend Ressourcen, sind schnell genug und brauchen kaum Platz.
Amateur schrieb:> @Udo> Da müsste man den Impulsgeber fragen. Kann aber die Drehzahl in 1> Sekunde umgeschaltet werden, so scheint es sich um Locker und Leicht zu> handeln - oft auch schnell.
Er hat gesagt 30kHz.
Bei 1ms Dauer:
Impuse zählen 30 +-1 entspricht Fehler von +-3,3%
Zähler laufen lassen mit Vorteiler 1 und 10MHz Takt: 333 Ticks pro
Impuls, Fehler: QuarzFehler plus ca 0,3%.
annn schrieb:> Mit einem AtMega16 komme ich so sogar ohne ADC aus, die> Pulse von meinem Geber sind wunderschöne TTL- Pulse...
Von einem ADC hab ich nie etwas gesagt, sondern von einem DAC (Digital
to anlog converter)
Er DAC hätte den Vorteil gegenüber pwm, dass du bei PWM noch einen
Tiefpass brauchst der dir das Signal eventuell etwas verzögert. Wenn du
nur wenige bits Auflösung brauchst kannst du dir einen DAC aus einem
R2R-Netzwerk bauen, wenn du mehr brauchst würde ich einen fertigen IC
verwenden. Der MCP4911 z.B. hat 10bit, SPI und kommt im 8 Pin gehäuse.
Hallo Sandro,
ja da hasst du recht. Denkst du die Variante mit dem DAC ist wirklich
schneller als die PWM-Methode? Schliesslich braucht der DAC ja auch
seine Zeit...
Danke
Annn
Der DAC kann 20MHz SPI, dann wären die Daten also in <1µs im DAC und
noch 4.5μs settling time mach eine Verzögerung der Ausgabe von 5.5µs +
noch die Zeit die der µC brauch um die Frequenz aus den Timerwerten
auszurechnen
annn schrieb:> Ok, aber es diese Lösung ist sicher aufwändiger
Ich schätze die Programmierung nicht so aufwändig ein. Man muss ja nur
das SPI initialisieren und pro Messwert zwei Bytes senden, bei PWM hat
man auch die Initialisierung und abhängig von der Auflösung ein bis
zweit Bytes pro Messwert in ein Register zu schreiben.
Die Schaltung könnte ein bisschen aufwendiger werden und wenn du keine
Referenzspannung anlegen willst gibt es den MCP4811 mit 10bit und
interner 2.048V Referenz. Beide DACs gibt es falls du das braucht auch
mit 8bit oder 12bit.
annn schrieb:> Hat jemand von euch eine Idee für ein besseres IC oder für eine> schnellere Schaltung
Ich glaube, alles gelesen zu haben, und weiß immer noch nicht, was
"schnell" bedeuten soll.
Oder erst mal mit einem Speicheroszilloskop und einer Lichtschranke die
wirkliche Beschleunigungskurfe aufzeichnen. Schauen, wie weit die LM2917
Messung davon abweicht. Mit dem Scope kannst du dann nachher auch dein
AVR-Programm testen.
Zur Periodendauermessung (das ist ja gesucht) kann man wie im LM2917
oder einem anderen Monoflop die Frequenz in eine PWM umwandeln, muss
dann aber tiefpassfiltern um die PWM-Frequenz wegzubekommen. Das
verursacht eine Verzögerung.
Die andere ist der klassische Frequenzzähler/Periodendauermesser, der
liefert sofort nach jeder Schwingung ein Ergebnis, das ein DA-Wandler
fast verzögerungsfrei ausgibt.
annn schrieb:> Ich verwende im Moment den f/U- Wanlder LM2917 von Texas Instruments.> Leider ist das gute Stück zu langsam.
Alle Chips, die den Impuls in einen Impuls fester Länge verwandeln, und
dann die Spannung über die Zeit mitteln, sind langsam weil der Filter
mehrere Perioden auch bei langsamer Drehzahl filtern muss.
Schneller sind prinzipiell Periodendauermessungen, analog kann man das
mit einem per (nahezu) Konstantstrom aufgeladenen Kondensator machen,
der bei jeden Impuls (steigende Flanke) in ein Sample&Hold als
Ausgangssignal übertragen wird und auf 0V zurückgesetzt wird. Da
schlagen schon leichte Drehzahlfluktuationen von Umdrehung zu Umdrehung
unmittelnbar auf die Ausgangsspannung durch.
Man kann das natürlich auch per uC machen.
> Hat jemand von euch eine Idee für ein besseres IC oder für eine> schnellere Schaltung
Geh mal davon aus, dass die Physik - genauer die Mathematik - hier
keinen Spielraum lässt.
Je sauberer das Ausgangssignal ist, desto mehr wurde "gelogen". Meist
via Tiefpass. Gleichzeitig reagiert ein solches System auch nur noch
entsprechend träge.
Je schneller ein solches System reagiert, desto "rauer" wird das
Ausgangssignal. Aber meist auch schneller.
Daher habe ich vorgeschlagen, mit ein paar künstlich generierten
Signalen, z.B. mit einem programmierbaren Tongenerator, die Kombination
aus Widerstand und Kondensator, am IC, zu "optimieren".
Das optimalste (sorry) Ergebnis wirst Du wohl mit einem µP plus
D/A-Wandler - kein PWM - erreichen. PWM ist wohl die billigste Lösung,
aber das dazu nötige Filter kann Dir vieles wieder kaputtmachen.
Ok, vielen Dank an alle, ihr habt mir wirklich sehr geholfen.
Ich habe mich nun auch dazu entschlossen die PWM-Variante zu verwerfen
und einen Microcontroller + D/A -Wandler zu verwenden.
Danke nochmals
Annn