Archiv der Kategorie: Elektronikbastler

Beiträge über Bastelprojekte zum Thema Elektronik
zum Beispiel: Ein Radio mit Arduino, Geigerzähler…

VFD-Uhr mit Datum, Wochentag und Sound

Loading

Einen neuen Bausatz zum Thema Vakuum Fluoreszenz Display habe ich von Günter (gr-projects) erhalten. Vielen Dank!

Es ist eine Uhr mit Vakuum-Fluoreszenz-Anzeigeröhren der Typen IV-11 für die Stunden, Minuten und Sekundenanzeige und einer IV-18 Röhre für die Datumsanzeige, sowie IV-3 zur Darstellung des Wochentages. Die Uhr besteht aus einem Mainboard mit Spannungsversorgung, CPU, MP3-Modul sowie den Treiberbausteinen für die Röhren. Die Uhrzeit wird über einen extern angeschlossenen DCF-77 Empfänger eingestellt und synchronisiert. Später wird das Board noch mit einer Realtimeclock-Schaltung erweitert.  Die Energieversorgung für die gesamte Schaltung kommt von einem kleinen Steckernetzteil mit 12V/1.2A. Die gesamte Stromaufnahme beträgt ca. 450mA. Als besonderes Feature besitzt die Uhr ein kleines MP3-Soundmodul mit MicroSD-Kartenslot. Dieses erhält vom Microcontroller über die serielle Schnittstelle zu jeder viertel-Stunde ein entsprechendes Kommando, ein MP3 File abzuspielen. So wird die viertel Stunde mit einem „Gongschlag“, die halbe Stunde mit zwei und die dreiviertel Stunde mit drei „Gongschlägen“ signalisiert. Zur vollen Stunde wird die entsprechende Uhrzeit angesagt.

Die gesamte Schaltung ist in ein Alu-Acryl Gehäuse eingebaut. Alle Formteile sind gefräst und werden  verschraubt. Ein Video vom Aufbau und der Funktion ist unten zu sehen:

ABS Steuergerät und der Wackelkontakt

Loading

In den modernen Kraftfahrzeugen ist ja massenweise Elektronik verbaut, die über unterschiedliche Bussysteme miteinander kommuniziert. Zahlreiche Steuergeräte verarbeiten Sensordaten und führen damit Regel- und Steueraufgaben durch und senden diese an Aktoren und Geber. Doch leider ist viel Elektronik, vor allem die hochintegrierte, auch fehleranfällig. Die rauhen Umgebungsbedindungen, die in einem Fahrzeug herrschen, ins besonders im Motorraum, lassen diese Komponenten schneller altern. So treten immer wieder Ausfälle von Komponenten auf. Manchmal sind es nur Kleinigkeiten, wie Kontaktfehler durch zum Beispiel kalte Lötstellen. Diese Fehler lassen sich oft auch einfach reparieren, ohne gleich ein neues Teil kaufen zu müssen. Oder zumindest provisorisch reparieren, um das Fahrzeug im betriebsfähigen Zustand zu halten, bis ein Neuteil verfügbar ist.

Dieses Mal habe ich ein Auge auf ein Steuergerät eines BMW geworfen, das für die Bremsdruckunterbrechung im Radblockier-Fall zuständig ist – also ein ABS – Steuergerät. Die ABS-Kontrollleuchten im Tachomodul signalisierten durch ein Dauerleuchten, dass hier ein Defekt vorliegt. Die Radsensoren und Verbindungsleitungen zum Steuergerät kamen als Fehlerursache nicht in Betracht – es konnte dann nur das Steuergerät sein. Vom Hydraulikblock getrennt landet es auf meinem Tisch.

Bosch ABS-Steuergerät 34.52-6750345

Die Elektronik verbirgt sich unter einer verschweißten Kunststoffabdeckung. (im Bild direkt vor dem Stecker zu sehen). Diese lässt sich nur mit gröberer Gewalt öffnen. Ich wählte hier eine kleine Trennscheibe für den Dremel, mit dem ich die Klebestellen an drei Kanten vorsichtig auftrennen konnte.

Schnitt entlang der Klebeschweissstelle

Im Bild kann man die Schnittstelle erkennen. Die hintere Seite unter dem Stecker ist für die Trennscheibe nicht zugänglich. Das ist aber auch nicht notwendig, da der Deckel so zum Stecker hin hochgebogen werden kann und nicht vollständig entfernt werden muss.

Deckel ist hochgeklappt

Nun kann der Deckel hochgeklappt werden. Darunter kommt die Elektronik zum Vorschein. Hier ist nun höchste Vorsicht geboten. Die Trägerplatine (vermutlich Rogers-Material) ist lediglich mit Silikongel geschützt. Und darunter befinden sich nicht nur einige SMD-Komponenten, sondern auch direkt die DIEs (also die Siliziumhalbleiter – so wie sie vom Wafer geschnitten werden, bevor sie in einem Gehäuse vergossen und gesichert werden) Diese wiederum sind auf die Platine geklebt und mit Bonddrähten zu dieser verbunden. Die Drähte haben teilweise einen Durchmesser von 25µm und man kann sich vorstellen, die sind auch ziemlich empfindlich. Geschützt sind sie lediglich durch das Silikongel, das immer extrem dauerelastisch ist. Diese Konstruktion macht den extremen mechanischen Materialstress, der durch die thermischen Gegebenheiten im Motorraum und Vibrationen besteht, vermutlich am besten mit…

Betrachtet man die Platine genauer, so ist zu erkennen, dass auch die Verbindungsleitungen zur Außenwelt (Stecker und Elektromagnete) mit unterschiedlich dicken Bonddrähten ausgeführt sind. Und hier ist in den meisten Fällen auch der Fehler zu suchen. Manche Bondstellen brechen.

Die ersten fünf dicken Leitungen von links sehen unter dem Mikroskop wie folgt aus:

Bruchstellen an den Bondstellen

Wenn man ganz genau hinsieht kann man die Bruchstellen erkennen. Mit einer Pinzette lassen sich die defekten Leitungen einfach herunterziehen.

defekte Bonddrähte sind entfernt

Sind die defekten Bonddrähte entfernt, dann muss das Silikongel vorsichtig zur Seite geschoben werden. (Ideal wäre an dieser Stelle, das gesamte Gel zu entfernen – das würde eine professionelle Reparatur unter dem Wirebonder ermöglichen) Da ich die Möglichkeit zur Gelentfernung leider nicht habe, muss hier gelötet werden. Aber auch hier ist doch ein wenig Geschick von Nöten.

Neue Verbindungsleitungen

Es sieht zwar nicht perfekt aus, aber die Lötverbindungen halten und haben Kontakt. Ich habe hier lackierten Kupferdraht mit 100µm Durchmesser genommen, da die Silberbonddrahtbestände in dieser riesigen Dimension nicht vorrätig sind…

Jetzt kann das fehlende Silikongel ersetzt werden. Ein vorsichtiges Verstreichen des umliegenden ist bedingt ebenfalls möglich. Der Deckel kann nun mit Kleber wieder verschlossen und versiegelt werden. Hier bietet sich der KFZ-Scheibenkleber an.

Wenn alles geklappt hat und keine weiteren Bonddrähte (auch auf dem Board selbst) beschädigt sind, dann sollte das Steuergerät wieder arbeiten.  Hier ein kurzes Video zur Reparatur:

 

 

 

Raspberry PI – OS tuning

Loading

Der Raspberry PI wird mittlerweile ja in vielen Anwendungen im Dauerbetrieb eingesetzt und hat dort unterschiedlichste Aufgaben zu erfüllen. Manchmal ist er ein Webserver, eine Wettersensorstation, ein NAS, oder eine Steuerung. Was auch immer. Doch meist hat ein Raspberry Board nur eine dieser Aufgaben zu erfüllen. Die Betriebssysteme bieten jedoch wesentlich mehr Funktionen und Features an, die nicht unbedingt für alle Anwendungen benötigt werden, aber trotzdem mitlaufen und Prozesszeit benötigen, oder die SD-Karte mit unnötigen Schreibzyklen belasten. Das lässt sich aber ändern.

Mein Kollege Mario Wehr hat eine Sammlung an Optimierungen zusammengestellt, die ich hier mit seiner Genehmigung veröffentlichen darf.

Xserver/Windomanager disablen
cmd: raspi-config Menp -> Boot Optins -> Desltop/CLI -> Console only with Login

GPU Shared MEM auf 16MB
cmd: raspi-config Menü -> Advanced Config -> Memory Split ->16MB

Interfaces Disable
cmd: raspi-config Menü -> Interfaced -> Alle Interfaces disablen

Entfernen nicht benötigter Kernelmodule
Bringt: Mehr Speicher für Userspace.
Schnellerer Boot.

Kernel module werden unter:
/etc/modprobe.d/{files}
ge-Blacklistet.

IPV6 disable

File: ipv6.conf
alias net-pf-10 off
alias ipv6 off

File: raspi-blacklist.conf
blacklist ipv6

Sound disable

File: raspi-blacklist.conf

blacklist snd_bcm2835
blacklist snd_soc_bcm2708_i2s
blacklist snd_soc_core
blacklist snd_compress
blacklist snd_pcm
blacklist snd_page_alloc
blacklist snd_seq
blacklist snd_seq_device
blacklist snd_timer
blacklist snd

Bluetooth disable

File: raspi-blacklist.conf
blacklist btbcm
blacklist hci_uart

File: /boot/config
dtoverlay=pi3-disable-bt

cmd: systemctl disable hciuart

UIO disable

File: raspi-blacklist.conf
blacklist uio_pdrv_genirq
blacklist uio

Verschieben von /Temp /Log ins Ram
Bringt: Die SD hält um einiges länger Schnellerer Boot

File: /etc/fstab
tmpfs /tmp tmpfs defaults,size=8M 0 0
tmpfs /var/tmp tmpfs defaults,size=8M 0 0
tmpfs /var/log tmpfs defaults,size=8M 0 0

Log anpassen
Bis auf Kernel/Daemon können alle Logs abgeschalten werden.
File: /etc/rsyslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log
#mail.info -/var/log/mail.info
#mail.warn -/var/log/mail.warn
#mail.err /var/log/mail.err

Log-Rotating
Da der tmpfs Space klein ist -> logrotate auf 1 bzw daliy
File: /etc/logrotate -> /etc/logrotate.d/{files}

Hameg Oszilloskop HM1508

Loading

Ein besonderes Dankeschön möchte ich in diesem Beitrag an die Firma Rohde und Schwarz Österreich GmbH für die kostenlose Überlassung eines Hameg Mixed Signal CombiScope HM1508 aussprechen. Vielen Dank für diese Spende.

Das Hameg HM1508 ist ein Vier-Kanal Oszilloskop mit zwei analogen Kanälen und zwei Logic-Eingängen. Die Samplerate beträgt 1GS/s bei einer Speichertiefe von 106 Punkten pro Kanal. Die analoge Bandbreite beträgt 150MHz. Das Gerät ist noch mit einer klassischen Monochrom-Anzeigeröhre ausgestattet und bietet etliche Funktionen der modernen Speicheroszilloskope.

So sind beispielsweise Messungen am Signal im Amplituden- und Zeitbereich per Cursor und auch automatisch möglich.

Die Datenpunkte werden per Interpolation (sinx/x, pulse, bzw. linear) verbunden. Die Dataaquisition kann in den Modi: single, average, envelope, roll und refresh erfolgen. Die vertikale Darstellung ist in den Bereichen von 1mV bis 20V pro Division einstellbar. Weiters bietet das Hameg einige Math-Funktionen sowie die Moglichkeit, die erfassten Daten zu speichern und exportieren.

Eine USB-Schnittstelle, sowie eine RS232 DB9 Buchse dienen als Schnittstelle zur Aussenwelt.

Ebenso im Lieferumfang enthalten: Die Signalprobes (eine pro Channel)

Die Abmessungen betragen: 285 x 125 x 380 mm 
Gewicht: 5,6kg
Leistungsaufnahme: 35W bei 240VAC und 50Hz

 

USB Camera an Raspberry PI mit OSD

Loading

In diesem Projekt stelle ich eine Anwendung des Raspberry PI im Bereich Bilderfassung vor. Es gibt zu diesem Thema etliche Foren und Beiträge im Internet, doch eine direkt geeignete Lösung war nicht zu finden. Darum poste ich hier meine Lösung.

Als Aufgabenstellung  soll eine Platinen Bohrmaschine der Firma Lemmen von der optischen Version (Bohrlochzentrierung per Lupe) in eine opto-elektronische Version (Bohrlochzentrierung auf Bildschirm Monitor) kostengünstig umgebaut werden.

Lemmon „Variodrill“ Bild: Herstellerwebsite

Die Bohrmaschine soll dahingehend modifiziert werden, dass die zur Sichtkontrolle verwendete Lupe mit sechsfacher Vergrößerung durch eine Kamera ersetzt wird. Das Kamerabild soll auf einem LCD Computermonitor dargestellt werden. Eine geeignete Kamera war schnell gefunden. Hier gibt es günstige Mikroskop Kameras, die eine variable Vergrößerung bis 200fach erreichen. Eine solche Kamera ist beispielsweise die DigiMicro Scale von „dnt“. Allerdings ist das eine USB-Kamera, die einen PC und eine geeignete Software benötigt, um ein Bild anzuzeigen. Und ein PC ist wiederum nicht unbedingt eine kostengünstige Lösung. Weiters käme auch eine CVBS Kamera (also eine analoge Videokamera) in Frage, die einfach an einen geeigneten Bildschirm (oder PC-Monitor mit Upscaler/Converter) geschaltet werden müsste. Aber das ist nicht zeitgemäß …

Weiters soll das Bild ja nicht nur das Bohrloch vergrößern, sondern auch noch die Vorzüge eines Zielvisieres, also eines Fadenkreuzes oder Kreisabsehens implementieren. Dafür bräuchte man im analogen Bereich wieder einen OSD- (OnScreenDisplay) Generator oder zumindest einen Edding, der das Kreuz gemalt auf dem Bildschirm darstellt 🙂

USB Mikroskop Kamera

Also die Varianten PC oder analoges Kamerasystem fallen durch. Aber es gibt ja noch den Raspberry PI, den kleinen Einplatinencomputer mit einem integrierten USB-Host und wunderbaren Grafikfähigkeiten.  Das Projekt wird also mit einem Raspberry PI 3 realisiert.

Als Betriebssystem kommt das Raspbian-Jessi zur Anwendung. Das Image kann hier heruntergeladen werden. Nach dem Entpacken der ZIP Datei und dem Beschreiben der MicroSD Karte mit dem Win32DiskImager, kann der Raspberry gebootet werden. Jetzt gibt es zwei Möglichkeiten an den Raspberry eine Kamera anzuschließen:

-mittels Flachbandkabel an den Kamera Port (hier kann nur die PI-Kamera angeschlossen werden)

-oder über den USB-Port jede USB2.0 Kamera.  

Voraussetzung hierbei ist, dass die Cam auch erkannt wird. Hier kann mit >lsusb in der Linux Konsole nachgesehen werden, ob die angeschlossene Cam auch in der Devicelist erscheint. Als einfaches Tool, um am Desktop das Kamerabild zu sehen, kann guvcview verwendet werden. Das würde jetzt auch schon genügen, wenn man nur das Bild sehen will. Unser Ziel ist jedoch, in das Kamerabild ein Overlay mit Fadenkreuz einzublenden.

Das lässt sich in Python mit der PI-Kamera und der der picamera Library wunderbar lösen. Die Library besitzt eine integrierte Overlayfunktion. Es geht aber auch mit der USB-Kamera. Hierfür müssen ein paar Module installiert werden. In der Linux Konsole sind folgende Zeilen einzugeben:  

zuerst einmal die üblichen Aktualisierungen:  

sudo apt-get update >sudo apt-get upgrade

dann installieren wir numpy

sudo apt-get install python-numpy
und danach das Bildverarbeitungstool schlechthin: OpenCV

sudo apt-get install python-opencv

Die Python-Version die ich hier verwende ist 2.7.9

Jetzt kann ein Python Skript erstellt werden, das die USB-Kamera initialisiert, und in einer Endlosschleife die Bilder an ein Desktopfenster übergibt. Mit den Bildbearbeitungsfunktionen in opencv lässt sich auch das Erstellen eines Fadenkreuzes realisieren. Auch das Fixieren des Ausgabefensters am Desktopbildschirm ist möglich. Siehe folgendes Skript:  

#usb camera mit osd für platinenbohrsystem
#version 1.0 03/2017 by bihlo

import numpy as np
import cv2

cam = cv2.VideoCapture(0)
cam.open(0)

cam.set(3,800)
cam.set(4,600)

while(True):

# bei jedem schleifendurchlauf wird ein frame genereriert

# frame von der camera holen
ret, frame = cam.read()

# fadenkreuz mit der funktion line zeichnen mit 2 pixeln linienbreite
cv2.line(frame,(0,300),(800,300),(255,0,0),2)
cv2.line(frame,(400,0),(400,600),(255,0,0),2)

# zwei kreise zeichnen
cv2.circle(frame,(400,300), 50, (255,0,0), 2)
cv2.circle(frame,(400,300), 100, (255,0,0), 2)

#text ins bild einblenden
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(frame,'Platinenbohrsystem V1.0',(10,50), font, 1,(255,255,255),2)

# ausgabe des frames in fenster/ beenden mit taste "q"
cv2.nameWindow('Platinenbohranlage CAM')
cv2.moveWindow('Platinenbohranlage CAM',0,0)
cv2.imshow('Platinenbohranlage CAM',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# nach beendigung das device freigeben und das fenster schlissen
cap.release()
cv2.destroyAllWindows()

Nach Starten des Scripts sollte am Bildschirm das Kamerabild und das Fadenkreuz zu sehen sein:

Will man, dass das Python Skript (in meinem Fall habe ich es „camtest9.py“ genannt) nach dem Hochfahren und Laden des Desktops automatisch gestartet wird, so kann man am einfachsten im LXSession Konfigurationsfenster einen Eintrag hinzufügen. Dazu ist  im Desktopmenu unter >Einstellungen >Default applications for LXSession anzuklicken.

Im LXSession Menü ist dann unter „Autostart“ der folgende Eintrag hinzuzufügen:

@python /(Pfad zum Python Skript)/camtest9.py

Jetzt muss nur mehr neu gestartet werden und das Skript sollte nach dem Start direkt ausgeführt werden. Die folgenden Bilder zeigen den umgebauten Variodrill…

SDR – Software Defined Radio

Loading

Wer schon immer einmal auf kostengünstigste Weise eine Spektralanalyse im Frequenzband bis knapp 1GHz durchführen will, oder einfach sehen möchte, welche Trägersignale vorhanden sind, der kann sich des SDR (Software Defined Radio) bedienen. Die günstigste Variante einen entsprechenden Empfänger zu bekommen, ist es, einen DVB-T Stick auf Basis des Realtek Chip RTL2832 zu erstehen. Diese Sticks sind im Internet für wenige Euros zu erstehen.

Die technischen Facts des Sticks und die darin verwendeten IC´s:

Zum einen kommt hier der RTL2832U von Realtek zum Einsatz. Das ist ein quadratischer 6mm Chip (QFN-Package) mit zwölf Pins pro Seite. Er wird mit einer Spannung von 3.3V versorgt und mit einem Takt von 28.8 MHz betrieben. Der IC ist ein DVB-T COFDM Demodulator. (Coded Orthogonal Frequency-Division Multiplexing). Das „U“ in der Bezeichnung definiert das Interface des Chips, das ein USB 2.0 Interface ist. Hier wird im Datenblatt angegeben, den RTL2832U unbedingt über ein USB-Verlängerungskabel anzuschließen, um die Empfindlichkeit des Empfängers nicht durch die Störaussendungen des Computers zu beeinträchtigen. Weiters besitzt der RTL2832U auch acht GPIO Ports sowie ein Infrarot remote Control Port.

Der mit dem RTL2832U meist verwendete Tuner-Chip ist der R820T von Rafael Micro. Der Tuner hat einen Frequenzbereich von 42-1002MHz, die Noise figure liegt bei 3.5dB @ RFin. Die Stromaufnahme liegt bei kleiner 178mA bei 3.3V. Der Eingang darf mit einer Leistung von maximal +10dBm beaufschlagt werden. 

Ein anderer Tuner Chip, der auch oft in den DVB-T Sticks zum Einsatz kommt ist der E4000 von Elonics. Er hat im Vergleich zum R820T einen Frequenzbereich von 64MHz bis 1.7GHz.

Der RTL2832U besitzt einen 8Bit ADC und einen DSP. Er beherrscht Digitale Down Conversation (DDC) von IF zum Basisband via I/Q Mixern, digitales Low-Pass Filtering, I/Q resampling und sendet die 8Bit I/Q Daten über den USB Port. Ein weiteres Feature des RTL2832U ist  die FFT (Fast Fourier Transformation), sowie der COFDM Demodulator, der per Software gesteuert werden kann und in den SDR-Applikationen zu Einsatz kommt.

RTL2832U Blockschaltbild (Quelle: Herstellerdatenblatt)

 

Die Software um den DVB-T Sticks SDR-Radio zu entlocken:

Hier gibt es mittlerweile eine riesige Community und ebenso für fast alle Systeme Lösungen um SDR zu betreiben. Eine Ausnahme ist hier Apple mit seinen iPhones und iPads.

Für den Mac ist hier die Applikation GQRX die erste Wahl. Unter dem folgenden Link: http://gqrx.dk/download ist auch eine Version für den RaspberryPI2 und 3 und für Ubuntu Linux zu finden.

Screenshot von GQRX

Die Software ermöglicht die Darstellung des Frequenzbandes in einstellbarer Bandbreite. Es zeigt die Träger auf der y-Achse in dBuV an. Ebenso kann ein Averaging eingestellt werden. Per einstellbarem Wasserfalldiagramm können auch nur kurzzeitig auftretende Trägersignale sichtbar gemacht werden. Etliche Parameter, wie Samplerate, FFT-Size, Demodulation, etc. sind konfigurierbar.

Natürlich sind auch für Windows-Systeme geeignete Tools verfügbar: Hier beispielsweise die freie Software SDR# (SDR sharp) von Airspy. Sie bietet dieselben Features wie die GQRX Version für den MAC.

Screenshot von SDRsharp

Wem jetzt auch noch die portable Version fehlt, der kann sein Tablet oder Smartphone mit Android Betriebssystem als „mobiles Messsystem“ aufbauen. Hierzu wird lediglich eine Treibersoftware und das Analyzer Tool benötigt. Im APP-Store muss hierzu folgendes heruntergeladen werden:

RTL-sdr-driver von Martin Marinov (es ist kein root für das Android Betriebssystem notwendig)
RF-Analyzer oder SDR-TOUCH

Screenshot RF-Analyzer Android

Zusammenfassend noch einmal die Linksammlung:

MAC, Linux und Raspberry:  GQRX
Windows: SDRsharp
Android: RF-Analyzer, RTL-SDR-Driver

 

Schweben mit Ultraschall – Der Tractor Beam

Loading

Schwebendes Kügelchen

Ein cooles Projekt hat auf  instructables.com vorgestellt. Es handelt sich dabei um eine Anordnung von Ultraschalltransducern, deren Schallwellen so ausgerichtet sind, dass sich Schallkeulen ausbilden, in denen ein leichter Körper (zum Beispiel ein Styroporkügelchen) schwebend gehalten werden kann. Da das Projekt auf http://www.instructables.com/id/Acoustic-Tractor-Beam/ sehr ausführlich beschrieben ist und wir (Mario, Bernd und ich) smarte Jungs sind 🙂 haben wir und gedacht, wir bauen das nach.

Die Elektronik besteht aus einem H-Brückenmodul, einem Arduino Nano sowie einem China DC/DC – Converter.  Das Zusammenschrauben der Module funktioniert prinzipiell ganz gut, aber als Elektroniker macht man natürlich eine eigene Platine, auf der alles Nötige drauf ist. Also habe schnell ein geeignetes Layout erstellt und per nasschemischer Fertigung hergestellt. Es mag zwar immer Leute geben, die Platinen gerne in einen Fräsbohrplotter einspannen und die Maschine per spanendem Verfahren Material abtragen lassen, aber wenn es schnell gehen und auch schön werden soll, dann wird natürlich geätzt. So sind auch dünnste Leiterbahnen problemlos möglich. Und der ganze Prozess (egal wie groß die Platine ist) dauert gerade einmal 30 Minuten.

Also wie üblich die Schaltung auf Basis Asier Marzos Projektangaben gezeichnet und ein wenig optimiert und in den Schaltplan-Editor eingegeben, ein Layout geroutet und die Belichtungsfolien erstellt.

Die unterschiedlichen Bohrlöcher für die THT Bauteile macht auch hier die Maschine.

Danach werden in einem Bad gleich mehrere Platinen in einem „Ruck“ geätzt.

Jetzt wird bestückt und gelötet.

Die fertige Platine mit aufgestecktem Arduino Nano

Der Träger für die Ultraschalltransducer wird im 3D-Drucker aus ABS gedruckt. Das Stereolithographie-File kann auf der „instructables“ Website heruntergeladen werden.

Wir haben hier unterschiedliche Druckverfahren getestet. Mit Polyvinylalkohol als Support-Material und auch ohne Support…

Das Supportmaterial kann nach dem Druck im warmen Wasser herausgelöst werden. Das dauert in diesem Fall aber einige Stunden.

Nach dem Lösen des Supportmaterials sieht der Ultraschallträger dann so aus.

Mario und Bernd konstruieren zwischenzeitlich eine Halterung für Platine und Akku, auf die der Schallkopf schlussendlich aufgeschraubt werden soll.

Grate entfernen und Feinarbeiten werden mit dem Dremel gemacht.

Jetzt werden alle Ultraschallgeber (Transducer) auf Polarität und Gleichphasigkeit geprüft und bei Abweichungen entsprechend sortiert. Da in der Halbschale insgesamt vier Arrays aus Transducern verschaltet und getrennt angesteuert werden, ist es besonders wichtig, dass alle Transducer innerhalb eines Arrays dieselbe Phasenlage erzeugen.

Jetzt kann ich alle Schallgeber in die Halbschale einbauen und entsprechend verdrahten.

Das fertige Werk wird nun an die Platine angeschlossen und der Arduino Microcontroller mit Programmcode versehen.

Nach dem Einschalten und den ersten Messungen, ob alle Spannungen vorhanden sind und die Transducer Arrays phasengleich angesteuert werden, kann über einem Wasserbad die Ausbildung der Schallkeulen überprüft werden.

Der Erfolg zeigt sich, wenn ein Styroporkügelchen schwebend gehalten wird …

Ein kurzes Video, das den Aufbau und Test des Tractor-Beam Projektes zeigt, ist hier zu sehen:

 

 

 

 

 

 

 

Ultraschall aus der Medizintechnik

Loading

Sehr günstig und als defektes Bastlergerät habe ich diesmal dieses schmucke Teil erworben. Es handelt sich um einen Easote Sim7000 Challenge Ultraschallscanner, der in der Medizintechnik eingesetzt wurde. Das Gerät stammt aus dem Jahr 1998, hat in etwa die Größe eines alten PC-Gehäuses mit einer integrierten Tastatur und einem Trackball und wiegt knappe zehn Kilogramm. Ein eingebauter 10 Zoll Monochrommonitor ermöglicht das Arbeiten ohne weitere externe Geräte. Mitgeliefert wurde auch eine, als defekt markierte Ultraschallsonde der Type 5075 AA-C. Also ran an den „Speck“ und sehen, ob man das nicht reparieren kann. Ein kurzer Funktionstest zeigt, dass die Sonde zwar prinzipiell arbeitet, aber ein absolut verwischtes Bild produziert. Diejenigen, die das Prinzip des Filmprojektors noch kennen, können sich das in etwa wie einen Film vorstellen, der ohne Verschluss an der Projektionslinse vorbeigezogen wird…

 

Zum Prinzip der bildgebenden Ultraschallmessung:

(Quelle: Internet und Publikationen aus Fachzeitschriften)
Das menschliche Ohr kann Töne mit Frequenzen von ca. 20 Hz bis 20 kHz hören. Schallwellen, die jenseits der Wahrnehmungsfähigkeit des menschlichen Gehörs liegen und einen Frequenzbereich von 20 kHz bis mehrere hundert MHz umfassen, bezeichnet man als Ultraschall).

Die Intensität von Schallwellen wird in Watt pro cm² gemessen und ist ein Maß für den Energieinhalt der Wellen. Bei der Absorption im Gewebe werden Schallwellen in Wärme umgewandelt und können dementsprechend eine Temperaturerhöhung bewirken. In enger Beziehung zur Energie der Ultraschallwellen steht der Schalldruck. Die Schallwelle erzeugt periodisch einen Unterdruck und einen Überdruck. Sehr hoher Unterdruck kann im Gewebe Gasblasen erzeugen (Kavitation) und nachfolgend zu Gewebeschäden führen. Daher gibt es Grenzwerte für den Schalldruck, der in der Einheit Pa (Pascal) gemessen wird. Die Schalldrücke im Gewebe bei diagnostischen Verfahren liegen üblicherweise unter 0,5 MPa.
Die Eindringtiefe von Ultraschallwellen in das Gewebe ist bei niedrigen Frequenzen höher und nimmt mit höheren Frequenzen ab. Bei therapeutischen Anwendungen, bei denen es vor allem auf die thermische und mechanische Wirkung ankommt, werden Frequenzen zwischen 20 KHz und 800 KHz bevorzugt, in der Diagnostik zwischen 1 und 40 MHz.

Die bildgebende Ultraschalldiagnostik nutzt die Eigenschaft der Schallreflexion. Diese variiert in Intensität und Phase in Abhängigkeit der Dichte der Medien. Laufzeit, Amplitude und Phase der reflektierten Welle zur ausgesendeten Welle bilden die Grundlage zur elektronischen Erfassung und Darstellung des Schallbildes. Um das Schallbild auch zweidimensional darstellen zu können, muß die Schallwelle in einer Ebene zusätzlich noch mit ausreichender Geschwindigkeit gelenkt werden. Dies geschieht bei einem mechanischen Schallkopf mit Hilfe eines elektrischen Antriebes. Modernere Schallköpfe haben eine Reihe an Schallgebern nebeneinander angeordnet (Array), die je nach Anzahl eine entsprechend hohe Zeilenauflösung darstellen können. Die Eindringtiefe der Schallwellen ist, wie oben erwähnt, von der Frequenz der Welle abhängig. Grundsätzlich gilt: je höher die Frequenz, desto weniger tief dringt die Welle ins Gewebe ein. Oder anders ausgedrückt: je länger die Welle (Wellenlänge) desto tiefer. (bekanntlich gilt ja: λ = c/f  wobei c die Schallausbreitungsgeschwindigkeit des Mediums ist. Als Vergleich: c(Luft)=343m/s und c(Wasser)=1484m/s)

Ultraschallmedien
(Quelle: Fachzeitschriften)
Um stärkere Schallreflexionen an der Grenzfläche zwischen Schallkopf und Haut – bedingt durch dazwischen eingelagerte Luft – zu vermeiden, werden Ultraschallmedien verwendet. Sie stellen den optimalen Kontakt zwischen Schallkopf und Haut her. Ultraschallmedien dürfen ebenfalls keine Luftbläschen enthalten, um den möglichst lückenlosen Schallübergang zu gewährleisten. Flüssigkeiten wie Wasser und Alkohole wären prinzipiell zwar geeignet; aufgrund ihrer Flüchtigkeit und niedrigen Viskosität sind sie aber sehr unpraktisch. Daher wurden spezielle Gele entwickelt.
Gele sind nichts anders als Flüssigkeiten, die mittels eines Verdickungsmittels bequem auf der Haut verteilbar sind. Man unterscheidet zwischen Hydrogelen und Lipogelen (Oleogele). Lipogele bestehen aus Ölen pflanzlicher, synthetischer oder mineralischer (Erdöl) Herkunft. Sie sind weniger geeignet, da sie fetten und nach der Behandlung nur mühsam zu entfernen sind. Hauptkomponente der Hydrogele ist – wie der Name schon andeutet – Wasser. Daher kann man Hydrogele nach Gebrauch praktisch ohne Rückstand einfach abwischen.

 

Von dem theoretischen Exkurs nun zur technischen Beschaffenheit und der Fehlersuche:

Zuerst habe ich mich ein wenig über die Ultraschallsonde schlau gemacht. Hierbei handelt es sich um eine mechanische Sektor Ssonde, die bei 3.5 und 5.0MHz arbeitet. Der Kristall ist hier auf einem, in einer Achse beweglichen Kopf (man kann sich eine Wippe vorstellen) montiert, die über einen kleinen Aktuator mittels Bowdenzugs angetrieben wird. Die folgenden Bilder zeigen die Ultraschallsonde in den unterschiedlichen Demontagezuständen.

Die hintere Verschlusskappe ist mit zwei Schrauben befestigt. Diese sind hinter der Silikon Vergussmasse versteckt. Entfernt man die Schrauben, so ist die Kabelzugentlastung auch gelöst und man kann die Steckverbindung abziehen.

Jetzt kann man vier kleine Madenschrauben lösen, die das Abschrauben des Deckels ermöglichen. Um zu den Madenschrauben zu gelangen, muss die Silikonummantelung der Sonde nach vorne abgerollt werden.

Ist das Kabel abgezogen, so kommt darunter eine Platine zum Vorschein. Diese ist wiederum mit zwei Schrauben befestigt. Löst man die Schrauben, so kann auch die Platine abgezogen werden.

Die Anschlussleitung sollte auf Beschädigungen bzw. Verunreinigungen geprüft und gereinigt werden.

Hier ist eine klebrige Masse (ich vermute das Öl bzw. Gel aus dem Inneren des Sonden Kopfes) anhaftend. Diese Verunreinigung lässt sich nach Abstecken des Kabels dann einfach mit Alkohol oder Platinen Reiniger entfernen und reinigen.

Ist die Platine nun abgezogen, so kommen dahinter die Anschluss Stifte zum Vorschein. In der Mitte befindet sich ein Gummipfropfen der den „Öl?-„gefüllten Bereich der Sonde freilegt. Ein Spannring am Gehäuserand hält die Antriebseinheit in Position. Darunter befindet sich ein Dichtring sowie ein O-Ring.

Nun kann das Öl?  (falls jemand weiß, welches Material das wirklich ist – ich würde mich freuen, es zu erfahren) – entfernt werden. Ich habe es vorsichtig mit 2ml Spritzen herausgezogen um es aufzuheben und wieder einfüllen zu können.

Das Zeug ist extrem klebrig und zähflüssig. Ich vermute, dass das auch das eigentliche Problem ist. Die Viskosität der Flüssigkeit. Die ist wahrscheinlich aufgrund des Alters zähflüssig geworden und der Schwingkopf kann sich nicht mehr mit seiner Sollgeschwindigkeit bewegen.

Jetzt kann begonnen werden, die Membrane zu lösen. Eigentlich ist die Membrane mit einer, mit Innengewinde versehenen Aluminiumhülse angeschraubt und sollte sich lösen lassen. (Im Bild ist die Membrane das graue Kunststoffhütchen und die Aluminiumhülse im Bereich des Daumens zu sehen.) Leider ist es mir nicht gelungen, diese Verschraubung zu lösen. So musste ich die Membrane quasi aus dem Gewinde heraushebeln. Das wiederum ist mir ganz gut gelungen. Zumindest ist die Membrane nicht gerissen und hat Ihre Dichtheit bewahrt.

Das Innenleben kommt zum Vorschein. In der Spitze der Membrane ist deutlich ein verdickter Klumpen von dem zähflüssigen Medium zu erkennen.

Hier ist der Kristall montiert auf seiner Wippe zu sehen, ebenso der Bowdenzug Antrieb und in der ganz rechten Bildhälfte noch das Gehäuse des Aktuators. Diese komplette Einheit lässt sich übrigens auch wieder mit zwei Miniaturmadenschrauben lösen.

Das ist das gesamte Innenleben des Schallkopfes. Jetzt können alle Leitungen überprüft werden, ob hier irgendwelche mechanischen Beschädigungen vorliegen.

In diesem Fall war keinerlei Beschädigung zu erkennen. Alle Koaxial Leitungen zum Kristall sind in Ordnung. Alle Anschlusspins sind ebenso ok. Der Aktuator funktioniert. Der Bowdenzug ist ebenso ok. Also kann es nur mehr das „Öl?“ sein. Also habe ich die Einheit wieder zusammengebaut.Nach dem Zusammenbau habe ich auch wieder das alte Öl eingefüllt. Das erweist sich als recht mühsam, zumal es lange dauert, die Luftblasen los zu werden. Es geht jedoch wesentlich schneller, wenn man dieses Öl erwärmt (ich habe das mit einem Fön bewerkstelligt). Und genau das hat mich auf eine Idee gebracht, den Schallkopf nach dem Zusammenbau zu erwärmen und das Verhalten nochmals zu testen. Wenn das Öl wirklich merklich dünnflüssiger wird, dann sollte auch die Beweglichkeit der Wippe leichter werden. Gesagt, getan. Zuerst wollte ich jedoch testen, ob der Schallkopf meine Zerlege Prozedur generell überlebt hat. Und ja – er hat. Das Schallbild sieht jetzt schon um einiges besser aus als zuvor. Also habe ich den Versuch mit dem Heißluftfön gestartet. Vorsichtshalber habe ich die obere Temperaturgrenze auf 45° C eingestellt. Und siehe da, das Schallbild wird zunehmend besser. Es ist jetzt ein deutliches Bild zu erkennen. Es wackelt und zittert nur noch ein wenig in der x-Achse – die Ursache ist also doch das Öl. Wenn hier jemand Erfahrung damit hat, oder eine Quelle, wo man die passenden Öle und auch Ersatzteile bekommen kann – ich bin für jede Information dankbar 🙂

Homematic Zählersensor an S0-Ausgang

Loading

Update 06/2020: Die übrig gebliebenen Platinen sind verteilt – ich habe jetzt keine mehr.

Info 05/2020: Da ich weitere Zähler an die HomeMatic angebunden habe, musste ich auch wieder Platinen fertigen. Dieses Mal habe ich testweise auf einen fernöstlichen Leiterplattenhersteller zurückgegriffen. Da die Platine sehr klein ist und ich eine Mindestgröße bestellen musste, wurden auch mehrere Boards hergestellt. Also habe ich auch wieder ein paar Platinen übrig…

 

Mit dem von HomeMatic angebotenen Energiezähler-Erfassungssystem kann man mit Hilfe unterschiedlicher Zählersensoren die Anzeigen- bzw. Zähleinheiten der Energieversorger ablesen und für eigene Datenerfassungssysteme aufbereiten. Dies geschieht auf unterschiedliche Weise. Es kann die Drehscheibe (Ferraris Scheibe) eines Wirbelstromzählers abgetastet werden, oder der Led-Blinkimpuls von modernen elektronischen Zählern, sowie auch mittels Reedkontakt die Zählimpulse der mechanischen Gaszähler. Dies kann alles mit dem HomeMatic Funk-Zähler Erfassungssystem HM-ES-TX-WM bewerkstelligt werden. Für die unterschiedlichen Zählertypen sind unterschiedliche Sensoren erhältlich, die alle über eine 6polige Western-Modular-Steckverbindung angeschlossen werden können. Die Sensortype wird dabei vom Funksender automatisch erkannt und stellt in seinen Softwareeinstellungen die entsprechenden Umrechnungsoptionen (Impulse/kWh, Umdrehungen/kWh, m³/kWh) dar.

Hat man jetzt zum Beispiel einen eigenen elektronischen Subzähler verbaut, so kann natürlich auch mit dem LED-Sensor die Impuls LED abgefragt werden, um so zu den Daten des Zählers zu gelangen. Die meisten elektronischen Hutschienenzähler haben aber auch einen sogenannten S0-Ausgang, der einen potentialfreien (open-collector) Ausgang über Schraubklemmen zur Verfügung stellt. Wenn man die Schaltung des LED-Sensors ein wenig geändert neu aufbaut, so kann der S0-Ausgang des Hutschienenzählers anstelle der Fotodiode angeschlossen werden. Der Sensortyp wird dann weiterhin korrekt erkannt und am Funk-Zähler Erfassungssystem angezeigt.Mit dieser Schaltung erkennt der HM-Sender den LED-Sensor. Anstelle der Fotodiode wird die Kollektor-Emitter-Strecke des Hutschienenzählers angeschlossen.

Die ganze Schaltung wird auf eine kleine Platine gebracht, diese dann geätzt und bestückt. Die Bauteile sind Standard SMD-Teile der Größe 0805. Der Transistor ist ein BC848 und die Spule L1 ist eine Würth Induktivität mit 680nH (Würth Nr. WE7447604)

Mehrere Platinen direkt aus dem Ätzbad… Danach erfolgt der Zuschnitt und das Beschichten mit Lötlack.

Die Platinen sind nun zugeschnitten, lackiert und können jetzt bestückt werden.

Mit Bauteilen versehen, fehlen jetzt nur mehr die Zuleitungen.

Es sind nun alle Leitungen angelötet. Zum Schutz vor Kurzschlüssen wird die Platine mit einem Schrumpfschlauch überzogen. Jetzt kann alles angeschlossen und eingebaut werden.

An den S0-Ausgang des Hutschienenzählers angeschlossen, kann es dann gleich losgehen. Im Homematic-Funksender oder in den Geräteeinstellungen der CCU2 muss nur mehr die dem Zähler entsprechende Impulsanzahl pro kWh eingestellt werden. Diese Information sind in den Datenblättern des Zählers zu finden. Sie sind aber auch fast immer direkt auf den Zählern zu finden. In diesem Fall erzeugt der Zähler 1600 Impulse/kWh.

Die Zeichnung oben stellt den Schaltplan des Aufbaus dar. Mit dem Spannungsteiler aus R1 und R2 weiss das Homematicmodul welche Art Sensor angeschlossen ist. Der Transistor schaltet dann die Impulse die vom S0 Ausgang kommen zum Homematic Modul durch.
Ich hatte den Schaltplan aus dem Beitrag herausgenommen, da er nicht allgemeingültig ist und ein paar User den Nachbau nicht zum Laufen brachten. Da viele Hutschienenzähler unterschiedliche Optokopplerausgänge haben (Transitorausgang, FETausgang etc., kann es durchaus möglich sein die Schaltung anzupassen. Ziel ist es jedenfalls, dass der Transistor sauber aus- und eingeschaltet wird, wenn der Schaltimpuls ausgelöst wird…

 

Edit  07/2019: Nach einigen Anfragen stelle ich eine Skizze der Belegung des RJ12 Stecker (6pol) online.

Edit 02/2021:das Foto mit der Steckerbelegung war seitenverkehrt. Dank des Hinweises von Guido hier nun die korrigierte Skizze:

Funktionstest der Platine:

1. die fertig bestückte Platine über den 6pol RJ Stecker am Homematic-Sensor anstecken

2. Batterien in den Homematic Sensor einlegen.

3. Jetzt muss im Display des Homematic Sensor „LED“ angezeigt werden.  (Durch den Spannungsteiler an pin4 wird der Homematic-Sensor in den Modus LED geschaltet)

(Ist der RJ Stecker nicht gesteckt, so muss der HM-Sensor nach dem Batterie einlegen „Err“ anzeigen

4. Durch wiederholtes Überbrücken der Pins TP8 und TP9 (Impulseingang) mit Drahtbrücke etc. können Zählerimpulse simuliert werden – der HM-Sensor muss jetzt auch entsprechend der simulierten Impulse zählen. Diese Aufgabe übernimmt dann der Impulsausgang des Zählers.( Meist ein Transistor oder FET eines Optokopplers)

3.2″ TFT Display an Raspberry PI

Loading

dsc_2944Der Raspberry Pi in seiner Anwendungsvielfalt wurde bisher immer als kleiner Server, oder Datenlogger, oder auch als TV-Frontend betrieben. Dabei wurde er über seinen HDMI-Ausgang an einen TV oder Monitor angeschlossen. Im Server- bzw. im Datalogger Betrieb war kein externer Monitor notwendig. Sämtliche Einstellungen sind über die Konsole über das Netzwerk durchführbar. Will man den Raspberry aber einmal als – beispielsweise – mobiles, Akku betriebenes Gerät aufbauen, so gibt es eine Vielzahl an Anzeigenelementen und Displays. Von einfachen LC-Displays, die mehrzeilig Zeichen darstellen können, über monochrome Dot-Displays bis hin zu TFT-Farbdisplays in unterschiedlichen Größen ist hier alles erhältlich.

Ich stelle hier das 3,2 Zoll TFT 65k Farbdisplay von „joy-it.net“ vor. Das Display ist mit einem Touchscreen ausgestattet und wird über eine 26-polige Buchsen Leiste direkt auf die GPIO-Pinheader Leiste des Raspberry gesteckt. Weitere Verbindungen sind nicht notwendig. Das Display hat dieselben Abmessungen wie das Raspberry Pi Board und bildet so ein kompaktes, handliches PI-Paket…

dsc_2946Ist das Display aufgesteckt, und auf der SD-Karte ein Raspbian-Image mit graphischer Oberfläche installiert, dann kann es losgehen. Zur Einrichtung des Displays sind noch ein paar Schritte durchzuführen. Nach dem Einschalten wird erst einmal nur die Hintergrundbeleuchtung des Displays hell. Mehr passiert vorerst nicht. Darum verbindet man den Raspberry vorher noch einmal mit einem Monitor über HDMI oder über das Netzwerk mit einem Terminal. Hat man nun Zugriff so wird folgende Datei bearbeitet:

sudo nano /boot/config.txt

Hier sind die folgenden Zeilen am Ende einzufügen:

dtparam=spi=on
dtoverlay=waveshare32b:rotate=270

Dann die Datei speichern und den Editor wieder schließen. Jetzt die cmdline.txt bearbeiten:
sudo nano /boot/cmdline.txt

An das Ende der Zeile ist folgendes anzufügen:

fbcon=map:10

Und die Datei wieder speichern. Jetzt wird eine neue Datei erstellt:
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

Hier die folgenden Zeilen eintippen und die Datei wieder speichern:

Section „InputClass“
Identifier „calibration“
MatchProduct „ADS7846 Touchscreen“
Option „Calibration“ „160 3723 3896 181“ Option „SwapAxes“ „1“
EndSection

Jetzt ist noch die 99-fbturbo.conf zu editieren:

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Hier ist in der Zeile:
Option „fbdev“ „/dev/fb0“  das fb0 in fb1 zu ändern. Das soll dann so aussehen:
Option „fbdev“ „/dev/fb1“  Und wieder speichern.

Jetzt in den tmp Ordner wechseln (cd /tmp) und folgende Datei herunterladen:
wget http://www.joy-it.net/anleitungen/rpi/tft32b/waveshare32b-overlay.dtb
und nach
sudo cp waveshare32b-overlay.dtb /boot/overlays/waveshare32b.dtbo
kopieren.

Das war´s dann schon. Mit sudo reboot und angestecktem Display dann neu starten.

dsc_2948Wenn alles geklappt hat, so sollte das Display jetzt arbeiten und der Touchscreen funktionieren.