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.
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)...
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.
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...
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.
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
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?
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).
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?
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.
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):
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 );
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar