-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Drehzahlmessung BL-Motor

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    38
    Beiträge
    265

    Drehzahlmessung BL-Motor

    Anzeige

    Moin moin!

    Ich teste gerade die angehängte Schaltung für die Drehzahlmessung an einem Brushless-Motor. Scheint auch zumindest nicht ganz falsch zu sein: Auf dem Oszi sieht es so aus wie auf dem zweiten Bild im Anhang. Die weiße Kurve ist bei mir "Null C", die rote Kurve ist "Mittel", letzteres allerdings noch mit einem weiteren Kondensator 100 nF gegen Masse gedämpft (vorher war's sehr zappelig).

    Was mir einleuchtet, ist daß "Mittel" immer drei Perioden durchläuft, während "Null C" genau eine schafft. Der Motor hat ja drei Pole, von denen C nur einer ist.

    Mich wundert aber die Frequenz von "Null C". Eine Periode dauert 2,78 ms, das wären also 360 Hz. Der Motor läuft hier aber mit einer Drehzahl von 3140 rpm, das sind 52,3 Hz. Liegt also um einen Faktor 6,88 falsch. Bei einer anderen Drehzahl (knapp 4900 rpm) kam ich auf einen Faktor sieben.

    Wo kommt diese sieben her? Wenn ich den Motor von Hand drehe, gibt es genau 12 "Einrast"-Stellungen. Ich weiß nicht genau, wie die Pole im Motor angeordnet sind, daß aus drei Polen 12 Positionen werden, aber zum Faktor sieben paßt das irgendwie gar nicht, oder? Hat jemand eine Idee?

    Nils

    EDIT: Thread-Titel angepaßt
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 3140rpm.jpg   kommutierung_380.jpg  

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Hallo Minifriese,

    ich halte mich zwar auch nicht unbedingt für den Motorspezialist, aber vielleicht kann ich doch etwas beitragen.

    1. Zum Drehzahlproblem:
    Stellen wir uns einen sehr einfachen Brushless vor, im Stator mit nur drei Spulen, jeweils um 120° versetzt und einem einfachen, zweipoligen Permanentmagnet im Läufer.
    Dieser Motor wird während einem Sinusdurchlauf an (z.B. Phase C) genau eine Umdrehung des Läufers machen, die Ansteuerfrequenz wäre also gleich der Drehzahl.
    Modifiziert man diesen Motor, indem man 6 Spulen einbaut (jeweils 2 gegenüberliegende Spulen werden vom gleichen Strom im gleichen Wickelsinn durchflossen), dann muß man auch den Läufer mit insgesamt 4 Magnetpolen ausrüsten. Die Anordnung ist also punktsymetrisch zur Drehachse. Man erhält dann eine Drehzahl, die nur halb so groß ist, wie die Eingangsfrequenz, da sich das Drehfeld ja immer nur drei Spulen weiterbewegt.
    Das Drehmoment sollte sich dafür verdoppelt haben, weil ja beide Motorhälften gemeinschaftlich am Rotor drehen.
    Wenn Du bei Deinem Motor eine Drehzahl von einem siebtel der Ansteuerfrequenz mißt, dann sollte Dein Motor also 7 Polpaare besitzen (im Läufer) und insgesamt 21 Spulen (im Stator).

    2. Rasten:
    Das Rasten im unbestromten Zustand hat wenig mit der Anzahl der Polpaare zu tun. Es ist einfach die Tatsache, daß sich die Permanentmagnete (2 Pole pro Polpaar) bezüglich dem gezahnten Läufer (3 Zähne pro Polpaar) ausrichten wollen. Wie die optimale Ausrichtung ist, hängt auch stark von der Form der Zähne ab. Meistens sind 6 oder 12 Raststellungen fühlbar, gelegentlich wird auch die Geometrie auf minimales Rasten optimiert.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    38
    Beiträge
    265
    Moin moin!

    Das klingt sinnvoll. Ich habe jetzt mal den Motor zerlegt und siehe da: Der Stator hat 12 Spulen und der Läufer hat 14 Magneten, also wohl in der Tat 7 Polpaare. Daß es nur 12 Spulen gibt, könnte das die von dir erwähnte Auslegung auf minimales Rasten sein? Wenn die Spulenzahl kein Vielfaches der Polzahl ist, kann der Läufer sich ja nicht genau auf einen Pol ausrichten, weil die andere Seite dann zwischen zwei Polen steht.

    Mein nächster Schritt ist jetzt die eigentliche Drehzahlmessung. Dazu will ich das Signal an "Null C" (oder A oder B) mit einem etwas größeren Kondensator gegen Masse noch etwas glätten. Dieses Signal lege ich dann auf den positiven Eingang des Analog Comparators im AVR. Am negativen Eingang werde ich über einen separaten Spannungsteiler genau den DC-Offset des Signals "Null C" einstellen. Dadurch sollte der ADC bei jeder Periode einmal auf Eins und wieder auf Null gehen. Brauche ich eigentlich die komplette Schaltung, mit allen drei Phasen und dem virtuellen Sternpunkt, oder würde quasi ein Drittel der Schaltung (ohne Sternpunkt) auch reichen?

    Gruß,
    Nils

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    12 Spulen und 14 Magnete scheint nicht unüblich zu sein. Hier werden verschiedene mögliche Bewicklungsschemata angegeben:

    http://www.powercroco.de/Schema.html

    Für die Drehzahlmessung sollte eine Frequenzmessung an einer Phase genügen. Ein Tiefpass ist sicher notwendig um die PWM-Frequenz herauszufiltern, andererseits sollte die maximale Ansteuerfrequenz noch erkennbar sein.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    38
    Beiträge
    265
    Moin,

    So, mit dem linken Teil der Schaltung auf dem angehängten Bild bekomme ich ein schönes Signal von einer der Motorphasen. Nicht direkt ein Sinus, aber annähernd, und auf jeden Fall periodisch. Der DC-Offset des Signals ist 3V (vermutlich relativ gut einstellbar über die beiden Widerstände ganz links), die Amplitude ist knapp 1V Spitze-Spitze. Ich will jetzt die Frequenz dieses Signals mit einem AVR-Pin messen. Da ich vier dieser Signale habe, aber keine vier Interrupt-Pins, will ich dafür jeweils normale Input-Pins verwenden (mit der Pin-Change-Interrupt Funktion des AVRs).

    Dafür muß ich natürlich den DC-Offset wegbekommen bzw. dafür sorgen, daß das Signal zwischen den High- und Low-Pegeln des AVR-Pins toggelt. Also vorzugsweise zwischen 0 und 5 V hin und her schaltet, mit der ursprünglichen Frequenz.

    Die Schaltung rechts im Bild sollte das prinzipiell können, oder? Ich weiß nur mal wieder nicht, wie ich die Bauteile dimensionieren muß. Kann da jemand helfen?

    Oder ist vielleicht eine andere Schaltung nötig? Sowas ähnliches hatte ich mal für einen Ultraschall-Empfänger gebaut, da hatte ich noch einen Kondensator zur Entkopplung und zwei Widerstände für eine Vorspannung des Transistors mit drin. Leider habe ich davon aber keinen Schaltplan mehr und wüßte erst recht nicht, wie das zu dimensionieren wäre...

    Schönen Sonntag,
    Nils
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken image0001.jpg  

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2006
    Beiträge
    734
    Hallo Nils,
    zwei Vorschläge:
    An einer Z-diode fällt Spannung ab, d.h. du kannst die Spannung damit abschneiden. Ein Portpin schaltet bei ungefähr 0,2*Vcc = low und 0,7*Vcc = high, je nach Betriebsspannung (Datenblatt). Damit müsstest du es anpassen können. Statt einer Z-Diode kannst du auch Normale Silizium-Dioden verwenden. Dort fallen 0,6V - 0,7V ab.

    Zweiter Vorschlag:
    Du könntest den AD-Wandler verwenden und das Signal abtasten. Der Vorteil ist, dass du eine kleinere externe Beschaltung brauchst (weniger Hardware) und mit der Software flexibel reagieren kannst. Den AD-Eingang könntest du kontinuierlich samplen und in deiner ISR ein flag setzen, wenn die Spannung über einem bestimmten Wert war. Ein Nachteil ist die Zeit, eine Wandlung dauert ungefähr 13,5µs.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    38
    Beiträge
    265
    Moin!

    Kannst du genauer erklären, wie das mit den Zenerdioden gehen soll? Das kann ich mir nicht so recht vorstellen.

    Die Analogeingänge könnte ich zwar benutzen und der Hardwareaufwand wäre wohl in der Tat gering. Aber dafür ist dann softwaremäßig ein ziemlicher Overkill und eigentlich hatte ich die ADCs schon anders verplant...

    Gruß,
    Nils

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    38
    Beiträge
    265
    Moin moin!

    Ich versuche gerade mit der angehängten Schaltung das ungefähr sinusförmige Signal von der Motorphase in ein Rechtecksignal gleicher Frequenz umzuwandeln. Von letzterem will ich dann per AVR die Frequenz und damit die Drehzahl messen. Leider bleibt der OPV-Ausgang stabil auf Null. Zwischen Cin und dem positiven Eingang des OPVs sehe ich mein Sinussignal, ohne DC-Offset. Am negativen Eingang liegen etwa 2,5V an, die per Spannungsteiler aus Vcc erzeugt werden.

    Die OPV-Schaltung habe ich aus einem Buch (OpAmps Single Supply), das sollte eine reine Verstärkerschaltung sein. Mit meinen Bauteilen wäre die Verstärkung 11.
    Muß ich vielleicht stattdessen doch einen Differenzialverstärker aufbauen?

    Gruß,
    Nils
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken image0001_168.jpg  

  9. #9
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo Minifriese!

    Ich möchte nur eine einfachste Schaltung im Code vorschlagen. Mit dem Trimmpoti P kann man Amplitude des Ausgangsrechtecks ändern.

    MfG
    Code:
                    VCC
                     +
                     |
           +---------+---------+                         M = Motor
           |                   |
           |                  .-.
           C|                 | | Rc
         L C|                 | |
           C|   C             '-'
           | ||                |
           +-||-+              +-----> Zähler
           | || |    Rb        |
          / \  .-.   ___     |/
         ( M ) | |<-|___|-+--| T
          \_/  | |P       |  |>
           |   '-'        -    |
           |    |       D ^    |
           |    |         |    |
          ===  ===       ===  ===
          GND  GND       GND  GND
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Hallo minifriese,
    ich vermute, daß Deine Schaltung nicht geht, weil der Gleichspannungspegel am Operationsverstärker (+) Eingang nicht definiert ist. Mögliche Abhilfe: Cin weglassen oder durch einen Widerstand ersetzen. Du sagst zwar, daßss Du keinen DC-Offset über dem Kondensator messen kannst, es ist aber möglich, dass der Offset nur dann verschwindet, wenn ein Meßgerät angeschlossen ist (weil es einen hohen aber endlichen Innenwiderstand hat).
    Wenn Du den Cin wegläßt, sollte man vielleicht noch daran denken, die Eingangsspannung zu begrenzen (manche OPs mögen keine Spannungen am Eingang, die höher oder niedriger sind, als die Betriebsspannung des OP). Das könnte man mit je einer Diode vom (+) Eingang zu Vcc bzw. zu Masse machen, die so gepolt sind, dass sie normalerweise sperren.

    Oder Du verwendest gleich die einfache Schaltung, die PICture vorschlägt.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •