Hallo, ich hätte eine prinzipielle Frage über Drehzahlmessung. Geht man davon aus, man bekommt in Abhängigkeit der Drehzahl Impulse, die auf die Versorgungsspannung angepasst über einen PIN im MC eingelesen werden. Wie sieht dann am besten der Programmcode aus, um die Drehzahl zu bestimmen. Ich hätte mir gedacht, ich lasse einfach einen Timer laufen, und addiere die Impulse auf. In C-Code könnte das z.b so aussehen if(bit_is_set (PORTD,PIND1)) i++; Bei z.B. 10 Impulsen teilt man dann durch die Zeit und normiert auf U/min. Was anderes fällt mir im Moment nicht ein.
Kommt auf die Drehzahl an...und die Anzahl der Impulse/Umdrehung ... zunächst ist es sinvoller die "Periodendauermessung", also die Messung der Zeit zwischen 2 Impulsen zu verwenden, erst bei höheren Drehzahlen geht man zur "Frequenzzählung", wie von dir beschrieben, über. Gruß, Nikias
Also mein Drehzahlmesser macht einen Impuls pro Umdrehung. Die Periodendauer bei 3000U/min wäre T=0,02s. Ich würde dann einen Impuls die Messung starten, der Timer läust los und stoppt bei dem nächsten Impuls. Den erreichten Zählerstand (bei einem 10Bit Timer mit 4/256 MHZ wären das dann 312 Schritte) dann auswerten und auf U/min normieren ? t=312*256/(4*10^6) in sec n=1/t * 60 in U/min Während der Berechnung sollte wahrscheinlich der Timer angehalten werden ?
1/Umdrehung? Also dann auf jedenfall Periodendauermessung! Du kannst im Interrupt den Timer als aller erstes auslesen und sofort wieder zurücksetzten. Der kann dann gleich wieder losrennen. Allerdings würde ich den Timer wesentlich schneller laufen lassen. Das gibt sonst nur ne Schätzung :-) Ich hab mich grad im Rahmen meiner Studienarbeit intensiv mit dem Thema beschäftigt! Da hatte ich allerding 1024 bzw. 2048 Impulse pro Umdrehung ... das ist dann nochmal was anderes. Die Formel für den maßgeblichen Quantisierungfehler ist übrigends: Fr = ( Z / f0 ) * f mit f0 als Zählerfrequenz (bei dir 4MHz/256), Z als Anzahl der Impulse pro Umdrehung (bei dir 1), und f als Drehfrequenz (Bei dir 2000/60). Gruß, Nikias
Hi Nikias, danke für die Info. Nur aus Interesse: Worüber schreibst du deine Studienarbeit ? Ich versuche ich eine drehmomentgereglete GNM zu entwerfen. Die Spannungsversorgung ist fertig, nur eine möglichst genaue Drehzahl muss ich zurückgeben um in Abhängigkeit davon und dem gemessenen Strom die speisende Spannung zu regeln.
Das Thema lautete: "Implementierung einer Drehzahlregelung für umrichtergespeiste Asynchronmaschinen mit einem Mikrocontroller" Das Ganze läuft auf nem 16er Pic ... mit IGBT's und richtig Dampf (27kW Maschine). Ich hab sie heute binden lassen :-) Morgen ist Abgabe :-)))) Wenn du interesse hast, schreib mir ne Mail an nikias (ät) stnd (dot) de Dann schick ich se dir als PDF...da ist ein ganzes Kapitel über die Drehzahlerfassung drinn. Gruß, Nikias
Hi Nikias, ich beschäftige mich auch mit diesem Thema. Allerdings habe ich ich eine 24V ASM mit 1,1kW und 1400U/min Nenndrehzahl. Habe bis einen Winkelgeber IC (MLX90316) implementiert um für die Regelung Rotorlage und Drehzahl zu bekommen. Ca. alle 2ms liefert er den aktuellen Rotorwinkel (0...360°) per SPI in den MC (M16C). Nun brauche ich halt auch die Drehzal und komme da nicht weiter. Ich habe ja nicht wirklich definierte Pulse die ich Zählen kann... Hast du vielleicht eine Idee wie man das lösen könnte? Da ich mit Regelung bis jetzt auch nicht viel zu tun hatte, wäre es nett wenn du mir ein paar tips geben könntest was Regelzeiten angeht. Wie oft und von welcher Dauer sind Regelzyklen bei der Regelung einer ASM? Vielleicht kannst du mir auch eine Kopie oder einen Auszug deiner Arbeit zukommen lassen... das wäre toll! Ich bedanke mich
Hallo, ich weiß nicht ob dir meine Arbeit da weiterhilft...aber Schreib mir einfach ne mail. Allerdings, Rotorlage das hört sich nach Feld-Orientierter Regelung an. Richtig? Ich hab mich für die U/f Kennlinie entschieden, weil es mit unterschiedlichsten Motoren und der ziemlich begrenzten Rechenzeit des PIC machbar sein sollte. 24V? Arbeitest du mit MOSFet's? Meine Drehzahlregelung läuft mit läppischen 40Hz (ja wirklich nur 40Hz) ... dafür aber ziemlich gut. Gruß, Nikias
Also erstmal meine mail adresse: p_tornado@gmx.de Ja, ist korrekt. Der Umrichter läuft über eine B6- Brücke mit MOSFet´s. Im Moment wird der Motor auch über U/F gesteuert. Da ein Fahrzeug damit betrieben werden soll, muss ich da ne Regelung implementieren. Das soll feldorientiert mit Sensoren laufen... Wäre super, wenn du mir die Arbeit rüberschickst. Da kann ich sicher viel draus lernen... Danke dir
Ist raus... bin übrigends durchaus an Kritik an meiner Arbeit interessiert :-) Gruß, Nikias
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.