ACI Interrupt verhält sich willkürlich (BLDC BEMF mit Komparator)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Die entstehende Spannung ist Drehzahl und Lastabhängig und beginnt natürlich mit Null (bzw 12V)
      Die eigendliche Impuls/Frequenzformung muß unabhängig der Triggerung funktionieren. Diese kann dann ab einer bestimmten Drehzahl "Empfehlungen aussprechen" Wie z.B. Drehzahl stimmt -das Periodenverhältnis senken zum Stromsparen , Überlast oder Rampen zu schnell (beim Runterfahren). Die Fets sollten min 36V - 70 A vertragen und natürlich Schutzdionden bekommen. Shunts wären wünschenswert.
      Wie wird die Drehrichtung bestimmt?
      Wird der Motor nicht durch die Fehlenden Pos Halbwellen magnetisiert und somit zum "Retarder"?

      Woher die Störungen im Ozzibild ? Einstreuungen vom Akkuschrauber ?
    • Nochmal mein „aber“ @Mitch64, die Fragen nach dem Strompfad habe ich nicht zum ärgern gestellt. Am negativen Eingang des Komperators liegen ohne Motorbestromung nie 12V, denn der Spannungsteiler 10k/4,7k erzeugt die knapp 4V. Und der positive Eingang des Komperators ist fest auf diese Referenzspannung eingestellt. Also muss der neg. Eingang unter diese 4V drunter (da gehört noch ein bissel Hysterese dazu), damit der Komperator am Ausgang eine 1 zeigt.

      Ich meine das die aus der Spule erzeugte Spannung Ul nicht über 12V hinausgeht, aber sehr wohl in Summe mit der Vmot >20V liegt. Es ist ja nichts anderes wie der phasenverschobene Anstieg des Stroms beim Einschalten. Die Kondensatoren an der DS-Strecke sind sicher kein Zufall.
      Und hier würde ich beim hochdrehen des Motors mir die Spannungsverläufe an der DS-Strecke des MOSFETs anschauen.

      PS: Bei geringen Drehzahlen lässt sich die BEMF schlecht auswerten.
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • monkye schrieb:

      Am negativen Eingang des Komperators liegen ohne Motorbestromung nie 12V, denn der Spannungsteiler 10k/4,7k erzeugt die knapp 4V.
      Stimmt, auf den Spannungsteiler habe ich nicht geachtet. Ich habe die Spannung am Drain gemeint mit 12V +- 1,5V Wechsel-Spannung.
      Der Wechselanteil ist nach dem Spannungsteiler dann auch entsprechend kleiner. Das sind dann am
      AIN1 (-) 3,8 V +-0,5V Wechselanteil.

      Damit da ein Interrupt auslösbar ist, müsste der AIN0 (+) auch bei etwa 3,8V liegen. Am Schaltbild ist nur der obere Widerstand mit 10k angegeben. Der untere müsste logischerweise auch 4,7k haben.

      monkye schrieb:

      Die Kondensatoren an der DS-Strecke sind sicher kein Zufall.
      Bestimmt nicht. Ich denke die sollen die Induktionsspitzen beim Abschalten ein Stück weit aufnehmen, damit der FET nicht gleich im Himmel ist. Die Kondensatoren können auch nicht beliebig groß sein, denn die Würden den Fet beim Durchschalten zerstören, wenn der Strom zu groß wird. Denkbar ist auch (wie bei Schaltnetzteilen), dass beim Abschalten eine stark gedämpfte Schwingung entsteht mit 1-3 Perioden (Schwingkreis).

      Die einzige Phasenverschiebung die Einfluss auf die Dynamik der Schaltung hat ist der Tiefpass zum AIN0 (+) und natürlich der andere Zweig, der über den MUX geht. Die Grenzfrequenz liegt bei ca. 160Hz, das Tau bei 1ms.
    • Ich habe mal den Motor schematisch versucht aufzuzeichnen.
      Motor.GIF
      Das Prinzip stelle ich mir so vor:
      Nehmen wir an, der Motor läuft, der Rotor ist in Schwung (Pfeilrichtung) und erreicht bei eingeschalteter Spule (Grün) diese Position wie abgebildet. Grün zieht Nordpol an. Würde jetzt die Spule eingeschaltet bleiben, würde der Rotor abgebremst. Die in dem Moment unbestromte Spule (Rot) erzeugt gerade das Maximum an Induktionsspannung durch den Südpol des Rotors. Das wäre also der Moment, wo umgeschaltet werden sollte (theoretisch).

      Nach dem Umschalten beginnt die Rote Spule den Nordpol des Rotors anzuziehen und die Grüne liefert die Spannung zum triggern.
    • Mitch64 schrieb:

      Nach dem Umschalten beginnt die Rote Spule den Nordpol des Rotors anzuziehen und die Grüne liefert die Spannung zum triggern
      genau und in welcher Richtung ist jetzt die Spannung in der grünen Spule? Doch in der gleichen, wie bei der Induktion beim Abschalten? Durch das Bewegen des N in der bestromten Spule wird ja eine Induktion erzeugt, die der Erregung durch den Strom in der Spule entgegen wirkt (daher verwendet man ja bei stepper einen Konstantstrom, eben wegen der gegenwirkenden Induktion). Drum müsste jetzt die Indunktion durch den S Pol anders rum sein, somit die Spannung am drain erhöhen. Das ist zwar jetzt das Gegenteil, was ich vorher vermutet hab', aber ich denke, das ist jetzt richtig. Oder auch nicht, das ist ja meine persönliche Vermutung. Oh Mann, da hat man Physik Leistungskurs mit einer 1 im Abi und kaum paar Jahre später ist das meiste Wissen von damals eingetrocknet.

      Drum mein ich ja, den Motor mal wie beim Hochlaufen betreiben und mit dem Oszi gate und drain von einer Spule darstellen. Man sieht dann den Spannungsverlauf am drain zwischen den gate-Pulsen und erkennt sicher die Ausschaltindunktion und die Induktion des sich nähernden Pols, bzw wegdrehenden anderen Pol (gibt ja die gleiche Induktion und addiert sich).
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()

    • tschoeatsch schrieb:

      genau und in welcher Richtung ist jetzt die Spannung in der grünen Spule? Doch in der gleichen, wie bei der Induktion beim Abschalten?
      Dazu müsste man mal die Wicklungen einzeichnen wo man die Wickelrichtung erkennt. Und dann mittels Rechte-Hand-Regen die Nord und Südpole ermitteln,

      tschoeatsch schrieb:

      Drum mein ich ja, den Motor mal wie beim Hochlaufen betreiben und mit dem Oszi gate und drain von einer Spule darstellen.
      Haste Recht so ginge es schneller. Aber das muss man Fett drucken damit die wichtigen Passagen in den Posts hervorstechen.

      tschoeatsch schrieb:

      Man sieht dann den Spannungsverlauf am drain zwischen den gate-Pulsen und erkennt sicher die Ausschaltindunktion und die Induktion des sich nähernden Pols, bzw wegdrehenden anderen Pol
      Genau. Messen ist immer Gut. Und hier macht es wirklich mal Sinn.
      Wenn man das ausrechnen will mit den Kapazitäten und allen Widerlichkeiten, da braucht man hinterher einen neuen Satz Gehirnzellen.
    • Ganz so simpel scheint die Uridee (AVR440) nicht zu sein. Dort werden die Motorspulen nicht einfach ein- und ausgeschaltet sondern per PWM geregelt. Ebenso erfolgt die Positionssesoric nicht einfach per Komparator sondern wird mittels zweiser ADC-Kanäle ermittelt (errechnet). Wenn ich dan folgendes lese:

      "The sampling with the ADC in the ATtiny13 can as mentioned be triggered by e.g. a timer overflow event (refer to Figure 3-3). When using the timer in an up-down counting mode, the overflow event occurs when the timer reaches the bottom (zero), which is the moment in time where the PWM is not switching unless the duty cycle is very low. Most fans require between 10% and 40% duty cycle to operate and switching will therefore not occur while sampling. If timer overflow triggered sampling had not been available, significant analog filtering or computationally complex firmware would have been required to perform sensorless control of a two-phase BLDC motor as the switching noise would otherwise contaminate the sampling of the EMF."
      werde ich skeptisch, dass man das auch ganz einfach lösen könnte.
      Machmal wird der Motor sich vielleicht auch drehen, oder auch nicht, oder MOSFETs geben den Geist auf (da keine Überlasterkennung)...
    • Na ja, die beschreiben da ja letztendlich nur, dass das PWM-switching die Messung stört und deshalb dann gemessen werden muss, wenn gerade nicht "pulsweitenmoduliert" wird. "...as the switching noise would otherwise contaminate the sampling of the EMF"
      und
      "...which is the moment in time where the PWM is not switching unless the duty cycle is very low"
      Da ich keine Geschwindigkeitsregelung brauche, will ich es vereinfachen. Habe also kein PWM und kein DutyCycle (bzw.100%)
    • oscar schrieb:

      Dort werden die Motorspulen nicht einfach ein- und ausgeschaltet sondern per PWM geregelt.
      Das ist doch unnützer Schnickschnack, den man bei einer Pumpe doch nicht braucht. :D

      oscar schrieb:

      Ebenso erfolgt die Positionssesoric nicht einfach per Komparator sondern wird mittels zweiser ADC-Kanäle ermittelt (errechnet).
      In der appnote schreiben die ja ganz klar, die Spulen werden umgeschaltet, wenn die induzierte Spannung ihren Nulldurchgang hat. Gerade einen Nulldurchgang kann man doch mit einem Komparator gut erkennen und wenn der dann auch noch einen int erzeugt, na super. Da außerdem hier ja auch noch eine offset-Spannung vorhanden ist, tut man sich mit einer ad-Messung natürlich schwerer, den Nulldurchgang zu erkennen. @Bastlbeda hat sich einfach was geschickteres ausgedacht. Und wenn die mit einem tiny13 und PWM das machen wollen, Pech gehabt, die Komparatorpins sind durch die PWM-Ausgänge belegt.
      Ich bin jetzt schon dafür, @Bastlbeda sollte weiter machen, solange noch fets und tinys verfügbar sind. a_42_02cc30b2
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • hab noch 8 Tinys und 30 FETs.... let´s burn it

      Ich geh jetzt mal schnell löten, um die Messpunkte für das Oszi rauszuführen.... dann hoffe ich ein paar Bilder einstellen zu können

      Übrigens:

      oscar schrieb:

      Dort werden die Motorspulen nicht einfach ein- und ausgeschaltet sondern per PWM geregelt.
      Ich habe auch den C-Code der AVR440 da. Wenn da meine Referenzspannung "Vollgas" sagt, dann wir da nix mit PWM geregelt. Das sind dann 100% Dutycycle und das ist astreine Blockkommutierung.
    • Wenn du am Oszillographieren bist, wie schaut denn die 12V aus, wenn der Motor läuft? Mit dieser Spannung wird ja im Komparator verglichen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • So, hier mal das erste Bild:
      IMG_0849.JPG

      gelbe Kurve ist der Drain des FET (T0 im Schaltbild), blau ist der Ausgang für die LED "Ersatzphase0", War mein Fehler, ich hätte Ersatzphase1 aufnehmen sollen. Beim Umstöpseln hab ich wieder einen FET gekillt.... da waren noch 29.

      Den Tausch ich und dann mach ich ein neues Bild (Auch von der Versorgungsspannung).

      Aber an der gelben Kurve sieht man schon mal den Verlauf der U_DS bei Zwangskommutierung
    • Ich gebe zu, mit dem DSO bin ich noch etwas überfordert, mein altes Hameg 203 hast nicht so viele Möglichkeiten.
      Scheinbar auch mit den Forumsfunktionen. Wenn ich die Bilder hochladen will kommt immer:"Es ist ein Fehler bei der Verarbeitung aufgetreten, bitte versuchen Sie es später erneut."

      monkey schrieb:

      Warum zaubert BLAU (die Ersatzphase) so eine Kurve hin, ist doch eigentlich ein digitaler Ausgang (das ist ja sowas von nichtlinear)?
      Ich habe mal ein bisschen herumgespielt. Da ist ein Digitalfilter drin, den man nicht ausschalten kann. Ich habe ihn dann von 500Hz auf 2,5 MHz gestellt. Dann kam dieses Bild raus: (geht nicht wegen Fehlermeldung)