Jump to content
Intermodellbau 2024: Unser Stand in Halle 3 ist fertig für Besucher - schaut mal 'rein. ×
Schiffsmodell.net

ARM im Modellbau


Hellmut Kohlsdorf

Recommended Posts

Hellmut Kohlsdorf

Hallo Freunde

 

Die Atmel AVR Controller und die Arduino Produkte sind sicher ein guter Einstieg. Da ich jetzt langsam zum Elektronik Teil beim Bau meiner Voilier komme, habe ich die LPCXpresso Boards von NXP oder Embedded Artists für Systeuerungsaufgaben den Vorzu gegeben. Einmal sind die Boards extrem preisgünstig, nur 20 €, extrem kompakt, siehe hier den Link. Es gibt LPCxpresso Karten für viele der ARM Controller von NXP. Embedded Artists bietet sogar noch presiwertere und kompaktere. Darüber, dass die Leistung dieser Controller wesentlich höher, die Möglichkeit Stromsparend betrieben zu werden sehr umfangreich, aber auch die auf dem IC verfügbaren Peripheriefunktionen sind enorm. Alles dieses stimmt auch für die ARM basierenden Angebote anderer Hersteller, aber die komplette und sehr leicht zu verwendene Entwicklungsumgebung inklusive leistungsfähiger Debug Funktionen (Fehlersuchfunktionen) und die Möglichkeit Programme Schrittweise auszuführen, sich die Inhalte der Register anzusehen, über die auf dem LPCXpresso integrierten JTAG-Schnittstelle macht zusätzlich noch die Notwendigkeit einer zusätzlichen Hardware zum Programmieren der Controller unnötig. Die Videos zur Schulung, die umfangreichen Demoprogramme und die vielfältigen Support Angebote haben mich für die ARM Controler von NXP entscheiden lassen.

 

ARM Controller der Cortex Familien haben auch zusätzlich noch den Vorteil, sind damit ein wenig wie BASDOM, eine standardisierte Ansprache der Peripheriefunktionen im Controller als Teil der Familiendefinition von ARM zu haben. Damit sind umfangreiche Bibliotheken vorhanden, welche die Nutzung der Peripheriefunktionen auf dem IC wie eine Funktion innerhalb von BASCOM nutzen zu können.

 

Ich werde als erste Funktion den LPC1769 mit der Quadraturschnitstelle in Hardware dazu nutzen die Daten vom Winkelenkoder, 14 Bit, zu dekodieren.

Link to comment

Hallo Hellmut,

 

das klingt alles hochinteressant, nur verstehe ich das alles leider nicht.

Hast Du vielleicht im Netz ein Beispiel aus dem Modellbaubereich, wo so etwas praktisch eingesetzt wird, damit auch Laien ein wenig mehr verstehen.

Aber halte uns bitte auf dem laufenden. Ich lerne immer gerne dazu.

 

gruß

martin

Link to comment
Guest LostInSpace
Ich werde als erste Funktion den LPC1769 mit der Quadraturschnitstelle in Hardware dazu nutzen die Daten vom Winkelenkoder, 14 Bit, zu dekodieren.

 

???? Kannst Du das mal etwas genauer erklären? Hat das noch wirklich etwas mit Schiffsmodellbau zu tun?

Link to comment

Hallo Hellmut,

 

kennst Du Dich aus mit dem Arduino Bord?

 

Ich finde es klasse, wie man diesem Teil, ganz einfach Schaltungen hinbekommt, die früher doch sehr umpfangreich waren.

 

Gruss

 

Wolfgang

Link to comment

Es ist zweifelsfrei richtig das ein ARM deutlich mehr Rechenleistung und Möglichkeiten bietet als ein Microcontroller wie der Arduino. Drei Dinge möchte ich aber erwähnen, die musst du nicht persönlich nehmen, aber evtl. stolpern andere mal über den Thread:

 

1. Der Arduino reicht für die Flugsteuerung des Wiicopter, samt Gyroskop, Beschleunigungsmesser, GPS, Barmeter, Autopilot. Wer ein Projekt plant das kleiner ist als ein Hexacopter braucht nicht mehr Rechnenleistung als der Arduino liefert.

2. Der Arduino ist weit verbreitet. Hilfe gibt es praktisch überall, sogar hier im Forum, kaufen kann man ihn in 100 onlineshops und in meinem Conrad ums Eck ist er sogar lagernd (Wenn auch zu Apothekenpreisen).

3. Der Arduino bringt eine kostenlose und quelloffene Entwicklungsumgebung mit, sowie Treiber für Windows.

 

Meiner Meinung nach: Für jeden der keine Gesichtserkennung für sein Modell plant ist der Arduino die bessere Wahl, ausgenommen der ARM ist sein Steckenpferd und er nutzt ihn Beruflich seit 5 Jahren. Ich will den ARM nicht schlecht reden, nur will ich niemandem der sich an den theoretischen Möglichkeiten dieser Hardware aufgegeilt hat blind in eine Welt rennen lassen in der alles 3x umständlicher ist, als es sein müsste.

Link to comment

Hallo,

Meiner Meinung nach: Für jeden der keine Gesichtserkennung für sein Modell plant ist der Arduino die bessere Wahl, ausgenommen der ARM ist sein Steckenpferd und er nutzt ihn Beruflich seit 5 Jahren.

dem kann ich nur zustimmen. Bis man einen AVR mal wirklich ausreizt, braucht es schon ein ganzes Stück Programiererfahrung.

Für jemanden, der bis jetzt noch nichts mit Mikrocontrollern gemacht hat, ist es sicher sinnvoll, erst mal mit einem Arduino, oder von mir aus auch direkt mit einem AVR ohne das drumrum anzufangen. Schon allein aus dem Grund, das man zum Thema AVR einfach unschlagbar viel an Inspiration und Starthilfe im Netz findet.

 

Wenn man dort dann irgendwann feststellt, das die Rechenleistung nicht mehr aussreicht, kann man immer noch umsteigen.

 

viele Grüße,

Hermann

Link to comment

Ach, jedem das seine. Ich bin auch schon mal an die Leistungsgrenzen des Atmel Chips gestossen, hab aber mit mehreren Atmels einfach in den Griff gekriegt.

Allerdings für die Arms interessiere ich mich auch, aber nicht für den Modell Bau, sondern nur so...

Link to comment
Hellmut Kohlsdorf

Hallo Freunde

 

Ich freue mich über die unerwartet große und konstruktive Reaktion auf meinen Beitrag. Ich möchte das würdigen und auf jeden Punkt der hier hochgebracht wurde in Einzelnen eingehen. Weitere Nachfragen wären eigentlich zu erwarten!

 

Zuerst einmal, ich bin auch ein AVR Fan und habe nach meiner Beschäftigung vor vielen, vielen Jahren mit dem MC6809 von Motorola mich für diesen entschieden, auch weil es dort BASCOM gibt! Ich bin davon überzeugt, dass BASCOM die einfachste und unmittelbar nutzbringendste Programmersprache für den Einsatz von Mikrocontrolern im Modellbau ist. AVR/Atmel Controller und PIC geben sich eigentlich nichts und ich halte diese für gleichwertig, auch was die Programmierumgebung angeht. Unser Torsten hat hier vor Jahren, nachdem erste Versuche ein solches Einführungsprojekt einzuführen in diesem Forum scheiterten, dort einen tollen Kurs für blutige Einsteiger veröfentlicht. Mit seiner Erlaubnis habe ich diesen Kurs ins Spanisch übersetzt und in einem Forum in Spanien veröffentlicht. Das Ergebnis davon sind unglaubliche Projekte und ein sehr lebendiges Geben und Nehmen in diesem Forum. Jener Kurs hat nach meiner Überzeugung dem jenigen der in durchlaufen hat, dadurch das er seine Experimentierplatine selber aufbaut, gelehrt Schaltpläne richtig zu lesen und zu interpretieren und beim Aufbau einer Schaltung die Bedeutung des Verifizieren vermittelt und in dieser sehr wichtigen Technik, will man eigene Schaltungen aufbauen, wesentliche Grundkenntnisse vermittelt. Da in Spanien und speziell in Lateinamerika die Modellbauer wirtschaftlich wesentlich klammer sind als der Durchschnitt bei uns, hat dieses Vorgehen gegenüber den Arduino basierten Lösungen klare Vorteile in diesem Sprachraum.

 

An Martin: Elektronik kann für den Modellbauer eine weitere Technik sein, welche im Modellbau vieles möglichmacht, und dieses wesentlich preiswerter und besser an die Bedürfnisse besonders im Funktionsmodellbau und an Jedem seine Bedürfnisse und Träume anpassbar. Also einfach nur noch eine Möglichkeit tolles zu realisieren, was einem beim Nachdenken zum eigenen Modell in den Sinn kommt. Ich schätze unser Torsten wird auf der Basis des Arduino die "gleichen Legobaustein artigen Elemente vermitteln, die kombiniert und angepasst, enormes mit nur einem kleinen Satz Kenntnissen ermöglicht. Also eine Art Türöffner und Starter für die Elektronik im Modellbau.

 

An LostinSpace: In Erweiterung des oben an Martins Beitrag orientiertem, bietet ein magnetischer Winkelenkoder, der sehr einfach im Aufbau ist, mein Baubericht zum Segler Carina wird es zeigen, bietet umfangreiche Möglichkeiten, gerade im Funktionsmodellbau. Auf dem Punkt gebracht, er ermöglicht es bei etwas das dreht, exakt die Position gemeldet zu bekommen, was beim Programmieren, und das ist beim Einsatz von Mikrocontrollern immer der Fall, von großem Nutzen ist. Ein magnetischer Enkoder ist gegenüber einem optischen Enkoder, wesentlich kleiner und leichter zu realisieren und ist sehr obust und preiswert.

 

An Wolfgang: Ja, ich kenne die Arduino, Arduino Klone und die Arduino artigen Produkte auf der Basis von PIC Controllern. Es sind kleine Platinen in einem bestimmten physikalischen Format, für welche "Shields" heissen diese meine ich, also Zusatzkarten in fast unendlicher Vielfalt auf dem markt angeboten werden. Arduino besitzt auch eine eigene Programmiersprache und wie andersorts geschrieben, nach der Installation der Entwicklungssoftware, ist diese unmittelbar einsetzbar, anders als bei sogenannten Toolchains, wo diverse Software Elemente verküpft werden müssen, was für einen blutigen Anfänger fürchterlich ist. Ich spreche hier aus eigener Erfahrung, als ich versuchte die Entwicklungssoftware für den ARM STM32 zu installieren.

Ich stimme dir zu, für kleines Geld bekommt man beim Arduino fertige Hardware und im Internet gibt es umfangreiche Software für fast alles.

 

An Kessl: Zu deinen 3 Punkten im Einzelnen:

 

zu 1.: Sicher ist in 99% der Fälle die Rechenleistung die man bei Atmel bekommt hinreichend und daher sicher nicht das Kriterium, ob man AVRs oder einen der vielen ARM basierenden karten im Markt nimmt. Auch sind die normalen AVRs, mega8 und Konsorten in Gehäusen zu beziehen, die viel leichter zu verarbeiten sind und sich daher für den Anfänger der sich eigene Karten bauen will besser geeignet. Bei den ATXmega sieht das aber dann schon anders aus.

 

zu 2.: Ich würde den Punkt unter Verfügbarkeit zusammenfassen. Controller von Atmel und von PIC sind weit verbreitet, da stimme ich dir zu. ARM basierende Controller aber auch und die Zukunft, so denke ich, gehört diesen Produkten. ARM ist eine Produktfamilie die alle aus der Schmiede der Firma ARM kommen, die selber keine ICs produzieren, sondern Lizenzen an Firmen vergeben, die dann ihre ARM Produktpallete erschaffen. Daher gibt es ARM basierende Produkte bei allen Herstellern von Controllern, außer vielleicht bei Intel, aber sogar AMD steigt kräftig ein. Arm Produkte gibt es von ganz klein, ARM Cortex M0 bis zu 64 Bit breiten ARMs für das Topende der Prozessoren. Für uns im Schiffsmodellbau dürfte sich das Benutzen auf solche der ARM Cortex Mx Familien begrenzen. Und gerade diese bieten viele Vorteile für den Einsatz im Schiffsmodellbau.

 

zu 3.: Du nennst hier drei Kriterien, die ich denke getrennt bezüglich ihrer Relevanz für uns im Schiffsmodellbau zu betrachten sind:

 

Quelloffen: Hier meinst du vermutlich die Möglichkeit auf den Quellcode der Entwicklungsumgebung zugreifen zu können, hier Änderungen machen und dann die Entwicklungsumgebung durch Kompilieren neu zu erzeugen. Wer sich das zutraut ist so ein Experte, da würde ich das Kriterium für den, der in der Elektronik nur eine weitere im Schiffsmodellbau anwendbare Technik ssieht, als nicht relevant bezeichnen. Was aber alle Werkzeuge können, ist es eigene "Kommandos" zu erzeugen, welche eingebunden in ein Programm für dieses verfügbar werden. Das ist für uns im Modellbau wesentlich, das kann BASCOM auch und gerade hier glänzt BASCOM für den Anfänger dadurch, dass er umfangreiche Befehle hat, die wesentliche Funktionen umfassen, die wir im Schiffsmodellbau nutzen können.

 

Kostenlose Entwicklungsumgebung: Das ist ein wichtiges Kriterium und gilt auch für die LPCXpresso Karten von NXP/Embedded Artists. Bei BASCOM kann man, wenn ich es richtig in Erinnerung habe, mit der kostenlosen Version bis zu 4kByte Programme erstellen, für etwa 70,- Euros, verschwindet diese Grenze und man kann den gesammten nicht flüchtigen Speicher mit Programm füllen. Diemodifizierte "RED CODE" IDE, Entwicklungsumgebung erlaubt bis zu 128kByte Programme in der kostenlosen Version zu schreiben. Das muss man erst Mal schreiben! Für 256,- USD erweitert man die Lizenz auf bis zu 256kByte Programm und für 512,- USD gibt es dann auch hier keine Grenzen mehr, außer jene des verfügbaren Speichers im Controller. Also zusammen gefasst, bei den LPCXpresso ist die IDE ebenfalls kostenlos.

 

Was aber im Vergleich zu der IDE des Arduino wichtig ist, auch diese IDE installiert sich automatisch so, dass man direkt Programme schreiben kann, ohne die Toolchain erst konfigurieren zu müssen. Umfangreiche Webinare und YouTube Videos zeigen wie man die IDE benutzt und die Demo-Programme die bereitgestellt werden kann man direkt kompilieren und in die Platine des LPCXpresso brennen. Die Demo Programme führen ebenfalls in die Verwendung der unterschiedlichen Peripheriefunktionen des gewählten ARM Cortex Mx ein, so dass man Programm-Module hat die man wie ein Legokasten zu neuen Lösungen zusammenfassen kann. Was noch interessanter und nützlicher ist, ist die API, Anwendungsprogrammschnittstelle, die von ARM vorgegeben sind und die von ARM bei jedem Lizenznehmer für seine in Lizenz erstellten Controller geprüft werden. So haben alle ARM Cortex Mx Controller, egal welcher Hersteller, die "Treiber" in Software für ihre Controller so zu realisieren und bereitzustellen, das eine Anwendung, welche diese Anspricht auch von allen verstanden wird und also Kompilierbar sind. Dadurch wirkt das gewaltige Momentum im ARM Markt und ihre Anwendungen in den modernen Applikationen dazu, das jedes Programm, sollten auf dem Zielcontroller die gleichen benötigten Peripheriefunktionen verfügbar sein, dort kompilierbar ist und das durch das Momentum in diesem ARM basierenden Markt eine enorme Pallete an neuen und leistungsfähigen Peripheriefunktionen entstehen. Ebenfalls dadurch das die ARM Cortex Mx basierenden Controller relativ leicht austauschbar sind, müssen die Hersteller sich dadurch diferenzieren, dass diese besonders kreativ bei der Implementierung von Periheriefunktionen und dem Ersinnen spezieller neuer Peripheriefunktionen sein müssen. Das Ergebnis, das Angebot und die Vielfalt wächst gigantisch und für den Anwender durch die einheitliche API leicht verwendbar.

 

Die LPCXpresso haben aber noch einen Punkt, der mich dazu brachte mich für die Controller von NXP zu entscheiden. Jedes LPCXpresso Board besteht aus 2 trennbaren Teilen. Einmal der Bereich der einem Arduino Board entspricht und des weiteren aus einem der über eine USB Schnittstelle ein JTAG Schnittstelle bereitstellt. Was bedeutet das? Ich brauche keinen Programmierer um Programme in den Controller zu brennen, das ist bereits Bestandteil des LPCXpresso. Das ist eine Kostenersparnis und außerdem ermöglicht es dieses, das die IDE automatisch so konfiguriert installiert wird, dass sie das LPCXpresso Board auf diese Weise anspricht und Programme in den nicht flüchtigen Speicher einbrennen kann. Aber das ist nicht alles! Die JTAG Schnittstelle erlaubt es bei der Fehlersuche im Programmcode diesen auf der Zielhardware auszuführen, nicht wie bei BASCOM zum Beispiel, wo ein Simulator dafür bereitgestellt wird! Ich kann also mein Programm Schriit für Schritt, oder bis zum Treffen auf eine Stop-Stelle auf dem Zielcontroller ausführen, mir alle Variablen, alle Register, auch die der Peripheriefunktionen ansehen und wenn gewollt verändern. dadurch das die IDE die LPCXpresso Boards kennt, weiss es auch direkt was zu machen ist um das Programm entsprechend bei der Fehlersuche, Debug Mode Kompilierung, beobachtbar zu machen, es kennt die vorhandenen Peripheriefunktionen!

 

Da ein LPCXpresso Board etwa 20,- bis 23,- Euro kostet, ist die Verwendung eines LPCXpresso Boards billiger als die Komponenten für den Controller einzeln zu kaufen.

 

NXP, früher Philips Halbleiter, ist ein führender großer Hersteller, sicher eher größer als Atmel oder Mikrochip, also zukunftssicher!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.