Dieses Blog durchsuchen

Sprachausgabe in den 80igern - Speak and Spell

 


Viele der Leser dieses Beitrages kennen vielleicht den Hollywood Film E.T. (The Extra-Terrestrial), in unseren Regionen in der übersetzten Version: "E.T. - Der Außerirdische". 

Zumindest die älteren unter den Lesern werden ihn kennen. Der Film lief 1982 in unseren Kinos und ich hatte damals auch die Möglichkeit, ihn mir anzusehen. Als Kind tauchte man (zumindest ich) immer in die Geschichten ein und lebte darin mit. Kurz erzählt handelt die Geschichte von einem kleinen Außerirdischen, der versehentlich auf der Erde zurückgelassen wurde, während seine Artgenossen auf der Flucht vor Regierungsagenten mit ihrem Raumschiff davonflogen. So versteckte sich der kleine E.T. in einem Schuppen, in dem er von Kindern des Ortes gefunden wurde. Die freundeten sich mit ihm an und halfen ihm dabei mit dem Raumschiff Kontakt aufzunehmen. Dazu konstruierte er aus Dingen des alltäglichen Lebens eine Art Funkanlage. Die Antenne bestand beispielsweise aus einem Regenschirm, einem Plattenspieler mit einem Sägeblatt einer Kreissäge, einem Kleiderbügel mit Speisegabel und einem Kinderspielzeug, das synthetische Stimmen erzeugen konnte. Dieses Spielzeug nennt sich "Speak & Spell" als "Spreche und Buchstabiere" und wurde von der Firma Texas Instruments entwickelt.

 

Der Speak & Spell ist ein Handheld Kindercomputer von TI (Texas Instruments), der aus einer Tastatur, einem Display und einem kleinen Lautsprecher besteht. Das Herzstück des Gerätes ist ein Sprachsynthesizer IC, der es ermöglicht, eine künstliche Stimme zu erzeugen. Per LPC (linear predictive coding - also linearer Vorhersagecodierung) wird eine, der menschlichen Sprechstimme ähnlichen Audioausgabe erreicht. Mit einem internen Rom und optional auch externen Rom-Modulen, können verschiedene Aufgaben (Buchstabieren, Wortratespiele etc.) realisiert werden. Die Auswahl und Eingabe erfolgen über eine Tastatur.


 

Der Speak & Spell Kindercomputer stammte ursprünglich aus einer dreiteiligen Spielzeugserie mit "sprechenden" Computern. Es gab noch ein Speak & Math und ein Speak & Read. Man findet gelegentlich auf Videoplattformen im Netz noch Sammler, die ihre Geräte präsentieren. Verkauft wurden die Geräte anfangs in den USA, Großbritannien und Japan. Je nach Auslieferungsland gab es auch noch unterschiedliche ROM-Module mit Minispielen, wie Mystery Word, Letter oder Secret Code. Gedacht waren diese Computer für Kinder ab dem 7. Lebensjahr. Später wurden weitere Sprachbibliotheken in sieben Sprachvariationen veröffentlicht. So soll es unter andren auch ein Modul für die deutsche Sprache gegeben haben.




Der erste Speak & Spell wurde auf der Consumer Electronics Show 1978 als einer der ersten tragbaren Geräte mit visuellem Display und steckbaren ROM Spielekassetten vorgestellt. Dieses Modell wurde auch durch den Einsatz im Film E.T. bekannt. Es unterscheidet sich von späteren Gerätegenerationen optisch lediglich durch die Tastatur, die in der Urversion noch aus "richtigen" Tasten bestand. In seinem inneren arbeitet der TMC0280 Synthesizer Chip. Dieser wurde einem kleinen Team von Technikern unter Paul Breedlove † (1941-2021), Ingenieur bei Texas Instruments in den späten 1970er Jahren entwickelt. Diese Entwicklung begann 1976 als Ergebnis der TI-Forschung zur Sprachsynthese.


Zu Anfang der 1980iger Jahre kam eine überarbeitete Version des Gerätes auf den Markt. Hier hat man die Tasten durch eine Folientastatur ersetzt. Auch eine Speak & Spell Compact Version hat man veröffentlicht. Bei dieser hat man auf das optische VFD Display verzichtet und die Größe halbiert. Ende der Achtziger Jahre gab es erneut eine Auflage. Diesmal wurde das VFD durch ein LC-Display ersetzt und die Tastatur bekam ein QWERTY Layout. Im Rahmen der Retrowelle (so meine Vermutung) hat die Firma "Basic Fun" 2019 den Klassik Speak&Spell wieder auf den Markt gebracht. Er ähnelt vom Aussehen der 80iger Version, ist jedoch technisch auf dem aktuellen Stand (so wird alles in einem kleinen Chip generiert der direkt auf die "Miniplatine" gebondet wurde. Auch die Anschlüsse zur Außenwelt gibt es bei der Version nicht mehr.


 

Auf dem Mainboard der vor 1980 verkauften Version sind folgende Chips verbaut:

  • TMC0271 (Microcontroller und VF-Display Controller für 9 Digits zu je 14 Segmenten)
  • TMC0530 (oder TMC0351, TMC0352) 128kBit ROM
  • TMC0281 (Sprachsynthesizer IC der TMC0280 Serie


Das Modell, das sich in meiner Sammlung befindet, ist eine der nach 1980 verkauften Versionen. Hier sind folgende IC´s verbaut:

  • TMC0271 ( Microcontroller und VF-Display Controller für 9 Digits zu je 14 Segmenten)
  • TMC0281 (Sprachsynthesizer IC der TMC0280 Serie)
  • CD2304 und CD2303 (ROM)


Das VF-Display hat acht Digits zu je 14 Segmenten. Die Versorgungsspannung von 6V wird aus vier in Reihe geschalteten C-Zellen gewonnen. Die 9V und 21V für die Versorgung von VFD und Microcontroller macht ein diskret aufgebauter DC/DC Converter, der sich auf einer eigenen Platine befindet. Die Folientastatur ist in einer 13poligen Flexiprint-Buchse angesteckt. Für die Wiedergabe des Tons gibt es einen kleinen Lautsprecher oder auch die Möglichkeit, über einen 3.5mm Klinkenstecker einen Kopfhörer anzuschließen. Der Ton wird direkt aus dem Synthesizer Chip gewonnen. Um die Ausgangsimpedanz an den Lautsprecher anzupassen hat man einen kleinen Audio-Übertrager direkt neben der Klinkenbuchse verbaut. Eine weitere Buchse dient als externe Spannungszuführung. Ein Trimmpotentiometer ändert die Wiedergabegeschwindigkeit/Tonhöhe der Audioausgabe.



Der TMC0280, später TMS5100 genannt ist der Single Chip Sprachsynthesizer, der ein LPC Modell 10. Ordnung unter Verwendung von pipelined elektronischer DSP-Logik verwendete.  Die Phonem Daten für die gesprochenen Wörter werden im PMOS-ROMs gespeichert. Die enorme Kapazität von 128 Kbit war damals das größte noch bezahlbare ROM. Über eine Aussparung im Batteriefach kann man zusätzliche Speichermodulkassetten einstecken. Der Inhalt der Speichermodule ist über eine Taste am auf der Tastatur anwählbar. Die Datenrate der Audioausgabe beträgt etwas weniger als 1kBit pro Sekunde.

DC/DC Converter

 

 

 

 

Die Wetterkugel - oder das Goethe-Glas

Immer wieder halte ich Ausschau nach einfachen, interessanten Dingen. Dieses Mal hat mich ein Messgerät- oder eher "Anzeigegerät" fasziniert, dessen Funktionsprinzip äußert einfach und doch sehr effektiv ist. Zudem ist es aus meiner Sicht auch noch ein Hingucker - Es handelt sich um das so genannte Goethe-Barometer. Die bekannteste Form ist wohl das an der Wand hängende, bauchige Glas mit einem Schnabel, ähnlich einer Gießkanne, in dem der Wasserstand den Luftdruck anzeigt. Eine etwas anders konstruierte Version dieses Glases habe ich im Netz gefunden...

 

 

Ein wenig zur Geschichte dieses Aufbaues:

Einem Herrn namens Evanelista Toricelli (1608-1647), einem italienischen Physiker und Mathematiker verdanken wir die Erkenntnis und den Nachweis, dass der Luftdruck Schwankungen unterliegt. Er baute 1643 das erste nach ihm benannte Barometer. 1644 entwickelte er das Quecksilberthermometer.

 
Ein kleiner Ausgleichsbereich im Anzeigerohr schützt vor Überlauf
 
Der deutsche Dichter Johann Wolfgang Göthe, beschäftigte sich auch mit den Naturwissenschaften. Er machte selbst viele naturwissenschaftliche Experimente und entwickelte später ein einfaches, aber wirkungsvolles Barometer auf den Grundlagen des Toricelli.

Die Funktionsweise:

Das Barometer zeigt schnell und präzise Luftveränderungen an. Bei steigendem Luftdruck fällt die Wassersäule im Anzeigerohr und bei fallendem Luftdruck steigt sie. Möglich ist dies durch die im Glas eingeschlossene Luft. Das Volumen der Luft bleibt bei gleichbleibender Temperatur immer gleich. Steigt oder sinkt der äußere Luftdruck, so wird die eingeschlossene Luft über die Wassersäule zusammengedrückt oder eben ausgedehnt. Da sich das Wasser nicht komprimieren lässt, ist es das ideale Medium um die Druckunterschiede sichtbar zu machen. Die Höhe der Wassersäule zeigt somit den Luftdruck an. Ist der Luftdruck bei schönem Wetter hoch, so ist der Außendruck gegenüber dem Druck der eingeschlossenen Luft höher und die Wassersäule sinkt, da die eingeschlossene Luft verdichtet wird. Bei niedrigem Luftdruck kann sie sich ausdehnen und der Stand der Wassersäule steigt.

die Höhe des Wasserstandes im Rohr zeigt den Luftdruck an 
Dieses kurze Zeitraffervideo zeigt die Änderung des Wasserstandes bei Luftdruckänderung:


 

 

Geigerzähler - Bausatz aus Fernost


Immer wieder fasziniert mich das Thema Radioaktivität. Genauer gesagt ist es das Messen oder Detektieren dieser ionisierenden Strahlung, die durch den Zerfall und von Atomkernen unter Abgabe von Energie entsteht. Dabei unterscheidet man prinzipiell die aus der Bewegung der zerfallenden Teilchen (also Teilchenstrahlung) ausgesandte Energie (Alpha- und Beta- Teilchen) und der Strahlungsenergie, die als elektromagnetische Welle transportiert wird (Gammastrahlung und auch Röntgenstrahlung). Diese Strahlungsarten haben unterschiedliche Energiedichten und Reichweiten. Je nach Art sind sie mehr oder weniger einfach abzuschirmen. Alphastrahlung ist eine Teilchenstrahlung, die von Materie (Luft, Wasser) stark abgebremst wird und ein Blatt Papier gar nicht mehr durchdringt. Allerdings geben diese Teilchen auf ihrer sehr kurzen Distanz die Energie ab. Das ist besonders gefährlich, wenn diese Partikel eingeatmet werden, oder an den oberen Hautschichten strahlen. Gammastrahlung wiederum durchdringt wie eine Funkwelle Materie sehr leicht und lässt sich am wirkungsvollsten mit Blei abschirmen. Das auch diese Strahlungsart alles andere als ungefährlich ist, braucht man wohl nicht zu erwähnen.

Diese Strahlung kann man nicht sehen, riechen, schmecken oder sonst irgendwie direkt wahrnehmen, aber die Gefährlichkeit ist trotzdem vorhanden. Mit relativ einfachen Techniken kann man diese Zerfallsprozesse aber sichtbar, bzw. hörbar machen und zählen. 

Das bewerkstelligt man schon seit langem mit einem sogenannten Zählrohr oder dank der modernen Technik auch mittels Halbleiter. Ein P-N-Übergang wird in Sperrrichtung betrieben und unter Ausschluss von Licht (also abgedunkelt) der ganz kleine Sperrstrom gemessen. Trifft nun energiereiche Strahlung auf diesen P-N-Übergang dann wird der Stromfluss kurzzeitig erhöht und kann detektiert werden.

Immer wenn sich die Möglichkeit ergibt, sehr günstig zu einem Detektor zu kommen, greife ich natürlich zu. So auch dieses Mal. Einen einfachen Bausatz, basierend auf der Detektion mittels Zählrohrs musste ich mir ansehen. Der Bausatz stammt aus Fernost und besteht aus einer Basisplatine, einem aufgesteckten Arduino Nano und einem ebenfalls aufgesteckten LC-Display.

Alle für die Detektion notwendigen Komponenten befinden sich auf dem Mainboard. Dazu zählt unter anderem die Hochspannungserzeugung für das Zählrohr, die mittels einfacher Boost-Konverterschaltung, angetrieben von einem 555er, realisiert wird. Um das Zählrohr auf dem Mainboard zu befestigen hat der Designer dieses Boards einfache Glasrohrsicherungshalter gewählt. Die passen zwar nicht ganz exakt, lassen sich aber soweit ausdehnen, dass sie das Zählrohr gut festhalten. Das Zählrohr ist übrigens ein J305. Es ist ca. 90mm lang und hat einen Durchmesser von knapp einem Zentimeter.



Das Zählrohr arbeitet bei einer Anodenspannung von 350V bis 480V. Nachstehend habe ich die Spezifikationen aus dem Datenblatt aufgelistet:

  • Anodenspannung: 350 v bis 480 V
  • Typ: J305 Geiger-Zählrohr
  • Kathodenmaterial: Zinnoxid
  • Wandungsdichte: 50 ± 10 cg/cm²
  • Betriebstemperaturbereich: -40 °C bis 50 °C
  • Durchmesser: 10 mm (±0,5 mm)
  • Länge: 90 mm (±2 mm)
  • Eigenhintergrundstrahlung: 0,2 Impulse/s
  • Empfindlichkeit gegenüber γ-Strahlung: 0,1 MeV
  • Stromaufnahme: 0,015 mA bis 0,02 mA
  • Arbeitsspannung: 380 V bis 450 V
  • γ-Strahlung: 20mR/h ~ 120mR/h
  • β-Strahlung: 100 ~ 1800 Pulse/min.
  •  100 ~ 1800 Pulse/min.


Die Signaldetektion sowie die Aufbereitung des Signals erfolgt auch auf dem Mainboard. Die erkannten Impulse werden über einen kleinen Piezolautsprecher wiedergegeben. Um sie auch zählen zu können, muss man nicht mit einer Stoppuhr vorm Lautsprecher sitzen und im Minutenabstand die Pieptöne zählen - nein - das übernimmt ein Microcontroller, der wie heute üblich, aus einem fertigen Board besteht. Hier hat der Designer einen Arduino Nano (oder auch Nanonachbau) gewählt. Auf dem wiederum läuft ein Programmchen, dass das Zählen der Impulse übernimmt und auch gleich schön auf einem zweizeiligen LC-Display anzeigt und idealerweise auch noch in µSievert/h umrechnet. Um die Pulse dem Arduino zu übergeben, wird der Pegel des Signals auf TTL-Level gebracht und an den Interrupt-Eingang des Arduino geschaltet. Das LC-Display benutzt den I2C Ausgang des Arduino. Die Leitungen dafür werden lediglich von der Buchsenleiste, in die der Arduino gesteckt wird, über das Mainboard zur Buchsenleiste für das Display geführt. Um das ganze System mit Spannung zu versorgen, werden direkt die 5V vom USB-Anschluss des Arduino verwendet. Optional kann man die 5V auch über eine Steckerleiste am Mainboard anschließen.

Ist alles zusammengebaut und die USB-Versorgung angesteckt, dann gibt es zuerst einmal eine kurze Wartezeit in der die Hochspannung aufgebaut wird. Hier hat sich der Programmierer eine Animation ausgedacht, die am Display "Boot..." anzeigt.

Und dann geht es auch schon los. Der Geigerzähler ist betriebsbereit und beginnt zu zählen. Als Test habe ich lediglich eine alte Uhr, deren Zeiger mit Radiumfarbe bemalt sind, zur Verfügung. Hier ist zumindest eine deutliche Änderung der Anzahl der detektierten Zählimpulse festzustellen, wenn man die Uhr in die Nähe des Zählrohrs bringt.


 






 

 


 

 

 

 

 

 

Neumann KH-120

Diesmal hat ein defektes Aktivlautsprecherpaar zu mir gefunden, das aus der professionellen Ecke der Schallerzeugungsgeräte stammt. Auch diese Geräte haben gelegentlich Probleme, oder fallen aus. Recherchiert man ein wenig in den Foren im Internet, so sind die KH-120 Boxen sehr robust und langlebig. Die einzigen Probleme, über die ich gelesen habe, sind Ausfälle des Netzteils. Gelegentlich gibt es auch Meldungen über ein deutliches Rauschen bis Pfeifen auch wenn kein Signal angelegt ist.

Genau dieses Problem zeigten diese Exemplare. Nach dem Einschalten war ein Zischen, Rauschen bis zu leichten Pfeiftönen zu hören. Diese konnten mit den Filter- und Verstärkungsschaltern beeinflusst, aber nicht behoben werden. Wenn die Lautsprecher für längere Zeit in Betrieb waren - so in etwa nach einer halben Stunde, dann verringerte sich das Rauschen.
Leider habe ich es nicht geschafft, im Netz brauchbare Infos über diese Fehler zu finden, geschweige denn einen Schaltplan des Boards. Es bleibt daher nichts übrig, als selber auf die Suche zu gehen, das Board zu analysieren und Systematisch nach dem Fehler zu suchen.
Beginnend mit dem Entfernen der vier langen Inbus-Schrauben können die beiden Gehäusehälften vorsichtig auseinandergezogen werden. Darin offenbaren sich dann zwei weiße Dämmstoffblöcke. Diese können einfach herausgenommen werden. Die Drahtverbindung zu den Lautsprechern lässt sich über einen vierpoligen Stecker von der Platine lösen. Ebenso die Verbindung zum kleinen LED-Logo Board.

 

KH-120 ist geöffnet und der Dämmstoff entfernt


Im Bild ist der Steckverbinder mit den Drähten zu den Lautsprechern zu sehen 

Als nächstes kann die Platine vom Gehäuse losgeschraubt werden.  (hier ist ein Torx Bit zu verwenden) Es sind alle Schrauben, bis auf die beiden schwarzen Kreuzschlitzschrauben zu lösen. Danach ist das Board vorsichtig aus dem Gehäuse zu entnehmen.

Platine des Neumann KH-120

Optisch sieht die Platine sehr gut aus. Alle Bauteile, die durch den Schall in mechanische Schwingungen und evtl. Resonanz versetzt werden können, sind mit elastischem Kleber gesichert. Das Boardlayout ist schön und übersichtlich. Man erkennt links unten im Bild den Netzeingang und den Netzfilter. Darüber ist der große Elko für die Glättung der, aus der Netzspannung erzeugten Gleichspannug zu sehen.

Das Netzteil ist ein Schaltnetzteil. Der über einen Controllerchip angesteuerte Mosfet taktet den Übertrager. Auf der Sekundärseite wird wieder gleichgerichtet und die symmetrischen Spannungen +Ub und -Ub für den Leistungsteil der Endstufen, sowie +15V und -15V für die Versorgung der Vorverstärkung und Signalaufbereitung erzeugt. Ub liegt dabei bei -42 bzw. +42V. Die Leistungsendstufen sind zwei TDA7293 ICs. Hierbei steuert einer den Hochtöner und der andere den Tieftöner Lautsprecher an.

Rückseite der Platine
Um nun nach der Ursache des Problems zu suchen, geht man systematisch vor. Mit einem Multimeter habe ich zuerst die Versorgungsspannungen überprüft. Die sind natürlich da. Aber die Wahrheit sieht man erst wenn man sie etwas genauer ansieht. Hier reicht das Multimeter nicht mehr aus. Ein Oszilloskop offenbart auch den AC-Anteil oder Restwelligkeit.

Auf dem Bild ist der AC-Anteil der -15V Spannungsversorgung dargestellt. Mit ca. 800mV ist der jedoch verdächtig hoch. Die Periodendauer dieser Spitzen mit 30µs weist auf das Regeln des Übertragers hin, wenn das Netzteil kaum Leistung abgeben muss. Innerhalb der Impulse ist die Schaltfrequenz des Übertragers zu erkennen. Was aber noch zu erkennen war und auf dem Standbild nicht zu erkennen ist, sind niederfrequentere, unsymmetrische Anteile mit einer ebenso hohen Amplitude. Demnach scheint ein Problem bei der Glättung der Spannung vorzuliegen. Also untersuchte ich den Aufbau der -15V Versorgung. Und siehe da, die +/-15V werden mit einem Längsregler realisiert. Für die +15V wird ein 7815 und für die -15V ein 7915 Regler im TO220 Gehäuse eingesetzt. In der Applikation Note werden für den IC am Eingang sowie am Ausgang Kondensatoren gegen Masse vorgeschrieben. Und genau diese habe ich mir zuerst genauer angesehen. Ein Elko mit 100µF/35V und 105° wird am Eingang des 7915 verwendet. Dieser Elko musste raus zum Messen. Gleich nach dem Ausbau kam mir vor, das Gewicht des Bauteils ist zu leicht - das fühlte sich so nach nichts an. Also ran an die LCR-Brücke und siehe da, die Kapazität lag irgendwo bei 1.4µF.

der Verursacher
Ein neuer Elko war schnell eingebaut und die erneute Messung der Spannungen offenbarte wieder ein schönes Signal. Der AC Anteil war nun wesentlich geringer und die unregelmäßigen Störungen waren verschwunden. Lediglich das Schalten des Übertragers war noch zu sehen. Was aber noch auffiel, bzw. nicht mehr auffiel, waren die Geräusche aus den Lautsprechern - das Rauschen war weg.

hier war der Verursacher verbaut

 

LEGO Mindstorms EV3 mit Matlab und Simulink


Wer mit Matlab und Simulink arbeitet oder lernt und einen LEGO EV3 Brick samt Sensoren und Aktoren besitzt, kann diese Systeme miteinander verknüpfen. Rund um den EV3 Brick gibt es natürlich eine Community und etliche Plattformen, über die man mit dem Brick kommunizieren kann. Doch dazu später.

Der Lego EV3 Brick ist im Wesentlichen ein Einplatinencomputer der mit einem LC-Display und vier Input- sowie vier Output-Ports (Schnittstellen für Sensoren und Aktoren) ausgestattet ist. Als Datenschnittstellen gibt es einen USB Port als HOST und einen MiniUSB Port als Interface zum PC und den diversen Softwaretools.

Will man mit dem Brick wireless kommunizieren, so ist dies über WiFi, beziehungsweise über Bluetooth möglich. Allerdings ist die Hardware zur Funkübertragung nicht im Brick verbaut und muss als USB Dongle in den Host-Port gesteckt werden.

Folgende USB Wifi Sticks sind lt. Internetrecherche mit dem EV3 und der originalen Legofirmware ab 1.08 kompatibel: (Quelle: Internet)

  • tp-link WL0084E
  • EDIMAX EW-7811Un mit dem Chipsatz RTL8188CUS
  • LogiLink WL0084W auf der Vertriebsseite (Conrad) angeblich mit dem Chipsatz Railink RT5370 jedoch das Herstellerdatenblatt gibt den Chipsatz RTL8188EUS an.

Im Test hat sich gezeigt, dass lediglich Dongles mit dem Realtek RTL8188CUS Chip im embedded Linux des EV3 Driver mäßig implementiert sind. Der Nachfolger von Realtek der RTL8188EUS funktioniert hier nicht.  Und die meisten Hersteller von Wifi USB Dongles (Stand 2021) vertreiben ihre Sticks mit dem 8188EUS Chip, sei dies TPLink, Edimax, LogiLink und wie sie alle heißen. Erkennbar ist das bei manchen an der Typenbezeichnung V2, oder 7811UN V2 (bei Edimax) oder V.02, V.03 bei TPLink. Ist diese Kennzeichnung beim Stick oder dessen Verpackung dabei dann wird das nix. Zumindest nicht, wenn mit der originalen Legofirmware gearbeitet werden will.

 

Vergleich edimax 7811un und 7811un v2


edimax 7188un mit RTL8188CUS chip

 

edimax 7188un V2 mit RTL8188EUS chip

Nun weiter zum EV3 Brick:

Auf diesem Einplatinencomputer läuft ein auf Linux basierendes embedded Betriebssystem das auf einem internen Flash- Speicher abgelegt ist. Dieses Betriebssystem wird in Form einer Firmware von LEGO zur Verfügung gestellt und ist zur Zeit in der Version 1.10 verfügbar. Diese Firmware ist beinhaltet sämtliche Partitionen der Laufwerke und deren Inhalt und wird im Rahmen eines Updates in einem ".bin" File verpackt in den Flash geladen. Mit den Softwaretools "binwalk" ist es unter Linux möglich, die Struktur der Partitionen aus dem Firmware File wiederherzustellen, zu ändern und wieder als ".bin" Firmware Image auf die Hardware hochzuladen.

Es gibt aber auch Custom Firmware und Betriebssysteme die per SD-Card gebootet werden können. Welche Treiber hier mitgeliefert werden ist auf den Seiten der entsprechenden Custom OS Hersteller nachzulesen.

Folgende Betriebssysteme habe ich für den EV3 auf die Schnelle gefunden:

  • ev3dev (https://www.ev3dev.org/)
  • leJOS (https://sourceforge.net/projects/lejos/files/lejos-EV3/)

Man kann den EV3 mit folgenden (und ich nenne hier auch nur die gängigen die auch mir eingefallen sind) Tools bzw. Programmiersprachen programmieren:

  • LEGO EV3 Originalsoftware
  • NI Labview bist Labview Fall2016 ? (Unterstützt bzw. EV3 Plugins implementiert)
  • Matlab und Simulink (Harware Supportpackage für EV3 notwendig) link
  • MicroPython EV3 link

Fakt ist jedoch: der in die originale Lego EV3 Firmware (1.08H , 1.09D) integrierte Treiber für WLAN-Sticks unterstützt nur den Chipsatz RTL8188CUS. Und den benötigt man, wenn man über SIMULINK im "Monitor und Tune" Modus mit dem Brick arbeiten will. Denn interessanter Weise klappt das NUR über eine WiFi Verbindung und NICHT über einen direkten USB Link zwischen PC und EV3.

Es ist auch NUR mit der Firmware 1.08H möglich mit Simulink zu kommunizieren da hier TELNET und SSH als Kommunikationsprotokoll genutzt werden. Und nur in der 1.08H ist eine ungeschützte Verbindung der Weg zum Erfolg. Ab der Version 1.09D ist ein Login notwendig.

Da die Firmware Versionen mittlerweile schwer zu finden sind, stelle ich hier einen Link zum Download herein.

 

Download EV3 Firmware 1.08H
Download EV3 Firmware 1.09D

Was benötigt man nun, um über Simulink mit dem EV3 sprechen zu können ?

  • zunächst muß Matlab und Simulink installiert sein
  • dann muss man das Support Package EV3 für Matlab und EV3 für Simulink herunterladen und installieren
  • auf dem EV3 Brick solltedie originale Firmware 1.08H vorhanden sein. Ist dies nicht der Fall kann die Version über den Firmwaredownloader in der orginalen EV3 PC Software auf das Gerät übertragen werden.
  • im EV3 Brick muß ein USB Wifi Dongle mit dem "CUS" Chipsatz stecken
  • der PC muß idealerweise im selben Netz hängen wie auch das Wifi-Funknetz mit dem sich der Brick verbindet. Ein DHCP Server muß die IP Adressen für die Funkgeräte verteilen
  • jetzt kann der Brick gestartet werden. Danach muß er mit dem WLAN Netz verbunden werden (es sollten WPA2 Passwörter ohne Sonderzeichen festgelegt sein, da der EV3 Brick diese nicht zur Verfügung stellt)
  • ist der EV3 mit dem Netz verbunden, dann ist unter dem Menu "Brick Info" die aktuelle IP Adresse des Bricks und die Brick ID zu notieren. Diese Infos werden gleich im Simulink Setup benötigt
  • nun zu Simulink: dort ist im Menu "configuration Parameters" unter "Hardware Implementation -> Hardware board" Mindstorms EV3 zu wählen 

  • das Setup wird im selben Menu unter "Hardware board settings" -> Target hardware resources -> Groups -> Host to Target Connection festgelegt. Hier ist "Ethernet" als Connection Type einzustellen. Die vorher ermittele IP Adresse und ID des Brick sind hier auch einzugeben.

Das war´s dann auch schon. Nun sollte es möglich sein eure Simulink Modelle mit der EV3 Hardware zu nutzen und auch die Tune Infos während der Simulation am PC zu sehen ...

 

 

 

 

 

 

 

 



Videostreaming im Auto - Android Auto - die Billiglösung

Da in der zurzeit etwas wärmeren Jahreszeit meine Freizeitaktivitäten vermehrt im Outdoor Bereich stattfinden, leidet das Schreiben von den Weblogs ein wenig. Ich arbeite aber trotzdem an einigen Projekten, Reparaturen und Restaurationen. So kommt auch wieder einiges an Material zusammen, um daraus -in der kälteren Jahreszeit- Beiträge zu verfassen. Diesmal habe ich mich nur wieder über die Abzocke und Preisgestaltung im KFZ - Bereich geärgert und nach einer alternativen Lösung gesucht.

Es geht dabei um mein fünf Jahre altes Auto, das mit einem OnBoard Navigationssystem ausgestattet ist. Die Navigationsdaten sind auf einer im Fahrzeug gesteckten SD-Karte gespeichert. Soweit so gut. Die Kartendaten des Fahrzeuges sind mittlerweile allerdings auch in die Jahre gekommen und vieles ist nicht mehr aktuell. Sowas stört besonders wenn man sich auf einer Urlaubsreise befindet und das Navi das Ziel nicht kennt, oder den Weg dorthin nicht verzeichnet hat. Alles kein Problem dachte ich mir, Kartendaten sind ja auf der SD-Karte - da gibt´s doch sicher Updates. Und ja es gibt sie - allerdings kosten die Kartenupdates von 200Euro aufwärts und mehr. Dafür bekomme ich ja ein komplettes Navigationsgerät samt aktuellen Karten mit gratis Onlineaktualisierung.

Also habe ich versucht, mich schlau zu machen und eine aktuelle Karte im Netz zu finden und auf die SD-Karte zu speichern. Aber das klappt natürlich nicht. Hier werden einige Sicherheitsmechanismen angewandt. So ist zum Beispiel die Hardware ID der Speicherkarte im Navigationssystem hinterlegt (kodiert). So scheiterte mein erster Versuch die originale Navikarte als Image auf eine neue SD-Karte zu kopieren. Sie wird als nicht gültige Karte erkannt. Und mit Diagnosegerät VCP und VCDS im Navirechner ohne Anleitung herumzubasteln ist mir dann zu viel Aufwand. Also musste eine andere Möglichkeit her. So ist auf jedem Smartphone ein online Navi installiert - nennt sich Google Maps. Und zudem gibt es auch einige offline Navisystemen die kostenfrei von den Webstores zu laden sind.  So war nun meine Idee das Auto um eine Phone Mirror Funktion zu erweitern. (diese Dinge nennen sich Android Car Play in der Obstabteilung usw.) Da meine alte Kiste nichts davon im Entertainmentsystem bereitstellt gab es für mich folgende Alternativen:

Entweder kaufe ich ein China Navi zum Nachrüsten - und dabei meine ich die, den originalen Boardmonitoren des Autos nachempfundenen Bildschirme, in die dann ein Android Rechner eingebaut ist. Dort können dann die entsprechenden Apps zur Navigation und andere Spielereien installiert werden. Die Daten des originalen Bildes des Auto Infotainment Systems werden natürlich weiterhin dargestellt. Solche Systeme sind in der Größenordnung von 400-600 Euro zu bekommen. Dazu kommen dann noch ein paar Stunden an Einbau- (Bastel-) Arbeiten.

Eine andere Möglichkeit ist ein Retro Fit Umbau. Das bedeutet, ich baue das höherwertige Infotainment System mit dem entsprechenden Funktionsumfang in das Fahrzeug ein. Das wiederum bedeutet: das alte System ausbauen, ein neues System vom Fahrzeughersteller samt allen notwendigen Steuergeräten, Kabelbäumen, Abdeckblenden etc. zu kaufen, dann einzubauen und im Anschluss alles mit viel Aufwand codieren, Parameter einspielen usw. Die Kosten sind immens und rechnen sich auf keinen Fall (>2500,- wenn’s reicht) und dann noch die Arbeit für den Aus- und Einbau. -> alles kann man das vergessen.

MiraScreen Empfänger
Und hier die letzte Möglichkeit für alles zusammen gerade mal 50Euro und mit einem Aufwand von 30 Minuten Einbau bestehend aus folgenden Punkten:







  • die Video In Motion (VIM) Funktion des Displays bzw. der Radiounit freischalten
  • ein AMI Kabel mit Composite Video In und Audio In erwerben
  • einen MiraScreen WLAN-Receiver um gerade mal 40Euro erwerben, der imstande ist, das Videosignal auch per CVBS auszugeben
  • das ganze Teil (in diesem Fall) in der Ablage der Mittelkonsole einbauen
  • das Kabel für die Energieversorgung der Mirabox durch die Ablage zur 12V Steckdose verlegen und anschliessen.

Diese Arbeiten sind schnell gemacht und das Smartphone kann per "Stream" (im Android Smartphone unter "Kabellose Übertragung in Bluetooth- & Geräteverbindung") verbunden werden. Jetzt wird der Bildschirm und der Ton des Smartphones auch über das Infotainmentsystem des Fahrzeugs wiedergegeben.

AMI Videokabel


Das AMI-Videokabel wird an der AMI Buchse des Fahrzeugs angesteckt und die analogen Video- und Audioleitungen mit den Chinch-Steckern des MiraScreen Anschlusskabels verbunden.

Stecker für Versorgung, Video und Audio an den MiraScreen

Die Energieversorgung für den Mira Screen habe ich direkt von der 12V Steckdose hinter der Mittelarmlehne entnommen. Dazu habe ich den Stecker der 12V Dose ausgepinnt, je einen Draht an 12V und GND angelötet und wieder eingepinnt.  An das andere Ende der beiden Drähte habe ich eine 13,5mm Tamiya Kupplung gekrimpt. Zusätzlich hat die 12V Leitung auch noch eine Flugsicherung erhalten. An diese Tamiya Kupplung wird nun das, durch die Ablage gefädelte Mira Screen Anschlusskabel gefädelt und der entsprechende Tamiya Stecker aufgekrimpt. Um das Kabel durch die Ablage zu bekommen, habe ich einfach ein 7mm Loch gebohrt und einen Gummikantenschutz in das Loch gesteckt.


 

Kabeldurchführung

Ist das Kabel nun angeschlossen, dann kann die Box angesteckt und in der Ablage verstaut werden.


Im Bild oben ist die Box fertig angeschlossen und in der Mittelarmlehnenablage zu erkennen.


 Ist die Lehne heruntergeklappt, so ist von der Box nichts mehr zu erkennen. Man kann sie nach Abziehen der Stecker auch wieder einfach und schnell entfernen.


Nachdem die Zündung nun eingeschaltet ist, kann man im Multimediasystem "Media" auswählen und dort dann auf CVBS-Videoeingang anklicken. Jetzt sollte der Startschirm der Mira Screen Box zu sehen sein. Man kann die Mira Screen Box auch konfigurieren, indem man das Handy per WLAN mit der SSID "MIRAxxxx" verbindet und die IP Adresse, die auf dem Startbildschirm angegeben ist im Browser des Smartphones eingibt. Das SSID Password steht ebenfalls am Startbildschirm. 




Die Fotos oben zeigen das Innenleben der Box. Bei diesem Gerät hatte sich der Pinheader der Stack-Platine aus der Buchsenleiste teilweise gelöst und dies hatte zu Kontaktproblemen der beiden Platinen geführt. Der Messingabstandhalter (im letzten Bild unten links zu erkennen) ist 2mm zu lange, sodass die beiden Platinen nicht ordentlich zusammenhalten. Als Abhilfe habe ich die beiden Abstandhalter um diese 2mm gekürzt und wieder verschraubt. Somit kann ich die Google Maps problemlos im Auto benutzen.