Forum: Mikrocontroller und Digitale Elektronik Suche Einstieg in Mikrocontroller Arduino/ARM (ST)


von Dex T. (dex0xf)


Lesenswert?

Hallo zusammen,

ich bin neu auf dem Gebiet der Mikrocontroller und im Moment ziemlich 
erschlagen von der ganzen Vielfalt. Deswegen hoffe ich, dass mir hier 
jemand wenigstens schon mal einen Tip geben kann, wonach ich suchen soll 
;-)
Ich hab ein Terrarium, was ich so nach und nach komplett mit einem 
Mikrokontroller steuern möchte.
Dazu gehört Temperaturmessung + Regelung, Luftfeuchte, Sonnenzyklus, 
Bodenfeuchte + Regelung etc.
Also keine leistungsintensiven Dinge.
Allerdings möchte ich nach Möglichkeit das ganze über Ethernet an einen 
PC anbinden und mir auf dem PC Temperaturcharts Min/Max-Werte etc. 
anzeigen lassen.
Angefangen hab ich mit meiner Suche bei Arduino. Dabei ist mir aber 
aufgefallen, dass ich für Arduino (je nach Version) viel Peripherie 
zusätzlich brauche (SD-Card-Reader, Realtime-Clock, Ethernet-Shield)
Das macht das ganze dann doch irgendwann recht teuer.

Daraufhin bin ich dann irgendwann auf das STM32F3Discovery Board 
gestoßen.
Preislich sehr interessant und der ARM Prozessor hat genug Power für 
alle möglichweise noch künftigen Projekte.
Ethernet hab ich bisher dafür noch nicht gefunden, wird es aber doch 
bestimmt irgendwie geben, oder? RTC und SD Karte könnt ich mir dann 
sparen. (Seh ich das richtig, dass man da einfach einen USB-Stick 
anschließen kann??)
Jetzt hab ich beim rum googlen allerdings mehrfach gelesen, dass ARM als 
Einstieg nicht zu empfehlen sei?
Also an Vorkenntnissen kann ich Assembler und gute C-Kenntnisse 
anbieten. Allerdings kann ich nicht beurteilen, wie weit ich damit bei 
einem ARM komme.
Elektrisch sollten beide Varianten kein Problem darstellen. Die 3,3V 
Spannungsebene vom ST ist ein bisl doof, aber das sind nur ein paar 
Bauteile mehr, um daraus 5V oder 12V zu machen.

Welche Variante würdet ihr mir empfehlen?
Lg
Dex

von Germ (Gast)


Lesenswert?

Mach Arduino. Wenn Du meinst an Grenzen zu stossen suchst Du weiter.

von ti.com (Gast)


Lesenswert?

Wirf einen Blick auf das MSP Launchpad. Das ist günstig und es gibt 
verschiedene Boosterpacks. Für dein Projekt lassen sich die Aufgaben gut 
verteilen. Mit dem MSP Zubehör lässt sich alles wireless vernetzen.

Der Einstieg in den MSP ist einfach und überschaubar. Für Ethernet kann 
man dann auf ARM umsteigen. Gibts auch von TI als fertiges Board.

von Martin K. (thereallife)


Lesenswert?

Bin zwar selbst relativ neu in der Matherie, aber ich würde mal sagen 
mit nem Rasperry Pi biste da sehr gut bedient.
Der kann (meines erachtens) alles was du möchtest und liegt preislich 
bei circa 40€ glaub ich

//
Edit ist aber auch kein Mikrokontroller...^^

von Irgendwer (Gast)


Lesenswert?

Beaglebone Black
http://beagleboard.org/Products/BeagleBone+Black

Ethernet on Bord, Linux drauf und du kannst da z.B. einen 
Standardwebserver aufsetzen und direkt mit dem Datenabfragen vom PC aus 
anfangen ohne sich groß und die Ethernet-Hardware, IP-Stack, http usw. 
auf unterster Ebene beschäftigen zu müssen.

von PittyJ (Gast)


Lesenswert?

Ich würde ein Raspi oder einen Beagle-Bone nehmen. Gerade wegen des 
Ethernets.
Bei einem STM32 ist kein Betriebssystem dabei, d.h. alles muss selbst 
gemacht werden. Das setzt entsprechende Programmierkenntnisse voraus.
Für Ethernet muss da auch noch Hardware entwickelt werden, was etwas 
aufwändiger ist als ein I2C Sensor dran zu löten.

von Dirk K. (dekoepi)


Lesenswert?

Ich habe mit billigen Arduino-Nano-Clones angefangen, um mit erster 
Peripherie und den µCs rumzuspielen. Nach zwei Wochen dann der Umstieg 
auf ARM / STM32 Cortec M0, M3 und M4 (STM32F407- und STM32F429-Disco 
fliegen hier schon rum) - die Grundprinzipien waren dann wesentlicher 
einfacher umzusetzen. Man muss sich halt an das Studieren der 
Datenblätter zu allem gewöhnen. Macht aber Spaß.

Meine Meinung daher: Arduino zum Kennenlernen von µC, Peripherie, 
Datenblätterlesen. Dann Compilerumstieg weg von Arduino-IDE auf 
richtigen C-Compiler wie AVR-GCC, GNU-ARM und Eclipse oder wenn du 
Windows nutzt, etwas dafür. Die Arduinos können das, was du willst 
eigentlich alles, du brauchst nur viel IO (etwa den Arduino MEGA2560).

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Lese mal den Artikel:
STM32 für Einsteiger
Darin ist alles zusammen gefasst.

von Dex T. (dex0xf)


Lesenswert?

Erst mal Danke für das große Feedback :)
Ich würde schon gerne einen Mikrocontroller benutzen. Bin 
Automatisierungsstudent, da passt das auch ganz gut ins Studium ;-)
Deswegen kein Raspi. Der fällt auch raus, weil der nicht gut mit 
Analogwertverarbeitung umgehen kann.
Was die Programmierkenntnisse angeht mach ich mir keine Sorgen. Auch 
nicht was Datenblätter angeht. (...wenn man die denn findet)
Was Elektronik/Programmieren angeht bin ich kein Neuling - nur was 
Mikrocontroller anghet ;-)
Ich denke mal, ich leg die Sensorik/Peripherie so aus, dass ich die über 
I2C oder SPI anschließen kann und dann versuch ich mich an Arduino und 
STM32.
Dann muss ich nur drauf achten, dass es entsprechende Bibliotheken zur 
Peripherie für beide gibt.

von holger (Gast)


Lesenswert?

>Dann muss ich nur drauf achten, dass es entsprechende Bibliotheken zur
>Peripherie für beide gibt.

Selber denken wird also von Anfang an ausgeschlossen.
Na dann viel Spass mit Ethernet, SD und Co. wenn das nicht
so funktioniert wie du es möchtest und du dann SELBER ran musst.

von Dirk K. (dekoepi)


Lesenswert?

Bibliotheken würde ich meiden - nicht so krass formuliert wie von 
holger, aber das Prinzip stimmt: Du lernst dadurch nicht, wie die 
Peripherie funktioniert, und Anpassungen an deine Bedürfnisse werden 
schwierig. Da dir Datenblätter nicht unbekannt sind, hast du doch 
Zugriff auf alles Nötige.

Natürlich sind die ersten Schritte mit Bibliotheken einfacher, etwa wenn 
es um SPI oder I2C geht. Aber die sind eigentlich so einfach, dass 
Bibliotheken da zuviel Oerhead mitbringen. Die sinnvollste Bibliothek, 
die mir einfällt, ist die SD-Karten-FAT-Bibliothek etwa von Elm Chan. 
Das Dateisystem selber zu programmieren sowie das ganze Dateihandling 
ist schon aufwändig. Datenblätter zu ein oder zwei unterschiedlichen 
SD-Karten würde ich trotzdem lesen, schadet nicht. Und bei Problemen 
weißt du, wo es haken kann.

von Team Worker (Gast)


Lesenswert?

Man, man, man!!!
Natürlich nutzt man fertige Bibliotheken. Es ist doch Schwachsinn, dass 
Rad jeden Tag neu zu erfinden. Bei Problemen bohrt man genau an der 
Stelle, wo es klemmt und arbeitet sich dort ein. Sonst darf ich nie 
etwas neues nehmen, da es ja 1 Jahr Einarbeitungszeit braucht.

Schreibt ihr euere Compiler selber? Schreibt ihr die Runtime Lib eurer 
Compiler selber? Nutzt ihr nie ein Betriebssystem? Nutzt ihr nie ein 
fertiges Filesystem?

Ihr müsst auch anderen etwas zutrauen!!!

von Dirk K. (dekoepi)


Lesenswert?

Ich verstehe darunter so etwas: 
http://playground.arduino.cc/Main/InterfacingWithHardware

Diesen Code einzubinden, geht immer ganz schnell und ganz einfach. Aber 
man versteht dadurch nicht, wie die Hardware funktioniert. Und wenn 
etwas nicht klappt, ist man dann aufgeschmissen und darf sich durch 
fremden Code wühlen.

Da gibt es für jeden Furz Bibliotheken. Etwa zur Nutzung von SPI-EEPROM 
oder SPI-RAM.

Damit kommt man schnell zum Ziel. Wenn aber die Idee ist, dabei etwas zu 
lernen und gegebenenfalls noch anzupassen, sind diese Bibliotheken echt 
schlecht. Mit dem Datenblatt daneben kann das jedoch helfen, die 
Funktionsweise zu verstehen - wenn der Autor der Bibliothek das 
Verstanden hat. Habe da echt hanebüchenes Zeugs gesehen, weshalb ich nun 
eine Aversion gegen fertige Libs zur Hardwareanbindung habe.

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.