Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • sepp62
    Member
    • 26.06.2011
    • 381
    • Bernd

    #91
    AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

    Von der ganzen diskreten N-Kanal-Mosfet-Geschichte komme ich mehr und mehr ab. Das einzig Gute ist, dass die Teile billig sind.

    Aber die Low-Side-Schalterei (überall volle Batteriespannung im Modell), die fehlende "Fehlertoleranz", gepaart mit großem Bestückunsaufwand sind nicht der Weisheit letzter Schluss.

    Deshalb habe ich mal nach Hi-Side-Switches geschaut. Dabei bin auch auf den ITS716G von Infineon gestoßen. Eckdaten:

    - Schaltet "Hi Side", d.h. man hat im ausgeschalteten Zustand keine Versorgungsspannung am Verbraucher
    - 4-fach im 20 pol. SMD Gehäuse
    - 2.6 Ampere pro Kanal
    - Spannungsbereich 5,5 bis 40 Volt
    - Kann bei Bedarf parallel geschaltet werden (max. 5 A pro Baustein)
    - Schutzschaltung bei ßberlast
    - Preis rund 3,50€ pro Stück

    Hier das Datenblatt:

    http://docs-europe.electrocomponents...6b810743ac.pdf

    2 Stück davon unter den Arduino geschnallt, ergeben max. 8 Kanäle. Schnell genug für unsere PWM sollte er auch sein.

    Schlecht ist, dass man die Dinger nicht an jeder Ecke bekommt.

    Hat jemand schon Erfahrung mit so etwas ?

    Kommentar

    • Kyrill
      Kyrill

      #92
      AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

      Ich lerne von Dir, daher keine Erfahrungswerte...

      Kommentar

      • athome
        sudar.ch
        Onlineshop
        • 15.04.2009
        • 802
        • Lukacs
        • Aargau (Schweiz)

        #93
        AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

        Mit den Mosfets mach ich mir keine Gedanken. Als Hukepack verbaut sehe ich keine große Gefahr.
        Von den ITS Teilen hab ich noch nie gehört.
        Aber sicher ein noch besserer / optimieren Ansatz
        Gruss Lukacs
        Homepage:
        http://www.sudar.ch und http://www.turbinenheli.ch

        Kommentar

        • sepp62
          Member
          • 26.06.2011
          • 381
          • Bernd

          #94
          AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

          Ich habe heute mal ein paar Teile bestellt und probier' das ganze Mal aus. Sobald es Resultate gibt, melde ich mich wieder.

          Kommentar

          • Kyrill
            Kyrill

            #95
            AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

            So, gestern bin ich dazu gekommen, den Leistungsteil der 10-Kanal-Version mal zu testen. Funktionieren tut alles. Allerdings ist mir beim programmieren der Ausgänge aufgefallen, dass es nicht ruckelfrei möglich ist 2 Kanäle mit "beacon" (auf und abschwellen über 2 Rampen) ohne ruckeln zu programmieren. Nutze ich statt dessen auf einem der beiden Kanäle den Pattern "fader" , der ja auch über 2 "ramp" Funktionen führt, geht sowohl das "beacon" als auch der "fader" schön weich und ruckelfrei. Woran liegt das? Zwei mal "fader"ruckelt auch wieder. Zwei unterschiedliche, aber genauso "anspruchsvolle" Pattern ruckeln nicht. Komisch. Weist du einen Rat Bernd?
            Alle anderen Kanäle waren zu dem Zeitpunkt mit Blitz- oder Doppelblitz- sowie Dauerlicht-Funktionen belegt und liefen ohne Probleme.

            Kommentar

            • sepp62
              Member
              • 26.06.2011
              • 381
              • Bernd

              #96
              AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

              Kannst Du bitte 2 Beispiele "geht"/"geht nicht" anhängen ? Dann schaue ich es mir mal an.

              Kann ohne Weiteres ein Fehler irgendwo drin sein.

              Kommentar

              • Kyrill
                Kyrill

                #97
                AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                Im Anhang die funktionierende Datei.

                Wenn du bei den jeweils vorhandenen beiden mit BEACON_TOP und BEACON_BOT bezeichneten Zeilen bei beiden ( beacon ) in die Klammer setzt, wird es hakelig, genauso wenn in beiden Zeilen ( fader ) eingesetzt ist. Ist es gemischt wie im jetzigen Programm hakelt nichts.
                Angehängte Dateien

                Kommentar

                • sepp62
                  Member
                  • 26.06.2011
                  • 381
                  • Bernd

                  #98
                  AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                  OK, ich kann das reproduzieren.

                  Man kann die Kanäle auf 2 reduzieren und es tritt immer noch auf. Scheint so, als ob zwei gleiche Sequenzen auf 2 Pins in bestimmten Fällen ßrger machen.

                  Ich werde den Fehler suchen.

                  Kommentar

                  • sepp62
                    Member
                    • 26.06.2011
                    • 381
                    • Bernd

                    #99
                    AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                    Die Erinnerung kehrt zurück !

                    Das SEQUENCE-Makro legt ein Array im Speicher an, das sowohl die statischen Konfigurationsdaten, als auch die "Arbeitsdaten" enthält. Arbeitsdaten beschreiben den augenblicklichen Zustand der Sequenz über die Zeit. Normalerweise trennt man statische Konfiguration und Arbeitsdaten, der Einfachheit halber und für bessere ßbersicht im Code habe ich mir das gespart. Wird nun das gleiche Array (=der gleiche Speicher) von mehreren Pins gleichzeitig verwendet, überschreiben sich die Arbeitsdaten gegenseitig.

                    Daher existiert für die aktuelle Version der Library folgende Regel (das gehört klar in die Doku):

                    Ein Sequenzname darf niemals für zwei verschiedene Pins in einem Pattern verwendet werden. Soll die gleiche Sequenz für mehrere Pins verwendet werden, muss eine Kopie dafür angelegt werden.

                    Beispiel-Code:

                    #include <UniPWMControl.h>
                    #include <UniPWMMacros.h>

                    SEQUENCE( beacon ) = { RAMP(0,45,20), RAMP(46,200,20), RAMP(200,45,20), RAMP(44,0,20), PAUSE(20) };
                    SEQUENCE( beacon2 ) = { RAMP(0,45,20), RAMP(46,200,20), RAMP(200,45,20), RAMP(44,0,20), PAUSE(20) };

                    UniPWMControl ctrl;

                    void setup()
                    {
                    ctrl.Init( 10 ); // max 10 output channels
                    ctrl.AddSequence( 0, 8, ARRAY( beacon ) );
                    ctrl.AddSequence( 0, 11, ARRAY( beacon2 ) );
                    ctrl.ActivatePattern( 0 );
                    }

                    void loop()
                    {
                    ctrl.DoLoop();
                    delay( 500 );
                    }

                    Kommentar

                    • Kyrill
                      Kyrill

                      #100
                      AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                      Danke. Ich probiere bei Gelegenheit mal aus.

                      Kommentar

                      • Kyrill
                        Kyrill

                        #101
                        AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                        Das vorerst letzte, diskret mit SMD aufgebaute, Modul ist fertig aber noch ungetestet. Habe zunächst mal ein paar Untersuchungen mit der USB Lupe nach kalten oder schlechten Lötstellen und Kurzschlüssen gemacht. Das Ergebnis der "Braterei" findet ihr in den Bildern. entstanden ist dabei eine 9 Kanal Version die als Shield unter den Nano paßt und nur unwesentlich breiter ist. Seitlich habe ich je eine Reihe zugegeben für den Widerstand des Spannungsteilers und Anschlüsse. Wenn man die noch innen reinquetscht, könnte man diese Reihen auch noch einsparen.
                        Angehängte Dateien

                        Kommentar

                        • Kyrill
                          Kyrill

                          #102
                          AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                          Nochmals vielen Dank Bernd! Ich denke ich habe mein Optimum erreicht. Kleiner geht nicht ohne das ßtzbad anzuwerfen und eine Platine zu entwerfen. Für mich reicht es so. Mit ein wenig ßbung gelingen auch die SMD Mosfets auf Rasterplatine. Die letzte Platine funktioniert auch.

                          Kommentar

                          • sepp62
                            Member
                            • 26.06.2011
                            • 381
                            • Bernd

                            #103

                            Kommentar

                            • Kyrill
                              Kyrill

                              #104
                              AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                              Allerdings ohne die von dir berechtigt geforderten Optokoppler zur Trennung der Stromkreise zum Empfänger.

                              Kommentar

                              • Kyrill
                                Kyrill

                                #105
                                AW: Beleuchtungsmodul auf Arduino-Nano-Basis (Open-Source)

                                Ein französisch sprechender Mensch hat folgendes Problem beim kompilieren der Software meiner Lipokiste:

                                UniPWM_Sample5_lk_mon.cpp.o: In function `UniPWMRamp':
                                /UniPWM.h:96: undefined reference to `vtable for UniPWMRamp'
                                /UniPWM.h:96: undefined reference to `vtable for UniPWMRamp'
                                UniPWM_Sample5_lk_mon.cpp.o: In function `loop':
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:64: undefined reference to `UniPWMControl:oLoop(unsigned int)'
                                UniPWM_Sample5_lk_mon.cpp.o: In function `setup':
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:35: undefined reference to `UniPWMControl::Init(int)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:36: undefined reference to `UniPWMControl::SetLowBatt(int, int, int)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:37: undefined reference to `UniPWMControl::SetInpChannelPin(int, UniPWMInpChannel::enInpType)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:41: undefined reference to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:42: undefined reference to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:46: undefined reference to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:47: undefined reference to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:51: undefined reference to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)'
                                UniPWM_Sample5_lk_mon.cpp.o:C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:52: more undefined references to `UniPWMControl::AddSequence(int, int, UniPWMPhase**, int, UniPWMChannel::enPwmType)' follow
                                UniPWM_Sample5_lk_mon.cpp.o: In function `setup':
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:54: undefined reference to `UniPWMControl::AddInputSwitchPos(int, int, int)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:55: undefined reference to `UniPWMControl::AddInputSwitchPos(int, int, int)'
                                C:\tmp\Arduino Compilateur\arduino-1.0.6/UniPWM_Sample5_lk_mon.ino:58: undefined reference to `UniPWMControl::ActivatePattern(int)'

                                Ich vermute da ist eine .h Datei nicht eingebunden, aber welche? Er will die Datei meiner Lipokiste kompilieren die bei mir einwandfrei läuft. An deinen .h Dateien ist nichts verändert worden.
                                Zuletzt geändert von Gast; 18.02.2015, 07:16.

                                Kommentar

                                Lädt...
                                X