Hallo zusammen Ich bin auf der Suche nach einem passenden Mikrocontroller. Er sollte - ohne grosse Einstellungen mit einem Akku Betrieben werden können - 5V Ausgangspin aufweisen - SD/mikroSD Karten Schnittstelle - einige GPIO Pins - Möglichst einfach zu programmieren sein (vorzugsweise python oder ähnliches) oder eine grosse Community, welche mir bei Probleme helfen könnte (- Optional ein >12Bit ADC) Leider bin ich bei der grossen Auswahl an mikrocontrollern etwas aufgeschmissen und bitte deshalb um Hilfe. Interessant finde ich die Adafruit Feather, jedoch haben diese leider nur einen 3.3V Pegel.
microPython läuft nur auf den dickeren µC, die arbeiten normalerweise alle mit <= 3,3 V. Aber dafür wurden Spannungsregler und Pegelwandler erfunden wenn man unbedingt 5 V Peripherie braucht.
Das kann alles ein popeliger AVR z.B. Atmega328P, nur wird der halt in C/C++ programmiert. Merke dir: Man programmiert Mikrocontroller nicht in Python, nein! Nein! Du kannst kein C, weil du aus der UI Ecke kommst? Musst du halt lernen ...
:
Bearbeitet durch User
Andy S. schrieb: > Hallo zusammen Hallo > Ich bin auf der Suche nach einem passenden Mikrocontroller. Schön > Er sollte > - ohne grosse Einstellungen mit einem Akku Betrieben werden können Welche Spannung hat der Akku? > - 5V Ausgangspin aufweisen Wenn du ihn mit 5V Betreibst, kann er das, sonst Level-Shifter > - SD/mikroSD Karten Schnittstelle Du suchst SPI > - einige GPIO Pins Genauer gings nicht, nein? > - Möglichst einfach zu programmieren sein (vorzugsweise python oder > ähnliches) oder eine grosse Community, welche mir bei Probleme helfen > könnte Python is eher unüblich, C ist gebräuchlicher > (- Optional ein >12Bit ADC) Da gehts langsam in Richtung 32-Bitter oder Atxmega > Leider bin ich bei der grossen Auswahl an mikrocontrollern etwas > aufgeschmissen und bitte deshalb um Hilfe. Du bist einfach zu faul zum Suchen, weil du deine Spezifikationen selber nicht kennst > Interessant finde ich die Adafruit Feather, jedoch haben diese leider > nur einen 3.3V Pegel. Einen Levelshifter dahinter und schon ist gut. Allerdings musst du, wenn du die 5V dringend brauchst, sowieso 5V irgendwo vorhalten, sei es für den µC oder dessen Level-Shifter
Andy S. schrieb: > Hallo zusammen > > Ich bin auf der Suche nach einem passenden Mikrocontroller. > Er sollte > - ohne grosse Einstellungen mit einem Akku Betrieben werden können > - 5V Ausgangspin aufweisen > - SD/mikroSD Karten Schnittstelle > - einige GPIO Pins Das kann ein Arduino mit SD-Card Shield > - Möglichst einfach zu programmieren sein (vorzugsweise python oder > ähnliches) Phyton ist für Mikrocontroller recht untypisch. Es wird aber auf dem Raspberry Pi oft verwendet, auch zum IO-Klappern. Das geht für viele einfache bis mittelschwere Dinge, ist aber locker um Faktor 10-100 langsamer als in C. >oder eine grosse Community, welche mir bei Probleme helfen > könnte Arduino, Raspberry Pi & Co. > (- Optional ein >12Bit ADC) Dafür gibt es "Shields". > Interessant finde ich die Adafruit Feather, jedoch haben diese leider > nur einen 3.3V Pegel. Dafür gibt es Pegelwandler, auch schon fertig als Shield oder Breakout board.
Danke für die schnellen Antworten. Die Option mit dem Levelshifter macht durchaus Sinn und ich bin Blöd, dass ich nicht selber darauf gekommen bin. Ist das so einfach wie es klingt? 3.3V Output vom uC nehmen und damit ein 5V Modul speisen? Es müsste damit ein Modul gespiesen werden, was 6mA nimmt. Kann dies zum Problem werden?
Andy S. schrieb: > Die Option mit dem Levelshifter macht durchaus Sinn und ich bin Blöd, > dass ich nicht selber darauf gekommen bin. Ist das so einfach wie es > klingt? Ja. > 3.3V Output vom uC nehmen und damit ein 5V Modul speisen? Nö, deine 3,3V Signale gegen in den Pegelwandler, der macht dann 5V draus. Dafür baucht er natürlich 5V Versorgungsspannung. > Es müsste damit ein Modul gespiesen werden, was 6mA nimmt. Kann dies zum > Problem werden? Nicht wirklich, wenn man die richtigen Pegelwandler nutzt. Aber welches Modul braucht 6mA am Steuereingang? Kann es sein daß du die 5V Stromversorgung mit den Steuereingängen deines ominösen Moduls verwechselst?
Ich stelle fest, dir fehlen auch elektrotechnische Grundlagen. Nimm einfach einen Arduino+SD Shield und programmiere den in C/C++. Der kann alles was du brauchst.
Falk B. schrieb: > Andy S. schrieb: >> Die Option mit dem Levelshifter macht durchaus Sinn und ich bin Blöd, >> dass ich nicht selber darauf gekommen bin. Ist das so einfach wie es >> klingt? > > Ja. > >> 3.3V Output vom uC nehmen und damit ein 5V Modul speisen? > > Nö, deine 3,3V Signale gegen in den Pegelwandler, der macht dann 5V > draus. Dafür baucht er natürlich 5V Versorgungsspannung. > Alles klar, vielen Dank! >> Es müsste damit ein Modul gespiesen werden, was 6mA nimmt. Kann dies zum >> Problem werden? > > Nicht wirklich, wenn man die richtigen Pegelwandler nutzt. Aber welches > Modul braucht 6mA am Steuereingang? Kann es sein daß du die 5V > Stromversorgung mit den Steuereingängen deines ominösen Moduls > verwechselst? Ja das kann sein. Wenn das Modul als Speisung 5V und rund 6mA benötigt, kann dies nicht über die Pins gespiesen werden? Bsp. 5V Output des Raspberry Pi? Dieser liefert ja bis zu 16mA. Bin ich hier also falsch und ich muss die Speisung irgendwie sonst machen?
Andy S. schrieb: > Wenn das Modul als Speisung 5V und rund 6mA benötigt, kann dies nicht > über die Pins gespiesen werden? Bsp. 5V Output des Raspberry Pi? > Dieser liefert ja bis zu 16mA. Bin ich hier also falsch und ich muss die > Speisung irgendwie sonst machen? Können kannst du alles...aber man nutzt kein Pin-Output als Spannungsversorgung für externe Module. Der Pin sollte lediglich als Steuerleitung dienen. Da gibts sowas wie Einschaltströme...die könnten dir direkt mal alles zerbruzeln, selbst wenn das Modul im Leerlauf nur 6mA benötigt. ODER meinst du die 5V Pins vom Raspi die irgendwas mit bis zu 1,5A liefern, also die direkte Spannungsversorgung...weil dann hast du da mit deinen 16mA was durcheinander gebracht. Dachte der Pi hat als GPIO nur 3,3V.
:
Bearbeitet durch User
Andy S. schrieb: > Ja das kann sein. > Wenn das Modul als Speisung 5V und rund 6mA benötigt, kann dies nicht > über die Pins gespiesen werden? Bsp. 5V Output des Raspberry Pi? > Dieser liefert ja bis zu 16mA. Bin ich hier also falsch und ich muss die > Speisung irgendwie sonst machen? Für solche Fälle schaltet man eine externe Spannungsversorgung sinnvollerweise per Transistor zu. Die I/O Pins als Spannungsquelle zu verwenden macht keinen Sinn.
Adam P. schrieb: > Andy S. schrieb: >> Wenn das Modul als Speisung 5V und rund 6mA benötigt, kann dies nicht >> über die Pins gespiesen werden? Bsp. 5V Output des Raspberry Pi? >> Dieser liefert ja bis zu 16mA. Bin ich hier also falsch und ich muss die >> Speisung irgendwie sonst machen? > > Können kannst du alles...aber man nutzt kein Pin-Output als > Spannungsversorgung für externe Module. > Der Pin sollte lediglich als Steuerleitung dienen. > > Da gibts sowas wie Einschaltströme...die könnten dir direkt mal alles > zerbruzeln, selbst wenn das Modul im Leerlauf nur 6mA benötigt. > > ODER meinst du die 5V Pins vom Raspi die irgendwas mit bis zu 1,5A > liefern, also die direkte Spannungsversorgung...weil dann hast du da mit > deinen 16mA was durcheinander gebracht. > > Dachte der Pi hat als GPIO nur 3,3V. Was ich meine sind die 5V Output (Pin 2 und 4 des Raspberry Pi). Wenn ein Sensor 5V Speisung braucht, kann dieser doch mit diesem 5V Output und GND verbunden werden oder bin ich jetzt total bescheuert und dies darf nicht gemacht werden? Ich meine nicht die GPIO an sich. Hier habe ich mich womöglich nicht klar ausgedrückt. Mit den GPIO will ich anschliessend nur das Analoge Signal des Sensors messen -> hierfür wird dann ein ADC eingesetzt.
Andy S. schrieb: > Was ich meine sind die 5V Output (Pin 2 und 4 des Raspberry Pi). > Wenn ein Sensor 5V Speisung braucht, kann dieser doch mit diesem 5V > Output und GND verbunden werden oder bin ich jetzt total bescheuert und > dies darf nicht gemacht werden? Ja die Pins kannst du nehmen. Andy S. schrieb: > Mit den GPIO will ich anschliessend nur das Analoge > Signal des Sensors messen OK --- Aber warum fragst du nun nach einem geeigneten µC, wenn du es wohl anscheinend mit dem Pi machen möchtest? Oder suchst du eine Board/µC um es selbst zu programmieren, weil dafür ein Linux viel zu übertrieben ist...um ein paar ADC Wandlungen durchzuführen?
:
Bearbeitet durch User
Adam P. schrieb: > Andy S. schrieb: >> Was ich meine sind die 5V Output (Pin 2 und 4 des Raspberry Pi). >> Wenn ein Sensor 5V Speisung braucht, kann dieser doch mit diesem 5V >> Output und GND verbunden werden oder bin ich jetzt total bescheuert und >> dies darf nicht gemacht werden? > > Ja die Pins kannst du nehmen. Ok sehr gut, danke. > > Andy S. schrieb: >> Mit den GPIO will ich anschliessend nur das Analoge >> Signal des Sensors messen > > OK > > --- > Aber warum fragst du nun nach einem geeigneten µC, wenn du es wohl > anscheinend mit dem Pi machen möchtest? > > Oder suchst du eine Board/µC um es selbst zu programmieren, weil dafür > ein Linux viel zu übertrieben ist...um ein paar ADC Wandlungen > durchzuführen? Grundsätzlich wäre ich gerne auf einen kleineren uC umgestiegen aber nach dem klaren Feedback bleibe ich möglicherweise beim Raspberry Pi auch wenn dieser übertrieben wirkt. Danke vielmals für die Antworten !
Andy S. schrieb: > Grundsätzlich wäre ich gerne auf einen kleineren uC umgestiegen Dann mach das doch! Wie bereits erwähnt (von Falk und Ben), kauf dir ein Arduino mit nem SD-Shield und fertig. Gibt 1000 Bsp.-Codes für Arduino. UND du lernst sogar noch was dabei.
:
Bearbeitet durch User
Andy S. schrieb: > Grundsätzlich wäre ich gerne auf einen kleineren uC umgestiegen aber > nach dem klaren Feedback bleibe ich möglicherweise beim Raspberry Pi > auch wenn dieser übertrieben wirkt. > Danke vielmals für die Antworten ! Dem musst du aber noch einen ADC an die backe dröseln! Ich würde dir ein Arduino und zB. https://www.az-delivery.de/products/datenlogger-modul?variant=28983309970 empfehlen!
Also probiert hätte ich es gerne etwas fernab von Raspberry Pi oder Arduino. Sondern einen richtigen uC den man ernst nehmen kann. Dass Python nicht geeignet ist für uC wusste ich so nicht und ich würde en gegebenfalls auch mit C probieren. Mein grundsätzliches Ziel ist folgendes: Ein portables Gerät, welches die Werte eines Sensors (mit 3 Outputs) auf einer SD Karte speichert.
Andy S. schrieb: > Arduino. Sondern einen richtigen uC Ardunio ist ja nur die IDE...auf den Boards ist ein richtiger µC. Ardunio sollte dir nur den einstieg vereinfachen. Du kannst die Boards auch direkt mit dem AtmelStudio programmierern und alles selbst schreiben, dass ist dann richtig und das kannst du auch bei einem 8bitter ernst nehmen. Oder meinst du mit richtig: 32bit anstatt 8bit µC? Und ob du dann C oder C++ nimmst, sei dir überlassen.
:
Bearbeitet durch User
Dem ESP8266 kann man Python beibringen, dann hat er auch Hardware-SPI und Software-SPI https://docs.micropython.org/en/latest/esp8266/quickref.html
.. schrieb: > Dem ESP8266 kann man Python beibringen, Will man das wirklich? Oder ist das nur etwas für Leute die keine Lust haben C/C++ zu lernen und anzuwenden?
Andy S. schrieb: > Mein grundsätzliches Ziel ist folgendes: > Ein portables Gerät, welches die Werte eines Sensors (mit 3 Outputs) auf > einer SD Karte speichert. Dann bist du mit Arduino + SD-Card Shield goldrichtig! Dein Sensor hat sicher nur EINEN Ausgang, VCC und GND sind Versorgungsanschlüsse.
:
Bearbeitet durch User
Ich werde das Projekt mit dem Raspberry Pi realisieren, jedoch zukünftig noch mit einem anderem Mikrocontroller realisieren. Hierbei würde mich wie bereits erwähnt der "Adafruit Feather M0 Adalogger" interessieren. Der Sensor, welcher ich verwende liefert 3 Analoge Ausgänge und wird mit 5V und 6mA gespiesen. Die 3 Analoge Eingänge würde ich auf ein externen ADC Wandler (ADS1115) geben und diese via I2C an den Mikrocontroller übergeben. Macht dies soweit Sinn? Wenn ich nun den Mikrocontroller und den Sensor, sowie den ADS1115 speisen will, wie mache ich das? Wird hier ein Akkupack verwendet, welches min. 5V aufweist und speise damit erstmals den Sensor und zusätzlich irgend ein Spannungswandler und reduziere die Spannung auf 3.7V um den Adafruit Feather zu speisen? Bitte habt etwas nachsicht, wenn ich irgendwelche Überlegungsfehler mache oder sonstiges. Ich möchte dies erlernen und aller Anfang ist schwer.
Falk B. schrieb: > Andy S. schrieb: >> Mein grundsätzliches Ziel ist folgendes: >> Ein portables Gerät, welches die Werte eines Sensors (mit 3 Outputs) auf >> einer SD Karte speichert. > > Dann bist du mit Arduino + SD-Card Shield goldrichtig! > > Dein Sensor hat sicher nur EINEN Ausgang, VCC und GND sind > Versorgungsanschlüsse. Danke! Nein es sind tatsächlich 3 Ausgänge. Es handelt sich um einen Sensor für eine 3 Achsenmessung und jeder Ausgang zeigt den Messwert einer Achse an.
Andy S. schrieb: > Die 3 Analoge Eingänge würde ich auf ein externen > ADC Wandler (ADS1115) geben und diese via I2C an den Mikrocontroller > übergeben. Du kannst auch direkt die Pins sowie den internen ADC vom µC nutzen.
Andy S. schrieb: > Nein es sind tatsächlich 3 Ausgänge. Es handelt sich um einen Sensor für > eine 3 Achsenmessung und jeder Ausgang zeigt den Messwert einer Achse > an. Hat den dieser Sensor auch eine Bezeichnung? ;)
Adam P. schrieb: > Andy S. schrieb: >> Die 3 Analoge Eingänge würde ich auf ein externen >> ADC Wandler (ADS1115) geben und diese via I2C an den Mikrocontroller >> übergeben. > > Du kannst auch direkt die Pins sowie den internen ADC vom µC nutzen. Auf den ersten Blick habe ich nur einen DAC gesehen und keinen ADC. Wenn aber auch interne ADC vorhanden sind: wäre es kein Problem mit den Spannungen? Der uC ist auf 3.7V Spannung und die Sensorausgänge im Bereich 0...5V.
Adam P. schrieb: > Du kannst auch direkt die Pins sowie den internen ADC vom µC nutzen. Er möchte RaspPi, dahe nix mit internen ADCs
warumNurImmer schrieb: > Andy S. schrieb: >> Nein es sind tatsächlich 3 Ausgänge. Es handelt sich um einen Sensor für >> eine 3 Achsenmessung und jeder Ausgang zeigt den Messwert einer Achse >> an. > > Hat den dieser Sensor auch eine Bezeichnung? ;) Leider nicht. Es handelt sich um einen Beschleunigungssensor in Testphase. Mit 5V Speisung, GND, 3 Analoge Ausgänge.
warumNurImmer schrieb: > Er möchte RaspPi, dahe nix mit internen ADCs Es wird von soviel gleichzeitig gesprochen...! Das war halt auf µC bezogen. Und ja da müsste man dann auch schauen bzgl. der Spannungen.
Adam P. schrieb: > Das war halt auf µC bezogen. Der Raspi wird scheinbar vom TO auch zu den µCs gezählt!?
Andy S. schrieb: > Es handelt sich um einen Beschleunigungssensor in > Testphase. Diese gibts auch mit einem digitalen Interface; z.B. SPI.
Praktisch jeder Hersteller von Mikrocontrollern unterhält eine Liste (meist Excel-ähnlich) in der Du Deinen Wunschprozessor spezifizieren kannst. Vor allem Spannung, Anzahl an IO-Anschlüssen, Anzahl und Genauigkeit der A/D-Wandler, integrierte I/O-Ports (seriell, I2C usw.), oder auch die Geschwindigkeit. Auch wenn die Anzahl der verfügbaren Teile im Bereich von 5V langsam abnimmt, sollte sich bei den meisten Herstellern dort ein ganzer Sack voll finden lassen.
Andy S. schrieb: > 3.3V Output vom uC nehmen und damit ein 5V Modul speisen? Es müsste > damit ein Modul gespiesen werden, was 6mA nimmt. Kann dies zum Problem > werden? Nein. Du brauchst natürlich eine 5V-Versorgung für den Pegelwandler. Andy S. schrieb: > Es handelt sich um einen Beschleunigungssensor in Testphase. Mit 5V > Speisung, GND, 3 Analoge Ausgänge. Und diesen streng geheimen Sensor kann man gar nicht mit 3,3V versorgen? Andy S. schrieb: > - Möglichst einfach zu programmieren sein (vorzugsweise python oder > ähnliches) Programmier das Ding "einfach" in C (**), dann findest du µCs, die die restlichen Bedingungen erfüllen, wie Sand am Meer. Denn das Gehampel um die Programmiersprache ist garde, wie wenn du sagst, ich möchte eine Anhängekupplung, vorzugsweise an einem Ferrari F8. Das wird schwierig. Lass einfach den "bevorzugten" Ferrari weg wenn dir die Anhängekupplung wichtig ist, und du hast beliebige Auswahl. (**) "einfacher" als C geht wohl kaum...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Und diesen streng geheimen Sensor kann man gar nicht mit 3,3V versorgen? Der Sensor weist tätsächlich eine Spannungsversorgung von 5-12V auf, also leider nicht mit 3.3V. Ansonsten alles klar, vielen Dank allen Antwortgebern. Ich mache mich mal an die Umsetzung alles Vorschläge und hoffe es klappt!
Falk B. schrieb: > BASCOM!!! Wenn da unbedingt das Wort einfach mit rein muss, dann ist dieses Basic-Derivat "einfach" nur umständlich ;-) Jeden einzelnen Befehl in eine eigene Zeile. So holprig hatte ich seit der Erfindung des Makroassemblers nicht mehr programmiert...
Eine der diversen Esp32 Dev Boards. Sind nämlich microPython fähig :).
Andy S. schrieb: > Also probiert hätte ich es gerne etwas fernab von Raspberry Pi oder > Arduino. Sondern einen richtigen uC den man ernst nehmen kann. Dann nimm doch einen Arduino Due, einen Teensy, einen STM32, einen MSP430 oder was du sonst so magst. Den Arduino Due mit seinem AT91SAM3X8E darfst du gerne ernst nehmen, abgesehen davon, dass ein ATmega328 für vielen Aufgaben gerecht wird. Es muss nicht immer ein Cortex M7 wie im Teensy 4.x (MIMXRT1062DVL6A) sein, auch wenn das natürlich hipp ist.
Ein ESP8266 Board (z.B. NodeMCU, Wemos D1 Mini) http://stefanfrings.de/esp8266/index.html mit Micropython https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html Und einem SD Karten Adapter. https://www.google.com/search?client=firefox-b-e&q=esp8266+with+sd+card Für 5V Ausgänge brauchst du Pegelwander. Es gibt 8bit Mikrocontroller mit 5V, aber dann brauchst du Pegelwandler an der SD Karte und nur sehr wenige haben 12-bit ADC und keins kann Python, soweit ich weiß. Deutlich teurer ist der Arduino MKR Zero. Der hat schon einen SD Karten-Slot On-Board, aber auch wieder nur 3,3V. https://store.arduino.cc/arduino-mkr-zero-i2s-bus-sd-for-sound-music-digital-audio-data https://circuitpython.org/board/arduino_mkrzero/ Dann fallen mit da noch diverse STM32 Modelle ein, die viele 5V tolerante I/O Pins haben. Deren Ausgänge können im Open-Drain Modus mit externen Pull-Ups an 5V betrieben werden. STM hat einen Arduino Core für fast alle Modelle veröffentlicht. Hier ist ein gängiges Board mit SD Kartenslot: https://www.amazon.de/UIOTEC-STM32F407VET6-Development-Core407V-Cortex-M4/dp/B07F2ZPH3T Offenbar gibt es auch dafür Micropython. https://www.instructables.com/STM32F407VET6-Black-Board-and-MicroPython/
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.