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!

    • stimmt, der Kontroller wartet. Kann man sicher noch ändern, aber ich möchte ja eine Totzeit einbauen, um die drain-Kurve besser betrachten zu können.
      Jetzt änder mal die main in

      BASCOM-Quellcode

      1. ...
      2. '*****************************************************************************************
      3. Do
      4. 'Abfrage Start
      5. Lauf_flag = Run
      6. 'Start Timer0
      7. Do
      8. Bitwait Intflag , Set
      9. Phase_schwarz = 0
      10. Phase_blau = 0 'stoppt den Motor
      11. Waitms 1
      12. Phase_schwarz = Schwarz
      13. Phase_blau = Blau
      14. Intflag = 0
      15. Ersatzphase1 = Schwarz 'Trigger hier wird 560K-Mitkopplung an Pin6 zur¸ckgef¸hrt
      16. Ersatzphase0 = Blau
      17. Loop
      18. Loop
      19. '*****************************************************************************************
      20. ...
      Alles anzeigen
      Jetzt bleibt die unbestromte Spule um 1ms länger unbestromt.
      Wenn du jetzt mit deinem Oszi das colp-Signal aufzeichnest und ein Signal von einer Spule (drain), dann sollte der Ausschaltschnackler mit einer Flanke vom colp zusammen fallen und die fallende Flanke der drain-Kurve (Einschalten des fets) sollte 1ms nach der Flanke vom colp sein. Jetzt muss man schauen, wie man diese Stelle der drain-Kurve (1ms vorEinschalten des fets) detektieren kann.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Naja, das warten auf den Interrupt kann man noch anders gestalten. Den Kram zur Motorsteuerung würde ich priorisiert in der ISR lassen, den Rest in der Main-Loop.
      Die ISR kann man auch wie eine State Machine aufsetzen, ist zwar viel Code, aber es läuft pro Aufruf nur recht wenig. Und in der Main muss ich keine Rücksicht nehmen auf zeitkritische Aktivitäten.
      Aus datenschutzrechtlichen Gründen befindet sich die Kontaktdaten auf der Rückseite dieses Beitrages.
    • tschoeatsch schrieb:

      jetzt muss man schauen, wie man diese Stelle der drain-Kurve (1ms vorEinschalten des fets) detektieren kann.
      So, jetzt habe ich die Tastlücke eingebaut und das Ganze betrieben. Nagelt etwas, aber es geht ja jetzt um die Kurven.
      Ich habe das colp-Signal am Ausgang "Ersatzphase1" abgegriffen. Der Signalgeber ist mit 100K angeschlossen und da wollte ich das Signal nicht stören. Da aber Ersatzphase = colp, klappt das auch.
      Hier in gelb das colp-Signal und in blau das Drainsignal (von Phase blau, an schwarz komme ich nicht so gut ran):
      Demnach ist an den ca. 90° Phasenverschiebung der BEMF schon etwas dran.
      Tastlucke.jpg
    • Jetzt dachte ich mir, vielleicht ist meine Aufnahme des colp-Signals über den Tiny-port etwas verschoben und habe deswegen mal das Signal direkt am Eingangspin 6, also gleich nach dem Demodulator aufgenommen.
      Ist aber das Gleiche:
      colpEcht.jpg

      und wenn ich mir die ganzen Bilder so ansehe, dann wäre ja mein Nulldurchgang bei ca. 21V a_27_b277ca12

      Und das bei 12V Betriebsspannung a_59_ac03eae5

      Ja ja... Induktion und so... aber da muss ich dann mit der Referenzspannung etwas zaubern a_218_eb6e2334
    • Bastlbeda schrieb:

      Da aber Ersatzphase = colp, klappt das auch.
      ne, klappt nicht, weil diese Ersatzphase ja auch mit 1ms Verzögerung umgeschalten wird.

      Bastlbeda schrieb:

      Jetzt dachte ich mir, vielleicht ist meine Aufnahme des colp-Signals über den Tiny-port etwas verschoben und habe deswegen mal das Signal direkt am Eingangspin 6, also gleich nach dem Demodulator aufgenommen.
      Ist aber das Gleiche:
      das soll passen, aber ist jetzt bei dieser Aufnahme die waitms 1 drin?
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Bastlbeda schrieb:

      dann wäre ja mein Nulldurchgang bei ca. 21V
      naja, kommt drauf an, wie weit deine Vmot durch irgendwelche Effekte hochgetrieben wird.
      Zeig doch mal colp und Vmot (Mittelanzapfung der Spulen, direkt am Motor) in einem Graphen.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • monkye schrieb:

      Naja, das warten auf den Interrupt kann man noch anders gestalten. Den Kram zur Motorsteuerung würde ich priorisiert in der ISR lassen, den Rest in der Main-Loop.
      du hast völlig Recht, ich lass ja erstmal bisschen rumprobieren, um den richtigen Zeitpunkt der Kommutation zu finden.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      das soll passen, aber ist jetzt bei dieser Aufnahme die waitms 1 drin?
      Nein, war nicht drin. Hier noch mal mit Tastlücke und "echtem" colp:
      colp_blau.jpg

      Versteh ich überhauptgarnicht... sogar in der bestromten Zeit ist da gleich nach der Tastlücke was drin


      tschoeatsch schrieb:

      Zeig doch mal colp und Vmot (Mittelanzapfung der Spulen, direkt am Motor) in einem Graphen.
      Bitte sehr:
      Dateien
      • colp_Vmot.jpg

        (39,75 kB, 4 mal heruntergeladen, zuletzt: )
    • colpEchtDetail.jpg
      die 1ms sind vielleicht etwas kurz, um den Verlauf der Kurve in dem Bereich zu beurteilen. Aber man sieht den Versatz, das high der blauen Kurve ist länger als das high der gelben.
      Was ich mir nach dem Gassigehen jetzt so denke: das Ausschalten ist nach ~8ms nicht mehr zu erkennen, im weiteren Kurvenverlauf fällt die Kurve langsam. Das sollte die emf sein. Im Nulldurchgang ist dann die Spannung vor und nach der Spule gleich. Wenn man jetzt Ain0 mit einer eigenen, direkten Leitung an die Mittelanzapfung legt und den passenden mux-Eingang ans andere Ende der Spule, dann müssen beide Spannungen gleich sein. Der mux-Eingang ist erst größer als Ain0, also der Komparatorausgang=1, wenn der auf 0 fällt, dann muss Kommutiert werden. Wieviel Spannung jetzt durch den muxer intern abfällt, keine Ahnung, ob man das berücksichtigen muss.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      die 1ms sind vielleicht etwas kurz, um den Verlauf der Kurve in dem Bereich zu beurteilen. Aber man sieht den Versatz, das high der blauen Kurve ist länger als das high der gelben.
      oh, ich sehe wohl Gespenster 8| =O
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Bastlbeda schrieb:

      Nein, war nicht drin. Hier noch mal mit Tastlücke und "echtem" colp:


      Versteh ich überhauptgarnicht... sogar in der bestromten Zeit ist da gleich nach der Tastlücke was drin
      ich versteh's auch nicht. Die blaue Kurve sollte einfach 1ms nach der Flanke vom colp durch das verzögerte Einschalten (Ziehen auf gnd) weiter laufen. Diese Schnörksel sind komisch.

      und das Bild von Vmot passt auch nicht zu meiner Theorie.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Bastlbeda schrieb:

      Ich hab nicht mal mehr den Shunt drin, auf den man vielleicht die Schuld schieben könnte
      aber vielleicht eine lange Zuleitung zwischen gnd-Oszi und source der fets, durch die der Strom fließt? Der Schnörksel im high und im low ist von der Form doch sehr ähnlich.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Ich bin zwar verwirrt, aber nicht ratlos. Probier doch mal folgendes: Dein Oszi hat doch sicher auch die 'add' Funktion, wo du die Summe der beiden Kanäle als eine Kurve darstellen kannst. Wenn du einen der Kanäle negierst, dann wird als Kurve die Differenz gezeigt. Das wäre die Funktion vom Komparator des tinys. Also ein Kanal direkt an die Mittelanzapfung der Spulen, den anderen an ein Ende einer Spule und auf invertieren schalten. gnd an tiny-gnd, triggern mit colp.
      Was müsste man sehen:Die Ausschaltinduktion als starken negativen Ausschlag, der schwächt sich ab, dann einen Nulldurchgang! und 1ms leichten Ausschlag ins positive. Wenn die Spule Strom bekommt, dann gibt es wieder einen Ausschlag ins Positive, gefolgt dann von der Ausschaltinduktion.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Raum für Notizen

      WOW, da muss ich mich erst mal in die Bedienungsanleitung reinlesen.
      -----------------------------------------------------------------------------------------------------
      Ist bestimmt irgendwo bei "Math".. da wo auch die FFT drin ist
      -----------------------------------------------------------------------------------------------------
    • Bastlbeda schrieb:

      Raum für Notizen

      WOW, da muss ich mich erst mal in die Bedienungsanleitung reinlesen.
      -----------------------------------------------------------------------------------------------------
      Ist bestimmt irgendwo bei "Math".. da wo auch die FFT drin ist
      -----------------------------------------------------------------------------------------------------
      Ne, ist ein Knöpfchen, garnix kompliziertes. Das konnten schon alle 2-Kanalteile, auch die mit den glühenden Birnchen innen drin.

      Ah, hab' grad das Bild von deinem Oszi angesehen, ist doch tiefer versteckt <X
      Raum für Notizen

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

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