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.
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.
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.
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?
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.
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.
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.
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?
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.
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.
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...
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.
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...
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
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.
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.
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.
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.).
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.
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.
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.
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.
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?
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.
> 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.
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.
> 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.
J. S. schrieb: > Wie kann man Anfängern nur sowas empfehlen? W.S. ist halt schon als Meister vom Himmel gefallen.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.