Hallo!
Ich möchte meinen Arduino auf eine Platine bringen und weis, dass ich
dazu einen atmega 328p-pu brauche, auf den ich den arduino bootloader
"brenne". also bei conrad mal eben gesucht und auf diesen gestoßen:
https://www.conrad.de/de/embedded-mikrocontroller-atmega328p-pu-pdip-28-atmel-8-bit-20-mhz-anzahl-io-23-155197.html
allerdings steht da "embeddet" mikrokontroller und 20MHz... Was bedeutet
das fur mich? speziell das embeddet kenne ich nicht. und hat man nicht
normal 8 oder 16 mhz?
klar ist, dass ich noch einen oszillator und 2 kondensatoren brauche...
oder hat dieses modell einen internen oszillator mit 20mhz?
pascalts schrieb:> klar ist, dass ich noch einen oszillator und 2 kondensatoren brauche...> oder hat dieses modell einen internen oszillator mit 20mhz?
Nein, 20MHz ist der Maximaltakt.
pascalts schrieb:> allerdings steht da "embeddet" mikrokontroller und 20MHz... Was bedeutet> das fur mich?
Embedded ist quasi die Anwendung, also eingebettete Systeme. Das was du
vorhast funktioniert schon...
pascalts schrieb:> und weis, dass ich dazu einen atmega 328p-pu brauche
Ich weiss dass du dazu auch einen ATMega644 oder ATMega1284
brauchen kannst da die Prozessoren sehr nahe zueinander
verwandt sind (mehr Pins, mehr Flash-Speicher, mehr RAM).
pascalts schrieb:> klar ist, dass ich noch einen oszillator und 2 kondensatoren brauche...> oder hat dieses modell einen internen oszillator mit 20mhz?
Entweder einen Oszillator, oder einen Quarz mit 2 Kondensatoren.
pascalts schrieb:> allerdings steht da "embeddet" mikrokontroller
Mitnichten. Das steht "Embedded-Mikrocontroller".
> Was bedeutet das fur mich?
Dass du nicht mal kurz nachrecherchiert hast, was dieses Wort heißt.
> allerdings steht da "embeddet" mikrokontroller und 20MHz... Was bedeutet> das fur mich?
Es bedeutet auch für dich, dass gerade in der Elektrotechnik ein großes
'M' und ein kleines 'm' nicht verwechselt werden dürfen, weil z.B.
10mOhm etwas ganz anderes als 10MOhm ist...
> oder hat dieses modell einen internen oszillator mit 20mhz?
Was steht denn im Datenblatt?
> klar ist, dass ich noch einen oszillator und 2 kondensatoren brauche...
Du brauchst entweder einen externen Quarz und 2 Lastkondensatoren, oder
einen Quarzoszillator plus Blockkondensator, oder du nimmst den internen
Oszillator.
Und auf jeden Fall brauchst du auch noch einen oder zwei
Blockkondensatoren zwischen Vcc und GND. Und ich würde auch noch einen
von Avref nach GND vorsehen.
pascalts schrieb:> klar ist, dass ich noch einen oszillator und 2 kondensatoren brauche...
Dann brauchst du noch ein, zwei Abblock-Kondensatoren und
einen Elko, dann noch einen Reset-Schalter und einen Pullup
und noch einen Kondensator und .....
Am besten nimmst du die Arduino-Schaltung und lässt alles weg
was du nicht brauchst.
Und du wirst staunen was du alles doch brauchst.
"Wegen dem Bootloader" nur 16 MHz?
(Der Unterschied zwischen Comedian und Kabarettist: der eine machts
wegen dem Geld, der andere wegen des Geldes)
Hab ich noch nicht gehört. Die 8 MHz sind etwa die Obergrenze für den
3,3V-Betrieb laut Datenblatt.
Christoph K. schrieb:> "Wegen dem Bootloader" nur 16 MHz?> Hab ich noch nicht gehört. Die 8 MHz sind etwa die Obergrenze für den> 3,3V-Betrieb laut Datenblatt.
Du scheinst vieles noch nicht gehört zu haben...
Für den Bootloader machen 8MHz oder 16MHz sehr wohl einen Unterschied.
Christoph K. schrieb:> Hab ich noch nicht gehört.
Was du alles nicht hörst.
> Die 8 MHz sind etwa die Obergrenze für den 3,3V-Betrieb laut Datenblatt.
Das ist ja eine sehr präzise Angabe. Vielleicht solltest du mal lesen
statt nur nicht hören.
Thomas E. schrieb:> Dann kannst du den Controller auch mit den maximal möglichen 20MHz oder> jeder anderen Frequenz, z.B. 18,432MHz, betreiben. Sonst geht nur 16.> Wegen dem Bootloader.
Also erstmal wenn die Arduino IDE ohne Erweiterungen und weiteres
eingreifen benutzt werden soll dann gehen schonmal nur 8 oder 16MHz.
Kein Atmega1284 oder andere sondern eher ein 32U4, 168 oder 328 mit
externem Quarz, interner Oszi setzt auch weitere Eingriffe in die IDE
voraus.
Natürlich kann man auch einen 1284p mit 12Mhz und eigenem Bootloader
plus CoreErweitwerung nutzen... da sollte man schon ein bisschen weiter
sein.
>da sollte man schon ein bisschen weiter sein.
Die allermeisten Fragen hier kommen von Schülern mit Null Ahnung und
ohne Bereitschaft sich zumindest eine Stunde lang mit Google zu
beschäftigen. Offenbar sollen die Hausaufgaben von den Forumsteilnehmern
übernommen werden; das nicht nur hier in diesem Thread, sonder in
etlichen anderen unter "µC & Elektronik" auch.
Die Kurve im Datenblatt IST nicht sehr präzise.
http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_datasheet.pdf
Seite 368-369 10MHz bei 2,7V, die 3,3V muss man aus einer
Geradengleichung berechnen. Ich muss mal ältere Datenblätter anschauen,
vielleicht wurde das geändert. Die Revision-History ist sehr
übersichtlich
Da ich den Bootloader noch nie benutzt habe, weiss ich sowas nur vom
Hörensagenlesen. Also 5V für bis zu 20 MHz und mit neuen 328P bei 3,3V
um 12 MHz möglich. Da hilft beim Arduino nur, den Quarz auszulöten und
den Bootloader bleiben zu lassen.
Also nach Geradengleichung sind bei 3,3V 13,33MHz gerade noch "safe
area", vermutlich wird der Arduino mit den standardmäßigen 16 MHz unter
normalen Umweltbedingungen immer funktionieren. Ich hatte diese
degrading-Kurve anders in Erinnerung.
Das mit den 16 MHz hatte ich falsch verstanden, das ist keine
physikalische Obergrenze sondern durch die fest eingestellte Baudrate
bestimmt. Auf dem "Wunschzettel" bei arduino.cc steht, dass man das
irgendwann mal variabel machen könnte:
https://www.arduino.cc/en/Main/FeatureWishList
...Bootloader menu item -- opens dialog box to choose programmer,
bootloader speed,...
Der Arduino ProMini
https://www.arduino.cc/en/Main/ArduinoBoardProMini
hat anscheinend als einziger 3,3V Betriebsspannung. Ohne irgendeine Form
von Pegelwandlern kann ich an die restlichen Arduinos keine
"intolerante" 3,3V-Logik anschließen. Beim Raspberry ist es genau
umgekehrt, 5V-Logik am GPIO braucht Pegelanpassung.