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
Mach Arduino. Wenn Du meinst an Grenzen zu stossen suchst Du weiter.
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.
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...^^
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.
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.
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).
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.
>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.
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.
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!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.