Schlagwort-Archive: Elektrozeugs

1Wire (DS18x20) auf RS232 (EIA232)-Adapter

Heute musste nochmal eine Kupferplatte dran glauben: Das Ätzgerät durfte nochmal aus dem Schrank hervorkommen. Daran, dass die Hälfte meiner Platinen für die Tonne ist hat sich zwar nichts geändert, aber ein paar sehen brauchbar aus.

Die Erste, die nun in Betrieb geht, ist ein Adapter für DS18x20-Temperatursensoren. Keine wirkliche Neuentwicklung, das PCB soll lediglich einen Aufbau auf Steckbrett ersetzen und ergänzen, welcher schon seit Jahren in Betrieb ist. Der Aufbau ist recht einfach: Die Sensoren werden zusammen mit einem Pullup direkt an den Controller geheftet. Dazu ein MAX232 um die serielle Schnittstelle (ggf. über USB-Adapter) an den PC zu bekommen und der übliche Kram wie Quarz, Stromversorgung, …
18333
Als Controller dient ein ATMega8 – eigentlich überdimensioniert, aber davon hab ich die Schublade voll. Es sind 6 1-Wire Busse vorbereitet, jeder drüfte mit CAT5-Kabel etwa 50m problemlos überbrücken können. Insgesamt sollten mehr als 500 Sensoren technisch kein Problem sein, mit geringeren Pullup-Wiederständen oder direkt einem aktivem Pullup sollten auch Längen von über 500m und über 1000 Sensoren machbar sein.
18338
Die Software ist eine Adaption des Codes von Martin Thomas. Am PC wird das ganze durch ein PHP-Script geparsed und per RRDtool in die bekannten Diagramme umgewandelt.

Mein momentaner Aufbau besteht dabei aus 4 Bussen mit insgesamt 9 Sensoren.

18329
(Hinweise: Zusätzlicher Kondensator am Eingang und Bastelei am RS232 da ich kein passendes Kabel da hatte)

Platz vs. Verbrauch

Ich gaub, ich muss meine neue Platine doch nochmal überdenken und der Stromversorgung etwas mehr Platz zukommen lassen…

Ausgangssituation:
Input: Trafo, 18V
Output: 5V für ATMega + paar 74er

a) 78S05 -> 8W
b) 34063 (Step-Down) -> 5W

Hätte nicht gedacht, dass der Unterschied trotz suboptimaler Bestückung des 34063ers doch so deutlich ausfällt…

Kleinkram PHP-Downloadmanager, Spannungsteiler-Rechner und ATX-Powerpanel

So, nachdem ich mich dieses Wochenende mit jede Menge Papierkram rumärgern durfte konnte ich heute doch noch etwas zeit finden um mich 3 kleinen Problemchen anzunehmen, die sich mir in letzter Zeit gestellt haben.


Erste Baustelle war ein Downloadmanager. Dieser sollte zentral auf meinem Server laufen und Downloads sequentiell abarbeiten. Die URLs vorzugsweise aus einer MySQL-Datenbank. Ergebnis sind ein paar PHP-Zeilen – nicht wirklich komfortabel, aber erfüllt fürs erste seinen Zweck.

Downloads werden in die Tabelle queue eingefügt – nur die URL. Der Status setzt sich wie folgt zusammen:
0 -> Offen
1 -> Download gestartet
2 -> Download erfolgreich
3 -> Download fehlgeschlagen

Der Download selbst wird durch wget erledigt, man könnte also z.B. eine maximale Bandbreite o.Ä. festlegen. Bei Abschluss/Fehlschlag eines Downloads wird im Datensatz ein Log angehangen.


Nächste Baustelle: Spannungsteiler. Primitiv, aber immerhin ein Ergebnis: Dieses Script hämmert Bruteforce-Like alle E12-Widerstände bis 1MOhm (oder so) durch und sucht einen passenden Wert um einen Spannungsteiler zu bauen.

Sollte jetzt schon einer sein Mailprogramm offen haben um mir zu schreiben, dass das alles nicht stimmt: Ich weiß es – löscht den Text und schick mir eine passende Formel 😉


Und die letzte Baustelle: Ich habe bereits seit längerem die „Frontpanel“-Anschlüsse meiner PCs (Power-Button, Reset, …) auf ein externes Bedienpult gelegt. Da mir die hardwired-Variante etwas auf den Keks ging und ich ein passendes Ethernet-Gateway bauen wollte gibts nun eine „Spezifikation“ für meine Schnittstelle.

Spaß mit Pulsen

Verdammter Schreibtisch – da liegt immer so viel rum, was einen auf dumme Gedanken bringt. Erst entfernte ich meine alte LED-Beleuchtung, welche sich aus einer umgebauten LED-Kopflampe zusammensetzte und durch die „echte“ Lampe nun keine Verwendung mehr hatte. Dabei musste ich mein Steckbrett wegräumen. Was ist denn da nochmal drauf? Schieberegister, Optokoppler, Controller – ah, Moment, das ist meine neue Brandmeldezentrale – ok, das was ich bisher aufgebaut habe. Aber da ist ja ein loser Controller – huh. Der besagte Controller war ein Testaufbau um per PWM der Piezosirene verschiedene Töne zu entlocken – nun dient er zusammen mit der alten 3-LED-Lampe als PC-gesteuertes Stroboskop. Echt ekelhafte Frequenzen sind da machbar…

Reparatur-Wochenende

Dieses Wochenende wird repariert – und zwar alles. Los ging es erst mal mit einer etwas ungeplanten Reparatur: Nach einer Party machte mein Kinn Bekanntschaft mit einer Treppe – Pech gehabt. Nach Kurzbesuch im Krankenhaus und etwas unbequemer Nacht dann an meine Elektronik. Erst auf Softwareebene: Mein Relaissystem hat ab und an etwas Packet-loss. Ungünstig, wenn dabei z.B. der Einschaltbefehl des Weckers untergeht. Ein simpler Wrapper prüft nun nach senden des Befehls den Status der Relais und sendet ggf. den Befehl erneut. Direkt danach musste das interne Mailingsystem dran glauben – durch den Wechsel des Mailservers auf meinen neuen Server sind die ins Stocken geraten. Großbaustelle des Wochenendes war die heimische ISDN-Strecke. Der letzte Apparat am Bus funktionierte nur sporadisch. Mit neuem LSA-Verteiler, stundenlanger Adersuche und Korrektur der Abschlusswiderstände sollte das Problem der Vergangenheit angehören. Letztes Projekt bildet fürs Erste eines meiner Funkmikrofone: Da über Funk viel Rauschen auftritt bekommt dieses einen optionalen Kabelanschluss verpasst. Funktioniert soweit auch ganz gut, allerdings ist das Signal sehr schwach und entsprechend immer noch Rauschen vorhanden.Nebenbei bastel ich noch mit WDS herum – die 15EUR-802.11g-Router waren einfach zu verlockend. Leider scheint WPA mit WDS nicht zu funktionieren – schade.

Revival der Wetterstation

13010

13015

13020

Über Nacht habe ich mich nochmal am Außensensor meiner Wetterstation probiert. Den hatte ich vor einigen Monaten in die Ecke gelegt, da die meisten Sensoren irgendwie nicht so wollten wie ich und mir die Lust vergangen war. Nun weiß ich auch warum: Ein Kabel war gebrochen… Der Sensor hat über Nacht einige Änderungen abbekommen und klebt nun im funktionellen Plastikgehäuse zum Test im Freien.

Kleiner Überblick über die Hardware:

  • AVR ATMega8L
  • SHT71, digitaler Feuchte-/Temperatursensor, ±3.0 %rF, ±0.4°C
  • MPX4115A, analoger Drucksensor, über OpAmp am ADC
  • Conrad „Regensensor“
  • RF02, Funkmodul
  • Stromversorgung: 7805 (µCs), TS317 (1,5V Regensensor)

Funktionen:

  • Normalbetrieb: Messwerte alle 90 Sekunden senden
  • SHT71/MPX4115A: Werte werden bei Bedarf ausgelesen
  • Regensensor: Interruptgesteuert
  • Debug-Jumper: Sendeintervall auf 5 Sekunden verkürzen
  • RS232-Schnittstelle zum debuggen

Am Stromverbrauch ließe sich noch etwas machen – momentan werden keine Sleep-Modi der µCs verwendet und auf die eigene Elektronik des Regensensors könnte man auch verzichten. Da der Verbrauch aber nur knapp über dem Leerlaufverbrauch des Netzteils liegt ist das für mich erst mal uninteressant.

Bisher ist noch kein Datensatz ohne Bitfehler angekommen, könnte aber daran liegen, dass der Empfänger noch auf meinem Basteltisch unter Tonnen von Kabeln begraben ist. An der endgültigen Position sollte der Empfang deutlich besser sein. Dank Fehlerkorrektur vermeldet das System trotzdem soeben folgendes:

RX DONE
Data: #####T 359 H 6965 P 849 R 10 C 6409#||

Oder grob übersetzt:

Temperatur
3,59°C (/100)

Luftfeuchte
69,65% (/100)

Luftdruck NN
1004,45 hPa
(((((Vss/1023*ADC)/(R2/R1+1))+Vref)/5+0,095*1111,11*Fkorr)/(1-((0,0065*h)/288,15)^5,255)) [sic!]

Regen:
45mm/m² (Ticks * 4,5mm/m², reset bei 100 Ticks)

Der letzte Wert ist eine einfache Prüfsumme (XOR)

Jetzt muss es nurnoch für einen Test regnen – die Gießkanne ist noch zugefroren…

–EDIT–

Zu früh gefreut… MESSFEHLER_T2 oder auch SHT71 ausgefallen. Scheint, als ob das Kabel noch immer Probleme macht…

Grillfest

OK, schlecht Idee… Ein loses Bauteil in meinem Netzteil sorgte Gestern für etwas schlechte Laune. Eigentlich kein Problem: Abmontieren, Anlöten, Einbauen. Da ich in der Zwischenzeit aber nicht mein komplettes System lahmlegen wollte noch schnell ein anderes Netzteil angeschlossen – 5V, passt schon. Tja, offenbar tat es das nicht. Irgendwie hatte das Ersatznetzteil eine Macke und lieferte statt der versprochenen 5V plötzlich 7V. Obwohl die (automatisch rückstellenden) Sicherungen meiner Nodes funktionierten und ich recht schnell den Übeltäter von der Leitung entfernte transformierte sich ein Atmega vom Steuerungschip für Temperaturmessungen zur Kochplatte. Dieser Node war nur notdürftig zusammengesteckt und offenbar hatte ich keine Sicherung draufgepackt. Verdammt.

Immerhin war dank SVN der Quellcode noch greifbar und ein neuer µC schnell auf der Platine dem Steckbrett. Die Sensoren haben die 7V offenbar überlebt und lieferten direkt augenscheinlich richtige Messwerte. Ein Gutes hat das Ganze: Der gewachsene Kabelsalat des Nodes ist jetzt wesentlich geschrumpft und wieder halbwegs nachvollziehbar – dieses mal mit Sicherung.

Aus 2 mach 6 – Restrukturierung des Relaissystems

Bisher war mein Relaissystem recht einfach gehalten: Ein Relais schaltete die Beleuchtung an, ein zweites Sound und TV. Was damals ganz passabel aussah hat sich mit der Zeit als Stromfresser herausgestellt. Möchte ich MP3s hören ist der Fernseher auf Stand-By, wenn ich gar die Kopfhörer bemühe laufen einige Verstärker sinnlos weiter. Beim Licht sieht es nicht anders aus: Insgesamt 3 Lampen hingen bisher auf einem Relais und brachten es (obwohl ich das dem Messgerät nicht ganz abnehme) auf 350Watt Verbrauch.

Dabei lässt sich hier einiges machen: Eine Lampe hängt an meiner Werkbank und wird nicht gebraucht, wenn ich in meinem Wohnbereich bin. Ebenso kann die Wohnbereichsleuchte abgeschaltet bleiben wenn ich längere Zeit an der Werkbank sitze. Die dritte Lampe sitzt in der Zimmermitte und kann mit 2 Fassungen (theoretisch) beide Bereiche beleuchten. In letzter Zeit waren hier keine Birnen drin, jetzt kann mit einer 78-LED-Lampe der Wohnbereich ganz passabel ausgeleuchtet werden – für knappe 3W kann man da nicht meckern. Neben den 3 Lampen sind nun Soundmixer, Lautsprecher und TV einzel angesteuert. Am besten mach ich mir jetzt einen Green-IT-Aufkleber auf die Tür, scheint ja modern zu sein…

Nächste Baustelle ist mein „Serverraum“ – hier werden momentan die Fliesenbestände meines Vaters verbannt und so Platz geschaffen die Rechner samt Peripherie nicht mehr auf einem Haufen sondern einigermaßen sinnvoll unterzubringen. Ideal wäre natürlich ein 19″-Schrank (vorallem da fast alle Geräte in 19″-Ausführung vorhanden sind), aber sorgt die Dachschräge für Probleme – in die Ecke passen definitiv keine 42HE – kleinere Schränke mit serverkompatibler Einbautiefe sind mir mit ca. 400EUR NP etwas zu teuer und gebraucht unauffindbar.

Anschluss im Kopfstand

Uhm – mist. Da wollte ich eigentlich meinen Laptop wieder flott machen und verpeils mal wieder. Nach dem Congress hatten sich die Kopfhörerbuchse und die USB-Anschlüsse zerlegt. Beides Dinge, auf die ich nicht wirklich verzichten kann, also Laptop in Einzelteilen ausbreiten und Lötkolben vorwärmen. Erste Operation: Kopfhörerbuchse. Diese war nach innen gedrückt, weder die internen Lautsprecher noch ein Kopfhörer funktionierte. Ein Bilck ins innere zeigt schnell warum: Die SMD-Buchse, welche u.A. auch die Umschaltung Speaker<->Headset macht, war nicht mehr auf der Platine fest. Dummerweise waren auch einige Anschlussteile beschädigt, trotzdem konnte ich immerhin dem Kopfhöreranschluss selbst wieder Töne entlocken, für die Boxen muss ich aber erst einen passenden Ersatz auftreiben.

Nächste Stelle: USB. Klare Sache, hier ist nichts zu retten – die Plastikteile im inneren, welche u.A. als Führung dienen, sind abgebrochen, die Kontakte sorgen also für Kurzschlüsse. Kein Problem – alte Ports demontiert und dann schaun wir mal. Ein alter USB-Hub hatte etwas, das ganz gut aussah: Dessen Ports hatten die selbe Größe und das selbe Layout, also fanden die schnell einen neuen Platz im Laptop. Inzwischen ist er wieder am Stück und mir fällt auf, wobei ich gepennt habe: Die USB-Ports stehen „auf dem Kopf“, sind also sozusagen invertiert. So wirds wohl nichts mit USB, eventuell werd ich auch hier in $Elektromarkt nach passenden Teilen Ausschau halten müssen.

Bastelarbeiten zum Jahresende

Eine Woche Urlaub hinterlässt spuren. Der Schreibtisch hat sich in ein riesiges Steckbrett verwandelt und der Boden dürfte sich irgendwo unter der zentimeterdicken Schicht der Testverkabelung befinden. Obwohl die Post offenbar schon Weihnachtsurlaub hat und mir noch einiges an Hardware fehlt konnte ich doch einige Punke auf meiner Liste abarbeiten:

Zum einen habe ich den schwachen Dollar etwas ausgenutzt und meinem Server noch ein paar Festplatten spendiert. Neben dem bisherigem Terrabyte für die Daten (4x250GB, SATA-1, RAID 5 = effektiv 750GB) gesellen sich jetzt 2 weitere Terrabytechen ins Gehäuse (4x500GB, SATA-2, Controller PCI-X 64Bit, RAID 5 = effektiv 1,5TB) und erhöhen damit die Kapazität aller 13 Festplatten auf physikalische 3,1TB. OK, irgendwie muss ich noch einen Lüfter dabeizaubern – bei Volllast kratze ich an der 40°C-Marke. Zwar sind die Platten laut Datenblatt bis 60°C ausgelegt, aber man muss ja nichts riskieren.

1186811863

Nächster Punkt ist mein zusätzliches „Brandmeldesystem“. Zwar fehlt immernoch die endgültige Platine der Zentraleinheit, aber inzwischen hängen meine Rauchmeldeeinheiten in den Räumen, können lokal im Bandfall einen akustischen Alarm geben und liefern bereits Temperaturmesswerte an meinen Server, der fleißig Diagramme zeichnet. Die Stromversorgung läuft über ein überwachtes Schaltnetzteil, ist mit mehreren dezentralen Bleiakkus gepuffert, jeder Sensor hat eine separat abgesicherte Leitung und alle Sensoren werden (wenn die Zentraleinheit läuft) ständig auf korrekte Funktion überwacht.

Zwischendurch hat sich dann noch meine Workstation zu Wort gemeldet – ein RAID1 schützt vielleicht vor Festplattenausfällen, aber gegen Probleme des Dateisystems (ext3) ist auch das machtlos. 4 Stunden später lief ein neues Gentoo auf dem System und dank den letzten Updates klappt trotz 64Bit jetzt sogar Flash. UT ist natürlich auch drauf 😉

Meine Wetterstation närt sich langsam wieder einem funktionsfähigem Zustand – inzwischen konnte ich die Fehlfunktionen auf einen kaputten Sensor zurückführen. Zusammen mit dem Funksender können so jetzt wieder Temperatur und Luftfeuchte ermittelt werden. Auch der Luftdrucksensor müsste funktionieren, ist aber noch nicht kalibriert. Der Regensensor ist hardwareseitig auch fertig, hier fehlt noch eine passende Ergänzung Software. Gänzlich fehlen meine letzten Wunschsensoren für Wind und Sonnenenergie, die danach irgendwann mal in Angriff genommen werden.

Bei iSys bin ich noch nicht weiter. Zwar schau ich mir zwischendurch immer mal wieder einzelne Softwareteile an, aber auch hier warte ich noch auf meine Platinenbestellung, denn Softwaretest auf dem Steckbrett sind recht aufwändig.

Ansonsten herrscht das übliche Weihnachtsgeraffel – Geschenke organisieren etc. Nebenbei noch Zertifikate erneuern (ja, ich weiß, der IMAP-Server fehlt noch) und packen müsste ich natürlich auch noch…