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
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
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
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.
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.
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.
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.
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.
René: Kann man das Arduino Board auch mit dem Atmel Studio entwickeln und es über den USB-Anschluß des Boards programmieren?
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
> 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.
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.
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.
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?
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?
Peter King schrieb: > Geht das so überhaupt? Sicher. Foto: kleine Bastelei, alles in Assembler, XMEGA A1U XLAINED Board direkt über USB angeschlossen.
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.
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.
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.
> 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?
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.
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.
Hier hast du einen Überblick über die STM32F1 Serie, die sind zur Zeit recht preisgünstig zu haben: http://stefanfrings.de/stm32/index.html
Danke Stefan. Nein, bin "erst" 41. Aber im Vergleich zur 20, fühlt sich die 41 fast wie 90 an. ;-)
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.
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
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?
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.
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.
@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.
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
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.
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
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.
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.
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
> 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.
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...
> 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.
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.
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
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.
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.
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
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.
alles andere als ein 3€-arduino-m328-board und ein 5€-usb/isp-Programmer ist oversized. Dazu winAVR als komfortable Programmierumgebung mit unschlagbarer Performance.
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.
> 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.
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.
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.
> ... 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.
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.
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.
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.
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.
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
Egon N. schrieb: > Nachdem dir der Energieverbrauch anscheinend relativ wichtig ist würde > ich dir persönlich zu einem Gecko Board von Silicon Labs raten Meinst Du diesen hier?: https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-gecko-starter-kit @Stefan: Danke Dir für die Einkaufsliste. Habe die noch um den hier erweitert: https://de.aliexpress.com/item/STM32F103RET6-ARM-STM32-Minimum-System-Development-Board-Module-For-arduino-Minimum-System-Board-STM32F103C8T6-upgrade-version/32783212996.html?spm=a2g0x.search0104.3.120.a44d4e1fV0OaVl&ws_ab_test=searchweb0_0,searchweb201602_3_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_5722413,searchweb201603_25,ppcSwitch_5&algo_expid=3966a8e4-1995-4f44-abbd-e4a9cf1c7bbd-17&algo_pvid=3966a8e4-1995-4f44-abbd-e4a9cf1c7bbd&transAbTest=ae803_3&priceBeautifyAB=0 Hat etwas mehr Speicher zur Verfügung und ist "fetter" ausgestattet.
Peter King schrieb: > Meinst Du diesen hier?: > > https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-gecko-starter-kit https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-giant-gecko-starter-kit Neue haben sie inzwischen ja sogar auch: https://www.silabs.com/products/development-tools/mcu/32-bit/efm32-giant-gecko-starter-kit
:
Bearbeitet durch User
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).
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
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.
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 :-((
Nachtrag: Warum nehmt ihr die teuren 868 MHZ Module: https://de.aliexpress.com/item/RFM69W-RFM69-FSK-transceiver-module-13dBm-Frequency-433MHZ/32827496282.html?spm=a2g0x.search0104.3.8.48eb644awEXzAK&ws_ab_test=searchweb0_0,searchweb201602_3_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_5722412_10620,searchweb201603_25,ppcSwitch_5&algo_expid=b78960ef-3f7c-455e-8572-38ccd81aa7cb-1&algo_pvid=b78960ef-3f7c-455e-8572-38ccd81aa7cb&transAbTest=ae803_3&priceBeautifyAB=0 statt den günstigen 2,4 GHz Modulen? https://de.aliexpress.com/item/10-st-cke-Wireless-Transceiver-NRF24L01-2-4-GHz-Antenne-Modul-F-r-Microcontroll/32832682395.html?spm=a2g0x.search0104.3.29.8b2a3f54NRw8vx&ws_ab_test=searchweb0_0%2Csearchweb201602_3_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_5722413%2Csearchweb201603_25%2CppcSwitch_5&algo_expid=29af9b67-8863-4c05-819d-71acca6050e4-7&algo_pvid=29af9b67-8863-4c05-819d-71acca6050e4&transAbTest=ae803_3&priceBeautifyAB=0 Beide Frequenzbereiche dürften doch in DE erlaubt sein.
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.
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
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.
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
Johannes S. schrieb: > in der c't war zB ein > ePaper Display mit ESP32 Ansteuerung In welcher Ausgabe war das?
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?
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...
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.
> Wäre die Kombi: Wlan-Modul + Cortex dann stromsparender, > als ein ATmega / ATtiny + Wlan-Modul? Sicher nicht, läuft ungefähr aufs Gleiche hinaus.
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.
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
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?
> 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.
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
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.
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.
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?
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
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.).
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.
http://www.st.com/en/evaluation-tools/nucleo-h743zi.html https://www.digikey.de/products/de?keywords=NUCLEO-H743ZI
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.
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.
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.
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.
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.
FreeRTOS inkl. TCP/IP-Stack ist schon mal eine gute Unterwäsche für einen nackten kleinen µC.
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.
> 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.
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?
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?"
> 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.
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.
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.
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
> 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.
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.
> 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?
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.
>> 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.
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 :-)
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.
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?
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
m.n. schrieb: > Wir haben das Jahr 2018 (neudeutsch: zwei achtzehn) Nein. Das Handbuch fuer Neudeutsch sagt: "zwanzig achtzehn." mnkldf
> 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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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?
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.
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.