Archive for the 'hardware' Category

64×8 rote LEDs

Thursday, June 15th, 2017

Anno 1993 habe ich aus 8 LED Boards ein 64×8 LED Display gebaut. Ein einzelnes Board sieht so aus:

LED Streifen

Ein LED Board ist ein horizontaler Streifen mit 64 LEDs, 8 x 74LS164N Schieberegister, einem 74LS14 und einem BD 244 Transistor (für Blank und LED Strom)

Damals wurde es mit dem (“Centronics” / Parallelport ) Duckerausgang eines Atari ST angesteuert: 8 Datenleitungen (für jede Zeile eine) eine Taktleitung und 1 x blank. Der Atari hat Buchstaben mit einstellbarer Geschwindigkeit scheibchenweise von rechts ‘rein geschoben. Der Atari ST war also der erste Controller für dieses LED Display.

Ungefähr 10 Jahre später habe ich das Display mit einem ATMEL ATmega32 und der “2D Borg” Software von www.das-labor.org angesteuert. Die Firmware hat Treiber für verschiedene Displays. Damit die Hardware besser zur Firmware passt, habe ich die 8 Taktleitungen aufgetrennt und die 8 Datenleitungen zu einer zusammengeführt. Das sah dann so aus:

Weitere >10 Jahre später (2017) habe ich die Schaltung wieder modifiziert, weil ich das Display mit einem ESP8266 steuern möchte. Diesmal verbinde ich 7 x Data out (Pin 13) des letzten Schieberegisters eines Streifens mit Data In des darunter liegenden Streifen. Dadurch benötige ich nur noch 3 IO Pins des Microcontrollers statt bisher 10. Ein erster Test mit einem Arduino war erfolgreich:



FN LED Baord 1000/1
Stecker1
1 -
2 GND
3 clear/reset: 1k Ohm pull up nach +5V
4 clock
5 blank (PWM)
6 -
7 Data In

Stecker2
8 Data Out
9 clock
10 clear/reset
11 +5V
12 +5V
13 GND
14 GND

feed flightradar24 and planefinder.net with one Raspberry Pi

Monday, May 23rd, 2016

First I installed fr24feed, which looks like a modified dump1090.


root@raspberrypi:/etc# cat fr24feed.ini
receiver="dvbt"
fr24key="XXXXXXXXXXXX"
path="/usr/lib/fr24/dump1090"
bs="yes"
raw="yes"
logmode="0"
mlat="yes"
mlat-without-gps="yes"

root@raspberrypi:/etc# service fr24feed status
[ ok ] FR24 Feeder/Decoder Process: running.
[ ok ] FR24 Stats Timestamp: 2016-05-22 22:52:07.
[ ok ] FR24 Link: connected [UDP].
[ ok ] FR24 Radar: T-XXXXX.
[ ok ] FR24 Tracked AC: 1.
[ ok ] Receiver: connected (1504210 MSGS/0 SYNC).
[ ok ] FR24 MLAT: ok [UDP].
[ ok ] FR24 MLAT AC seen: 0.

Then I installed pfclient

wget http://client.planefinder.net/pfclient_3.4.30_armhf.deb
dpkg -i pfclient_3.4.30_armhf.deb

…and configured it via the Web interface:
http://192.168.1.101:30053
Data Format: AVR-TCP
IP: localhost
port: 30002

Similar to dump1090 pfclient has a nice web-GUI with various views.

Then I installed piaware, which had some (tcl) dependencies:

wget http://de.flightaware.com/adsb/piaware/files/piaware_2.1-5_armhf.deb
dpkg -i piaware_2.1-5_armhf.deb
apt-get install -fy

I did not try piaware, because I don’t have a Flightaware accout yet.

install linuxcnc on Linux Mint 17.1 Rebecca

Thursday, November 12th, 2015

install linuxcnc on Linux Mint 17.1 Rebecca
(without real time kernel)

http://linuxcnc.org/docs/2.7/html/getting-started/getting-linuxcnc.html#_installing_on_debian_wheezy_and_debian_jessie_with_preempt_rt_kernel

Add a new apt source that looks like this:

deb http://linuxcnc.org/ jessie base 2.7-uspace


then:

apt-get update
apt-get install linuxcnc-uspace

after installation you can start LinuxCNC:

linuxcnc

3D Drucker

Friday, June 13th, 2014

Gestern hatte ich nach 2 Wochen Pause mal wieder 4 Stunden Zeit für den 3D Drucker. Beim Druckbett habe ich die 4 Abstands-Klötze aus PLA gegen Stapel aus je 3 Metall-Muttern getauscht. Die 15x15cm Speigelfliese wurde durch eine 20x20cm ersetzt – Nun kann ich Maul-Klemmen benutzen um diese Platte zu befestigen. Die kleine Dauerdruckplatte im warmen Zustand mit Kapton darauf fixiert – keine Wölbung mehr zu sehen / zu spüren. Das kleine Ritzel im Extruder hat sich mal wieder gelockert – leider hatte ich kein Locktite dabei.
Folgende Temperaturen habe ich gemessen:

am Schraubenkopf des Heizblocks:
Software: 230° gemessen: 195°
Software: 210° gemessen: 175°

Druckplatte:
Software: 60° gemessen: 45°

Das Druck-Ergebnis vom Testobjekt war wie beim letzten Mal. Das kühlen des Werkstücks mit einem langsam laufendem Lüfter hatte keinen Effekt. nach 1cm Druckhöhe musste ich abbrechen weil der Extruder mal wieder versagte.

lockeres Ritzel ?
Verstopfung ?
Luft oder Feuchtigkeit im Material ?
Klemmt das Filament wegen der Kerben, die der Vorschub verursacht ?

Ich will demnächst probieren, ob ich das Filament heraus ziehen kann wenn der Extruder kalt ist. Angeblich soll es ja an dem Edelstahl nicht haften.
Den Lüfter, der den oberen Teil des Hotends kühlt, werde ich direkt an 12V anschließen – Es ist schon zu oft passiert, dass ich vergaß, ihn per Software einzuschalten.

3D Drucker druckt

Monday, May 19th, 2014

heute habe ich das erste Teil gedruckt! Der erste Druck fing gut an, aber dann kam kein Material mehr. Das Ritzel, welches nur mit einer Madenschraube befestigt war, saß nicht mehr fest auf der “Welle”. Die “Welle” ist aber keine richtige Welle sondern eine einseitig abgeflachte Schraube. Ich werde versuchen, dafür eine stabilere Lösung zu finden. Als Temperatur war 230° eingestellt. Mit dem Multimeter konnte ich aber nur 180° messen. Der zweite Druck hat von Anfang bis Ende funktioniert, nur die Seitenwände der Treppenstufen wurden nicht genau die 90° Winkel abgebildet sondern mit ca. 45° “abgekürzt”
die folgenden 2 Versuche waren erfolglos: Die erste Lage haftete nicht richtig. 10°C weniger war vielleicht keine gute Idee, oder der Abstand zwischen Düse und Platte war zu groß.

q-bert

3D Drucker

Thursday, May 15th, 2014

Prusa Mendel i2. Ich hätte den warscheinlich nicht gekauft, aber nun steht er hier im Unperfekthaus und die Jungs, die ihn gebaut haben, haben keine Lust mehr sich weiter damit zu beschäftigen. So… let’s give it a try…

Zuerst habe ich eine aktive Luftkühlung für den oberen Bereich der Nozzle gebaut – mit 30mm Lüfter und Kühltunnel aus Blech. Dann habe ich die Platform umgebaut: weg mit der krummen Alu-Platte. Jetzt nur noch das Hotbed mit einer Glasplatte drauf.
Als ich heute hier an kam war einer der 2 Z-Motoren falsch eingesteckt – Sabotage! Sehr ärgerlich. Mit richtig anschließen war es nicht getan. Der Motortreiber hat die Last der 2 Motoren nicht geschafft. Hab die Treiber für Y und Z getauscht – jetzt läuft’s wieder.
Weil ich überall gelesen habe, dass PLA einfacher zu benutzen ist als ABS hab ich bei 230°C mit dem PLA Filament den Rest ABS aus der Düse gedrückt. Für PLA war 185° eingestellt, das schmolz aber nicht. Jetzt hab ich PLA mit 230°C ein paar mal “in die Luft” extrudiert und das sah ganz ok aus.

to be continued…

USB 3.0

Monday, April 14th, 2014

Hab mir ein externes USB 3 2,5″ Festplattengehäuse besorgt und dort meine 500GB Platte eingebaut. hier die Ergebnisse von hdparm im Vergleich zu 2 internen SATA Festplatten:

Platz 1:
interne 3,5″ SATA 3TB Platte Western Digital WD30EFRX-68E

Timing cached reads: 16656 MB in 2.00 seconds = 8334.49 MB/sec
Timing buffered disk reads: 440 MB in 3.01 seconds = 146.06 MB/sec

Platz 2:
interne 1TB Notebook Festplatte Seagate HTS541010A9

Timing cached reads: 3474 MB in 2.00 seconds = 1738.88 MB/sec
Timing buffered disk reads: 304 MB in 3.02 seconds = 100.67 MB/sec

auch Platz 2 (siehe cached reads):
externe USB 3 Festplatte Samsung HM500JI

Timing cached reads: 16464 MB in 2.00 seconds = 8238.33 MB/sec
Timing buffered disk reads: 214 MB in 3.01 seconds = 71.05 MB/sec

mein erstes Thinkpad

Thursday, April 3rd, 2014

Bei ebay habe ich mir für € 220.- ein gebrauchtes T500 ersteigert. Bezüglich der Display-Auflösung hatte der Verkäufer eine falsche Angebe gemacht: 1440×900. Eigentlich gibt es keine T500 mit dieser Auflösung. Das habe ich nach Auktionsende und vor dem bezahlen mit dem Verkäufer per e-mail geklärt. Das Display hat 1680×1050 – sehr erfreulich! :-)
Heute kam das Gerät bei mir an. Außen 2 Kratzer, die mich absolut nicht stören und innen (Display, Tastatur, Touchpad) sieht es aus wie neu. Der Akku ist auch noch gut. Er hält ca. 2 Stunden.
CPU ist ein Core2Duo P8600. Einen P9500 könnte ich später mal nachrüsten. Nach einem kurzen Test mit einer Knoppix 7 DVD (Knoppix zeigte zu wenig RAM an?! ) habe ich die mitgelieferte 160GB Festplatte aus- und meine eigene 1TB Festplatte eingebaut. Linux Mint bootete sofort.
In /etc/udev/rules.d/70-persistent-net.rules
habe ich die Netzwerk-Devices meines alten Noetbooks auskommentiert, damit die aktuellen Devices eth0 und wlan0 und nicht eth1 und wlan2 heißen.
Flightgear schafft 9 fps mit der Intel Grafik und belastet die CPU nur mit 30%. Die ATI Grafik-Einheit habe ich momentan im BIOS abgeschaltet und bisher noch nicht getestet.
Das Netzteil ist sehr kein: 10x4x3cm

Nachteile gegenüber meinem bisherigen Lenovo 3000 N500:
* nur 3 x USB
* statt HDMI nur DisplayPort
* 90g schwerer
* keine Webcam

Ein aktuelles (Consumer-, nicht Business-) Notebook mit i3 oder i5 hätte locker das doppelte gekostet und mein Umwelt-Gewissen belastet – Warum neu kaufen wenn das alte noch läuft ?
Ich bin sehr glücklich und zufrieden. Endlich kann ich KVM benutzen – Das war der größte Nachteil meines alten Gerätes. Mit dem neuen WSXGA Display kann ich nun auch meine 720p Videos in 1:1 mit Avidemux schneiden und web-surfen wird jetzt auch angenehmer.

UPDATE:
Für €20 habe ich mir eine passende Dockingstation und ein zusätzliches 90W Netzteil besorgt.
Bei Verwendung der Dockingstation habe ich nun insgesamt 7 x USB, parallel, serial und DVI.

Home Cockpit Baubericht (Teil 3)

Thursday, December 26th, 2013

Am 23.12. kamen endlich die Inkrementalgeber(rotary encoder). Seit dem weiß ich, wie groß ich die Löcher dafür bohren muss. Am gleichen Tag habe ich alle Taster und Schalter eingebaut und 2 von den insgesamt 6 Inkrementalgebern mit meinen C-Testprogramm auf den Atmega32 ausprobiert.

Am 24.12. habe ich mit der Tastaturmatrix angefangen. Zunächst nur 3×3 verkabelt und dann dafür ein Testprogramm geschrieben. 3 der Schalter hatte ich aus alten Walkera Sendern ausgeschlachtet – sie sehen schön aus – sind aber alle defekt. Ich musste alle wieder ausbauen. :-(

Den 25.12. habe ich damit verbracht, den Rest der 8×7 Matrix und die LEDs zu verkabeln. Die Taster von Rafi haben eine rote 3mm LED in der Ecke – ich hätte aber lieber eine flächige Beleuchtung in grün. Kurz vor dem verkabeln der LEDs habe ich mich entschlossen die roten LEDs nicht zu verwenden und stattdessen superhelle grüne LEDs von hinten an die Taster zu kleben. Mit einem 460 Ohm Vorwiederstand sind es nur 6mA pro LED – Das schafft der 74HC595 ohne zusätzlichen Treiber.

Bis auf Kleinigkeiten (Deckel, Rückwand, ..) ist die Hardware nun fertig. In der Software folgt demnächst:

* Entprellen der Taster
* Abfrage aller Inkrementalgeber
* serielle USB Kommunikation mit dem PC, bidirektional
* “Treiber” Software auf dem PC

pic

p2

p3

74HC595

p5

CNC Fräse im Unperfekthaus

Tuesday, December 17th, 2013

Für mein “home-cockpit” Projekt möchte ich eine bedruckte Frontplatte mit diversen Löchern und Ausschnitten für Displays, Schalter und Taster herstellen. Das ist genug Motivation, um mich mal intensiver mit der CNC-Fräse im Unperfekthaus zu beschäftigen.

Die Fräse wird momentan von einen DOS PC mit der DOS-Software “PCNC” gesteuert. PCNC kann HPGL und G-Code Dateien öffnen.

Ein reines, klassisches MS-DOS oder PC-DOS hat kein Netzwerk und auch keine USB-Sticks lesen und unsere heutigen Rechner haben kein Disketten-Laufwerk. Also wie kommt die Datei in den Rechner ?
Der umständliche Weg war: Erst Kanotix Linux booten, die Datei vom USB-Stick auf die “C:” Partition kopieren und dann DOS booten. Sind Änderungen an der Datei nötig, dann geht diese Spiel wieder von vorne los – sehr umständlich!

Das haben wir heute geändert. Ich habe gelernt, dass auf C: nicht nur DOS sondern auch Windows98 installiert ist – Das gibt Hoffnung auf Netzwerk-Konnektivität. Also schnell eine Netzwerkkarte eingebaut und den nötigen Treiber per Linux auf die C:-Platte kopiert. Treiber installiert, obligatorischer Reboot, … Hurra! ping funktioniert! 😉
und jetzt ? smb(samba) klappte nicht auf Anhieb, und wo ist der IE ? – jedenfalls nicht im Startmenu oder Startleiste. Damals waren “Windows-Explorer” und “Internet Explorer” das gleiche Programm. Mir gelang es irgendwie diesen “Internet Explorer” zu starten und konnte dann vom meinem Apache http Server weitere Programme installieren: WinSCP und Firefox 2.0 damit wir ab sofort unsere Fräs-Dateien per scp oder http auf den Fräsrechner kopieren können.

Der Fräs-Rechner hat momentan noch keine feste IP. Er verrät seine IP per “command” (cmd geht nicht!) und dann “ipconfig”

Meine Frontplatte habe ich mit Inkscape gestaltet. Sie ist 480mm breit. Der maximale Arbeitsbereich der Fräse ist:
X: 240mm
Y: 350mm
Ich habe also zunächst mal die Elemente entfernt, die nicht in der Arbeitsbereich passen. Und ich habe die Platte um 90° gedreht, schließlich ist Arbeitsbereich in diese Richtung 10cm größer.
Das war keine gute Idee, denn so “quer” passt das Werkstück nicht mehr durch das Portal der Fräse. Das Maximum ist hier 430mm
Also in Inkscape wieder 90° zurück gedreht. PCNC kann so etwas (Achsen X und Y tauschen) offenbar nicht.
Was PCNC auch nicht macht: die Dicke des Fräskopfes beachten. Also musste ich in Inkscape alle Ausschnitte 0,75mm (Fräskopfdurchmesser/2) kleiner machen, damit sie korrekt gefräst wurden.
Meine Version von Inkscape bot 2 Varianten von HPGL an:
* HPGL Plot File (*.plt)
und
* HPGL (.hpgl)
Beim ersten gab es diverse uniconverter-Fehlermeldungen. Das zweite bietet ein paar Optionen und speichert dann eine Datei, die PCNC öffen kann. Falls Objekte in der PCNC Vorschau nicht erscheinen hat man in Inkscape vermutlich “Object to Path” vergessen.

Nach dem wir das Werkstück eingespannt und in PCNC den Arbeitsbereich und den Nullpunkt definiert haben, begannen die Probe-Läufe 1-3. Erster Testlauf 10cm über den Werkstück, zweiter Testlauf 2cm über dem Werkstück, dritter Testlauf 1mm über dem Werkstück. So konnten wir uns versichern, dass nicht in die Werkstück-Halterungen gefräst wird und schon mal abschätzen, ob die Dimensionen auch stimmen. Den Skalierungsfaktor 2,54 (in PCNC) hatten wir anhand der Vorschau (richtig) geschätzt/erraten. Beim speichern in inkscape habe ich den default-Wert 1016 dpi unverändert gelassen.

Soweit so gut. Mit 0,33mm Zustellkorrektur konnten wir dann endlich “richtig” fräsen – aber leider nur bis max 1,5mm Tiefe. Bei HPGL Dateien bewegt sich die Z Achse zwischen den einzelnen Ausschnitten nur minimal auf und ab. Das kann man in PCNC scheinbar auch nicht ändern :-( Hätten wir weiter gemacht, wäre die Frontplatte zerkratzt worden. Übrigens war die HPGL Datei aus Inkscape spiegelverkehrt, das konnte man schon in der PCNC Vorschau sehen. Wir haben also die Rückseite der Platte gefräst.

Möchte man auf Z-Achse mehr Einfluss, dann muss man statt HPGL G-Code verwenden. Diverse Programme haben es leider nicht geschafft aus unserer HPGL Datei brauchbaren G-Code zu erzeugen – Eigentlich keine schwere Aufgabe. Auch mit der Inkscape Extension “Gcodetools” kamen wir zunächst nicht klar. Diese Extension hat Inkscape mehrfach zum Absturz gebracht. Sonst läuft Inkscape völlig stabil.
Später abends zu hause hat die Gcodetools Extension das erste Mal eine G-Code Datei erzeugt, die ganz brauchbar aussieht. Möglicherweise muss ich in inkscape alle Ebenen, die ich nicht fräsen möchte, vor dem G-Code Export löschen.

Das war ein interessanter Fräs-Tag. Beim nächsten Mal werde ich G-Code probieren. Falls das nicht klappt, könnte man vielleicht statt der kompletten Frontplatte einzelne Ausschnitte in einzelne Dateien speichern und dann 1x das Werkstück und mehrmals den Nullpunkt manuell verschieben um die Ausschnitte an den gewünschten Stellen zu fräsen(“pen down”) ohne dass der Fräskopf zwischen mehreren Objekten wandern muss (“pen up”)

Langfristig werden wir versuchen, DOS & PCNC durch die freie Linux-Software http://www.linuxcnc.org/ (“EMC”) zu ersetzten.