Gehäuse Einbau des Prototypen

Nun habe ich den Prototypen soweit aufgebaut. Jetzt soll er ja auch noch in den Hausbus integriert werden.

Hierzu habe ich mir ein Gehäuse besorgt, dass mir für den Außenbereich geeignet erscheint. Es ist ein Polystyrol, Polycarbonat Gehäuse mit der Schutzart IP66.

dav

Polystyrol Gehäuse für Bewegungsmelder

Hier habe ich schon die Elektronik des Bewegungsmelder in das Gehäuse eingebaut.

dav

Komplettgerät Prototyp Bewegungsmelder

Hier das komplette Einbau des Bewegungsmelders.

Der Bewegungsmelder wird über einen M12 Stecker an den Hausbus angeschlossen. Über diesen Stecker erfolgt die Spannungsversorgung und den Anschluss an die Busleitungen.

Veröffentlicht unter Bewegungsmelder | Kommentar hinterlassen

Prototyp Aufbau des Bewegungsmelders

Hier habe ich nun die Zusammenfassung für den Aufbau eines Prototyps des Bewegungsmelders den ich in den letzten Monaten gebaut habe.

Aufbau und Test des Verstärkers mit einem Breadboard.

Aufbau Verstärker und Radarmodul mit einem Breadboard

Aufbau Verstärker und Radarmodul mit einem Breadboard

Der erste Aufbau des Verstärkers mit einem Breadboard. Mittels des Testaufbaus habe ich getestet ob die Signalaufbereitung des vom Radarmodul gelieferten Signals auch funktioniert.

Die Test sahen gut aus, also geht es nun an den Aufbau mittels einer Prototyp Leiterkarte. Schon in Vorbereitung dass dieser Aufbau später mit dem Hausbus Basisboard integriert werden kann und das alles in ein Gehäuse eingebaut werden soll.

Aufbau eines Prototypen

Prototyp es Verstärkers mit Radarmodul

Prototyp es Verstärkers mit Radarmodul

Hier habe ich nun den Verstärker und das Radarmodul auf eine Lochrasterleiterkarte aufgebaut.

Als Mikrocontroller verende ich den XMC1300 Prozessor von Intel. Ich arbeite schon seit längeren Beruflich mit den XMC-Prozessoren. Hier verschiedene Dinge ausprobieren die ich eventuell in einem größeren professionellen Projekt verwenden kann.

XMC Basisboard

Als Hausbus Basis Steuerplatine habe ich letztes Jahr ein Board mit dem XMC 1300 Mikrocontroller von Infineon erstellt. Auf diesem Board ist die  nötige Peripherie wie die Busanbindung, Spannungsversorgung, Signalisierung und Debugschnittstelle vorhanden. Hier noch mein Board mit der galvanischen Trennung des CAN-Busses.

Hausbus Basisplatine mit dem XMC1300

Hausbus Basisplatine mit dem XMC1300

Zusammen mit dem Verstärker für das Radarmodul und dem Basisboard sieht nun mein Aufbau folgendermaßen aus:

Verstärker und Basisboard

Verstärker und Basisboard

Jetzt habe ich den Verstärker für das Radarmodul Signal und mein Hausbus Basisboard zusammen gebracht.

Nun geht es darum eine Software zu erstellen welche das Signal für des Radarmoduls auswertet.

Software Bewegungsmelder

Für die Kommunikation über den Hausbus habe ich schon seit längeren ein Framework entwickelt. Das Funktioniert soweit, so dass ich mich nicht mehr um die Kommunikation kümmern muss.

Der Softwareteil für die Aufbereitung und Auswertung der Signale des Bewegungsmelders musste neu erstellt werden.

Dabei bin ich folgendermaßen vorgegangen:

  • Damit das Radarmodul nicht ständig an ist, habe ich einen LDR (Lichtempfindlicher Widerstand) in die Schaltung mit integriert.
    • Erst wenn es dunkel wird, wird die Spannungsversorgung für das Radarmodul zugeschaltet. Hierzu benutze ich ein Reed-Relais aus meinen alten Fundus.
  • Das Signal des Radarmoduls wird mittels eines integrierten AD-Converters des Mikrocontrollers digitalisiert, die Abtastrate ist hier im 1ms Intervall.
  • Das Abgetastete Signal wird nun einem FFT-Softwaremodul zugeführt.
    • Ich habe hier ein FFT-Softwaremodul ausgewählt, dass auf Integer Zahlen basiert, da der XMC1300 über keine Floatingpoint Unit verfügt, im Gegensatz zu seinem größeren Bruder der XMC4500
    • Aller 100ms berechne ich das FFT Spektrum. Der Prozessor benötigt zu Zeit 82ms für die Berechnung des FFT-Spektrums. Die verbleibenden 18ms bleiben für den Rest.
    • Der Mikrocontroller hat zusätzlich einen kleinen Mathematischen Prozessor integriert jedoch benutze ich diesen zur Zeit noch nicht. Da mir die Performance ausreicht.
  • Über die Auswertung des FFT-Signals wird nun eine Bewegung erkannt.
    • Wird keine Bewegung detektiert, dann gibt es kein Signal in dem FFT-Spektrum
    • Bewegt sich jedoch ein Objekt vor dem Radarmodul, dann kann man einen Ausschlag auf dem FFT-Signal messen.
    • Je nach dem wie hoch der Ausschlag ist und in welchem Frequenzbereich sich der Ausschlag befindet, wird das Signal als Bewegung registriert.
  • Wird eine Bewegung erkannt, dann wird über das Hausbussystem ein entsprechendes Kommando bzw. Information gesendet.
    • Bei dem Kommando kann es sich um ein Befehl handeln, welcher eine oder mehrere Lampen einschaltet.
  • Die Konfiguration wann welche Befehle gesendet werden, können über das Hausbussystem gesetzt werden.
    • Hierzu habe ich den „Hausbus-Manager“ erstellt. Dieser kann mit jedem Gerät im Hausbus kommunizieren.
    • Somit kann ich jeden Bewegungsmelder individuell Konfigurieren.

Das war eigentlich die Kurzbeschreibung zur Software für den Bewegungsmelder.

Screenshot Konfiguration Bewegungsmelder

Screenshot Konfiguration Bewegungsmelder

Hier der Screenshot des Hausbus-Managers für die aktuelle Konfiguration des Bewegungsmelders.

Veröffentlicht unter Bewegungsmelder | Kommentar hinterlassen

Testen von einem Radarmodul

Ich bin immer wieder über die Radar Technik gestolpert.

Natürlich macht mich das Neugierig. Mit etwas Nachforschung bin ich auf verschiedene Radarmodule gestoßen. Ich wollte kein teures Modul verwenden, sonst hätte ich mir ja ein Bewegungsmelder kaufen können.

Letztendlich habe ich mich für das Modul „RSM-3650“ entschieden. Diese Modul hat eine gültige CE-Zulassung und ist Preislich noch OK.

Es gibt noch verschiedene „China“ Module auf Ebay, jedoch haben diese Module keine Zulassung und im allgemeinen wird von diesen Modulen abgeraten.

Ich habe mir nun das „RSM-3650“ Modul bei Conrad bestellt. Die Ausführung des Moduls ist sehr spartanisch gehalten.

Das Modul arbeitet nach dem Dopplerprinzip. Die im Mikrowellenbereich gesendete Signale werden von Objekte reflektiert und im Modul mittels eines Mischers mit dem Sendesignal überlagert.

Bei Phasendifferenzen, also Bewegung zum Modul oder vom Modul weg, liefert das Modul ein Ausgangssignal.

Ausgangssignal vom Modul nur circa 300µV 

Durch das geringe Ausgangssignal ist es  für eine direkte Weiterverarbeitung in einem Mikrocontroller nicht geeignet.

OK, nun muss ein Verstärker her.

Erstmal muss die Verstärkung ermittelt werden, damit das Signal gut ein einem Mikrocontroller mittels einem AD-Converter digitalisiert werden kann.

Um eine gute Signalaufbereitung im Mikrocontroller zu erreichen wäre ein Signalpegel von 1,5VoltSS gut.

Das entspricht einer Verstärkung von: 1,5VSS/300µV = 10000.

Die Verstärkerschaltung

Nachdem ich meinen Tietze-Schenk zur Rate gezogen habe, habe ich mich für einen kaskadierten Verstärker entschieden.

Bei diesem Verstärker sind einfach zwei invertierende Verstärker hintereinander geschaltet.

Mit ein bischen Simulation habe ich dann auch die notwendige Filterung noch abgestimmt.

Verstärker und Bodediagramm

Verstärker und Bode-Diagramm

Ich habe hier zwar ein Verstärkung von etwas über 1000 jedoch eine gute Grundlage mit der Realisierung zu starten.

 

Veröffentlicht unter Bewegungsmelder | Kommentar hinterlassen

Vorplanung Bewegungsmelder

Ich habe beabsichtigt mein Hausbus mit Bewegungsmelder zu erweitern.

Einen Bewegungsmelder von der Stange wollte ich nicht verwenden. Wie es meine Art ist will ich hier meine eigene Idee umsetzen.

Zur Spezifikation:

  • Integration in das Hausbussystem
  • Soll Autark arbeiten
  • Soll selbständig beliebige Lampen wie Treppe, Carport, Garten steuern
  • Erkennung von Bewegung im Bereich von 1m bis 5m Entfernung (ist ja ein Bewegungsmelder)

Vorüberlegungen:

Um eine Bewegung zu erkennen habe ich als erstes Ultraschall Module vom Typ SRF05 ausgewählt.

Diese Module benutze ich schon bei der Bestimmung der Füllhöhe meiner Zisterne. Dort haben sie sich bewährt und funktionieren schon seit Jahren.

Gesagt getan. Nun habe ich im letzten Winter ein Modul für mein Hausbus entwickelt, dass mit einem Ultraschallsensor SRF05 ausgestattet ist.

Meine Test in meiner Werkstatt waren zufriedenstellen.

Outdoor Ultraschall Bewegungsmelder 

Nun habe ich den Bewegungsmelder an meinem Treppenzugang so platziert, dass Personen die sich auf der Treppe bewegen erfasst werden können.

Leider hat das relativ schlecht funktioniert. Bei Entfernungen >1m wurde die Bewegung schlecht detektiert. Bewegungen im Bereich < 1m konnten gut detektiert werden.

Für einen Bewegungsmelder im Outdoor Bereich ist das jedoch nicht ausreichend. Bei dem SRF05 kann man jedoch relativ wenig einstellen.

Ergebnis ist, dass der SRF05 für diese Zwecke für mich nicht geeignet erscheint.

Weitere Überlegungen: 

Alternative wäre ein anders Ultraschall-Modul zu verwenden, oder hier eine Eigenentwicklung mit einem Ultraschall-Sensor.

Jedoch war ich von der Ultraschalltechnik so enttäuscht, dass ich mich gänzlich einer anderen Technik zugewandt habe.

Radar

Nun habe ich mich der Radar Technik zugewandt.

Veröffentlicht unter Bewegungsmelder | Kommentar hinterlassen

Es ist doch wieder spät geworden.

Hallo,

ich bin immer noch damit beschäftigt den automatischen Datenaustausch zwischen den Geräten zu Programmieren.
Hierfür habe ich neue Telegramme definiert. Auch habe ich die erste Testimplementierung umgesetzt. Jetzt habe ich den ganzen Abend damit verbracht die neuen Telegramme zu testen. Nun habe ich keine Lust mehr, da es doch schon spät ist.

Veröffentlicht unter Hausbus | Kommentar hinterlassen

Es hat sich einiges bewegt.

Zisternensterung und die noch von Hand gelötete Füllstandsüberwachung

Zisternensterung und die noch von Hand gelötete Füllstandsüberwachung

Ich habe schon länger nichts mehr geschrieben.
Nun ist Zeit den aktuellen Stand meines Projekts zu posten.

In der letzten Zeit habe ich an der Software auf Controllerebene mit C, und eine Applikation mit C# für den PC geschrieben.

Es ist an der Zeit das Projekt kurz zu erläutern.

  • Über eine Drahtgebundene Kommunikation sollen verschiedene Geräte miteinander Vernetzt sein.
  • Die Geräte (Busteilnehmer) tauschen Daten untereinander aus. Somit ist keine Steuerung durch ein Zentrales Gerät notwendig.
  • Die Konfiguration wird Zentral durch eine Leitstelle durchgeführt.

Die Kommunikationssoftware für die Busteilnehmer ist in der Basis erstellt.
Es fehlt noch die automatische Datenübertragung zwischen den Busteilnehmern.

Zum Beispiel soll die Zisternensteuerung ja erfahren wie voll oder leer die Zisterne ist.
Ist die Zisterne leer dann soll die Zisternensteuerung entsprechend die Zisterne wieder füllen.

Es gibt zwei Möglichkeiten: entweder fragt die Zisternensteuerung die Füllstandsüberwachung in der Zisterne ab.
Oder Möglichkeit zwei ist, dass die Füllstandsüberwachung der Zisterne den aktuellen Füllstand automatisch mittteilt.

Ich habe mich in diesem Fall für die Möglichkeit eins entschieden, für das Abfragen des Füllstands. Bei der Steuerung der Beleuchtung (spätere Ausbauphase) soll ja die Lampe sofort erfahren wenn sie An/oder Aus gehen soll, dann muss der Taster natürlich sofort die entsprechende Lampe informieren (Möglichkeit zwei).

Wie wird dieses Realisiert.
Ich habe mich da etwas an den gängigen Feldbusprotokolle orientiert, der Austausch der Daten zwischen den Busteilnehmern funktioniert ähnlich wie das unter CANOpen realisiert ist. Nur dass ich hier entscheiden kann ob ich Polle, oder Daten automatisch gesendet werden.

Ein wichtiger Punkt ist, wie die Busteilnehmer erfahren mit welchem Busteilnehmer sie Daten austauschen sollen.
Dazu habe ich in der letzten Zeit ein Programm mit C# geschrieben, dieses Programm  habe ich einfach mal Hausbus-Manager genannt.

Dieses Programm habe ich über einen USB-Seriell-CAN Adapter (bastel, bastel ) an den Hausbus angeschlossen. Über einen Scan-Abfrage kann ich abfragen welche Geräte am Bus angeschlossen sind.

Aus den angeschlossenen Geräten kann ich die Konfiguration auslesen und entsprechend ändern. Somit kann ich die Busteilnehmer miteinander vernetzen.

Veröffentlicht unter Hausbus | Verschlagwortet mit | Kommentar hinterlassen

Schnittstelle funktioniert, nun folgt PC Applikation für Komunikation

Hallo,
die CAN-Schnittstelle funktioniert nun, so dass ich mit dem Board kommunizieren kann.

Der Austausch von Telegrammen funktioniert auf unterster Ebene. Da ich mit mehreren Boards gleichzeitig Informationen austauschen möchte, muss ich noch das verwendete Protokoll etwas aufpimpen. Zur Zeit verwende ich ein recht einfaches Protokoll, die nähere Beschreibung folgt etwas Später.

Nächster Schritt ist, dass ich ein PC-Programm erstelle, das mit mehreren Boards gleichzeitig Kommunizieren kann. Mein altes Programm funktioniert nur von Punkt zu Punkt.

Für die Erstellung des PC-Programms verwende ich C#, da dieses für mich der schnellste Weg ist, eine PC-Applikation zu erstellen.

Board mit Schnittstelle.

Board mit Schnittstelle.

Veröffentlicht unter Hausbus | Verschlagwortet mit | Kommentar hinterlassen

Prozessor funktioniert, Schnittstelle hat noch einen Fehler

Nun habe ich die Leiterkarte weiter in Betrieb genommen. Ich habe noch einen alten Restbestand von Atmega16 Bausteinen. Für diese Prozessoren habe ich die Leiterkarte ausgelegt.

Eine kleine Testsoftware habe ich auch schon geschrieben. Hierzu habe ich WINAVR benutzt. Eclipse benutze ich als IDE.

Die Testsoftware steuert die Leuchtdioden an und gibt über die Serielle Schnittstelle die Versionsnummer ausgibt.

Leuchtdioden Ansteuerung funktioniert. Leider ist mir beim CAN-Tranceiver ein Fehler unterlaufen, hier muss ich leider etwas umbauen.

Board mit Prozessor, Can-Tranceiver und Spannungsversorgung

Board mit Prozessor, Can-Tranceiver und Spannungsversorgung

Veröffentlicht unter Uncategorized | Verschlagwortet mit , | Kommentar hinterlassen

Inbetriebnahme Spannungsversorgung

So,nun ist schon der erste Teil in Betrieb genommen worden.

Die Spannungsversorgung funktioniert.
Hier habe ich einen Schaltregler LM2594 verwendet. Der macht aus der 12V Versorgungsspannung eine geregelte 3,3Volt Spannung.

DSCF5831_

Veröffentlicht unter Uncategorized | Verschlagwortet mit , | Kommentar hinterlassen

Nun geht es weiter

Hallo,
leider konnte ich mit meinem Projekt doch nicht so richtig über Weihnachten durchstarten. Da ich zwischenzeitlich den Luftwährmetauscher den ich schon länger bauen wollte nun endlich fertig gestellt habe.

Für die Steuerung der Lüftermotoren und Überwachung, Lufttemperatur und der Lüftmenge soll über das angefangene Projekt benutzt werden.
Das aber erst später.

Aber erst eins nach den Anderen, ich brauche die Steuerung erst für die Überwachung des Füllstands der Zisterne und entsprechendem nachfüllen der Zisterne mir Frischwasser.

Veröffentlicht unter Uncategorized | Kommentar hinterlassen