Forum: Mikrocontroller und Digitale Elektronik Cortex M3 für KettenRoboter


von Paul Klose (Gast)


Lesenswert?

Hallo,

ich wurde mit meiner Frage vom RoboterNetz hier hergeschickt. Mit dem 
Hinweise das mir hier geholfen werden kann.

Im Grunde ist das was ich vorhabe noch eine Idee. Dennoch möchte ich es 
versuchen und mir mit Hilfe des ARM Cortex M3 Microprozessor einen 
Roboter bauen und programmieren.

Da ich sonst immer nur mit AVR ATmega Microcontrollern gearbeitet habe. 
Hätte ich gerne gewusst ob die Beschaltung und die Programmierung die 
selbe ist wie bei einem ATMega. Oder muss ich da auf Feinheiten achten.

Allgemein gesehen hat der M3 nur mehr Power unterm Hintern und kann so 
wie ich das sehe gleich Beschalten werden mit Motortreiber und und und 
... .

Ich würde mich freuen, wenn ihr mir eure Erfahrungen mitteilt.

mfg Klose

von Jürgen (Gast)


Lesenswert?

Nein, die Beschaltung ist anders.

Genaueres steht im Datenblatt.

von Martin G. (mager)


Lesenswert?

Die Programmierung geht natürlich auch anders (okay, es gibt einen 
C-Compiler, aber I/O und die andere interne Hardware werden natürlich 
anders angesprochen).
Wozu brauchst Du denn mehr "Power" und was meinst Du damit eigentlich? 
Rechenleistung? Strombelastbarkeit der Ausgänge?
Meine küchenpsychologische Kurzanalyse: bleib bei Deinen Leisten, sprich 
dem AVR.

von Strubi (Gast)


Lesenswert?

Koennte sonst den SRV1 von Surveyor.com empfehlen, der ist auch recht 
populaer und mit den Gnu-Tools relativ leicht zu programmieren. Basiert 
allerdings auf Blackfin (hat etwas mehr Power als der Cortex) und hat ne 
Kamera mit drauf. Duerfte so um 450 USD rum sein.

Gruesse,

- Strubi

von Paul Klose (Gast)


Lesenswert?

Hallo,

danke für eure zahlreichen Antworten. Im Grunde geht es mir um neue 
Erfahrungen die ich im Bereich Embedded Systems machen möchte.

Da ich schon fast mit meinem Elektronik Studium fertig bin, möchte ich 
mich einfach mit Microprozessoren mehr beschäftigen. Und da es ein Teil 
meiner Bachelorarbeit ist (die mir zugeteilt wurde) kann ich nicht 
einfach bei einem AVR bleiben.

Außerdem Martin, ist jetzt nicht böse gemeint, aber darf man sich nicht 
weiterbilden. Muss man solche Fragen bzw. Interessen immer gleich 
abwerten. Zu deiner Frage was ich unter Power meine, ist das der M3 
einfach in seiner Rechenleistung mehr zu bieten hat als ein ATmega. Und 
die Speichergröße ist ein wesentlicher Unterschied. Undsoweiter...

Und das in einem Datenblatt für einen Microcontroller oder 
Microprozessor gößere Schaltungen sind, ist mir neu. Im wesentlichen 
geht es mir um meine letzten Projekte z.B. mein Asuro Bluetoothmodul 
oder eine einfache Sensorschaltung. Diese Schaltungen würde ich gerne an 
den M3 anschließen. Mein Frage ist nun ob das geht?

Im Groben hab ich z.B. das Bluetoothmodul beim Asuro nur über die RX- 
und TX-Leitung, über eine Pegelwandler, mit dem ATmega8 verbunden. Und 
nun möchte ich wissen, ob ich diese Schaltung auch einfach an die RX- 
und TX-Leitung am M3 anschließen kann. Oder ob ich da irgendwas beachten 
muss, außer das die Pegel anderst sein könnten.

mfg klose

von Jörg R. (ruppi66)


Lesenswert?

Hallo Paul,

die Kollegen wollten Dich nur warnen, zumindest habe ich das so 
interpretiert.

Die freie Toolchain für den Cortex ist nicht ganz so einfach zu bedienen 
wie die AVR-Tools. Denke aus diesem Grund kam die Empfehlung.
Schau Dir mal den Artikel STM32 in diesem Forum an. Es gibt Dir einen
groben Überblick.
Aus eigener Erfahrung empfehle ich Dir diesen Baustein von ST.
Schau Dich mal auf der ST-Webseite um. Hier findest Du genügend 
Dokumentation um ein Projekt mit dem STM32 hardwaretechnisch auf die 
Füße zu stellen.
Für die Software gibt es ausserdem eine gute Library, welche den 
Einstieg vereinfacht.
Da ich hier den IAR-Compiler einsetze, kann ich Dir leider bei der 
freien Toolchain nicht weiterhelfen. Es müßte aber auch einige Beiträge 
hier im Forum dazu geben (Suchfunktion).

Ich will Dir nur damit Mut machen. Es gibt hier auch viele Leute die 
mittlerweile erfolgreich den STM32 einsetzen. Und für Fragen ist das 
Forum da.

Gruß Ruppi66

von Ratze (Gast)


Lesenswert?

Geht. Klar. Obs in der Praxis funktioniert wirst du sehen wenn du am 
Projekt bist, aber ich habe auch das Gefühl, daß das etwas zu 
umfangreich werden wird.
Das ist ebenfalls nicht böse gemeint, aber wie du schreibst, hast du 
sehr vieles aus deinem Hobby oder Bachelor Studium schlicht als Blackbox 
verwendet oder verstanden. Und ganz so viel zum abkupfern wie für avr 
gibt es für dem M3 nicht. Das ist übrigens auch ein Kriterium für mich, 
wenns um neue Prozessoren geht - verfügbare Untertützung.

@Sensoren - wenn ich deine Umschreibung mit nur an tx und rx über 
Pegelwandler recht verstehe hast du einen Sensor, der über uart am 
Controller hängt. Falls du kein Eval-Board für den M3 hast sondern eine 
Platine machst, musst du halt nur dran denken, keinen 5V Max, sondern 
eben 3.3 V zu verwenden. Hört sich überflüssig an, aber könnte durchaus 
ein sinnvoller Tip sein.

Ansonsten viel Spaß/Erfolg!

P.S. Was ist an einem avr so ungeeignet für eine Bachelorarbeit??? Weil 
er 8 bitter ist oder keinen so großen Namen hat? Das was hinten raus 
kommt zählt! Es gibt zahlreiche mathematische Techniken, Filter und 
Regelungen die laufen für solch einen Roboter auch noch auf nem 8-bitter 
und taugen für ne Promotion.

von Pete K. (pete77)


Lesenswert?

Na, wenn Du mit dem Studium fast fertig bist, hast Du sicherlich gelernt 
zu lernen.
Also, Datenblätter des Cortex geschnappt, etwas google dazu und mit Spaß 
und Wissensdrang wirst Du Deine Aufgabe erledigen.

von Pascal (Gast)


Lesenswert?

Ein recht einfaches und günstiges Einsteigerkit ist das LPCXpresso von 
NXP. Bei meinem Exemplar war auch ein unbeschränkter C Compiler dabei. 
Vorteil ist auch, dass du das Board teilen kannst und einen separaten 
Programmieradapter erhältst.

von Thomas B. (escamoteur)


Lesenswert?

Kuck Dir mal den Artikel STM32 an. Das schöne an diesem Prozessor 
ist, dass es eine sehr komfortable C Firmware library für alle 
Schnittstellen gibt. Außerdem läßt der STM32 sich ziemlcih einfach 
beschalten.

Wenn Du bereit bist ca. 180€ auszugeben gibts dafür eine Klasse Umgebung 
mit der man sofort loslegen kann: CrossWorks als Compiler ($150) und den 
J-Link EDU von Segger (50€) als Programmieradapter.

Macht wirklich Spaß damit zu arbeiten und der STM hat gerade für die 
AD-Wandler ein paar nette featuers, wie z.B. einen Interrupt zu bekommen 
wenn der Wert in einem bestimmten bereich liegt, oder die Daten gleich 
per DMA in den Speicher zu beförden, was für nen Roboter vielleich 
nützlich sein kann.

gruß
Tom

von Andre R. (ryan87)


Lesenswert?

Hi Paul,

ich habe auch vor kurzem mit Cortex M3 angefangen. Bei dem STM32 kann 
ich mich meinen Vorrednern nur anschließen. Doku und Support sind gut 
und in ausreichender Menge vorhanden.

Ich habe eine Kombination aus kostenlosen Tools genommen:
CodeSourcery Toolchain, Eclipse als IDE, Zylin Embedded Debug + OpenOCD 
und einen OpenOCD USB Adapter für eine JTAG Verbindung.
Ich muss dich allerdings warnen das du bei dieser Kombination etwas 
länger damit beschäftigt sein könntest dich durch Makefiles und 
Linker-Scripts zu wühlen. Dafür ist es kostenlos.

Am Anfang habe ich ein Eval-Board genommen 
(http://www.futurlec.com/STM32_Development_Board.shtml). Inzwischen war 
ich aber auch bei meinem ersten Eigendesign erfolgreich.

Gruß
Andre

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hi,

den JLink würde ich auch empfehlen, da kannst du einiges an Toolchains 
in freien Versionen ausprobieren:

- Keil µVision
- IAR
- diverse gnu derivate
- ...


Bei Keil und IAR sind 32k Code frei, das reicht für den Einstieg locker.

Bei Keil ist neben dem sehr umfangreichen Debugger ein schlankes RTOS 
sowie tonnenweise Examples mit dabei.

IAR hat ebenfalls viele examples, allerdings kenne ich mich mit der 
Toolchain nicht weiter aus.

Das gnu Zeug ist etwas schwiriger zu bedienen, bis man ein blinky zum 
laufen hat. "Out-of-the-box" funktionierts da leider nicht.

---
Der Cortex mit seiner neuen Coresight-Debug Lösung hat ein paar 
Interessante Neuigkeiten im Vergleich zum AVR onBoard, so kannst du dir 
z.B. ohne Beeinflussung des Programms auf dem µC - während dieser bei 
Full Speed läuft - den Memory Inhalt oder Variablen ansehen.

So lernt man "wie von selbst", mit einem Debugger zu arbeiten, als sich 
alles mit printf auszugeben :-)

Hier eine kleine Einstiegshilfe, die hab ich vor nem Jahr oder so mal 
hier verfasst:
Beitrag "Re: STM32 alias cortex m3 brauchbar?"


VG,
/th.

von g0nz00 (Gast)


Lesenswert?

Es gibt ein Datenblatt was sich mit der Beschaltung des STM32 
beschäftigt und worauf man achten muss.

http://www.st.com/stonline/products/literature/an/13675.pdf

Da kann man sehen was anders ist zum AVR

Gruß

g0nz00

von Paul Klose (Gast)


Lesenswert?

Cool, danke für eure Antworten. Ich werde die Tipps alle gut brauchen 
können.

Werd mir mal den STM32 mal genauer anschauen. Hab nämlich sonst nur den 
LPC1768 mir angeschaut.

Danke nochmal.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.