oscar schrieb:
Gibt es keine Möglichkeit diese Spule zu erneuern?
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!
-
-
Du hast ja einen Shunt in der Leitung.
Wenn du den Motor nochmal hochlaufen lässt und dann die Drehzahl hältst (Programm von @tschoeatsch), kannst du da mal die Spannung am Shunt oszillografieren?
Da sollte ein Sägezahn oder Dreieck rauskommen.
Musst aber Masse am Shunt nehmen, weil das Signal wird am 0,01 Ohm Widerstand recht klein sein.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mitch64 ()
-
Hier der Verlauf am Shunt (gelb) und dazu wieder ein Drainanschluss (blau)
shunt_drai.jpg
Hm... wenn ich den Shunt überbrücke, wird dann die BEMF deutlicher? Sind ja doch bis zu 1,25V die da abfallen. und das wären ja bis zu 125A ???
Ich meine, meine Spannungsteiler (auch der der Referenzspannung) gehen ja gegen Masse, die BEMF hat aber noch den Shunt mit drin.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bastlbeda ()
-
Soweit ich das mitgelesen habe, stimmt ansich der Zeitpunkt, zu dem der AC-Interrupt ausgeführt wird?
Im Code ist mir ein mögliches Problem aufgefallen, die Flags werden sowohl in der Hauptschleife als auch im Interrupt geschrieben und sind als Bit definiert. Bascom fasst jeweils (der Reihenfolge der Dimensionierung nach) 8 Bit-Variablen in einem Byte zusammen (Überraschung), um ein Bit zu ändern, sind mehrere Instruktionen nötig, da kann aber inzwischen der Interrupt ausgelöst werden.
Versuch mal die Flags als Byte zu definieren. -
Mal eine Idee: wie wäre es, eine Spule mit H-Brücke zu betreiben und die andere nur als Sensorsule? Wenn die Arbeitsspule dadurch zu stark belastet wird, dann halt wechselweise mit 2 H-Brücken, sodass nur eine Spule treibt, die andere fühlt. Fets kosten fast nix und ein Kontroller mit paar mehr Beinchen ist doch auch bezahlbar.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Ich habe ja nur 3 Anschlüsse. Beide Spulen haben einen gemeinsamen Anschluss. Wenn den gemeinsamen Anschluss jetzt für die "treibende Spule" per H-Brücke umpole, dann pole ich ja auch den Bezugspunkt der zweite Spule, die jetzt als Sensor verwendet werden soll um.
zaubara schrieb:
Versuch mal die Flags als Byte zu definieren.
Er scheint ja irgendwie zu kommutieren, aber halt nur im falschen Zeitpunkt (vermute ich zumindest) -
Noch eine Überlegung: die beiden Spulen kann ich doch als eine Spule mit Mittelanzapfung betrachten. Lege ich Spannung an den Enden an, dreht sich der Rotor, dass sich jeweils ungleiche Pole anziehen. Pole ich um, dreht sich der Rotor um 180°. Bei der Drehung wird natürlich eine Spannung induziert, die jetzt das Potential an der Mittelanzapfung verschiebt. Diese sollte am größten sein, wenn sich der Rotor um 90° verdreht hat. Damit weiß man, wie die Stellung vom Rotor ist. Mist man die Zeit, kann man voraussagen, wann der Rotor weitere 90° gedreht hat und polt dann die Spannung um.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Bastlbeda schrieb:
Ich habe ja nur 3 Anschlüsse. Beide Spulen haben einen gemeinsamen Anschluss. Wenn den gemeinsamen Anschluss jetzt für die "treibende Spule" per H-Brücke umpole, dann pole ich ja auch den Bezugspunkt der zweite Spule, die jetzt als Sensor verwendet werden soll um.
Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Vielleicht stehe ich gerade auf dem Schlauch, aber die "Gesamtwicklung" wäre doch dann bifilar.
Halbe Windungszahl links herum, die andere Hälfte rechts herum.
Und auch wenn nicht, der Motor ist für 12V ausgelegt. Ob er dann noch die Leistung bringt? -
Geschrieben hatte ich es schon, bei geringen Drehzahlen ist es schwer die BEMF zu erfassen - auch bei 3- und mehrpoligen BLDCs.
Vielleicht macht es ja Sinn den Bezugspunkt zu ändern...Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages. -
Bastlbeda schrieb:
wenn ich den Shunt überbrücke, wird dann die BEMF deutlicher?
-
Meinst du damit, ich soll auf die Nulldurchgänge am Shunt triggern?
-
Bastlbeda schrieb:
Scheinbar hat noch niemand einen BLDC (auch nicht 3-phasig) in BASCOM programmiert
Bastlbeda schrieb:
Ich hab hier noch etwas gefunden, ein Patent
Ich sehe keinen Weg, ohne Sensor deinen Motor zum Laufen zu bringen.
Das Problem mit den Spannungsspitzen ist auch noch da, wie ich auf dem Oszibild sehe.
Vielleicht kannst du den Motor zum Anlauf kurz bestromen und dann leerlaufen lassen, zum Messen, Pulsweite und Nulldurchgang merken, Zeit berechnen und wieder bestromen, dann wieder Leerlaufen lassen usw.
Oder 90 Grad bestromen und 90 Grad messen -
Michael schrieb:
Doch, aber mit Sensoren
-
Michael schrieb:
Vielleicht kannst du den Motor zum Anlauf kurz bestromen und dann leerlaufen lassen, zum Messen, Pulsweite und Nulldurchgang merken, Zeit berechnen und wieder bestromen, dann wieder Leerlaufen lassen usw.
Oder 90 Grad bestromen und 90 Grad messen
Bastlbeda schrieb:
Ich meinte die tausende von Modellbauern, die für Ihre Modelle die üblichen (und übrigens sehr leistungsstarken) 3-phasigen sensorlosen BLDC verwenden.
-
Bastlbeda schrieb:
Hm... wenn ich den Shunt überbrücke, wird dann die BEMF deutlicher? Sind ja doch bis zu 1,25V die da abfallen. und das wären ja bis zu 125A ???
Du musst direkt die Masse am Widerstand anklemmen, sonnst misst du irgendwelche Spannungsabfälle auf Leiterbahnen mit. 125A kann ich mir jetzt auch nicht vorstellen.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mitch64 ()
-
Mitch64 schrieb:
Wieso ist der Strom negativ im Oszibild?
Der Strom steigt genauso wie die Spannung fällt.
Die Spikes am Drain gehen in den kV Bereich, da würde ich zuerst ansetzen. Der Spulenstrom wird abrupt unterbrochen und die Energie aus der Spule muss irgendwohin. Wer eine Funkuhr benötigt, wird sie vermutlich nicht in der Nähe betreiben können. -
Michael schrieb:
unter der Mittellinie heißt nicht zwingend negativ.
(Vorausgesetzt die Eingangs-Kopplung steht nicht auf AC, davon bin ich ausgegangen.)
Oder anders gesagt.
Wenn das nicht zwingend die Null-Linie ist, dann gibt's auch nicht zwingend einen Nulldurchgang.
@Bastlbeda Wie war der Eingang eingestellt? AC oder DC-Kopplung?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mitch64 ()
-
Nach einer Nacht komm ich mit einem weiteren Vorschlag: Mach's mal, wie in der appnote, ganz einfach. Ich denke mal, wir liegen mit unserer 'Kurvendiskussion' nicht verkehrt und der Knick gibt den Zeitpunkt für die Kommutation. Man muss also den Wechsel der Steigung des Spannungsverlaufs erkennen. Dazu (wie bei der appnote) muss man nur delta_U (Spannungsveränderung innerhalb eines Zeitraums) ermitteln und diese Werte vergleichen. Ein großes delta_U hat man bei einer steilen Kurve, ein kleines bei einer flachen. Also timerinterrupts auslösen, zB. alle 1ms. In der int wird die Spannung am drain gemessen und ein Zähler 'strom_an' incrementiert. Erreicht 'strom_an' einen Wert von vielleicht 100, dann werden die Phasen abgeschaltet. Das ist der bekannte timeout, um die fets zu schonen. In der main wird auf die Spannungsmessung gewartet (flag vom ad-Wandler) dann mit der vorhergehenden Spannungswert delta_U errechnet. Dieses delta_U wird mit dem vorhergehenden delta_U verglichen und wenn sich ein signifikanter Unterschied zeigt, dann ist der Kurvenknick erreicht. Es werden die Phasen umgeschaltet, 'strom_an' auf =0 gesetzt und die Spannungsmessung auf das andere drain umgeschaltet. Dann geht es wieder um ermitteln und vergleichen von delta_U. Ganz einfach und mit dem vorhandenen hw-Aufbau zu machen.
Nächster Punkt und mal erst ein Versuch:
SchemaMotor.jpg
zeigt mir eine Spule mit Mittelanzapfung. Die untere Wicklung hat den gleichen Sinn, wie die obere, man könnte also beide Wicklungen auf einen Joch unterbringen. Nix bifilar. Jetzt der Versuch: am obersten und untersten Anschluß eine Gleichspannung anlegen. Der Rotor dreht sich so, dass sich die gleichnamigen Pole anziehen. Jetzt das Ozsi zwischen gnd (zB. unterer Anschluß der Spule) und Mittelanzapfung. Jetzt sollte an der Mittelanzapfung U/2 zu messen sein. Jetzt den Rotor entgegen des Haltemoments verdrehen. Das der mechanische Aufbau eines Wechselstomgenerators entspricht, wird durch das Drehen eine Spannung induziert, die sich dem fließenden Gleichstom überlagert. Man kann jetzt am Oszi
[ ]* beim Rechtsdrehen des Rotors gegen des Haltemoments einer Verringerung der Spannung U/2 erkennen, beim Linbksdrehen eine Vergrößerung.
[ ]* beim Rechtsdrehen des Rotors gegen des Haltemoments einer Vergößerung der Spannung U/2 erkennen, beim Linbksdrehen eine Verringerung.
[ ]* tschoeatsch erzählt wieder Mist
*zutreffendes bitte ankreuzen
Das bedeutet, wenn sich der Rotor dreht, liegt an der Mittelanzapfung ein anderer Wert als U/2 an, wenn U/2 anliegt, dann sind die Pole des Rotors an den Polen der Spule und es wäre der Nulldurchgang, wo es Zeit wäre die Polung der Spule zu drehen (mit H-Brücke). Jetzt geht es mit mit diesem Experiment nur darum zu sehen, ob man eine Verschiebung von U/2 erkennt, also Rotor gegen dem Haltemoment verdrehen und loslassen. Es sollte am Oszi was zu sehen sein.Raum für Notizen
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------- -
Langer Text, kurzer Sinn.
Also wenn ich dich richtig verstehe, willst du im 1. Beispiel nach dem Abschalten das Drainsignal im 1ms Abstand sampeln. Und dann die Werte miteinander vergleichen um den Buckel zu erkennen. Korrekt?
Könnte funktionieren.
Aber man könnte das Signal auch differenzieren und verzögert auf die positive Flanke triggern. Sicherheitshalber ein evtl. schon gesetztes Interrupt-Flag löschen.
Bei 2. Beispiel möchte ich jetzt nix ankreuzen. Aber wenn das Magnetfeld vom Magnet in die gleiche Richtung zeigt wie das Feld durch die Bestromung, addieren sich die Felder. Es müsste also eine Gegenspannung entstehen, wenn man das gegen Masse misst. Bin mir da aber auch grade nicht sicher.