Microcontroller

  • Hallo OMs,

    mit Microcontroller lassen sich viele Aufgaben lösen. Ob in TRX, Antennentunern, Antennenanalyzer, Akkuldegreräte - überall sind sie drin.

    Arduino

    Typen: Nano, Mega, Maker-xxx mit WLAN, Bluetooth, GSM

    • + Einsteigerfreundlich
    • + IDE für ein (angepaßtes) C
    • Andere IDEs möglich (PlatformIO, MS Visual Studio u.a.)
    • + Viele Librarys
    • + Viel Zubehör
    • + Große Community (englisch, teils deutsch)
    • - RAM klein, das ist oft die Grenze, Flash ausreichend (Mega)
    • - Takt 16MHz

    Teensy (3.2, 4.0 4.1)

    • + (Einsteigerfreunlich) fast wie Arduino
    • + IDE-Arduino + Plugin für ein (angepaßtes) C
    • Andere IDEs möglich (PlatformIO, MS Visual Studio u.a.)
    • + Viele Librarys
    • + Viel Zubehör (bis zu 'Soundkarten')
    • + Große Community (nur englisch, Firmeninhaber Paul Stoffregen selbst aktiv, )
    • + RAM 1MB, Flash 8MB
    • +Takt 600MHz (läßt sich herabsetzen bis 24Hz, spart Strom)
    • + Sehr viele GPIOs, I2C, SPI, sogar LAN mit kleinem Modul
    • + Rechenleistung 5x über ESP32
    • + Preis / Leistung OK, ArduinoMega nicht günstiger

    ESP32, ESP8266

    • + Sehr preisgünstig
    • + Viele Librarys
    • + Große Community (englisch, teils deutsch)
    • + Eingebautens WLAN
    • - Wenn man LAN benötigt nur über externes Modul an SPI. Dann lieber gleich Teensy, da gehts einfacher.

    Kennt jemand Raspberry Pico bzw den Arduino Pico?

    • + Sehr kostengüstig
    • * Programmierung:
    • - Die Toolchain für MicroPython ist klar. Für C?
    • ! MicroPython / C
    • Weniger Programmieraufwand, 5-10x langsamer als C / Mehr Aufwand, (fast) so schnell wie Assembler


    Allles zu kennen, der Teufel steck im Detail, schaffe ich nicht. Ich brauche eine sinnvolle Eingrenzung.

    Raspberry Pico bzw den Arduino Pico, MicroPython ? Eine Mode?


    Was sagt ihr?


    73

    Hans-Jürgen

  • Moin,


    ich ergänze mal etwas:

    Hallo OMs,

    mit Microcontroller lassen sich viele Aufgaben lösen. Ob in TRX, Antennentunern, Antennenanalyzer, Akkuldegreräte - überall sind sie drin.

    Arduino

    Typen: Nano, Mega, Maker-xxx mit WLAN, Bluetooth, GSM

    • + Einsteigerfreundlich
    • + IDE für ein (angepaßtes) C
    • Andere IDEs möglich (PlatformIO, MS Visual Studio u.a.)
    • + Viele Librarys
    • + Viel Zubehör
    • + Große Community (englisch, teils deutsch)
    • - RAM klein, das ist oft die Grenze, Flash ausreichend (Mega)
    • - Takt 16MHz


    Microchip AVR (ATMega) Controller - Takt bis 20MHz ohne die gesamten Arduino Libs -> weniger Balast, mehr RAM, schnellerer Code und nicht zu vergessen die Microchip PIC Controller, die ST32M, MSP430, LPC usw. usf. Und aktuell ganz wichtig ist auch die Verfügbarkeit.


    Normalerweise wählt man einen Microcontroller nach Anzahl der Ports, nach den Funktionen und Schnittstellen, nach Strombedarf, nach Leistung aus und nicht nach Entwicklungsumgebung und viel fertigen Code.


    Wenn Du Dich natürlich von vornherein auf die Arduino Welt festlegst, egal ob AVR, Teensy, ESP dann nimm einfach, was Dir gefällt, ist doch völlig egal, denn den Controller mit seiner Architektur lernst Du versteckt hinter der Arduino Umgebung nicht kennen.


    73, Tom

    DL-QRP-AG #1186|G-QRP #14624|FISTS #15933|SKCC #13896|LIDS #88

    https://isnix.de * Life is too long for QRO * Ep. III 2L DCC

  • denn den Controller mit seiner Architektur lernst Du versteckt hinter der Arduino Umgebung nicht kennen.

    Moin Tom,


    da stellt sich mir die m.M.n. wichtigste Frage, die nur Hans-Jürgen DL3HJG beantworten kann:


    Möchtest Du relativ schnell funktionierende Geräte / Projekte haben oder möchtest Du in die Tiefen der Thematik einsteigen?

    73 Michael, DF2OK.

    ~ AFU seit 1975 ~ DARC ~ G-QRP-Club ~ DL-QRP-AG ~ AGCW ~ FISTS ~ QRPARCI ~ SKCC ~

    ~ CW ~ SSB ~ RTTY ~ SSTV ~ ATV ~ SAT ~ FM ~ PR ~ PSK31 ~

    QRP: DK6SX-TRX 40m | Sierra Allband+KC2+DLQRP-PA | DK1HE-TRX 20+15m | Norcal-20 | SMiTe (SMD-Pixie-2) | QRP-40 mini | ELBC-Mini 40m | HB-1A | MA12/40 | TenTec Scout 555 & Argonaut II | diverse RX+TX | Meßtechnik, NT, ATU, Antennen, Portabeltechnik, Konverter, Transverter, Keyer, ATV-Restseitenband-TX, PA es VV, div. Zubehör. | THT es SMT |

  • Normalerweise wählt man einen Microcontroller nach Anzahl der Ports, nach den Funktionen und Schnittstellen, nach Strombedarf, nach Leistung aus und nicht nach Entwicklungsumgebung und viel fertigen Code.

    Normalerweise mag das für einen ambitionierten, erfahrenen Programmierer oder für einen Profi so sein.


    Für jemand, der mit wenig Aufwand und mit flacher Lernkurve den Einstieg sucht, sind einfache Entwicklugns-Plattformen, IDEs und Libs wie z.B. Arduino oder Micro-Python ein Segen und ein Weg, schnell Erfolgserlebnisse zu haben und Frust zu vermeiden. Das objektorientierte Programmieren in C++ oder Assembler und der Umgang mit komplexen IDEs und Debuggern wie Eclipse überlasse ich gerne den Fach-NERDs oder den Profis, die damit täglich arbeiten und damit ihr Geld verdienen.


    73

    Günter

    "For every complex problem there is an answer that is clear, simple, and wrong" (H.L. Mencken)

  • Moin,

    Normalerweise mag das für einen ambitionierten, erfahrenen Programmierer oder für einen Profi so sein.

    es gab mal Zeiten, da blieb einem gar nichts anderes übrig, weil man nur ne' nackte 6800 CPU hatte. Aber die sind ja schon seit Jahrzehnten vorbei und heute hat man auch bei Microcontrollern praktische und manchmal auch unpraktische Baukästen. Nur damals hat man mit ein paar Schaltern und ein paar LEDs angefangen.

    Für jemand, der mit wenig Aufwand und mit flacher Lernkurve den Einstieg sucht, sind einfache Entwicklugns-Plattformen, IDEs und Libs wie z.B. Arduino oder Micro-Python ein Segen und ein Weg, schnell Erfolgserlebnisse zu haben und Frust zu vermeiden.

    die Frage steht dazu dann halt im Raum, wie Michael das auch festgestellt hat. Was genau soll das Ziel sein? Wenn das Ziel Deiner Beschreibung entspricht, dann ist es letztendlich völlig egal, welches System der aufgeführten verwendet wird. Kann man sogar relativ simpel mal mischen. Der ganze Kram kostet fast nichts.

    Python ein Segen und ein Weg, schnell Erfolgserlebnisse zu haben und Frust zu vermeiden. Das objektorientierte Programmieren in C++ oder Assembler und der Umgang mit komplexen IDEs und Debuggern wie Eclipse überlasse ich gerne den Fach-NERDs oder den Profis, die damit täglich arbeiten und damit ihr Geld verdienen.

    Eclipse überlasse ich der jüngeren Generation. vim und tmux - das langt.


    73, Tom

    DL-QRP-AG #1186|G-QRP #14624|FISTS #15933|SKCC #13896|LIDS #88

    https://isnix.de * Life is too long for QRO * Ep. III 2L DCC

  • Ich persönlich mag den Teensy 4.1. Hab vor einer Woche ein neues Projekt angefangen und alle Bausteine laufen schon. "Nur" die Hauptanwendung muß ich noch schreiben.


    Warum Teensy:

    • Weil (fast) alle Arduino libraries gehen und sind auf Github - man sieht also die Issues und den Pflegezustand direkt
    • Zusätzlich zum Arduino bietet PJRC guten Support / Webseite
    • Gleiche IDE wie Arduino
    • Egtl. alle wichtigen HF Bausteine als Library vorhanden

    Teensy 4.1:

    • Performance im Vgl. zu Arduino
    • Preis / Leistungsverhältnis
    • Sehr viele eingebaute Funktionen. Für egtl. alle Anwendungen überdimensioniert
    • Optimierte Libraries für Grafik-TFT etc. für Teensy 4.1

    Ich programmiere mit Mikroprozessoren in Assembler & C seit 1985, mit C++ seit 1990. Trotzdem freue ich mich, wie leicht einem die Nutzung neuer Libraries und Bausteine gemacht wird. Flache LErnkurve ist nicht nur ein Argument für Neulinge. Ich mache das ja "nebenher" in meiner Freizeit.


    Der Preis des uP Moduls ist für mich zweitrangig - ich kaufe die als Einzelstücke und 20.- mehr aber viel (Programmier)-Zeit gespart.

    Deshalb waren die "kleinen" Teensy Pico etc. für mich irrelevant. Und zwischen Python und C++ bevorzuge ich C/C++, meine persönliche Präferenz.

    Wenn ich kostenoptimiert entwickeln müßte würde ich eh keine Module sondern nackte Prozessoren nehmen.


    Für mich ist der Teensy 4.1 ein guter Kompromiss und ich habe meine Freude damit.


    Die Teensyduino IDE hat ggü dem, was ich gewohnt bin, Abstriche - tut aber was man braucht.


    73


    Gerd DF9TS

  • Moin Gerd,

    Ich programmiere mit Mikroprozessoren in Assembler & C seit 1985, mit C++ seit 1990. Trotzdem freue ich mich, wie leicht einem die Nutzung neuer Libraries und Bausteine gemacht wird. Flache LErnkurve ist nicht nur ein Argument für Neulinge. Ich mache das ja "nebenher" in meiner Freizeit.


    Die Teensyduino IDE hat ggü dem, was ich gewohnt bin, Abstriche - tut aber was man braucht.

    ich habe auch gerade so ein Projekt, das eigentlich auf der Arduino Umgebung läuft, mit dem ATMega2560. Das funktioniert auch alles tadellos im Testaufbau auf dem Tisch. Aber es kann da schon mal Probleme geben, wenn es zeitkritisch wird (und in dem Projekt werden alle 3 UARTS, Ethernet/W-LAN, LCD und die Ansteuerung einer H-Bridge gemacht, die nicht "wackeln" sollte) und wenn man sich dann z.B. den Code für digitalWrite() anschaut, nur um einen Port zu schalten, das geht halt auch schneller und mit viel weniger Code.


    Die ganze Arduino Umgebung ist schon ok, mit der neuen V2.0 IDE kann man auch arbeiten, für Einsteiger oder Leute, die schnell ein Ergebnis haben wollen. Vor allem eine IDE für mehrere Plattformen ist da praktisch aber eben auch ein Nachteil - es wird im ganzen Code soviel abgehandelt und abgefragt, was man für einen einzelnen Controller gar nicht benötigt. Statt den kleinen 8-Bitter dann mal ein wenig direkt zu quälen, wird auf ESP oder Teensy gewechselt, da hat man dann die Leistung (die man eigentlich gar nicht benötigt). Dieses effektive Nutzen eines Controllers, wie wir das so mal gelernt haben, das geht dabei irgendwie etwas unter. Aber ist eben die Frage, was man will, einfach nur schnell ein Blinklicht oder die ganzen Timer-Register auch verstehen.


    73, Tom

    DL-QRP-AG #1186|G-QRP #14624|FISTS #15933|SKCC #13896|LIDS #88

    https://isnix.de * Life is too long for QRO * Ep. III 2L DCC

  • Hallo OMs,

    @ DF2OK:

    µCs sind ein Mittel zum Zweck und weder meine Ausbildung (bin Werkzeugmechaniker) noch mein einziger Lebensinhalt. Außer zum QSO soll Zeit für die Mitmenschen bleiben.

    @ DL7BJ:

    Richtig, diese Arduino-IDE bringt im Code eine Menge Ballast mit. Ev. reduziert die Otimierung das etwas. MicroPython ist noch 5x langsamer ist, weil der Code interpretiert wird.

    Das AVR-Studio und Eclipse kenne ich von vor vielen Jahren. Mit den netten kleinen 'Breakouts' ist der mechanische Aufbau wesentlich erleichtert. So kam ich zu Arduino.

    Assembler ist 'Hardcore' !

    Bibliotheken:

    Man muß das Fahhrad nicht 2x erfinden. Dafür ist man dem Code ausgeliefert. Sonst eben selbst entwickeln.

    Ein professioneler Entwickler muß schon auf die Kosten achten: Entwicklung 1x, Gerät Millionen mal. Beim Hobby ist der Kauf der Hardware 1x.

    @ DF9TS:

    So etwa sehe ich das auch. Ich wollte nur fragen, um mich nicht in einer Sackgasse zu verrennen.


    Danke für Eure Antworten!

    73

    Hans-Jürgen

  • µCs sind ein Mittel zum Zweck (...) noch mein einziger Lebensinhalt. Außer zum QSO soll Zeit für die Mitmenschen bleiben.

    Moin Hans-Jürgen,


    so auch bei mir, Mittel zum Zweck und um etwas Einblick in die Materie zu bekommen. PIC, ATMEL mit Bascom sowie Arduino mit der IDE habe ich mal ausprobiert.


    In jungen Jahren habe ich mit Basic auf dem ZX81 und später auf dem C64 hantiert. Meistens vorhandene Programme angepasst. Später auf dem PC unter DOS mal ein wenig mit Turbo-Pascal das eine oder andere Tool fürs Fotohobby programmiert.


    Danke für die Info und möge der Code feherlfrei sein.

    73 Michael, DF2OK.

    ~ AFU seit 1975 ~ DARC ~ G-QRP-Club ~ DL-QRP-AG ~ AGCW ~ FISTS ~ QRPARCI ~ SKCC ~

    ~ CW ~ SSB ~ RTTY ~ SSTV ~ ATV ~ SAT ~ FM ~ PR ~ PSK31 ~

    QRP: DK6SX-TRX 40m | Sierra Allband+KC2+DLQRP-PA | DK1HE-TRX 20+15m | Norcal-20 | SMiTe (SMD-Pixie-2) | QRP-40 mini | ELBC-Mini 40m | HB-1A | MA12/40 | TenTec Scout 555 & Argonaut II | diverse RX+TX | Meßtechnik, NT, ATU, Antennen, Portabeltechnik, Konverter, Transverter, Keyer, ATV-Restseitenband-TX, PA es VV, div. Zubehör. | THT es SMT |

  • Moin Hans-Jürgen,

    µCs sind ein Mittel zum Zweck und weder meine Ausbildung (bin Werkzeugmechaniker) noch mein einziger Lebensinhalt.

    So etwa sehe ich das auch. Ich wollte nur fragen, um mich nicht in einer Sackgasse zu verrennen.

    dann sind die alle ok und auch Arduino passt. Da solltest Du die neue IDE 2.x verwenden, wenn es die Teensy Erweiterungen dafür gibt. Ansonsten schaue einfach auf Verfügbarkeit und Hardware-Aufbau. Kann man Arduino-Shields einfach aufstecken, sind die Module verfügbar usw. Auch die Anzahl der benötigten Ports kann ein Auswahlkriterium sein, so ein Teensy oder Arduino Nano hat nur den Bruchteil der Ports eines Arduino Mega 2560.


    73, Tom

    DL-QRP-AG #1186|G-QRP #14624|FISTS #15933|SKCC #13896|LIDS #88

    https://isnix.de * Life is too long for QRO * Ep. III 2L DCC