Forum: Mikrocontroller und Digitale Elektronik ATmega Development Boards (Sind die OK?)


von Peter King (Gast)


Lesenswert?

Hallo,

ich schaue mich gerade nach Development Boards für den ATmega um.

In China bin ich auf diese hier gestoßen. Sie gefallen mir sehr, aber 
ich finde sie leider nicht zum kaufen in DE oder EU.

Lohnt der Import oder taugen die nichts?

Hier eine Auswahl, die mir ins Auge fiel...

ATmega8

https://www.aliexpress.com/item/1PCS-AVR-Development-Board-ATmega8-Development-Board-Minimum-System-Board-Core-Board-Learning-Board/32788882409.html?spm=2114.search0104.3.65.1f8c2b70lMOVAg&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711212_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_10621_10620_5722415_5711313,searchweb201603_41,ppcSwitch_5&algo_expid=9300ac5e-51c8-4974-8c79-728b39f3f2a0-9&algo_pvid=9300ac5e-51c8-4974-8c79-728b39f3f2a0&transAbTest=ae803_3&priceBeautifyAB=0

ATmega16

https://www.aliexpress.com/item/free-shipping-ATMEGA16-Development-Board-Minimum-System-Core-Board-AVR-Development-Board/2002119530.html?spm=2114.search0104.3.29.4135108eZrucGf&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711212_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_10621_10620_5722415_5711313,searchweb201603_41,ppcSwitch_5&algo_expid=3d24636e-b867-4367-a88b-bffca4c669d0-4&algo_pvid=3d24636e-b867-4367-a88b-bffca4c669d0&transAbTest=ae803_3&priceBeautifyAB=0

ATmega32

https://www.aliexpress.com/item/Development-Board-core-board-for-Atmega32-Mega32-AVR-free-shipping-1PCS/32707479192.html?spm=2114.search0104.3.8.569f74bflQLLUJ&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_10180_5711215_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415-10152_10151,searchweb201603_41,ppcSwitch_5&algo_expid=89609d06-eea7-4151-be20-e4982b6987ad-1&algo_pvid=89609d06-eea7-4151-be20-e4982b6987ad&transAbTest=ae803_3&priceBeautifyAB=0

und

https://www.aliexpress.com/item/Free-shipping-ATMEGA32-Minimum-system-board-avr-core-board-Development-Board/32821824799.html?spm=2114.search0104.3.112.569f74bflQLLUJ&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_10180_5711215_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=89609d06-eea7-4151-be20-e4982b6987ad-17&algo_pvid=89609d06-eea7-4151-be20-e4982b6987ad&transAbTest=ae803_3&priceBeautifyAB=0

ATmega64

https://www.aliexpress.com/item/Atmega64-development-board-avr-development-board-learning-board-core-board-Free-Shipping/2002213194.html?spm=2114.search0104.3.1.5fd05eackCDt7i&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_10180_5711215_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=f8437135-25d5-4f6e-8eb0-3428067f829a-0&algo_pvid=f8437135-25d5-4f6e-8eb0-3428067f829a&transAbTest=ae803_3&priceBeautifyAB=0

und (gut ausgestattet)

https://www.aliexpress.com/item/ATmega64A-AU-ATmega64A-mega64-AVR-Development-Board-Starter-Kit-All-I-O-Expander/473077454.html?spm=2114.search0104.3.8.5fd05eackCDt7i&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_10180_5711215_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=f8437135-25d5-4f6e-8eb0-3428067f829a-1&algo_pvid=f8437135-25d5-4f6e-8eb0-3428067f829a&transAbTest=ae803_3&priceBeautifyAB=0

ATmega128

https://www.aliexpress.com/item/AVR-ATmega128A-Development-Board-Learning-Board-the-Minimum-System-Core-Board/32802401668.html?spm=2114.search0104.3.15.689669f3GUQXPo&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711212_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f-2&algo_pvid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f&transAbTest=ae803_3&priceBeautifyAB=0

und (mit super Ausstattung)

https://www.aliexpress.com/item/Red-crown-Specials-AVR-development-board-ATMEGA128-learning-board-experiment-board-super-cost-effective/716353075.html?spm=2114.search0104.3.22.689669f3GUQXPo&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711212_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f-3&algo_pvid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f&transAbTest=ae803_3&priceBeautifyAB=0

Was ist Eure Meinung dazu?

Natürlich würde ich noch welche mit dem ZIF-Sockel kaufen. Aber die oben 
genannten eignen sich doch gut für den Anfang und sind vom Preis auch 
akzeptabel.

Grüße
Peter

von Stefan F. (Gast)


Lesenswert?

Ich bin ja eher ein freund von relativ nackten Boards. Da kann ich mir 
selbst das drumherum bauen, was ich brauche.

Mir kommen die Boards alle ziemlich teuer vor. Außerdem hast Du dir da 
ziemlich alte AVR Modelle ausgesucht, die wurden alle längst durch 
bessere, billigere und weitgehend kompatible Modelle abgelöst.

Vergleiche mal mit diesem:

https://de.aliexpress.com/item/Free-Shipping-atmega328P-Nano-3-0-Controller-Board-Compatible-with-Arduino-Nano-CH340-USB-Driver/32695190853.html

Oder dem, falls es ein sehr viel Leistungs-stärkerer 32bit Controller 
zum selben Preis sein darf:

https://de.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduino/32326304541.html

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


Lesenswert?

Bist du denn sicher, das du die einmaligen 64 Euro für ein STK500 nicht 
ausgeben möchtest? Dann hast du ein Entwicklungs- und Programmierboard 
für so gut wie alle AVRs, sowie beste Dokumentation und Unterstützung 
durch Software.
http://www.microchip.com/developmenttools/productdetails.aspx?partno=atstk500

von René F. (Gast)


Lesenswert?

Ich würde ein Arduino Board nehmen, dafür brauchst du keinen Programmer 
und hast eine serielle Schnittstelle zu deinem Rechner, du bist ja nicht 
verpflichtet die Arduino IDE zu verwenden.

von Stefan F. (Gast)


Lesenswert?

Für verhältnismäßig geringen Preis bekommt man solche Einsteiher Kits 
mit unterschiedlichem Umfang: 
https://de.aliexpress.com/item/Arduino-Starter-Kit-for-arduino-Uno-R3-9G-Server-arduino-sensor-1602-LCD-jumper-Wire-UNO/32808269674.html

Da hast du dann auch einen AVR und eine Menge Peripherie zum 
ausprobieren.

von Timmo H. (masterfx)


Lesenswert?

René F. schrieb:
> Ich würde ein Arduino Board nehmen, dafür brauchst du keinen Programmer
> und hast eine serielle Schnittstelle zu deinem Rechner, du bist ja nicht
> verpflichtet die Arduino IDE zu verwenden.
Einmal das, und die Arduino Boards in allen Varianten sind viiiieeel 
günstiger.

von Peter King (Gast)


Lesenswert?

Ich habe mir schon überlegt, ob für mich nicht ein auf Breadboard 
steckbare Dev Board mit ZIF-Sockel reicht.

@Stefan:

Welche ATmega und ATtiny Modell sind denn aktuell? Ich finde das nicht 
heraus. Habe schon viel gegoogelt aber finde zu dieser Frage schlicht 
nichts.

Den von Dir genannten Nano und Cortex habe ich hier da. Aber das sind 
Arduinos. Ich wollte was, was ich mit ISP oder JTAG programmieren kann.

Oder werden die Arduinos mit dem USB-Port irgendwie "anders" verwendet, 
um sie direkt zu programmieren, wie einen ATmega? Ich wollte den Arduino 
Bootloader und en Arduino Overhead nicht haben, sondern direkt auf 
ATtiny und ATmega arbeiten.

@Matthias:

Hat der STK500 einen JTAG Anschluß, oder wird da über RS232 
programmiert? Ich habe nämlich keine serielle Schnittstelle mehr am PC 
und auch keine Slots mehr frei für eine PCI(e) Karte.

Schade dass das Ding keine ZIF Sockel hat.

von Peter King (Gast)


Lesenswert?

Ihr schreibt, dass ich die Arduino Boards nehmen sollte.

Ich möchte den ATmel mit C oder Assembler direkt programmieren. Ohne 
Bootloader. Funktioniert das über die USB Schnittstelle eines Arduino?

Ich dachte dass ich für dieses Vorhaben zwingend einen Programmer 
benötige und den ATmega nur über ISP oder JTAG programmieren kann. Weil 
ja dann der Arduino Bootloader fehlt.

von Peter King (Gast)


Lesenswert?

René:

Kann man das Arduino Board auch mit dem Atmel Studio entwickeln und es 
über den USB-Anschluß des Boards programmieren?

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe nämlich keine serielle Schnittstelle mehr am PC
>und auch keine Slots mehr frei für eine PCI(e) Karte.

Dann sieh mal den Unterlagen von deinem Motherboard nach, ob das Teil 
nicht doch eine RS232-Schnittstelle hat. Ich habe schon mehrere PCs für 
ein paar € nach gerüstet. Ansonsten kannst du auch einen 
USB-RS232-Wandler benutzen. Achte aber bitte darauf, das er einen 
FTDI-Chip besitzt.

MfG Spess

von Stefan F. (Gast)


Lesenswert?

> Welche ATmega und ATtiny Modell sind denn aktuell?

ATtiny 13A ist der kleinste für Steckbrett
ATtiny 25 45 85
ATtiny 441 841
ATtiny 261 461 861
ATmega 48 88 168 328
ATmega 164 324 644 1284
ATmega 640 1281 2561

> Aber das sind Arduinos. Ich wollte was, was ich mit
> ISP oder JTAG programmieren kann.

Alle Arduino Module haben einen ISP Anschluss und bei vielen sind auch 
die JTAG Pins herausgeführt.

> Oder werden die Arduinos mit dem USB-Port irgendwie "anders" verwendet

Die haben einen Bootloader vorinstalliert. Am USB Port hängt je nach 
Modell entweder ein USB-UART Chip oder der AVR selbst hat direkt USB.

> ich wollte den Arduino
> Bootloader und en Arduino Overhead nicht haben,

Dann lösche ihn einfach mit deinem ISP Programmieradapter.

Ich weiß gar nicht, warum du so in diese ZIF Sockel vernarrt bist. Was 
denkst du, wie viele hundert male du den Chip rein/raus stecken wirst, 
um ihn kennen zu lernen? Hast du vergessen, dass man ihn normalerweise 
in der Zielschaltung programmiert? Das ist ein Eprom! Abgesehen davon 
kann man ZIF Sockel in die DIP Fassungen stecken.

von René F. (Gast)


Lesenswert?

Peter King schrieb:
> René:
>
> Kann man das Arduino Board auch mit dem Atmel Studio entwickeln und es
> über den USB-Anschluß des Boards programmieren?

Ja aber der Bootloader muss auf dem Arduino Board bleiben um ihn über 
USB zu programmieren, andernfalls bräuchtest du wie bei den von dir 
gezeigten Boards einen AVR USBISP oder ähnlich.

von ghwrt (Gast)


Lesenswert?

Schau dir auch die Xplained Boards von Atmel an - so teuer sind die 
nunwieder auch nicht, haben oft auch einen Debugger an Bord. Ich benutze 
einen XMEGAA1U XLAINED und bin sehr zufrieden und es läuft 
selbstverständlich unter Studio.

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Das ist ein Eprom!

... kein EPROM ...

von Peter King (Gast)


Lesenswert?

Ich weiß, mir fehlt da irgend eine kleine Grundlage (ein stück vom 
Puzzle). Das ist der Grund, warum ich es nicht kapiere. Nur weiß ich 
blöderweise nicht, welche Grundlage mir da fehlt.

Vielleicht ist es so verständlicher:

Ich möchte den ATmega oder ATtiny so programmieren, wie man das vor der 
Arduino Zeit tat. Damit meine ich die Befehle und die Bibliotheken. Ich 
möchte die Arduino Libs nicht nutzen und das ganze programmierbare 
Arduino-geraffel nicht.

Ob ich dafür allerdings die Hardware dazu nutzen muss, wie einen 
Programmer, etc., das ist mir egal. Eigentlich ist mir das nicht egal, 
eigentlich gehen mir die externen Programmer, etc. auf die Nerven, weil 
sie Geld kosten und umständlich sind.

Mir wäre es am liebsten, wenn ich so ein Arduino Board nehmen könnte und 
es mit dem Atmel Studio, wie einen normalen nackten ATmega programmieren 
könnte ohne die ganzen Arduino-LIBs und ohne das Arduino-Geraffel, aber 
über USB und ohne extra Programmer.

Geht das so überhaupt?

von Stefan F. (Gast)


Lesenswert?

Ja, KEIN Eprom.

von Peter King (Gast)


Lesenswert?

Wenn ich das richtig verstanden habe, ist das Einzige, was einen ATmega 
von einem Arduino unterscheidet, der Bootloader und entweder ein direkt 
angeschlossener USB Anschluß bei den ATmegas, die USB können, oder ein 
FTDI Chip (der Umsetzer nach USB) mit eben dem USB-Anschluß. Ist das so 
richtig?

Warum montiert man nicht an jeden ATmega einen USB Port dran und macht 
den Bootloader drauf? Würde doch in jedem Fall die extra Programmer 
ersparen, oder sehe ich das falsch?

von ghwrt (Gast)


Angehängte Dateien:

Lesenswert?

Peter King schrieb:
> Geht das so überhaupt?

Sicher. Foto: kleine Bastelei, alles in Assembler, XMEGA A1U XLAINED 
Board direkt über USB angeschlossen.

von Stefan F. (Gast)


Lesenswert?

Die Firma Atmel hat das so vorgesehen:

Alle AVR Mikrocontroller werden über ISP programmiert. Manche können 
zusätzlich auch JTAG. Ende.

Arduino macht die Programmierung über USB oder seriellem Port mit Hilfe 
eines Bootloaders möglich.

Du kannst diese Chips nicht direkt über USB programmieren, solange du 
die Verwendung des Bootloaders verweigerst. Dann musst du halt einen ISP 
Programmieradapter benutzen, so wie Atmel das vorgesehen hat.

Der Bootloader schließt übrigens nicht die Verwendung des Atmels Studios 
aus. Du kannst deine Programme einfach ganz normal mit dem Atmel Studio 
schreiben. Nur für die Übertragung mittels Bootloader müsstest du eine 
fremde Software (z.B. avrdude) benutzen, weil das Atmel Studio wie 
gesagt ausschließlich ISP und JTAG Programmieradapter unterstützt.

Du wirst im Netz Anleitungen finden, die erklären, wie man avrdude und 
andere Fremd-Programme in das Atmel Studio integriert.

Also: kaufe Dir ruhig diese Arduino Nano kompatiblen Module aus China. 
Du kannst sie mit dem Atmel Studio programmieren und zum Flashen 
wahlweise einen ISP Programmieradapter oder den USB Bootloader benutzen.

Falls du einen nicht-originalen ISP Programmieradapter kaufst, bedenke 
dass viele nicht vom Atmel Studio unterstützt werden, wohl aber von 
avrdude.

Bevor du lange herum fackelst und damit haderst, welche Entscheidung 
wohl die beste sein mag, solltest du einfach mal auf zwei Kaffee 
verzichten und dafür einen Arduino Nano clone und einen billigen ISP 
Programmer kaufen. Experimentiere damit herum, dann wirst du schnell 
merken, was die gut können und was nicht so gut ist. Danach entscheidest 
du dann über größeres Budget.

von ghwrt (Gast)


Lesenswert?

Peter King schrieb:
> Warum montiert man nicht an jeden ATmega einen USB Port dran und macht
> den Bootloader drauf?

Das macht man so bei den AVRs, die USB haben.

von Peter King (Gast)


Lesenswert?

Verstehe jetzt besser. Danke Euch.

Der STM32, ist ein Cortex M3 von ARM.

Der kann aber nicht mit dem Atmel Studio entwickelt und programmiert 
werden, richtig?

Am liebsten wären mir Plugins für Ms Visual Studio, damit ich alles dort 
drin entwickeln und programmieren kann.

von Stefan F. (Gast)


Lesenswert?

> Der STM32, ist ein Cortex M3 von ARM.
> Der kann aber nicht mit dem Atmel Studio entwickelt
> und programmiert werden, richtig?

Richtig, für den nimmst du zum Beispiel die "System Workbench for STM32" 
und einen ST-Link Adapter. Abgesehen von der wesentlich höheren Leistung 
und mehr I/O Funktionen hast du dort den Vorteil, dass man selbst mit 
den billigsten 3€ ST-Link clones debuggen kann. Bei Atmel musst du für 
einen Debugger mindestens 50 Euro ausgeben.

> Am liebsten wären mir Plugins für Ms Visual Studio

Soweit ich mitbekommen habe, basiert das Atmel Studio auf Visual Studio. 
Damit müsstest du sofort zurecht kommen. Aber die anderen 
Entwicklungsumgebungen sind ähnlich, damit kommst du sicher auch nach 
wenigen Stunden Einarbeitung klar. Du bist ja noch keine 90 Jahre alt, 
oder?

von W.A. (Gast)


Lesenswert?

Peter King schrieb:
> Warum montiert man nicht an jeden ATmega einen USB Port dran und macht
> den Bootloader drauf? Würde doch in jedem Fall die extra Programmer
> ersparen, oder sehe ich das falsch?

Du kannst auch einen Arduino für 2€ als ISP-Programmer programmieren, 
auf deine ATmegas einmal einen Bootloader deiner Wahl aufspielen und sie 
fortan, ganz ohne irgendeinen externen Programmer, über die serielle 
UART-Schnittstelle programmieren. JTAG geht damit natürlich dann nicht.

von long don (Gast)


Lesenswert?

Peter King schrieb:
> Verstehe jetzt besser. Danke Euch.
>
> Der STM32, ist ein Cortex M3 von ARM.


Falsch.
Das ist eine ganze MCU-Familie von Cortex-M0, M0+, M3, M4, 
M7-Controllern, deren Kern von ARM ist.

von Stefan F. (Gast)


Lesenswert?

Hier hast du einen Überblick über die STM32F1 Serie, die sind zur Zeit 
recht preisgünstig zu haben: http://stefanfrings.de/stm32/index.html

von Peter King (Gast)


Lesenswert?

Danke Stefan. Nein, bin "erst" 41. Aber im Vergleich zur 20, fühlt sich 
die 41 fast wie 90 an. ;-)

von Axel S. (a-za-z0-9)


Lesenswert?

Peter King schrieb:
> Was ist Eure Meinung dazu?

Die erscheinen mir alle zu teuer. Ein Arduino nano mit ATMega328 kostet 
um die €2,- und ist preiswerter, kleiner und hat USB-Konnektivität an 
Bord. Die ganze Peripherie von den (noch teureren) Boards kannst du 
genausogut auf einem Steckbrett verdrahten.

> Natürlich würde ich noch welche mit dem ZIF-Sockel kaufen. Aber die oben
> genannten eignen sich doch gut für den Anfang und sind vom Preis auch
> akzeptabel.

ZIF Sockel? Warum das denn? DIP-IC passen direkt auf ein Steckbrett. Da 
würde man gar kein Board drum herum haben wollen.

Peter King schrieb:
> Ich möchte den ATmel mit C oder Assembler direkt programmieren. Ohne
> Bootloader. Funktioniert das über die USB Schnittstelle eines Arduino?

Die Programmierung über USB geht nur mit Bootloader. Allerdings merkst 
du davon nicht viel. Du hast dann halt nur 30 von 32KB Flash zur 
Verfügung. Ob du dann C oder ASM oder was auch immer verwendest, ist 
dein Bier. Und wenn du sicher bist, den Bootloader nicht verwenden zu 
wollen, kannst du den Chip ja immer noch über ISP programmieren.

> Ich dachte dass ich für dieses Vorhaben zwingend einen Programmer
> benötige und den ATmega nur über ISP oder JTAG programmieren kann.

Für das reine Programmieren reicht ISP. Da kostet der "Programmer" auch 
nur wenige EYPO (z.B. in Form eines USBASP aus China). JTAG ist eher 
interessant, wenn du debuggen willst. IMHO ein Luxuxproblem. Aber YMMV.


Peter King schrieb:
> Mir wäre es am liebsten, wenn ich so ein Arduino Board nehmen könnte und
> es mit dem Atmel Studio, wie einen normalen nackten ATmega programmieren
> könnte ohne die ganzen Arduino-LIBs und ohne das Arduino-Geraffel, aber
> über USB und ohne extra Programmer.
>
> Geht das so überhaupt?

Jein. Direkt programmieren ohne "Arduino-Geraffel" - definitiv Ja. Über 
USB programmieren - nur mit Bootloader. Ohne Bootloader - nur mit einem 
ISP-Adapter. Der aber nicht die Welt kostet. Und den du früher oder 
später ohnehin haben wollen wirst.


Peter King schrieb:
> Warum montiert man nicht an jeden ATmega einen USB Port dran und macht
> den Bootloader drauf? Würde doch in jedem Fall die extra Programmer
> ersparen, oder sehe ich das falsch?

Einen integrierten USB-Port haben die ATMega nicht. Und der zusätzliche 
USB-zu-serial Chip kostet nahezu so viel wie der ATMega selber. Der 
Bootloader frißt 2KB Flash. Außerdem fallen diese Kosten bei jedem 
Board an. Den ISP-Programmer brauchst du hingegen nur einmal.

Hinreichend große ARM Controller haben das aber so. Einen USB-Port auf 
dem Chip und einen USB-Bootloader im ROM (verbraucht also nicht mal 
Flash). Die preiswerten "Bluepill" ARM Boards fallen leider nicht in 
diese Kategorie. Die haben nur einen ROM-Bootloader für den UART. Für 
einen USB-Bootloader mußt du dann 4 bis 8KB Flash investieren. OK, bei 
64KB Flash tut das nicht ganz so weh ...

Peter King schrieb:
> Am liebsten wären mir Plugins für Ms Visual Studio, damit ich alles dort
> drin entwickeln und programmieren kann.

Ernsthaft? Ich habe Wuschelstudio nur als einen resourcenfressenden, 
unübersichtlichen Moloch in Erinnerung. Außerdem kann (konnte?) es nur 
Windows und x86.

Im Zweifelsfall nimm Eclipse. Das ist zwar auch fett, kann aber 
wahlweise als Entwicklungsungebung für den x86 Host, für AVR und für ARM 
verwendet werden.

von Lothar (Gast)


Lesenswert?

Peter King schrieb:
> Warum montiert man nicht an jeden ATmega einen USB Port dran und macht
> den Bootloader drauf? Würde doch in jedem Fall die extra Programmer
> ersparen, oder sehe ich das falsch?

Das siehst Du richtig. Aus unerfindlichen Gründen machen einige 
Hersteller ab Werk einen Bootloader drauf (EFM, LPC, STM) und andere 
nicht (AVR, PIC) Warum das so ist bleibt rätselhaft. Wem der Bootloader 
nicht passt, kann ihn ja löschen. Aber ohne Programmer bekommt man 
keinen drauf. Vielleicht zur Absatzsteigerung der Atmel ICE und PICkit. 
Am Speicher liegt es übrigens nicht, der EFM Bootloader z.B. braucht 
weniger als 256 Byte Flash.

Für AVR gibt es einen V-USB Bootloader, braucht aber schon 2K Flash:

https://learn.sparkfun.com/tutorials/how-to-install-an-attiny-bootloader-with-virtual-usb/install-micronucleus

von Peter King (Gast)


Lesenswert?

Wie sind denn so die Debugging-Funktionen der ATmega328P Xplained Mini?
Gleich als wenn mit JTAG debuggt wird oder gibt es da irgendwelche 
Einschränkungen?

Theoretisch gedacht, könnte man auf so einem ATmega328P Xplained Mini 
erst mal entwickeln und debuggen. Das geht mit dem Atmel Studio.

Dann, wenn das Programm fertig ist, kann man das Programm mit einem 
günstigen (Clone) ISP Programmer auf einen ATtiny oder (anderen) ATmega 
draufspielen und fertig.

Oder! man benutzt einen Arduino und spielt das fertige Programm ohne ISP 
eben über die vorhandene USB Schnittstelle drauf.

Die Entwicklung läuft jedoch auf dem Explained-Platinchen, da dort 
debugging mit Atmel Studio möglich ist. Sonst könnte man es auf einem 
Arduino Board machen. ABER: Dort ist kein debugging möglich, was ich 
schon als sehr wichtig und notwendig erachte.

Ist der Gedankengang von mir so gangbar oder gibt es Gründe, warum man 
es anders machen sollte?

Mir fällt gerade ein: Ich habe immer noch keine Möglichkeit mit dem 
obigen Equipment, verfuste ATmegas / ATtinys zu "retten". Gibt es dafür 
eine gangbare einfach Möglichkeit? Vielleicht in solchem Fall etwas 
temporär auf dem Steckbrett aufbauen?

von Marc (Gast)


Lesenswert?

Lothar schrieb:
> Aus unerfindlichen Gründen machen einige Hersteller ab Werk einen
> Bootloader drauf (EFM, LPC, STM) und andere nicht (AVR, PIC) Warum das
> so ist bleibt rätselhaft.

Weil das ein weiterer Schritt in der Fertigung ist und die 
Produktionskosten deutlich erhöht, solche Programmierautomaten sind 
teuer und zudem teilweise sehr wartungsintensiv, wir haben das einige 
Jahre lang als Dienstleistung angeboten (auch im Auftrag von 
verschiedenen Chipherstellern) und mussten mehrere Techniker und 
Produktionshelfer 24/7 beschäftigen, alleine das umrüsten einer solchen 
Maschine kann mehrere Stunden dauern und das Kalibrieren der 
Kamerasysteme ist aufwändig, schön ist es auch wenn die Maschine dann 
Bauteile aussortiert weil es der Meinung ist die Beinchen wären verbogen 
nur weil die Beschichtung der Beinchen nicht perfekt gleichmäßig ist... 
Zudem ist das in-circuit flashen heutzutage überhaupt kein Problem mehr 
und kann gleich in der Fertigung neben diversen Tests auf dem 
Nadelprüfadapter geschehen.

von Marc (Gast)


Lesenswert?

Peter King schrieb:
> Mir fällt gerade ein: Ich habe immer noch keine Möglichkeit mit dem
> obigen Equipment, verfuste ATmegas / ATtinys zu "retten". Gibt es dafür
> eine gangbare einfach Möglichkeit? Vielleicht in solchem Fall etwas
> temporär auf dem Steckbrett aufbauen?

Nein, dafür brauchst du einen HV Programmer, diese sind aber inzwischen 
auch nicht mehr sooo teuer, häufig stehen aber Programmieralgorithmen 
unter einer NDA weshalb es in solchen Spezialfällen oft nur Tools des 
Chipherstellers gibt.

von Peter King (Gast)


Lesenswert?

@Mark:

Wenn man die Controller nicht all zu oft verfust, dürften neu gekaufte 
Controller oder Arduino-Boards billiger kommen, als ein HW Programmer. 
Mit vorherigem nachdenken, was man da tut, dürfte das ja theoretisch 
niemals passieren. Aber der Mensch ist nicht perfekt.

Einen verfusten Controller, der schon im System eingbaut ist, kann man 
dann ja auslöten, um ihn einer HV Programmierung zu unterziehen, 
richtig?

Trotzdem: Was ist zur Zeit der günstigste verfügbare HW Programmer?

Der einzige, den ich kenne, ist der DRAGON.

von René F. (Gast)


Lesenswert?

Peter King schrieb:
> Was ist zur Zeit der günstigste verfügbare HW Programmer?

Ich bin jetzt kein AVR Experte, aber du musst dich mal umschauen, gibt 
anscheinend auch Möglichkeiten sich selbst einen zu bauen:

https://www.mikrocontroller.net/articles/AVR_HV-Programmer

von Lothar (Gast)


Lesenswert?

Marc schrieb:
> Weil das ein weiterer Schritt in der Fertigung ist und die
> Produktionskosten deutlich erhöht

Warum sind dann die EFM8 8051 - alle mit werksseitigem Bootloader - 
deutlich billiger als die direkte ATtiny / ATmega Konkurrenz? Brauchst 
bloss mal bei Mauser nachzusehen.

von Gerhard O. (gerhard_)


Lesenswert?

Was wurde eigentlich aus "Probieren geht über Studieren!"?
Manchmal bekomme ich den Eindruck, daß zu viele von uns permanent in der 
"Analyse Paralyse" Schleife verloren gehen.

Es wurden ja schon viele vernünftige Vorschläge gemacht. Mit den 
billigen Arduino Modulen kann man Vieles ausprobieren. Und wenn der 
Appettit mit dem Essen kommt, kann man ja immer noch den Zoom zurück 
drehen und über den Tellerrand gucken.

Das Investment ist ja lächerlich niedrig. Was kann man also verlieren 
außer etwas Zeit?

Also, macht!!!

: Bearbeitet durch User
von Peter King (Gast)


Lesenswert?

Gerhard O. schrieb:
> Was wurde eigentlich aus "Probieren geht über Studieren!"?

Das kommt schon noch. Aber erst mal vernünftig einkaufen und sich vorher 
genau informieren.

Alleine ohne diesen Thread wäre ich sicher knapp 500 EUR los geworden, 
für Programmer, Dev Boards, AVRs und hätte damit veraltete Hardware 
gekauft, die aber in einigen Büchern belobt wurde.

Nichts vermiest den Spaß und Erfolg so sehr, wie die Feststellung, dass 
man auf Grund von ungenügendem Wissen viel Geld (mehrere Hundert EUR) 
ausgegeben hat und das Zeug nun kaum oder gar nicht brauchen tut.

Durch die Antworten hier, bin ich auf viele tolle Produkte und 
Möglichkeiten aufmerksam gemacht worden, auf die ich selbst nicht so 
schnell gekommen wäre.

von cvbn (Gast)


Lesenswert?

Axel S. schrieb:
> Einen integrierten USB-Port haben die ATMega nicht.

AT90USBxxx sind ATmegas mit integriertem USB Port und einem bei der 
Auslieferung vorprogrammierten Bootloader. XMEGAs haben ebenfalls 
vorprogrammierte Bootloader.

von cvbn (Gast)


Lesenswert?

Atmel Apliacation Note: USB DFU Bootloader Datasheet

The 8bits mega AVR with USB interface devices are factory configured 
with a
USB bootloader located in the on-chip flash boot section of the 
controller.
This USB bootloader allows to perform In-System Programming from an USB
host controller without removing the part from the system or without a
pre-programmed application, and without any external programming 
interface.

AT90USB128x
AT90USB64x
AT90USB162
AT90USB82
ATmega32U4
ATmega16U4

von Balun (Gast)


Lesenswert?

@TO: Schau Dir mal VisualGDB an! Ist jeden Cent wert!

von Stefan F. (Gast)


Lesenswert?

> Gleich als wenn mit JTAG debuggt wird

Du hängst zu sehr am JTAG. Diese Schnittstelle ist schon fast wieder 
veraltet. Bei ATmega Controllern ist der Debug Wire angesagt. Der Debug 
Wire ist physikalisch übrigens der Reset Pin. Die meisten ATtinies kann 
man nicht debuggen. Bei STM32 heisst die Schnittstelle SWJ, welche die 
Protokolle JTAG und SWD kann, wobei SWD der neuere Standard ist.

> Sonst könnte man es auf einem
> Arduino Board machen. ABER: Dort ist kein debugging möglich

Das ist nicht richtig. Du kannst den Debugger (Atmel ICE oder gerne auch 
das STK500) an die ISP Schnittstelle jedes Arduino Moduls stecken und 
damit debuggen.

> Ich habe immer noch keine Möglichkeit mit dem
> obigen Equipment, verfuste ATmegas / ATtinys zu "retten".

Dafür brauchst du einen sogenannten "High Voltage programmer". Der 50 
Euro teure Atmel Dragon ist ein bekannter, der kann auch bis zu 32kB 
debuggen.

Unter dem namen "Fuse Doctor" kursiert eine günstigere Schaltung im 
Netz, zum selber bauen.

Ich glaube nicht, dass du so etwas brauchst. Spätestens nach dem 2. 
verfusen solltest du es drauf haben. Mir ist es nur einmal passiert, 
seit dem gehe ich sehr sorgfältig vor, wenn ich Fuses ändere. Ich 
speichere die konkreten Werte auch immer in einem Script ab, so dass ich 
sie ohne Fehler später erneut anwenden kann.

Da man die Taktfrequenz bei den meisten aktuellen AVR's auch per 
Software ändern kann, muss man die Fuses zum Glück nur sehr selten 
ändern.

> ohne diesen Thread wäre ich sicher knapp 500 EUR los geworden

Das glaube ich Dir. Jetzt sollte klar sein, daß ein 5er Pack Arduino 
Nanos + ein ISP Programmer Stick für zusammen 20 Euro erst einmal 
reichen sollten. Damit kommst du schon weit, ganz sicher.

von batman (Gast)


Lesenswert?

Welchen ISP Programmer Stick würdest du empfehlen?

von Egon N. (egon2321)


Lesenswert?

Wieso nicht einfach einen Cortex-M wo du mittels stlink/segger jlink 
einen guten Bugger fast geschenkt bekommst nehmen? Jetzt noch in AVR 
einzusteigen, ich weiß nicht, insbesondere nach dem Kauf durch 
Microchip, da wäre es langfristig noch sinnvoller auf PIC zu setzen...

von Stefan F. (Gast)


Lesenswert?

> Welchen ISP Programmer Stick würdest du empfehlen?

Wenn er billig sein soll, dann einen USBASP Stick. (ab 2 Euro)

Wenn er gut sein soll: Einen Atmel ICE (ab 50 Euro)

Die billigen sind weniger flexibel, was die Versorgungsspannung angeht. 
Fast alle USBASP haben einen Jumper zum Umschalten zwischen 3,3 und 5V. 
Ihre Signale haben aber trotzdem immer 5V!

Die Signal-Spannung darf maximal 0,5V von der Versorgungsspannung des µC 
abweichen. Der oben genannte Programmer von Atmel passt sich automatisch 
an. Die USBASP Produkte können das nicht.

Außerdem kann der Programmer von Atmel noch andere Protokolle, nicht nur 
ISP. Und er kann debuggen, das kann der USBASP gar nicht.

Für den Anfang reicht sicher ein USBASP.

Bei STM32 kannst du wie bereits gesagt schon mit den billigen 3 Euro 
St-Link Sticks debuggen.

> Jetzt noch in AVR einzusteigen, ich weiß nicht

Für kleine Sachen halte ich das noch für Sinnvoll. ATtinies und PIC sind 
auf Steckbrett und Lochraster ganz angenehm. Dann gibt es da noch 
diverse Arduino Module mit ATmega328P, die wegen ihrem niedrigen Preis 
attraktiv sind.

Alle größeren AVR's interessieren mich aber nicht mehr. Da nehme ich 
dann auch lieber ARM Controller. Die können mehr für weniger Geld und 
das Debuggen ist auch viel billiger.

Man muss sich ja nicht unbedingt für eine Serie entscheiden. Vielfalt 
ist erlaubt. Und da man sowohl AVR als auch ARM mit dem gcc 
programmieren kann, sind die Unterschiede nicht so gravierend, wie man 
vielleicht denkt, wenn man an 8 versus 32bit denkt. Der Unterschied ist 
für den C Programmierer nicht viel mehr als eine kleine Randnotiz denn 
mit beiden Serien kann man 8bit bis 64 bit Berechnungen durchführen.

von Egon N. (egon2321)


Lesenswert?

Stefan U. schrieb:
> Für kleine Sachen halte ich das noch für Sinnvoll. ATtinies sind auf
> Steckbrett und Lochraster ganz angenehm, aber die meisten können gar
> nicht debuggt werden. Das ist auch der Grund, warum ich nicht mehr viel
> Geld in einen AVR Debugger stecken würde. Dann gibt es da noch diverse
> Arduino Module mit ATmega328P, die wegen ihrem niedrigen Preis attraktiv
> sind.

https://blog.adafruit.com/2012/03/13/32-bit-meet-dip-arm-cortex-m0-in-dip-packages/

Von Infineon oder so meine ich da auch etwas gesehen zu  haben.

Da kommt man halt mit einem Segger J-LINK Edu für 50€ preislich sehr gut 
weg, da ist quasi alles dabei und man kann "kleine" und "große" mit der 
selben Toolchain debuggen.

Für Quick und Dirty nehm ich auch gerne die Arduinos, da würde ich mit 
einzelnen Controllern nicht mehr anfangen. Manche nehmen für Quick und 
Dirty auch diese kleinen STM32 Boards vom Chinesen, die sehen ganz 
interessant aus, aber imho finde ich hier den ESP8266/ESP32 sehr nett, 
WLAN ist immer eine nette Sache, vor allem zu dem Preis.

von Stefan F. (Gast)


Lesenswert?

Das Debuggen wird meiner Meinung nach von vielen Leuten überbewertet. 
Zum Einen haben es die Menschen mehrere Jahrzehnte geschafft, 
Mikrocontroller ohne Debugger zu programmieren.

Das Arduino System ist trotz Verzicht auf Debugger erfolgreich, ebenso 
der ESP8266.

Viele Anwendungen kann man nicht einfach so anhalten um nachzuschauen, 
was die CPU gerade macht. Die Waschmaschine würde überlaufen, das 
Modellauto gegen die Wand krachen, die LED-Matrix durchbrennen, die 
Netzwerk-Kommunikation abbrechen. Da muss man dann auch noch die 
Hardware anpassen/simulieren, um überhaupt debuggen zu können. Und dann 
kommt noch dazu, dass der Debugger das Timing Verhalten ganz erheblich 
ändert, so dass die ganze Schaltung versagt.

Als Alternative bieten sich (wie in dern 80er Jahren) Log-meldungen auf 
einer seriellen Schnittstelle an. Zur not auch per Bit-Banging, falls 
kein serieller Port frei ist: 
http://stefanfrings.de/avr_hello_world/index.html

von Stefan F. (Gast)


Lesenswert?

Kleine Korrektur:
> aber die meisten (ATtinies) können gar nicht debuggt werden

Ich habe weiter oben diesen falschen Satz gelöscht, aber leider zu spät. 
Egon hat ihn bereits zittiert.

Das stimmt jedenfalls nicht. Man kann die aktuellen ATtinies alle 
debuggen, soweit ich weiß. Ich hatte da irgendwie an die fehlende JTAG 
Schnittstelle gedacht, aber die haben ja stattdessen DebugWire.

von Stefan F. (Gast)


Lesenswert?

Für den Anfang bist du sicher mit folgender Ausstattung gut bedient:

5x ATtiny45
5x Arduino Nano clone
5x Blue-Pill Board (STM32F103C8T6)
5x ESP-12F Modul

1x USB-UART Adapter oder Kabel mit 3,3V Pegeln und 5V tolerant (der 
CP2102 Chip kann das)
1x ISP Programmieradapter (basierend auf USBASP)
1x ST-Link v2 clone

Das alles zusammen kostet etwa 50 Euro. Damit bist du ganz sicher viele 
Monate lang beschäftigt. Danach hast du genug Erfahrung, um teurere 
Produkte vernünftig zu wählen.

von Egon N. (egon2321)


Lesenswert?

Stefan U. schrieb:
> 5x ATtiny45
> 5x Arduino Nano clone
> 5x Blue-Pill Board (STM32F103C8T6)
> 5x ESP-12F Modul

Wieso so viele verschiedene Systeme? Das verwirrt doch nur.

https://www.aliexpress.com/item/MH-ET-LIVE-ESP32-Development-Board-WiFi-Bluetooth-Ultra-Low-Power-Consumption-Dual-Core-ESP-32/32813121497.html

https://www.aliexpress.com/item/New-Wireless-module-CH340-NodeMcu-V3-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/1000001008616.html


Würde einfach mal 1-2 von diesen ESP32 Boards kaufen und die dann erst 
mal mit der Arduino IDE benutzen, dafür gibt es viele fertige Libs und 
die Einrichtung geht leicht von Hand.

Dazu noch ein paar Sensoren wie BME280/HUT21D/Licht/etc. und schon kann 
man z.B. eine Wetterstation bauen. Mit einem zweiten Modul dann die 
passende Anzeige mit z.B. einem OLED. Gibt es alles als fertige Module 
die man einfach über Female Female Jumper Wire verbinden kann, da kann 
man direkt loslegen und es macht sofort Spaß.

: Bearbeitet durch User
von René F. (Gast)


Lesenswert?

Egon N. schrieb:
> Würde einfach mal 1-2 von diesen ESP32 Boards kaufen und die dann erst
> mal mit der Arduino IDE benutzen, dafür gibt es viele fertige Libs und
> die Einrichtung geht leicht von Hand.

Ich dachte er will gerade nicht die Arduino Bibliotheken verwenden ;)


Aber ja die Anzahl der Systeme ist hoch, ich würde vorerst bei 2 
bleiben, zum Beispiel AVR + ESP (im AT Mode) und wenn ich mich mit STM32 
beschäftigen möchte würde ich mir für den Anfang halt ein Nucleo oder 
Discovery Board holen, dann hast du schon mal ein komplettes Board mit 
Programmer und Debugger und die kleineren (F0/F1) kosten ja auch nicht 
die Welt.

von grundschüler (Gast)


Lesenswert?

alles andere als ein 3€-arduino-m328-board und ein 5€-usb/isp-Programmer 
ist oversized.

Dazu winAVR als komfortable Programmierumgebung mit unschlagbarer 
Performance.

von batman (Gast)


Lesenswert?

Tja ich verstehe auch nicht, was man immer mit RS232 + USB + BT + WiFi + 
LED + 7-Seg-LED + Char-LCD + 5V + 3.3V etc. auf einem Board will. Am 
Ende muß man ohnehin Module verbinden können, die man braucht.

von Stefan F. (Gast)


Lesenswert?

> Wieso so viele verschiedene Systeme? Das verwirrt doch nur.

ATtiny13 und Arduino Nano, weil er AVR lernen möchte. So hat er einen 
kleinen und einen mittleren.

Das Blue-Pill Board, weil es nach oben hin die nächste Wahl in dieser 
Preisklasse ist und wie gesagt die Programmierung in C ähnlich ist.

Das ESP-Modul, ebenfalls weil es billig ist WLAN kann.

Aber klar, man kann auch eins nach dem anderen Kaufen. Ich hatte 
allerdings den Eindruck, dass der TO sich einen möglichst vollständigen 
Baukasten schon jetzt zulegen möchte.

von c-hater (Gast)


Lesenswert?

Peter King schrieb:

> Welche ATmega und ATtiny Modell sind denn aktuell? Ich finde das nicht
> heraus.

Aktuell (im Sinne von lieferbar) sind sehr viele AVR8. Technisch aktuell 
ist eine deutlich kleinere, aber immer noch recht große Zahl. Es gibt 
allerdings durchaus einige technische Hinweise, aus denen man auf die 
Aktualität schließen kann. Z.B.: PINx Register können toggeln, PCINT für 
alle GPIO-Pins, UART ist SPI-Master-fähig, alle Timer haben mindestens 
zwei OC-Kanäle, bei den kleineren auch noch: es gibt Pin-Remapping.

In Falle (weitgehend) abwärtskomptibler Nachfolger historischer AVR8 
kann man sich auch oft an einem angehängten "A" orientieren, z.B. 
Tiny2313A oder Mega8A. Wenn allerdings keine Abwärtskompatibilität 
erforderlich ist, kann man statt dessen auch die noch besser 
ausgestatteten Nachfolger wählen, also z.B. den Tiny4313 oder den 
Mega88. Das ist etwas fließend.

Für den Einstieg würde ich einen Mega1284P empfehlen. Damit kann man 
(außer USI) praktisch alle auf den modernen AVR8 verbreitetet 
eingesetzte Peripherie programmieren und muss sich erstmal kaum um die 
Knappheit irgendwelcher Resourcen sorgen. Das Ergebnis dann auf einen 
kleineren AVR8 mit gerade ausreichenden Resourcen runterzubrechen ist 
meist sehr einfach und erschöpft sich im Umbennen von ein paar Symbolen 
(oder man macht's gleich richtig und zieht einen Kompatibilitäts-Layer 
für dieses Zeug ein).

> Den von Dir genannten Nano und Cortex habe ich hier da. Aber das sind
> Arduinos. Ich wollte was, was ich mit ISP oder JTAG programmieren kann.

Die AVR8-basierten Arduinos kannst du allesamt auch per ISP 
programmieren, notfalls durch Abtrennen eventuell störender Teile der 
auf den Boards eingebauten Peripheriebeschaltung.

von Peter King (Gast)


Lesenswert?

Die ESP8266 und ESP32 habe ich schon programmiert und auch einige 
nützliche Dinge damit umgesetzt, wie z.B. einen Briefkastensensor, etc. 
Damit bin ich in die Mikrocontroller-Welt eingestiegen.

Ich bin ein Microsoft .NET programmierer mit C# und früher Visual C++ 
mit der MFC.

Angefangen habe ich im Alter von 14 Jahren, als ich auf einem C64 mit 
Assembler seine parallele Schnittstelle programmierte, um damit per 
Kabel Daten von einer C64 Datei auf 5 1/4" Diskette auf einen x86 PC 
übertrug und ebenfalls in eine Datei auf Festplatte speicherte. Das 
Programm auf dem PC habe ich mit Visual Basic 3 (glaube ich) und einem 
Zusatzmodul, welches die Parallelschnittstelle des PCs ansprechen konnte 
(denn VB3 konnte das nicht) programmiert. Das war mein allererstes 
Projekt was Programmierung anbelangt.

Aber die fressen mir zu viel Strom. Das ist schlecht bei 
Batterieversorgung. Da hat mir mal vor ca. 1 Jahr einer hier im Forum zu 
den Atmel AVRs geraten, weil manche von denen wirklich extrem wenig 
Strom verbrauchen. Daran ein ESP8266 angehangen und nur aufgeweckt, um 
eine Meldung übers WLan abzusetzen, ist wohl die Stromsparendere 
Methode.

Der Atmel läuft ständig und verbraucht kaum Strom oder reagiert nur auf 
einen Interrupt.

Der ESP8266 wird nur selten aus dem Tiefschlaf geweckt, wenn er eine 
Meldung über das Funklan versenden soll.

Daher mein Gang zu Atmel.

Die Cortex sind auch interessant. Aber sie werden vermutlich deutlich 
mehr Strom verbrauchen als ein ESP8266 oder ESP32. Und die Espressif 
Chips sind für meine Anwendungen schon zu stromfressend.

Das ist das Problem.

Ob Microchip die Atmel AVRs begraben will? Ich weiß nicht. Sind die 
Atmel AVRs nicht zu sehr verbreitet, um sie zu beerdigen? Außerdem hat 
Microchip doch einige Evaluation Boards rausgebracht, um Neulingen den 
Umgang mit den Atmal AVRs beizubringen. Wozu neue User für die Atmel 
Dinger gewinnen, wenn man sie in Wirklichkeit beerdigen will? Das passt 
doch nicht zusammen. Ist aber nur meine Denke. Vielelicht irre ich mich 
da.

von Stefan F. (Gast)


Lesenswert?

> ... Daher mein Gang zu Atmel.

Dann bist du ja schon längst kein Anfänger mehr. Was willst du dann mit 
dem STK500?

> Die Cortex sind auch interessant. Aber sie werden vermutlich deutlich
> mehr Strom verbrauchen als ein ESP8266 oder ESP32.

Nee, eher weniger. Bei 8Mhz ist ihre Stromaufnahme sogar ungefähr auf 
gleichem Niveau, wie die AVR's. Allerdings ist die Ruhestromaufnahme der 
STM32F1 Serie höher als bei AVR. Für Langzeit-Betrieb eignen sich die 
STM32L Serien besser. Und natürlich sind STM32 nocht der Weisheit 
letzter Schluss, es gibt noch viele andere Cortex M Controller.

Für einen LED Blinker würde ich jedenfalls einen AVR vorziehen. Für 
einen Staubsauger-Roboter würde ich zu einem STM32 greifen.

von Peter King (Gast)


Lesenswert?

Ein STK500 wollte ich nie. Das hat mir hier Jemand im Thread 
vorgeschlagen.

Wie gesagt, ich hatte Mikrocontrollermäßig nur mit den ESPs zu tun, 
sonst mit nichts.

Daher der Gedanke, ein Dev-Board für einen Atmel AVR wäre nicht 
schlecht, wenn ich nun damit anfange.

von m.n. (Gast)


Lesenswert?

Stefan U. schrieb:
> Das Debuggen wird meiner Meinung nach von vielen Leuten überbewertet.
> Zum Einen haben es die Menschen mehrere Jahrzehnte geschafft,
> Mikrocontroller ohne Debugger zu programmieren.

Ist das so?
Selbst auf einem 6502 habe ich den Einzelschrittbetrieb schon geschätzt. 
Und zu sehen, was so im Status-Register steht, war auch recht erhellend.

> Viele Anwendungen kann man nicht einfach so anhalten um nachzuschauen,
> was die CPU gerade macht. Die Waschmaschine würde überlaufen, das
> Modellauto gegen die Wand krachen, die LED-Matrix durchbrennen, die
> Netzwerk-Kommunikation abbrechen. Da muss man dann auch noch die
> Hardware anpassen/simulieren, um überhaupt debuggen zu können. Und dann
> kommt noch dazu, dass der Debugger das Timing Verhalten ganz erheblich
> ändert, so dass die ganze Schaltung versagt.

Wir haben das Jahr 2018 (neudeutsch: zwei achtzehn) und da muß ein 
laufendes System nicht mehr angehalten werden, um interne Daten 
auszulesen ...

Stefan U. schrieb:
> die wegen ihrem niedrigen Preis
> attraktiv sind.
>
> Alle größeren AVR's interessieren

Als sich vielpreisender Buchautor solltest Du Dich mal um den Genitiv 
und den Plural kümmern.

Peter King schrieb:
> Ich bin ein Microsoft .NET programmierer mit C# und früher Visual C++
> mit der MFC.
>
> Angefangen habe ich im Alter von 14 Jahren, als ich auf einem C64 mit

Wenn Dir die Bits und Bytes schon vertraut sind und die Programmierung 
aktueller Sprachen bekannt ist, würde ich Dir vorschlagen, die AVRs zu 
überspringen und die Cortex-M3/M4 anzutesten.
Da gibt es einfache Entwicklungsboards im Preisrahmen < 20 € (zum 
Beispiel STM Nucleo), die Programmier- und Debuggerschnittstelle mit auf 
dem Board haben. 'Verfusselt' werden kann da garnichts.
IDEs für die Entwicklung gibt es von vielen Anbietern, ganz nach Deinem 
Geschmack. Selbst, wenn Du mal auf AVR wechseln möchtest, diese 
"Investition" wirst Du Deinem Alter nach zukünftig brauchen und nicht 
bereuen, egal, was Du auch immer machen möchtest.

von Peter King (Gast)


Lesenswert?

m.n. schrieb:
> Wenn Dir die Bits und Bytes schon vertraut sind und die Programmierung
> aktueller Sprachen bekannt ist, würde ich Dir vorschlagen, die AVRs zu
> überspringen und die Cortex-M3/M4 anzutesten.

Ich benötige die AVRs genau so, wie ich später auch die Cortex benötigen 
werde.

Einen simplen Briefkastensensor zu realisieren, macht ur mit einem 
ATtiny Sinn. Einen Cortex zu nehmen, wäre totaler overkill.

Die ARMs werde ich aber sicher noch mitnehmen.

Mir stellt sich eher dir Frage, worauf ich eine Steuerung für ein 
Meerwasseraquarium realisieren soll. Das soll ein Touch-TFT Interface 
haben, Webserver, Sensoren, sowie Relays, etc. Das schreit irgenwie 
schon fast nach einem SOC.

von m.n. (Gast)


Lesenswert?

Peter King schrieb:
> Einen simplen Briefkastensensor zu realisieren, macht ur mit einem
> ATtiny Sinn.

Da reicht doch schon ein Schalter oder eine Lichtschranke.

> Einen Cortex zu nehmen, wäre totaler overkill.

Um welche Produktionsstückzahlen geht es denn?

Ich will Dir den AVR nicht ausreden, nur einfache und komfortable 
Entwicklungsumgebungen suchst Du für ATtinys wohl vergeblich.
Nutze doch den Vorteil, daß Du schon programmieren kannst. Normalerweise 
haben Anfänger mehrere Baustellen: die Hardware, die Software und den µC 
im Speziellen. Meiner Einschätzung nach kannst Du Dich gleich auf den µC 
konzentrieren, da die Fehlerquellen bei Hard- und Software bei Dir 
geringer sein sollten.


Peter King schrieb:
> Mir stellt sich eher dir Frage, worauf ich eine Steuerung für ein
> Meerwasseraquarium realisieren soll. Das soll ein Touch-TFT Interface
> haben, Webserver, Sensoren, sowie Relays, etc.

Damit wäre das Thema AVR doch schon gestorben.

von Karlo K. (ponos)


Lesenswert?

Kennst die von Mikroe?

von Peter King (Gast)


Lesenswert?

Sagt mir nichts

von Egon N. (egon2321)


Lesenswert?

Peter King schrieb:
> Aber die fressen mir zu viel Strom. Das ist schlecht bei
> Batterieversorgung. Da hat mir mal vor ca. 1 Jahr einer hier im Forum zu
> den Atmel AVRs geraten, weil manche von denen wirklich extrem wenig
> Strom verbrauchen. Daran ein ESP8266 angehangen und nur aufgeweckt, um
> eine Meldung übers WLan abzusetzen, ist wohl die Stromsparendere
> Methode.
>
> Der Atmel läuft ständig und verbraucht kaum Strom oder reagiert nur auf
> einen Interrupt.
>
> Der ESP8266 wird nur selten aus dem Tiefschlaf geweckt, wenn er eine
> Meldung über das Funklan versenden soll.

Das war wohl ein AVR Jünger.

Der ESP8266 beherrscht den Deep Sleep (ESP32 kann hier noch wesentlich 
mehr), dabei verbraucht er nur wenige µA, er lässt sich dabei einfach 
mittels Interrupt wecken. Sprich der AVR ist vollkommen überflüssig und 
verbraucht nur unnötig Strom, macht zudem das Arbeiten komplizierter 
(man hat 2 verschiedene Umgebungen, die Softwareentwicklung muss auf 
beiden passend erfolgen, das ist immer nervig).

Was den Deep Sleep oft ruiniert: irgendwelche USB<->UART Brücken, die 
kann man jedoch auftrennen, dann ist neben der obligatorischen LED auch 
noch der Linearregler ein Problem, oft wird hier leider einer mit einem 
hohen Querstrom verbaut, aber auch den kann man ersetzen.

Bei dem Kenntnisstand würde ich zu einer Cortex-M Toolchain basierend 
dauf Eclipse greifen (kp ob sich da etwas mit Visual Studio finden 
würde), denn als Entwickler bist du sicherlich schon in den Genuss eines 
guten Debuggers usw. gekommen, das möchte man auf dem µC eigentlich 
nicht missen.

Nachdem dir der Energieverbrauch anscheinend relativ wichtig ist würde 
ich dir persönlich zu einem Gecko Board von Silicon Labs raten, hier 
bekommst du neben einem (eingeschränkten, glaub maximal 5-6 
Hardwarebreakpoints, in der Realität kommt man damit aber eigentlich in 
den meisten Fällen aus, es ist sogar ein Pfostenstecker auf dem Board, 
sprich entsprechende Flachbandleitung ran und du kannst ihn wie einen 
j-Link nutzen) Segger j-Link auch gleich einen Profiler für den 
Energieverbrauch in der bereits fertig eingerichteten Toolchain vom 
Hersteller (ist ein angepasstes Eclipse).

Wenn ich es richtig in Erinnerung hatte konnte man damit sogar Code 
neben gemessenem Stromverbrauch darstellen was doch recht sehr schick 
ist. So ein grober Power Analyzer ist immer ein nettes Werkzeug...

: Bearbeitet durch User
von Peter King (Gast)


Lesenswert?


von Egon N. (egon2321)


Lesenswert?


: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Kleine Korrektur:
> Der ESP8266 beherrscht den Deep Sleep ...
> er lässt sich dabei einfach mittels Interrupt wecken.

Er lässt sich nur mittels Reset wecken. Wenn man ihn per Interrupt 
weckt, hängt er sich auf (ich halte das für einen Designfehler, 
allerdings steht das mit dem Reset auch in der Doku des Herstellers).

von Johannes S. (Gast)


Lesenswert?

Peter King schrieb:
> Einen simplen Briefkastensensor zu realisieren, macht ur mit einem
> ATtiny Sinn. Einen Cortex zu nehmen, wäre totaler overkill.

Nein, absolut nicht. Das Schöne an den Cortex-M Familien ist das die 
eine sehr grosse Bandbreite haben, von den kleinen M0 bis zu fetten M7.
Mit einem M0 (LPC812) habe ich auch Funkmodule mit RFM69 (868MHz) 
gebaut. Ein Temperatur/Feuchtigkeitssensor braucht da in Ruhe 1,2 µA, 
beim Senden für ein paar ms ca. 45 mA, deutlich weniger als ein ESP. 
Davon geht 1 µA für den Timer zum selber wecken drauf, für einen 
Briefkastensensor kann man einen mechanischen oder magnetischen Kontakt 
nehmen und man braucht nur noch ca. 0,3 µA in Ruhe.
Das geht natürlich auch mit einem Tiny, aber zum Einarbeiten in die neue 
Welt fängt besser mit kleinen Projekten an und kann dann alles bis zu 
den grossen M4/7 alles nutzen.

Peter King schrieb:
> Mir stellt sich eher dir Frage, worauf ich eine Steuerung für ein
> Meerwasseraquarium realisieren soll. Das soll ein Touch-TFT Interface
> haben, Webserver, Sensoren, sowie Relays, etc. Das schreit irgenwie
> schon fast nach einem SOC.

Da hatte ich mal drüber nachgedacht, das Becken aber jetzt doch 
stillgelegt. Wenn du noch ein 5000 Liter Becken gebrauchen kannst, ich 
hätte da was...
Für eine Steuerung mit kleinen abgesetzten Sensoren oder Steuerteilen 
ist ein Raspberry oder kleiner Server vielleicht bequemer was grafische 
Oberfläche und Datenlogging angeht. Die Cortex-M4 haben hierfür aber 
auch schon genug Resourcen, mein Favorit ist hier z.Zt. das Acelex Board 
STM32F407VET6 + passendes TFT Modul, diese Kombi gibts bei Ali für ca. 
20 €. Das Board hat genug Speicher und EAs für eine komfortable 
Steuerung.
https://de.aliexpress.com/store/product/Free-shipping-STM32F407VET6-development-board-Cortex-M4-STM32-minimum-system-learning-board-ARM-core-board/1817254_32618222721.html

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Kleine Korrektur:
>> Der ESP8266 beherrscht den Deep Sleep ...
>> er lässt sich dabei einfach mittels Interrupt wecken.
>
> Er lässt sich nur mittels Reset wecken. Wenn man ihn per Interrupt
> weckt, hängt er sich auf (ich halte das für einen Designfehler,
> allerdings steht das mit dem Reset auch in der Doku des Herstellers).

Ja, das hat micht auch immer irritiert.

Ist es beim ESP32 wenigstens richtig gemacht, so dass das wecken per IRQ 
geht?

Das habe ich bisher nicht getestet.

von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> Nein, absolut nicht. Das Schöne an den Cortex-M Familien ist das die
> eine sehr grosse Bandbreite haben, von den kleinen M0 bis zu fetten M7.
> Mit einem M0 (LPC812) habe ich auch Funkmodule mit RFM69 (868MHz)
> gebaut. Ein Temperatur/Feuchtigkeitssensor braucht da in Ruhe 1,2 µA,
> beim Senden für ein paar ms ca. 45 mA, deutlich weniger als ein ESP.

Ich mache solche Sachen immer über Wlan. 868 MHz hat für mich das 
Problem, dass ich keine Rückmeldung bekomme, ob das Signal beim 
Empfänger angekommen ist. Gibt es dafür überhaupt eine Lösung? Ich kenne 
keine, ausser über WLan zu übermitteln.

Welches WLan-Modul würdest Du nehmen, um mit einem Cortex per WLan zu 
kommunizieren?

Wäre die Kombi: Wlan-Modul + Cortex dann stromsparender, als ein ATmega 
/ ATtiny + Wlan-Modul?

Johannes S. schrieb:
> Wenn du noch ein 5000 Liter Becken gebrauchen kannst, ich
> hätte da was...

Ich hatte mal ein 3000 Liter, aber dank Energiewende wurde es auf 1000 
Liter reduziert. Wenn der Strom irgendwann 1 EUR pro kWh kostet, gebe 
ich das Hobby auf :-((

von Peter King (Gast)


Lesenswert?


von Johannes S. (Gast)


Lesenswert?

naja, 2€ ist jetzt nicht wirklich teuer. Die 868 MHz haben eine bessere 
Reichweite und gerade die billigen nRF24 (die nicht immer von Nordic 
kommen) haben da keinen guten Ruf. Mit den RFM69 habe ich jedenfalls für 
die Sensoren gute Erfahrungen gemacht.
Die Rückmeldung muss man per Software machen, ich benutze eine 
(modifizierte) LowPower Labs Version, die hat das Senden mit Retry und 
ACK auch implementiert, damit ist das einfach. Beim Temperatursensor 
verzichte ich darauf, da ist es egal wenn mal ein Wert nicht ankommt.
Wenn der Strom aus der Steckdose kommt ist ein ESP sicher standalone 
ausreichend, der hat ja selber genug Rechenpower und IOs. Oder wenn 
grössere Datenmengen übertragen werden sollen, in der c't war zB ein 
ePaper Display mit ESP32 Ansteuerung, das werde ich auch mal nachbauen.

Peter King schrieb:
> Wenn der Strom irgendwann 1 EUR pro kWh kostet,

ja, die Stromkosten, das Salz und 800L Wasser pro Wechsel waren hier 
auch der Grund den Stecker zu ziehen.

von Egon N. (egon2321)


Lesenswert?

Peter King schrieb:
> Beide Frequenzbereiche dürften doch in DE erlaubt sein.

Bessere Reichweite und man hat auch mal die Chance senden zu dürfen.


In meiner Stadtwohnung ist das WLAN im 2,4GHz Band unbrauchbar nachdem 
jeder Kasper seinen Router auf 100% in der 30-80m² Wohnung stellt obwohl 
5-10% der maximal möglichen Sendeleistung ausreichen würden. Dann kommen 
ein paar Kasper noch auf die Idee von der Standardbelegung von 1,6,11 
abzuweichen was dazu führt dass die Kollisionserkennung Probleme 
bekommt. Und irgendwelche Kasper machen hier das Band mit Störsendern 
auch noch dicht, hab hier teils Probleme mit der Funktastatur, teils 
eine Reichweite unter einem Meter, manchmal kommt nichts durch, selbige 
Tastatur läuft in einer anderen Wohnung problemlos bei gut 10m 
Entfernung...

Ich sollte da echt mal die Bundesnetzagentur verständigen, die sind erst 
letztens in der Parallelstraße rum gekurvt, hätte ich gleich mal fragen 
sollen ob die sich das mal grob anschauen könnten.

Zudem braucht WLAN relativ lang für einen Handshake, das kann z.B. bei 
einem Briefkastenmelder zu lang dauern, bis dahin ist die Metallklappe 
vorne wieder zu und es ist Essig mit Benachrichtigung.

Die RFM69 bieten zudem einen Rückkanal.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Egon N. schrieb:
> das kann z.B. bei
> einem Briefkastenmelder zu lang dauern, bis dahin ist die Metallklappe
> vorne wieder zu

warum das? Der µC müsste beim Posteinwurf und -abholen geweckt werden. 
Über einen Mikroschalter an der Tür kann ich unterscheiden ob Post 
eingeworfen oder abgeholt wurde. Das löst jeweils nur das Senden der 
Message 'Post ist da' oder 'Post wurde abgeholt' aus und macht beim 
Empfänger die Lampe an oder aus.
Der einzige 'Nachteil' ist das man noch einen Empfänger braucht, fürs 
WLAN hat man ja seinen Router. Ich habe so einen Empfänger auf einem 
Raspberry, das ist eine einfache passive Adpaterplatine mit dem RFM69 
und der Pi bedient das RFM, das funktioniert wunderbar. Die Messages 
werden dann in einen MQTT Broker geschoben, damit kombiniere ich meine 
RFM und ESP Nodes.

von Egon N. (egon2321)


Lesenswert?

Johannes S. schrieb:
> warum das? Der µC müsste beim Posteinwurf und -abholen geweckt werden.
> Über einen Mikroschalter an der Tür kann ich unterscheiden ob Post
> eingeworfen oder abgeholt wurde. Das löst jeweils nur das Senden der
> Message 'Post ist da' oder 'Post wurde abgeholt' aus und macht beim
> Empfänger die Lampe an oder aus.

Der Briefkasten besteht hier vollständig aus Metall.

Wenn der Schlitz zuh ist, dann ist da nichts mehr los mit RF.

: Bearbeitet durch User
von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> in der c't war zB ein
> ePaper Display mit ESP32 Ansteuerung

In welcher Ausgabe war das?

von Johannes S. (Gast)


Lesenswert?

Peter King schrieb:
> In welcher Ausgabe war das?

ct 02/2018, https://github.com/jamct/DoorsignEPD

Egon N. schrieb:
> Der Briefkasten besteht hier vollständig aus Metall.

und ein 8 cm langes Schwänzchen unten rausgucken lassen? Oder ist der in 
einem grossen MFH?

von Egon N. (egon2321)


Lesenswert?

Johannes S. schrieb:
> und ein 8 cm langes Schwänzchen unten rausgucken lassen? Oder ist der in
> einem grossen MFH?

Du scheinst auf SEK Hausbesuche zu stehen.

Jeder Trottel denkt inzwischen dass ein Kabel sofort Bombe bedeutet...

von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> ct 02/2018, https://github.com/jamct/DoorsignEPD

Danke.

Solche E-Ink Displays habe ich oft auf Aliexpress gesehen. Aber allesamt 
mit Folienflachkabel.

Wüsste auch nicht, welches nehmen.

Mit den TFT Displays mit und ohne Touch und ihren Treiberchips sowie der 
Programmierung kenne ich mich aus. Aber für die E-Ink Displays fehlt mir 
noch eine Übersicht über die Treiberchips und Anschlußmöglichkeiten.

Vielleicht hilft der Artikel etwas. Muss die CT noch raussuchen.

von Stefan F. (Gast)


Lesenswert?

> Wäre die Kombi: Wlan-Modul + Cortex dann stromsparender,
> als ein ATmega / ATtiny + Wlan-Modul?

Sicher nicht, läuft ungefähr aufs Gleiche hinaus.

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Sicher nicht, läuft ungefähr aufs Gleiche hinaus.

Dann ist dem ATtiny oder kleinem ATmega vorzug zu geben, weil man keinen 
Quadratischen Cortext in SMD Technik auflöten muss. Ich kann so ein Teil 
nicht sauber auflöten.

Stefan, oben schrieb Jemand, dass Du Bücher schreibst?

Kannst Du mir sagen welche? Ich finde, Du kannst ziemlich gut erklären.

von Stefan F. (Gast)


Lesenswert?

Bücher, guckst du hier: http://stefanfrings.de/

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Bücher, guckst du hier: http://stefanfrings.de/

Super. Danke!

von Frank K. (fchk)


Lesenswert?

Peter King schrieb:

> Ich mache solche Sachen immer über Wlan. 868 MHz hat für mich das
> Problem, dass ich keine Rückmeldung bekomme, ob das Signal beim
> Empfänger angekommen ist. Gibt es dafür überhaupt eine Lösung? Ich kenne
> keine, ausser über WLan zu übermitteln.

Schau her:
http://www.ti.com/product/cc1310

Da ist ein Cortex M3 sowie ein Funksender/Empfänger drin. Software gibts 
von TI.

Das ganze als Modul:
https://www.ebay.de/itm/1-st-Modul-RF-868MHz-GPIO-I2C-I2S-JTAG-SSI-x2-UART-124dBm-14dBm/173201719621?hash=item2853a08145:g:AloAAOSwMYRaYgB1
http://www.radiocontrolli.com/it/articolo/86/new-module-rc-cc1310-xxx

Da kannst Du Deinen eigenen Code mit laufen lassen. Dein Problem mit den 
Bestätigungen ist hier keines, weil Du das selber in der Hand hast.

Kompakter geht es wirklich nicht.

fchk

von Peter King (Gast)


Lesenswert?

Bin gerade beim Einkauf auf AliExpress und Ebay...

Mir ist aufgefallen, dass bei dem USBASP USBIPS Programmer der ATmega328 
nicht mit aufgelistet ist:

https://www.aliexpress.com/item/1-set-USBASP-10Pin-to-6Pin-Adapter-USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-IDC10-51/32753380779.html?spm=a2g0s.8937460.0.0.zEoiYr

Ist im Übrigen bei allen diesen Typen von ISP Programmern, die man auf 
AliExpress findet, der Fsll.

Hat da der Verkäufer die AVR Liste nicht gepflegt und den 328er nicht 
eingepflegt, oder unterstützen diese Programmer den 328er tatsächlich 
nicht?

von Stefan F. (Gast)


Lesenswert?

> Mir ist aufgefallen, dass bei dem USBASP USBIPS Programmer
> der ATmega328 nicht mit aufgelistet ist

Das ist ja komisch. Fakt ist aber, dass USBASP Programmer überhaupt 
keine bestimmten Controller unterstütze, sondern das ISP Protokoll 
generisch. Die Controller spezifischen Unterschiede werden von der 
Software (avrdude) geregelt.

Ich kann Dir aus eigener Erfahrung bestätigen, dass USBASP basierte ISP 
Programmieradapter den ATmega328, ATmega328P und ATmega328PB 
unterstützen. Das ist sicher nur ein Dokumentationsfehler.

Bei Aliexpress ist es auch üblich, dass die Händler alle voneinander 
kopieren - auch die Fehler. Sie stellen auch jahrelang Boards mit den 
selben Fehlern her, obwohl sie längst gemeldet wurden.

von Peter King (Gast)


Lesenswert?

Danke, das habe ich mir gedacht.

Was hälst Du von dem Dev-Board für später?

Hat sogar Ethernet dabei. Für mich sehr wichtig.

https://www.aliexpress.com/item/Open107V-Standard-STM32F107VCT6-STM32F107-STM32-ARM-Cortex-M3-Development-Board-PL2303-USB-UART-Module-Kit/699394543.html?spm=a2g0s.8937460.0.0.vfBgSm

von Stefan F. (Gast)


Lesenswert?

Ich kenne deine Anforderungen nicht, was hast du denn mit dem Board vor? 
Programmieren lernen oder was konkreten bauen?

Für mich ist es immer ein Graus, wenn gefühlt hunderte Kabel alle auf 
einen Punkt zusammen laufen. Ich benutze liebe mehrere kleine 
Mikrocontroller oder verkettete Schieberegister, wenn ich viel I/O Pin 
brauche. Das ergibt eine wesentlich übersichtliche Verkabelung.

Für viele Anwendungen wird das Board zu groß sein. Die Ethernet 
Schnittstelle wird Dir nicht viel nützen, wenn du keine passende 
Software hast. Suche erst einmal danach, denn ich garantiere Dir, dass 
du nicht selbst deinen eigenen Ethernet Treiber samt TCP/IP Stack 
programmieren wirst.

Für Sachen mit Netzwerk ist der ESP8266 oder ein Raspberry Pi 100x 
einfacher, eben weil da die Software fix und fertig verfügbar ist.

von Bernd K. (prof7bit)


Lesenswert?

Peter King schrieb:
> und (mit super Ausstattung)
>
> 
https://www.aliexpress.com/item/Red-crown-Specials-AVR-development-board-ATMEGA128-learning-board-experiment-board-super-cost-effective/716353075.html?spm=2114.search0104.3.22.689669f3GUQXPo&ws_ab_test=searchweb0_0,searchweb201602_4_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711212_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5711315_10621_10620_5722415,searchweb201603_41,ppcSwitch_5&algo_expid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f-3&algo_pvid=bb152934-d6d3-4137-b9a9-f03f03cf5b6f&transAbTest=ae803_3&priceBeautifyAB=0

was willst Du mit der "super Ausstattung?" Sobald Du mal was externes 
anschließen willst wirst Du feststellen daß alle freien Pins bereits an 
irgendwelches Spielzeug auf dem Board angeschlossen sind, sogar der 
letzte freie ADC Eingang geht an ein dummes Poti zum drehen und wird 
unbenutzbar. Für Lehrzwecke vielleicht um Multiplexing bei LED-Anzeigen 
und Tastaturen zu lehren/lernen aber danach fliegt es in die Ecke weil 
für alles andere unbenutzbar.

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich kenne deine Anforderungen nicht, was hast du denn mit dem Board vor?
> Programmieren lernen oder was konkreten bauen?

Ich wollte mich damit einarbeiten, benötige den Zugriff über Ethernet 
und auf den CAN-Bus. Beides soll das Board können.

Erst Mal wollte ich damit entwickeln. Wenn ich die Entwicklung fertig 
habe, kommt wie immer eine geätzte Platine und darauf der µC mit einer 
Ethernet und CAN Schnittstelle, zusätzlich ein Touch Display, und ggf. 
paar Taster und LEDs.

Wenn ich was entwickele, nehme ich immer ein Dev-Board, schließe das 
dran an, was ich brauche. Programmiere die Software drauf und dann wird 
das Ganze auf einer extra dafür geätzten Platine realisiert und kommt in 
ein Gehäuse.

Das habe ich mit dem ESP8266 und ESP32 auch immer so gemacht. Ein 
fertiges Projekt hatte den ESP über ein Adapterboard aufgelötet und die 
Teile, die sonst gebraucht wurden. Ich habe niemals die ESP 
Developmentboards in fertige Geräte eingebaut.

Der STM32F107 hat doch die Ethernet Schnittstelle, sowie die CAN 
Schnittstelle integriert. Müsste es vom Hersteller des Mikrocontrollers 
nicht eine Ethernet Library geben? Genauso eine für den CAN?

Ich habe es über Deine Webseite http://stefanfrings.de/stm32/index.html 
rausgefunden, dass der STM32F105 und der STM32F107 Ethernet und CAN 
können. Darum habe ich sie gewählt.

Es gibt ein noch kleineres Dev Board mit dem STM32F107, nämlich dieses 
hier:

https://www.aliexpress.com/item/Core107V-STM32F107VCT6-STM32F107-STM32-ARM-Cortex-M3-Evaluation-Development-Core-Board-with-Full-IO-Expanders/633110010.html?spm=a2g0s.8937460.0.0.wcQz67

Ich konnte aber bisher nicht sehen, ob auf dem kleinen Board das 
Ethernet und CAN rausgeführt sind.

Ist meine Denkweise falsch, den STM32F107 zu nehmen, wenn ich Ethernet 
und CAN möchte?

Ich ging fest davon aus, dass wenn ein Chip mit diesen Schnittstellen 
schon gebaut wird und diese Schnittstellen rausgeführt werden, vom 
Hersteller entsprechende Libraries veröffentlicht werden müssten, um auf 
Ethernet und CAN zuzugreifen.

Oder ist das nicht so?

von Stefan F. (Gast)


Lesenswert?

Ich denke, dass du das Board zum üben verwenden kannst. Aber suche wie 
gesagt vor dem Kauf zuerst nach Software. Davon ausgehen, dass der 
Hersteller Software bereit stellt ist in Asien keine gute Idee. Dort 
bekommst du meistens nicht einmal einen Schalplan!

Bei den CAN Schnittstellen würde prüfen, ob die CAN Treiber mit auf dem 
Board drauf sind.

Die Software von ST (Cube Hal) läuft in erster Linie nur auf Boards von 
ST. Die Kompatibilität mit anderen Board ist dort keinesfalls 
selbstverständlich.

Was mich jetzt überrascht ist, dass wir auf einmal wieder bei STM32 
sind, Ich dachte du wolltest dich auf AVR Spezialisieren.

Schau Dir mal an, was ST selbst an Entwicklungs-Boards anbietet. Die 
haben allgemein einen guten Ruf und dafür bekommst du ganz sicher 
Software und technische Unterlagen. Sie sind auch ziemlich preisgünstig.

Zum Beispiel:
http://www.st.com/en/evaluation-tools/nucleo-f429zi.html

von John Doe (Gast)


Lesenswert?

Peter King schrieb:
> Danke, das habe ich mir gedacht.
>
> Was hälst Du von dem Dev-Board für später?
>
> Hat sogar Ethernet dabei. Für mich sehr wichtig.
>
> https://www.aliexpress.com/item/Open107V-Standard-...


Nimm lieber ein Nucleo von ST. Dieses hier hat auch Ethernet, einen 
deutlich performanteren Prozessor, dazu die modernere Peripherie (TCM, 
Dual mode Quad-SPI, DMA-Controller z.B.).

von Bernd K. (prof7bit)


Lesenswert?

Peter King schrieb:
> vom
> Hersteller entsprechende Libraries veröffentlicht werden müssten, um auf
> Ethernet und CAN zuzugreifen.
>
> Oder ist das nicht so?

Müssen? Das kann jeder Hersteller machen wie er lustig ist. "Müssen" tut 
er gar nichts.

Es gibt zum Beispiel Hersteller die werfen komplette SoCs im 
Raspberry-Format auf den Markt ohne einen einzigen Treiber oder auch nur 
Dokumentation zu liefern und warten darauf daß die Community in 
mühevoller Kleinarbeit und Reverse-Engineering nach nem halben Jahr 
endlich wenigstens die Hälfte der blumigen Werbeversprechen von z.B. 4k 
Video Wirklichkeit werden lässt und die ansonsten leblose Hardware in 
ein halbwegs nützliches Etwas verwandelt, also das was eigentlich der 
Hersteller hätte mitliefern "müssen". Aber müssen tut der gar nichts 
außer ausreichend Hardware verkaufen damit es sich lohnt und scheinbar 
lohnt es sich auch so.

von John Doe (Gast)


Lesenswert?


von batman (Gast)


Lesenswert?

Peter King schrieb:
> Mir ist aufgefallen, dass bei dem USBASP USBIPS Programmer der ATmega328
> nicht mit aufgelistet ist:
>
> 
https://www.aliexpress.com/item/1-set-USBASP-10Pin-to-6Pin-Adapter-USBASP-USBISP-AVR-Programmer-USB-ATMEGA8-ATMEGA128-IDC10-51/32753380779.html?spm=a2g0s.8937460.0.0.zEoiYr

Ich würde auch nicht allzuviel darauf wetten, daß das ein (Fischl) 
USBASP ist. Den halbchinesischen Wortsalat findet man eher bei den 
China-Versionen, das ist eine proprietäre HID-Firmware (treiberlos), die 
mit einem Windows-GUI namens PROGISP kommuniziert. Aber egal, geht auch 
für 328p.

von batman (Gast)


Lesenswert?

Ahja, Bingo, steht auch gleich oben im Feedback, ein PROGISP. Laß dir am 
besten noch von irgendwo einen richtigen USBASP hinterherschicken. Kann 
man beide gebrauchen. Der treiberlose HID Programmer hat auch seine 
Vorteile.

von Bernd K. (prof7bit)


Lesenswert?

batman schrieb:
> Ich würde auch nicht allzuviel darauf wetten, daß das ein (Fischl)
> USBASP ist. Den halbchinesischen Wortsalat findet man eher bei den
> China-Versionen, das ist eine proprietäre HID-Firmware

Ich hab auch schon mal nen echten Fischl-(kompatiblen) beim Chinamann 
bekommen. Da war tatsächlich eine steinalte oder modifizierte 
Fischl-Firmware drauf (avrdude hat im Prinzip funktioniert aber 
angemeckert daß er den Takt nicht einstellen kann), hab dann kurzerhand 
die echte Fischl-Firmware draufgeflasht und er funktionierte tadellos.

von Peter King (Gast)


Lesenswert?

Ich glaube ich hebe in dem Fall einen Denkfehler oder wir reden 
aneinander vorbei:

Ich ging davon aus, dass im STM32F107 das Ethernet und CAN als 
Schnittstelle im Controller integriert sind. Ist das richtig?

Folglich ging ich davon aus, dass der Hersteller des Chips STM32F107, 
der ja ST ist, wie das ein guter Hersteller von µCs so macht, für seinen 
Chip auch Libs für die auf dem Chip von ihm bereitgestellten 
Schnittstellen anbietet. Oder macht er das nicht?

Einen µC mit integrierten Schnittstellen ohne Libs auf den Markt zu 
schmeißen wäre doch Irrsinn. Wer soll die denn entwickeln, wenn man 
nicht mal weiß wie die Schnittstellen in den µC intern integriert und 
realisiert sind?

Die Chinesen nehmen doch nur den µC und Löten ihn auf eine Platine 
drauf, machen evtl. paar Taster und LEDs dazu und nennen das Ganze: 
"Dev-Board". Manchmal führen sie nur die Anschlüsse des µC auf 
Stiftleisten heraus und sorgen lediglich für eine Versorgungsspannung 
des µC auf dem Board und legen die Programmierschnittstelle in einen 
Stecker bereit.

Was sollen die Chinesen da für Software bereitsstellen? Das verstehe ich 
nicht. Die wollen vermutlich mit den Boards nur Geld machen. 
Programmieren werden die dafür nix.

Wie soll das funktionieren, wenn ich mit einem solchen STM32 einen 
Ethernet und CAN Anschluß realisieren soll? Ich werde doch wohl nicht 
die Schnittstellen von Grund auf selbst programmieren müssen, mit 
funktionierendem Timing, Handshakes, etc.???

Verstehe ich da irgendwas falsch?

@Stefan:

Ich habe festgestellt, dass für die meisten meiner Aufgaben ein Atmel 
AVR reichen müsste. Aber die STM32 haben mein Interesse geweckt, wegen 
den größeren Möglichkeiten, die sie bieten. Daher möchte ich mich erst 
mal mit den AVRs und dann mit den STMs auseinandersetzen.

von Stefan F. (Gast)


Lesenswert?

Im STM32 ist nur der MAC drin, der PHY ist als externer Chip auf dem 
Board. Zu dem muss die Software auch passen.

Du gehst einfach davon aus, dass die Software von ST zu den weitgehend 
undokumentierten Boards aus Asien kompatibel ist. Das kann auch schief 
gehen. Bedenke, dass auf diesen Boards weit mehr drauf ist, als nur der 
nackte Mikrocontroller.

Abgesehen davon: Deine Annahme, dass Chip Hersteller passende Software 
bereit stellen ist nicht richtig. Meistens ist das nicht der Fall. Die 
meisten Chip Hersteller stellen wirklich nur Chips her.

ST bietet in dieser Hinsicht außergewöhnlich viele Programmierbeispiele 
und außergewöhnlich preisgünstig an. Allerdings hat die Software von ST 
einen gemischten Ruf, falls ich das mal vorsichtig formulieren darf.

Aber das wirst noch früh genug selbst merken, wenn du sie benutzt.

Für AVR kann ich Dir noch zwei Dinge empfehlen:
Das CrumbX1 Board, mit einem AVR Xmega Controller und einem Silabs 
CP2201 Ethernet Controller. Die Firmware dazu kommt von Adam Dunkels und 
von mir.

Achtung: Für AVR Xmega Controller brauchst du einen Programmieradapter, 
der das PDI Protokoll (statt ISP) unterstützt.

Und dann gibt es da noch die Ethernet Module von Wiznet, die den TCP/IP 
Stack bereits enthalten und seriell mit dem AVR oder STM32 verbunden 
werden. Also ganz grob betrachtet ähnlich den ESP8266 Modulen, aber mit 
Kabel. Da hast du für rund 10 Euro schon mindestens 90% der 
Software-Komplexität ausgelagert und fertig.

Ein ist jedenfalls sicher: Netzwerkprogrammierung ist auch mit diesen 
Hilfen auf µC um ein vielfaches Aufwändiger, als auf einem Raspberry Pi. 
Wenn es um mehr geht, als ein paar I/O Pin ein/aus zu schalten, würde 
ich eher einen Raspberry Pi (oder ähnlich) verwenden und den ggf. durch 
einen kleinen Mikrocontroller erweitern (z.B um PWM oder andere 
zeitkritische Signale zu erzeugen).

Es ist schon ein himmelweiter Unterschied, ob man ein bewährtes 
Betriebssystem mit gängigen Netzwerk-Tools verwendet, oder einen mehr 
oder weniger nackten Mikrocontroller.

von batman (Gast)


Lesenswert?

FreeRTOS inkl. TCP/IP-Stack ist schon mal eine gute Unterwäsche für 
einen nackten kleinen µC.

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Abgesehen davon: Deine Annahme, dass Chip Hersteller passende Software
> bereit stellen ist nicht richtig. Meistens ist das nicht der Fall. Die
> meisten Chip Hersteller stellen wirklich nur Chips her.

Das ist natürlich dann megamäßiger Mist - zumindest mit meinen Augen aus 
der Bequemen x86 Welt betrachtet ;-)

Danke für die Tipps bezüglich der AVRs.

Ich kenne noch das Ethernet-Board: W5100

https://de.aliexpress.com/item/Free-shipping-W5100-Ethernet-module-Ethernet-network-module-for-arduino/2027367160.html?spm=2114.010208.3.1.8zxN6f&ws_ab_test=searchweb0_0,searchweb201602_4_10056_10065_10068_10055_10054_10069_10059_10078_10079_10073_10017_10080_10070_10082_10081_10060_10061_10052_10062_10053_10050_10051,searchweb201603_3&btsid=f0c3cae1-74ff-47eb-97eb-79ab542f5c9b

Also das mit den STM32 ist schon etwas übel für mich. Habe soeben 
gesucht. Für die Eth-Schnittstelle des STM32 gibt es sogar ein eigenes 
Buch:

https://www.ebay.de/itm/142700068396

Wahnsinn!

Nun, die Bestellung für die AVR-Sachen habe ich fertig und sie ist raus.

Dennoch würde ich gerne mit dem STM32 anfangen, da ich dort das 
"Zuhause" für die komplexeren Aufgaben sehe, die sich auf dem AVR nicht 
mehr oder nur mit Enschränkungen machen lassen.

Die Bestellung für die STM-Geschichten möchte ich jetzt angehen - auch 
unter dem Gesichtpunkt, lieber etwas mehr zu kaufen, als zu wenig. Die 
Lieferung dauert meist 3-5 Wochen. Da ist es Schmerzlich wenn ein 
wichtiges Teil fehlt. Ich habe mich dabei auch an den Infos auf Deiner 
Webseite zu den STM32 gehalten.

Könnte ich Dich darum bitten, mir bei den Positionen meiner Bestellung 
um Hilfe bei der Entscheidung zu bitten, was bestellt werden sollte und 
worauf ich verzichten sollte?

Ich täte hier die Produkte nummeriert auflisten:

Erst kämen die Programmer:

#1: 1 Satz ST LINK Stlink ST-Link V2 Mini STM8 STM32 Simulator
https://de.aliexpress.com/item/ST-Link-V2-Programming-Unit-mini-STM8-STM32-Emulator-Downloader-M89-New/32631496848.html?spm=a2g0s.8937460.0.0.X8gdZi

#2: 1 STÜCK mini ST-LINK/V2 ST LINK STLINK STM8 STM32 emulator
https://de.aliexpress.com/item/1PC-mini-ST-LINK-V2-ST-LINK-STLINK-STM8-STM32-emulator-download-super-protection/32661136538.html?spm=a2g0s.8937460.0.0.X8gdZi

#3: Neue ST-LINK/V2 ST-LINK V2 (CN) ST LINK STLINK Emulator Download 
Manager STM8 STM32
https://de.aliexpress.com/item/1pcs-New-ST-LINK-V2-ST-LINK-V2-CN-ST-LINK-STLINK-Emulator-Download-Manager-STM8/32725864986.html?spm=a2g0s.8937460.0.0.X8gdZi

(Irgendwas sagt mir, ich sollte die #3 nehmen, weil diese die Nummern #1 
und #2 ersetzen wird - sehe ich das richtig? ^^)

#4: STM32F103C8T6
https://de.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module/32656040083.html?spm=a2g0s.8937460.0.0.X8gdZi

(Den schlägst Du auf Deiner Webseite vor - das Blue-Pill Board ^^)

#5: STM32F103C8T6
https://de.aliexpress.com/item/WAVGAT-STM32F103C8T6-stm32f103-stm32f1-STM32-system-learning-board-evaluation-kit-entwicklungsboard/32841552874.html?spm=a2g0s.8937460.0.0.X8gdZi

(Ist auch das Blue-Pill. Keine Ahnung warum, aber solche Boards sagen 
mir mehr zu, als die, welche man direkt auf ein Steckbrett stecken kann. 
Ich gehe dann meist mit ein paar Kabeln auf das Steckbrett von so einem 
Board rüber. ^^)

#6: STM32F103VET6
https://de.aliexpress.com/item/STM32-development-board-STM32-core-board-STM32F103VET6-minimum-system-board-cortex-M3/32693544239.html?spm=a2g0x.search0104.3.118.774e4aacbuPlrz&ws_ab_test=searchweb0_0,searchweb201602_1_10320_10152_10321_10065_10151_10344_10068_10342_10547_10343_10322_10340_10341_10548_10193_10194_10084_10083_10618_10304_10307_10302_5711211_10180_10313_10059_10184_10534_100031_10319_10103_10627_10626_10624_10623_10622_10186_5722411_10621_10620_5711311,searchweb201603_1,ppcSwitch_5&algo_expid=5754fc92-e272-476b-b2eb-b4e4ac0484e4-19&algo_pvid=5754fc92-e272-476b-b2eb-b4e4ac0484e4&priceBeautifyAB=0

(Ebenfalls das auf Deiner Webseite vorgeschlagene Board^^)

#7: STM32F407VET6
https://de.aliexpress.com/item/Free-shipping-STM32F407VET6-development-board-Cortex-M4-STM32-minimum-system-learning-board-ARM-core-board/32618222721.html?spm=a2g0s.8937460.0.0.X8gdZi

(ein M4 mit viel Speicher ^^)

#8: STM32F107VCT6
https://de.aliexpress.com/item/Core107V-STM32F107VCT6-STM32F107-STM32-ARM-Cortex-M3-Evaluation-Development-Core-Board-with-Full-IO-Expanders/633110010.html?spm=a2g0s.8937460.0.0.X8gdZi

(das ist das kleine Board, über das wir vorher sprachen. Für die 
Schnittstellen gibt es keine bequemen Libs ^^)

#9: STM32F107VCT6
https://de.aliexpress.com/item/Open107V-Standard-STM32F107VCT6-STM32F107-STM32-ARM-Cortex-M3-Development-Board-PL2303-USB-UART-Module-Kit/699394543.html?spm=a2g0s.8937460.0.0.X8gdZi

(und vollständigerhalber das große Board, worüber wir oben sprachen ^^)

Sehe ich das richtig, dass mir #3 als Programmer reicht und ich #1 und 
#2 weglassen kann?

Bei den Boards würde ich sicher die #4, #5 und #6 nehmen.

Was meinst Du zum #7 - vollständigerhalber mitnehmen?

Die #8 und #9 ergeben in dem Fall für mich keinen Sinn, wenn ich die 
Schnittstellen nicht einfach ansprechen kann.

Das wären die Bestellungen aus China.

In DE würde ich das Nucleo Board ordern. Da das schnell geliefert wird, 
könnte ich damit sofort anfangen.

Danke Dir für die Hilfe im Vorraus.

von Stefan F. (Gast)


Lesenswert?

> Das ist natürlich dann megamäßiger Mist - zumindest mit meinen
> Augen aus der Bequemen x86 Welt betrachtet

Nun ja, auch Intel ist nicht gerade als talentierte Softwareschmiede 
bekannt. Wenn ich einen neuen Computer kaufe, lösche ich als erstes 
immer alle Programme von Intel, damit sie stabil laufen.

Es freut mich zu sehen, dass du nun die Komplexität der Ethernet 
Schnittstelle erkannt hast.

> Könnte ich Dich darum bitten, mir bei den Positionen meiner Bestellung
> um Hilfe bei der Entscheidung zu bitten, was bestellt werden sollte und
> worauf ich verzichten sollte?

Du musst dich selbst entscheiden. Nur du kennst alle deine 
Anforderungen. Denn geschrieben hast du hier ja nur sehr wenige. 
generell kann man diese billigen Produkte von Aliexpress nur 
schmerzfreien Leuten empfehlen. Denn die haben fast alle irgendwo einen 
Mangel, das sind Restposten!

Ich nenne Dir mal die Mängel, die ich kenne:

Bei beiden ST-Link Adaptern fehlt der SWO Anschluss und der Reset 
Ausgang funktioniert nur mit STM8. Trotzdem kann man ihn benutzen.

Bei dem ST-Link mit Alu Gehäuse fehlt häufig eine Isolation zwischen 
Platine und Gehäuse. Wenn du dann das Gehäuse von Unten hoch drückst 
bekommst du einen Kurzschluss.

Andererseits beschützt ein korrekt montiertes Gehäuse deinen Computer 
davor, dass versehentlich ein Draht drauf fällt oder so. Achte mal auf 
Sicherungen. Die Produkte von ST enthalten eine Polyfuse in der 5V 
Leitung.

Das dritte Gerät würde ich nicht kaufen, denn es ist eindeutig ein 
Plagiat. Viel Spaß beim Zoll, falls sie nachgucken.

Beim STM32F103C8T6 (Blue-Pill) Board muss man die Pins, die mit dem 
Uhrenquarz verbunden sind entfernen, sonst schwingt dieser nicht 
richtig. Der USB port funktioniert erst zusätzlich, wenn man den 
falschen Pull-Up Widerstand an D+ korrigiert. Am SWD Anschluss fehlt der 
Reset Pin. Trotzdem kann man das Board korrigieren und benutzen.

Die größeren Boards kenne ich nicht.

Glaube mir: Irgendwo ist bei den China Produkten immer ein Haken. Wenn 
du geduldig bist, diese selbst zu finden und zu korrigieren, dann kaufe 
sie. Ansonsten kaufen original Tools von ST. Die sind im Vergleich zu 
anderen Chip-Herstellern auch besonders preisgünstig.

von René F. (Gast)


Lesenswert?

Stefan U. schrieb:
> Glaube mir: Irgendwo ist bei den China Produkten immer ein Haken. Wenn
> du geduldig bist, diese selbst zu finden und zu korrigieren, dann kaufe
> sie. Ansonsten kaufen original Tools von ST. Die sind im Vergleich zu
> anderen Chip-Herstellern auch besonders preisgünstig.

Amen!


Hole dir halt einen NUCLEO-F446RE kostet auch nicht wirklich mehr als 
ein paar deiner China Boards, es hat einen ST-Link mit drauf und du 
kannst es sogar beim Conrad kaufen, was will man mehr?

von Joachim B. (jar)


Lesenswert?

Stefan U. schrieb:
> ATtiny13 und Arduino Nano, weil er AVR lernen möchte. So hat er einen
> kleinen und einen mittleren.

oder mighty mini 1284p in groß
https://github.com/JChristensen/mini1284

zur Zeit leider keine Fertigmodule zu kaufen, aber selber bauen Platinen 
von OSH-Park

Beitrag "Re: Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?"

von Stefan F. (Gast)


Lesenswert?

> oder mighty mini 1284p in groß

Der sieht auch gut aus. Scheint Abmessungen zu haben, die man auch noch 
in Handarbeit bestücken kann, wenn es denn sein muss.

von m.n. (Gast)


Lesenswert?

Peter King schrieb:
> In DE würde ich das Nucleo Board ordern. Da das schnell geliefert wird,
> könnte ich damit sofort anfangen.

Beim Vergleich Kosten:Nutzen kann man die kleineren Nucleo-Boards außer 
Acht lassen. Mein Vorschlag wäre ein Nucleo-F411RE (100 MHz schnell, 
viel RAM, viel freie IO-Leitungen), oder ein Nucleo-F446RE und/oder ein 
'high-end' Nucleo-F746ZG (sehr schnell, sehr viel RAM, fix+fertiges 
Ethernet auf dem Board).
Einen ST-Link braucht man bei beiden nicht zusätzlich.

von Stefan F. (Gast)


Lesenswert?

Mein Nucleo Board hatte ich bei Amazon bestellt. Händler war ST selbst, 
geliefert wurde schon am nächsten Tag. Und das für knapp unter 20 Euro.

von Johannes S. (Gast)


Lesenswert?

Als Vorteil gegenüber den Nucleos: für die #7 gibt es ein TFT mit Touch 
das direkt aufgesteckt werden kann, hatte ich ja schonmal geschrieben. 
Dabei wird das mit schneller paralleler Ansteuerung betrieben. 
Zusätzlich ist eine Batterie für die RTC mit drauf und ein SD Karten 
Slot, das ist auch praktisch für einen kleinen Steuerrechner. Es gibt 
auch eine Version die noch besser geeignet ist weil man die beiden 
langen Headerreihen dann nach hinten rausgehend einlöten kann:
https://de.aliexpress.com/store/product/Freies-verschiffen-STM32F4-bord-STM32F407VET6-STM32-Cortex-M4-development-board-DIY-pin-header/1817254_32843484907.html

von Stefan F. (Gast)


Lesenswert?

> für die #7 gibt es ein TFT mit Touch
> das direkt aufgesteckt werden kann

Gibt es für die Nucleo-64 Boards auch, und zwar kostengünstig aus dem 
Arduino Umfeld.

> ein SD Karten Slot

Was bei vielen Display Modulen, die auf das Nucleo64 Board passen, auch 
gleich mit dabei ist.

> Es gibt auch eine Version die noch besser geeignet ist

Wofür besser geeignet? Für deine Anwendung - Ok. Aber die Anforderungen 
des TO sind ja immer noch unbekannt.

Das Wichtigste hast du aber ganz übersehen: Dein empfohlenes Board hat 
einen Ethernet Anschluss. Das ist aber eins der wenigen Kriterien, die 
der TO ausdrücklich genannt hat und mehrfach wiederholt hat.

von Johannes S. (Gast)


Lesenswert?

Stefan U. schrieb:
> Gibt es für die Nucleo-64 Boards auch, und zwar kostengünstig aus dem
> Arduino Umfeld.

aber nicht so das sie direkt mit dem FSMC betrieben werden können. Die 
Arduino Displays sind oft für das Mega2560 Board, die haben eine andere 
Belegung und sind für 5V ausgelegt. Und die 'Shield' Versionen sind noch 
schlechter mit den Bits die auf verschiedene Ports verteilt sind.
Wenn man für das Board fertige Libs sucht wird man bei STM32duino 
fündig, wenn es sein muss kann man das in der Arduino Umgebung 
programmieren. Oder die wie finde besser Alternative mbed, aber das ist 
hier ja weniger bekannt/beliebt.

Stefan U. schrieb:
> Wofür besser geeignet? Für deine Anwendung - Ok. Aber die Anforderungen
> des TO sind ja immer noch unbekannt.

Als Beispiel hat er eine Steuerung fürs Aquarium genannt. Die wird man 
auch in ein Gehäuse bauen wollen und da sind die Stecker in Display 
Richtung suboptimal. Die Version kostet auch nicht mehr und wenn man den 
Lötkolben richtig rum halten kann sollte es kein Problem sein die so 
einzulöten wie man es haben möchte.

Stefan U. schrieb:
> Dein empfohlenes Board hat
> einen Ethernet Anschluss.

??? es hat (leider) keinen Ethernet Anschluss. Der µC hat den MAC aber 
der PHY fehlt.

von Stefan F. (Gast)


Lesenswert?

> Oder die wie finde besser Alternative mbed, aber das ist
> hier ja weniger bekannt/beliebt.

Du scheinst dich damit auszukennen. Ich hatte mir vor ein paar Jahren 
mal mbed angeschaut und mit gefiel der damalige Online-Zwang nicht. Kann 
man damit mittlerweile ordentlich entwickeln, ohne seine Programme 
hochladen zu müssen? Und darf man sie in kommerziellen Projekten 
einsetzen?

von m.n. (Gast)


Lesenswert?

Stefan U. schrieb:
> Mein Nucleo Board hatte ich bei Amazon bestellt.
> Und das für knapp unter 20 Euro.

Das weiß man doch gleich, was gemeint ist :-(
Ich versteh auch nicht, warum immer die Händler mit den miesesten 
Arbeitsbedingungen genannt und Steuerhinterzieher bevorzugt werden.

Wenn ich die Nucleo-Boards empfehle, dann doch nicht, um gleich wieder 
Arduino-Handschellen anzulegen.
Meiner Meinung nach sind viele frei verfügbare Leitungen angesagt.

von Stefan F. (Gast)


Lesenswert?

>> Dein empfohlenes Board hat
>> einen Ethernet Anschluss.

> ???

Ganz Recht, da hat das "k" geklemmt. Dem TO war wohl auch ein Ethernet 
Anschluss wichtig.

Da würde ich ich wie gesagt aber erst einmal nach brauchbarer Software 
suchen. Wenn ich keine finde, dann vielleicht doch lieber einen ESP8266 
oder ein Wiznet Modul dran hängen. Ist einfacher.

von Johannes S. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich hatte mir vor ein paar Jahren
> mal mbed angeschaut und mit gefiel der damalige Online-Zwang nicht.

Ich beschäftige mich schon lange damit, mal mehr mal weniger.
Einen 'Online Zwang' gibt es aber schon ewig nicht mehr, die Quellen 
sind schon seit vielen Jahren offen. Der Online Compiler + das einfache 
flashen per USB Massenspeicher waren zwei Kernideen um das als System 
Schülern einfach zugänglich zu machen ohne Compiler kaufen und 
installieren zu müssen.
Heute wird das sehr in Richtung IoT weiterentwickelt, aber die Basis ist 
ja einfach eine Lib die eine einheitliche API für die µC Hardware 
bereitstellt.
In den letzten zwei Jahren hat ARM da richtig Gas gegeben und das 
kräftig weiterentwickelt. Für die offline Nutzung installiert man das 
mbed-cli, das enthält die gcc Toolchain und Kommandozeilentools um 
Programme per git/Mercurial zu holen, zu kompilieren und zu flashen. 
Weiterhin kann man die Programme in seine Lieblings IDE exportieren, 
SW4STM32 ist zB auch dabei.
Mit 'besser' meine ich die ganze Softwarestruktur und die Organisierung. 
Das API ist C++ und für alle Cortex-M gleich, die Tools sorgen beim 
Buildvorgang dafür das die CPU spezifische Implemtierung dazugebaut wird 
(da gibt es auch keinen Codegenerator wie manchmal fälschlich 
geschrieben wird). Dieser ganze Softwarebrocken wird von ARM verwaltet. 
Die betreiben exzessive Tests um das Ganze konsistent zu halten, die 
Anzahl der unterstützen Kombinationen aus MCU  Toolchains  HostOS ist 
riesig. Bei Arduino gibt es dagegeben den 'core' den verschiedene 
Gruppen anbieten und eine zentrale Qualitätskontrolle gibt es daher 
nicht. Vorteil ist hier natürlich das dies komplett verschiedene 
Architekturen unterstützt, angefangen mit AVR 8 Bittern aber 
mittlerweile läufts ja auch auf 32 Bittern, ESP und was weiss ich noch. 
Allerdings müssen die 'Libs' dann auch zum core passen. mbed ist von ARM 
und die haben genug damit zu tun ihre Flöhe zu hüten und da wird man 
sicher keine ESP Unterstützung finden.
Sorry, so viel offtopic, aber schon mein Lieblingsthema :-)

von Johannes S. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ganz Recht, da hat das "k" geklemmt. Dem TO war wohl auch ein Ethernet
> Anschluss wichtig.

ok, in dem Fall sind die Nucleos oder andere, z.b. hier die mbed Liste 
mit Filter=Ethernet, brauchbar:
https://os.mbed.com/platforms/?connectivity=2
Für viele gibt es in mbed auch Ethernet Unterstützung.

von Stefan F. (Gast)


Lesenswert?

Johannes, du scheinst ja von mbed positiv beeindruckt zu sein.

Ich sehe es als Alternative zu Arduino. Bei Arduino merkt man allerdings 
deutlich, dass dort der Fokus (noch) bei AVR liegt. Die Unterstützung 
für ARM ist dort lückenhaft umgesetzt und längst nicht so einheitlich, 
wie man das gerne hätte.

Von ST gibt es dann ja noch die Cube HAL von deren Nutzen ich aber gar 
nicht überzeugt bin. Die vorhering Standard Peripheral Lib hatten sie 
schon nach weniger als 10 Jahren abgekündigt und man sollte nicht 
vergessen, dass Cube HAL nur auf STM32 läuft.

Da finde ich den offeneren Ansatz von Arduino und mbed doch besser.

Wenngleich ich beide nicht im professionellem Umfeld sehe, kann man 
dennoch nicht ignorieren, dass Arduino (vielleicht auch mbed) vielen 
Menschen Zugang zur Mikrocontroller-Welt eröffnet haben, die sonst einen 
großen Bogen drumherum gemacht haben.

Kann man den ESP8266 mit mbed ähnlich einfach programmieren, wie mit 
Arduino?

von Joachim B. (jar)


Lesenswert?

Stefan U. schrieb:
> Kann man den ESP8266 mit mbed ähnlich einfach programmieren, wie mit
> Arduino?

vergiss den ESP8266 und nimm gleich den ESP32, integriere den in die 
Arduino IDE und du hast was du wünschst.

Ich habe es vor einem Monat gemacht, RTC und OLED laufen auf dem 
Breadboard in der Arduino IDE wie am nano oder mighty mini1284p

: Bearbeitet durch User
von mnkldf (Gast)


Lesenswert?

m.n. schrieb:
> Wir haben das Jahr 2018 (neudeutsch: zwei achtzehn)

Nein. Das Handbuch fuer Neudeutsch sagt: "zwanzig achtzehn."

mnkldf

von Stefan F. (Gast)


Lesenswert?

> vergiss den ESP8266 und nimm gleich den ESP32

Damit tue ich mich schwer. Beim ESP8266 hat es mehrere Jahre gedauert, 
bis die Firmware stabil lief. Jetzt, wo es gerade so weit ist und ich 
meine Module (von denen ich reichlich Vorrat habe) ernsthaft einsetzen 
kann, möchte ich nicht ins nächste ungewisse Land vorstoßen.

Eigentlich hatte ich sogar beschlossen, mir nie wieder andere Chips von 
Espressif zu kaufen, nach der schlechten Erfahrung. Ich habe damit viele 
hundert Stunden meiner wertvollen Lebenszeit vergeudet.

Aber wenigstens die 20 Module, die ich mir als Vorrat angelegt habe, 
würde ich dann doch noch gerne sinnvoll einsetzen. Immerhin habe ich 
eine AT Firmware und eine Arduino Version vorliegen, die beide endlich 
sehr stabil laufen. Meine Testkandidaten sind beide seit 11 Monaten im 
Dauerbetrieb ohne einen einzigen Ausfall bemerkt zu haben.

von Johannes S. (Gast)


Lesenswert?

Stefan U. schrieb:
> Johannes, du scheinst ja von mbed positiv beeindruckt zu sein.

ja, weil es mittlerweile richtig gut zu gebrauchen ist. Für erste Tests 
ist der Online Compiler ok (da steckt der Keil Compiler hinter der sehr 
gut optimiert), ich wollte die Quellen zum Debugger aber auch immer 
lokal in meiner IDE haben. Das wurde da lange vernachlässigt aber 
funktioniert mittlerweile recht gut.
Arduino funktioniert auch gut, aber die IDE ist mir zu spartanisch, da 
wurde eben nur das Nötigste eingebaut um Einsteiger glücklich zu machen. 
Es ist weiter verbreitet, aber bei den vielen Libs und Projekt-Blogs ist 
auch viel Müll dabei. Aber wenn man etwas brauchbares gefunden hat lässt 
es sich meist auch mit überschaubarem Aufwand nach mbed portieren.
Cube ist auch so ein Thema, da muss ich schon wieder soviel schreiben...
Das habe ich mir auch angesehen und finde einige Sachen darin schön, 
z.B. die Darstellung der Clocks die ja sehr Umfangreich ausfallen kann. 
Und das man eine schöne Dokumentation der verwendenten Resourcen 
bekommt.
Nur den Workflow finde ich nicht gut (korrigiert mich wenn ich was 
falsches schreibe, ich habe es schon länger nicht mehr gestartet). Cube 
ist der Master des Projekts: ich starte z.B. mit einer Led an einem Pin, 
konfiguriere den mit wenigen Klicks und bekomme ein Projektfile das für 
meine IDE. Jezte möchte ich einen Pin belegen, dazu muss ich wieder Cube 
würfeln lassen und mischt meinen Code mit den neuen Änderungen. Dazu 
muss man aufpassen das man seinen Code nur dahin schreibt wo Cube nix 
überschreibt, schön sieht so ein Quelltext nicht aus. Einen Port selber 
zu initialisieren sollte man vermeiden, dann weiß der Würfel da nix von. 
Cube muss immer schön der Master bleiben.
Mit meiner Classlib sieht das anders aus, ich lege die IO Objekte selber 
an und die mbed Lib sorgt für die nötige Initialisierung. Wenn ich die 
Led an einen anderen Port anschliesse ändere ich eben nur den Pinnamen, 
bei Cube muss man wieder neu würfeln.
Aber da mbed für die STM Targets auch die HAL und LL verwendet kann ich 
für die Hardwareteile die nicht in der mbed Basis sind Code von Cube 
generieren lassen und diesen in mein mbed Programm übernehmen. Die HAL 
Header sind vorhanden und ich kann die Vorteile des Codegenerators 
nutzen. Der Code ist dann natürlich Targetabhängig, aber irgendwann 
entscheide ich mich ja mit welcher Plattform ich ein Projekt realisieren 
möchte.

von Johannes S. (Gast)


Lesenswert?

Stefan U. schrieb:
> Kann man den ESP8266 mit mbed ähnlich einfach programmieren, wie mit
> Arduino?

nein, leider nicht weil mbed = ARM und da sind 'nur' die Cortex-M drin. 
Im Prinzip könnte man das erweitern, aber im Detail ist das viel Arbeit. 
Soweit reicht die Liebe dann doch nicht, mit der Arduino Umgebung habe 
ich einen ESP8266 + SHT15 + MQTT auch schnell zusammengeklickt bekommen 
und das Ding funkt auch seit Wochen brav die Klimawerte aus dem Keller.
Ich bin da kein Arduino 'Hater', komplexere Sachen mache ich eben lieber 
selber in mbed. Habe aber auch einen 3D-Drucker mit Marlin Firmware 
obwohl es das Smoothieboard mit mbed Basis gibt.

von Stefan F. (Gast)


Lesenswert?

Johannes, du hast genau die Nachteile beschrieben, die mir bei Cube HAL 
auch aufgefallen sind. Wo Cube einen völlig alleine lässt ist, wenn man 
einen I/O Pin zur Laufzeit wechselweise für unterschiedliche Sachen 
verwendet. Oder die Taktfrequenz zur Luftzeit ändern will.

Das geht schon irgendwie aber man merkt, dass es nicht wirklich 
vorgesehen ist.

von Peter King (Gast)


Lesenswert?

Werden die Nucleo Boards alle gleichmäßig von ST mit Libs versorgt oder 
gibt es da auch vernachlässigte Kandidaten?

Hier im Thread wurden diese empfohlen:

NUCLEO-F446RE
Nucleo-F411RE
Nucleo-F103RB
Nucleo-F746ZG

Stefan U. schrieb:
> Ich nenne Dir mal die Mängel, die ich kenne:
> [...]

Das waren aber ganz schön viele Mängel...
Für einen Anfänger sicher katastrophal, wenn man erst dafür Sorge tragen 
muss, dass die Hardware das tut, was sie soll.

Johannes S. schrieb:
> Als Vorteil gegenüber den Nucleos: für die #7 gibt es ein TFT mit Touch
> das direkt aufgesteckt werden kann, hatte ich ja schonmal geschrieben.
> Dabei wird das mit schneller paralleler Ansteuerung betrieben.
> Zusätzlich ist eine Batterie für die RTC mit drauf und ein SD Karten
> Slot, das ist auch praktisch für einen kleinen Steuerrechner. Es gibt
> auch eine Version die noch besser geeignet ist weil man die beiden
> langen Headerreihen dann nach hinten rausgehend einlöten kann:
> 
https://de.aliexpress.com/store/product/Freies-verschiffen-STM32F4-bord-STM32F407VET6-STM32-Cortex-M4-development-board-DIY-pin-header/1817254_32843484907.html

Das von Dir verlinkte Board habe ich auf der Bestellliste. Aber den 
Pinkompagiblen parallelen TFT finde ich nicht bei AliExpress. Hast Du 
mir ggf. einen Link zu dem Teil?

Die 240x320 Pixel Touch TFTs von AliExpress mit SPI Anschluss (seriell) 
habe ich zu Hauf zu Hause, aber kein einziges Paralleles.

von Stefan F. (Gast)


Lesenswert?

Warum hast du dich so auf AliExpress versteift?

von Johannes S. (Gast)


Lesenswert?

Peter King schrieb:
> Hast Du
> mir ggf. einen Link zu dem Teil?

https://de.aliexpress.com/item/3-2-inch-TFT-LCD-screen-with-resistive-touch-screens-ILI9341-display-module/32662835059.html

Bei Acelex hatte ich schon mehrmals bestellt, die Teile kamen immer 
recht zügig, ich meine etwa zwei Wochen.

von Peter King (Gast)


Lesenswert?

Stefan U. schrieb:
> Warum hast du dich so auf AliExpress versteift?

Ich habe dort die ESPs gekauft und auch die Boards mit Sensoren, etc. 
drauf. Ist halt ein umfangreiches Angebot da, das man so in DE weder auf 
Ebay noch Amazon findet - zumindest nicht mehr.

Ausserdem war ich mal Online-Händler und habe aus China viel importiert 
und ebenfalls dort produzieren lassen. Daher vielleicht die Affinität.

Es ist nicht alles Schrott was aus China kommt. Es kommt darauf an, 
welche Vorgaben man dem Hersteller macht. Heutzutage ist es dort möglich 
Produkte zu gleicher Qualität wie in der EU herstellen zu lassen, sofern 
es sich dabei nicht um hochkomplexe Dinge, wie z.B. Weltraumraketen 
handelt.

von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> 
https://de.aliexpress.com/item/3-2-inch-TFT-LCD-screen-with-resistive-touch-screens-ILI9341-display-module/32662835059.html
>
> Bei Acelex hatte ich schon mehrmals bestellt, die Teile kamen immer
> recht zügig, ich meine etwa zwei Wochen.

Super Danke. Und das kann man einfach so auf das vorher genannte Board 
drauf stecken? D.h. es ist Pinkompatibel.

von Johannes S. (Gast)


Lesenswert?

Jepp.

von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> Jepp.

Perfekt. Das Display wäre TOP für meine Aqua-Steuerung für das 
Bedienteil und das Haupt-Steuerungsteil. Dafür der STM32 auch gut 
geeignet.

Die Sensorik, wie PH-, Salinitäts-, Redox-Messung würde ich dann mit 
einzelnen AVRs realisieren und diese mit dem Hauptteil z.B. über I2C 
oder einen anderen Bus kommunizieren lassen.

Noch mal zu den AVRs:

Ich habe mir die folgenden ATtinys angeschaut:

ATtiny 13A, 25, 45 und 85

Die Unterschiede zwischen dem 13A und den anderen drei habe ich raus.

Aber die Unterschiede zwischen den 25, 45 und 85 finde ich nicht raus. 
Ist doch alles gleich. Gleicher Speed, gleich großer ROM, RAM und EEPROM 
bei allen drei. Ebenso die gleichen Timer und PWM Ansteuerung, auch der 
gleiche 10-bit ADC, sowie der Stromverbrauch von 0,1µA im Sleep und von 
300µA bei 1 MHz. Alles bei den dreien ist gleich.

Übersehe ich was?

von S. Landolt (Gast)


Angehängte Dateien:

Lesenswert?

Ich weiß nicht, wie die neuen Datenblätter aussehen, ich füge hier mal 
die erste Seite eines alten an, da sind die Unterschiede bei den 
Speichergrößen auf einen Blick ersichtlich.

von Peter King (Gast)


Lesenswert?

S. Landolt schrieb:
> ich füge hier mal
> die erste Seite eines alten an, da sind die Unterschiede bei den
> Speichergrößen auf einen Blick ersichtlich.

Danke, ich habe den Wald vor lauter Bäumen nicht gesehen. Jetzt sind die 
Unterschiede klar. Sind die Speichergrößen.

von Peter King (Gast)


Lesenswert?

Johannes S. schrieb:
> 
https://de.aliexpress.com/item/3-2-inch-TFT-LCD-screen-with-resistive-touch-screens-ILI9341-display-module/32662835059.html
>
> Bei Acelex hatte ich schon mehrmals bestellt, die Teile kamen immer
> recht zügig, ich meine etwa zwei Wochen.

Noch eine Frage zu dem TFT Display.

Ist das STM32 FSMC bus interface, was so ein Display haben muss, damit 
es auf das STM32 Board aufsteckbar ist, von dem wir sprachen?

von Gottfried S. (gottfried)


Lesenswert?

Das sind keine alten AVR Modelle.
Alle werden noch produziert und haben einen JTAG, was den Chip teurer 
macht.

Der ATmega328 ist der billigste, da er nur einen UART hat und debugWire 
anstelle des JTAG. Wenn jemand schon mal mit dem debugWire gearbeitet 
hat, der weis, wie schnell man den unbrauchbar machen kann. Zudem hat 
dieser auch weniger Pins und IO als die ATmega64/ATmega32A ...
Bei keinem Arduino mit AVR ist ein JTAG Anschluss, da der ATmega328 
keinen JTAG hat.

Ich würde die einen von denen empfehlen, welcher einen JTAG bereits 
onboard hat (3. Link ...) mit dem 10-Poliger Stecker

Du brauchst aber für das Debuggen einen JTAG ICE oder JTAG ICE mk2.
Da kannst bis zu 3 HW-Breakpoints setzen (auch RAM) und software 
Breakpoints im Flash. Ist viel schneller und sicherer als das mit 
debugWire.

Für das Programmieren mit dem 6-poligen ISP reicht ein günstiger 
Programmer, die gibt es schon ab EUR 40, oder du besorgst dir einen JTAG 
ICE mkII die gibt es mitlerweile auch als Nachbau, hab ich aber noch 
nicht getestet.

Mit dem kannst du die Ports viel effizienter gestalten - Beispielsweise 
ein Display auf einen PORT verkabeln und den Port direkt schreiben, 
anstelle dieses Arduino gefrimels mit jedem einzelnen Port Pin, das 
spart eine Menge Code und ist noch dazu schneller, 8 Relais an einem 
Port kannst du mit einem einzelnen Byte auf den PORT setzen und löschen.

von Gottfried S. (gottfried)


Lesenswert?

Axel S. schrieb:
> Einen integrierten USB-Port haben die ATMega nicht. Und der zusätzliche
> USB-zu-serial Chip kostet nahezu so viel wie der ATMega selber. Der
> Bootloader frißt 2KB Flash. Außerdem fallen diese Kosten bei *jedem*
> Board an. Den ISP-Programmer brauchst du hingegen nur einmal.

Es gibt ATmegas mit integrierten USB, die sind im Arduino Leonardo und 
haben ein U am ende, wie der ATmega32U4, hier kann man einen Bootloader 
mit USB machen und vieles mehr.
Dieser kann auch für alle anderen USB Geräte verwendet werden, wie zum 
Beispiel eine HID wie Tastatur, Joystick, .. oder Speichercontroller 
oder auch USB-to-Serial usw. Aber das muss alles mit Hand programmiert 
werden oder mit Libs, die es schon gibt.

von spess53 (Gast)


Lesenswert?

Hi

Du bist 2 Jahre zu spät!

MfG Spess

von Gottfried S. (gottfried)


Lesenswert?

Lothar schrieb:
> Peter King schrieb:
>> Warum montiert man nicht an jeden ATmega einen USB Port dran und macht
>> den Bootloader drauf? Würde doch in jedem Fall die extra Programmer
>> ersparen, oder sehe ich das falsch?
>
> Das siehst Du richtig. Aus unerfindlichen Gründen machen einige
> Hersteller ab Werk einen Bootloader drauf (EFM, LPC, STM) und andere
> nicht (AVR, PIC) Warum das so ist bleibt rätselhaft. Wem der Bootloader
> nicht passt, kann ihn ja löschen. Aber ohne Programmer bekommt man
> keinen drauf. Vielleicht zur Absatzsteigerung der Atmel ICE und PICkit.
> Am Speicher liegt es übrigens nicht, der EFM Bootloader z.B. braucht
> weniger als 256 Byte Flash.

Man hat mehr Möglichkeiten, wie zum Beispiel Bootloader über USB, 
Seriell, Paralell, I²C, SPI, RS422, Serial Master Mode, SD-Karte, 
Flash-Speicher, NVRAM, ...

Zu der Zeit, wo die AVR entstanden sind, war Flash-Speicher gerade erst 
am Anfang und noch sehr teuer, aber billiger als EEPROM. Der erste 
ATmega103 mit 128kB Flash kostete damals so um die 20-30 EUR. Vor 10-15 
Jahren kosteten die auch noch so ca. 8 EUR ab 128kB Flash. Jetzt bekommt 
man die ab 2-5 EUR.

Die Arduino Boards sind aber nicht billiger geworden, ein Arduino mega 
2560 kostete 2013 EUR 50 und kostet jetzt EUR 40, ein Nachbau kostet EUR 
10. Der Controller kostet nackig 8-10 EUR

Zu der Zeit war es eben einfacher, wenn man den Bootloader selber 
schrieb, da mit Serial es ziemlich viele Unterschiede mit Protokollen 
gab, auch für die Baudrate gab es keinen Standard. Auch ein Branding war 
möglich, beispielsweise Versionsnummer abfragen und ob das Update für 
dieses Gerät ist. Mit mehreren Arduinos habt ihr schon bestimmt schon 
mal den falschen Sketch auf das Board geladen, was mit einem selbst 
gebauten Bootloader geprüft werden könnte. Im besten Fall funktioniert 
dann nichts, im schlimmsten Fall zerschießt man die zusätzliche Hardware 
oder den ATmega.

Bei den EFM, LPC, STM usw. muss man auch mit Lötbrücken festlegen, 
welchen Bootloader man möchte (Flash, USB, RAM usw.) was bei den 
Evaluation Boards fix über den J-Link oder Debugger vorprogrammiert 
wurde. Möchte man ein eigens entwickeltes Board bauen, kommt man hier 
auch nicht um den Bootloader herum. Man muss zuerst auch über einen 
Programmer das Programm mit Bootloader laden und einen eigenen 
USB-Treiber entwickeln, wenn es später noch über USB updatefähig sein 
soll.

Bei den Fahrzeugen wird auch mit einem speziellen Programmiergerät die 
Steuersoftware upgedated.

von Gottfried S. (gottfried)


Lesenswert?

Stefan ⛄ F. schrieb:
>> Sonst könnte man es auf einem
>> Arduino Board machen. ABER: Dort ist kein debugging möglich
>
> Das ist nicht richtig. Du kannst den Debugger (Atmel ICE oder gerne auch
> das STK500) an die ISP Schnittstelle jedes Arduino Moduls stecken und
> damit debuggen.

Vorher aber den Kondensator und den Pull-Up am RESET auslöten, da sonst 
das Debuggen nicht mehr möglich ist und du den auch nicht mehr per ISP 
programmieren kannst.
Es gibt dann nur noch die Möglichkeit, die beiden Bauteile auszulöten, 
das Debuggen starten und debuggen beenden mit deaktivieren des 
Debugmodus.
Damit kannst du aber nicht alles debuggen, da in diesem Modus der Sleep 
nicht mehr richtig funktioniert und noch andere kleinere Einschränkungen 
wie sehr langsames debuggen mit software Break-Points, was weit 
langsamer ist als mit JTAG.

von Gottfried S. (gottfried)


Lesenswert?

Peter King schrieb:
> Ob Microchip die Atmel AVRs begraben will? Ich weiß nicht. Sind die
> Atmel AVRs nicht zu sehr verbreitet, um sie zu beerdigen? Außerdem hat
> Microchip doch einige Evaluation Boards rausgebracht, um Neulingen den
> Umgang mit den Atmal AVRs beizubringen. Wozu neue User für die Atmel
> Dinger gewinnen, wenn man sie in Wirklichkeit beerdigen will? Das passt
> doch nicht zusammen. Ist aber nur meine Denke. Vielelicht irre ich mich
> da.

Nein, werden sie nicht. Es sind neuere Tiny herausgekommen mit 
Funktionen der Xmega reihe, wie Event-Kanäle, SleepWalking, usw. wurden 
da verbaut.
https://www.microchip.com/wwwproducts/en/ATTINY404

Sogar die 8051 sterben noch nicht aus, vor ein paar jahren hat FTDI den 
kleinsten vorgestellt mit gerade mal 2 mm² und in china gibt es etliche 
Hersteller die diese on Mass herstellen. Hab vor kurzem ein DMX-Gerät 
gekauft mit einem 8051er und in den heutigen Tastaturen sind diese auch 
noch haufenweise verbaut.

von S. R. (svenska)


Lesenswert?

Du bist immernoch 2 Jahre zu spät.

von Gottfried S. (gottfried)


Lesenswert?

S. R. schrieb:
> Du bist immernoch 2 Jahre zu spät.

Ja, aber vielleicht gibt es ja noch andere, die mit ATmega anfangen 
möchten und nicht gleich einen Uber 32-Bit ARM verwenden möchten, 
welcher in der Komplexität schon beim hinsehen überfordert.
AVR ~ 120 Seiten Handbuch
Cortex-M4F Handbücher mit über 1000 Seiten.

Zudem ist ein Cortex-M4F nicht das selbe, da es von verschiedenen 
Herstellern zwar angeboten werden, aber jeder Chiphersteller seine 
eigene Peripherie hat und somit jeder anders zu programmieren ist. Hast 
du schon mal so etwas einfaches wie einen I²C oder UART auf einem ST, 
Atmel, NXP, TI, Maxim, Infineon, Renesas, Cypress, Freescale, ... 
programmiert? Dann ist noch zu entscheiden, möchte ich den FPU oder doch 
lieber den DSP verwenden, ... Oder genügt auch ein M0, M1 oder M3 oder 
steige ich schon auf die nächste Generation um, den M23 oder M33. Oder 
doch lieber schon einen ARM X mit Linux, Microsoft IoT, ...

Für einfache Sachen ist der AVR meist ausreichend, da er Analogeingänge 
hat, was die meisten 32-Bit ARM nicht haben und zusätzliche Hardware 
erfordern, EEPROM hat keiner der 32-Bitter, was über externe Bausteine 
oder EEPROM-Emulationssoftware gelöst werden muss, wenn man dies 
benötigt, usw.

Bin ja auch beim überlegen ob ich noch mit PIC oder/und 8051 anfange, da 
es diese auch in sehr großer Stückzahl gibt und einen 8051 bekommt man 
schon für ein paar Cent. Aber zu Assembler zurück wäre mir zu aufwendig, 
aber es gibt ja auch noch C-Compiler für diese.

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.