Neuer Mod der MiniControl

Ich bin öffters gefragt wurden ob es nicht auch möglich wäre mit der MiniControl Steckdosen zu schalten und 230V Verbraucher zu steuern.
Im Prinzip ja, ABER es ist dafür kaum platz auf dem Nano. daher musste ich einiges einkürzen um den nötigen Platz zu gewinnen was LED Dimmung angeht, danach war es aber möglich.
Unter https://github.com/MajorMadness/AquaGrowMiniControl_Mod steht dieser Code nun zum Download bereit und kann wenn gewollt installiert werden. Aber ACHTUNG: Er ist ungetestet und es kann sein das das display nicht richtig anzeigt. in diesem Falle schaut euch die LCD.ino an und passt es gegebenenfalls an. Auch reagiert das Keypad anders als bisher beschrieben:
A-D Steuern die Relays an/aus
1-6 Die Dosierpumpen
7-9 und * die LED’s
# schaltet in den Automatik Modus der LED
0 Setzt die Relays wieder auf den Automatik Modus.
Bevor ihr Relays ansteuert macht euch aber bitte darüber klar das ihr mit 230V hantiert. Das sollte nur von Elektrikern gemacht werden oder zumindest von diesen Kontrolliert werden!

Ich wünsche viel Spaß!

Ende am Licht des Tunnels

verdammt es war doch nur ein Zug…

Ne Quatsch aber manchmal kommt man halt weiter und es ergeben sich gute Punkte wenn man sein Konzept überdenkt. Dies habe ich die letzten Tage gemacht und auch darüber wie es weiter gehen soll mit den Platinen…
Ergbniss: Wir scheißen einfach auf alles was uns Kummer macht und bauen zusammen was wirklich wichtig ist. Arbeiten in einem am nächsten Projekt und vereinfachen alles.

Das Resultat ist ein Mix aus MiniControl und TFT, unter dem geplanten Namen MiniTFT.

Ich habe also alles von den jetztigen Prototypen genommen was funktioniert (Uhr, LED Dimmung, TFT) und das dazu genommen was eh funktioniert (Düngersteuerung, Lüftersteuerung) und das weg gelassen was nicht Funktioniert (USB). Ich konnte zwar nur 5 Düngepumpen unterbringen vom Platz, daafür ist aber ein Updaten der Software über USB, Wifi oder Bluetooth möglich, jeweils mit Programmieradapter. Wie ich das löse weis ich zwar noch nicht, aber ich weis das es geht…

MiniTFT1284

Außerdem habe ich dann direkt mal ein paar kleine Gedanken gemacht um ein mögliches Userinterface:

IMG_20150121_221549

Erste Zeile ist die Uhrzeit, dann haben wir 15 Felder wo man die Helligkeit der LED’s sieht und bei klick auch direkt den Tagesablauf dieser einstellen kann.
Unten sind die 5 Düngerpumpen mit Füllstand. Klicken um Zeiten oder Füllmenge an zu passen.
Die Temp wird rechts angezeigt und eingestellt indem man drauf Klickt.
Die freie Fläche denke ich dann an 4 Icons: Manuelles Licht, Manuelles Düngen, Zeit/Datum Einstellen und Speichern der Einstellungen in EEPROM.

Sehr schlicht, aber alles drin was man braucht. Das beste ist aber: Im Februar kann ich dazu hoffentlich auch ein Update geben.

 

 

Der Frust des Prototypings

Heute möchte ich mal wieder ein wenig Frust ablassen oder besser gesagt, Ich lass euch ein wenig an meinem Frust der letzten Tage teilhaben.

Zuerst einmal aber die gute Nachricht: Mein Weihnachtsgeschenk ist da, zumindest zum Teil. Da Ich die Sam3 Platinen nochmal umgeändert habe sind diese noch nicht bei mir. Dafür sind aber 3 andere Platinen zu mir gekommen und diese funktionieren teils sehr gut.
Direkt von anfang an und Fehlerfrei sind die neuen KSQ Platinen. Sie sind zwar ein klein wenig teurer als die alten, dafür ist es aber nun sehr einfach den Strom (die mA) mit dem Poti ein zu stellen. Auf jeden Fall sehr komfortabel und gut einsetzbar. Ich werde das Layout zwar nochmal bisschen überarbeiten wahrscheinlich aber dann werden diese auf jeden Fall die Nachfolger der jetzigen KSQ werden.

2015-01-19 19.17.55

Als 2tes sind neue Platinen mit Atmega328p gekommen und der Frust fängt an: Da ich noch nie mit dem USB Serial Connector gearbeitet habe und die Datenblätter zum Zeitpunkt des designs nur in Chinesisch vorlagen habe ich da etwas faalsch interpretiert (und gegoogelt) und schon funktionieren diese nicht… Dafür konnte ich aber erfolgreich die Atmega328p programmieren und erste Tests mit dem Minicontroller Sketch und OLED waren auch erfolgreich. Ich bin mir noch nicht sicher was ich mit der Erkenntnis mache, aber ich denke das der Minicontroller eine gute Chance hat in der nächsten Version mit MCU direkt bestückt zu sein. Am schwerssten wird es aber werden auch die Dosiersteuerung auf diesen Kleinen Platinen unter zu bringen, wenn auch noch gute Stecker für LED und Pumpen mit dran sollen. Wir werden sehen…

2015-01-19 19.18.09

Als letztes kommen wir dann zu meiner Frustplatine: Die MiniTFT! Diese hat bei mir grade sehr hohe Prio da ich sie für mein Meerwasser Nano brauche. Doch, ich setze hier nicht nur zum ersten mal den CH340T ein, ich experimentiere auch mit dem Atmega1284p und einem SPI TFT Touch Display mit 2,4″. Das alles ist keine gute Kombi, ich muss es aber zum laufen bekommen und alle Fehler beseitigen um diese Platinen „richtig“ zu bestellen. Daher wird an dieser Platine gebastelt bis sie funktioniert was grade sehr lustig aussieht:
2 Kabel an Chip gelötet, 100nf Kerko mit verlötet, Resonator gegen Quarz getauscht mit 2 Kerkos, etliche Libaries und Hardware configs getestet… Seit mittlerweile einer Woche sitze ich jeden Tag dran und suche Fehler, studiere Schaltpläne und Datenblätter und immer noch funktioniert es nicht.
Was soll ich sagen? Es frustet, aber ich hoffe das es irgendwann funktioniert und ich die Platine entdlich benutzen kann.

2015-01-19 19.18.26 2015-01-19 20.19.38

Alea iacta est

oder besser, Sie rollen noch… Es ist aber eine Entscheidung gefallen was die Problematik der zu wenigen Pins des Due/Mega angeht:
Ich hab kurzerhand eine neue Variante des Arduino Due geschrieben für die Arduino IDE. Somit Kollidieren meine Hacks nicht mit den Orginal Dateien und ein anderer Due kann ohne gefahr die gleiche IDE benutzen.

AG-Variant

Nun zu den Fehlenden Ports und evt Einschränkungen:
Schauen wir uns erstmal an wie die Platine nun aussieht

AquaGrowSam3a

Wie wir sehen ist auf der Linken Seite sowie Rechts neben „Erase“ ein neuer Steckplatz hinzu gekommen der mit AG1-22 durchnummeriert ist. Dies sind auch die neuen Ports/Benennungen in der Arduino IDE. Hinter AG1-AG9 und AG11 verstecken sich die Analogen Ports des Due (A2-A11). Diese können also ganz normal verwendet werden. AG10 und AG12-22 sind neue Pins die NICHT auf dem Due vorhanden sind. Mein Plan ist es AG1-AG4 für Futter und Nachfüll Automatik, AG9 Wasserstandssensor, AG5-AG8 Transistoren, und AG11 als freien Sensoren Pin zu verwenden. AG17-AG22 wird für Steckdosen reserviert, AG13-AG16 ist reserviert für weitere Sensoren die evt irgendwann kommen. Somit ist der Aufbau mit eigenen Controllern im Funktionsumfang gleich (Da statt Relays auch Funk genutzt werden kann um Verbraucher wie Heizung zu steuern), der Vorteil der Platine ist lediglich das es bequemer und einfacher ist alles an zu schließen und bei vielem (Pumpen, TFT, Temperatur, BNC Sensoren) keine extra Komponenten und Kabel gekauft/gelötet werden müssen (abgesehen von Steckern/Pins/headern).

Da Ich die Platine für faule wie mich entwickelt habe aber trotzdem die möglichkeit offen halten will dies mit eigenen Bauteilen zu realisieren hoffe Ich das dies später so klappt wie ich mir das vorstelle. Der Anreiz sich später einmal die Platine zu holen sollte (mMn) nicht der sein das es sonst nicht möglich wäre um zu setzen. Das wäre Boykott des DIY Gedanken der hinter allen meinen Projekten steht. Doch nur mit diesem Schritt kann ich, so denke Ich eine DIY Lösung präsentieren die vom Umfang es mit GHL, IKS und anderen auf nehmen kann UND von dehnen bedient werden kann die weder Technisches KnowHow noch einen überfüllten Geldbeutel haben.

Neuer Bugfix und experimenteller Code

soooo,
ich starte das neue Jahr nochmal mit nem Update: Es ist aufgefallen das bei bestimmten Zeiteinstellungen in der Dimmung der Controller sich verrechnet. Somit kommt ein PWM Wert von 4097 zu stande was natürlich nicht geht. Man sieht es bei der Lampe dass eine Sekunde vor 100% die Lampe kurz aus geht. Beheben des Problems ist sehr einfach:
in der Datei Licht ino muss sehr weit unten eine Bedingung eingefügt werden die diesen Rechenfehler abfängt:

if(pwm<=0){ pwm=0; }else if (pwm>4095){
pwm=4095;
}

Das ganze sieht dann so aus:

.............
f= dimTime/(Max-Min); // 1800/2800=0,64
p = pastSeconds/f; // 1616 / 0,64=2525
pwm=Min+p;
if(pwm<=0){ pwm=0; }else if (pwm>4095){
pwm=4095;
}
return pwm; // Im Nofall ausschalten...
}

Ich habe die IDE bereits geändert und beispiele auf den neusten stand gebracht.

Weiterhin habe Ich mich auch dem Problem angenommen was Dirk gepostet hatte mit den Weniger Schaltzeiten. Hierfür ist die Dimmung nen bisschen gravierender Umgeschrieben wurden und daher experimentel. Ich kann es z.z. leider nicht live testen, daher poste ich den Code einfach mal als Beta wenn es jemand ausprobieren möchte:
Die gesamte Funktion PWM_Licht einfach überschreiben!

int PWM_Licht(int lightIndex){

long Max,Min,pwm=4095;
float dimTime,f,p;
float pastSeconds;
uint32_t Start,Ende;
byte oMin,oMax;

if(light_channels[lightIndex][0].time < rtc.daystamp){ Start = light_channels[lightIndex][LIGHT_VALUES-1].time; Ende = light_channels[lightIndex][0].time; oMin = light_channels[lightIndex][LIGHT_VALUES-1].level; oMax = light_channels[lightIndex][0].level; pastSeconds = get_ts(24,0,0)-Start+rtc.daystamp+0.5; dimTime = get_ts(24,0,0) - Start + Ende+0.5; } else if(light_channels[lightIndex][LIGHT_VALUES-1].time < rtc.daystamp ){ Start = light_channels[lightIndex][LIGHT_VALUES-1].time; Ende = light_channels[lightIndex][0].time; oMin = light_channels[lightIndex][LIGHT_VALUES-1].level; oMax = light_channels[lightIndex][0].level; pastSeconds = rtc.daystamp-Start+0.5; dimTime= get_ts(24,0,0) - Start + Ende+0.5; } else { int curIndex=0; for(byte n=0;n4095){
pwm=4095;
}
return pwm;
}

Schönen start ins Jahr wünsche ich!

Was lange währt, ….

dauert sehr lange.
Anfang März 2014 habe Ich mich das erste mal über mein nächstes Projekt geäußert in Form des „etwas“ überdimensionierten Controllers auf Basis des Arduino Due mit TFT Display und funktionen die niemand braucht und doch sehr viele haben wollen. Mittlerweile, 8 Monate später, ist der Controller immer noch nicht fertig (was ich niemals gedacht hätte), doch im laufe der Zeit sind viele Dinge passiert die mich manchmal zum lachen, zum weinen, grübeln, schmunzeln und auch um den Versand gebracht haben…
Eine dieser Punkte ist nun mal wieder passiert und Ich möchte darüber kurz berichten:

Fangen wir aber am Anfang an. Zuerst kam der Plan den Controller „nur“ fürs Süßwasser zu benutzen. Logisch irgendwie da ich zu dem Zeitpunkt noch kein Meerwasseraquarium hatte und Ich ja zu aller erst das Programmiere und entwickel was ich gerne hätte. Daher war die Basis auch zuerst der kaufbare Due mit einem TFT Shield für Display wo das Userinterface drauf programmiert wurde. Dies ging auch relativ schnell und so hatte ich zumindest grobe Screens nach wenigen Tagen und Wochen fertig. Dann ging es los mit den Problemen:
Durch die Erfahrung mit dem DIY MiniController und dem MiniControll wusste ich dass, wenn dieses Projekt auch mal unter anderen AQ’s hängen sollte, Ich weg muss von Kabeln und möglichst viel direkt auf ein Shield packen muss. Der erste draft dazu war zwar schon direkt zu anfang gemacht wurden, aber die Umsetzung von dem zu einer „guten“ Lösung wurde von Fehlschlägen, nicht funktionierenden Platinen (3 bisher), Fehlenden oder fehlerhaften Libaries und zu guter letzt sogar einer Fehlerhaften Arduino IDE begleitet. (Naja, ist ja auch Offiziell nur ne Beta…)
Irgendwann war es dann aber soweit das die Shields funktionierten (zumindest das TFT) und Ich mir weitere gedanken machen konnte. Zu diesem Zeitpunkt war Ich auch in besitz eines Meerwasser AQ’s und entdeckte die Möglichkeiten neue Spielerreien unter zu bringen:
Lebendfutterversorgung, Oszillationssteuerung, Strömungspumpensteuerung, Wasserlevel Überwachung… Ja und da ist ja auch noch das mit den Funksteckdosen, Wlan, Leitwert und Redox Messung und und und…
Frei nach dem Motto „Entdecke die möglichkeiten“ wurde weiter gearbeitet und sich vom Due Shield verabschiedet. Warum fragt Ihr euch? Die beiden Hauptgründe möchte ich nennen:
1. Wisst Ihr wie nervend es ist über 100 Pins an zu löten? Mich hat es generved und daher wollte ich es vereinfachen.
2. PLATZ… z.Z. habe Ich TFT, Minicontrol, 2 Atlas Scientific Stamps, 2 BNC Connectors, 2 RF433 Module (Send/Recieve), 8 Relays, 2 Temperatur Sensoren, 3 Pumpen und einen UART Anschluss für Wlan auf dem Board. Das war zuviel für ein Shield welches Due R3 Form Faktor hätte (bisschen größer).
Des weiteren gab es kleinere Gründe die mir am Due nicht passten:
– Sam3X interne Uhr hatte keinen Anschluss für Backup Batterie
– Der Due Reset löscht die RTC Einstellungen, der Softreset ist nicht angeschlossen
– Anschluss an PC löst nen Hardreset aus inc Löschen der RTC ect…
– Einige der Sam3x Pins werden nicht rausgeführt, sind doppelt belegt oder unschlau (für meinen Plan) plaziert. Es wären 20 mehr Pins möglich für andere Komponenten + das der UART0 (Serial oder RX/TX) für die Programmierung verwendet wird OBWOHL dies über den internen USB auch möglich wäre.
Aber, und das ist der Grund warum ich heute eigentlich angefangen habe zu schreiben, wer bitte schön brauch so viele Pins??? Ich meine der Due hat 44 Digitale Pins, 3 UART und 12 Analoge Pins die Frei und unabhängig von einander Verwendet werden können. Doch rechnen wir mal:
29 Pins werden durch das TFT Belegt. 3 UART für AS Stamps und Wlan, 2 Temp, 3 Pumpen, 3 Futter, 2 Nachfüllautomatik, 8 Relays, 2 Rf433 und dann noch 11 Pins und 1 UART der an die Minicontrol weiter geschliffen werden sollen: Ja dann hätten wir schon mal 60 Pins. Alleine da fehlen schon 4 Pins und Ich habe immer noch nicht die Möglichkeit geschaffen später einmal einen neuen Sensor anschließen zu können…

Nun merkt Ihr evt wie „Interessant“ es ist so einen Controller zu planen, programmieren, entwerfen und um zu setzen. Ich für meinen Teil überlege grade wo Ich anfange funktionen wieder zu streichen und/oder was Ich in „Meinem“ Sam3 Board umsetze aber nicht den Usern die einen Due oder sogar Mega selber basteln und verdrahten zur verfügung stelle… Eine schwere Entscheidung.

Vorzeitige Weihnachten

Weihnachten… Die Zeit des Kommerzes und des Sinnlosen Geldausgebens wo nicht das harmonische Beisammensein mit der Familie wichtig ist sondern es einzig und alleine darum geht wer das neuste, modernste und teuerste Geschenk kauft und am besten noch etwas was die Familie und besonders die Kinder dazu bringt das man nicht mehr mit ihnen spielen muss sondern sie ganz bequem vor dem Computer, Konsole oder so parken kann!

Ja man kann es erahnen, Ich bin kein Freund der modernen Entwicklung und dem was die Werbung uns suggeriert, da Ich aber meine Postings gerne mit einem einleitenden Satz eröffne empfand ich es als akzeptabel einmal ein wenig Kritik an der Werbung und unserer Konsumgesellschaft zu üben.

 

Nun aber wieder zurück dazu warum Ich hier vor frühzeitigen Weihnachten spreche:
Auch Ich bin dem Kaufrausch verfallen und habe neues Spielzeug gekauft für das nächste Jahr. Zuerst einmal wäre da etwas wo Ich nun schon seit März dran arbeite, Einen Controller auf Sam3x8e Basis (aka Arduino Due) mit Touch display und jeglichem Scheiss den ich mir in meinem Kranken Kopf ausdenke…
Zuerst wollte ich diesen als Addon Platine entwickeln, einfach auf zu stecken auf einen Due mit allen benötigten Anschlüssen. Hierfür existieren inzwischen auch mehrere Prototypen und die Menüs und einstellungen sind fast fertig. Doch der Lötaufwand für eine solche Platine, der EK des Due in Deutschland ist mit 40-50€ recht hoch. Klar man kann diesen natürlich in China für 15€ kaufen als Clone, was Ich ja auch mache aber trotzdem… Ich wollte einen Controller der auf das Optimiert ist was Ich mir vorstelle.

Ich präsentiere, den Prototypen des AquaGrow Sam3 Controllers

Sam3

Die entwicklung ist inzwischen allerdings sehr richtung Meerwasser gegangen, obwohl immer noch alle wichtigen Funktionen des Süßwassers unterstützt werden.
Anschluss für MiniControl mit 6 Dosierpumpen, Ventilator, LED Temperaturüberwachung, 16 (Einzel-)Kanal LED Dimmung, 3 zusätzlichen Digital/Analoge Ports
TFT Anschluss für „standard“ 8bit parralel, SD Card, Touch (3,2″/5″)
10 Analoge/Digital Ports, 4 Digital Ports zur freien Verfügung -> Anschluss Sensoren für Wasserstand, Nachfüllautomatik, 2x Futterautomat, Lebendfutter ect
RF433Mhz Sockel zum Auslesen/ansteuern von Funksteckdosen
2 Steckplätze für Atlas Scientific Stamps wie PH, Leitwert, Redox
2 Zusätzliche Temperatursensoren -> Wassertemp, Bodentemp mit Differenz Steuerung
2 Strömungspumpen oder andere PWM Steuerungen
1 Oscilattionssteuerung für Meeresströmung/Wellenbewegung über Servos
Zusätzlich kann noch 1 I2C Kanal getrennt abgegriffen werden und die Sam3 interne Uhr mit Backup Batterie verwendet werden. Wenn das klappt ist man in zukunft nicht mehr auf die RTC der Mini angewiesen und ich könnte da auch kleinere, günstigerere Boards bauen (Zukunftspläne).

 

Mein 2tes Geschenk besteht dann in dem wunsch kleine, Flache Lampen mit hohem Bedienkomfort bauen zu können mit LED Dimmung. Hierfür wurde eine Minicontrol auf das wichtigste kastriert und um SPI Interface erweitert. Dazu ist der Nano Sockel runter geflogen und ein MCU mit passendem Serial USB Converter drauf gekommen… Hört sich kompliziert an? ist es aber nicht. Denkt euch einfach ein TFT, so groß wie ein Feuerzeug mit LED Dimmung und Ihr wisst was ich vor habe. Das ganze soll dann aber nach wie vor auch über eine Temperatur und Lüftersteuerung verfügen und möglichst einfach ein zu stellen sein. Der USB ist eigentlich auch nur für Updates da, weil Ich den gesammten Code schon vorab aufspielen kann.

MiniTFT

Sollten die Platinen und die umsetzung der Sam3 erfolgreich sein wird die Version 1.2 der MiniControl ebenfalls über fertige Controller verfügen anstelle der Nano Sockel. Statt verbindungen zum Sam3 wird die Platine dann reduziert und für LED und Dosierpumpen eine neue Platine treten ohne Uhr aber den erweiterungen die im jetzigen Layout nicht zur verfügung stehen,

 

Zu guter letzt habe Ich mich einmal mehr meinen KSQ angenommen. Nachdem Ich wusste das Ich den Strom und Helligkeit über Poti einstellen kann, warum dann nicht diesen auf die Platine setzen, sie vorab auf 1200mA einstellen lassen und jedem User die chance geben „seinen“ Strom selber zu bestimmen? Gesagt, getan: neue KSQ sind auf dem weg. Dank eines Bekannten habe Ich auch in einem ein Upgrade geplant des LED driver IC. Sollten diese Platinen funktionieren werden in Zukunft Chips verbaut die bis zu 40V Pro Kanal ab können und somit (durch Verfügbare Netzteile) ohne weiteres bis 35V (36V Netzteil) belastet werden können.

KSQ_ZLED

 

Und dann noch etwas ganz wichtiges: Alle Platinen wurden mit 3mm Bohrungen versehen um sie endlich vernünftig an bringen zu können.

Freut euch mit mir aufs neue Jahr!!!

 

The Clone Wars beginn

Nein… Ich werde nicht über den 7ten Teil der Star Wars Reihe schreiben. Immerhin dauert dies noch ein Jahr und auch wenn ich bekennender SiFi und Fantasy Fan bin, werde Ich den Blog nicht dazu Missbraaauchen.

Also worum geht es in den Clone Kriegen dann? Um eine unmenge Arduino Boards die im moment auf den Markt kommen und sich bedeutend von allen bisherigen Clones unterscheiden:
Der Chip der für die Kommunikation zwischen USB Port und Atmel (Atmega328/2560 u.a.) verantwortlich ist wurde ausgetauscht. Im Orginal handelt es sich um einen FTDI FT232Rl beim Nano und Atmega16U2 beim Uno und Mega. Dies wurde auch lange so gekloned.

Inzwischen finden wir aber immer mehr Boards mit bezeichnung „Arduino Nano V3.0 CH340“ oder ähnliches auf Ebay und auch in Deutschen Shops. Dies war auch Grund für mich diese Boards einmal genauer zu inspizieren und mir ein paar Testexemplare zu ordern. Hierbei gab es immer welche aus China und auch diesmal einen aus Deutschland. Hauptunterschied ist das der Deutsche 8€, die China Ware unter 3€ gekostet hat. ansonsten waren Sie baugleich, wie zu erwarten war…

Also direkt mal an PC gehangen und erster rust: Kein Treiber gefunden, kein Treiber verfügbar über den Händler. Es lebe Google!!! Ich konnte den Treiber dann in China entdecken und installieren. Weitere Recherche ergab das der Download öffters nicht erreichbar ist, weswegen Ich neben dem Link dazu den Download auch über mich zur Verfügung stelle. Sämtliche Rechte bleiben beim Hersteller wch.cn! Es handelt sich nur um einen Download Mirror!

Als das Treeiber Problem aber beseitigt war konnte ich die Nanos benutzen wie die Orginalen oder Clones mit FTDI Chip. Hierzu nur passendes Board und Com Port auswählen und direkt uploaden. Besser noch: Der vor paar Monaten beschriebene Bug (Arduino Probleme mit China Clones) scheint somit nicht mehr relevant zu sein.

Für die etwas technisch versiertenmöchte Ich dann noch auf das Datenbaltt verweisen das Ich über Seeedstudio gefunden Habe:
Datenblatt CH340

Treiberdownload Hersteller:

CH341Ser.zip

Mirror Download: CH341SER

Ebay Angebot (Beispielhaft, aufgeführt da ich diesen bestellt habe und gut angekommen ist): Arduino Clone CH340

Ungeahnte Möglichkeiten

Manchmal brauch man die Ideen anderer um selber Ideen um zu setzen… So geht es mir auch grade mit den KSQ’s. Seit langem ist mir bereits bekannt das man die angeblich auch über einen Poti dimmen kann, doch ich habe es niemals selber getestet. Nun kam die Frage ein weiteres mal bi Flowgrow auf und Ich wollte es endlich selber wissen.

Also wieder einmal Foren, Datenblätter gewälzt und am Ende beschloßen mir 10 200K Potis zu kaufen. Es hat ein paar Tage gedauert aber heute kam Ich dazu diese zu testen.

Der aufbau war Simpel:
1x KSQ mit keine Ahnung was für ner Spannung
1x LED Leiste mit paar Cree XM-L U2
1x Laptop Netzteil mit 12V

Der Poti wurde mit einer Seite an den DIM anschluss angeschlossen und mit dem Mittleren Pin an – des Netzteils. Der andere Pin wurde erstmal offen gelassen. Alles unter Strom gesetzt und: Man kann die Heelligkeit Manuell einstellen! PERFEKT sag Ich nur. In dem Sinne lässt sich eine Stärker bestromte KSQ einfach anpassen und so LEDs nicht nur über PWM dimmen. Dafür gibt es laut Datenblatt sogar eine einfache Formel:

mA= (0,1xVdim) / (2,5xRs)

Kapiert? Nicht schlimm… also man nimmt 0,1 mal die Spannung die durch den Poti noch abfällt und Teilt das durch 2,5 mal den Widerstand an Rs, was die Beiden Widerstände auf der Platine sind… Immer noch nicht verstanden? Auch niht schlimm. Dreht man in eine Richtung habt Ihr den Strom den Ihr wolltet, dreht Ihr in die andere Richtung wird es dunkler.

Dann wurde natürlich noch getestet was passiert wenn man beides Kombiniert, also PWM und Poti… Und auch das klappt. Gut, habe es nur mit nem Manuellen PWM getestet (Ich habe das freie Ende des Poti an – des Netzteils gehalten) aber da die Lampen dabei ganz aus gehen weiß ich das meine PWM Config der Platinen damit kompatibel sind.

Von Käfern und Ideenreichtum

Was haben Käfer mit Aquariensteuerungen zu tun? Ganz einfach, wenn man dem Englischen mächtig ist: Buuuuuuugs!!!

So und nicht anders lassen sich die letzten Wochen bei mir beschreiben. Ich habe inzwischen die 4te Version meines Due Shields zuhause und es läuft immer noch nicht rund.

  1. TFT Layout von Elechouse: Totaler Fehlschlag da die Displays von BuyDisplay nicht angesprochen werden konnten. Fehler konnte ich baer nicht finden und auch „Standard“ TFT’s lioefen irgendwie nicht.
  2. CTE Layout für Due: War sehr bescheiden dokumentiert. Zwar lief es aber eher zufällig. Später konnte Ich den Fehler aber finden: Ein Widerstand der eingezeichnet war hatte 0Ohm, das hab Ich nicht bedacht…
  3. Gefixtes CTE Layout: Juhu es klappt… Endlich konnte Ich das Display ansteuern ABER I2C funktionierte nicht. Den Fehler zu finden, wenn man nicht weiß wonach man googeln muss ist auch sehr Interesant, aber am Ende mit Erfolg gekröhnt:
    Der Arduino Due hat 2 I2C Ports (TWI1/TWI2), der erste ist wie beim Mega an Pin 20 und 21. Was aber nicht gesagt wurde: Diese haben Onboard Pullups und es dürfen keine Externen Pullups verwendet werden. Rauslöten dieser auf der MiniPlatine brachte den nötigen Erfolg wäre da nicht noch ein Softwarebug in der Wire libary von Arduino. Nachdem ich diese aber gepatched habe konnte Ich endlich Uhrzeit auslesen und auch die LED Steuerung im I2C Scanner sehen.
  4. Version 4: Diese hat nun die I2C Leitungen an TWI2, also Port 70 und 71, nahe AREF. Hierdurch können die Pullups hoffentlich weiter verwendet werden und es ist kein Mod nötig der MiniControl. Zudem wurde nochmal das TFT Layout geändert zu einem „Standart“ Layout nach UTFT Requierments. Ich finde den gedanken nicht gut das in die lib eingegriffen werden muss um alternative PinMappings zu aktivieren…

Die ganzen Updates hatten aber auch was positives: Ich habe mehrmals Komponenten umher geschoben und änderungen durchgeführt. S oist mittlerweile auch ein Steckplatz für RF433Mhz empfänger und sender auf der Platine. Der Grund ist das Ich in der Relay Steuerung einen Button zum „Anlernen“ unterbringen will. Man geht also Unter Relays1 auf „Lernen“ drückt an einer Fernbedienung „An“, wartet bis das erkannt wurde, drückt „Aus“, wartet bis erkannt wurde und schon wird neben dem Mechanischen Relay auch die passende Funk-Steckdose geschaltet. Weiterhin ist ein Steckplatz für Externe Stromversorgung Hinzu gekommen um den Linearwandler des Due zu enlasten durch einen Effizienten step Down Buck und ein paar kleine Layout verbesserungen.

 

So und nachdem das berichtet ist noch ein Update zum bestehenden Code:
Die Arduino IDE hat wieder ein Update bekommen. Einerseits musste Ich einen Bug beheben in der DosingTime, dabei habe Ich in einem die Oled Version Online gestellt, andererseits gab es einen Update fehler der PCA Libary. Ist nun auch behoben.