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!

    • Das mit dem timer ist sinnvoll und auch schnell eingebaut. Was auch zu überlegen ist, wären deine Spannungsteiler. Durch die Induktion beim Ausschalten der fet gibt's ja am drain Spannungsspitzen, die die 12V um einiges übersteigen. Mit deinen 10k+4,7k hast du bei 12V grob 4V an den pins, da ist nicht viel Reserve. Auch die Diode zwischen 12V-Versorgung und den Spulen, die in der appnote drin ist, ist sinnvoll, um auch deinen Vergleichspin vom Komparator 'sauber' zu halten. Oder leg den auf die Vcc vom Kontroller (5V).
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Na ja.... Mein Überlegung war die folgende:
      Auch wenn nur 2 Phasen, so kann ich den nur mal als Überlegung als Sternschaltung sehen. Da ist also der sternpunkt (der ja bei 3-P BLDC-Schaltungen künstlich mit R´s gebildet wird) praktisch mein +12V. Und genau an diesem Sternpunkt erfasse ich den Nulldurchgang, also genau an den +12V.
      Wenn ich da jetzt die Reihendiode dran hänge verschiebt es mir ja den Nullpunkt um ca. 0,6V und der Nulldurchgang wird nicht richtig erkannt, oder?
    • Ich kann mangels fundiertem Wissen die Wirkung der Diode nicht so einschätzen. Ich weiß nur aus Erfahrung, dass schnell abgeschaltete Spulen ganz schön auf die Finger hauen können. Und das elektronisches Zeugs, genauso wie meine Finger, empfindlich sind.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Du kannst doch mal ohne die Spulen zu bestromen den Rotor von Hand schnell drehen.
      Das müsste ja an den Spulen (Drain gegen GND gemessen) eine gewisse Wechselspannung, Also Amplutude mit Offset ergeben. Kannst du das mal mit dem Oszi aufnehmen und ein Bild einstellen?

      Von dem hänge es ab, wo der Nullpunk (ACIN0) sein muss zum Triggern.

      Vielleicht schaffst du es auch so eine Induktionsspitze aufzunehmen.

      Hast du Digitaloszi? Dann gehts leicht mit Single-Shot Funktion.
    • Mal eine Idee, ob das jetzt weiter bringt, hm, vielleicht.
      Die Induktion durch Abschalten bringt am drain eine höhere Spannung (gegen gnd) als die 12V. Ausgang vom Komparator ist low. Wenn der andere Pol an der Spule vorbei kommt, dann ergibt die Induktion am drain eine kleinere Spannung als 12V, Komparatorausgang wird high. Also soll von low nach high getriggert werden.
      Jetzt würde ich dem Motor nach dem Hochlaufen einfach mit den letzten waitms-Werten weiter laufen lassen, den aktiven interrupt mit steigender flanke auslösen und in der isr eine led einschalten. Den Eingang vom Komparator natürlich auf einer Phase lassen und wenn diese Phase bestromt wird die Led ausschalten. Jetzt sollte doch die Led gleichmäßig blitzen, wenn nicht, ist was faul. Dann vielleicht an einem Spannungsteiler fummeln, bis sich was tut.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Nein, DC-Kopplung.
      Aber wie gesagt, ich habe nur direkt an den Wicklungen abgegriffen und nur den Motor, ohne jegliche Schaltung dran gehabt.

      Die einzige Möglichkeit den Motor manuell anzutreiben ist ein Konus an der Unterseite.
      IMG_0847.JPG

      Da das aber ein Konus ist, kann ich den nicht in den Akkuschrauber einspannen. Ich muss den Akkuschrauber gegen den Konus drücken, wozu ich 2 Hände brauche. Dann bräuchte ich noch ein paar Hände um das Oszi einzustellen
    • Aber ich könnte doch folgendes machen:
      - Ich lasse den ACI auch schon in der Anlaufphase aktiv, der steuert ja gerade eh nur LEDs.
      - Dann starte ich den Motor und zeichne mit einem Kanal die Gatespannung eines Transistors auf und mit dem anderen Kanal die entsprechende LED-Spannung.

      Wenn die beiden Kurven dann einen um 180° verschobenen Rechteck ergeben, hab ich doch das Ansteuersignal der Gegenphase???

      Also so in etwa:

      Gate Transistor 1: _____I*******I______I*******I______

      LED Gegenphase : *******I_____I********I_____I*********
    • Nehmen wir mal an, das Signal von der Spule wird durch den RC-Tiefpass nicht sonderlich bedämpft und die 3Vss kommen am Komparator an. Der ACIN0 liegt auf 6 V. Das Spulensignal ist an +12V gekoppelt. Ergibt also durch die Wechselspannung 12V +-1,5V, Also Pegel zwischen 10,5V und 13,5V.
      So kann der AC nicht triggern. Außer wenn der Fet die Spule gegen GND zieht und wieder los lässt. Dieser Pegelunterschied könnte triggern. Aber das macht keinen Sinn.

      Vielleicht muss der 2. AC-Eingang auch mit einem Spannungsteiler auf ein Niveau 1V über oder 1V unter dem von AIN0 gebracht werden und der Ausgang vom RC-Tiefpass über einen kleinen Kondensator zum AIN1 geleitet werden.
    • Sollte nicht möglich sein. Der MUX schaltet ja den int immer auf die nicht bestromte Phase.

      Int setzt Bit "Trigger" auf 1
      dann werte ich mit der Schleife aus und schalte den MUX:

      If Trigger = 1 and Aktivephase = 0 Then
      Disable ACI
      Ersatzphase 1 = 1
      Ersatzphase 0 = 0
      Aktivephase = 1
      Trigger = 0
      ADMUX = 4
      Waitms 10
      Enable ACI
      Elseif Trigger = 1 and Aktivephase = 1 Then
      Disable ACI
      Ersatzphase 1 = 0
      Ersatzphase 0 = 1
      Aktivephase = 0
      Trigger = 0
      ADMUX = 2
      Waitms 10
      Enable ACI
      Endif

      "Ersatzphasen" sind meine LEDs
    • OK, dann haben wir die Situation wie in Post #93.

      3Vss mit einem Offset von +12V.
      Die Spannung reicht nicht an die AIN0-Spannung zum triggern.

      Entweder wir sind mit unsrer "Wie funktioniert der Motor und die Kommutierung" auf dem Holzweg oder da ist was Faul.

      Mir ist auch schon durch den Kopf gegangen dass es so funktionieren könnte:
      Aber nur mal hypothetisch.

      Der Fet für Phase1 ist zunächst nicht angesteuert. Also ist die Spannung am Drain, nachdem die Induktion abgeklungen ist, auf +12V. Der RC-Tiefpass läd sich auf und am AIN1 liegen 12V an. So jetzt wird der Fet angesteuert. Spannung am Drain geht auf 0V.
      Der Tiefpass folgt verzögert und überfährt den Triggerpegel nach unten. Vielleicht ist das der Zeitpunkt für die Kommutierung. Denn dann würde durch die Verzögerung (Tau) bestimmt, wie lange die Spule Saft bekommt.

      Möglicherweise ist der RC-Tiepass der Schlüssel, der die Phase etwas verschiebt, die zur Ansteuerung (Kommutierung) notwendig ist.

      Ist ne Hypothese, ich bin kein 2-Phasen Motor-Profi.

      Aber ich meine ich hätte in der Applikations-Note gelesen, dass die Induktionsspannung durch der vorbeistreifenden Magnet an der unbestromten Spule getriggert wird.