Forum: Mikrocontroller und Digitale Elektronik Auswahl geeigneter Hardware nach langer Auszeit


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Kai P. (dackelfreund)


Lesenswert?

Hallo,

ich habe vor vielen Jahren in meiner Freizeit Schaltungen entwickelt und 
Mikrocontroller programmiert. Anfangs waren das noch 8-Bitter, die ich 
mit einem selbst gebauten Brenner via ZIF-Sockel geflasht habe, aber die 
Anfänge der 16-Bit-Ära habe ich auch noch erlebt. Inzwischen gibt es 
eine sehr große Auswahl an Entwicklungs-Boards mit 32-Bittern, 
USB-Schnittstelle, zahlreichen GPIOs sowie Flash und RAM satt und via 
SPI theoretisch jede Menge leicht integrierbare Peripherie. Da ich gerne 
wieder mit Mikrocontrollern basteln würde, versuche ich seit einigen 
Tagen, mir einen Überblick über die verschiedenen 
Mikrocontroller-Familien sowie deren Verfügbarkeit zu verschaffen. Aber 
das ist gar nicht so leicht bzw. ich habe folgendes Problem: ich bin 
kein Arduino-Typ, sondern habe früher in Assembler programmiert und 
allgemein Erfahrung in der Software-Entwicklung. Auch Hardwaremäßig bin 
ich kein totaler Anfänger. Aber ich konnte mich wegen eines Handycaps 
nie für SMD begeistern und stelle fest, dass DIL-Gehäuse schon wegen der 
immer zahlreicheren Gehäuse-Pins keine Zukunft haben. Leider bin ich auf 
preiswerte Entwicklungsboards angewiesen, die dann möglichst universell 
einsetzbar sind. An der Stelle wird es schwierig, denn ich muss mich 
zwischen preiswerten Boards ohne Peripherie und teureren Boards mit 
Peripherie entscheiden. Für viele Projekte wäre z.B. ein kleines, 
einfaches, einfarbiges, beleuchtetes graphisches Display nützlich. Das 
STM32F7508-DK wäre lieferbar, aber das hat ein Farb-TFT und kostet dann 
auch schon über 60 Euro. Das NUCLEO-L476RG  scheint mir ein ziemlich 
gutes Preis-Leistungsverhältnis zu haben, aber ich müsste dann ein 
einfach zu verbindendes Display bestellen, denn ein herausgeführter 
Folienanschluss nutzt mir so nichts. Mit dem NHD-C12832A1Z-FSW-FBW-3V3 
habe ich möglicherweise ein geeignetes Display gefunden, aber ich möchte 
kein Lehrgeld  bezahlen und eventuell gibt es ja sogar Adapter. Daher 
hoffe  ich, dass ihr mir bei der Auswahl eines geeigneten Boards + 
Display behilflich sein könnt.

Mich würde noch interessieren, ob moderne Mikrocontroller ähnlich 
zuverlässig sind wie ältere Modelle? Meine alten Mikrocontroller haben 
sich soweit ich das beurteilen kann nie ohne Fehler meinerseits 
aufgehängt und die letztens aus dem Keller geholten Schaltungen 
funktionieren einwandfrei, obwohl sie über 20 Jahre alt sind. Wie sieht 
es hier bei den aktuellen 32-Bit-Mikrocontrollern aus? Mir ist klar, 
dass auf einigen Boards deutlich mehr drauf ist, die Stromversorgung und 
die Umweltbedingungen eine Rolle spielen und das sowieso nur grobe 
Schätzungen sind, aber die Teile von damals scheinen mir ausgesprochen 
zuverlässig zu sein. Displays könnte man je nach Anwendung nur für die 
Dauer der Benutzung einschalten. Es geht aber nicht nur um 
Hardware-Defekte, sondern eben auch um die Frage, welche Mikrocontroller 
man mit wichtigen Steuerungsaufgaben (z.B. Alarmanlage) betrauen kann? 
Selbst wenn der Watchdog schlimmeres verhindert, sollte das Board nicht 
regelmäßig einen Reset durchführen. Eventuell nimmt man dafür ja auch 
eher einen älteren Cortex, weil man da die Macken zumindest kennt? Oder 
doch einen klassischen 8-Bit PIC aber heute mit mehr Speicher und IOs 
als damals?

Herzlichen Dank,

Dackelfreund

von Otto Hermann Mende (Gast)


Lesenswert?

Kai P. schrieb:
> Mich würde noch interessieren, ob moderne Mikrocontroller ähnlich
> zuverlässig sind wie ältere Modelle?

Nu klar.

von EAF (Gast)


Lesenswert?

Kai P. schrieb:
> ich bin kein Arduino-Typ
Aha....

Kai P. schrieb:
> STM32F7508
In Assembler?

von Kai P. (dackelfreund)


Lesenswert?

Otto Hermann Mende schrieb:
> Kai P. schrieb:
>> Mich würde noch interessieren, ob moderne Mikrocontroller ähnlich
>> zuverlässig sind wie ältere Modelle?
>
> Nu klar.

Nur damit keine Missverständnisse aufkommen: ich erwarte keinen Blick in 
die Glaskugel, aber ich weiß ja nicht mal, ob die Hersteller überhaupt 
noch Stress-Tests machen und die Ergebnisse veröffentlichen oder wie mit 
nachträglich gefundenen Fehlern umgegangen wird. Viele Unternehmen 
sitzen so etwas ja auch einfach dreist aus. :) Ich habe z.B. bezüglich 
moderner SSDs mal gelesen, dass man die nicht länger irgendwo lagern 
sollte, da die sonst nach einiger Zeit Daten verlieren. Obwohl ich den 
Grund dafür verstehe, war ich dennoch überrascht.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hätten wir nicht gerade eine Versorgungsengpass und könntest du dich mit 
C anfreunden, würde ich dir ein beliebiges Discovery Board mit STM32 
empfehlen.

Das STM32F429 Discovery hat z.B. ein kleines Farbdisplay mit 
Touchscreen, 8MB SDRAM und Programmierschnittstelle bereits an Board. 
Selber löten must du es nicht und man kommt an alle Pins des MC über die 
Stiftleisten ran.
Gut, man kann sowas auch mit Assembler programmieren, aber das würde ich 
mir heute bei 32-Bittern nicht mehr antun. AVR8 und PIC12/16/18 hingegen 
sind auch heute mit Assembler gut programmierbar.
Und, ob du es glaubst oder nicht - es gibt immer noch Boards mit 8051.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?


von STK500-Besitzer (Gast)


Lesenswert?

Matthias S. schrieb:
>Hätten wir nicht gerade eine Versorgungsengpass und könntest du dich mit
>C anfreunden, würde ich dir ein beliebiges Discovery Board mit STM32
>empfehlen.

Das F429 bi RS (da darf man inzwischewn auch als Privatmensch kaufen):
RS Best.-Nr.:    909-3660

von Kai P. (dackelfreund)


Lesenswert?

Matthias S. schrieb:
> Gut, man kann sowas auch mit Assembler programmieren, aber das würde ich
> mir heute bei 32-Bittern nicht mehr antun. AVR8 und PIC12/16/18 hingegen
> sind auch heute mit Assembler gut programmierbar.

Neben Assembler habe ich auch lange in C programmiert. Vielen Dank für 
die Empfehlung, ich werde mir das Board ansehen.

Den legendären 8051 werde ich nie vergessen, aber es reizt mich schon, 
die Bytes im Arbeitsspeicher nicht mehr beschwören zu müssen. :)

Vielen Dank auch an Peter D. und STK500-Besitzer.

von someone (Gast)


Lesenswert?

Vorweg: Moderne Controller werden anders programmiert. Daran musst du 
dich gewöhnen bzw. wenn dir das nicht gefällt, eben einen alten 
Controller nehmen. Es gibt noch genügend 80C51 am Markt (z.B. in modern 
von Silicon Labs als EFM8), und auch PIC und AVR sind nicht tot.
Bei modernen Controllern ist der STM32 natürlich eine gute Wahl, aber 
wenn es dir primär um "Handlichkeit" und Budget geht, wirf mal einen 
Blick auf den ESP8266 bzw. hauptsächlich ESP32. Davon gibt es gut 
erhältlich Module in Hülle und Fülle für wenig Geld. Extrem 
"zuverlässig" in deinem Sinne sind die natürlich nicht (wird aber mit 
zunehmender Komplexität auch schwieriger), aber du scheinst das 
hauptsächlich als Hobby betreiben zu wollen und dafür reicht es gut aus. 
Der ESP32 ist relativ umfangreich, wenn du es lieber etwas reduziert 
haben willst, schau dir mal den RP2040 von Raspberry Pi an. Ich finde 
den etwas kurios, aber die Entwicklungsboards sind sehr minimalistisch 
und daher auch kostengünstig und bieten sich direkt für eine Integration 
in fertige Schaltungen an.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Kai P. schrieb:
> deren Verfügbarkeit

Das ist das Problem. So ziemlich alles, was Rang und Namen hat, ist seit 
2 Jahren nicht mehr verfügbar. Bei ST bekommt man immerhin noch einzelne 
(Nucleo) Entwickler Boards, aber auch da ist Glückssache, welches Modell 
gerade zu haben ist. Für STM32 habe ich eine Webseite 
http://stefanfrings.de/stm32/index.html

Sehr gut Verfügbar sind jedoch ein paar Newcomer die laut 
Diskussionsbeiträgen auch durchaus etwas taugen:

- Espressif ESP8266 (mit WLAN) und ESP32 (mit WLAN und Bluetooth)
- Raspberry RP2040 (ohne WLAN)

Beides sind 32 Bit Controller. Beide programmiert man in der Regel mit 
einem Framework (z.B. Arduino), was auch auf 32 Bit Controller anderer 
Hersteller zutrifft. Die Zeiten, wo man jedes Register "zu Fuß" selbst 
anspricht, neigen sich gerade dem Ende zu - so jedenfalls mein Eindruck.

Kai P. schrieb:
> An der Stelle wird es schwierig, denn ich muss mich
> zwischen preiswerten Boards ohne Peripherie und teureren Boards mit
> Peripherie entscheiden. Für viele Projekte wäre z.B. ein kleines,
> einfaches, einfarbiges, beleuchtetes graphisches Display nützlich.

Vielleicht gefällt dir das "Wifi Kit 8" Board 
http://stefanfrings.de/esp8266/index.html#wifikit8 für den Einstieg. 
Findest du bei Aliexpress für etwa 10 Euro. Es gibt auch eine größere 
Variante mit dem Nachfolger ESP32.

Wenn du ein anderes Display verwenden willst, schau einfach nach 
entsprechenden Arduino Projekten. Denn dann hast du gleich eine passende 
Bibliothek dabei. Oft ist es auch kein Hexenwerk, vom Arduino Code 
abzugucken falls du es lieber selbst programmieren willst.

> Mich würde noch interessieren, ob moderne Mikrocontroller
> ähnlich zuverlässig sind wie ältere Modelle?

Ja sind sie. Ihre I/O Pins sind nicht ganz so robust wie bei 8 Bit 
Mikrocontrollern, aber wenn man sich ans Datenblatt hält, bekommt man 
keine Probleme. LED direkt ansteuern geht auf jeden Fall immer.

: Bearbeitet durch User
von J. S. (jojos)


Lesenswert?

Kai P. schrieb:
> Das
> STM32F7508-DK wäre lieferbar, aber das hat ein Farb-TFT und kostet dann
> auch schon über 60 Euro.

das ist nicht zu teuer weil das ein aufwändigeres Demoboard ist, mit 
zusätzlichem RAM/Flash, Ethernet und USB sowie einem großen 4,3" Display 
und kapazitivem Touch.
Die F7/H7 sind die Flagschiffe von ST und nicht unbedingt die 
Einsteigerfreundlichsten, haben dafür sehr viel Power.

Die F4 Serie ist auch schon gut, und TFT Displays mit Headerpins im 2,54 
mm Raster gibt es auch reichlich, dank Arduino. Nur ist die Qualität der 
low cost Dinger oft nicht so pralle, die haben eine sehr starke 
Winkelabhängigkeit. Und es gibt verschiedene Ansteuerungen und damit 
unterschiedliche Aktualisierungsgeschwindigkeiten. SPI hat wenig 
Verdrahtung, ist aber relativ langsam, Parallel geht schneller, und RGB 
mit HV Sync ist noch schneller. Auf den STM Demoboards wird auch MIPI 
genutzt, auch sehr schnell.
Tja, da bleibt die Qual der Wahl...
Und es gibt noch die ESP32, sehr schnell und mit Wifi. Mit Display z.B. 
das WT32-SC01, ca. 36€ bei Banggood, sehr schönes Teil das man wirklich 
praktisch verwenden kann. Und spätestens da sollte man sich von den 
Arduino Vorurteilen verabschieden, da bekommt man Beispiele mit guten 
Libraries zusammengebaut und die funktionieren auch.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Wenn es Probleme gibt, dann eher mit komplexer Software, z.B. WLAN und 
Bluetooth bei Espressif. Die Teile kannst du eh nicht selbst 
programmieren, da nicht alle Details der Chips offen dokumentiert sind.

Da mus man sich erstmal drauf einlassen, mir fiel das schwer.

Für den ESP8266 habe ich allerdings eine stabile Software Version 
gefunden die bei mir mehr als 2 Jahre Dauertest stand hielt.

von Jester (Gast)


Lesenswert?

Auch wenn ich jetzt Schläge ab bekomme:

Ich würde und werde AVRs nie ganz aussen vor lassen. AVR kann man 
einfach in Assembler und auch in C programmieren. Und wenn ich absolut 
keine Lust habe was zu fädeln, dann hole ich mir einen UNO und bastle 
mit dem. Für den ganzen Kleinkram ist das gut genug. Oft reicht da auch 
ein DIL8 auf Lochraster.

An so einen UNO lässt sich auch ganz einfach ein LCD ran frickeln, ohne 
dass ich mir mit Feinpitch die Augen kaputt mache.

Für die 'harten Sachen' habe ich ein STK500 liegen - brauche das aber so 
gut wie nie.

old school halt

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Espressif ESP8266 (mit WLAN) und ESP32 (mit WLAN und Bluetooth)
> Raspberry RP2040 (ohne WLAN)
>
> Beides sind 32 Bit Controller

Tja, und beide sind weitgehend undokumentiert.

Nicht dass das bei rPi + STM32 so viel besser wäre, aber es ist doch ein 
himmelweiter Unterschied zu früher, als man einfach nachgucken konnte 
wie es funktioniert.
Heute muss man dem glauben, was das Framework raushaut, und Beispiele 
funktionieren vielleicht noch, aber wenn man nur minimal was ändert kann 
es plötzlich 'never tested' scheitern.

Den Anspruch, nur bedrahtete Bauteile zu verwenden, kann man natürlich 
auf Arduino-Art umgehen in dem man für alles breakout-boards kauft. Wird 
dann halt teurer, aber wenn sich Leute schon die Mühe geben, extra etwas 
für Bastler mit Wurstfingern anzufertigen, soll man die halt auch 
angemessen bezahlen.

von EAF (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Beide programmiert man in der Regel mit
> einem Framework (z.B. Arduino),

Ich befürchte, dass ihm mit dem C++ des Arduino völlig überfordert ist. 
Scheint sich ja schon ein innerer Widerstand (oder doch nur ein 
Vorurteil?) gebildet zu haben.
Und gegen innere Widerstände, oder Vorurteile, ist kein Kraut gewachsen.

von c-hater (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:

> - Raspberry RP2040 (ohne WLAN)

Es gibt auch RP2040-Module mit WLAN, inzwischen sogar von der Foundation 
selber. Wurden kürzlich sogar genau hier von Tam explizit vorgestellt.

> Die Zeiten, wo man jedes Register "zu Fuß" selbst
> anspricht, neigen sich gerade dem Ende zu - so jedenfalls mein Eindruck.

Wenn man maximale Leistung will/braucht und/oder wirklich alle Features 
der vorhandenen Peripherie nutzen will, führt auch heute kein Weg am 
Registergefrickel vorbei.

Man könnte höchstens darüber streiten, ob man das dann in C oder Asm 
frickelt. Ich find's in Asm einfacher, weil da der ganze Syntax-Ballast 
wegfällt. Es geht "einfach so".

> Ja sind sie. Ihre I/O Pins sind nicht ganz so robust wie bei 8 Bit
> Mikrocontrollern, aber wenn man sich ans Datenblatt hält, bekommt man
> keine Probleme. LED direkt ansteuern geht auf jeden Fall immer.

Nana... Bei blauen LEDs und 3.3Vio wird's schon arg eng...

von Soul E. (soul_eye)


Lesenswert?

Kai P. schrieb:

> Nur damit keine Missverständnisse aufkommen: ich erwarte keinen Blick in
> die Glaskugel, aber ich weiß ja nicht mal, ob die Hersteller überhaupt
> noch Stress-Tests machen und die Ergebnisse veröffentlichen oder wie mit
> nachträglich gefundenen Fehlern umgegangen wird.

Such Dir Controllerfamilien, die auch im Automobilbereich verwendet 
werden. Dann kannst Du davon ausgehen, dass zumindest ein Teil der Serie 
mal eine AEC-Q100 gesehen hat.

Bei reinen Consumer-Produkten, wie den aktuell beliebten Espressif ESP32 
und ESP8266 findest Du nicht einmal vollständige Datenblätter. Von 
Errata Sheets und Mailinglisten mit Bugreports brauchen wir da gar nicht 
reden.


> Ich habe z.B. bezüglich moderner SSDs mal gelesen, dass man die nicht
> länger irgendwo lagern sollte, da die sonst nach einiger Zeit Daten
> verlieren. Obwohl ich den Grund dafür verstehe, war ich dennoch
> überrascht

Das gilt für NAND-Flash und betrifft somit den Programmspeicher in den 
Mikrocontrollern nicht. Flash wird mittlerweile überall verwendet, auch 
Medical und Automotive. EPROM und Maske sind damit ausgestorben.

NAND-Flash muss immer überwacht betrieben werden. Das macht der 
Controller im Inneren der SSD/Speicherkarte/USB-Stick. Aber das kann er 
natürlich nur, wenn er auch ab und zu in Betrieb ist. Verbaust Du lose 
NAND-Flash-Chips, dann musst Du Dich selber um das Blockmanagement, wear 
levelling und um den Refresh kümmern. Das ist nicht trivial, daher wurde 
eMMC erfunden. Quasi eine SD-Karte zum Einlöten.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Kai P. schrieb:
> Aber das ist gar nicht so leicht bzw. ich habe folgendes Problem: ich
> bin kein Arduino-Typ, sondern habe früher in Assembler programmiert und
> allgemein Erfahrung in der Software-Entwicklung.>

Das ist kein Problem. Kümmere dich einfach nicht um die Arduino IDE.
Einen ATmega328 in Assembler zu programmieren, geht unverändert.

von W.S. (Gast)


Lesenswert?

Nun hat ein jeder seine Lieblings-Chips genannt und über den grünen Klee 
gelobt - aber das war's dann auch.

Also auch etwas Senf von mir: Früher - und da meine ich die 80er Jahre 
und nicht 2002 - war man zumeist darauf angewiesen, die erzeugte 
Firmware in ein EPROM hineinzukriegen. Manche damaligen µC hatten daher 
einen Modus zum Programmieren, der sich ganz stark an das Programmieren 
von eben solchen EPROM's anlehnt.

Das hat sich deutlich geändert. Oft wird eine gewisse Zweckentfremdung 
der JTAG-Technik zum Programmieren des Chips verwendet - ursprünglich 
war das JTAG-Protokoll zum Testen von bestückten Leiterplatten gedacht. 
Bei den heutigen ARM-Cortex Chips gibt es als Vereinfachung von JTAG das 
SWD-Interface und bei kleineren Architekturen eben firmenspezifische 
Prorammiermöglichkeiten. Das alles erfordert, sich die betreffenden 
Programmieradapter zuzulegen. Manche Controller haben zusätzlich einen 
fest installierten Bootlader, der zumeist über einen ohnehin vorhandenen 
seriellen Port bedient werden kann. Da enfällt das spezielle 
Programmiergeschirre.

So.

Und nun sollte der TO sich fragen, was er als Vorleistung zu seinem 
Hobby sich anschaffen will und danach die Frage nach für ihn geeigneten 
Controllern nochmal unter diesem Aspekt überdenken.

Eine weitere Frage ist, wie es mit den zugehörigen Manuals aussieht, ob 
sie gut lesbar sind und die Fragen des Lesers ordentlich beantworten 
oder nicht. Da man ohne Manual bei den heutigen Chips nicht gut 
vorankommt, ist diese Frage ebenfalls recht wichtig.

Schlußendlich wären da die Fragen nach Preisen und Verfügbarkeit und was 
man überhaupt damit vorhat. Irgend ein Display kriegt man eigentlich an 
jeden Controller dran. Bei grafischen Displays würde ich auf alle Fälle 
auf eine 32 Bit Architektur orientieren, für 8 Bit Controller gibt es 
stattdessen Text-Displays.

Und bloß zu sagen "ich hab ein Handycap und brauche deshalb zwingend 
einen Controller im DIL-Gehäuse - aber mit Display schon dran" halte ich 
für die falsche Prämisse. Wenn es zum Spielen und Basteln sein soll, 
dann ist eine Minimal-Leiterplatte am ehesten richtig: Stromversorgung 
(5-->3.3V) drauf, Taktgeber/Quarz drauf, Programmierbuchse, ggf. Buchse 
für das ausgewählte Display, Controller mit allen freien Portpins an 
Lötösen o.ä. Sowas kann man sich selber designen und auch für geringes 
Geld fertigen lassen. Das gehört zum Basteln auch dazu.

W.S.

von c-hater (Gast)


Lesenswert?

Wolfgang schrieb:

> Das ist kein Problem. Kümmere dich einfach nicht um die Arduino IDE.
> Einen ATmega328 in Assembler zu programmieren, geht unverändert.

Das sowieso, klar. Dazu kommen aber die neuen AVRs. Auch die kann man 
noch locker mit 3.8 auf'm Turm in Asm programmieren, bieten aber viele 
neue Features.

1. Peripherie für Standardschnittstellen, die endlich das tut, was sie 
schon immer hätte tun sollen. Das betrifft vor allem I2C und SPI. 
Bezüglich UART wurde ja bereits zu Atmel-Zeiten deutlich nachgerüstet. 
Aber auch hier: die neuen Tinys haben endlich auch alle mindestens 
eine vernünftige UART.

2. Maximalen Takt über den gesamten Spannungsbereich der Versorgung.

3. Einige Asm-Instruktionen sind noch effizienter geworden.

Das alles zusammen führt dazu, dass die AVR8 nunmehr für sehr viel mehr 
Anwendungen als früher(tm) völlig ausreichen.

Problematisch ist nach wie vor die Rechenleistung. Fette dumme nutzlose 
Konstrukte mit double (insbesondere echtem double) sollte man sich 
besser nicht einschenken. Aber manchmal braucht man halt wirklich 
double und das in schnell (sehr viel seltener als manche glauben... ;o).
Solche Anwendungen sind jedenfalls definitiv nix für AVR8.

Für Gefummel mit Bits und Bytes hingegegen sind die AVR8 vielfach sogar 
deutlich schneller als der ganze 32Bit-Gammel (selbst wenn der mit teils 
viel höherem Takt läuft, bei gleichem Takt ist der AVR8 sowieso paktisch 
immer schwer im Vorteil, sowohl bezüglich Durchsatz als auch 
insbesondere Latenz)...

Ein anderer systematischer Engpaß der AVR8 (mit Ausnahme einiger alten 
XMega) ist die Nichtverfügbarkeit von DMA. Sprich: viele parallele 
Datenströme mit hohem Durchsatz sind auch definitiv nicht sein Ding.

von Manfred (Gast)


Lesenswert?

Jester schrieb:
> hole ich mir einen UNO und bastle mit dem.

Das ist die mit Abstand dämlichste Platine für einen SMD-Controler.

Abseits des Shield-Kindergartens sind Nano (mit USB) und Pro-Mini 
weitaus sinnvoller einsetzbar.

von Benedikt L. (Firma: Dem Ben seine Leiche) (dembenseineleiche)


Lesenswert?

Die legenäre 4,5V Batterie sollte nicht fehelen weil man mit der Zunge 
den Ladungszustand prüfen kann.

von Jester (Gast)


Lesenswert?

Manfred schrieb:
> Jester schrieb:
>> hole ich mir einen UNO und bastle mit dem.
>
> Das ist die mit Abstand dämlichste Platine für einen SMD-Controler.
>
> Abseits des Shield-Kindergartens sind Nano (mit USB) und Pro-Mini
> weitaus sinnvoller einsetzbar.

Das Layout der UNO-Pfostenstecker ist wirklich dämlich - vor allem der 
150mil Sprung zwischen IO-7 und IO-8. Aber - ich mag die DIL28-Version 
des ATmega328. Die sind leider aber nicht immer ganz einfach zu 
bekommen.

Wenn ich Lust habe, rupf ich den ATmega328 dann aus dem Sockel und 
verpflanz ihn auf mein Frickelboard - ganz ohne USB (Arduino light). 
Statt dessen steck ich mir dann notfalls einen USB/Serial-Converter 
(z.B. CP2102/9) ran. Den brauch ich eh ab und zu - für andere Faxen.

Wo ich dir unumwunden recht gebe: Um auf einen kompletten Arduino auf 
ein Stück Lochraster zu verpflanzen eignen sich andere Versionen besser. 
Aber man hat da ja die Auswahl ...

von Kai P. (dackelfreund)


Lesenswert?

Vielen Dank für die zahlreichen Anregungen. Da heutzutage selbst relativ 
kleine Mikrocontroller inzwischen locker 128 KB Flash und 8 KB RAM haben 
können, würde ich schon gerne in C programmieren. Neben STM32 werde ich 
mir auch nochmal die "alten" PICs ansehen, ich habe z.B. einen 
PIC18F57Q43 mit 128 KB Flash und 8 KB RAM auf einem sehr kompakten 
Curiosity Nano Board entdeckt. Die IDE heißt jetzt anscheinend MPLAB X 
und da steht etwas von 60 Tage Testversion für C16. Muss man danach 
zahlen oder gibt es auch eine kostenlose Version, wenn man das wie ich 
nur als Freizeitbeschäftigung betreibt? Die Antwort gilt dann vermutlich 
auch für den ATMEGA4809, für den es ebenfalls so ein Nano Board gibt.

In der STM32CubeIDE sind anscheinend open-source Komponenten wie Eclipse 
und GCC eingebunden. Das gefällt mir sehr gut! Hat man diese Freiheit 
auch bei Microchip? Der Debugger bei MPLAB IDE hat mir zumindest damals 
gut gefallen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Bei den derzeit schlecht verfügbaren STM32 Mikrocontrollern hast du 
die freie Wahl zur Programmierung:
- zu Fuß
- mit dem HAL Framework von ST
- mit den Low-Level Bibliotheken von ST
- mit Arduino Framework
(vermutlich gibt es noch mehr Optionen)

Den RP2040 kannst du (soweit ich mitbekommen habe) so programmieren:
- zu Fuß (aber es sind nicht alle Details vollständig dokumentiert)
- mit Arduino Framework
- mit Micropython

Die ESP Chips sind ohne das SDK von Espressif praktisch unbrauchbar. 
Das "zu Fuß" (aka bare-metal) Programmieren kannst du bei den ESP Chips 
vergessen. Große Teile der Chips sind überhaupt nicht dokumentiert, der 
zugehörige Code ist ein closed-source binary. Allerdings enthält das SDK 
ein ausreichend dokumentiertes API, mit der du alle vorgesehenen 
Funktionen nutzen kannst. Darauf bauen alle anderen Frameworks auf. Das 
SDK von Espressif nutzt den GCC. So hast du dann folge Optionen:
- mit dem SDK vom Espressif
- mit Arduino Framework
- mit Micropython
- mit LUA aus dem NodeMCU Projekt

Von allen IDE's mit denen ich bisher gearbeitet habe, ist Eclipse in 
vielen Punkten die schlechteste und in keinem Punkt die beste. 
Allerdings ist sie kostenlos und erfüllt ihren Zweck, insofern will ich 
mich über die STM32 Cube IDE nicht beklagen.

Die Arduino IDE Version 1.x hat einen extrem simplen Texteditor und 
keinen Debugger. Der Texteditor lässt sich leicht durch bessere (auch 
IDEs) ersetzen. Mir ist es noch nicht gelungen, irgendeinen Debugger in 
Kombination mit Arduino zu benutzen. Angeblich ist es jedoch möglich.

Die Arduino IDE Version 2.x soll einen Debugger bekommen. Habe ich noch 
nicht ausprobiert, deswegen kann ich dazu nichts sagen.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Kai P. schrieb:
> und da steht etwas von 60 Tage Testversion für C16

Das stimmt, aber bezieht sich nur auf den 'Super-Duper' Compiler C16. Du 
kannst weiterhin in C und ASM mit MPLAB X programmieren (wimre heisst 
der Standardcompiler XC8 oder so). Ob C16 irgendwelche Vorteile hat, 
kann ich nicht beurteilen - das ist was für die PIC Profis hier.

Die gleiche Nummer machen sie beim Microchip Studio, was man derzeit für 
die AVR benutzt. Da kannste einen Compiler dazukaufen. Normalerweise 
nehmen sie GCC, der meist voll ausreicht.

von NichtWichtig (Gast)


Lesenswert?

Noch nicht genannt wurde Keil µVision.

Schon ein..zwei Dekaden her das ich damit 8051 und später ARM 
programmierte.

https://www2.keil.com/mdk5/uvision/

Dort darf auch nach Eval Boards geschaut werden.

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Jester schrieb:
> Wenn ich Lust habe, rupf ich den ATmega328 dann aus dem Sockel und
> verpflanz ihn auf mein Frickelboard - ganz ohne USB (Arduino light).

Da komplette Boards aus Chinesien billiger sind als ein ATmega im DIL, 
pflanze ich das komplett auf, incl. Takt und Resettaster.

Bequem mit dem Nano incl. USB, wenn es Strom sparen soll, den ProMini. 
Der wird dann mit einer CH340-Platine programmiert, bei dem gibt es 
keinen Ärger mit Fälschungen.

von Lothar (Gast)


Lesenswert?


von MaWin (Gast)


Lesenswert?

Kai P. schrieb:
> ich bin
> kein Arduino-Typ

Dann nehm ich an die komplexität wird dich sehr schnell erschlagen und 
du wirst nicht weit kommen.

Viel spass beim scheitern!

von W.S. (Gast)


Lesenswert?

MaWin schrieb:
> Viel spass beim scheitern!

Man sollte nicht allzu sehr von sich selbst auf andere schließen.
Ich benutze ja auch diverse µC von verschiedenen Herstellern und bin 
bislang komplett ohne Arduino ausgekommen.

Und die Programmiererei ist bei mir nur ein Aspekt von vielen. 
Allerdings sehe ich durchaus, daß sich hier vornehmlich Programmieriche 
mit 2 linken Händen tummeln, für die bereits ein UART im Controller 
zuviel Hardware ist, von dem Selbermachen einer Leiterplatte mal ganz 
abgesehen. Da hatte neulich doch so einer geschrieben "ich programmiere 
nicht auf Registerebene".
Na denne, prost mahlzeit!

W.S.

von R. Winkler (Gast)


Lesenswert?

ESP32 WROOM oder so, VSCode mit Platformio und Arduino Framework.

von EAF (Gast)


Lesenswert?

W.S. schrieb:
> und bin bislang komplett ohne Arduino ausgekommen.

So gings mir auch.....
Bis dann der Tag X kam.

W.S. schrieb:
> für die bereits ein UART im Controller zuviel Hardware ist,

Wie das Leben einem so spielt....
Immer wieder müssen Entscheidungen getroffen werden.

Klar kann man für (fast) jeden µC auf dieser Welt eine eigene Software 
schreiben, welche den seriellen Kram abhandelt.
Ohne jeden Zweifel wird man dabei viel lernen.
Und viel Lebenszeit investieren.

Die Frage ist:
Wo setzt man seine Priorität?

Arduino hat zumindest den einen Vorteil, dass es den UART (und vielen 
weiteren) Kram mitbringt, man sich so auf das eigentlich 
Programm/Problem kümmern kann.
Ohne ein Dutzend Räder neu erfinden zu müssen.

von EAF (Gast)


Lesenswert?

EAF schrieb:
> man sich so auf das eigentlich
> Programm/Problem kümmern kann.

Korrektur:
man sich so auf das eigentliche
Programm/Problem konzentrieren kann.

von W.S. (Gast)


Lesenswert?

EAF schrieb:
> man sich so auf das eigentliche
> Programm/Problem konzentrieren kann.

Und was ist für dich das "eigentliche" Programm?
Schließlich ist ein µC auch nur ein Bauteil, das auf ne Leiterplatte 
gelötet wird und dort irgend eine Funktion - in Hardware!! - erfüllen 
soll. Ohne sich dort beim Programieren intensiv um Hardware- (sprich 
Schaltungs-) Angelegenheiten kümmern zu wollen, ist ne Art von 
Wichserei.

W.S.

von Frank K. (fchk)


Lesenswert?

Kai P. schrieb:
> Vielen Dank für die zahlreichen Anregungen. Da heutzutage selbst relativ
> kleine Mikrocontroller inzwischen locker 128 KB Flash und 8 KB RAM haben
> können, würde ich schon gerne in C programmieren. Neben STM32 werde ich
> mir auch nochmal die "alten" PICs ansehen, ich habe z.B. einen
> PIC18F57Q43 mit 128 KB Flash und 8 KB RAM auf einem sehr kompakten
> Curiosity Nano Board entdeckt. Die IDE heißt jetzt anscheinend MPLAB X
> und da steht etwas von 60 Tage Testversion für C16. Muss man danach
> zahlen oder gibt es auch eine kostenlose Version, wenn man das wie ich
> nur als Freizeitbeschäftigung betreibt? Die Antwort gilt dann vermutlich
> auch für den ATMEGA4809, für den es ebenfalls so ein Nano Board gibt.

Die XC-Compiler kannst Du kostenlos benutzen. Die kostenflichtigen 
Features brauchst Du nicht. Für PIC18F brauchst Du den XC8 Compiler, 
XC16 ist für PIC24 und dsPIC33, die ich Dir auch ans Herz lege. Die sind 
recht einfach zu benutzen (wenn Du PIC16 und PIC18 kennst, findest Du 
Dich schnell zurecht), aber die sind deutlich leistungsfähiger als 
alles, was Du bei AVR findest. Da gibts beispielsweise Dual Core 100MHz 
dsPIC33CH.

fchk

von EAF (Gast)


Lesenswert?

W.S. schrieb:
> Und was ist für dich das "eigentliche" Programm?

Für mich?
Tja, "ich" habe im Normalfall mit Ablaufsteuerungen zu tun.
Das "eigentliche" Programm besteht dann meist aus endlichen Automaten.


Was der TO "wirklich" erreichen will? Keine Ahnung!

von Franz (Gast)


Lesenswert?

EAF schrieb:
>W.S. schrieb:
>> für die bereits ein UART im Controller zuviel Hardware ist,

>Wie das Leben einem so spielt....
>Immer wieder müssen Entscheidungen getroffen werden.

>Klar kann man für (fast) jeden µC auf dieser Welt eine eigene Software
>schreiben, welche den seriellen Kram abhandelt.
>Ohne jeden Zweifel wird man dabei viel lernen.
>Und viel Lebenszeit investieren.

>Die Frage ist:
>Wo setzt man seine Priorität?

Hey, du sprichst mir aus der Seele. Die Erkenntnis hatte ich schon 2007, 
also vor 15 Jahren. Dass ich das noch mal erleben darf: Das 
Mikrocontrollernetz ist im Arduino-Zeitalter angekommen.
Unvergessen ist der selbsternannte Cyblord, der in wenigen Sätzen jeden 
auf die Palme bringen konnte:
Beitrag "Re: Arduino - bringt's das ?"
Was wohl aus ihm geworden ist?

Das Arduino-Framework ist das Linux der Mikrocontroller und die Anzahl 
der Bibliotheken wird weiter zunehmen.
Hier mal ein schönes Beispiel für eine Library, die man nicht mehr so 
ganz einfach selber programmiert:
https://docs.simplefoc.com/

Einen schönen Tag noch,

Franz

von Harry L. (mysth)


Lesenswert?

Franz schrieb:
> as Arduino-Framework ist das Linux der Mikrocontroller

Guter Witz!

von Franz (Gast)


Lesenswert?

Harry L. (mysth)
>Franz schrieb:
>> as Arduino-Framework ist das Linux der Mikrocontroller
>Guter Witz!

Klar, war ein wenig "plakativ"... aber
Linux läuft vermutlich auf eine Anzahl von Geräten in Milliardengröße 
und das Arduino-Framework nur auf einer Anzahl von Geräten in 
Millionengröße, oder was wir die Anzahl der unterstützten Prozessoren 
hier wohl bedeuten?:
https://github.com/stm32duino/Arduino_Core_STM32
Zusätzlich zu den Expressiv IOT Applikationen.

von Jester (Gast)


Angehängte Dateien:

Lesenswert?

Manfred schrieb:
> Da komplette Boards aus Chinesien billiger sind als ein ATmega im DIL,
> pflanze ich das komplett auf, incl. Takt und Resettaster.
>
> Bequem mit dem Nano incl. USB, wenn es Strom sparen soll, den ProMini
> Der wird dann mit einer CH340-Platine programmiert, bei dem gibt es
> keinen Ärger mit Fälschungen.

Genau das hatte ich oben beschrieben. Du nennst es CH340, ich nenne 
USB/Serial-Converter. Und es ist total Wurst, was man da nimmt. So man 
noch eine Serielle hat, tut's auch ein MAX232-IFC - siehe Anlage.

Auf der Rückseite meines "MAX232-IFC" hatte ich RISM-51 notiert. Steht 
für "Reduced Instruction Set Monitor 8051" und gab's damals (tm) bei 
Intel. Kennen heute nur noch die Wenigsten: War im Prinzip ein 
erweiterter Bootloader, ähnlich dem, was heute die Arduinos mitbringen. 
Im Prinzip wurde EPROM gegen RAM geswapt (Flash gab's noch nicht) - und 
man konnte sich in der Entwicklungsphase das dauernde EPROM-Brennen erst 
mal sparen.

Meine IDE hieß damals 'cvs' und 'make', Compiler war DDS MICRO-C 8031/51 
(Dave Dunfield).

Das war zu einer Zeit, da bastelte Atmel noch an ihren AVR's rum. Ca. 
ein Jahr später bekam ich eine Einladung zum 'Seminar'. Dort konnte man 
dann AVR-Studio 1.01 für Win95/WinNT abgreifen.

Also im Osten nichts Neues...

von Geli (Gast)


Angehängte Dateien:

Lesenswert?

Also m.E. ist der ATTiny85 Leistung / Preis unschlagbar.
5 Stück für 13 Euro
http://web3.heissa.de/ATtiny85Rev3.pdf

Als Entwicklungs-Umgebung empfehle ich platformio
das gut in VSCode integriert ist.

von Falk B. (falk)


Lesenswert?

Geli schrieb:
> Also m.E. ist der ATTiny85 Leistung / Preis unschlagbar.
> 5 Stück für 13 Euro

Fehlt da en Smily? Das sind 2,60 Euro / IC, der gerade mal 512B RAM und 
8KB Flash hat! Vergleiche das mal mit dem RP2040!

von Stefan ⛄ F. (stefanus)


Lesenswert?

Falk B. schrieb:
> Fehlt da en Smily? Das sind 2,60 Euro / IC

Nein, nicht pro IC sondern pro Board.

Inclusive: USB Stecker, Spannungsregler und vorinstalliertem USB 
Bootloader.

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
>> Fehlt da en Smily? Das sind 2,60 Euro / IC
>
> Nein, nicht pro IC sondern pro Board.
>
> Inclusive: USB Stecker, Spannungsregler und vorinstalliertem USB
> Bootloader.

Ok, trotzdem "teuer" im Vergleich zu anderen Mikrocontrollern. Wenn die 
Größe und Leistung reicht, ist es OK.

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Geli schrieb:
> Also m.E. ist der ATTiny85 Leistung / Preis unschlagbar.
> 5 Stück für 13 Euro
> http://web3.heissa.de/ATtiny85Rev3.pdf

Ich würde davon abraten, es gehen sehr schnell die Pins aus.
Effektiv sind nur 2 IOs voll benutzbar, USB+/-, Reset, Pin6 (LED) nur 
eingeschränkt.

Gerade für Anfänger ist es sehr schwer, die bereits belegten Funktionen 
mit der zu entwickelnden Anwendung konfliktfrei zu benutzen.

Daher hätte man wenigstens einen ATtiny84 draufpappen sollen. Schade 
drum.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Peter D. schrieb:
> Daher hätte man wenigstens einen ATtiny84 draufpappen sollen. Schade
> drum.

Oder einfach einen Arduino Uno/Nano nehmen. Wer die paar Euros nicht 
übrig hat, hat so oder so ein Problem.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Der Digispark ist ein Nieschenprodukt, keine Frage.

Bei ihm geht es um die besonders kompakte Bauform und dass man ihn ohne 
weiteres Equipment programmieren kann. Für einen einfachen Timer reicht 
das.

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei ihm geht es um die besonders kompakte Bauform und dass man ihn ohne
> weiteres Equipment programmieren kann. Für einen einfachen Timer reicht
> das.

Vollkommen verkrampft. Ein DIL8 Sockel + 6pol Programmierstecker sind 
billig und reichen als Programmieradapter und man kann alle 5(6) Pins 
ohne Krampf nutzen.

von Stefan ⛄ F. (stefanus)


Lesenswert?

Falk B. schrieb:
> Ein DIL8 Sockel + 6pol Programmierstecker sind billig und reichen

Aber dann brauchst du halt zusätzlich noch einen Programmieradapter.

Ich benutze einen Digispark als USB zu I²C Brücke, dafür ist der ideal. 
Wird sogar vom Linux Kernel unterstützt.

Beitrag #7156068 wurde von einem Moderator gelöscht.
von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
>> Ein DIL8 Sockel + 6pol Programmierstecker sind billig und reichen
>
> Aber dann brauchst du halt zusätzlich noch einen Programmieradapter.

Ja mei, geht daran die Welt zugrunde? Muss jeder 3 Pin Mikrocontroller 
auch noch WiFi haben?

Luxusprobleme der allerfeinsten Art . . .

von Stefan ⛄ F. (stefanus)


Lesenswert?

Falk B. schrieb:
> Ja mei, geht daran die Welt zugrunde?

Das sagt doch niemand. Wenn die Dinger völliger Quatsch wären, würde sie 
keiner herstellen und keiner kaufen. Das ist sicher kein Massenprodukt, 
aber allein die Tatsache, dass sie zeitweise ausverkauft sind und später 
wieder verfügbar werden sagt mir, dass die gekauft werden.

Sogar Conrad und Reichelt haben sie im Programm.

von Falk B. (falk)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das sagt doch niemand. Wenn die Dinger völliger Quatsch wären, würde sie
> keiner herstellen und keiner kaufen.

Es so viel Quatsch produziert UND gekauft, das geht auf keine Kuhhaut!

von Geli (Gast)


Lesenswert?

Das mit den PINs stimmt natürlich, aber wenn jemand viele kleine Mini 
Projekt macht und das ist bei 85% der Bastler der Fall, dann sind die 
Boards m.E. ideal, wenn man gerne mit Linux arbeitet.

Allerdings gibt es auch das hier zu beachten!

https://www.heise.de/select/ix/2017/7/1499358388386903

von Stefan ⛄ F. (stefanus)


Lesenswert?

Geli schrieb:
> Allerdings gibt es auch das hier zu beachten!
> https://www.heise.de/select/ix/2017/7/1499358388386903

Das ist ein genereller Schwachpunkt bei USB. Angeblich waren mal USB 
Kabel für Apple Geräte im Handel, die beim Einstecken böse Befehle 
"eingetippt" haben.

von Martin (Gast)


Lesenswert?

Kai P. schrieb:
> ich bin kein Arduino-Typ

Uebersetzt willst du damit sagen "Ich gehöre zur Elite"
rüberkommen tut das als "Ich habe keine ahnung".

Ich sage "solche Typen mag ich nicht".

Martin (der echte mit dem roten cape)

von Jobst M. (jobstens-de)


Lesenswert?

Frank K. schrieb:
> PIC24 und dsPIC33, die ich Dir auch ans Herz lege.

Ich ebenso. Die sind auch in ASM recht angenehm.

Falk B. schrieb:
> Es so viel Quatsch produziert UND gekauft, das geht auf keine Kuhhaut!

Und nachdem man festgestellt hat, dass einem der Quatsch nicht gefällt, 
wird er einfach weggeworfen.


Gruß
Jobst

von Gerald K. (geku)


Lesenswert?

**Olimex** hat eine gute Auswahl an Starter-Boards mit verschiedene 
Prozessoren:

https://www.olimex.com/

von EAF (Gast)


Lesenswert?

Geli schrieb:
> Allerdings gibt es auch das hier zu beachten!
>
> https://www.heise.de/select/ix/2017/7/1499358388386903

Jau!

1. das ist keine Digispark IDE, sondern die Arduino IDE
2. nicht Skript, sondern Sketch
3. das betrifft ALLE µC Boards mit nativen oder V-USB

Zudem lässt sich das Feature prächtig/vielfältig nutzen, ohne jede böse 
Absicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.