Archive for the 'electronics' Category

MAX7219

Friday, September 15th, 2017

Heute kam wieder Spielzeug aus China: 4 Stück 32×8 LED Matrix Displays mit je 4 x MAX7219 als Controller. Preis bei aliexpress: $3,75 für ein 4er Modul – entspricht $0,93 für 8×8 pixel. Ein 4-er Modul(32×8 pixel) hat die Abmessungen: 32mm x 128mm x 15mm. Module verschiedener Hersteller sind unterschiedlich verdrahtet. Es gibt mindestens 3 Varianten.

Die Arduino Library “LEDMatrixDriver.hpp” passte sofort zu meinem Modul – zumindest wenn man sie nur in X Richtung verbindet. Ein 32×16 habe ich damit noch nicht hingekrigt. Sie kann bitmaps in 4 Richtungen scrollen. Es gibt eine Laufschrift Demo mit einem Text-Font. Der Font ist aber nicht hübsch und hat keine Kleinbuchstaben.

Die Arduino Library “MD_MAX72XX” (geht auch mit ESP8266) passte erst, nachdem ich 2 Zeilen in libraries/MD_MAX72XX/src/MD_MAX72xx.h gändert habe:

#define USE_PAROLA_HW 0
#define USE_FC16_HW 1

Die “Daft Punk” Demo hat einige schöne Animationen:

(in dem Video sieht man 2 Stück 4er Module)

64x16 LED Display

16pixel font

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

Orange Pi one und Armbian Linux

Friday, November 18th, 2016

Hab mir bei AliExpress einen Orange Pi one gekauft. Orange Pi one ist ein Linux- oder Android-Computer vergleichbar mit dem Raspberry Pi 2 oder Raspberry 2 Zero. Lieferzeit war 2,5 Wochen. Der Orange Pi one ist mit €12,73 inkl. Versand erheblich günstiger als ein Raspberry Pi.

Vorteile:

  • Preis
  • Open Source
  • Geschwindigkeit
  • 4K Video @30fps
  • GPIO ist Raspberry Pi kompatibel
  • Lötpunkte für analog Audio & Video und 2 weitere USB Ports vorhanden

Nachteile:

  • nur 512MB RAM
  • Stromversorgung nur über 1,7mm Rundstecker
  • nur 1 USB + 1 USB OTG
  • SD Karten Images für Raspberry Pi kann man nicht verwenden
  • funktioniert nicht mit HDMI nach DVI Adapter (es gibt einen Patch dafür)
  • CPU kann unter Vollast sehr heiß werden (wie Raspberry Pi3)
  • außer HDMI kein zusätzlicher Anschluß für LCD

Ich habe mir mit “dd” 3 micro SD Karten zum testen gemacht:

  • Lubuntu_1404_For_OrangePiPC_v0_8_0
  • Raspbian_For_OrangePi_PC_v0_8_0
  • Armbian_5.20_Orangepione_Debian_jessie_3.4.112

Alle 3 Images funktionieren. SD Cards 2GB, 8GB und 32GB, Class 4 und 10 funktionieren.

Alle 3 Images starten mit 720p (1280×720) – kann die Hardware kein auto-detect ?

Für das “headless server” Armbian Image genügt eine 2GB Karte, die anderen brauchen mindensten 4GB.

Bei Raspbian und Armbian muss man kein Display/Tastatur/Maus anschliessen, man kann sich übers Netzwerk per ssh anmelden.

Bei Armbian leuchte die grüne LED. Wenn sie blinkt kann man sich das erste Mal per ssh anmelden und ein neues root passwort vergeben (default root-passwort: 1234)

Bei Raspbian und Lubuntu leuchtet die rote LED dauerhaft.


root@orangepione:~# armbianmonitor -h
Usage: armbianmonitor [-h] [-b] [-c $path] [-d] [-m] [-p] [-r] [-u]

############################################################################

Use armbianmonitor for the following tasks:

armbianmonitor -b switches between verbose and normal boot
armbianmonitor -c /path/to/test performs disk health/performance tests
armbianmonitor -d tries to upload debug disk info to improve armbianmonitor
armbianmonitor -m provides simple CLI monitoring
armbianmonitor -p tries to install cpuminer for performance measurements
armbianmonitor -r tries to install RPi-Monitor
armbianmonitor -u tries to upload armhwinfo.log for support purposes

############################################################################

Your display settings are currently 720p (1280x720). To change this use the
h3disp utility. Do you want to change display settings now? [nY]

Usage: h3disp [-h/-H] -m [-d] [-c [0-2]]

############################################################################

This is a tool to set the display resolution of your Orange
Pi by patching script.bin.

In case you use an HDMI-to-DVI converter please use the -d switch.

The resolution can be set using the -m switch. The following resolutions
are currently supported:

480i use "-m 480i" or "-m 0"
576i use "-m 576i" or "-m 1"
480p use "-m 480p" or "-m 2"
576p use "-m 576p" or "-m 3"
720p50 use "-m 720p50" or "-m 4"
720p60 use "-m 720p60" or "-m 5"
1080i50 use "-m 1080i50" or "-m 6"
1080i60 use "-m 1080i60" or "-m 7"
1080p24 use "-m 1080p24" or "-m 8"
1080p50 use "-m 1080p50" or "-m 9"
1080p60 use "-m 1080p60" or "-m 10"
1080p25 use "-m 1080p25" or "-m 11"
1080p30 use "-m 1080p30" or "-m 12"
1080p24_3d use "-m 1080p24_3d" or "-m 13"
720p50_3d use "-m 720p50_3d" or "-m 14"
720p60_3d use "-m 720p60_3d" or "-m 15"
1080p24_3d use "-m 1080p24_3d" or "-m 23"
720p50_3d use "-m 720p50_3d" or "-m 24"
720p60_3d use "-m 720p60_3d" or "-m 25"
1080p25 use "-m 1080p25" or "-m 26"
1080p30 use "-m 1080p30" or "-m 27"
4kp30 use "-m 4kp30" or "-m 28"
4kp25 use "-m 4kp25" or "-m 29"
800x480 use "-m 800x480" or "-m 31"
1024x768 use "-m 1024x768" or "-m 32"
1280x1024 use "-m 1280x1024" or "-m 33"
1360x768 use "-m 1360x768" or "-m 34"
1440x900 use "-m 1440x900" or "-m 35"
1680x1050 use "-m 1680x1050" or "-m 36"

Two examples:

'h3disp -m 1080p60 -d' (1920x1080@60Hz DVI)
'h3disp -m 720i' (1280x720@30Hz HDMI)

You can also specify the colour-range for your HDMI-display with the -c switch.

The following values for -c are currently supported:

0 -- RGB range 16-255 (Default, use "-c 0")
1 -- RGB range 0-255 (Full range, use "-c 1")
2 -- RGB range 16-235 (Limited video, "-c 2")

############################################################################

Raspberry Pi als Türschild (singage display)

Friday, April 22nd, 2016

Basis: Raspbian “jessie”

Zunächst habe ich vergeblich an
/etc/xdg/lxsession/LXDE/autostart
und
/etc/xdg/lxsession/LXDE-pi/autostart

herumgefummelt.
Testen mit:
service lightdm restart

Keine dieser Dateien wird beachtet, denn es gibt:
/home/pi/.config/lxsession/LXDE-pi/autostart

Danach habe ich eine Weile gebraucht um herauszufinden, warum das auto-login plötzlich nicht mehr geht. Der Grund: Der Besitzer des Gerätes hatte die Karte ungünstig partitioniert: 3,6BG für das root-Dateisystem waren voll. Nun habe ich noobs installiert, das dauert zwar einmalig beim installieren von raspbian, aber so kann man später leicht einen “factory reset” durchführen, falls das mal nötig sein sollte.

In dieser Autostart-Datei habe ich den Aufruf des screensavers durch die Zeile
@startmozilla.sh ersetzt. Optional kann man für Fernwartung noch
@x11vnc hinzufügen.

/usr/local/bin/startmozilla.sh hat folgenden Inhalt:


sleep 5
xset dpms 0 0 0
xset -dpms
xset s 0 0
iceweasel &

Iceweasel muss nachinstalliert werden, optional auch x11vnc und unclutter:
apt-get update && apt-get install icewesel

Unclutter habe ich nicht benötigt. Es ist keine Maus angeschlossen und es erscheint kein Maus-Zeiger.

Mit
iceweasel -ProfileManager habe ich ein Profil erzeugt, welches in fullscreen startet (F11) und die gewünschte Webseite als Startseite hat. Ausserdem: Datenschutz-> Chronik-> niemals anlegen. Browser schließen mit Alt-F4

Alternativen zu dieser Lösung: Einfach mal “raspberry singage” in https://ixquick.com eingeben.

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…

Repaircafe Marl

Wednesday, April 23rd, 2014

Heute war das erste Mal Repaircafe in Marl. Anfangs war es etwas chaotisch aber als der erste Schwung abgearbeitet war wurde es sehr entspannt und gemütlich.

Was hatte ich denn heute auf dem Tisch ?

* ein 6-fach NiCd Ladegerät
Ein Kabel musste wieder an die Platine angelötet werden – eine Kleinigkeit.

* ein Staubsauger
Wie geht das Teil auf? Nur 4 Schrauben – aber die waren gut versteckt. Dann Wackelkontakt gesucht, aber nicht gefunden. In dem Kabel-Aufwickler gibt es Schleifringe mit Schleifern aus Kupfer. Diese habe ich gereinigt und etwas gebogen, damit sie besser andrücken. Das hat offenbar geholfen.

* Ein Metallsuchgerät
ließ sich sehr leicht öffnen. Das Plastik-Rad saß nicht mehr fest auf dem on/off-Poti – die passende Schraube lag noch im Gehäuse. Fest geschraubt – geht wieder.

* Ein Föhn
mit Kabelbruch in der Zuleitung. Leider war das Kabel direkt an den Schalter gelötet. Kabel 10cm gekürzt und wieder angelötet. Beim nächsten Mal: Schrumpfschlauch mitbringen !

* Ein Samsung Android Tablet
mit unerwünschten Apps, die man nicht löschen kann. Solche Apps sind ein Ärgernis für viele Android Nutzer und es ist unverschämt, dass man auf seinem eigenen Gerät keine root Rechte bekommt. Glücklicherweise gibt es CyanogenMod und http://www.replicant.us/
. Kurz demonstriert wie man mit Lautstärke festhalten und Power-On ins Boot/Flashmenu kommt und zum nächsten Linux User Group Treffen eingeladen.

* Ein kleiner Schwingschleifer
mit sehr vielen Schrauben(ca. 12 Stück) die die Gehäuse-Hälften zusammen halten. 2 verschiedene Sorten Schrauben. Eine davon konnte ich nicht lösen. Die vorhandenen Kreuz-Schraubendreher passten nicht gut, sie waren zu spitz. Die Schraube war auch recht weich und der Kopf schon hab kaputt – ich hab sie nicht raus bekommen.

* Ein Doppel-Cassettendeck von Aiwa
Wie erwartet waren alle 3 Antriebsriemen ausgeleiert. Der kleine Riemen für den mechanischen Counter ist in meiner Hand geschmolzen! Er war sozusagen dickflüssig und klebrig – wie Rübenkraut 😉 Die beiden flachen Riemen ließen sich relativ leicht ausbauen. Ein neuer Riemensatz kostet €17.-
Ein gebrauchtes Cassettendeck vom gleichen Typ kostet €20.- hmm…
Bei dem Gebrauchtgerät sollte man sich natürlich eines aussuchen, bei dem die Riemen kürzlich gewechselt wurden.

* Ein Pedal von einer Pfaff-Nähmaschine
(sehr Service-freundlich)
Darin befand sich kein Triac, kein Thyristor sondern eine große Draht-Poti-Konstruktion mit einem Schleifer der nicht schleift, sondern mit einem Kupfer-Rad darüber rollt. Das Rad habe ich mit einer Feile von seiner Oxyd-Schicht befreit, ebenso die entsprechende Lande-Fläche aus Kupfer für 100% an. An & Aus klappte nun wieder, aber die Regelung der Drehzahl war nicht möglich, der Draht war wohl irgendwo durchgebrannt.

Repaircafe

Sunday, April 13th, 2014

Heute war ich das erste Mal bei einem Repaircafe-Event. Mir hat es gut gefallen und ich werde noch in diesem Monat an einem weiteren teilnehmen. Der Andrang war groß. Die Reparaturfälle kann man grob in 3 Gruppen unterteilen: Fahrräder, Textilien, Elektogeräte. Wir waren 6 “Fachleute” für Elektro- und Elektronik und jeder von uns hatte zahlreiche Fälle auf dem Tisch. Oft war eine Reparatur in der kurzen Zeit nicht möglich aber meisstens konnte ich den Fehler finden und Empfehlungen geben, welches Ersatzteil besorgt werden muss.

* 300-CD Wechsler von Sony: Antriebsriemen zu locker, springt ab. Der Fehler war leicht zu finden, aber um den Riemen muss man die Mechanik zerlegen und wieder zusammenbauen – das wird kein Spaß.

* Verstärker von Harman Kardon: Nur der rechte Kanal geht noch. Wir haben die 4 Endstufen-Transistoren und das Poti gemessen. Einer der Transistoren zeigte einen abweichenden Wert. Auch bei diesem Gerät müsste man erheblich Zeit aufwenden um diesen Transistor auszutauschen.

* FM Tuner vergisst die gespeicherten Sender wenn man ihn ausschaltet.
Der Ein/Aus-Schalter schaltet das Gerät wirklich aus. kein Standby. Auf der Platine fanden wir einen “GoldCap” Kondensator. Das dritte service-unfreundliche Gerät, das man komplett zerlegen müsste, um dieses Teil zu tauschen.

* analoge PC Aktivboxen, USB-powered: Wackelkontakt im Kabel zwischen den beiden Boxen. Wie öffnet man das verflixte Teil ? Erst wenn man den metallischen Front-Grill heraus prokelt, sieht man die Schrauben welche das Gehäuse zusammen halten. Das defekte Kabel wurde gekürzt und wieder an die Platine gelötet. Mangels USB-Stromversorgung konnten wir nicht testen ob die Reparatur erfolgreich war, aber ich habe die Impedanz durch das Kabel gemessen und bin optimistisch.

* Ein Dell Notebook welches mechanisch misshandelt wurde. Display gebrochen und Display-Backlight bleibt auch dunkel. Es scheint noch zu starten, aber um das zu bestätigen, fehlte uns ein externer VGA-Monitor. Ich habe gezeigt wie man die Festplatte ausbaut und habe mehrfach erklärt wie man sie in einen PC oder ein USB-Festplattengehäuse einbaut um die Daten zu sichern, falls die Platte noch lebt.

* Ein CM1312nfi MFP Drucker von HP: zeigt nach dem Einschalten einen Fortschrittsbalken der bei ca 30% stehen bleibt und macht sonst nix.
Muss ich mal im Netz schauen ob ich da Hinweise finde… Das sieht schon mal interessant aus:
http://h30499.www3.hp.com/t5/Multifunction-and-All-in-One/cm1312nfi-won-t-boot/m-p/4693513#M38711
http://h30434.www3.hp.com/t5/Other-Printing-Questions/cm1312nfi-MFP-won-t-boot/td-p/451601

Ganz schön viel für 4 Stunden. Nicht nur ich durfte helfen, auch mir wurde geholfen: 2 meiner Jeans wurden geflickt wofür ich sehr dankbar bin.

Home Cockpit Baubericht (Teil 4)

Sunday, December 29th, 2013

Todo Liste vom 26.12.

* Entprellen der Taster – DONE
* Abfrage aller Inkrementalgeber – DONE
* serielle USB Kommunikation mit dem PC, – serial out:DONE
* bidirektional – not yet
* “Treiber” Software auf dem PC – DONE

Zwischendurch hatte ich etwas Stress mit meinen usbisp Programmieren. Plötzlich konnte ich nicht mehr flashen. Nachdem ich die ISP Anschlüsse von dem 20cm Kabel welches zu 2 Rotary Encodern geht, befreit habe, ging’s wieder.
Etwas später wurde der bei hobbyking gekaufte usbisp sehr warm und wollte auch nicht mehr flashen?!
Mein selbst gebauter usbisp funktioniert wieder – auch nachdem ich PB4(SS) und PB5(MOSI) wieder als Eingang für einen Rotary Encoder benutze.

Gestern habe ich ein python script geschrieben welches Werte vom Panel via serial USB empfängt, interpretiert und per telnet an Flightgear weiterleitet.

Heute fand ich eine schöne Lösung um COM und NAV Frequenzen einzustellen.