Hallo Leute, seit einigen Jahren setze ich in meinen Hobby-projekten sehr erfolgreich (ausschließlich) den ATmega328P ein, mit dem kenn ich mich mittlerweile einigermaßen aus, und habe dieses "Ökosystem" gut im Griff. Jetzt brauch ich ausnahmsweise mal etwas mehr Pins; müsste also von der 8-er Reihe auf die 4er gehen, richtig? Im ersten Moment wollte ich zum ATmega324 greifen, aber da gibts ja noch "größere", zB ATmetga1284 Da es von den Kosten her ziemlich egal ist, spricht was dagegen, da gleich den größten zu nehmen (und gleich mal 10 Stück auf Halde zu legen). Oder gibts da irgendwelche Fallen, in die ich tappsen könnte? (zB nicht unterstützte Chip-Id im avrdude, ich hatte sowas, als ich versehentlich mal ATmega328 (ohne P) bestellt hatte...) Danke, Michi
Ich hatte mir für diesen Fall einige 2560 besorgt, und von China für ein paar Cents solche kleinen TQFP 44 - 100 Adapter-Platinen. Der 2560 hat genug Pins, Speicher, und läuft auch mit 20Mhz, selbst wenn er mit 16 angegeben ist. Ob AvrDude den unterstützt musst Du sehen, ich arbeite nicht mit AvrDude.
ich nutze gerne 328p und 1284p und wechsel auch zwischen den beiden, dazu habe ich mir Header angelegt die einfach im Source passend die Funktionen austauschen
Michael R. schrieb: > Jetzt brauch ich ausnahmsweise mal etwas mehr Pins; Wenn du den IC-Typ nicht unbedingt wechseln magst, wären Schieberegister \ Portexpander evtl. noch eine Option.
Ein Kriterium wäre die Verfügbarkeit als Arduino-Board, da wäre der 2560 im Arduino Mega zu nennen https://store.arduino.cc/arduino-mega-2560-rev3 Ein anderes Kriterium ist die Möglichkeit, großes externes SRAM anzuschließen, das können nur wenige der AVR-Reihe. http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=30047 leider listet diese Vergleichstablle diese Möglichkeit nicht.
:
Bearbeitet durch User
Danke euch! 2560 ist mir fast schon wieder zu groß. Portexpander ist natürlich eine Option, guter Hinweis! Aber vielleicht mag ich sowieso mal was anderes löten... Arduino-Board ist (für mich) kein Kriterium (nicht falsch verstehen, ich hab nix gegen Arduino, hat mir am Anfang sehr geholfen, aber ich bin schon 2 level aufgestiegen ;-) externes SRAM? Hmmm.... hätte ich noch nie gebraucht. Ich glaub ich werd mich einfach mal am 1284 versuchen...
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf Im 2560/2561 gibt es diese Möglichkeit "XMEM" (extended memory) einzuschalten. Ich habe das schon als 32k Grafikspeicher für ein LCD benutzt, damals mit dem alten 90S8515, später hieß der Nachfolger Atmega8515.
Michael R. schrieb: > Ich glaub ich werd mich einfach mal am 1284 versuchen... Sicher eine gute Wahl. Für einen Prototypen kann der ATmega1284 gut auf eine Lochrasterplatine oder eine Permaproto von Adafruit gelötet werden, da nicht viele externe Komponenten nötig sind. Michael R. schrieb: > Arduino-Board ist (für mich) kein Kriterium (nicht falsch verstehen, ich > hab nix gegen Arduino, hat mir am Anfang sehr geholfen, aber ich bin > schon 2 level aufgestiegen ;-) Und was heisst für dich 2 Level aufgestiegen?
Oliver S. schrieb: > Was stört sich an „zu groß“? Ich löte lieber 44 Pins statt 100 ;-) Die I/O Leitungen der 4er Reihe sind momentan mehr als ausreichend. Thomas B. schrieb: > Und was heisst für dich 2 Level aufgestiegen? Erster Aufstieg: Platinen selbst designen, ätzen und bestücken Zweiter Aufstieg: Umstieg von THT auf SMD, also AVR in TQFP statt DIL Da ich immer auch etwas Peripherie rundherum habe, mach ich mir lieber gleich eine "richtige" Platine, damit sind die ganzen Arduino-Boards (von denen ich immer noch einige rumliegen habe) nicht mehr wirklich nötig.
:
Bearbeitet durch User
Michael R. schrieb: > Ich löte lieber 44 Pins statt 100 ;-) Der ATmega1284P-AU im TQFP-Gehäuse ist auch von Hand mit einer feinen Lötspitze noch gut lötbar. Michael R. schrieb: > Erster Aufstieg: Platinen selbst designen, ätzen und bestücken > Zweiter Aufstieg: Umstieg von THT auf SMD, also AVR in TQFP statt DIL Alle klar :-) Michael R. schrieb: > ...mach ich mir lieber gleich eine "richtige" Platine Auf jeden Fall ein guter Ansatz. Wenn du alle Pins des 1284 auf Stiftleisten führst, hast du ein universelles Board für zukünftige Anwendungen.
Thomas B. schrieb: > Wenn du alle Pins des 1284 auf Stiftleisten führst, hast du ein > universelles Board für zukünftige Anwendungen. Dann kann man aber auch gleich einen Arduino Mega nehmen. Oliver
Oliver S. schrieb: > Dann kann man aber auch gleich einen Arduino Mega nehmen. Arduino Mega verwendet etinen ATmega2560 mit 100 Pins. Michael R. schrieb: > Ich löte lieber 44 Pins statt 100 ;-) Die I/O Leitungen der 4er Reihe > sind momentan mehr als ausreichend. Michael lötet lieber 44 statt 100 Pins :-) Michael R. schrieb: > Da ich immer auch etwas Peripherie rundherum habe, mach ich mir lieber > gleich eine "richtige" Platine und ist damit auch flexibel bei der Form und Grösse der Leiterplatte.
Und wie immer der Hinweis, dass der ATmega1284P über 16 KiB RAM verfügt.
S. Landolt schrieb: > dass der ATmega1284P über 16 KiB RAM verfügt. und damit doppelt so viel wichtiges SRAM wie der m2560!
In DIP: * wie schon erwaehnt ATmega1284 als groesster Controller mit ADC (und AFAIK der einzige mit mehr als 4k RAM). * ATmega162 ohne ADC, aber mit 3 zusaetzlichen I/Os (insgesamt 35). Wenn 8k Flash und 512B RAM reichen, geht auch der ATmega8515 (die DIP-Versionen sind pinkompatibel).
Thomas K. schrieb: > Der 2560...läuft auch mit 20Mhz, selbst wenn er mit 16 angegeben ist. Das hat du natürlich ausgiebig getestet und kannst es für alle Funktionen garantieren?
Wenn du mit der Arduino IDE programmierst, fällt Dir warscheinlich ein Wechsel auf STM32F103 Boards leicht. Diese µC Serie ist sehr preisgünstig. Der STM32F103C8T6 ist ein bisschen größer als der ATmega328: https://de.aliexpress.com/item/Free-Shipping-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-Forarduino/32502726562.html Wenn das zu wenig ist, käme als nächstes der STM32F103RBT6 in Frage: https://de.aliexpress.com/item/STM32F103RBT6-ARM-STM32-Minimum-System-Development-Board-Module-For-arduino-Minimum-System-Board-STM32F103C8T6-upgrade-version/32821993698.html Oder noch größer, der STM32F103VET6: https://de.aliexpress.com/item/STM32-development-board-STM32-STM32F103VET6-minimum-system-board-core-board-cortex-M3/32830281663.html Es gibt noch weitere Größen von diesem Chip. Das schöne ist: Sie werden alle gleich programmiert. Die Arduino Erweiterung dazu heisst "STM32Duino". Wiki: http://wiki.stm32duino.com/index.php?title=Main_Page Falls du nicht mit Arduino programmierst, ist dieser Hinweis natürlich unpassend.
Stefan U. schrieb: > Wenn du mit der Arduino IDE programmierst, fällt Dir warscheinlich ein > Wechsel auf STM32F103 Boards leicht. Diese µC Serie ist sehr > preisgünstig. aber nur 3,3V? damit ist viel Zubehör für 5V doch nicht nutzbar?
Die STM32F103 haben viele 5V tolerante Pins und viele 5V Chips akzeptieren auch 3,3V bereits als gültigen High Pegel. Die Spannungswandler auf den oben genannten Boards kann man mit 5V füttern. Auf einige Nucleo Boards von STM kann sogar Arduino Shields direkt aufstecken.
> Arduino ... > aber ich bin schon 2 level aufgestiegen ;-) Oh entschuldige, das habe ich ganz überlesen. Ich hätte was für Level 3 :-) http://stefanfrings.de/stm32/index.html
Thomas B. schrieb: > Auf jeden Fall ein guter Ansatz. > Wenn du alle Pins des 1284 auf Stiftleisten führst, hast du ein > universelles Board für zukünftige Anwendungen. Hähä. Da es den 1284P auch in DIL gibt, kann man ein Entwicklungsboard problemlos auf Streifenleiter selbst basteln. Ich entwickle seit etlichen Jahren nahezu alles für AVR8 auf eben so einem selbstgebastelten Board. Und nur dann, wenn spezielle Schnittstellen gebraucht werden, steckt da kein 1284P drauf, sondern eine Adapterplatine auf DIL40 mit einem (kleineren AVR8), der eben die gerade benötigten Schnittstellen hat. Was diese Konstruktion über die Jahre schon an Entwicklungszeit und Prototypen-Kosten gespart hat, mag ich kaum zusammenrechnen... Da dieses Board rein privat entstanden ist (obwohl mehrere Kopien davon seit langem auch in der Firma benutzt werden), kann ich, welch seltenes Glück, auch mal was davon zeigen. Siehe Anhänge. Das angestöpselte Debugboard zeigt nur, wie man an das Evalboard Sachen ankoppelt. Aber ja, ich gebe es zu: Natürlich war die erste Anwendung, die damals darauf lief, ein Knightrider-Lauflicht. ;o) Inzwischen dient das Debugboard aber wirklich nur noch als solches. Ich schwöre!
> Natürlich war die erste Anwendung, > die damals darauf lief, ein Knightrider-Lauflicht. Was für ein Zufall, guck mal was ich gerade auf dem Kopf habe. (Das ist eine Anregung für einen Workshop mit Kindern)
Thomas B. schrieb: > Wenn du alle Pins des 1284 auf Stiftleisten führst, hast du ein > universelles Board für zukünftige Anwendungen. es gibt (gab) den m1284p als Arduino Nachbau etwas größer als nano https://github.com/JChristensen/mini1284 die ersten 5 musste ich selber löten mit Platinen von OSH Park Dann konnte man einige Fertigmodule aus USA über ebay kaufen nun gibts leider keine mehr
Michael R. schrieb: > Da es von den Kosten her ziemlich egal ist, spricht was dagegen, da > gleich den größten zu nehmen (und gleich mal 10 Stück auf Halde zu > legen). Oder gibts da irgendwelche Fallen, in die ich tappsen könnte? Welche "Fallen" sollte es denn da geben? Bei Microchip gibt es eine parametrische Suche, hier: https://www.microchip.com/paramChartSearch/chart.aspx?branchID=30047, da kannst du aussuchen, was du alles im Controller haben willst und bekommst nur die Controller angezeigt, die deinen Vorgaben entsprechen. Vielleicht hilft dir das. Spontan kam mir bei deiner Frage z.B. der Atmega644 in den Sinn, also der kleine Atmega1284 ;)
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.