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.

Und die Jahre zieh’n ins Land…

und wir trinken immer noch ohne verstand…

Naja, nicht wirklich aber beim überlegen der Überschrift ist mir ein ein altes Lied der Toten Hosen eingefallen…

Jetzt aber zurück zum eigentlichen Thema: Was hat sich getan die letzten 1,5 Monate?

Zum einen habe Ich mich mit anderen Displays beschäftigt. Klar, die 1602 Displays kennt jeder, sind günstig und sehr oft verwendet doch mich störte mehreres:
Einlöten des I2C Backpacks, Kontrastspannung (zu viele User meinten es wird nix angezeigt), Helligkeit im Dunkeln, Stromverbrauch (Hey so ne LED frist viel im gegensatz zum ganzen Controller) und und und…
Naja Ich habe inzwischen auf Mini Oleds umgestellt bei mir und diese auch fest im Code verankert:

IMG_20140926_204523

Wie Ihr sehen könnt werden hier alle 8 LED Kanäle mit dem genauen PWM Value angezeigt, Die ml der Düngerflaschen, Uhr, Temperatur meines Kühlkörpers und natürlich welcher Controller es ist.
Mit 27x28mm(!!) sind sie verdammt klein, aber gut zu lesen. Ihr findet die Displays haufenweise bei Ebay für 4,40€ aus China oder 6-7€ aus Europa. Wichtig ist das es sich um SSD1306 Displays mit I2C anschluss handelt und eine Auflösung von 128X64px. Es gibt die auch als 1.3 Version die bisschen größer ist…
BITTE(!!!!) kauft keine von Sainsmart!!!

 

In dem Zusammenhang und mit anderen Bugfixes wurde die Arduino IDE weiter ausgebaut. Wer noch keine neue Version hat sollte diese sich laden und installieren.

 

Wo wir grade dabei sind: Ich habe die IDE noch um ein weiteres Script erweitert: Dimmung über NPN Transistoren. Wie bereits HIER früher geschrieben ist der Anschluss eigentlich ganz leicht. Damit das basteln aber nicht zum Hinderniss wird und weil ich sie selber brauchte habe ich kleine Treiberboards dafür entwickelt:

2014-09-21 16.00.34 2014-09-25 20.51.51

Ja und wie werden die angeschlossen? Auf dem 2ten Bild links sind die Anschlüsse für KonstantSPANNUNGS LED’s. dies sind z.B. Regit Stripes, LED’s mit Vorwiderstand auf der Platine, aber auch Daytime Leuchten und Econlux SunStrip ect., halt alles was man mit 12 oder 24V anschließt. Plus ist im Bild natürlich rot, Minus Schwarz. Auf der Rechten seite ist die Netzteil zuleitung. Hier sollte ein Netztei lgewählt werden welches der Lampe entspricht, HÖCHSTENS aber 4Ampere pro Platine (das liegt an der gewählten Leiterbahnen). Dadrüber sind die Steuerleitungen für den MiniControl. diese können einfach in Kanal 1-16 geschraubt werden. Das weiße Kabel ganz oben ist für die Minusleitung zum Controller und kommt zwischen Kanal 8 und 9.
Ihr müsst nun natürlich den NPN Sketch laden, sonst müsst Ihr nix extra anpassen.

Für Meanwell Netzteile mit DIM Anschluss ist es fast das gleiche. Da diese aber mit 0-10V selbstversorger sind braucht man kein Extra Netzteil. Der (meist) Blaue Anschluss kommt anstelle des Schwarzen Kabels hin, das weiße Kabel anstelle des Roten. Netzteil anschluss bleibt leer, Schwarze Steuerleitungen und weiße Masseleitung wieder normal anshcließen.

 

Zuletzt möchte ich noch auf das  AquaGrow Controller Shield eingehen:
Hier werde ich immer wieder gefragt ob es was neues gibt. Ja gibt es… Ich habe inzwischen drei 5″ Displays, ein 4″ und zwei 2,8″ hier rum liegen (mal eben über 130€) und doch bastel ich immer noch mit meinem 3,2″ Display… Warum? Weil TFT’s einfach ein krampf sind. Die günstigen haben bisher nur Probleme gemacht weswegen ich immer wieder ins Stocken kam und die ersten beiden Prototypen der Shields liegen auch in der reste Kiste. Das schwerste ist der Kompromiss aus „das muss geil werden“ und „was kann man einem user zumuten“… Sind 60 Pins löten noch ok? was muss alles noch drauf? wie ist die Bedienung sinnvoll? Was fehlt???
Der stand im moment? Naja, ich habe einen guten Controller mit einer schönen Touch oberfläche mit der man nix anfangen kann. An einer stelle stürzt es immer wieder ab und ich weis nicht warum, Ich warte auf die nächsten 2 Prototypen und habe mir ein neues 5“ Display bestellt gehabt was gestern eingetroffen ist. Zudem war in dem Paket noch ein Adafruit CC3000 WiFi Breakout, paar BNC Connectors, IR Empfänger Modul, Feuchtigkeitssensor und kleinscheiss…
Was ich damit will? Mein Meerwasserbecken steuern was neu gekommen ist. Da hängt grade der Minicontrol dran, da ich aber Steckdosen schalten, Strömungspumpen regeln, Wasser nachfüllen, Füttern und einiges andere automatisiert machen muss ist der „Große“ dafür prädestiniert und es treibt mich an schneller voran zu kommen. Ich habe inzwischen so viele Ideen wie Ozilationsströmungssteuerung ect das Ich ENDLICH einen ersten Protoaufbau realisiert haben will (doch bin zu faul mir das zurecht zu löten…).
Aber es kommt, es geht weiter und irgendwann kann Ich es auch „Richtig“ präsentieren….

 

Weiter geht’s mit neuen Platinen

Es hat wirklich nicht lange gedauert und da war klar: Es müssen neue Platinen bestellt werden. Einerseits natürlich weil es mir Spaß macht diese zu entwickeln und zu designen, andererseits natürlich auch weil die Nachfrage nach bestehenden Platinen wie den KSQ höher ist als erwartet und Ich somit keine mehr hatte.

Doch so eine Sammelbestellung ist immer mit viel Ärger verbunden. Leute müssen bestellen, Geld muss eingetrieben werden, Bauteile besorgt werden und dann alles verpackt und verschickt werden. Bei der letzten Sammelbestellung waren das über 50 Pakete auf einmal.
Ganz ehrlich… DAS NERVED! Aber deswegen sagen ich mach es nicht mehr? Nein, das ist keine option für mich. Aus dem Grund gehe Ich nun den anderen Weg: Erst besorge ich die Platinen, dann werden die abgegeben bis keine mehr da sind und neue besorgt. Also Quasi trete ich komplett in Vorkasse für die Sammelbestellungen. Dies hat natürlich ein paar auswirkungen für die Zukunft:

  1. Es ist nur ein ganz genauer Betrag für die bestellung da. Keine Mehrproduktion, wenn weg, dann weg.
  2. Während die Platinen bei mir liegen habe Ich kein Geld für andere Prototypen und tests.
  3. Platinen/Versand wurde angepasst. Während die Platinen der V1.1 teurer sind als V1 sind diese billiger geworden um „reste“ los zu werden. Der versand ist 1€ teurer wegen Verpackung und der Einkaufspreis wird nicht mehr 1zu1 weiter gegeben. Ich mache zwar immer noch keinen gewinn damit und will es auch nicht, ABER bei jeder MiniControl 1.1 bleiben 6€ bei mir, bei jeder V1 mache ich 3€ verlust, Bei den KSQ knapp 1,50€ „Gewinn“ und bei den neuen Dosing Control sind es auch 3€ Gewinn (wenn man nicht beachtet das ich den Prototypen für 53€ aus eigener Tasche bezahlt habe).
  4. Ich kann zwar nun recht Zeitnah versenden, musste daher aber die Auswahlmöglichkeiten einschränken. Schließlich muss Ich im vorraus alle Teile liegen haben.
  5. Entwicklung und Geld von AquaGrow wird ausschließlich von einem eigenen Konto getätigt. Ist da Geld drauf kann Ich basteln. Ist das leer, gibt es nichts. Bank überweisungen und Paypal geht nur über dieses Konto und soll in Zukunft komplett unabhängig sein von meinem Privatem Geld. Ich weiß das hört sich sehr Geschäftsmässig an, aber ich habe keine Lust mehr das am Ende des Monats kein Geld mehr auf meinem Konto ist nur weil ich grade mal wieder 200€ in Displays, Platinen und/oder andere Sensoren investiert habe (und JA, ich habe grade erst wieder 204€ dafür ausgegeben…)

So, soviel zu dem, jetzt zu dem erfreulichem:

Ich habe wieder 50 KSQ Arrays bei mir rum liegen, die neue DosingControl Platine ist endlich da (in Version 1.0), es sind noch ganz wenige ‚Restexemplare‘ der MiniControl V1.1 da und einige von Version1. Es darf also noch gebastelt werden. *grins*

Wer interesse hat und sich eine der Platinen sichern möchte sich bitte in guter alter Tradition unter Google Forms – AquaGrow Platinenbestellung melden.

 

Ich danke für die Aufmerksamkeit ;)

Mehr Bugfixes und 2 Updates

Nachdem viel getestet wurde die letzten Wochen gibt es ein größeres Update für den MiniControl und DIY Minimalistik Controller.
Viel hat sich nicht getan da hauptsächlich bugfixes drin sind. Ich werde die auch mal langsam protikulieren müssen und änderungen festhalten… Ich komme leider zu zu wenig im moment. Aber das Wichtigste:

Config hat sich geändert:
// Neu zuordnung der Pins für Dosierung
const int dosingPins[]={DOSE1,DOSE2,DOSE3,DOSE4};

Hier werden Die Pins angegeben wie Sie zugeordnet sind im Pin Mapping. WICHTIG: Dose1 Ist der Pin/Klemme nahe der LED Buchsen. Hier gibt es bei der Platinenversion1.1 nen Missverständniss durch den Aufdruck.
// Milliliter per minute in Reihenfolge wie Pumpen oben
const int dosingMlMin[]={60,60,60,60};

Das Array ist zum Eintragen der ml/Minute. Erster Wert steht dabei für die erste Pumpe/Pin aus dem dosingPins array. Für jede Pumpe/Pin ist ein Wert drin und es sollten genauso viele Werte hinterlegt wwerden wie unter #define PUMPCOUNTS angegeben ist.
PUMP dosing[] = {
{get_ts(0,2,0),1,"D1",0,30},
{get_ts(0,3,0),1,"D1",1,50},
{get_ts(0,4,0),1,"D1",2,70},
{get_ts(11,26,0),0,"D4",3,3},
//{get_ts(11,23,0),0,"D3",2,3},
//{get_ts(11,28,0),0,"D1",0,5},
};

Wert für ml/Min wurde entfernt. Die Werte stehen für: Uhr, Aktive, Name, Pin (auch wieder bezogen auf dosingPins=> 0 ist erster Wert, sprich DOSE1), Mililiter pro Düngung.
// byte ManLightState[]={70,70,70,70,70,70,0,0};
Ist grade noch im Test. Hierbei kann man nachher auf Taste 0 des Keypads ne voreingestellte helligkit abrufen.

Mit dem Update werden hauptsächlich Bugs behoben wie:
Dosiermengen über 30ml gehen nicht,
Eichung funktionierte nicht,
Keypad war an Dosierzeiten gebunden. Wer 2 zeiten für eine pumpe definiert hat konnte mit A und C die gleiche Pumpe steuern (unlogisch…)
wiedermal versucht paar bytes zu sparen…

Möchte mich dabei noch Herzlichst bei Stefan bedanken dass er fleißig testet und mir beim debuggen geholfen hat.

In kürze werden dann auch alle Anleitungen nochmal überarbeitet.

Beide Code versionen findet Ihr unter

https://github.com/MajorMadness/aquagrow-diy-minimalistik-aquarium-controller
https://github.com/MajorMadness/AquaGrowDosingTime
bzw. Als Release zip unter https://github.com/MajorMadness/aquagrow-diy-minimalistik-aquarium-controller/releases
und eingebunden in die fertige Arduino IDE unter https://github.com/MajorMadness/ArduinoIDE

Arduino Probleme mit China clones

Wo viel getestet wird tauchen auch viele Probleme auf. Auf eins welches in direkter Verbindung mit dem Nano ist, ist nun bei Stefan W. aufgetaucht:

Wenn ich Spannung auf die Platine gebe (egal ob 6V oder 12V) und den Nano per USB an meinen Rechner anschließe, wird der Nano nicht erkannt. Wenn ich alles ohne Spannung anschließe, ist der Nano ohne Probleme ansprechbar. Allerdings scheitert es dann schon beim ‚I2Cscanner‘. Es wird nix gefunden. Dabei spielt es keine Rolle, ob Keypad und/oder LCD angeschlossen sind, oder nicht. Test des Tempsensors hingegen funktioniert. Die anderen Tests funktionieren nicht.

Tja, wir haben paar mal geschrieben und versucht das Problem zu beheben, allerdings ohne Erfolg. Stefan war aber hartnäckig und ist dem Problem weiter nach gegangen:

Wir konnten das Problem auf einen Kurzschluss zwischen A5 undf GND eingrenzen. Nachdem er dann mit einem Uno statt Nano die Platine in funktion geprüft hat war klar das diese Fehlerfrei läuft. Zum Glück hat er das Problem aber auch finden können und die Lösung ergoogelt:

Das mit dem Nano hat mir keine Ruhe gelassen und ich habe im Netz das hier dazu gefunden:

„Das Problem: die Schaltungs-Entwickler des Nano 3.0 haben einfach vergessen eine Leitung in ihren Schaltbild einzumalen. Und zwar schreibt FTDI vor, dass man den TEST-Pin (Pin 26) vom FTDI-Chip zwingend auf Masse legen muss. Genau das haben die Entwickler vergessen zu beachten. Folglich habe alle gebauten Nanos diesen Fehler. Wenn man den Test-Pin auf Masse klemmt, sollte genannter Fehler verschwinden. Jedenfalls wird das im Netz berichtet…“
Und genau das war der Fehler! Man muss nur 2 Pin’s des FTDI-Chips auf dem Nano wie auf dem Bild verbinden und schon funktioniert es.

image

Was bleibt mir mehr zu sagen als DANKE Stefan fürs finden und beheben dieses Fehlers! Ich muss aber selber noch anmerken das es bei 6 verschiedenen Nano’s bei mir noch nie passiert ist. Es scheint also ein sehr seltener Fehler zu sein der nur bei gewissen Nano Herstellern auftaucht…

Update über den Arduino IDE upload

Nur eine kleine Notiz zwischendurch:

Unter https://github.com/MajorMadness/ArduinoIDE/archive/master.zip steht nun ne volle Arduino IDE V1.0.5 zum download bereit. Hier ist auch bereits der DIY Sketch als Beispiel hinterlegt. ( Datei/Beispiele/DIY Minimalistik Controller)
Dies öffnet direkt den Sketch der geändert ABER nicht gespeichert werden kann. Beim klick auf Speichern gibt es eine Warnmeldung und dann kann man einen neuen Ort angeben. dies garantiert aber das alle benötigten Dateien an diesem Ort sind. Zukünftige Updates des Controller Codes müssen nur an den gleichen Ort verschoben werden.

Ich hoffe dies hilft wieder mehr Leuten besser mit dem DIY Projekt zurecht zu kommen.