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

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

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

    Wenn es der gleiche Quellcode ist, wie bei Dir, vermute ich dass die Library nicht korrekt importiert wurde. Nur wenn diese im richtigen Verzeichnisbaum steht, kann der Compiler die Referenzen auflösen.

    Hier steht, wie es geht:

    http://arduino.cc/en/pmwiki.php?n=Guide/Libraries
    Grü�e
    Bernd

    Kommentar

    • Kyrill
      Kyrill

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

      Braucht es bei der Weitergabe der Software an einen anderen User irgendwelche .cpp Dateien im Programmpaket? Ich nutze die nicht (jedenfalls nicht das ich wüsste)...

      Kommentar

      • sepp62
        Member
        • 26.06.2011
        • 395
        • Bernd

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

        Klar, die sind im Zip-Archiv enthalten. Die .cpp-Dateien enthalten den "eigentlichen" Code, die .h-Dateien enthalten nur Deklarationen und ein paar Makros.

        Beim Importieren der Library finden alle Dateien ihren richtigen Platz. Die .h-Dateien sollten auch nicht in das Verzeichnis des Sketches (.ino-Datei )kopiert werden.
        Grü�e
        Bernd

        Kommentar

        • Kyrill
          Kyrill

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

          Irgendwie verstehe ich den ZUsammenhang nicht und brauche mal eine tiefgreifendere Erklärung wenn es deine Zeit erübrigt Bernd.

          In dem allerersten Programmpaket der UniPWM , dass ich von deiner Datenbasis bei sourge... heruntergeladen habe, waren die .cpp Dateien dabei. Diese erste Version ist längst gelöscht und ich benutze nun ja die beta Version 1.0.3 deiner library mit den Möglichkeiten die DoLoop() Klammer zu füllen. Für diese Version 1.0.3 habe ich aber nie diese .cpp Dateien gesehen und es funktioniert trotzdem indem ich nur die .h Datei ausgetauscht habe.
          Sind deine ßnderungen zur Version 1.0.2 und deren .cpp Dateien nur in den .h Dateien erfolgt und kann man dann die .cpp der Ursprungsversion 1.0.2 auch ungeändert zur Version 1.0.3 packen? Oder ist eine inhaltliche ßnderung dieser Dateien erforderlich?
          Ich steh auf dem Schlauch, dafür kenne ich mich zu wenig aus mit der Materie.
          Es würde mich auch interessieren welcher Programmteil die .cpp aufruft und wie sie überhaupt entstehen ()händisch oder werden die automatisch durch ein Programm erzeugt?

          Sorry aber ich dachte ich hätte langsam den Durchblick und jetzt fehlt es mir an den Grundlagen der Programmiertechnik...
          Zuletzt geändert von Gast; 19.02.2015, 07:12.

          Kommentar

          • sepp62
            Member
            • 26.06.2011
            • 395
            • Bernd

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

            Es gab für 1.03 schon ßnderungen in der Datei UniPWMControl.cpp.

            Wenn Du die DoLoop-Funktion nicht selbst implementiert hast, kann ich es mir auch nicht erklären, warum bei Dir auch alles ohne die UniPWMControl.cpp-Datei geht.

            Generell bist Du auf der sicheren Seite, wenn Du die .H-Dateien nur im Library-Verzeichnis hast, wo auch die passenden CPP-Dateien stehen.
            Grü�e
            Bernd

            Kommentar

            • Kyrill
              Kyrill

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

              Kannst du mir die passenden .cpp für die 1.0.3 noch einmal hier einstellen? Die kenne ich noch gar nicht. Danke.

              Kommentar

              • sepp62
                Member
                • 26.06.2011
                • 395
                • Bernd

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

                Ist doch in Post #54 alles dabei ?
                Grü�e
                Bernd

                Kommentar

                • Kyrill
                  Kyrill

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

                  Sorry ist mir durchgegangen das die dabei waren. Danke trotzdem.

                  Kommentar

                  • sepp62
                    Member
                    • 26.06.2011
                    • 395
                    • Bernd

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

                    Nun gibt es die ersten Infos zur neuen Platine:

                    - 10 PWM Ausgänge
                    - 8 davon sind Leistungsausgänge mit theoret. 3A pro Ausgang (Summe theoret. 14 A)
                    - 2 davon mit 30mA
                    - 1 Servoausgang
                    - 1 Empfängereingang, optogekoppelt
                    - Low-side geschaltet mit Kurzschluss- und Temperaturüberwachung
                    - SMD, kompakt, einfach zu löten
                    - ßberwachung der Versorgungsspannung

                    Alles noch ungetestet

                    Hier die Schaltung und ein paar Bilder:
                    Angehängte Dateien
                    Grü�e
                    Bernd

                    Kommentar

                    • Kyrill
                      Kyrill

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

                      Saubere Arbeit Bernd!

                      Kommentar

                      • Kyrill
                        Kyrill

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

                        Bernd kannst du ein paar erklärende Worte zur Kurzschluss und Temperaturüberwachung verlieren? Was wird Temperatur überwacht und die Ausgänge werden gegen Kurzschluss gesichert? Softwareänderung notwendig? Schaltet ein Kurzschluss alles ab oder nur den betroffenen Ausgang? Sind das Funktionen die hardwareseitig in den neuen IC's implementiert sind?

                        Kommentar

                        • sepp62
                          Member
                          • 26.06.2011
                          • 395
                          • Bernd

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

                          Das sind alles Funktionen des BTS724G ICs. Die sind von Infineon für Schaltanwendungen im Automative-Bereich entwickelt worden. Es gibt auch einige "Derivate", die alternativ verwendet werden können (z.B. ITS716 oder ITS 711).

                          Hier ist der Link auf das Datenblatt (Nutzungsbedingungen müssen links oben noch bestätigt werden):



                          Die Bausteine sind nicht gerade billig (ca. 5 Euro) und ich habe die Schutzfunktionen auch noch nicht getestet. Ich vermute, dass die Schutzschaltungen immer auf den "halben" Baustein wirken (also auf 2 der 4 Ausgänge). Die Software bekommt davon nichts mit, muss also nicht geändert werden. Man könnte die Statusausgänge des ICs durch das Programm auswerten und bei Fehler irgendetwas tun. Habe ich mir aber gespart, weil mir nichts Sinnvolles für diesen Fall einfällt.

                          Der RDSon (Einschaltwiderstand) ist mit 90 Milliohm nicht so gut, wie ein einzelner N-Kanal-MOSFET, der als Hi-Side-Schalter betrieben wird. In der Praxis hat man bei hohen Strömen aber eher ein Problem mit der Temperatur der Vorwiderstände (die ich u.a. deshalb nicht auf die Platine gemacht habe).
                          Zuletzt geändert von sepp62; 01.03.2015, 11:15.
                          Grü�e
                          Bernd

                          Kommentar

                          • Kyrill
                            Kyrill

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

                            Wenn du Erfahrungen mit dem Bestücken der Platine hast dann bitte hier posten. SMD IC mit so vielen Pins hatte ich noch nicht. Müssen die vorab geklebt werden gegen verrutschen?

                            Kommentar

                            • sepp62
                              Member
                              • 26.06.2011
                              • 395
                              • Bernd

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

                              Ich halte die ICs mit einer Hand fest und "hefte" dann zwei Eckpins fest, indem ich etwas Zinn auf die Lötspitze hole und "abstreife". Nach einem Pin kann man kontrollieren, ob alles passt. Wenn nicht, ggf. wieder warm machen und korrigieren.

                              Wenn dann zwei Pins fest sind, geht der Rest ruckzuck:
                              Lötspitze von oben auf den Rand des Pins drücken, Zinn zuführen, warten bis es fliesst, fertig. Voraussetzung ist eine Spitze, die nicht zu breit ist und trotzdem genug Wärme zuführt. Und natürlich dünnes SMD-Lot.

                              Wenn zu viel Zinn zwischen die Pins fliesst: Zinn an den verbundenen Pins schmelzen (ggf. noch etwas sogar zuführen) und Platine so auf den Tisch hauen, dass das Zinn rausfliegt.

                              ICs machen wesentlich mehr Spaß beim Löten als Widerstände.
                              Grü�e
                              Bernd

                              Kommentar

                              • sepp62
                                Member
                                • 26.06.2011
                                • 395
                                • Bernd

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

                                Auf vielfachen Wunsch kann die Library nun auch mehrere RC Eingänge verarbeiten. Es gibt auch ein neues Beispiel, das zeigt, wie man z.B. einen "Nachbrenner"-LED-Ring über den Gaskanal ansteuern kann.

                                Die Logik ist der ßbersicht wegen sehr simpel gehalten, kann aber natürlich nach eigenen Wünschen perfektioniert werden.

                                Hier ein Ausschnitt (Rest findet sich in der Anlage):

                                [FONT="Courier New"][SIZE="2"]
                                void setup()
                                {
                                Serial.begin(9600);

                                ctrl.Init( 3, 2 ); // max 3 output channels, 2 input channels
                                ctrl.SetLowBatt( 220, PATTERN_OFF, A7 ); // 840 ~8.28 Volt, switch off value ~ 755 (3.7V) on Pin A7
                                ctrl.SetInpChannelPin( RECEIVER_INP ); // first input pin is default when DoLoop is called w/o parameters
                                ctrl.SetInpChannelPin( RECEIVER_THROTTLE );

                                // off
                                ctrl.AddSequence( PATTERN_OFF, PIN_TOP_STROBE, ARRAY( constOff ) );
                                ctrl.AddSequence( PATTERN_OFF, PIN_BOT_STROBE, ARRAY( constOff ) );
                                ctrl.AddSequence( PATTERN_OFF, PIN_AFTERBURNER, ARRAY( constOff ) );
                                // normal flight
                                ctrl.AddSequence( PATTERN_FLIGHT, PIN_TOP_STROBE, ARRAY( doubleFlash ) );
                                ctrl.AddSequence( PATTERN_FLIGHT, PIN_BOT_STROBE, ARRAY( singleFlash ) );
                                ctrl.AddSequence( PATTERN_FLIGHT, PIN_AFTERBURNER, ARRAY( constOff ) );
                                // afterburner and lights
                                ctrl.AddSequence( PATTERN_AFTERBURNER, PIN_TOP_STROBE, ARRAY( doubleFlash ) );
                                ctrl.AddSequence( PATTERN_AFTERBURNER, PIN_BOT_STROBE, ARRAY( singleFlash ) );
                                ctrl.AddSequence( PATTERN_AFTERBURNER, PIN_AFTERBURNER, ARRAY( constOn ) );

                                // assign 3 switch positions to corresponding patterns
                                ctrl.AddInputSwitchPos( 31, 39, PATTERN_FLIGHT );
                                ctrl.AddInputSwitchPos( 42, 50, PATTERN_OFF );
                                ctrl.AddInputSwitchPos( 100, 100, PATTERN_AFTERBURNER ); // pseudo switch position

                                ctrl.ActivatePattern( PATTERN_FLIGHT ); // activate normal flight mode
                                }


                                void loop()
                                {
                                uint16_t throttle = ctrl.GetInputChannelValue( RECEIVER_THROTTLE ); // throttle value
                                uint16_t lightsw = ctrl.GetInputChannelValue( RECEIVER_INP ); // light switch value

                                Serial.print( "Throttle: " );
                                Serial.println( throttle );

                                if( throttle < 30 )
                                lightsw = 100;

                                ctrl.DoLoop( lightsw );

                                delay( 500 );
                                }[/SIZE][/FONT]
                                Angehängte Dateien
                                Grü�e
                                Bernd

                                Kommentar

                                Lädt...
                                X