Forum: Mikrocontroller und Digitale Elektronik Radxa RS114 oder anderer µC zum Einstieg?


von Stefan (Gast)


Lesenswert?

Hallo,

ich möchte einen µC "zum Herumspielen und Lernen" nutzen.
Habe im Studium (Elektrotechnik) bisher Grundlagen in C++ und Python 
gelernt und hatte eigentlich vor, mir einen Raspberry Pi zu kaufen.
Nun hat Conrad den Radxa RS114+B2E16 Rock 4 B+ 2 GB 2.0 GHz gerade 
günstig im Angebot, der mit knapp 70€ gut in mein Budget (möglichst 
nicht mehr als 100€) passt.

Fragen:
- Wie wichtig ist die Wahl des µC-Herstellers im Hinblick auf Literatur, 
Tutorials etc., um das Ansteuern von Ausgängen (z.B. LED), Abfangen des 
Prellens von Schaltern, externes Display ansteuern usw. zu erlernen?
- Sollte ich mich mit Blick auf eventuellen µC-Einsatz später im Beruf 
eher in Richtung Raspberry Pi, Arduino o.ä. orientieren oder ist das 
komplett egal?
- Lassen sich Tutorials für Raspberry Pi auf den Radxa übertragen?
- Auf welche technischen Daten sollte ich achten?
- Gibt es konkrete Empfehlungen für einen µC?
- Was kann ich an Mehrwert bekommen, was der Radxa RS114 nicht hat?
- Wie wichtig sind Speicher und Leistung?
- Welcher µC bietet das beste Lernpotenzial?

Freue mich über Tipps.

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Sowohl der Raspberry Pi, als auch Radxa sind keine Mikrocontroller (µC) 
sondern Single Board Computer (SBC).
Darauf läuft i.d. Regel Linux und du kannst damit alles lernen, was du 
auf jedem anderen Linux-Rechner auch lernen kannst. Zusätzlich gibt es 
dann ein paar IO-Ports, auch mit I2C oder SPI, mit denen du dann 
Hardware ansteuern kannst. Linux ist i.A. nicht echtzeitfähig, d.h. es 
gibt keine garantierten Antwortzeiten, weil in so einem 
Multi-Prozess-Betriebssystem immer auch etwas anderes gerade die CPU 
belegen kann.

Ein Mikrocontroller hat i.d. Regel kein Betriebssystem, allenfalls ein 
ganz kleines (z.B. RTOS), ist aber echtzeitfähig, weil da nur dein 
Programm drauf läuft.

Der Raspi ist als SBC toll weil es viele Tutorials und Dokumentation 
dafür gibt und man weil man mit einem richtigen Linux natürlich viele 
tolle Sachen anstellen kann, auch Webserver, NAS, Homeautomation...

Ein µC kann deutlich weniger, programmiert wird i.d. Regel hardwarenah, 
z.B. in C. Dafür sind sie i.d. Regel deutlich billiger und die 
Interaktion mit Hardware ist viel direkter und zeitlich präziser.

Mein Vorschlag:
Wenn du dich mit Linux noch nicht gut auskennst, hol dir den Radxa oder 
irgendeinen Raspberry.

Wenn du wirklich was mit einem µC machen willst hol dir einen billigen 
Arduino oder den RP2040. Für beide gibt es viel Doku.

von 666 (Gast)


Lesenswert?

Stefan G. schrieb:
> ich möchte einen µC "zum Herumspielen und Lernen" nutzen.

> Raspberry Pi
> Radxa RS114+B2E16 Rock 4 B+

Beides sind SBCs und keine µCs.
Vermutlich gibt es dazu auch keine Doku. (NDA)

Als µC zum Herumspielen, empfehle ich die AVRs (tutorial im forum) + 
AVRISPMkII Klon oder etwas ARM Cortex M basiertes, zB. die STM32 von ST. 
Dazu einen Jlink.

Stefan G. schrieb:
> Wie wichtig ist die Wahl des µC-Herstellers im Hinblick auf Literatur

Die Manuals/Datenblätter/Appnotes sehen anders aus und unterscheiden 
sich im Detail.

Stefan G. schrieb:
> Sollte ich mich mit Blick auf eventuellen µC-Einsatz später im Beruf
> eher in Richtung Raspberry Pi, Arduino o.ä. orientieren oder ist das
> komplett egal?

Arduino ist ein Framwork für Maker und Künstler, um die interna des µCs 
vor dem Anwender zu verbergen.

Stefan G. schrieb:
> Welcher µC bietet das beste Lernpotenzial?

Arm basierte µCs sind sicher sehr weit verbreitet.

von Stefan (Gast)


Lesenswert?

Tilo R. schrieb:
> Sowohl der Raspberry Pi, als auch Radxa sind keine Mikrocontroller (µC)
> sondern Single Board Computer (SBC).
Ups, danke.

Tilo R. schrieb:
> Wenn du wirklich was mit einem µC machen willst hol dir einen billigen
> Arduino oder den RP2040. Für beide gibt es viel Doku.

Der RP2040 sieht interessant aus.
Ich würde den dann mit dem Cytron Maker Pi RP2040 verwenden... oder gibt 
es bessere Empfehlungen?

666 schrieb:
> Arm basierte µCs sind sicher sehr weit verbreitet.

Das spricht für den RP2040, oder?

von Max M. (Gast)


Lesenswert?

Stefan schrieb:
> Der RP2040 sieht interessant aus.

Ja, ist aber ein Exot.
Momentan gehyped, single source und doch sehr anders als avr, pic, stm32 
etc.

Die AVR sind 'gut abgehangen', einfach und sehr weit verbreitet.
Nimm die zum Einstieg. Also den üblichen Arduino, denn das sind nichts 
weiter als AVR Controller mit ein wenig HW, die es dir leicht machen 
soll ohne löten gleich loszulegen.

Stefan schrieb:
> Grundlagen in C++ und Python
> gelernt
Beides kannst Du auf kleinen µC eigentlich vergessen.
µC heißt sehr begrenzte Recourcen und kein OS das auf magische Art und 
Weise Dinge passieren lässt.

Werde Dir klar was genau Du tun willst.

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Die AVRs haben auf jeden Fall den Vorteil, dass man sie auch ohne 
Framework oder Hardwareabstraktionsschicht nativ in C programmieren 
kann.
Da lernt man sehr gut, wie man die Hardware über einzelne Register 
anspricht und wo man das im Datenblatt findet.

Der Cytron Maker Pi RP2040 ist sicher sein Geld wert. Wenn rp2040, dann 
würde ich eher einen "normalen" kaufen, dafür aber ein Breadboard und 
ein paar Bauteile dazu legen.

von klausr (Gast)


Lesenswert?

Max M. schrieb:
[Grundlagen in C++ und Python]
> Beides kannst Du auf kleinen µC eigentlich vergessen.

Naja, ich bin ein Fan davon, dass die Lernenden überhaupt mal anfangen 
sich mit µC zu beschäftigen. Mit einem RP2040 Board für 5 € und 
MicroPython ist erstmal ein Einstig geschafft, dies ist im wesentlichen 
auch nichts anderes als z.B. das Basic auf dem 8052AH vor über 30 
Jahren. Später kann man dann natürlich gerne auch in C absteigen, der 
RP2040 bringt da viele Libs mit. Geht man irgend wann mal auf die 
Registerebene, wird es aber anspruchsvoller. Bis der TO auf der 
Registerebene abgekommen ist, dürfte auch die Doku des RP2040 i0n dieser 
Hinsicht besser sein.

von Stefan (Gast)


Lesenswert?

Max M. schrieb:
> Werde Dir klar was genau Du tun willst.
Dafür bin ich hier. :-)

Tilo R. schrieb:
> Wenn rp2040, dann
> würde ich eher einen "normalen" kaufen, dafür aber ein Breadboard und
> ein paar Bauteile dazu legen.
Ein paar Breadboards habe ich sogar noch. Was für Bauteile (außer 
Brücken, LEDs, Widerstände, Elkos etc.) bieten sich noch an? Gibt es ein 
empfehlenswertes Display?

klausr schrieb:
> Mit einem RP2040 Board für 5 € und
> MicroPython ist erstmal ein Einstig geschafft
Ich habe mal gesucht und bei berrybase für 4,10€ das
Raspberry Pi Pico, RP2040 Mikrocontroller-Board
gefunden, sowie für 7,90€ den
Dual GPIO-Expander für Raspberry Pi Pico.

Sind das Board und der Expander miteinander kompatibel? Sehe ich das 
richtig, dass das RP2040-Board dann mit der "Vorderseite" nach unten auf 
dem GPIO-Expander sitzt? Ist das bzgl. Erreichbarkeit des 
Bootsel-Buttons nachteilig?

von 666 (Gast)


Lesenswert?

Stefan schrieb:
> Raspberry Pi Pico

Über den Raspberry Pi Pico gibt es das zu sagen:

Max M. schrieb:
> Ja, ist aber ein Exot.
> Momentan gehyped, single source und doch sehr anders als avr, pic, stm32
> etc.

Zusammenfassung: Ein eher exotischer, gehypter µC, eines Newcommers auf 
dem Markt, der gerade lieferbar und "preiswert" ist...

Stefan schrieb:
> - Sollte ich mich mit Blick auf eventuellen µC-Einsatz später im Beruf
> eher in Richtung Raspberry Pi, Arduino o.ä. orientieren oder ist das
> komplett egal?

Schaue dir bei diesem Ziel lieber die µCs und evaluation/development 
boards von namhaften/etablierten Herstellern an. Im Forum ist vor allem 
STM32 verbreitet, ua. weil ST vor Jahren reihenweise preiswerte 
developement und evaluation boards rausgebracht hat, (zB. STM32 Nucleo). 
Weitere Hersteller von ARM Basierten µCs sind unter anderem NXP 
(LPCXpresso-boards), Microchip, Renesas, Ti, Infineon,...
Wichtig ist, dass dir die Dokumentation des Herstellers und eine 
gepflegte  IDE plus mindestens CMSIS implementierung zur Verfügung 
steht.
Dazu einen Jlink edu (evtl. "mini"-version) oder einfach den 
integrierten Bootloader nutzen.


Oder, für den Einstieg vielleicht besser, um Grundwissen zu sammeln, 
einfach die Tutorials: AVR-Tutorial, AVR-GCC-Tutorial lesen, dir 
einen passenden AVR + Programmer kaufen + Datenblatt runterladen und im 
Atmel/Microchip Studio loslegen.

von W.S. (Gast)


Lesenswert?

Stefan schrieb:
> Fragen:
> - Wie wichtig ist die Wahl des µC-Herstellers im Hinblick auf ...
> - Sollte ich mich mit Blick auf eventuellen µC-Einsatz später im Beruf
> eher in Richtung ...

Deine Fragen klingen wie die von jemandem, der noch nie ein Auto gesehen 
hat und vom Autofahren oder gar den Regeln des Straßenverkehrs noch nie 
etwas gehört hat und der als allererstes fragt "Welche Automarke soll 
ich wählen?"

Es ist mit der Elektronik und speziell mit der digitalen Elektronik und 
noch spezieller mit dem Verwenden und Programmieren von Mikrocontrollern 
genau so wie mit allen ernsthaften Betätigungen: Man muß lernen. Alles 
andere kommt danach. Und das Lernen bedeutet, schlußendlich zu verstehen 
WIE etwas funktioniert - und nicht woher man ein fertiges Stück Programm 
dafür kriegt.

Stefan schrieb:
> ich möchte einen µC "zum Herumspielen und Lernen" nutzen.

Das schließt einander aus: entweder Herumspielen (also Zeit totschlagen 
ohne Mühe zu haben) oder Lernen (also Verstehen um ein gefaßtes Ziel 
erreichen zu können, also sich Mühe geben).

Normalerweise ist es so, daß diejenigen, die sich für etwas 
interessieren, von sich aus sich Mühe geben und lernen. Mir fällt da ein 
alter Jäger-Spruch ein: "Einen Hund, den man zum Jagen tragen muß, 
sollte man erschießen." Das klingt zwar nicht nach Eiapoppeia, ist aber 
im Grunde durchaus realistisch. Also, willst du zum Jagen getragen 
werden oder hast du eine eigene Intention?

W.S.

von c-hater (Gast)


Lesenswert?

666 schrieb:

[RP2040]
> Zusammenfassung: Ein eher exotischer, gehypter µC, eines Newcommers auf
> dem Markt, der gerade lieferbar und "preiswert" ist...

Ja, er ist lieferbar und er ist sogar SEHR preiswert für all seine 
Features.

Im Prinzip ist er in seinem Leistungbereich derzeit sogar völlig 
konkurrenzlos. Ich hoffe, dass das nicht so bleibt...

von Max M. (Gast)


Lesenswert?

c-hater schrieb:
> Ja, er ist lieferbar und er ist sogar SEHR preiswert für all seine
> Features.

Klar ist der lieferbar.
Der ist ja so neu und so anders das der noch lange nicht in 
kommerziellen Projekten verwendet wird.
Da zähle ich jetzt mal nicht die zahllosen Maker Boards zu.

Natürlich macht man den billig und verschleudert geradezu die Boards.
Das hat bei STM doch auch dazu geführt das die überall eingesetzt 
wurden.

Ich finde die Doku im Hipster Speech aber fragwürdig und im Detail dann 
oft sehr dünn.
Als Spaß MCU ein schickes Teil, wie schon der Parallax Propeller.
Wir werden sehen wohin sich der entwickelt.

Der TO wollte wissen was er im Job später einsetzen kann.
Der RP2040 ist es nicht.
AVR, STM32 und auch PIC sind da stark im MCU Bereich.
Der RP2040 ist ein ambitioniertes Projekt der Raspi Leute die irgendwas 
zwischen einem fetten Anwendungsprozessor für Linux und einer billigen, 
sparsamen MCU zwischen STM32 und ESP.

Ein M0+ Dualcore System mit den 8 nur in ASM programmierbaren PIOs ist 
ein geiles Spielzeug. Aber als totaler NOOB damit beginnen?
Ich weiß ja nicht...
Nicht mal der TO weiß ja wie weit unten er eigentlich anfangen will.
Ich würde mit einem langweiligen 8bitter beginnen den man noch sehr gut 
verstehen kann und mich dann weiterentwickeln.

Wie gut das RP2040 Design in industriellen Anwendungen funzt wird man 
erst sehen müssen.
20mm² Chipfläche im TSMC 40nm Node ist kein Pappenstiel und wenn der 
Chip erst in großen Stückzahlen nachgefragt wird, wird der Preis ganz 
empfindlich anziehen.

von c-hater (Gast)


Lesenswert?

Max M. schrieb:

> Der ist ja so neu und so anders das der noch lange nicht in
> kommerziellen Projekten verwendet wird.

Doch, wird er. Bei uns derzeit schon in zwei Produkten. Bei einigen 
weiteren ist der Port in Arbeit.

> Ein M0+ Dualcore System mit den 8 nur in ASM programmierbaren PIOs ist
> ein geiles Spielzeug. Aber als totaler NOOB damit beginnen?
> Ich weiß ja nicht...

Man muss ja nicht mit den PIOs beginnen. Die sind doch nur das 
Sahnehäubchen, was den Anwendungbereich gegenüber einem generischen 
M0+-2Kerner deutlich erweitert. Wie übrigens auch der RAM-Speicher von 
256kByte, der allerdings ohne jegliche Asm-Ausflüge und ohne 
handverfasste Linker-Scripte unmittelbar und problemlos verfügbar ist...

von Stefan (Gast)


Lesenswert?

W.S. schrieb:

> Stefan schrieb:
>> ich möchte einen µC "zum Herumspielen und Lernen" nutzen.
> Das schließt einander aus:

Finde ich nicht. "Spielen" bedeutet für mich, etwas mit zu tun, das mir 
Spaß macht, und einfach mal auszuprobieren. So wie mit meiner ersten 
Modellbahn, meiner ersten Kamera und so weiter. Da hatte ich auch 
erstmal nur einen Trafo mit 2 Drähten zum Gleis bzw. Einschalter und 
Auslöser und habe erstmal angefangen. Okay, bei der MoBa hatte ich im 
Eifer des Gefechts aus der Sammlung vom Dachboden zuerst ein 
Entkupplungsgleis statt eines Anschlussgleises angeschlossen 
("brrrrrrrrrrrrrrrrrt"). Try and Error. Beim Anschluss des 2. Trafos 
habe ich dann gelernt, auf die Polung des Netzsteckers zu achten wenn 
ich die Masseanschlüsse verbinde und dass ein alter Primex-Trafo aus 
1980 auch rücktransformieren kann, wenn der Schleifer einer Lok die 
PuKos zweier isolierter Stromkreise verbindet.

Anders als bei MoBa und Kamera "sieht" man das Ergebnis beim µC nicht so 
"sofort". Daher hielt ich es für eine gute Idee, hier mal nachzufragen 
(und habe schon viel nützliche Info mitbekommen, Danke!).

> Also, willst du zum Jagen getragen
> werden oder hast du eine eigene Intention?

Hmm. Aktuell habe ich 0 Ahnung von µC. Möchte damit kleine Projekte 
(siehe oben) realisieren, vielleicht auch später mal etwas 
Echtzeit-basiertes machen. Nach Möglichkeit meine Zeit nicht mit einem 
längst überholten System verschwenden, für das ich viel nutzloses 
Wissen anhäufen muss, das später im Beruf als Elektroingenieur eh keiner 
mehr braucht.

Auf die Fotografie übertragen: Ich habe zwar noch keine Ahnung, wie man 
Blende, Belichtungszeit, Brennweite und Sensorgröße optimal nutzt, aber 
ich möchte nicht als erstes damit starten, einen analogen Film in S/W zu 
entwickeln. Auch wenn man das wohl irgendwie gebrauchen kann.
Auf der anderen Seite will ich natürlich nicht mit dem Handy knipsen, 
obwohl selbst damit tolle Bilder möglich sind. Nun gibt es verschiedene 
Vorschläge... der RP2040 scheint so etwas wie eine Bridge-Kamera mit 
fest verschraubtem Objektiv zu sein und AVR, STM32 und PIC sowas wie 
Canon, Nikon und Sony mit Wechselobjektiven.
Zum Lernen von manuellen Einstellmöglichkeiten ist wohl alles 
gleichermaßen geeignet und ich habe mal wieder die typische 
"rot"-oder-"gelb"-Diskussion (Farbe des Kameragurts) losgetreten.

Fazit: Ein Entwicklerboard gibt es wohl schon für 5€-15€, also nichts 
was mir weh tut. Schon mal viel besser als die 70€, die ich im 
Eröffnungsbeitrag im Sinn hatte.
Beim Board sollte ich wohl darauf achten, dass die Anschlüsse irgendwie 
steckbar sind, da ich keine Lust habe, alles zu löten (vgl. analoger 
SW-Film)?
Die Hinweise, zu welchen µC es vernünftige Dokumentationen gibt, sind 
für mich sehr nützlich.

Nun schwanke ich zwischen dem RP2040, dem STM32 Nucleo und einem AVR.
Mir geht es hier eigentlich nur darum, mir eine sinnvolle Teileliste 
zusammenzustellen, um nicht in 2 Wochen irgendwas nachbestellen zu 
müssen und dann nochmal 6€ Porto zu zahlen.

Vor Assembler / Registeradressierung etc. habe ich keine Angst, würde 
auch das AVR-Tutorial hier im Forum einfach durcharbeiten, wenn das zum 
Verständnis am sinnvollsten ist.
Wenn mir jemand sagt, dass das heute in 50% der Fälle so unnötig wie 
analoge Filmentwicklung ist und man wenigstens in C oder Micropython 
starten sollte, dann würde ich mir das sparen. Und wenn es für ein paar 
"Erfolgserlebnisse" von Vorteil ist, erstmal in C zu beginnen und später 
in Assembler einzusteigen - gerne.

Meine Frage bzgl. RP2040 und GPIO-Expander konnte ich mir inzwischen 
beantworten (ist kompatibel).

Wenn die Wahl zwischen dem RP2040, dem STM32 mit Nucleo und einem AVR 
nur der Wahl zwischen Canon, Nikon und Sony oder der Wahl zwischen rot, 
gelb und grün entspricht und man am Ende - sofern man es mal beruflich 
nutzt - so einfach umsteigen kann wie von Märklin zu Roco, dann brauche 
ich mit dem Entscheidungsprozess keine Zeit verlieren. Dann probiere ich 
einfach erstmal den RP2040 aus und sehe danach weiter.

Ohnehin wäre wohl der größte Fehler, einfach nichts zu tun. :-D

von W.S. (Gast)


Lesenswert?

Stefan schrieb:
> Hmm. Aktuell habe ich 0 Ahnung von µC. Möchte damit kleine Projekte
> (siehe oben) realisieren, vielleicht auch später mal etwas
> Echtzeit-basiertes machen. Nach Möglichkeit meine Zeit nicht mit einem
> längst überholten System verschwenden, für das ich viel nutzloses
> Wissen anhäufen muss, das später im Beruf als Elektroingenieur eh keiner
> mehr braucht.

Hmm... ich denke, du hast da noch recht seltsame Vorstellungen. Das 
Entwerfen/Konstruieren/Bauen mit Mikrocontrollern braucht 
Grundlagenwissen - sowohl auf der rein elektronischen Seite als auch auf 
der Programmierseite. Und solche Termini wie "längst überholte Systeme" 
und "nutzloses Wissen" klingen nicht nur fischig, sondern sind es auch. 
Man will ja kein angelernter Bediener sein für eine bestimmte Maschine, 
der auf eben diese Maschine gedrillt wurde.

Ich hatte hier schon mal gewitzelt mit "Ingenieur für STM32F1xx" versus 
"Ingenieur für STM32F3xx", die sich 'grundlegend' unterscheiden...

Nein, so nicht. Eigentlich mit allen Produkten kann man etwas basteln 
und man kann (und muß) auch bei Verwendung von allen Produkten 
Grundlagenwissen sich aneignen, also solches Wissen, was eben nicht 
spezifisch ist für einen speziellen Chip. Also Herangehensweisen und 
Algorithmen auf der Programmierseite und Schaltungstechnik und 
Funktionalitäten auf der elektronischen Seite.

Allerdings sehe ich, daß man gerade am Anfang, wenn man noch nix weiß 
und kann, eher zu kleineren und überschaubareren Bauteilen greifen 
sollte und solche Dinger, die eine Flut von Peripherie und Funktionsmodi 
auf dem Chip haben oder die gar so komplex sind, daß sie nur mit einem 
Betriebssystem benutzbar sind, erst später ansehen, wenn man bereits 
sehr viel mehr weiß und sich dann mit sowas befassen will. 
Vorausgesetzt, die eigenen Interessen gehen genau in diese Richtung.

Stefan schrieb:
> Nun schwanke ich zwischen dem RP2040, dem STM32 Nucleo und einem AVR.

An solchen Stellen sehe ich, daß man von diesem Forum auch mal 
fehlgeleitet werden kann. Das ist kein böser Wille bei denen, die dir 
sowas vorschlagen, aber es bringt dich in eine falsche Richtung.

Mache es anders: Suche dir eine Architektur heraus, die nicht allzu 
kompliziert ist, schau dich um, was man da braucht, um solche Chips zu 
programmieren (also den selbsterdachten Maschinencode in den Speicher 
des Chips zu kriegen) und wie kompliziert das ist. Dann schau dich um, 
was man zum Machen der eigenen Programme alles braucht - also in 
neudeutsch die Toolchain - und wie einfach oder kompliziert das zu 
benutzen ist. Und laß dich nicht dabei verleiten von Aussagen wie "kann 
ohne alles direkt am USB programmiert werden" oder so. Ja, es gibt 
sowas, aber das hat andere Haken. Und wenn Programmiergeschirre und/oder 
Toolchain zu hakelig oder zu teuer oder sonstwie dir unsympathisch sind, 
dann schau dich um, ob es da etwas anderes gibt, was dir eher zusagt. 
Notfalls fange mit einem anderen Chip an. Das war nur die 
Programmierseite. Schau dich auch erst mal um, wie man den Chip deiner 
Wahl auf eine Leiterplatte kriegt, was der für eine Versorgung, Takt 
usw. braucht und ob dir dessen Referenzmanual zusagt. Versteife dich 
nicht auf fertige Eval- oder Demo-Boards der Hersteller, sondern entwirf 
dir deine eigene Leiterplatte - mit passender Beschaltung für Takt, 
Reset, Versorgung, Programmierung. Die mußt du nicht als Allererstes 
selber bauen, aber entwerfen. Damit kriegst du mit, ob und wie 
kompliziert oder leicht das bei dem gewählten Chip geht. Das wäre der 
allererste Anfang auf der elektronischen Seite.
Und dann, wenn dir beide Seiten (Elektronik und Programmierung) zusagen, 
ja dann ist der passende Chip gefunden. Nicht vorher.

W.S.

von Stefan (Gast)


Lesenswert?

W.S. schrieb:
> Hmm... ich denke, du hast da noch recht seltsame Vorstellungen.
Aha.

W.S. schrieb:
> Und solche Termini wie "längst überholte Systeme"
> und "nutzloses Wissen" klingen nicht nur fischig, sondern sind es auch.
Aha. Also ist ein TI TMS 1000 auch noch zeitgemäß und am besten sollte 
ich ihn in Maschinencode programmieren, um möglichst viel zu lernen?

W.S. schrieb:
> Suche dir eine Architektur heraus, die nicht allzu
> kompliziert ist, schau dich um, was man da braucht, um solche Chips zu
> programmieren (also den selbsterdachten Maschinencode in den Speicher
> des Chips zu kriegen) und wie kompliziert das ist.
55
48 89 E5
C7 45 FC 01

W.S. schrieb:
> Und laß dich nicht dabei verleiten von Aussagen wie "kann
> ohne alles direkt am USB programmiert werden" oder so. Ja, es gibt
> sowas, aber das hat andere Haken.
Welche?

W.S. schrieb:
> dann schau dich um, ob es da etwas anderes gibt, was dir eher zusagt.
Ohne das eine zu kennen, soll ich nach dem anderen suchen?

W.S. schrieb:
> Schau dich auch erst mal um, wie man den Chip deiner
> Wahl auf eine Leiterplatte kriegt, was der für eine Versorgung, Takt
Für die Wahl des Chips hatte ich den Thread eröffnet und auf ein 
Breadboard
oder einen Expander kriege ich ihn auch gerade noch gesteckt. 
Versorgungsspannung und Takt finde ich im Datenblatt.

W.S. schrieb:
> Und dann, wenn dir beide Seiten (Elektronik und Programmierung) zusagen,
> ja dann ist der passende Chip gefunden. Nicht vorher.
Zu Anfang des Posts stand, so wie ich es verstanden habe, der Chip sei 
weitestgehend egal. Oder nicht?

Danke für die philosophische Beleuchtung des Themas. Ich werde dann mal 
Google nutzen.

von W.S. (Gast)


Lesenswert?

Stefan schrieb:
> Aha. Also ist ein TI TMS 1000 auch noch zeitgemäß und am besten sollte
> ich ihn in Maschinencode programmieren, um möglichst viel zu lernen?

Irgendwie habe ich bei dir den Eindruck, daß du keinen Rat, sondern Zoff 
suchst.

Also, ich geb dir mal ein anderes Beispiel: sowohl von Nuvoton als auch 
von WCH gibt es relativ neue Controller mit einer 8051 Architektur drin. 
Aber nicht die damalige CPU von Intel, sondern eine 1 Takt CPU, die man 
mit 16 oder 24 MHz takten kann. Das ist von der CPU her eine 40 jährige 
Plattform, aber es sind neue Chips, die auch heute noch gute Dienste 
leisten können. Es baut ja nicht jeder Bastler eine Mondrakete sondern 
oftmals eher dezentere Projekte für die so ein Controller ausreicht. 
Nicht für alles braucht man den dicksten und teuersten Chip.

Stefan schrieb:
> Zu Anfang des Posts stand, so wie ich es verstanden habe, der Chip sei
> weitestgehend egal. Oder nicht?

Nein. Du wolltes dich auf RP2040, einer Leiterplatte mit einem STM32 
oder einen AVR konzentrieren. Jedenfalls hast du das geschrieben. Dazu 
auch, daß du auf dem Wissens-Stand 0 bist, dich aber voraussichtlich 
nicht vor Assembler-Programmierung fürchtest.

Stefan schrieb:
> und auf ein Breadboard
> oder einen Expander kriege ich ihn auch gerade noch gesteckt.

Das ist eine Fehleinschätzung deinerseits. Die meisten µC gibt es nicht 
mehr im DIL-Gehäuse. Da ist nix mehr mit Steckbrett und Konsorten, 
sondern man macht sich eine passende Leiterplatte dazu, wo sowas dann 
draufgelötet wird.

W.S.

von STK500-Besitzer (Gast)


Lesenswert?

W.S. schrieb:
> Das ist eine Fehleinschätzung deinerseits. Die meisten µC gibt es nicht
> mehr im DIL-Gehäuse.

Den RP2040 gibt es auf einer Platine (mit Quarz etc), die dem 
DIL-Rastermaß entspricht.
Dann gibt es diverse Controllerboards, die das Arduino-Uno-Kontaktformat 
untrstützen (z.B. diverse STM-NUCLEOs).
AVR gibt es immer noch im DIL-Gehäuse.
Ansonsten gibt es Adapterplatinen...


W.S. schrieb:
> Da ist nix mehr mit Steckbrett und Konsorten,
> sondern man macht sich eine passende Leiterplatte dazu, wo sowas dann
> draufgelötet wird.

Das haben diverse Firmen schon erledigt und sich auch an Standards 
gehalten (s.o.).

von DJR (Gast)


Lesenswert?

Du könntest Dir auch mal die diversen Lernkits anschauen, die es so 
gibt. Da ist die Einstiegshürde niedrig, die Preise sind meist 
vertretbar, und Du kannst erstmal schauen ob Du Spaß an dem Thema hast 
oder nicht. Und falls ja wirst Du dann genug gelernt und gemacht haben 
um zu wissen in welche Richtung Du als nächstes willst.

Ein aktuelles Beispiel wäre BOB3 (gibt's bei Reichelt). Ich hatte früher 
mal den Asuro vom DLR, auch ein sehr schönes Teil. Gibt's vielleicht 
noch bei ebay. Oder Du schaust bei Franzis nach Lernpaketen, die hatten 
auch mal was zu Mikrocontrollern. Meines Erachtens ists auch egal wenn 
die Sachen ein paar Jahre älter sind, für den ersten Einstieg reicht das 
locker.

von DJR (Gast)


Lesenswert?

Ach, um mal auf die Frage einzugehen:

Stefan schrieb:
> Wie wichtig sind Speicher und Leistung?

Aus meiner Sicht erstmal komplett nachrangig. Um ein Display und GPIOs 
anzusteuern oder ein paar Buttons abzufragen oder ADCs auszulesen bist 
Du mit 8 MHz Taktfrequenz, 32 kB Programmspeicher und ein paar hundert 
Bytes RAM schon mehr als reichlich ausgestattet.
Viel wichtiger ist gute Dokumentation und eine breite Nutzerbasis, um 
auf viele Fragen eine Antwort zu bekommen. Deswegen sind z.B. AVRs oder 
PICs sicher eine gute Wahl.

von W.S. (Gast)


Lesenswert?

DJR schrieb:
> Um ein Display und GPIOs
> anzusteuern oder ein paar Buttons abzufragen oder ADCs auszulesen bist
> Du mit 8 MHz Taktfrequenz, 32 kB Programmspeicher und ein paar hundert
> Bytes RAM schon mehr als reichlich ausgestattet.

Das ist tatsächlich mehr als reichlich. Wenn ich mal nach einer 
Grundausstattung für den STM32F103 schaue, die ich hier mal gepostet 
hatte, dann sehe ich, daß 11.5 K an ROM dafür ausreichen. Und da hat es 
bereits ein Kommandoprogramm drin, ebenso USB und Serielle, Systemuhr, 
Eventhandling und Konvertierungen. Das ständige Schreien nach noch mehr 
Flash ist oft genug komplett übrtrieben.

W.S.

von W.S. (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> Den RP2040 gibt es auf einer Platine (mit Quarz etc), die dem
> DIL-Rastermaß entspricht.
> Dann gibt es diverse Controllerboards, die das Arduino-Uno-Kontaktformat
> untrstützen (z.B. diverse STM-NUCLEOs).
> AVR gibt es immer noch im DIL-Gehäuse.
> Ansonsten gibt es Adapterplatinen...

Ich frage mich, warum bloß alle Programmier-Eleven eine derartige Scheu 
haben, sich für den Käfer ihrer Wahl selbst eine Leiterplatte zu 
machen. Als ob das Hexenwerk und Teufelszeug wäre.

Man muß dazu immer bedenken, daß ein µC ohne irgendwas drumherum so 
ähnlich ist wie ein auf dem Rücken liegender Käfer: mit den Beinen in 
der Luft herumhampeln ohne etwas damit bewirken zu können. Und wenn man 
dann einsieht, daß man nicht nur mit dem Portpin wackeln muß, sondern 
auch was dran anschließen, dann wird von Steckbrett oder Streifen-LP 
gefaselt. So kommt man aus der unakademischen Probierphase nie heraus.

W.S.

von J. S. (jojos)


Lesenswert?

W.S. schrieb:
> sich für den Käfer ihrer Wahl selbst eine Leiterplatte zu
> machen. Als ob das Hexenwerk und Teufelszeug wäre.

Man hat noch keine funktionierende Software aber fängt lieber gleich mit 
weiteren Baustellen an: in ein EDA einarbeiten, die richtigen Bauteile 
finden, vielleicht noch gleich die Platinen selber ätzen...

Wie kann man Anfängern nur sowas empfehlen?

von 666 (Gast)


Lesenswert?

Stefan schrieb:
> Vor Assembler / Registeradressierung etc. habe ich keine Angst, würde
> auch das AVR-Tutorial hier im Forum einfach durcharbeiten, wenn das zum
> Verständnis am sinnvollsten ist.
> Wenn mir jemand sagt, dass das heute in 50% der Fälle so unnötig wie
> analoge Filmentwicklung ist und man wenigstens in C oder Micropython
> starten sollte, dann würde ich mir das sparen.

Das AVR-Tutorial enthält wichtige Infos, die nicht im 
AVR-GCC-Tutorial stehen/standen. ASM benötigst du eigentlich nur in 
Sonderfällen und meistens reichen dann ein paar Zeilen inline ASM. Auf 
uCs ist C heute (immernoch) die Sprache der Wahl. In Kombination mit zB. 
den Bibliotheken des Herstellers. Diese enthalten neben vielen anderen 
wichtigen Funktionen ua. Registerdefinitionen. Avr-libc 
(Register-/Bitnamen stimmen immer mit den Datenblättern überein) oder 
CMSIS (Arm). Für manche uCs stehen auch HALs zur Verfügung.

Die Grundlagen sind wichtig. Zum Beispiel Datenblätter, Manuals und 
Appnotes lesen und verstehen lernen. Dazu benötigst du keinen uC, der 
besonders leistungsfähig ist, sondern einen, der gut/verständlich 
dokumentiert ist. Außerdem bietet sich bare metall an, also keine 
Frameworks/HALs,etc. Registerdefinitionen und C sind aber ok.

Meine Erfahrung: Ich habe vor Urzeiten als Schüler einfach ein paar 
Atmegas, Spannungswandler, Quarzoszillator, LEDs, usb-uart-Adapter, 
Steckbrett und avrispmk2 (original) bestellt und losgelegt. War mit dem 
avr-studio (Nachfolger: Atmel-Studio, umbenannt in Mikrochip-Studio) 
relativ straight forward und wirklich einfach, obwohl ich weniger 
Vorkenntnisse hatte als du. Allerdings habe ich über Wochen wirklich 
alles zum Thema gelesen, was ich online finden konnte. War damals 
deutlich weniger. Vor allem gab es die Arduiono-Fraktion noch nicht in 
dem Umfang.
Mein Hauptnachschlagewerk war das AVR-GCC-Tutorial. Die Community 
und gute Tutorials (dieses Forum hatte damals noch eine höhere Qualität) 
waren damals ausschlaggebend für meine Entscheidung für AVR. Bis heute 
nehme ich gerne AVRs (nicht die Neuen) für einfache, schnelle Projekte, 
proof of concepts, Tests, wenn die Leistung/Features eines ARMs mit 
seinem dicken Manual nicht notwendig ist.

von Otto (Gast)


Lesenswert?

> mit 8 MHz Taktfrequenz, 32 kB Programmspeicher und ein paar hundert
> Bytes RAM schon mehr als reichlich ausgestattet

Fuer sehr viele Dinge braucht man so viel nicht mal, wenn ein
Controller nur eine Handvoll eben nichtprogrammierbarer ICs
ersetzen soll.

Mit dem TMS1000 als Kern, sind sehr sehr viele auch heute noch
nuetzliche Geraete aufgebaut worden. Nur ist das "Entwickeln"
damit auch heute nicht wesentlich einfacher geworden.
Von einer praktischen Umsetzung mal ganz abgesehen.

Der Anfaenger ist gut beraten, mit dem allerkleinsten und
einfachsten anzufangen. So ein Doppel-M0+ wuerde ich da nicht
dazu zaehlen. Das verkommt dann wieder zur µPython-Frickelei
ohne wirklichen Lerneffekt bzgl. der darunter liegenden
Technologie als solcher.

Als bzgl. des Lernaufwandes niederschwellige Einstiege wuerde
ich die 8052er, Microchip/Atmel AVR oder Microchip 8-bit PICs sehen.
Wenn er Spass am bauen hat, kann er sich auch einen Z80 nebst
etwas Peripherie auf einer Lochrasterkarte zusammenloeten.

Alles was "Arduino" im Namen traegt, ist fuer den Lernenden wegen
der vorhandenen Abstraktionsschichten mit Vorsicht zu geniessen.
Als Elektroniker ist man auch nicht die Zielgruppe dafuer.
Damit praktische Probleme zu loesen, verhilft eben nur zu
Kenntnissen das Problem mit "Arduino" geloest zu haben
und ist von einer dem Elektroniker moeglichen besseren Loesung
recht weit entfernt.

Gegen Assembler als Einstiegssprache laesst sich auch wenig sagen.
Wenn man wie oben geschrieben, nur eine Handvoll ICs mit einem
eben programmierbaren Controller ersetzen will, faellt der Umfang
ja auch eher klein aus.
Bei spaeteren groesseren Projekten wird sich dann von ganz alleine
der Wunsch nach etwas "Hilfe" einstellen.

von Ulf (Gast)


Lesenswert?

Stefan schrieb:
> Nun hat Conrad den Radxa RS114+B2E16 Rock 4 B+ 2 GB 2.0 GHz gerade
> günstig im Angebot, der mit knapp 70€ gut in mein Budget (möglichst
> nicht mehr als 100€) passt.

Eigentlich so ziemlich das allerletzte Argument für/gegen den Einstieg 
mit einem Controller.

> Was kann ich an Mehrwert bekommen, was der Radxa RS114 nicht hat?

In Deiner Lage, zum Spielen und Lernen, möglichst ein einfacher 
Einstieg!
Soll der von grundauf gelingen nimmt man dazu etwas möglichst: 
Einfaches!
Dafür ist und bleibt ein 8-Bit Controller wie der AVR ideal.

von dB (Gast)


Lesenswert?

> Mehrwert

Ein Controller in einer Schaltung hat keinen Mehrwert.
Man koennte ihn durch eine Anzahl konventioneller Bauteile
ganz einfach ersetzen.
Das muessen die, die mit einem Controller nicht umgehen koennen
sowieso tun.
Man beachte aber den Unterschied zwischen:
1 Controller und
Anzahl konventioneller Bauelemente.

Mach dich mal frei von solchen hirnrissigen Fragen.

Und ein "Radxa" loest keine Probleme. Er schafft nur welche.

von STK500-Besitzer (Gast)


Lesenswert?

J. S. schrieb:
> Wie kann man Anfängern nur sowas empfehlen?

W.S. ist halt schon als Meister vom Himmel gefallen.

von W.S. (Gast)


Lesenswert?

J. S. schrieb:
> Man hat noch keine funktionierende Software aber fängt lieber gleich mit
> weiteren Baustellen an: in ein EDA einarbeiten, die richtigen Bauteile
> finden, vielleicht noch gleich die Platinen selber ätzen...
>
> Wie kann man Anfängern nur sowas empfehlen?

Man hat auch noch keine funktionierende Hardware - und sage du jetzt 
nicht, eine LP mit Lötanschlüssen für die Pins des µC sei so etwas.

Aber um zu lernen, mit all dem umzugehen, braucht es eben auch alles und 
man muß lernen, sich sowohl auf der schaltungstechnischen Seite als auch 
auf der programmiertechnischen Seite zurechtzufinden.

Von daher ist es genau DER richtige Weg, wenn man sich in das Gebiet 
einarbeiten will. Alles andere wären Holzwege, die zum "Ingenieur für 
Programmschreiben für den RS114" oder so ähnlich führen. Also zur 
Einseitigkeit.

Eben deshalb empfehle ich, von Anfang an beide Seiten zu erlernen.

W.S.

von W.S. (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> W.S. ist halt schon als Meister vom Himmel gefallen.

Du willst schon wieder mal stänkern, ohne dem TO eine Hilfe zu sein. 
Naja, als Meister fällt man zwar nicht vom Himmel, aber man kann sich 
durch eigene aktive Betätigung dahin bringen. Nicht dadurch, daß man 
anderen ein Loch in den Bauch fragt, sondern dadurch, daß man die 
Grundlagen, Prinzipien und so weiter sich selbst erarbeitet. Also 
Lesen, und zwar viel und dabei denken.

So herum geht das. Die heutige Neigung, sich daran zu orientieren, wo es 
eine möglichst große 'Community' gibt, hat da eher Ähnlichkeit mit einer 
Schafsherde. 'Mäh', sozusagen.

W.S.

von J. S. (jojos)


Lesenswert?

natürlich ist es sinnvoll auch die Hardwareseite zu verstehen und mal 
ein eigenes Board zu entwerfen anstatt nur Module mit Drähten zu 
verbinden. Aber es geht darum das es insgesamt sehr viel Wissen ist was 
man da benötigt, auch wenn es von dir immer als so trivial dargestellt 
wird. Wenn man weiss wie etwas geht, dann ist alles trivial. Und das 
kann man nicht alles auf einmal lernen, irgendwie blendest da gerade 20 
Jahre deines Lebens aus. Oder du bist doch als Chuck Norris vom Himmel 
gefallen.

von W.S. (Gast)


Lesenswert?

J. S. schrieb:
> Aber es geht darum das es insgesamt sehr viel Wissen ist was
> man da benötigt, auch wenn es von dir immer als so trivial dargestellt
> wird.

Alles im Leben ist immer 'sehr viel Wissen', wenn man bei 0 anfängt. 
Aber es ist notwendig, um eben kein einseitiger Spezial-Dingsda zu 
werden. Ich stelle sowas auch nicht als trivial dar, sondern lediglich 
so kompakt wie möglich. Allerdings setze ich einiges voraus, nämlich 
eine ordentliche Schulbildung und eigenes Denkvermögen und das, was man 
allgemein als 'gesunden Menschenverstand' bezeichnet und soviel eigenes 
Interesse, daß man sich aus eigenem Antriebe ans Lernen macht.

W.S.

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.