'Slowmotion frames' und deren Umsetzung

    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!

    • Kalle_BMW schrieb:

      Hallo tschoeatsch


      du deklarierst :

      BASCOM-Quellcode

      1. Pot_frequenz Alias Pinc.0 'Poti Blitzfrequenz
      2. Config Pot_frequenz = Input
      3. Pot_amplitude Alias Pinc.1 'Poti Amplitude
      4. Config Pot_amplitude = Input

      benutzt diese aber nicht im Programm. Oder sehe ich das falsch?
      Hast Recht. Weiß jetzt nicht, wo das her kommt oder übrig geblieben ist. Hau's wech!
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • hero schrieb:

      @Ulrich Zeige doch mal dein Programm, wie du es jetzt benutzt. In dem anderen Thread sind mehrere enthalten, sodass nicht klar ist, welches aktuell ist.
      Vielleicht auch noch die Version, bei der die Blitze auftreten.
      Hallo hero,

      erstmal einen ganz herzlichen Dank für deinen Aufwand, mich bei der Suche nach einer Ursache für die Blitz-Effekte zu unterstützen.

      Zur Erinnerung: die Blitz_Effekte kamen zustande, weil sich mit Änderung der LED-Frequenz (z.B. beim breakdance) willkürliche Schwankungen in der LED-Impulsbreite einstellten: mal doppelt, mal nur halb so groß, oder auch Werte dazwischen; also andere Werte als laut nomineller Vorgabe, und diese Schwankungen in einer Schwebung über mehrere LED-Frequenz Perioden. Es gab auch Schwebungsbereiche in denen keine Blitz-Effekte auftraten, d.h. die Impulsbreite bleib über kurze Abschnitte konstant. Somit war für mich klar, dass eine Asynchronität zwischen der von Timer1 generierten LED-Frequenz/Impulsbreite einerseits und dem zufälligen Beschreiben der Timer1 Register andererseits vorlag.

      Durch die Synchronisation (Zeile 356 und 357) = Abfrage der LED-Impulsendeflanke, unmittelbar vor dem Beschreiben der Timer1 Register, blieb die LED-Impulsbreite nun konstant. Meine Vermutung zuvor war, dass die Einstellung der Schwelle (OCR1A) nicht "at Bottom" geschieht. Zur Info: mit WGM8 verwende ich den ICRA-Wert um den Wert bei "Top" einzustellen. (auskommentieren von Zeile 356 und 357 bewirkt wieder die Schwankungen in der Impulsbreite.)

      Das V2.bas in einem anderen Thread ist Geschichte, aber weiterhin funktionsfähig, wenn lediglich die LED-Frequenz und LED-Impulsbreite variiert werden sollen. Magnetfrequenz wird über Constante definiert

      Im Anhang befindet sich mein aktuelles Programm (V8), welches ich nun auch auf 4 Potis (Gruß an Tschoeatsch) und weitere Schalter umgerüstet habe.
      Das Programm ist auf "breakdance" eingestellt, (Zeile 304-311), da die externen Auswahl-Schalter/Potis erst später angeschlossen werden, und auch alle Printausgabe sind auskommentiert.
      Dateien
    • Ich hab' jetzt alles neu gelernte umgesetzt und den letzten timer jetzt für Zeitabläufe eingesetzt. Der breakdance hat jetzt eine zufällig lange Bewegungsphase und eine zufällig lange Verweilphase.
      Jetzt fällt mir nix mehr ein und ich werde mich auf das Gehäuse konzentrieren.
      Der aktuelle code

      BASCOM-Quellcode

      1. 'timer2 wird als Zeitbasis verwendet
      2. 'breakdance jetzt mit zufällig langer Bewegungs- und zufällig langer Verweildauer
      3. 'fast PWM für die Ansteuerung des Magneten und der Leds
      4. $regfile = "m168pdef.dat"
      5. $crystal = 16000000
      6. $hwstack = 34
      7. $swstack = 32
      8. $framesize = 64
      9. Led Alias Portb.2 'OC1B-Ausgang
      10. Config Led = Output
      11. Magnet Alias Portd.5 'OC0B-Ausgang
      12. Config Magnet = Output 'Pwm-Ausgang
      13. Config Adc = Single , Prescaler = Auto , Reference = Avcc
      14. Ende_magnet Alias Compare0b
      15. Magnet_frequenz Alias Compare0a
      16. Ende_blitz Alias Compare1b
      17. Blitz_frequenz Alias Compare1a
      18. Config Timer0 = Pwm , Prescale = 1024 , Compare_b_pwm = Clear_up
      19. Tccr0a.1 = 1 : Tccr0b.3 = 1 'mode 7, 8bit fast PWM compare0a=top-Wert
      20. Config Timer1 = Pwm , Pwm = 10 , Prescale = 8 , Compare_b_pwm = Clear_up
      21. Tccr1b.3 = 1 : Tccr1b.4 = 1 'mode 15, 16bit fast PWM compare1a=top-Wert
      22. Config Timer2 = Timer , Prescale = 1024
      23. On Ovf2 Timer2_isr:
      24. Enable Ovf2
      25. Enable Interrupts
      26. Dim Blitz_frequenz_start As Word
      27. Blitz_frequenz_start = 32768 + 1500
      28. Dim Magnet_frequenz_start As Byte
      29. Magnet_frequenz_start = 255
      30. Dim Freq As Word , Frequenz_l As Word , Frequenz_m As Byte 'Grundfrequenz
      31. Dim Led_frequenz As Word 'feineinstellung Led-Frequenz
      32. Dim Amplitude As Word , Amp As Dword 'ED-Magnet
      33. Dim Helligkeit As Word , Hell As Dword 'ED-Led
      34. Dim Versatz_ist As Word , Versatz_soll As Word , Zufall As Word
      35. Dim Versatz_ist_ As Word
      36. Dim Zeit As Byte , Zeit1 As Byte
      37. Dim Countdown As Byte
      38. Versatz_ist = 100
      39. Versatz_soll = 100
      40. Do
      41. Zufall = Rnd(150)
      42. Freq = Getadc(0) 'Grundfrequenz einstellung lesen
      43. Freq = Freq / 10 'Wertebereich 0..102
      44. Frequenz_m = Freq
      45. Frequenz_l = Freq * 128
      46. Magnet_frequenz = Magnet_frequenz_start - Frequenz_m 'compare-Wert neu festsetzen
      47. Led_frequenz = Getadc(1) 'Schwebungsfrequenz
      48. Select Case Led_frequenz
      49. Case Is < 20 : Gosub Breakdance
      50. Case 21 To 40 : Gosub Schwebung_slow 'zufällige Änderungen
      51. Case 41 To 1003 : Gosub Schwebung_manuell
      52. Case Is > 1003 : Gosub Schwebung_fast 'zufällige Änderungen
      53. End Select
      54. Amplitude = Getadc(2) 'Stärke derSchwingung
      55. Amplitude = Amplitude / 20 'Wertebereich 0..51
      56. Amp = Magnet_frequenz
      57. Amp = Amp * Amplitude
      58. Amp = Amp / 100
      59. If Amp < 10 Then Amp = 10
      60. Ende_magnet = Amp 'compare-Wert neu festsetzen
      61. Helligkeit = Getadc(3) 'Helligkeit
      62. Helligkeit = Helligkeit / 20 'Wertebereich 0..51
      63. Hell = Blitz_frequenz
      64. Hell = Hell * Helligkeit
      65. Hell = Hell / 1000
      66. If Hell < 100 Then Hell = 100
      67. Blitz_frequenz = Blitz_frequenz_start - Frequenz_l 'compare-Wert neu festsetzen
      68. Ende_blitz = Hell 'compare-Wert neu festsetzen
      69. If Helligkeit < 10 Then 'Ausschalten
      70. Reset Tccr0a.com0b1 '0C0B abschalten
      71. Magnet = 0
      72. Reset Tccr1a.com1b1 '0C1B abschalten
      73. Led = 0
      74. Else
      75. Set Tccr0a.com0b1 '0C0B einschalten
      76. Set Tccr1a.com1b1 '0C1B einschalten
      77. End If
      78. Loop
      79. End
      80. Breakdance:
      81. If Countdown <= Zeit1 Then
      82. Frequenz_l = Frequenz_l + Versatz_ist_ 'innerhalb Zeit1 bewegt sich das Objekt in zufälliger Geschwindigkeit
      83. If Countdown = 0 Then 'hier wird die zufällige Geschwindigkeit gewürfelt und Zeit
      84. Zeit1 = Rnd(10) : Incr Zeit1
      85. Zeit = Rnd(20) : Zeit = Zeit + Zeit1 'Zeit gibt die Verweildauer nach der Bewegung vor
      86. Countdown = Zeit
      87. Versatz_ist_ = Zufall * 20
      88. End If
      89. Else
      90. Frequenz_l = Frequenz_l + 1500 'hier sind Blitz und Magnet auf gleicher Frequenz
      91. End If
      92. Return
      93. Schwebung_manuell: 'die Schwebung (sichtbare langsame Bewegung des Objekts) wird mit dem Poti eingestellt
      94. Led_frequenz = Led_frequenz * 3
      95. Frequenz_l = Frequenz_l + Led_frequenz
      96. Return
      97. Schwebung_slow:
      98. If Countdown = 0 Then
      99. Countdown = 7 'ca. 0,11 Sekunden
      100. If Versatz_ist = Versatz_soll Then Versatz_soll = Zufall 'die Schwebung verändert sich zufällig
      101. If Versatz_ist < Versatz_soll Then Incr Versatz_ist
      102. If Versatz_ist > Versatz_soll Then Decr Versatz_ist
      103. Versatz_ist_ = Versatz_ist * 20 'Versatz_ist_ soll einen Wert 0..3000 annehmen
      104. End If
      105. Frequenz_l = Frequenz_l + Versatz_ist_
      106. Return
      107. Schwebung_fast:
      108. If Countdown = 0 Then
      109. Countdown = 4 'ca. 0,066 Sekunden
      110. If Versatz_ist = Versatz_soll Then Versatz_soll = Zufall 'die Schwebung verändert sich zufällig
      111. If Versatz_ist < Versatz_soll Then Incr Versatz_ist
      112. If Versatz_ist > Versatz_soll Then Decr Versatz_ist
      113. Versatz_ist_ = Versatz_ist * 20
      114. End If
      115. Frequenz_l = Frequenz_l + Versatz_ist_
      116. Return
      117. Timer2_isr: 'alle 16,384mSec
      118. If Countdown > 0 Then Decr Countdown
      119. Return
      Alles anzeigen
      der Film zum code (Silberblatt ist ein schönes Objekt, leider sind die derzeitig zu findenden Exemplare bisschen zerhaut)
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Ulrich schrieb:

      Wahrscheinlich sind die Helligkeitsschwankungen im Video der Interferenz zwischen LED-Blitzfolge und Kameraaufnahme zu zuschreiben, oder sind sie auch real vorhanden?
      Es ist fast nix zu sehen, aber eben nur fast. In dem Moment, wo sich die Frequenz ändert, erkennt man eine ganz ganz leichte Änderung. So ein flackern, wie im Film ist es bei weitem nicht, das ist sicher eine Interferenz.

      Und die sporadischen Blitze treten nicht mehr auf, das ist jetzt mit dieser Art von PWM deutlich besser.
      Übrigens, Ulrich, danke auch für deine Initialisierung durch deine PWM-Programmierung. Ohne dem hätte ich kein Geschenk :thumbsup:
      Ah, Hero möchte ich natürlich auch danken! Wenn der mich nicht weiter geschoben hätte, wäre ich zwar schon früher fertig gewesen, aber nicht so schön.
      Raum für Notizen

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

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

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

    • Doch, eins ist mir jetzt noch eingefallen, eine Temperaturüberwachung des E-Magneten. Wenn man voll aufdreht, wird der ganz schön heiß. Was darf der vertragen? 60°, wenn man mit einem Fühler von außen misst?
      Raum für Notizen

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

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

      Was darf der vertragen? 60°, wenn man mit einem Fühler von außen misst?
      Das hängt vom Kupferlackdraht ab, wenn der Lack weich wird und der Draht sich dehnt, kann es zu Kurzschlüssen kommen.
      Die erhöhen die Verluste, was zu einer weiteren Erwärmung führt, vielleicht ist das bei dir ja schon eingetreten.
      60° ist aber schon grenzwertig, es gibt dafür extra Temperatur-Schmelzsicherungen, die manchmal in Trafos eingewickelt werden.
      Möglicherweise überfährst du auch deinen Elektromagneten.
      Die Induktivität sollte nicht zu lange in der Sättigung sein, da wird nämlich nur Wärme statt Bewegung erzeugt.
    • Michael schrieb:

      Möglicherweise überfährst du auch deinen Elektromagneten.
      Die Induktion sollte nicht zu lange in der Sättigung sein, da wird nämlich nur Wärme statt Bewegung erzeugt.
      a_56_df238249 keine Ahnung, ob da was falsch ausgelegt ist. Ich hab' nicht das Wissen, noch spezielle Werkstoffe. Meine Spule ist aus einem Zugmagnet für Geldrückgabe, der von mir verwendete Kern ist ein Eisenklotz, genaueres weiß ich nicht.
      Ok, 60° ist schon viel. Bei den Versuchen konnte ich den Magneten immer anfassen. Ich hab's länger ausgehalten, das schätze ich so auf <50°. Vielleicht sollte ich einfach die Schwelle auf 50°setzen und bei 60° hab' ich dann nur noch halbe ED, 70° nur noch ein zehntel der eingestellte ED.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Danke für die Blumen. Als ich dein letztes Slomo-Video auf youtube angesehen habe, fand ich eine ganze Menge anderer Videos/Projekte von dir. Das ist ja der helle Wahnsinn, was du so alles schon gestaltet hast. Bietet genug Stoff für weitere Anregungen.

      Bzgl. Temperaturüberwachung: Welche max. ED's kannst du einstellen? Hab es bei mir auf max. 20% limitiert und arbeite aktuell mit weniger, so ca. 10%. Dabei wird die Magnetspule nicht mehr als handwarm. Allerdings steigt die Temperatur bei 20% ED deutlich an.
      Auch stelle ich bei gößeren EDs als 12% fest, dass Objekte/Blumen schon anfangen zu vibrieren, also nicht mehr synchron zur Blitzbelichtung erscheinen, was ich darauf zurückführe, dass durch die länger einwirkende Magnetkraft die Schwingfahne nicht mehr so frei schwingen kann und deshalb auch andere Frequenzen generiert.

      Habe bei 20% ED noch keinen längeren Test gefahren, um zu sehen wie heiß es wird. Sollte es jedoch in fremde Hände (Geschenk) kommen, wäre es wohl nicht verkehrt, eine einfache Temperaturüberwachung/Abschaltung vorzusehen, nicht dass es eine neuartige Weihnachtskerze mit breakdance-Beleuchtung wird ;) .
    • Bzgl. Sättigung des Magneten: Du kannst sehr einfach überprüfen, wie nah du der Sättigung schon gekommen bist. Löte einen 0,1Ohm Widerstand in Reihe mit der Spule und oszillografiere den Spannungsabfall über diesem Widerstand. Solange der Spannungsabfallkurve noch linear verläuft, d.h. sägezahnförmig ansteigt, ist die Sättigung noch entfernt. Aus der Kurve kannst du auch den Spitzenstrom ersehen.

      Sollte die Kurve beginnen weniger steil zu verlaufen, ist die Sättigung nah.

      Zur Info: Meine Spule hat 3,8 Ohm und ich arbeite mit 15Volt
    • tschoeatsch schrieb:

      genaueres weiß ich nicht.
      Schau mal hier rein, das beschreibt die Sättigung und wie man sie feststellt:
      staff.ltam.lu/feljc/electronics/messtechnik/messung_ferritspulen.pdf

      tschoeatsch schrieb:

      Vielleicht sollte ich einfach die Schwelle auf 50°setzen und bei 60° hab' ich dann nur noch halbe ED, 70° nur noch ein zehntel der eingestellte ED.
      Ich würde zu einer H-Brücke tendieren, um den E-Magneten auch entladen zu können oder vielleicht reicht auch eine zusätzliche Z-Diode im Spulenkreis, um den Strom schneller zum erliegen zu bekommen:
      mikrocontroller.net/articles/Relais_mit_Logik_ansteuern
      Ich kann mir ehrlich gesagt, kaum vorstellen, dass man für die Zitterei so viel Energie braucht, dass der E-Magnet warm wird.
    • Ulrich schrieb:

      Welche max. ED's kannst du einstellen?
      Hm, bei mir geht's bis 50% a_59_ac03eae5 Ist schon bisschen heftig für einen Magneten, der zwar im Originaleinbau auch mit 12V betrieben wurde, aber nur stoßweise. Ich werde das mal reduzieren.

      Ulrich schrieb:

      Auch stelle ich bei gößeren EDs als 12% fest, dass Objekte/Blumen schon anfangen zu vibrieren
      stimmt, da kann man aber mit der Frequenz noch bisschen spielen und das störende Vibrieren minimieren. Ist halt nicht alles geeignet. (Ich hatte mal eine welke Blüte von unserm Hibiskus dran. War nicht schlecht, das Beste war aber die Blattlaus, die auch drauf sass. War toll zu beobachten, wie deren Beine die Bewegung irgendwie ausgeglichen haben. Leider konnte ich's nicht filmen, ist vorher abgesprungen)
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • @tschoeatsch
      Vielleicht hat du noch irgendwo 'nen "alten" Trafo oder ähnliches rumfliegen.
      Dein verwendeter Bolzen ist ja magnetisch "Weicheisen".
      Besser wäre geschichtetes Material (MU). Dadurch lassen sich Wirbelströme
      und Sättigung besser in den Griff bekommen.

      Kannst ja mal drüber nachdenken. (Kronkorken einnorden nicht vergessen a_504_f630bbf2 )
      Detlef
      Leichtsinn ist kein Mut, Vorsicht keine Feigheit.
    • Dekaman schrieb:

      Kannst ja mal drüber nachdenken.
      Hab' ich schon, aber das Problem ist die Form. Meine Spule ist für einen runden Kern. Jetzt könnt' ich anfangen, die Bleche in der Breite zurecht zu schnippeln und da rein zu schichten. Bleibt das Problem mit dem Befestigen, Festkleben vielleicht. Am End' rasselt dann noch alles... Es gab' ein Buch (Heinz Richter?) in dem wurde der Bau eines Hochspannungszerhackers beschrieben, die haben da Blumenbindedraht lackiert und gebündelt. Sowas will ich mir jetzt nicht antun.
      Nebenbei gesagt ist das Holz für das Gehäuse ausgesuchte, unheimlich lange gelagerte Ware, das in Verbindung mit der Oberflächenölung zu einer sofortigen Symmetrierung der Wohnraumenergie führt. Nach wenigen Tagen wird man feststellen, dass mit Einbringen des Geräts in den Wohnraum plötzlich aufgetretene Gerüche langsam verschwinden.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Ulrich schrieb:

      Zur Info: Meine Spule hat 3,8 Ohm und ich arbeite mit 15Volt
      meine hat 5 Ohm, 11V liegen an der Spule an.
      Bezüglich des ED-Vergleichs, kennst du spinal tap?
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Sicherlich hast du schon genug Informationen erhalten/gesammelt, aber ich packe noch welche drauf. :D Nur zur Information: Habe gerade mal ein paar Bilder meiner Spulenströme gemacht und angehängt.

      Im Bild ....-10ED Quickview.jpg sieht man alle Tastverhältnisse
      Im Bild ....-20 ED 1-2A.jpg sieht man den Stromverlauf bei 20% ED, in der Spitze 1,2Amp
      Im Bild -----10 ED 750mA.jpg 10% ED und 750mA

      Alle Bilder über 0,1Ohm in Reihe mit der Spule. Die Polarität ist dabei unwichtig, hängt vom Anschluß der Oskar-Probe ab.

      Sorry habe mich beim Bild mit 750mA vertan, es sind nur 520mA
      Dateien
    • Habe die Einschaltdauer auf über 50% erhöht. Im Bild (diesmal mit der besser verständlichen Polarität), sieht man schon die Begrenzung des Sägezahn-Anstiegs, hervorgerufen durch das begrenzende Netzteil, welches den Strom nicht liefern kann. In der Spitze sind es 3,48Amp. Aber da rappelt alles bei mir im "Karton"; den Lärm kann man keinem zumuten.

      Ein Sättigungseffekt ist hier noch nicht zu erkennen.

      Weißt du, welcher Drahtquerschnitt in deiner Spule vorliegt?
      Dateien