Home automation done in one afternoon

So there they are. The winter holidays. And you finally I have all the time to make that stuff I wanted to do. But what to do first.

Remote-control

The challenge is to build the things as fast as possible. So we start with the home automation thing I had in my mind for a few month now. First up we need a cool name so it does stick out of the masses. Well it’s name is going to be Herbert.
Next up we need a processing base station for WiFi integration.

Remote-controlled Socket

This nice Raspberry Pi will do the job pretty well I guess. I have a collection of 6 remote controlled wall-adapters for the power sockets and a remote-control to toggle 3 of them individually on and off. the all-off button also exists. Dismantling the remote I found a circuit-board with an ASIC, 12V battery, four tactile switches, 434MHz crystal, one LED and a 8bit-dip switch bank.

Basically just an ASIC

 A quick glance at the backside of the PCB shows that 7 of the 8 switches are connected to the ASIC. Looks like some sort of channel selection. Nice. The operation voltage for the remote is 12V so we can not directly hook the Pi up.
I need some sort of isolation between the two circuits. Something like a optocoupler or a relay. I just happen to have two dual-relay-modules laying around so why not use them. A really quick solder-job later the tactile switches had a wire attached as well a a wire to short one of the channel-selectors. Now all six sockets can be operated with one remote module. the all-off switch is not connected. So I can not switch them all off at once. For now. A look inside the socket adapters show that they also consist of an ASIC. This one isn’t even labeled! A switch mode power-supply and an antenna.

The socket-module seems not to answer the command in a way to determine of the signal was received. I will have a look into this later. For now one-way communication will have to be sufficient.

Everything hooked together like this:
5V -> Relay supply
3.3V -> Relay driver
GPIO -> Relay switch signal
The relays short the tactile switches ans one of the channel-selectors. 

The next step is software. The Pi I use has Raspbian installed. This is a Linux based on the Debian distribution and comes with python and bindings to access the GPIO directly from the script. With Python you get a HTTP-server up and running in no time.

from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
import RPi.GPIO as GPIO
class myHandler(BaseHTTPRequestHandler):

#Handler for the GET requests
def do_GET(self):

self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
# Send the html message
self.wfile.write("Hello World")
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT, initial=1)
GPIO.output(4, 1)

return

try:
#Create a web server and define the handler to manage the
#incoming request
server = HTTPServer('', 8000), myHandler)
print 'Started httpserver on ', server.server_address

#Wait forever for incoming http requests
server.serve_forever()

except KeyboardInterrupt:
print '^C received, shutting down the web server'
server.socket.close()

With little additions the first version of Herbert was built. Have look at the git if you want.

Funkstrom? Aw Yis!

Qi Empfänger
Qi (Aussprache: [ˈt͡ʃiː]) ist chinesisch und steht für Lebensenergie. Es ist aber auch ein Standard des Wireless Power Konsortiums um drahtlose Energieübertragung durch elektromagnetische Induktion für kurze Strecken zu vereinheitlichen und kompatibel zu halten. Es gibt mittlerweile eine Vielzahl von billigen chinesischen Sende- und Empfangsgeräte, die diese Art der Energieübertragung zum Laden eines Mobiltelefons verfügbar machen, ohne dass dafür die Garantie des Handys erlischt. Diese Module gibt es in verschiedenen Ausführungen und für viele verschiedene Positionen. Wie in den Bildern zu erkennen, sind sie so aufgebaut, dass das Flachbandkabel entsprechend der Konfektion des Moduls angelötet wird. Das Basismodul mit der Sendespule verfügt über einen Micro-USB Buchse und kann somit mit den gewohnten Ladegeräten verwendet werden.


Wie beim Empfänger zu sehen ist, besteht das Modul eigentlich nur aus einem Chip, dessen Beschriftung nicht lesbar ist und einigen passiven Bauteilen. Den größten Teil nimmt die Antennenspule in Anspruch. Sie ist zwischen den beiden Klebeflächen eingeklebt und somit auch ziemlich flach. Das Löten der Steckerverbindung ist jedoch nicht ganz einfach, da die Masseverbindung direkt auf die Kupferfläche der Platine geht und so eine große Wärmemenge aufgenommen werden kann. Nach ein paar Versuchen habe ich allerdings die Lötverbindung so hinbekommen, dass der Anschluss zur Seite des Moduls richtig herum und vor allem in der richtigen Länge herausschaut. Alles wieder zusammengeklebt, auf die Rückseite meines HTC One S geklebt und auf die Basisstation damit. Siehe da, es funktioniert nicht, das Ladelicht blinkt und das Telefon lädt nicht.

Die Basisstation des Ladegerätes ist in einem rechteckigen Kunststoff Gehäuse untergebracht. Das Gehäuse an sich ist sehr leicht und es macht nicht den stabilsten Eindruck. Die Angaben in der Bedienungsanleitung sind auf Chinglish und nicht sehr hilfreich. Nur das Netzteil, das dort erwähnt wird, war nicht in der Packung. Mist. Auf der Rückseite des Tischgeräts sind neben ‚Made in China‘ die üblichen Angaben gemacht, die darauf hinweisen, wo das Problem liegen könnte. Ich habe das Ladegerät an meinem Laptop betrieben. Da kommen aus dem USB Anschluss nur 500mA Strom und somit nicht genug für dieses energiehungrige Teil. Laut USB Spezifikation ist der Maximalstrom der über einen Port kommt 500mA aber das Gerät möchte 2A Eingangsstrom sehen. Also schnell einen der nicht standardkonformen chinesischen USB-Steckdosengeräte dran und siehe da, mit genug Power geht es. Das blaue Ladelicht ist dauerhaft an und das Telefon zeigt an, dass es geladen wird.

Der Inhalt der so leichten Ladestation hat mich dann doch gewundert. Ich habe damit gerechnet, dass eine schlecht gewickelte Spule mehr schlecht als recht an eine Platine gelötet ist auf der ein Schwingkreis das Ladesignal erzeugt. Dem ist nicht ganz so.

Innenleben der Ladestation

Neben einer durchaus ansehnlichen Spule (dieser Aufbau wird auch bei uns in der Firma verwendet) die auf einer Ferrit-Platte sitzt und stabil ins Gehäuse geklebt ist befindet sich ein Board mit mehreren ICs. Der Gehäusedeckel hat an der Stelle an der die Spule sitzt sogar eine Verjüngung, sodass die elektromagnetischen Wellen nicht unnötig durch das Gehäuse gedämpft werden. Die Zentrale Steuerung des Ladegeräts dürfte wohl der Microcontroller U3 im 20 Pin Gehäuse sein.

IC U3: Der Controller?

Die Beschriftung sagt, es handelt sich um einen MSP430G2558. Allerdings hat Texas Instruments keinen MSP mit dieser Bezeichnung im Programm, der Controller, der dieser Modellnummer am nächsten kommt ist der MSP430G2553. Auch das Datenblatt des 2553 zeigt an, dass Das hier verwendete Package nicht zweizeilig, sondern einzeilig beschrieben ist. Also weiter bei Ti.com nach Informationen zu dieser Controllerfamilie gesucht und auch einiges gefunden. Der Teil ‚G2‘ steht für einen Controller aus der Value Line Familie. Aber auch hier findet sich kein Exemplar, dass mit einer 8 im Namen endet. Ich gehe davon aus, dass es sich hier um eine Kopie eines MSP430 handelt, selbst wenn dazu ein Datenblatt existiert, besteht keine Garantie, dass die dort genannten Werte eingehalten werden können.

MOSFET
Betrachten wir ein weiteren Chip auf der Baugruppe. Die Spule wird von zwei ziemlich starken MOSFETs getrieben. Die DTM4606 sind in der Lage über 5A zu steuern. Jeder Chip beinhaltet zwei dieser FETs, jeweils ein P- und ein N-Kanal. Allerdings ist der P-Kanal bei beiden nicht verbunden. Weiterhin sind pro Spulenseite 4 NPN Transistoren verbaut, von denen aus der Controller die MOSFETs steuert.

Operationsverstärker

Eine weitere sehr interessante Baugruppe ist auf der Platine zu finden. Ein vier in einem Gehäuse Operationsverstärker, was die auffallend vielen Kondensatoren und Widerständen erklärt. Es sieht so aus, als würde die Spule neben der reinen Aussendung der Energie auch noch eine Überwachung des Ladezustands durchführen. Das erklärt, weshalb das Ladegerät in der Lage ist zu erkennen, ob ein Gerät in Reichweite der Sendespule ist, aber nicht genügend Energie übertragen wird um im Empfänger einen Ladestrom zu erzeugen, wie es mit dem Betrieb am USB-Port offensichtlich der Fall war.