Pirozeda-Hat

Nachdem der Pirozeda relativ beliebt ist habe ich ein neues Design erstellt, das ein paar Punkte in Angriff nimmt die mir bis jetzt nicht so gut gefallen haben:

Folgendes ist neu:

  • Entspricht (größtenteils) den Raspberry Pi HAT-Spezifikationen (inkl. EEProm)
  • Neben dem Optokoppler kann man nun auch einen ADUM1301 verwenden
  • …oder einfach Widerstände, wenn man sich der Sache sicher ist
  • Mit ADMUM1301 oder Direktverbindung können nun hardwareseitig einfach Firmware-Updates aufgespielt und der µC resettet werden
  • Am Mikrocontroller gibt es nun zwei Status-LEDs
  • Es gibt nun eine RTC (DS1307Z)

Wer die Design-Daten vorab haben will, kann sich gerne bei mir melden. Sobald sie aufgeräumt sind, kommt natürlich alles auf die Projektseite.

Was noch ganz cool wäre, aber hinsichtlich Platz wahrscheinlich nicht mehr geht: Steckplatz für ein kleines Display und eine Status-LED könnte auch mit dem Pi verbunden sein (um auf ersten Blick den Status der kompletten Verarbeitungskette zu sehen).

Sie sind da!

…und funktionieren sogar!

Ich spreche von den Leiterkarten, die ich mir vor einem guten Monat bei DirtyPCBs.com bestellt habe.

Eingeschickt habe ich die Daten am 15. September, am Tag drauf gingen sie ans board house, das sie am 21. September verlassen haben. Gestern, am 27. Oktober waren sie dann hier. Gefühlt war es natürlich eine Ewigkeit, aber ich hatte wohl noch Glück, wie Ian Lesnet auf Dangerous Prototypes (er steckt hinter dem Service) schreibt.

11 Leiterkarten für 20 Euro. Unvorstellbar günstig und die Qualität ist, wie ich finde, ziemlich gut.

Die Leiterkarten kommen in einem kleinen Karton, gut verpackt, mit plausibler Zolldeklaration und noch ein paar Stickern:

IMG_6053_sm

 

IMG_6054_sm  IMG_6055_sm

Weil’s einfach jeder macht (und es auch gut aussieht), habe ich für die Produktion roten Lötstopplack gewählt.

Drills und Lötstopplack haben einen ganz leichten Versatz aber nicht so, dass es wirkliche Probleme geben würde. Das Zinn-Plating ist auch nicht 100 % sauber, aber who f***ng cares?

dirty

Mehr Fotos von der Lieferung habe ich noch auf der Kamera, die gerade an einem der Orte liegt, die für meine momentan nicht besonders große Aktivität auf der Homepage verantwortlich sind.

Wie auf dem Scan der Leiterkarte zu sehen ist, habe ich mehrere Layouts auf das Panel gepackt, die Mousebites (Sollbruchstellen) sind wie die Befestigungslöcher platiert. was beim Auseinanderbrechen nicht weiter stört. Auch sieht man die leichten Eindruckstellen vom E-Test.

Als erstes Aufgebaut habe ich die Platinchen für die Modellbahn-Lichtsteuerung. Zunächst wollte die Firmware noch nicht so wirklich, mittlerweile habe ich sie halbwegs zum Funktionieren überzeugt:

20141028_220229_sm

Ok, viel sieht man hier nicht. Links soll später Strom und RS485 reinkommen, rechts an den Buchsenleisten kommen jeweils 8 LEDs ran, die mit 10 bit PWM angesteuert werden.

Das Layout so gemacht, dass alles möglichst modular ist. Wenn man die längere Leiterkarte oben genauer anschaut, sieht man, dass es eigentlich drei sind, die zusammengesetzt wurden. Die Platine ist im Prinzip auch nur ein bisschen längeres Schieberegister, die Intelligenz läuft komplett auf dem linken Board und lässt sich bei Bedarf austauschen.

Jetzt braucht’s für den „Client“ nur noch eine vollständige Firmware. Auf der Gegenseite muss dann noch sehr viel in Richtung Server entwickelt werden. Ich hoffe, ich komme damit jetzt schneller voran.

Die anderen Platinen sind kleine Breakout-Boards, für die ich wahrscheinlich mal zwischendurch eine Wiki-Seite anlegen werde.

Da wären:

  • Ein kleiner Buck-Schaltwandler mit dem neulich erwähnten MCP16301
  • Breakout-Board für ein Accelerometer + Kompass
  • Breakout-Board für einen IR-Sensor (TI TMP006)
  • Breakout-Board für einen Ambient Light Sensor (irgendwas von Avago)
  • Breakout-Board für einen SHT21 + MPL3115A2
  • und last but not least: ein Board für meinen Pi, mit Stromzähler-, Wärmepumpen und Solaranlagen-Interface, was evtl. ein Nachfolger für die Energieerfassung wird.

Ich werde sicher nicht alle Platinen aus den 11 Panel brauchen (speziell letztere) – wer ernsthaftes (!) Interesse hat, kann sich bei mir melden und eine haben.

Jetzt wird’s dreckig

…denn ich habe meine ersten wirklich eigenen Leiterkarten aus professioneller Fertigung bestellt.

Darunter auch der kleine Schaltregler, über den ich neulich schön fast zu unrecht geklagt habe.

Hauptgrund für die Bestellung war die Modellbau-Lichtsteuerung. Sofern ich keinen groben Schnitzer eingebaut habe, sollte die Hardware jetzt stehen. Fehlt nur noch jede Menge Software. Die Firmware ist schon sehr fortgeschritten, einzelne Funktionen fehlen noch, aber man kann schon sehr gut testen.

Völlig offen ist hingegen, ob die Vernetzung (also der Betrieb mehrerer Slaves gleichzeitig, bis jetzt habe ich nur einen Client gleichzeitig getestet) so funktioniert, wie ich es erhofft habe.

Andere Baustelle ist die Software auf Serverseite. Grundlegend funktioniert alles, nur halt auch nicht so ganz wie ich es will. Zum Einen gibt es für den Raspi scheinbar kein Kernelmodul um RS485 zu machen. Zum anderen lässt sich meine Busdiscovery nicht so einfach auf dem Raspberry Pi abbilden. Netterweise geht das Hand in Hand mit der RS485-Thematik – um beides richtig zu implementieren, müsste ich jeweils wissen, wann die Übertragung per UART beginnt und wann der Puffer leer ist – also die Übertragung fertig ist.

Vielleicht muss ich mich doch mal einlesen, wie man Kernelmodule schreibt oder gleich den ganzen Kernel kompiliert (was ich eigentlich nicht machen wollte). Oder ich klemme einen zusätzlichen Mikrocontroller dazwischen. Eine entsprechende Platine hätte ich auch schon – der zuletzt erwähnte freie Platz würde durch eine Aufsteckplatine für den Raspberry Pi ergänzt. Hauptsächlich für meine Energiedatenerfassung, aber auch für alles andere, für die man mehrere UARTs braucht.

Ich bin schon gespannt, wann die Leiterkarten kommen und wie sie qualitativ sind. Wie im Titel angedeutet sind es dreckige. Von dirtypcbs.com. Bei dem Preis muss man sich ernsthaft fragen, wie die das schaffen. Vor allem wenn man bedenkt, wie viel es bei den ansonsten eigentlich auch nicht zu teuren Fertigern kostet…

(Nichts) Neues

In den letzten Monaten war es zugegebenermaßen etwas weniger Inhalt (vor allem) im Wiki und hier im Blog gegeben, als ich „beabsichtigt“ habe.

Beabsichtigt in der Hinsicht, dass ich mir mal in den Kopf gesetzt habe, etwa jeden Monat einen Artikel im Wiki zu schreiben und einmal pro Woche hier etwas zu posten.

Gerne hätte dazu auch eure Meinung – ist das gesteckte Ziel gut, zu viel oder vielleicht sogar zu wenig?

Wie auch immer, ich kann mich in letzter Zeit glaube ich nicht über Langeweile beschweren.

Mein im Februar erwähntes Praxissemester war richtig klasse und leider viel zu schnell vorbei. Neben den vielen technischen und fachlichen Dingen habe ich auch viele tolle Menschen kennen gelernt – falls jemand von ihnen das hier liest: Nochmals Vielen Dank für die tolle Zeit!

Alle anderen Leser werden hoffentlich verstehen, dass ich hier nichts über die Firma und das was ich dort gelernt oder gemacht habe, schreiben werde.

Mit dem Ende meines Praktikums gab es gleich eine weitere berufliche Änderung – wenn man es so nennen will: Seit 1.09. habe ich ein Kleingewerbe. Hat mit hobbyelektronik.org in erster Linie nichts zu tun, da ich momentan eigentlich nur Computer repariere. Der Gewinn wird aber teilweise in die Erweiterung meines „Labors“/Equipments fließen, was sich hoffentlich positiv auf die vorgestellten Projekte auswirkt. Höchstwahrscheinlich wird es noch einen zweiten Geschäftsbereich geben, der für die Zielgruppe dieser Homepage interessant ist – zu viel kann und möchte ich auch hier nicht verraten.

Neu seit September ist auch, dass ich nun ein extra Arbeitszimmer habe. Der Dank für das dafür geht an meine Schwester, die es mir freundlicherweise überlassen hat. Kann aber sein, dass es dabei um ein vergleichsweise kurzes Intermezzo handelt, da ich mit dem Ende meines Studiums in (hoffentlich) einem Jahr direkt in der Arbeitswelt lande und mir eine eigene Wohnung leisten kann.

Den Rest vom September (oder besser: das was davon übrig geblieben ist) habe ich mit allerhand Kleinigkeiten verbracht. Jetzt hat mich das Studium wieder, wobei dieses Semester (theoretisch) ruhiger als die letzten ist. Was allerdings ein wenig an meiner Ruhe nagt, ist die Studienarbeit, bei der ich den Zeitplan und Arbeitsaufwand noch nicht vollständig abschätzen kann.

Auch bastelseitig habe ich momentan ein paar Baustellen.

Seit einiger Zeit ist in unserem Haus einen elektronischer Stromzähler, der ein RS485-Interface besitzt. In diesem Zuge habe ich eine Schaltung auf dem Tisch liegen, die die Daten von Stromzähler, Solaranlage und Wärmepumpe entgegennimmt und verarbeitet. Ich hab keine Ahnung, was mich beim Design geritten hat aber es „passt“ als weiteres Sandwich auf die aktuelle Energieerfassung. Eigentlich wäre das Board der ideale Zeitpunkt gewesen, mit der Hardware zur Vernetzung auf den Rasperry Pi zu wechseln. Vielleicht gibt es ja eine Revision, deren Design besser zum Pi passt.

Zweite Baustelle ist ein kleines Labornetzteil. Von den Eckdaten lange nicht so dicke wie das von Robert und aufgrund der vielen Teile von Farnell nur bedingt nachbaufähig, aber wenn es das kann, was ich mir erhofft hatte, ein ganz nettes Gerät.

Nummer drei und vier haben etwas mit Licht zu tun. Wie vor ein paar Posts schon gezeigt, habe ich ein (ok zwei bzw. vier, wenn man die kleineren noch dazu nimmt) OLEDs herumliegen. Licht könnte ich den Displays schon entlocken, fehlt nur noch eine Anwendung. Ich hab schon etwas im Kopf, aber hier leider noch ein wenig Geheimniskrämerei.

Nummer vier ist ein „kleiner“ LED-Treiber für die Modellbahn meines Cousins. Beim Neubau seiner Bahnanlage letztes Jahr haben wir die Häuser auf LED umgestellt. Besonders an der Sache ist, dass jedes Haus seinen eigenen „Lampendraht“ hat. Bei aktuell über 80 Häusern kommt da schon ein bisschen etwas zusammen. Idee dahinter war, die Beleuchtung möglichst realistisch zu gestalten, also die Beleuchtung am „Abend“ nacheinander einzuschalten. Aber selbst das individuelle Einschalten war mir etwas zu wenig. Dimmen wäre doch deutlich schöner. Gleichzeitig soll es aber nicht allzu teuer sein. Irgendwelche PWM-ICs fallen somit aus. Gleichzeitig sollen natürlich so viele Ausgänge wie möglich bedient werden. Mittlerweile wurde ich das Ganze mit einem XMega oder einem MSP oder Stellaris Launchpad erschlagen (ich hab mit dem Zeug noch immer nichts ernsthafteres gemacht), habe aber aauch noch ein paar AtMega 8 herumliegen, die auch nicht moderner werden. Um es kurz zu machen: Mein Ziel sind 32 LEDs mit 12 Bit PWM-Auflösung halbwegs flackerfrei betreiben. Neben der PWM soll der Mikrocontroller Beleuchtungsprogramme durchfahren und Befehle per UART entgegen nehmen können. Ich weiß, das ist halbwegs sportlich, sollte aber im Bereich des möglichen sein. Teile der Anwendung laufen auch schon, bei den „Beleuchtungsprogrammen“ habe ich das Zeug mal zur Seite gelegt. Die gewünschten Funktionen sind leider nicht ganz so trivial zu programmieren, wie ich es mir erhofft hatte.

Wenn ein Tag mal 25 Stunden hat

bekomme ich eine E-Mail von meiner Energieerfassung. Das Datenbankdesign ist zwar nicht allzu gut, doppelte Datensätze sind allerdings nicht möglich. Da ich beim abholen der Daten keine Rücksicht auch die halbjährliche Zeitumstellung nehme, knallts dann halt ;).

Bleibt nur noch zu erwähnen, dass ich die Zeitumstellung für absolut unnötig und bescheuert halte, da sie eigentlich nur Ärger macht und keine Energieeinsparung bringt (wofür sie geschaffen wurde). Aber ich glaube, darüber habe ich mich hier im Blog schon mal ausschweifender ausgelassen.

Trotz oder gerade deswegen: einen schönen und besonders langen Sonntag!

Himbeere

Ich habe mir für den Sommer wieder zu viel vorgenommen – zumindest bin ich in Sachen Energieerfassung nicht sonderlich weiter gekommen.

Es liegt zumindest nicht (hauptsächlich) an der Motivation – eher daran, dass ich momentan in erstaunlich vielen Dingen eingespannt bin. Wo haben sich in den letzten Wochen anscheinend viele PCs dafür entschieden, kaputt zu gehen oder anderweitig Aufmerksamkeit zu einzufordern. Dass das Zeit frisst muss ich wahrscheinlich nicht erwähnen.

Wie dem auch sei, der Hauptgrund dafür, dass des nicht so recht voran geht ist, dass ich die Energieerfassung auf eine andere Plattform umziehen will.

Zwar ist die Leistungsfähigkeit des Mikrocontrollers nicht nicht ganz ausgeschöpft, dennoch komme ich bei manchen Dingen an gewisse Grenzen. Sei es die Datenhaltung oder die Kommunikation mit dem Datenbankserver (die nicht zuletzt durch Dyndns bzw. dem Routers hier nicht 100% zuverlässig ist). Auch beim Userinterface gibt es ein paar nicht ganz optimale Dinge.

Aber bevor ich noch lange um den heißen Breit rede: ein Raspberry Pi soll es werden. Dieser soll später (wenn ich mehr Gefühl für Linux und die Heizungsregelung habe) auch die Zentralheizung sowie Solaranlage regeln.
Ich weiß, dad Teil ist für die Anwendung schon fast Perlen vor die Säue, dafür aber unschlagbar günstig (und noch dazu sehr energieeffizient).

Der Netzwerkanschluss des größeren Modells lädt zusätzlich noch ein, das Teil im Hausnetz viele und von außen wenige Informationen zugänglich zu machen bzw. E-Mails zu verschicken (oder per VoIP gar einen Rundruf zu machen), wenn irgendwas nicht stimmt. Ferner dürfte es mit der internetfähigen Zentralheizung sogar möglich sein, Wetterprognosen in die Regelung einfließen zu lassen – sodass z. B. vor einem kalten Tag die Wärmepumpe in der Nacht (im Niedertarif) das Wasser im Puffer stärker erwärmt als vor einem warmen Tag, bzw. in der Nacht gar nicht abläuft, wenn der Folgetag sonnig (-> Solaranlage) ist.

Momentan sind es noch Gedankenspiele, aber die Möglichkeiten verleiten eben dazu 😉

Ich bin dann mal weg

In letzter Zeit war es hier (und in der Wiki) sehr ruhig, was vor allem daran lag, dass ich mit Klausuren beschäftigt war. Jetzt sind endlich Semesterferien, die ich auch mal am Stück genießen kann.

Morgen geht es zu meinem Cousin, bei dem die Modellbahn neu aufgebaut wird. Da sie auch im größeren Maße neu elektrifiziert wird, wandert ein Großteil meiner Werkstatt gleich mit.

Um das Ganze zu dokumentieren habe ich mir vorgenommen, den (nahezu) kompletten Umbau als Zeitraffer aufzunehmen.

Auch habe ich mir vorgenommen einen Großteil der Eigenbauten an der Anlage zu dokumentieren. Zum letztjährigen Gimmick (Bahhofsbeleuchtung, Gefahrenfeuer, Werksbeleuchtung) hab ich zwar etwas geschrieben, bis jetzt hat es der Text aber leider noch nicht zur Wikireife geschafft.

Auch habe ich mir einen Großen Schritt vorwärts bei der Energieerfassung vorgestellt, allerdings befürchte ich momentan, dass ich das Thema zugunsten anderer Projekte etwas zurückstellen muss.

Wie dem auch sei, bis Mitte Oktober dürfte es mir nicht langweilig werden.

Isoliert & Akku leer

So, nach 6 Jahren ist nun endlich der Heizkeller isoliert. Knapp 40 Meter Hartschalen- und Schlauchisolation (letzteres kann ich bei Biegungen und verwundenen Rohren sehr empfehlen!) waren innerhalb von knapp 5 Stunden verbaut. Bin gespannt, wie es sich auf die Abkühlung des Puffers und die Temperatur im Heizkeller auswirkt.

Achja: Die Akkus meiner Logi (siehe vorletzten Beitrag) schmachteten heute, nach intensiver Benutzung der Hintergrundbeleuchtung nach Strom. Also 20 Tage Betriebszeit. Kann man lassen.

PrüfSUMME

Ich möchte ja schon fast nichts mehr vom ECL-Bus schreiben – so wie sich die Dekodierung hinzieht.

Gestern habe ich (endlich) mit der Software auf dem Mikrocontroller angefangen und es sieht bisher recht gut aus. Auch die Prüfsumme ist nun (so gut wie*) geknackt – an dieser Stelle wieder vielen Dank an Weasel. Bei der Prüfsumme haben die Entwickler des Protokolls das Wort anscheinend wörtlich genommen und senden die Summe der vorangegeangen Bytes (mit Modulo 256) und haben nach meinen Erkenntnissen auch noch geschlampt. So langsam glaube ich das, was mir der Herr vom Support bezüglich der Protokoll-Dokumentation gesagt hat: es gibt keine.
Ich möchte nicht wissen was die Herren und Damen bei der Implementierung zu sich genommen haben aber dass man für eine Prüfsumme eben keine Summe verwendet, weiß man auch ohne größere Kenntnisse in Sachen Kommunikationstechnik oder Mathematik.

Aber gut, im Endeffekt kann ich zufrieden sein. Die Daten hätten auch verschlüsselt oder zumindest chiffriert übertragen werden können.

Ich denke/hoffe, dass ich morgen mit der Programmierung größtenteils fertig werde. Dann kann ich den Client bzw. Proxy für Solaranlage und Wärmepumpe beginnen. Ziel ist es, wie im Artikel der Energieerfassung bereits geschrieben, etwas Intelligenz in den Heizungsraum zu verfrachten.

Am dortigen „Kleinhirn“ soll dann endlich auch die Erfassung des Wasserzählers (und später evtl. der Wärmemengenzähler) erfolgen.

 

*) so gut wie heißt: Für die meisten Pakete stimmt die Prüfsumme, bei manchen ist das oberste Bit permanent gekippt. Warum wissen wohl nur die Götter.

Informationspolitik

Eigentlich wollte ich schon letzte Woche mit der Entmystifizierung des ECL-Busses fertig sein und einen entsprechenden Client bauen. Leider trete ich noch ein wenig auf der Stelle.

Ein kleiner Lichtblick letzte Woche war, dass ich einen Kontakt zu einem Supporter bei Danfoss bekommen habe. Leider gibt es laut seinen Aussagen keine Dokumentation über das Protokoll. Da mir sein Name irgendwie bekannt vorkam, habe ich kurz mal in Outlook gesucht (ich lösche fast nichts) und Tatsache, ich hatte mit ihm bereits Kontakt! „Damals“ ging es um das Protokoll des Serviceports an der Vorderseite des Reglers. Aussage auch damals „Eine Schnittstellenbeschreibung hierfür existiert leider nicht“.

Das lässt bei mir zwei Vermutungen aufkommen: Entweder die haben eine sehr eingeschränke Informationspolitik – ein „darf nicht herausgegeben werden“ wäre aussagekräftiger oder Dokumentationen für die Protokolle existieren tatsächlich nicht, was nicht unbedingt für Danfoss sprechen würde.

Wie dem auch sei, einen kleinen Teil beider Protokolle habe ich bereits „entschlüsselt“ und ich habe im Gegensatz zu denen kein Problem, mein Wissen anderen bereitzustellen 😉