Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:mmt4ue2:start

Dies ist eine alte Version des Dokuments!


Click here for English Version

Forth MiniMultiTool für deine Embedded Experiments

Das Projekt wurde von Jürgen gestartet und auf den Weg gebracht. Er hat viel Energie hineingesteckt das alles zu entwerfen, zu finanzieren und zu koordinieren. Danke!

Mittels dieser Notizen könnt ihr das Projekt verfolgen. Und dazu beitragen das es gelingt. Schreibt mir...

Das MMT4ue2

Ganz kurz kann man sagen: „ … nimm' doch das MMT für den Test!“ Oder „ take your T42“ (wie in „tee for two“ ;-)

Also was ist das denn nun?

Jürgens 1) Vision von einem kleinen, vielseitigen, handlichen und erschwinglichem Werkzeug, mit dem man Hardware testen bzw. ausprobieren kann, führte ihn zur Konzeption eines kleinen Boards, bestückt mit einer Micro-Controler-Unit (MCU) von TI, dem MSP430G2553. Meine 2) Erfahrungen mit dem 4e4th Forth für diese MCU führte uns dann zusammen. Für ihn und andere Interessierte entstand aus dieser Kooperation dann das, was er intern „sein Schweizer Messer“ für die Elektronik taufte. Eine Art Kombi-Werkzeug für Gängiges im Modellbau, klein, leicht, kompakt, vielseitig, quasi im Rucksack und für unterwegs zu allerlei verwendbar, und ausbaufähig.

Und sowas kann man dann mal eben fix damit machen3):
EX6 - Dance of the Servos EX5 - 4 OUT bits manuell toggeln EX7 - Servo folgt ADC

Das TI Launchpad wurde nur für die Entwicklung benutzt. Für eine eigene Anwendung nimm lieber das EuroTech MSP430Board, LEDs und Schalter auf dem kleinen Proto-Platinchen, und ein USB-serielles Kable zum wenn du möchtet. Das ist alles.

Oder steuer einige der Möglichkeiten allein über die drei Taster - dann braucht man noch eine Batterie (2 AAA Zellen) als Strom-Versorgung.

Gestaltung des elektronischen MiniMultiTool

Juergen kramte in seinem Erfahrungsschatz und erstellte eine Liste von Aufgaben zu denen Werkzeuge gemacht werden sollten. Man könnte auch sagen, es ist eine Sammlung gebräuchlicher grundlegender Anwendungen von MCUs, die als Übungsaufgaben (examples) formuliert und dann in einfach gehaltenen Beispielen programmiert wurden. Gut dokumentiert, damit die Grundlagen nachvollzogen werden können. Es war erstaunlich einfach solche kleinen Werkzeuge aus Forth zu schmieden. Dazu wurden in der MCU angelegt je 4 digitale und 2 analoge Eingänge, 4 digitale Ausgänge, 1 PWM-Ausgang und 1 Frequenz-Ausgang (Rechteckwelle 1:1). Begonnen wurde das Ganze auf einem MSP-LaunchPad von TI. Doch da sollte es nicht bleiben. Jürgen hatte minimalistische Platinchen dafür im Sinn.

Device Pinout: MSP430G2553 20-Pin PDIP 
(TOP VIEW) 

VCC-----------------[01   20]---------------------VSS 
(LED1 LP) AD0 P1.0--[02   19]--P2.6 OUT2 ------------
RXD-----------P1.1--[03   18]--P2.7 OUT3 ------------
TXD-----------P1.2--[04   17]--test -----------------
-----------S2 P1.3--[05   16]--RST  S1 --------------
..........AD4 P1.4--[06   15]--P1.7 S3 ---------SPI* 
_-_-_-_-_-FRQ P1.5--[07   14]--P1.6 PWM LED2-LP SPI*
----------IN0 P2.0--[08   13]--P2.5 OUT1-------------
----------IN1 P2.1--[09   12]--P2.4 OUT0-------------
----------IN2 P2.2--[10   11]--P2.3 IN3--------------
* SPI optional.

Die Platinchen

Sind schnell beschrieben. Die Eine bestehen eigentlich nur aus der MCU, die Andere ist frei bestückbar. Bei der MCU-Platine sind die Pins herausgeführt wurden, so dass Lötanschlüsse einfach gemacht und immer wieder geändert werden können. Oder es wird eine Pfostenleiste eingelötet, um das Ganze in ein Steckbrett zu stecken (Bild). Beides sollte möglich sein. Auf dieser Platine sind nur noch die allernötigsten Bauteile für den Betrieb der MCU vorhanden. Das Ganze ist schnell bestückt, wiederverwendbar, aber weil extrem billig, kann es auch verbaut, zerbastelt, oder kaputt experimentiert werden.

Die kleine Platine für die MCU ... ... und eine Zusäzliche.

Linke Hälfte: Die MCU-Platine, Unter- und Oberseite. Rechte Hälfte: Zusätzliche Experimentier-Platine. Die beiden zusammen gelötet, MCU bestückt. Mit Eingabe-Modul, und dann noch die harte Variante ganz ohne Platine...

Aber wer will kann seinen Forth-Computer noch weiter schrumpfen auf einen Chip mit Software, einen Widerstand, wenige Drähte, und das FTDI 3.3VUSB Interface-Kabel - das Ganze auf eineem Steckbrett aufgebaut.

Die Werkzeuge im MMT

Unter „Werkzeug“ verstehe ich hier diejenigen Kommandos an die MCU, mit denen man deren eingebaute Peripherie-Module initialisieren, einstellen und benutzen kann. Also den I/O über die Ports, den ADC-Wandler, die PWM-Ausgabe, andere Timer-Ausgaben.

Mit Hilfe dieser Werkzeuge (utillities) sind dann einfach zu bedienende beispielhafte Programmstücke geschaffen worden, um die MCU detaillierte zu erkunden. Damit kann man bereits etliche Experimente machen um mit der MCU und ihrer Verbindung zur Außenwelt vertraut zu werden. Und hat man das geschafft, wird in den interaktiven Modus gewechselt. Von da an kann die MCU mit Hilfe von Kommandos 4) direkt bedient werden.

Es gibt zwei Gruppen von Beispielprogrammen im Paket MMT-I5).

Gruppe A

  • EX0 - Leave demo loop, run Forth
  • EX1 - Display IN at OUT
  • EX2 - Display IN at OUT, set PWM-LED too
  • EX3 - Falling edge detector (1)
  • EX4 - Falling edge detector with tone (2)
  • EX5 - Dance of 4 servos (test servos)
  • EX6 - Servo follows analog input on pin ADC4
  • EX7 - Get analog input from ADC channel 4
  • EX8 - Audio visual display of ADC4 value
  • EX9 - Play demo song
  • DEMOLOOP - Select an example programm by its nummber.

Gruppe B

  • EX11 - Echo any key
  • EX12 - Toggle OUT bits manually

Gruppe A kommt mit drei Tastern an der MCU aus. Gruppe B benutzt die interaktive serielle Verbindung der MCU zum Terminal im PC.

Der Werkzeug-Führerschein

Für seine Beutzer-Prüfung hat Jürgen sich einen Schummel-Zettel gemacht. Ob es tatsächlich eine online-Führerscheinprüfung geben wird, ist allerdings noch ungewiss. ;-)

Das Handbuch zum MMT

Beschreibt die Werkzeuge im einzelnen. ( tbd )

Bezugsquelle

Der Quellcode6) ist inzwischen recht ordentlich ausgetestet. Und wer sich da dran machen will kann schon mal reinschauen. Man muss sich das aber nicht aus der Vorschau herauskopieren, denn es ist ja imPaket MMT-I enthalten. Im Paket sind:

  • Der Quellcode
  • Image1: Das Forth erweitert um Werkzeuge für die peripheren Module der MCU
  • Image2: Image1 plus Beispiel-Programme, die ohne PC ausführbar sind.
  • Image3: Image2 plus zwei weitere Beispielprogramme bei denen die MCU mit einem Terminal zusammen arbeitet, also interaktiv wird.
  • Handbuch und Datenblatt der MCU

Im Quellcode kann man die Beispiele studieren, und dann vom Forth aus erproben. Dann erweitern oder verändern. Und schließlich mit Hilfe der Treiber eigene Anwendungen schreiben.

Das MMT wurde zuerst auf dem 4e4th aufgesetzt. 4e4th bedeutet: „for-education-forth“. Es ist aus dem CamelForth (Brad Roriguez) hervorgegangen. Das 4e4th eignet sich ganz gut für den Forth-Studenten weil es praktisch unkaputtbar in der MCU residiert. Man kann wild herumexperimentieren ohne befürchten zu müssen das man sich die MCU so zerschießt, dass schließlich nichts mehr geht. Ein Druck auf die Taster S1+S27) zusammen, und alles ist wieder wie neu.

Geschwister

Ich hoffe ja das es noch professionellere Nachfolger unseres allerersten gebastelten Prototypen geben wird. Die möchte ich dann hier vorstellen.

  • MSP430 VFX-Forth lite stand alone version
  • 430eForth Version
  • ? amforth

Und natürlich Fassungen mit mächtigeren MCUs und dementsprechend noch weiterführenden Programmier-Beispielen auf ebensolchen minimalistischen Platinen.

So vielleicht...

Viel Vergnügen

Michael

Die Treibfedern hinter dem Projekt

Jürgen Pintaske wie beschreiben, Ralf Lieb der die Platinen entworfen hat, und EuroTech als Hersteller für die Platinen8).

Und Dank an alle hilfreichen Andern die da noch waren.

Anhang

Die Anfänge

Jürgens Kollektion der Entwicklungsstufen Überlegungen zum Layout, was kann weg...?

Und was zum weitergeben oder ausdrucken.

Dies und Das

Die Noten zum Lied

1)
Jürgen Pintaske
2)
Michael Kalus
3)
Die Nummern stammen noch aus der beta-Version und können in späteren Versionen anders sein. Schau in den Quellcode deiner Version.
4)
Die Kommandos sind Forth-Worte
5)
Die Beschreibung ist dem Quellcode entnommen, und der ist in Englisch verfasst worden.
6)
Es kann noch kleinere Änderungen am MMT geben. Und es ist schon absehbar, das ein 4e4th-update nötig sein wird. Denn das MiniMultiTool wurde unter 4e4th-rev034 begonnen, was einige Ungereimtheiten zur 4e4th-IDE zur Folge hat. Denn in der IDE ist bereits die Debug-Fassung des 4e4th in Verwendung.
7)
Im MSP430-LaunchPad sind das die Taster S2+reset
8)
Auf der electronica 2014, 11 - 14 November, in München, gabs die Platinchen kostenlos. Hast du welche erwischt?
projects/mmt4ue2/start.1416804597.txt.gz · Zuletzt geändert: 2014-11-24 05:49 von mka