Zurück zur Indexseite

Elektronik Projekte

Es folgt eine kleine Auswahl ein paar meiner Elektronikentwicklungen der vergangenen Jahre (teilw. für die Firma thDevices GmbH).

Schwerpunkte mit denen ich mich in der Vergangenheit beschäftigt habe:

Die Bilder sind nicht in chronologischer Reihenfolge.

Bildsensor MT9V034


Abgebildet sind zwei Bildsensoren MT9V034 der Firma OnSemi im 48-PLCC Package. Der Sensor ist Monochrom und hat eine Auflösung von 752x480 bei 6µm Pixelgröße und 10 Bit ADC. Bei voller Auflösung können 60 Bilder die Sekunde aufgenommen werden. Bei kleineren Bildausschnitten kann die Framerate teilweise deutlich gesteigert werden. Im Gegensatz zu Consumer Sensoren handelt es sich hierbei um einen Global Shutter Sensor, der das Bild zu einem Zeitpunkt und nicht zeilenweise aufnimmt. Er eignet sich deshalb für Machine Vision bei Objekten mit höherer Geschwindigkeit.

Der abgebildete Framegrabber besteht aus dem abgebildeten Adapterboard (für zwei Sensoren) und einem Xilinx Spartan 6 FPGA, welcher auf einem gekauften Board (Papilio Pro) sitzt. Der Framegrabber ist über ein FFC Kabel angebunden, welches sich später als mechanisch weniger optimal herausgestellt hat. Die Anbindung den Computer geschieht über einen FTDI USB 2 Parallel Fifo. Die Datenrate bei zwei aktiven Sensoren ist dabei allerdings schon sehr am Limit des Möglichen. Die Bilder werden selbstverständlich im Raw Format übertragen.

Die Platinen für das Adapterboard und die Sensoren sind zweilagig und wurden bei einem Fertiger in China gefertigt. Die Bestückung habe ich selbst vorgenommen.

Bildsensor AR0134CS


Abgebildet sind vier Sensoren AR0134CS der Firma OnSemi im ILCC48 Package. Der Sensor ist Monochrom, hat eine Auflösung von 1280x960 Pixel bei 54 fps. Auch hier handelt es sich um einen Global Shutter Sensor mit einem 12 Bit ADC. Die Kameramodule messen nur 28mm x 28mm und sind mit einem 1,27 mm Steckverbinder ausgestattet. Um alle Komponenten unterzubringen, kommen zwei gestapelte Platinen zum Einsatz (siehe Modul oben links).

Die Anbindung geschieht hierbei über ein Basisboard auf das die Sensoren gesteckt werden können. Damit ist der Abstand relativ konstant. Es wurden mehrere Basisboards mit unterschiedlichen Abständen konstruiert. Als FPGA kommt ein Xilinx Artix 7 zum Einsatz, welcher sich auf einem hinzu gekauften FPGA Board der Firma ZTex befindet. Die Anbindung an den Computer erfolgt über eine Cypress FX3 USB 3 Fifo gepuffert über einen 128 MiB DRAM.

Es können vier Kameras gleichzeitig ausgelesen werden (in 8-12 Bit Raw Format), damit ist eine Erweiterung der Stereo Vision (Quadro Vision?) möglich und es können genauere Tiefenbilder erzeugt werden.

Die Platinen für das Adapterboard und die Sensoren sind zweilagig und wurden bei einem Fertiger in China und Deutschland gefertigt. Die Bestückung habe ich selbst vorgenommen.

Bildsensor Python 1300


Abgebildet sind zwei Bildsensoren Python1300 der Firma OnSemi im LCC48 Package. Auf der linken Seite mit einem Objektiv (C-Mount). Die Auflösung beträgt 1280x1024 mit 10 Bit und 210 FPS bei voller Auflösung. Auch dieser Sensor ist wieder Monochrom allerdings für den Nahinfraroten Bereich optimiert. Bei kleineren Bildausschnitten kann die Ausleserate auf über 2000 Bilder pro Sekunde gesteigert werden.

Die Anbindung an das Frame Grabber Board (nicht abgebildet) erfolgt diesmal über zwei herkörmliche Flachbandkabel. Auch wenn dies etwas altmodisch anmutet hat sich diese Lösung als mechanisch und elektrisch stabilsten herausgestellt. Der FPGA ist wieder der Xilinx Artix 7. Es können zwei Sensoren parallel ausgelesen werden, bei voller Bildrate kommt jedoch auch hier selbst die USB 3 Verbindung an ihre Grenzen.

Eingesetzt wurde das System für ein Infrarot Laserscanning System (in Verbindung mit einem Galvanometer Spiegelsystem an einem DAC; nicht abgebildet). Damit können Tiefenbilder durch Glas hindurch in Echtzeit im mm-Bereich ermittelt werden. Durch die zweite Kamera wird dies aus verschiedenen Blickwinkeln durchgeführt und kann somit auch spiegelnde Verschmutzungen auf der Glasscheibe größtenteils kompensieren. Das Kamerasystem verfügt dabei über einen ungewöhnlichen Modus: Die Ausleseregion wird hierbei synchron zum Laser in jedem Frame verschoben. Die Steuerung dafür wird auf einem Softcore CPU auf dem FPGA vorgenommen.

Das System besteht zusätzlich noch aus:

Aufgrund der hohen Framerate und geringen Belichtungszeit befindet sich das System schon nahe an der Rauschgrenze. Um die Bildqualität etwas zu erhöhen, musste die analoge Spannungsversorgung des Bildsensors etwas optimiert werden. Dies erklärt u.A. den auf dem Bild zu sehenden, nachträglich eingebauten Kondensator.

Die Platinen für das Adapterboard und die Sensoren sind zweilagig und wurden bei einem Fertiger in Deutschland gefertigt. Die Bestückung habe ich selbst vorgenommen.

Bildsensor Python 2000


Bei dem Python 2000 handelt es sich um den "großen Bruder" des Python 1300. Bei dem hier abgebildeten System kommt ein einzelner Farbsensor zum Einsatz. Im Gegensatz zu früher wird kein fertiges FPGA Board genommen, sondern ein eigen entwickeltes System auf Basis des MachXO3 im BGA-400 Package der Firma Lattice und einer FTDI FT601 USB 3 FIFO Bridge zurückgegriffen. Diese USB 3 Fifo kann im Gegensatz zum vorher verwendeten FX-3 mit einer fast doppelte Datenrate an den Computer (ca 360 MiB/s) senden. Als Puffer kommt hierbei gewöhnlicher austauschbarer Laptop SODIMM DDR3 204 Pin Speicher zum Einsatz (auf der Rückseite des Boards). Das Board kann somit auch autark vom Computer Hochgeschwindigkeitsaufnahmen in den eigenen Ram durchführen. Möglich sind hierbei verschiedene Trigger Modi, unter anderem ein rollender Modus, so dass auch Aufzeichnungen vor dem Triggerereignis behalten werden können (ähnlich zu einem Oszilloskop).

Über den DDR3 Speicher Controller habe ich eine eigene Seite online gestellt: Entwicklung eines DDR3 Speichercontrollers

Die Platine des FPGA Boards ist diesmal vierlagig und wurde bei einem Fertiger in Deutschland gefertigt. Die Bestückung habe ich selbst vorgenommen.

Kompakter Framegrabber mit DDR4 Speicher


Zu sehen ist ein kompakter Framegrabber, diesmal mit DDR4 statt DDR3 Speicher, womit größere Module verfügbar sind. Auch der FGPA wurde getauscht, es kommt ein deutlich leistungsstärkerer Lattice ECP5 im BGA-554 Package zum Einsatz. Die obere Platine zeigt die Spannungsversorgung mit einem modernen TI LP8756 vierfach Buck Converter (kann per Software gesteuert und überwacht werden). Damit werden die zahlreichen Spannungen für FPGA, DDR4 Ram und Bildsensoren bei teilweise recht hohen Strömen auf kompakten Raum erzeugt. Daneben sind dort ein Mikrocontroller, Flash Ram und diverse Power Switches vorhanden (u.A. kann zwischen zwei Spannungsquellen umgeschaltet werden).

Es hat sich beim Design des Prototypen ein kleiner Fehler eingeschlichen, weshalb etwas unschön nachgebessert werden musste.

Die FPGA Platine ist vierlagig, hier mussten allerdings gewissen Kompromisse eingegangen werden. Für eine bessere EMV sollte daher künfigt auf ein sechs Layer Design umgestellt werden. Die Bestückung habe ich selbst vorgenommen.

Durch die COVID19 Situation ist es für kleine Unternehmen und Privatpersonen leider seit geraumer Zeit de facto unmöglich komplexere ICs zuverlässig zu erhalten. Das Projekt wurde deshalb ausgesetzt.

Infrarot Matrix


Etwas älter, aber interessant anzusehen ist die 16x16 Infrarot Matrix. Die Platine wurde selbst bestückt, was bei 256 LEDs durchaus eine Gedultsprobe darstellt, sie ist allerdings etwas heiß geworden und hat sich dadurch etwas gewellt. Nicht zu sehen ist die Ansteuerung und die Auslesediode (geschieht über einen Atmel Mikrocontroller). Ziel war eine kompakte Touch Scanner Einheit.

Lattice ICE FPGA Boards


Die abgebildeten Platinen sind schon älteren Datums und beherbergen die sehr kleinen Lattice ICE FPGAs. Links ein ICE5LP1K im QFN48 Package (einmal unbestückt und einmal bestückt), rechts der noch kleinere ICE40LP384 im QFN 32 Package. Beide Boards sind zweilagig und verfügen neben dem FPGA noch über Flash Speicher, einem Oszillater und den notwendigen LDO Spannungsreglern. Die linke (und mittlere) Platine habe ich bei einem Fertiger in Deutschland herstellen lassen und selbst bestückt. Die rechte Platine ist älter und wurde von mir auch selbst geätzt. Sie stellt meine persönliche "Technologiegrenze" der Platinenfertigung bezüglich der Auflösung feiner Leiterbahnen dar.

Gepulste IR Leds


Eine etwas ältere Platine in etwas ungewöhnlichem Format mit 60 Infrarot LEDs der Marke OSRAM (oben und unten verschiedene Öffnungswinkel). Alle LEDs sind in Reihe geschaltet und deshalb wird eine Spannung von ca. 100 V benötigt. Die LEDs stellen einen Infrarot Blitzsystem dar zum kurzzeitigen Beleuchten für Machine Vision Anwendungen. Bei kurzen Pulsen (wenige 10 µs) können die Leds mit dem über 10-fachen des normalen Stroms betrieben werden und erzeugen damit sehr helle Lichtblitze. Als Mensch sind diese nicht wirklich sichtbar, da es sich um Infrarotlicht handelt. Durch den engen Öffnungswinkel können je nach Betriebsmodus trotz des vermeintlich unsichtbaren Lichtes Augenschäden bei direktem Blickkontakt entstehen, weshalb eine gewisse Vorsicht geboten ist.

Unten der selbstentwickelte (und selbst geätzte) Hochspannungswandler und Pulser. Die Ladung für den Blitz wird in einem Kondensator auf der Rückseite der Platine gespeichert. Der Puls läuft über die Zuleitung, was EMV technisch Probleme bereiten kann.

Lichtleiste für Plexiglas Endlighten


Noch eine Lichtleiste, diesmal mit weißen SMD Leds für eine Kantenbeleuchtung von Plexiglas Endlighten Scheiben. Es erfolgt kein gepulster Betrieb, die Spannung beträgt ca. 20 Volt. Die weißen LEDs führen jedoch recht viel Wärme ab, weshalb sie auf einer in China gefertigten, einseitigen ALU Kern Platine platziert wurden. Diese wurden wiederrum mit doppelseitigem wärmeleitenden Klebeband in ein Aluminium Profil geklebt.

Diverse Lichtsysteme


Zu sehen sind diverse weitere Lichtsysteme:

Diverse Platinen


Selbst geätzte Platinen


Eine kleine Auswahl sehr alter Platinen, die ich früher alle ausschließlich selbst geätzt habe. Sowohl einseitig als auch zweiseitig (mit Drahtstücken durchkontaktiert). Bei den grünen Platinen habe ich zusätzlich noch einen Lötstopplack auflaminiert. Auch ein paar flexible Platinen sind zu sehen. Die beiden Platinen in der Mitte ganz links sind rein kupferbeschichtetes Material, bei dem ich den Fotolack selbst aufgebracht habe.

Ich ätze inzwischen kaum noch Platinen sondern lasse seit geraumer Zeit bis auf wenige Ausnahmen alle Platinen extern fertigen.


Impressum | Datenschutzerklärung | [*]: externer Link | thilo.ackermann@gmail.com