Forum: Mikrocontroller und Digitale Elektronik Atmega 1284p lässt sich häufig nicht flashen


von L. N. (derneumann)


Lesenswert?

Hallo zusammen,

habe gerade die halbe Nacht damit verbracht die Ursache für ein Problem 
mit einem 1284p (DIP40) zu suchen.

Habe den 1284p in Minimalbeschaltung (VCC=5V, 100n an den VCCs, 100n an 
AREF, 16 MHz HC49 Quartz, 2x 22pF, 10k Reset pullup) am Steckbrett 
aufgebaut und erstmal den Bootloader geflashed. Soweit, so gut, nun 
wollte ich per UART flashen, was beim ersten Mal auch gelang, beim 
zweiten Mal aber nicht mehr (Programmer not responding). Meistens 
klappts nach einer längeren Pause wenn der Atmega stromlos war. 
Allermeistens klappts dann beim zweiten Mal flashen gleich darauf nicht 
mehr. Manchmal gehts auch ein paar Mal hintereinander.
Derselbe uC funktioniert auf einem selbstentworfenen Dev-Board (Arduino 
like) einwandfrei und lässt sich auch etliche Male hintereinander 
flashen.
Ein anderer 1284p hat am Steckbrett dasselbe Problem, am Dev-Board aber 
wieder nicht. Die uCs dürften also OK sein...

Als USB to Serial habe ich ein billig china CH340G dings und ein 
selbstgebautes FT232RL modul getestet. beide funktionierten bisher 
eigentlich einwandfrei.

Das ist nicht der erste Atmega, den ich so am Steckbrett aufbaue, bisher 
hatte ich nie solche Probleme. Allerdings habe ich mich bisher auf 328p 
mit 8MHz und 3.3V beschränkt (zumindest am Steckbrett).

Ich habe verschiedene Kapazitäten am Kristall probiert (20pF sollten es 
laut Formel sein), 1Mohm zwischen den XTAL Pins, Elko am Steckbrett, 
zusätzliche 100n in der Versorgung, andere Quartze, ... abgesehen davon 
dass alle Quartze mit 16MHz die ich hier habe (mit Ausnahme des auf dem 
Dev Board verlöteten) und auch alle 15pF, 22pF, 30pF Kerkos billiger 
China Mist ohne Datenblatt sind, hab ich echt keine Idee mehr.

Am Oszi konnte ich auf der RX, TX und RST Leitung keine Auffälligkeiten 
bemerken. Er beginnt einfach zu flashen und bleibt dann mittendrin 
stehen mit besagter Fehlermeldung. Packe ich den 8MHz Kristall rein und 
setze die Parameter in der avrdude config entsprechend, läuft der Atmega 
einwandfrei.

Sind 16Mhz zu viel fürs Steckbrett? Kann der Quartz oder die Kerkos am 
Quartz dran schuld sein?

Hattet ihr sowas schon mal? Welche Angaben wären noch notwendig für eine 
Ferndiagnose? Wo soll ich anfangen? Bin echt planlos...

Danke!

von Gerhard O. (gerhard_)


Lesenswert?

Vielleicht erkennt der 1284 den Reset Pulse nicht zuverläßig genug.
Bist Du sicher, daß der uC in den Reset ausführt?

Falls der CH340/FT232 DTR 3.3V Pegel hat könnte es sein, daß der 1284 
RESET nicht zuverläßig auf den Impuls über den 0.1uF koppel C reagiert. 
Ich hatte das Problem definitiv mit dem 328PB. Abhilfe war ein 68K von 
Reset nach Masse bei 5V Stromversorgung. Der Pullup war 10K. Diese 
Maßnahme zieht den Reset Eingang auf rund 3.3V herunter was zumindest 
beim 328PB eine einwandfreie Abhilfe war. Sieh mal im Datenblatt nach 
wie niedrig die Reset Schwellenspannung beim 1284 ist.

Ich habe einige 1284 mit Bootloader verbaut und die funktionieren bei 
16MHz alle absolut zuverlässig. Check mal den Reset Impuls mit dem Oszi.

Bei mir hatte ich am Steckbrett keine Probleme mit 16Mhz. Nur kann es je 
nach Quarz zu Problemen wegen der 10pF Kopplungskapazität zwischen den 
Steckbrett Kontaktleisten zueinander kommen. Das würde den Quarz mit 
einer zusätzlichen 10pF Kapazität zwischen den Anschlüssen belasten. 
Versuch mal die 1284 OSC pins hochzubiegen und den Quarz frei in der 
Luft verdrahten. Die 18pf müßten dann auch frei angeschlossen werden. 
Andernfalls erhöhe die beiden Shunt Cs um 10pF.

Alternativ, verwende einen an OSC-IN Pin 16Mhz DIL Oszillator zum 
Vergleich.

Auch würde ich mit dem Oszi am Oszillatorausgang die Spannung messen. Da 
sollte ein schöner 3-4Vpk Sinus anliegen.

Lass mich ggf. wissen ob es was gebracht hat.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

L. N. schrieb:

> Kann der Quartz oder die Kerkos am
> Quartz dran schuld sein?

Ja.

> Hattet ihr sowas schon mal? Welche Angaben wären noch notwendig für eine
> Ferndiagnose?

Fuses.

von Einer K. (Gast)


Lesenswert?

L. N. schrieb:
> Sind 16Mhz zu viel fürs Steckbrett? Kann der Quartz oder die Kerkos am
> Quartz dran schuld sein?

Ja!
Die SteckbrettStromSchienen bilden selber schon eine erhebliche 
Kapazität.
Versuche mal die Kerkos zu halbieren, oder ganz weg zu lassen.

Oder einen externen Takt einzuspeisen, solange das Ding noch auf dem 
Steckbrett sitzt.

von Reinhard R. (reirawb)


Lesenswert?

c-hater schrieb:
> L. N. schrieb:
>
>> Kann der Quartz oder die Kerkos am
>> Quartz dran schuld sein?
>
> Ja.
>
>> Hattet ihr sowas schon mal? Welche Angaben wären noch notwendig für eine
>> Ferndiagnose?
>
> Fuses.
Ja, möglicher Ansatz:
Der Unterschied zwischen "Low Power Crystal Oscillator" und "Full swing 
Crystal Oscillator" wurde hier schon diskutiert:
Beitrag "ATMega1284p mit externem Quarz"

Reinhard

von L. N. (derneumann)


Lesenswert?

Hallo

danke für eure Antworten.
Ich hab nun wieder ein paar Stunden ergebnislos verbrannt und leider 
scheitert es an spezifizierten Komponenten (Quartze und 
Lastkondensatoren) und am geeigneten Messwerkzeug. Mein Multimeter kann 
keine pF messen und LCR Meter hab ich keins.

Gerhard O. schrieb:
> Vielleicht erkennt der 1284 den Reset Pulse nicht zuverläßig genug.
> Bist Du sicher, daß der uC in den Reset ausführt?

Eigentlich schon, er beginnt ja zu schreiben und hört dann mittendrin 
auf. Am Oszi hat der Reset Puls auch gut ausgesehen. Der FT232RL läuft 
in dem Fall mit 5V. Habe es auch schon ohne dem Koppel C versucht und 
auch mit den 68k Pulldown, keine Änderung.
RESET Pin Threshold Voltage ist 0.2Vcc (min) bis 0.9Vcc (max).

Gerhard O. schrieb:
> Versuch mal die 1284 OSC pins hochzubiegen und den Quarz frei in der
> Luft verdrahten. Die 18pf müßten dann auch frei angeschlossen werden.
> Andernfalls erhöhe die beiden Shunt Cs um 10pF.

Das ist das Einzige, was ich noch nicht gemacht habe weil ich die 
Beinchen wirklich nur ungern soweit verbiegen möchte - ultimativ wird 
mir aber kaum was übrig bleiben. Ich habe die verschiedensten 
Kapazitäten von 2pF bis 47pF sowie zwei verschiedene Quartztypen 
probiert. Ergebnis: Bei einem Quartztyp tut sich gar nichts, beim 
anderen klappt das Programmieren manchmal, und zwar eher wenn ich keine 
oder kaum Kapazität dran habe (< 10pF). Einmal hat es allerdings auch 
mit 22pF ein paar Mal hintereinander geklappt. Gefühlt geht es nach 
einer Pause von 1-2 Minuten eher wieder (und dann oft auch gleich 
mehrmals), als wenn ich mehrere Versuche direkt hintereinander starte.

Dazu muss ich allerdings auch sagen, dass die Kerkos die ich hier 
verwendet habe (mit Ausnahme der 22pF) alle diese billigsten, winzigen, 
roten und linsenförmigen China "capacitor sortiment" Teile sind, weil 
das die einzigen sind (eben abgesehen von 22pF), die ich in THT in so 
geringen Kapazitäten hier habe.

Gerhard O. schrieb:
> Alternativ, verwende einen an OSC-IN Pin 16Mhz DIL Oszillator zum
> Vergleich.

Was das? Einen externen Taktgeber hab ich leider auch nicht.

Gerhard O. schrieb:
> Auch würde ich mit dem Oszi am Oszillatorausgang die Spannung messen. Da
> sollte ein schöner 3-4Vpk Sinus anliegen.

Ich habe XTAL1 und XTAL2 mit dem Oszi gegen GND gemessen, war das 
richtig? Ich hab mir nur gemerkt, mit dem Oszi GND niemals wo anders als 
an GND zu gehen :-) Da kamen nur ca. 800mV raus, wenn ich mich recht 
erinnere. Die Frequenz hat gestimmt, allerdings beeinflusst die Probe ja 
die ganze Geschichte durch ihre eigene Kapazität - wie man das richtig 
misst? Keine Ahnung...

c-hater schrieb:
> Fuses.

Arduino Standard Fuses:
low_fuses=0xFF
high_fuses=0xDE
extended_fuses=0xFD
unlock_bits=0x3F
lock_bits=0x0F

Arduino Fanboy D. schrieb:
> Ja!
> Die SteckbrettStromSchienen bilden selber schon eine erhebliche
> Kapazität.
> Versuche mal die Kerkos zu halbieren, oder ganz weg zu lassen.
>
> Oder einen externen Takt einzuspeisen, solange das Ding noch auf dem
> Steckbrett sitzt.

Hab ich versucht, externen Taktgeber hab ich leider wie gesagt keinen.

Reinhard R. schrieb:
> Der Unterschied zwischen "Low Power Crystal Oscillator" und "Full swing
> Crystal Oscillator" wurde hier schon diskutiert:

Habe low 0xFF gesetzt, also Ext. Crystal Osc.; Frequency 8.0-    MHz; 
Start-up time: 16K CK + 65 ms; [CKSEL=1111 SUT=11].

Sollte für einen HC49 Quartz doch passen, oder?

von Mitreder (Gast)


Lesenswert?

L. N. schrieb:
> Sollte für einen HC49 Quartz doch passen, oder?

Zeige bitte deinen Aufbau. Hochauflösend bitte, JPG.

Und welche Stromversorgung verwendest du?

Ein Elko 10uF bis 100uF auf dem Brett vorhanden?

von Gerhard O. (gerhard_)


Lesenswert?

Die Steckbrett fünfpoligen Kontaktleisten haben zueinander ca. 10pF. Das 
ist nicht günstig weil dieses C parallel zum Quarz ist und gegen die 
benachbarten Leisten zusätzliche unübersehbare Cs anfallen.

Wenn man die uC Beinchen vorsichtig ohne zu verkannten horizontal biegt 
kann man den Quarz anlöten, so daß sich die Pins später wieder ohne zu 
brechen zurück biegen lassen. Ganz wichtig: Die Quarz Shunt Cs sollten 
übrigens auf den kürzesten Weg mit dem in der Nähe liegenden Vss Pin 
verbunden sein. Also nicht über den Umweg der langen Rails. Kürzeste 
Verbindungslängen sind hier angebracht.

Vieleicht löte den Quarz und die Cs von der Dev Bord aus und verwende 
sie am Brettaufbau angelötet. Die Abblock Cs an Vdd und Vss sollten 
direkt am IC Körper eingesteckt sein. (Ich nehme an, Du warst vorsichtig 
genug) Die Verbindung der Vdd zum zweiten Vdd direkt mit Draht auf den 
kürzesten Weg über den IC Körper legen. Und nur eine Verbindung zur 5V 
Versorgung.

Wenn Du willst könnte ich Dir später meinen (Optiboot) Bootloader 
schicken und meine Fuse Settings. Wie gesagt bei mir funktioniert der 
1284 einwandfrei. Ich verwende allerdings bei mir einen SMD Quarz im 
CM309S Gehäuse.

Die mit dem Oszi am Ausgang mit 10:1 Tastkopf gemessene Spannung sollte 
mindestens 3Vpk betragen. 800mV ist zu wenig.

Ganz nebenbei und nicht relevant: Quarz schreibt man in Deutsch ohne 
"t". Quartz ist englische Schreibweise;-)

von Jim M. (turboj)


Lesenswert?

L. N. schrieb:
> Sind 16Mhz zu viel fürs Steckbrett? Kann der Quartz oder die Kerkos am
> Quartz dran schuld sein?

Beim Steckbrett lässt man die Kerkos am Quarz ganz weg.
Deren Funktion übernimmt die parasitäre Kapazität des Steckbretts 
selbst.

Die Kerkos braucht man auf Lochraster oder "richtigem" PCB.

von Reinhard R. (reirawb)


Lesenswert?

L. N. schrieb:
> Reinhard R. schrieb:
>> Der Unterschied zwischen "Low Power Crystal Oscillator" und "Full swing
>> Crystal Oscillator" wurde hier schon diskutiert:
>
> Habe low 0xFF gesetzt, also Ext. Crystal Osc.; Frequency 8.0-    MHz;
> Start-up time: 16K CK + 65 ms; [CKSEL=1111 SUT=11].
>
> Sollte für einen HC49 Quartz doch passen, oder?
Im Prinzip ja, aber wie im verlinkten Thread diskutiert, läuft "Full 
swing Crystal Oscillator" wohl stabiler. Versuch mal [CKSEL=0111], Fuse 
low 0xF7 bzw.  [CKSEL=0110], Fuse low 0xF6. Viel Erfolg.

Reinhard

von Gerhard O. (gerhard_)



Lesenswert?

Im Anhang sind meine Oscillator Oszi Bilder mit HP45602B und 10:1 
Tastkopf gemessen.

Die Optiboot BL Fuses sind bei mir so gesetzt:

EXT: 0xD7
HI : 0xDA
LO:  0xFD

von c-hater (Gast)


Lesenswert?

L. N. schrieb:

> low_fuses=0xFF
> high_fuses=0xDE
> extended_fuses=0xFD

> Habe low 0xFF gesetzt, also Ext. Crystal Osc.; Frequency 8.0-    MHz;
> Start-up time: 16K CK + 65 ms; [CKSEL=1111 SUT=11].
>
> Sollte für einen HC49 Quartz doch passen, oder?

Wenn die Bürdekapazitäten passen...

Was du gefused hast, ist der LowPower-Oszillator, bei dem müssen die 
Bürdekapazitäten ziemlich genau passen, damit er zuverlässig schwingt.

Sie scheinen aber nur einigermaßen erträglich angepaßt zu sein. Er 
schwingt zwar noch knapp an, holpert aber im Betrieb.

Mit FullSwing-Oszillator sollte ein stabiler Betrieb mit den gegenwärtig 
verwendeten Kondensatoren problemlos möglich sein.

Besser wären Kondensatoren mit ca. 5pf weniger, dann dürfte auch der 
LowPower stabil schwingen.

Für ein ordentlich layoutetes PCB wären aber wahrscheinlich genau die 
Kondensatoren richtig, die du jetzt verwendest.

von Einer K. (Gast)


Lesenswert?

L. N. schrieb:
> Hab ich versucht, externen Taktgeber hab ich leider wie gesagt keinen.

z.B. Irgend einen 16MHz AVR Arduino?
Nix?

von L. N. (derneumann)


Lesenswert?

Mitreder schrieb:
> Zeige bitte deinen Aufbau. Hochauflösend bitte, JPG.
>
> Und welche Stromversorgung verwendest du?
>
> Ein Elko 10uF bis 100uF auf dem Brett vorhanden?

komme voraussichtlich heute abend dazu.
1000uF hatte ich drauf, aber wieder weggenommen weil ich das bei einem 
Atmga bisher noch nie am Steckbrett gebraucht habe und weils auch nix 
geändert hat.
Hätten 10µ-100µ evtl. etwas gebracht aufgrund des anderen 
Frequenzverhaltens oder ist das allgemein zwischen 10µ-1000µ eh nicht so 
groß unterschiedlich (rein bei Elkos)?

Gerhard O. schrieb:
> Die Steckbrett fünfpoligen Kontaktleisten haben zueinander ca. 10pF. Das
> ist nicht günstig weil dieses C parallel zum Quarz ist und gegen die
> benachbarten Leisten zusätzliche unübersehbare Cs anfallen.
>
> Wenn man die uC Beinchen vorsichtig ohne zu verkannten horizontal biegt
> kann man den Quarz anlöten, so daß sich die Pins später wieder ohne zu
> brechen zurück biegen lassen. Ganz wichtig: Die Quarz Shunt Cs sollten
> übrigens auf den kürzesten Weg mit dem in der Nähe liegenden Vss Pin
> verbunden sein. Also nicht über den Umweg der langen Rails. Kürzeste
> Verbindungslängen sind hier angebracht.

Steckbretter sind blöd... :-) Ich glaube derweil entwickle ich mal mit 
dem Dev Board weiter (bin eh schon mittendrin) und bestelle beim 
nächsten Mal beim Mouser gescheite Quarze und einen Satz verschiedener 
pF Kerkos.
Wenns damit dann noch immer nicht geht, kann ich die Beinchen ja 
hochbiegen. Dass das notwendig sein soll und bei 8MHz alles einwandfrei 
funktioniert hat (auch am Steckbrett) will einfach nicht in meinen Kopf 
rein. Kann das echt sein??
Wenn ich die Beinchen hochbiege ist klar, dass ich die kürzestmöglichen 
Verbindungen wähle, hab ich auch jetzt am Steckbrett schon versucht 
(Foto folgt).

Das Devboard ist grad voll im aktuellen Projekt verdrahtet, daher mag 
ich da grad den Quarz nicht auslöten. Aber wenn sich eine Gelegenheit 
ergibt mach ich das (falls ich bis dahin nicht eine andere Lösung 
gefunden habe)...

Gerhard O. schrieb:
> Wenn Du willst könnte ich Dir später meinen (Optiboot) Bootloader
> schicken und meine Fuse Settings. Wie gesagt bei mir funktioniert der
> 1284 einwandfrei. Ich verwende allerdings bei mir einen SMD Quarz im
> CM309S Gehäuse.

Gerne (oh, hab gerade gesehen, du hast ihn schon gepostet, vielen 
Dank!), glaub aber nicht dass es daran liegt, ehrlich gesagt. Verwende 
das "Sanguino" Boardpaket von der Arduino IDE bzw. von PlatformIO, 
welches auch für die ganzen 3D Drucker Boards verwendet wird (wovon ich 
auch zwei in Betrieb habe) und am Devboard klappts ja auch einwandfrei.
Auf ein paar meiner selbstentwickelten Platinen verwende ich btw. auch 
einen SMD Quarz, aber wieder nur 8 MHz.

Gerhard O. schrieb:
> Die mit dem Oszi am Ausgang mit 10:1 Tastkopf gemessene Spannung sollte
> mindestens 3Vpk betragen. 800mV ist zu wenig.

Jeweils von XTAL1 zu GND und XTAL2 zu GND? Da hatte ich tatsächlich nur 
die 800mV oder so (müsste ich nochmal messen). Kann das eben genau durch 
zu hohe Kapazität her rühren?

Gerhard O. schrieb:
> Ganz nebenbei und nicht relevant: Quarz schreibt man in Deutsch ohne
> "t". Quartz ist englische Schreibweise;-)

Ups.. :) Danke!

Jim M. schrieb:
> Beim Steckbrett lässt man die Kerkos am Quarz ganz weg.
> Deren Funktion übernimmt die parasitäre Kapazität des Steckbretts
> selbst.
>
> Die Kerkos braucht man auf Lochraster oder "richtigem" PCB.

Hat leider ohne auch nicht geklappt. Hör ich ehrlich gesagt auch zum 
ersten Mal, dass man die komplett weglässt.

Reinhard R. schrieb:
> Im Prinzip ja, aber wie im verlinkten Thread diskutiert, läuft "Full
> swing Crystal Oscillator" wohl stabiler. Versuch mal [CKSEL=0111], Fuse
> low 0xF7 bzw.  [CKSEL=0110], Fuse low 0xF6. Viel Erfolg.

Versuche ich auf jeden Fall, klingt vielversprechend und wäre ein "quick 
win".

Gerhard O. schrieb:
> Im Anhang sind meine Oscillator Oszi Bilder mit HP45602B und 10:1
> Tastkopf gemessen.
>
> Die Optiboot BL Fuses sind bei mir so gesetzt:
>
> EXT: 0xD7
> HI : 0xDA
> LO:  0xFD

Du hast da ja einen Quarzoszillator mit vier Beinchen, sowas hab ich 
leider nicht da... Wären die Dinger allgemein empfehlenswerter als die 
reinen Quarze?

Außerdem stehen deine Low Fuses doch für 3-8MHz, oder???
-> Fehler gefunden: Screenshot weicht von deinem Text ab, du hast die 
Fuses verwechselt :)

Kann man einen zweibeinigen Quarz überhaupt mit der Full Swing 
Oscillator Fuse nutzen?
Das konnte ich aus dem verlinkten Thread nicht ganz rauslesen...

c-hater schrieb:
> Wenn die Bürdekapazitäten passen...
>
> Was du gefused hast, ist der LowPower-Oszillator, bei dem müssen die
> Bürdekapazitäten ziemlich genau passen, damit er zuverlässig schwingt.
>
> Sie scheinen aber nur einigermaßen erträglich angepaßt zu sein. Er
> schwingt zwar noch knapp an, holpert aber im Betrieb.
>
> Mit FullSwing-Oszillator sollte ein stabiler Betrieb mit den gegenwärtig
> verwendeten Kondensatoren problemlos möglich sein.
>
> Besser wären Kondensatoren mit ca. 5pf weniger, dann dürfte auch der
> LowPower stabil schwingen.
>
> Für ein ordentlich layoutetes PCB wären aber wahrscheinlich genau die
> Kondensatoren richtig, die du jetzt verwendest.

Wie oben schon gefragt, lässt sich ein zweibeiniger Quarz mit der Full 
Swing Oscillator Fuse betreiben?
@PCB: Ja, bisher hatte ich da eigentlich nie Probleme... 5pF weniger 
hatte ich eigtl. versucht...

Arduino Fanboy D. schrieb:
> z.B. Irgend einen 16MHz AVR Arduino?
> Nix?

Doch, jede Menge. Da muss ich wohl mal googlen wie das genau geht, 
wusste nicht das man das machen kann...


Danke an alle, Foto vom Aufbau folgt hoffentlich heute Abend.

: Bearbeitet durch User
von Reinhard R. (reirawb)


Lesenswert?

L. N. schrieb:
> ...
> Kann man einen zweibeinigen Quarz überhaupt mit der Full Swing
> Oscillator Fuse nutzen?

Ja, das nutze ich standardmäßig so. Irgendwelche Nachteile (Schlechtere 
Frequenzstabilität? Höherer Stromverbrauch?) habe ich bisher nicht 
bemerkt bzw. haben mich nicht gestört.

Reinhard

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Du hast da ja einen Quarzoszillator mit vier Beinchen, sowas hab ich
> leider nicht da... Wären die Dinger allgemein empfehlenswerter als die
> reinen Quarze?

Nein. Das Bild zeigt einen Quarz im CM309S Gehäuse. Die oberen Pins sind 
nur zur Befestigung und Masseanschluß zur inneren Schirmung.
Die unteren Pins sind die eigentlichen Quarzanschlüsse. Ich ziehe diese 
Quarzkonstruktion gegenüber anderen SMD Tpen vor weil beim CM309S die 
Anschlüsse nebeneinander angeordnet sind und kürzeste Verbinungen 
ermöglichen.

Normale Quarze im HC-49/U Gehäuse sind natürlich auch immer verwendbar.

Bei 16Mhz sollte immer der Full Swing Modus Fuse wie bei mir sein.
Die 800mV sind definitiv ein Anzeichen, daß etwas nicht stimmt. Nimm mal 
meine Fuse Settings zum Vergleich.

Ich werde mal Bei Gelegenheit es am Steckbrett zu versuchen. Bestätige 
mir noch einmal Deine drei Fuse Hex Werte.

von L. N. (derneumann)


Angehängte Dateien:

Lesenswert?

Gerhard O. schrieb:
> Nein. Das Bild zeigt einen Quarz im CM309S Gehäuse. Die oberen Pins sind
> nur zur Befestigung und Masseanschluß zur inneren Schirmung.
> Die unteren Pins sind die eigentlichen Quarzanschlüsse. Ich ziehe diese
> Quarzkonstruktion gegenüber anderen SMD Tpen vor weil beim CM309S die
> Anschlüsse nebeneinander angeordnet sind und kürzeste Verbinungen
> ermöglichen.
>
> Normale Quarze im HC-49/U Gehäuse sind natürlich auch immer verwendbar.

Verstehe.. habe zuletzt diesen quarz benutzt (8 MHz, SMD), der ging gut 
zu löten und ist auch sehr klein:
https://www.mouser.at/ProductDetail/txc-corporation/7a-8000mahj-t/?qs=WfzemSix46vXv1Q9t6GC%252bQ==&countrycode=DE&currencycode=EUR
Footprint zur Veranschaulichung im Screenshot.

Gerhard O. schrieb:
> Bei 16Mhz sollte immer der Full Swing Modus Fuse wie bei mir sein.
> Die 800mV sind definitiv ein Anzeichen, daß etwas nicht stimmt. Nimm mal
> meine Fuse Settings zum Vergleich.

ok mache ich!

Gerhard O. schrieb:
> Ich werde mal Bei Gelegenheit es am Steckbrett zu versuchen. Bestätige
> mir noch einmal Deine drei Fuse Hex Werte.

Die stimmen so (copy paste aus dem avrdude config file):
low_fuses=0xFF
high_fuses=0xDE
extended_fuses=0xFD

Reinhard R. schrieb:
> Ja, das nutze ich standardmäßig so. Irgendwelche Nachteile (Schlechtere
> Frequenzstabilität? Höherer Stromverbrauch?) habe ich bisher nicht
> bemerkt bzw. haben mich nicht gestört.

OK danke! Gerhards Fuses setzen ja auch den Full Swing Oscillator, werde 
das definitiv ausprobieren.

von L. N. (derneumann)


Angehängte Dateien:

Lesenswert?

Anbei mal der Aufbau...

von Mitreder (Gast)


Lesenswert?

L. N. schrieb:
> Anbei mal der Aufbau...

Ich habe es befürchet ....

Die Lastkapazitäten haben einen seeeeehr langen Weg zur
Prozessor-Masse. Nach Hersteller-Vorgaben gehören die aber
möglichst kurz an einen benachbarten Masse-Pin des Prozessors
angeschlossen.

Muss nicht kriegsentscheidend sein, kann aber.

Versuche auch, alle Contoller-Massepins zentral an einer
Masse-Schiene anzuschliessen.

Alle Abblock-Kondensatoren direkt von VCC-Pin and Masse-Pin!
Nicht an die Masse-Schiene!

von c-hater (Gast)


Lesenswert?

L. N. schrieb:

> Anbei mal der Aufbau...

Das sieht eigentlich garnicht so schlecht aus, die parasitären 
Kapazitäten der Oszillatorschaltung werden nicht allzusehr über dem 
eines PCB liegen. Ich würde schätzen: ca. 5pf...

von Wilma Streit (Gast)


Lesenswert?

Ich hatte mal ähnliche Probleme und zum Schluss war einfach der AVRISP 
Programmer hin.

von Mitreder (Gast)


Lesenswert?

Wilma Streit schrieb:
> Ich hatte mal ähnliche Probleme und zum Schluss war einfach der AVRISP
> Programmer hin.

Ja schon klar, der kaputte AVRISP Programmer der nicht angeschlossen
ist stört den Bootloader beim Programmieren - einfach genial.

Lies erst mal was der TO geschrieben hat bevor du hier Schrott
ablädst.

von L. N. (derneumann)


Lesenswert?

Mitreder schrieb:
> Die Lastkapazitäten haben einen seeeeehr langen Weg zur
> Prozessor-Masse. Nach Hersteller-Vorgaben gehören die aber
> möglichst kurz an einen benachbarten Masse-Pin des Prozessors
> angeschlossen.

Hm also zum linken Massepin finde ich den Weg nicht so lange, ist ja 
direkt nebenan...? Ist das schon zu viel?

Mitreder schrieb:
> Versuche auch, alle Contoller-Massepins zentral an einer
> Masse-Schiene anzuschliessen.
>
> Alle Abblock-Kondensatoren direkt von VCC-Pin and Masse-Pin!
> Nicht an die Masse-Schiene!

Das geht sich ohne Löterei auf meinem Steckbrett leider nicht aus... 
Wenn das wirklich die Ursache ist, nehm ich dann lieber mein Devboard 
zum Entwickeln und mach mir notfalls noch ein paar davon...

c-hater schrieb:
> Das sieht eigentlich garnicht so schlecht aus

Das ist ja mal widersprüchlich zum Mitreder... :-)

Ich hab hier einen ähnlichen Aufbau (noch dazu mit RFM69 SPI Funkmodul) 
mit einem 328p, der läuft seit Monaten mit Batterien problemlos durch. 
Allerdings halt mit 8 MHz und non-China Quarz...

Mitreder schrieb:
> Ja schon klar, der kaputte AVRISP Programmer der nicht angeschlossen
> ist stört den Bootloader beim Programmieren - einfach genial.

Ja, das macht in der Tat nicht viel Sinn :-)

von Mitreder (Gast)


Lesenswert?

L. N. schrieb:
> Ist das schon zu viel?

Mitreder schrieb:
> Nach Hersteller-Vorgaben ...

... schaut das aber anders aus. Aber gut ... ich merke schon,
du weisst es besser und brauchst Hersteller-Datenblätter weder
zu lesen noch zu berücksichtigen.

Bei dieser Gelegenheit kommt bei mir der Gedanke an
Beratungsresistenz auf.

von Mitreder (Gast)


Lesenswert?

L. N. schrieb:
> Hm also zum linken Massepin finde ich den Weg nicht so lange

Was du findest ist aber für die Funktion nicht entscheidend.

Die Lastkapazitäten sind an der Masse-Schiene angeschlossen,
nicht am Masse Pin des Controllers (das sind Unterschiede!).
Oder hast du da irgendwelche nicht sichtbare Leitungen
eingebaut, oder habe ich Wahnehmungsstörungen?

von c-hater (Gast)


Lesenswert?

L. N. schrieb:

> Das ist ja mal widersprüchlich zum Mitreder... :-)

Nun, ich habe umfangreiche Erfahrungen mit Prototypenbau auf 
Streifenleiter (auch mit dem 1284P). Das ist garnicht so sehr 
verschieden von der Situation auf Breadboards.

Nur die Wackelkontakte braucht man halt nicht zu fürchten. Deswegen 
mache ich es schon seit Jahrzehnten lieber auf Streifenleiter, denn nach 
meiner damaligen Erfahrung ist ein Breadboard im allerbesten Fall genau 
einmal frei von Wackelkontakten, nämlich bei der allerersten 
Benutzung...

von Stefan F. (Gast)


Lesenswert?

L. N. schrieb:
> Du hast da ja einen Quarzoszillator mit vier Beinchen, sowas hab ich
> leider nicht da... Wären die Dinger allgemein empfehlenswerter als die
> reinen Quarze?

Auf Steckbrettern hast du mit externen Quarz-Oszillatoren weniger 
Probleme, weil da die Lastkapazitäten innen drin sind. Die Kapazitäten 
der Steckbrett-Kontakte stören dann weniger.

Eventuell kannst du den Mikrocontroller in einen Sockel stecken und den 
Sockel ins Steckbrett. Beim Sockel knipst du die beiden XTAL Pins ab, 
dann kannst du Quarz und Kondensatoren provisorisch direkt an den 
Mikrocontroller löten (Beim Löten den Sockel entfernen, damit du ihn 
nicht versehentlich festlötest).

von Mitreder (Gast)


Lesenswert?

Merke: parasitäre Steckbrett-Kapazitäten sind verteilte
Kapazitäten die "irgendwo" angeschlossen sind, aber nicht
eindeutig an Masse.

Daher wirken sie nicht so wie sie eigentlich sollen wenn sie
direkt an den Massepin des Controllers angeschlossen sind.
Daher kann man sie auch nicht einfach der Quarz-Lastkapazität
hinzurechnen.

von Mitreder (Gast)


Angehängte Dateien:

Lesenswert?

Mitreder schrieb:
> Nach Hersteller-Vorgaben gehören die aber
> möglichst kurz an einen benachbarten Masse-Pin des Prozessors
> angeschlossen.

Damit hier nicht von heisser Luft gesprochen wird:

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8128-Best-Practices-for-the-PCB-Layout-of-Oscillators_ApplicationNote_AVR186.pdf

Das entscheidene Layout habe ich mal zu Ansicht beigepackt.

von Mitreder (Gast)


Lesenswert?

Mitreder schrieb:
> Das entscheidene Layout habe ich mal zu Ansicht beigepackt.

... und wer kein Englisch versteht, hier meine Übersetzung dazu:

"Um die Robustheit dieser Schaltung gegenüber externen
Störungen zu verbessern muss das PCB Layout sehr sorgfältig
ausgeführt werden."

von Gerhard O. (gerhard_)


Lesenswert?

Mitreder schrieb:
> L. N. schrieb:
>> Hm also zum linken Massepin finde ich den Weg nicht so lange
>
> Was du findest ist aber für die Funktion nicht entscheidend.
>
> Die Lastkapazitäten sind an der Masse-Schiene angeschlossen,
> nicht am Masse Pin des Controllers (das sind Unterschiede!).
> Oder hast du da irgendwelche nicht sichtbare Leitungen
> eingebaut, oder habe ich Wahnehmungsstörungen?

Ich habe mal gerade hier herein geschaut.

Da ist ein halb versteckter (orangener) Jumper (unter dem orangen Vcc 
Draht Jumper) zur Masse schiene. Nun, so schrecklich lange sind die 
Masseleitungen auch für 16MHz nicht. Was mich stört ist die zusätzliche 
Bürde Kapazität zwischen den Quarzpins und daß die Oszillatorfuse (noch) 
nicht richtig eingestellt ist.

Intuitiv vermute ich sogar stark, daß alleine die falsche Fuse 
Einstellung die alleinige Ursache ist und als nächster Schritt geprüft 
und umgestellt werden sollte.

Nachtrag:

L.N. Ändere mal nur die Fuse für den Oszillator und dann sehen wir 
weiter.

Am Steckbrett wäre wahrscheinlich ein 16MHz DIL Oszillator eine gute 
Alternative während der Steckbrett Phase des Projekts.

Im ersten Beitrag steht, daß da noch ein 1MOHM dran ist - Bitte 
wegnehmen. Der ist extern nicht notwendig.

: Bearbeitet durch User
von Johann J. (johannjohanson)


Lesenswert?

L. N. schrieb:
> Anbei mal der Aufbau...

Für mich sieht das so aus, dass Du VCC direkt am Reset-PIN hast und den 
VCC über den Widerstand damit verbunden hast (über die Schiene) - oder 
sehe ich das falsch?

von L. N. (derneumann)


Lesenswert?

Mitreder schrieb:
> ich merke schon,
> du weisst es besser und brauchst Hersteller-Datenblätter weder
> zu lesen noch zu berücksichtigen.
>
> Bei dieser Gelegenheit kommt bei mir der Gedanke an
> Beratungsresistenz auf.

ich behaupte gar nicht, irgendwas zu wissen. Ich stelle Fragen.

Mitreder schrieb:
> Was du findest ist aber für die Funktion nicht entscheidend.

Ich weiß. Sieh es als Erstaunen meinerseits, dass dieser nach meinem 
Empfinden kurze Weg schon problematisch zu sein scheint.

Mitreder schrieb:
> Die Lastkapazitäten sind an der Masse-Schiene angeschlossen,
> nicht am Masse Pin des Controllers (das sind Unterschiede!).

Ja, verstanden. Man liest halt nirgendwo davon, dass man so einen AVR 
mit 16 MHz keinesfalls einfach so am Steckbrett aufgesteckt betreiben 
kann (im Gegenteil). Oder ist mein Steckbrett einfach nur extrem 
besch...eiden? Für die angesprochenen direkten Verbindungen ohne Schiene 
ist schlicht kein Platz, ohne Löten oder sonstigen Zaubereien mit 
Sockeln und Co. geht das am Steckbrett halt nicht.
Da muss doch noch irgendwas anderes faul sein.
Kurz gesagt: Entweder ich finde einen anderen Fehler der das Problem 
verursacht oder, wenn es wirklich "nur" an der Masseschiene und den 
mangelhaften Verbindungen liegt (was ich ja nicht ausschließe, ich hoffe 
halt nur dass es das nicht ist, oder nicht hauptsächlich), dann baue ich 
das Ding halt nicht am Steckbrett auf sondern nutze mein Devboard (PCB), 
welches ja einwandfrei funktioniert. Denn wenn ich das Zeug nicht 
einfach aufstecken kann ist für mich der Vorteil des Steckbretts dahin, 
dann nehm ich gleich ein geeignetes PCB wo alles passt.

c-hater schrieb:
> Nur die Wackelkontakte braucht man halt nicht zu fürchten.

Ja, das stimmt. Die Wackelkontakte nerven, daher mache ich in der Regel 
nur einen schnellen Versuchsaufbau (in einem Rutsch) und mache dann 
schon ein PCB am PC. In der Regel funktioniert das auch so denn die 
Steckbretter die ich verwende haben allgemein eigentlich ganz gut 
federnde Kontakte drin.
In dem Fall war es halt aufgrund des Programmierproblems vorbei bevor es 
richtig angefangen hat.
Ab und zu löte ich auf Lochraster (Streifenleiter habe ich noch nicht 
verwendet) aber idR. ist es Steckbrett -> PCB.

Stefanus F. schrieb:
> Auf Steckbrettern hast du mit externen Quarz-Oszillatoren weniger
> Probleme, weil da die Lastkapazitäten innen drin sind. Die Kapazitäten
> der Steckbrett-Kontakte stören dann weniger.
>
> Eventuell kannst du den Mikrocontroller in einen Sockel stecken und den
> Sockel ins Steckbrett. Beim Sockel knipst du die beiden XTAL Pins ab,
> dann kannst du Quarz und Kondensatoren provisorisch direkt an den
> Mikrocontroller löten (Beim Löten den Sockel entfernen, damit du ihn
> nicht versehentlich festlötest).

Externer Quarzoszillator ist das vierbeinige Teil, richtig (wobei, wie 
ich heute gelernt habe, nicht jedes vierbeinige Quarz-Teil ein 
Quarz-Oszillator sein muss)? Leuchtet ein, dass das weniger anfällig 
ist.

Das mit dem Sockel gefällt mir eigentlich. Wenn ich kein fertiges 
Devboard hätte, würde ich das vermutlich so machen. Gefällt mir besser, 
als die Beinchen des µC zu verbiegen.

Mitreder schrieb:
> Merke: parasitäre Steckbrett-Kapazitäten sind verteilte
> Kapazitäten die "irgendwo" angeschlossen sind, aber nicht
> eindeutig an Masse.

So etwas dachte ich mir schon, dass so etwas kein spezifiziertes 
Verhalten hat.

Mitreder schrieb:
> Das entscheidene Layout habe ich mal zu Ansicht beigepackt.

So sieht das auf meinem Devboard aus, außer dass die MLCCs erst nach dem 
Quarz kommen und nicht davor, wie im Beispiel Layout. Ehrlich gesagt 
habe ich das so wie in dem Ausschnitt bisher kaum gesehen...

Mitreder schrieb:
> ... und wer kein Englisch versteht, hier meine Übersetzung dazu:

Sehr gut übersetzt ;-)

Gerhard O. schrieb:
> Da ist ein halb versteckter (orangener) Jumper (unter dem orangen Vcc
> Draht Jumper) zur Masse schiene.

Das ist Masse für den Entkopplungskerko für VCC/GND. Drüber ist VCC 
(Grau). Für die Farben der Jumper kann ich nix :-)

Gerhard O. schrieb:
> Was mich stört ist die zusätzliche
> Bürde Kapazität zwischen den Quarzpins und daß die Oszillatorfuse (noch)
> nicht richtig eingestellt ist.

Welche Bürdekapazität ZWISCHEN den Quarzpins meinst du? ich hab da nur 
die 22pF von XTAL1 -> GND und XTAL2 -> GND drin. DIREKT drüber der 
orangene Jumper der zum GND Pin des µC geht.
Die Fuses hab ich zwischenzeitlich schon genau so gesetzt wie du sie 
hast, hat nichts geholfen - exakt dasselbe Verhalten nach wie vor.

Gerhard O. schrieb:
> Intuitiv vermute ich sogar stark, daß alleine die falsche Fuse
> Einstellung die alleinige Ursache ist und als nächster Schritt geprüft
> und umgestellt werden sollte.

Das hätte mich wirklich sehr gefreut, leider war dem nicht so.
Abgesehen von der Tatsache dass das alles am Steckbrett aufgebaut und 
daher weit weg von optimal und weit weg von den Herstellervorgaben ist 
(RX und TX Pins die beim Flashen richtig schön arbeiten mit 115.200 Baud 
sind ja auch gleich unter den XTAL Pins) kann ich mir eigentlich nur 
noch vorstellen dass die Quarze die ich hier habe Schrott sind und evtl. 
auch die Kerkos. Daher halt mein Plan, als letzten Versuch noch 
ordentliche Quarze und paar verschiedene Größen ordentlicher Kerkos zu 
probieren, mit der nächsten Mouser Bestellung.

Gerhard O. schrieb:
> Am Steckbrett wäre wahrscheinlich ein 16MHz DIL Oszillator eine gute
> Alternative während der Steckbrett Phase des Projekts.

Ja, kann ich ja auch mit bestellen und dann damit probieren. Wenns damit 
klappt, ist das abgesehen vom Devboard auch noch eine gangbare 
Alternative für mich. Ist mir jedenfalls etliche Male lieber als am 
Steckbrett am uC rumzulöten und/oder IC Sockel Pins abzuzwicken.

Gerhard O. schrieb:
> Im ersten Beitrag steht, daß da noch ein 1MOHM dran ist - Bitte
> wegnehmen. Der ist extern nicht notwendig.

War nur als Versuch mal drin, ist schon lang wieder draußen. Habe 
gelesen dass das bei AVRs nicht üblich ist.

Johann J. schrieb:
> Für mich sieht das so aus, dass Du VCC direkt am Reset-PIN hast und den
> VCC über den Widerstand damit verbunden hast (über die Schiene) - oder
> sehe ich das falsch?

Ich hab den 100n C weggelassen. Reset hängt über 10k an VCC und über 68k 
an GND. ich hatte aber auch schon nur den 10k pullup und auch schon mal 
nur einen 6.8k pullup, ohne dem pulldown. Hat alles nix geändert.

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Welche Bürdekapazität ZWISCHEN den Quarzpins meinst du? ich hab da nur
> die 22pF von XTAL1 -> GND und XTAL2 -> GND drin. DIREKT drüber der
> orangene Jumper der zum GND Pin des µC geht.
> Die Fuses hab ich zwischenzeitlich schon genau so gesetzt wie du sie
> hast, hat nichts geholfen - exakt dasselbe Verhalten nach wie vor.

Unter Bürde C meinte ich die Verdrahtungs Kapazität zwischen den Quarz 
Anschlüssen. Also parallel zu den Quarzanschlüssen.
Daß die Fuse Einstellung nichts ausmacht, ist überraschend.

Ich werde es so bald wie möglich selber ausprobieren. Daß die Länge der 
Masseverbindung zwischen Vss und den 22p Cs die Ursache ist, wage ich 
doch auszuschließen.

von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Unter Bürde C meinte ich die Verdrahtungs Kapazität zwischen den Quarz
> Anschlüssen. Also parallel zu den Quarzanschlüssen.

Oh ok, ja gut.. Daran kann ich kaum was ändern, außer ich löte den Quarz 
an den IC Beinchen direkt an.

Gerhard O. schrieb:
> Daß die Fuse Einstellung nichts ausmacht, ist überraschend.

Ja, da hab ich auch viel Hoffnung reingesetzt gehabt. Daher hat sich 
jetzt meine Hoffnung in Richtung Müll-Quarz und Müll-Kerkos verlagert...

Gerhard O. schrieb:
> Ich werde es so bald wie möglich selber ausprobieren.

Würde mich sehr interessieren. Von meiner Seite her jedoch kein Stress, 
da ich ja nun ohnehin mit dem Devboard entwickle...

Gerhard O. schrieb:
> Daß die Länge der
> Masseverbindung zwischen Vss und den 22p Cs die Ursache ist, wage ich
> doch auszuschließen.

Ich hoffe es. Lässt sich denn eine eindeutige Aussage dazu treffen, dass 
das Ganze bei 8 MHz weniger empfindlich ist? Denn wie gesagt, so ein 8 
MHz Steckbrettaufbau (hab ich spaßeshalber so gelassen) läuft seit 
Monaten problemlos und ließ sich immer einwandfrei programmieren. 
Allerdings war es eben auch ein 328p und kein 1284p.
Unterschiede zwischen den Aufbauten:

8 MHz vs. 16 MHz
328p vs. 1284p
kein China Quarz vs. China Quarz
328p hat RX/TX nicht neben den XTAL Pins. Vielleicht ist das ja das 
Problem? Dass den µC das Programmieren per Crosstalk aus dem Tritt 
bringt?

von Gerhard O. (gerhard_)


Angehängte Dateien:

Lesenswert?

Habe gerade den 1284er am Steckbrett aufgebaut. Siehe Anhang.

Funktioniert einwandfrei wie Du sehen kannst. Die 16Mhz Quarze sind 
übrigens chinesische Abkömmlinge:-)

Ich probierte auch 8, 18.432 und 20 MHz. Funktionierten alle 
zuverlässig. Ich testete alle 10 16Mhz Quarze. Kein Unterschied.

Der Oszi schwingt auch ohne 22p. Mit nur dem Eingangs C erhöht sich noch 
wie zu erwarten die Amplitude. Das letzte Bild ist der Oszillator 
Verstärker Eingang.

Vielleicht ist Dein betroffener Quarz "müde" und weniger schwingfreudig 
wie meine kanadischen Quarze:-) Wenn das Q niedrig ist, können 
schlechtere Aufbauten schon etwas ausmachen. Mein Aufbau scheint total 
unkritisch zu sein. Ich habe sogar die Cs genauso wie bei Dir "mit 
Umweg" angeschlossen.

Vdd und Avdd Abblock C sind 0.1uF, die Quarz Cs sind Philips 22p Typen.

Ist wirklich merkwürdig bei Deinem Aufbau, daß der Oszi solche Zicken 
macht.

Nachtrag:

Der uC mit 16Mhz Quarz schwingt schon bei nur 2V an.

: Bearbeitet durch User
von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Habe gerade den 1284er am Steckbrett aufgebaut. Siehe Anhang.
>
> Funktioniert einwandfrei wie Du sehen kannst. Die 16Mhz Quarze sind
> übrigens chinesische Abkömmlinge:-)
>
> Ich probierte auch 8, 18.432 und 20 MHz. Funktionierten alle
> zuverlässig. Ich testete alle 10 16Mhz Quarze. Kein Unterschied.
>
> Der Oszi schwingt auch ohne 22p noch. Mit nur dem Eingangs C erhöht sich
> noch wie zu erwarten die Amplitude. Das letzte Bild ist der Oszillator
> Verstärker Eingang.
>
> Vielleicht ist Dein betroffener Quarz "müde" und weniger schwingfreudig
> wie meine kanadischen Quarze:-) Wenn das Q niedrig ist, können
> schlechtere Aufbauten schon etwas ausmachen. Mein Aufbau scheint total
> unkritisch zu sein. Ich habe sogar die Cs genausso wie bei Dir
> angeschlossen.
>
> Vdd und Avdd Abblock C sind 0.1uF, die Quarz Cs sind Philips 22p Typen.
>
> Ist wirklich merkwürdig bei Deinem Aufbau, daß der Oszi solche Zicken
> macht.
>
> Nachtrag:
>
> Der uC mit 16Mhz Quarz schwingt schon bei nur 2V an.

Danke, dass du den Aufwand betrieben hast!

Hast du auch probiert, über UART zu flashen? An sich läuft der µC bei 
mir ja auch, beim Flashen gibt er aber halt auf.

Ich habe drei verschiedene 16 MHz Quarze probiert. Zwei, die ich 
rumliegen hatte, einer davon 100% von Aliexpress, einer von irgendwo und 
einen hab ich von einem billigen Arduino Uno Clone ausgelötet. Immer 
dasselbe Ergebnis.

Die Abblock Cs sind auch bei mir 0.1µF. Die 22pF Cs sind irgendwelche 
von irgendwo...

Ist das ein 1k Widerstand vom XTAL1 zur Messspitze?

von L. N. (derneumann)


Angehängte Dateien:

Lesenswert?

Bei mir sieht das übrigens so aus...

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Gerhard O. schrieb:
>> Habe gerade den 1284er am Steckbrett aufgebaut. Siehe Anhang.
>>
>> Funktioniert einwandfrei wie Du sehen kannst. Die 16Mhz Quarze sind
>> übrigens chinesische Abkömmlinge:-)
>>
>> Ich probierte auch 8, 18.432 und 20 MHz. Funktionierten alle
>> zuverlässig. Ich testete alle 10 16Mhz Quarze. Kein Unterschied.
>>
>> Der Oszi schwingt auch ohne 22p noch. Mit nur dem Eingangs C erhöht sich
>> noch wie zu erwarten die Amplitude. Das letzte Bild ist der Oszillator
>> Verstärker Eingang.
>>
>> Vielleicht ist Dein betroffener Quarz "müde" und weniger schwingfreudig
>> wie meine kanadischen Quarze:-) Wenn das Q niedrig ist, können
>> schlechtere Aufbauten schon etwas ausmachen. Mein Aufbau scheint total
>> unkritisch zu sein. Ich habe sogar die Cs genausso wie bei Dir
>> angeschlossen.
>>
>> Vdd und Avdd Abblock C sind 0.1uF, die Quarz Cs sind Philips 22p Typen.
>>
>> Ist wirklich merkwürdig bei Deinem Aufbau, daß der Oszi solche Zicken
>> macht.
>>
>> Nachtrag:
>>
>> Der uC mit 16Mhz Quarz schwingt schon bei nur 2V an.
>
> Danke, dass du den Aufwand betrieben hast!
>
> Hast du auch probiert, über UART zu flashen? An sich läuft der µC bei
> mir ja auch, beim Flashen gibt er aber halt auf.
Flashen und Comm geht über BL 100% zuverläßig. Ich arbeitete das letzte 
Mal mit diesem Chip vor 4 Jahren und hatte damals nie die geringsten der 
besprochenen Probleme. Zum BL programmieren verwendete ich damals den 
STK500. Dieses ADAM Projekt ist vom richtigen Funktionieren des UART 
total abhängig.

>
> Ich habe drei verschiedene 16 MHz Quarze probiert. Zwei, die ich
> rumliegen hatte, einer davon 100% von Aliexpress, einer von irgendwo und
> einen hab ich von einem billigen Arduino Uno Clone ausgelötet. Immer
> dasselbe Ergebnis.
Das ist in der Tat merkwürdig. Mein Testaufbau zeigt sich ausgesprochen 
unkritisch und schwingfreudig. Es ist am Steckbrett genug parasitäre 
Kapazität da um den Quarz auch ohne Cs schwingen zu lassen. Vielleicht 
hat mein uraltes Steckbrett andere C Werte.
Im Augenblick bin ich ratlos.

Ich würde versuchen wie von jemand vorgeschlagen einen Sockel mit 
abgeschnittenen Pins zu verwenden und ganz ohne Steckbrett zu arbeiten. 
Löte alles in Freiluft Verdrahtung. Wenn das dann auch nicht geht ist 
etwas stinkfaul in Dänemark. Daß Dein 1284er was hat ist nicht wirklich 
anzunehmen.

Da würde ich vielleicht doch neue Komponenten kaufen um irgendwelche 
Zufälle auszuschliessen.

Steck den Quarz ab und ersetze ihn durch einen 1M R und miß die DC 
Spannung. Sollte rund Vcc/2 sein wenn alles in Ordnung mit dem Inverter 
ist.

Bei mir zeigte sich die Schaltung als extrem gutmütig. Sogar ohne Cs 
schwingt er auf 16Mhz.

>
> Die Abblock Cs sind auch bei mir 0.1µF. Die 22pF Cs sind irgendwelche
> von irgendwo...
>
> Ist das ein 1k Widerstand vom XTAL1 zur Messspitze?

Jnein, ist 100 Ohm:-)

Wie gesagt, hier ist guter Rat teuer...

von Mitreder (Gast)


Lesenswert?

Gerhard O. schrieb:
> Ist wirklich merkwürdig bei Deinem Aufbau, daß der Oszi solche Zicken
> macht.

Er hat ja keine Probleme beim Anschwingen sondern während des
Flash-Vorgangs. Deswegen macht eine statische Nachbildung des
Aufbaus alleine wenig Sinn. Beim Datentransfer und Flashen
passieren die Stromspitzen, und da muss die Spannung stabil
stehen.

Aber die Lösung der kurzen und gemeinsamen Verbindungen der
Stromversorgung hast du vorbildlich gelöst. Fehlt nur noch
ein Elko für die globale Abblockung. Eine gute Versorgung
ersetzt nicht den Elko auf dem Steckbrett. Nur manchmal ...
... wenn jemand meint "bei mir geht's ja auch ohne".

Mitreder schrieb:
> Und welche Stromversorgung verwendest du?

Darauf habe ich keine Anwort bekommen, auch niemand anders
ist auf die Idee gekommen mal danach zu fragen. Aber eine
Stromversorgung muss auch gewisse Mindestanforderungen
erfüllen. Wenn der USB2serial Konverter die Versorgung
übernimmt dann habe ich so meine Zweifel und der Elko ist
noch wichtiger.

Ich könnte ja sagen: bei geht das alles ohne diesen
"unnützen Ballast", aber ich kann es nicht da ich es nie
ohne ausprobiert habe.


A propos Bootloader: kann denn der Bootloader ohne Umschaltung
sowohl 8 MHz als auch 16 MHz?

von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Steck den Quarz ab und ersetze ihn durch einen 1M R und miß die DC
> Spannung. Sollte rund Vcc/2 sein wenn alles in Ordnung mit dem Inverter
> ist.

Hmm nein, sind 800mV. Die 22pF sind noch drin, zwischen XTAL1 und XTAL2 
ist 1MOhm und ich messe mit der Probe XTAL1 oder XTAL2 gegen GND. Beide 
Male so 800-900mV....

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Bei mir sieht das übrigens so aus...

Dein Aufbau ist meinem sehr ähnlich. Die KerCo Typen sollten passen.

Die Frequenz stimmt. Aber die Amplitude ist grottig niedrig. Am 1K fällt 
zusammen mit dem Tastkopf C schon etwas Spannung ab. Würde ich  ohne R 
messen wenn es um die Amplitude geht. Bei mir bekomme ich fast drei Vpk 
am Ausgang und über 4V am Eingang.

Eine dumme Frage: ist zufällig das Scope Eingangs Tiefassfilter 
aktiviert? Das könnte auch weniger Spannung vortäuschen.

Untersuche mal die Spannungen am Dev Bord um eine Vergleichsbasis mit 
Deinem Meßaufbau zu haben. Trau, schau, wem!

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Mitreder schrieb:
> Gerhard O. schrieb:
>> Ist wirklich merkwürdig bei Deinem Aufbau, daß der Oszi solche Zicken
>> macht.
>
> Er hat ja keine Probleme beim Anschwingen sondern während des
> Flash-Vorgangs. Deswegen macht eine statische Nachbildung des
> Aufbaus alleine wenig Sinn. Beim Datentransfer und Flashen
> passieren die Stromspitzen, und da muss die Spannung stabil
> stehen.
Ja. Das stimmt. Ich werde mal meinen USB Serial Converter anstecken und 
ein Program drauf flashen.
>
> Aber die Lösung der kurzen und gemeinsamen Verbindungen der
> Stromversorgung hast du vorbildlich gelöst. Fehlt nur noch
> ein Elko für die globale Abblockung. Eine gute Versorgung
> ersetzt nicht den Elko auf dem Steckbrett. Nur manchmal ...
> ... wenn jemand meint "bei mir geht's ja auch ohne".
Ich war zu sehr in Eile um noch einen herum liegenden Elko zu suchen:-)
>
> Mitreder schrieb:
>> Und welche Stromversorgung verwendest du?
Bei mir ist es ein HP E3611A. Gute Frage...
>
> Darauf habe ich keine Anwort bekommen, auch niemand anders
> ist auf die Idee gekommen mal danach zu fragen. Aber eine
> Stromversorgung muss auch gewisse Mindestanforderungen
> erfüllen. Wenn der USB2serial Konverter die Versorgung
> übernimmt dann habe ich so meine Zweifel und der Elko ist
> noch wichtiger.
Stmmt auf alle Fälle.
>
> Ich könnte ja sagen: bei geht das alles ohne diesen
> "unnützen Ballast", aber ich kann es nicht da ich es nie
> ohne ausprobiert habe.
>
> A propos Bootloader: kann denn der Bootloader ohne Umschaltung
> sowohl 8 MHz als auch 16 MHz?
Das könnte ich auch gleich ausprobieren damit diese Frage geklärt werden 
kann. Hängt möglicherweise von dem aktuellen "Flavour" des Bootloaders 
ab.

Werde mich später wieder melden.

: Bearbeitet durch User
von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Ich würde versuchen wie von jemand vorgeschlagen einen Sockel mit
> abgeschnittenen Pins zu verwenden und ganz ohne Steckbrett zu arbeiten.
> Löte alles in Freiluft Verdrahtung. Wenn das dann auch nicht geht ist
> etwas stinkfaul in Dänemark. Daß Dein 1284er was hat ist nicht wirklich
> anzunehmen.
>
> Da würde ich vielleicht doch neue Komponenten kaufen um irgendwelche
> Zufälle auszuschliessen.

Zuerst bestelle ich mal neues Zeug, schon allein weil es mich nervt, 
dass ich keine Komponenten dieser Art hier habe von denen ich sicher 
ausgehen kann dass diese tun was sie sollen :-)

Mitreder schrieb:
> Darauf habe ich keine Anwort bekommen, auch niemand anders
> ist auf die Idee gekommen mal danach zu fragen.

Ich hatte einen Elko drauf, aktuell versuche ich es mit dem FTDI 
Converter, wobei dieser die 5V von USB einfach durchschleift, in dem 
Fall. Ich hatte aber auch schon mein Labornetzteil angeschlossen (inkl. 
1000µF am Steckbrett). Hat auch nix geholfen.

Mitreder schrieb:
> A propos Bootloader: kann denn der Bootloader ohne Umschaltung
> sowohl 8 MHz als auch 16 MHz?

Die 8 MHz hab ich bei einem 328p verwendet - anderer Bootloader in dem 
Fall. der Bootloader den ich jetzt verwende funktioniert auf jeden Fall 
mit 16 MHz.

Gerhard O. schrieb:
> Aber die Amplitude ist grottig niedrig. Am 1K fällt
> zusammen mit dem Tastkopf C schon etwas Spannung ab. Würde ich  ohne R
> messen wenn es um die Amplitude geht. Bei mir bekomme ich fast drei Vpk
> am Ausgang und über 4V am Eingang.

Hab ich ohne R und mit 100R gemessen, ca. 800-900mV mit 1MOhm zw. den 
XTAL Pins (und ohne Quarz), inkl. den 22pF Kerkos.

Gerhard O. schrieb:
> Eine dumme Frage: ist zufällig das Scope Eingangs Tiefassfilter
> aktiviert? Das könnte auch weniger Spannung vortäuschen.

Ich hab ehrlich keine Ahnung - muss mal schauen wo man den 
aktivieren/deaktivieren kann (morgen dann).

Gerhard O. schrieb:
> Untersuche mal die Spannungen am Dev Bord um eine Vergleichsbasis mit
> Deinem Meßaufbau zu haben. Trau, schau, wem!

Das ist total verdrahtet mit der aktuellen Schaltung an der ich grade 
arbeite. Mach ich vielleicht auch morgen, aber jedenfalls irgendwann in 
den nächsten Tagen. Muss hier erstmal wieder Ordnung machen.

Danke euch mal für heute, muss morgen um 5:30 raus...

von S. R. (svenska)


Lesenswert?

Ich habe meine AVRs auf dem Steckbrett bisher grundsätzlich ohne 
Bürdekapazitäten betrieben (die parasitäre Kapazität reicht). Probleme 
mit dem Takt hatte ich nie - auch nicht mit der UART (Baudratenquarz). 
Allerdings habe ich immer 100 nF direkt neben das VCC/GND-Pärchen 
gesteckt.

Wenn der Controller während des Flashens resettet, könnte eventuell die 
Versorgungsspannung zusammenbrechen. Also schlechtes/kaputtes Netzteil, 
schlechter Kontakt oder schlicht ein kaputter AVR. Ein dicker 
Kondensator könnte hilfreich sein, oder verdeckt das Problem.

Vielleicht kommt deine Stromversorgung einfach nicht mit den kleinen 
Strömen klar. Belaste sie mal mit 220 Ohm parallel zum AVR und schaue, 
ob sich was verändert.

von Gerhard O. (gerhard_)


Lesenswert?

Naja, dann laß Dich von Orpheus aufnehmen...

Bei mir ist es erst 16:28.

: Bearbeitet durch User
von L. N. (derneumann)


Lesenswert?

S. R. schrieb:
> Ich habe meine AVRs auf dem Steckbrett bisher grundsätzlich ohne
> Bürdekapazitäten betrieben (die parasitäre Kapazität reicht). Probleme
> mit dem Takt hatte ich nie - auch nicht mit der UART (Baudratenquarz).
> Allerdings habe ich immer 100 nF direkt neben das VCC/GND-Pärchen
> gesteckt.
>
> Wenn der Controller während des Flashens resettet, könnte eventuell die
> Versorgungsspannung zusammenbrechen. Also schlechtes/kaputtes Netzteil,
> schlechter Kontakt oder schlicht ein kaputter AVR. Ein dicker
> Kondensator könnte hilfreich sein, oder verdeckt das Problem.
>
> Vielleicht kommt deine Stromversorgung einfach nicht mit den kleinen
> Strömen klar. Belaste sie mal mit 220 Ohm parallel zum AVR und schaue,
> ob sich was verändert.

Ich muss ganz ehrlich zugeben, die Versorgungsspannung hab ich mir 
während des Flashens tatsächlich noch nicht angeschaut. Mein 
Labornetzteil kommt eigentlich mit kleinen Strömen sehr gut klar. Auch 
sonst hatte ich NIE Probleme, Arduinos oder Atmegas direkt über 
USB2Serial zu flashen.
Das aktuelle Problem ist einfach komplett von einer anderen Welt.

Werde wohl auch noch mal meinen ISP Programmer rausholen und alle 1284p 
mit Bootloader versehen die ich hier habe (so 5 oder 6) und die alle 
durchprobieren, vielleicht sind da ja tatsächlich welche dabei, die 
Banane sind. Immerhin habe ich auch hier einige von Aliexpress (weiß 
aber nicht mehr welche). Komisch nur, dass diese am Devboard PCB dann 
funktionieren. Vielleicht weil es ideale Voraussetzungen bietet. Die 
800mV am XTAL sind jedenfalls extrem seltsam, wenn da VCC/2 anliegen 
sollte...

von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Naja, dann laß Dich von Orpheus aufnehmen...
>
> Bei mir ist es erst 16:28.

Beneidenswert, die Tage haben ca. 96h zu wenig ;-)

von Gerhard O. (gerhard_)


Angehängte Dateien:

Lesenswert?

L. N. schrieb:
> Gerhard O. schrieb:
>> Naja, dann laß Dich von Orpheus aufnehmen...
>>
>> Bei mir ist es erst 16:28.
>
> Beneidenswert, die Tage haben ca. 96h zu wenig ;-)

In der Zwischenzeit befaßte ich mit dem alten Bootloader vom 2015 Stand. 
Seit 2015 hatte ich mehrmals die ARDUINO IDE Version auf den neuesten 
Stand gebracht und mußte erst Mal alles in Ordnung bringen weil nichts 
mehr funktionierte.

Da ich damals alles speziell einrichtete wollte ich diesmal ein Standard 
Package mit JSON Installations Script verwenden. Ich entschied mich nun 
für die "Mighty" Version und installierte ihren 16MHZ/115200 BL. Ich 
mußte allerdings den boards.txt file editieren um INTERNEN 16MHZ Betrieb 
zu ermöglichen. Aus irgendeinen Grund war interner 16MHz nicht im 
boards.txt vorgesehen obwohl vorhanden.

Langer Rede kurzer Sinn, der BL für 16MHz läuft jetzt richtig und es war 
möglich den BL mit meinen Breadboard Aufbau zu testen.

Ich testete den Bootloader auf der Breadboard zehn Mal mit 100% Erfolg. 
Ist "Rock Solid". Mit 115200 geht das Flashen sehr flott.

Naja, für mich hat sich diese "Übung" gelohnt weil nun mein 1284er Zeug 
nun wieder auf den neuesten Stand ist und mit der neuesten Standard 
Arduino IDE Installation (V1.89) funktioniert.

Falls Du den Mighty ausprobieren möchtest sind hier ein paar Hinweise:

1) Das ist der neue Bootloader:
1
"optiboot_flash_atmega1284p_UART0_115200_16000000L_BIGBOOT.hex"
2) in boards.txt füge in der Clock Sektion um Zeile 160 diesen Block 
ein:
(Warnung: Nicht den boards.txt im Arduino Installations Ordner 
editieren. Sondern hier:)
1
C:\Users\xxx\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.2
(xxx = Dein Windows Profil)
1
1284.menu.clock.16MHz_internal=Internal 16 MHz
2
1284.menu.clock.16MHz_internal.upload.speed=115200
3
1284.menu.clock.16MHz_internal.bootloader.low_fuses=0xd7
4
1284.menu.clock.16MHz_internal.build.f_cpu=16000000L

Im Anhang ist der editierte boards.txt.

Hier ist die Link zum Mighty Package:
1
https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
2
3
https://github.com/MCUdude

Die Bootloader sind hier nach der Installation von Mighty:
1
C:\Users\xxx\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.2\bootloaders\optiboot_flash\bootloaders

Ich habe übrigens nicht gefragt ob Du bei Dir überhaupt die Arduino IDE 
verwendest:-)

: Bearbeitet durch User
von L. N. (derneumann)


Lesenswert?

Morgähn

Gerhard O. schrieb:
> um INTERNEN 16MHZ Betrieb
> zu ermöglichen.

wieso intern? der Quarz ist doch extern...?

Gerhard O. schrieb:
> Langer Rede kurzer Sinn, der BL für 16MHz läuft jetzt richtig und es war
> möglich den BL mit meinen Breadboard Aufbau zu testen.
>
> Ich testete den Bootloader auf der Breadboard zehn Mal mit 100% Erfolg.
> Ist "Rock Solid". Mit 115200 geht das Flashen sehr flott.

Na toll, danke dafür :-D

Gerhard O. schrieb:
> Naja, für mich hat sich diese "Übung" gelohnt weil nun mein 1284er Zeug
> nun wieder auf den neuesten Stand ist und mit der neuesten Standard
> Arduino IDE Installation (V1.89) funktioniert.

Ich sitze noch auf irgendeiner frühen 1.8, verwende aber in letzter Zeit 
hauptsächlich PlatformIO (früher Visual Studio mit VSMicro Extension).

Gerhard O. schrieb:
> Falls Du den Mighty ausprobieren möchtest sind hier ein paar Hinweise:
>
> 1) Das ist der neue
> Bootloader:"optiboot_flash_atmega1284p_UART0_115200_16000000L_BIGBOOT.he x"
> 2) in boards.txt füge in der Clock Sektion um Zeile 160 diesen Block
> ein:
> (Warnung: Nicht den boards.txt im Arduino Installations Ordner
> editieren. Sondern
> hier:)C:\Users\xxx\AppData\Local\Arduino15\packages\MightyCore\hardware\ 
avr\2.0.2
> (xxx = Dein Windows Profil)1284.menu.clock.16MHz_internal=Internal 16
> MHz
> 1284.menu.clock.16MHz_internal.upload.speed=115200
> 1284.menu.clock.16MHz_internal.bootloader.low_fuses=0xd7
> 1284.menu.clock.16MHz_internal.build.f_cpu=16000000L
>
> Im Anhang ist der editierte boards.txt.
>
> Hier ist die Link zum Mighty
> 
Package:https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
>
> https://github.com/MCUdude
>
> Die Bootloader sind hier nach der Installation von
> Mighty:C:\Users\xxx\AppData\Local\Arduino15\packages\MightyCore\hardware 
\avr\2.0.2\bootloaders\optiboot_flash\bootloaders

Danke fürs Zusammentragen der Infos. Ich nutze halt das "Sanguino" Paket 
weil das auch von den ganzen 3D Drucker Mainboard Herstellern genutzt 
wird wo der 1284p drauf ist. Und rate mal, was für Mainboards ich in 
meinen 3D Druckern drin hab... Richtig, welche mit 1284p ;-)

Kann aber das Mighty Paket auch gerne mal probieren. Wenn es das ist, 
mach ich mir einen 1284p Smoothie.

Gerhard O. schrieb:
> Ich habe übrigens nicht gefragt ob Du bei Dir überhaupt die Arduino IDE
> verwendest:-)

Ich verwende das Arduino Framework bzw. deren Core - bei der "IDE" 
bekomm ich überall möglich Geschwüre ;-)
Es war halt mein Einstieg vor zwei Jahren und ich habs noch nicht 
geschafft mich davon abzunabeln. Vor allem auch, weil ich bis dato die 
Notwendigkeit noch nicht gesehen habe, bei meinen Bastelprojekten. Wenn 
man will, kann man ja auf low level runter, hat aber immer die ganzen 
Arduino Komfortfunktionen zur Verfügung.

von Stefan F. (Gast)


Lesenswert?

L. N. schrieb:
> Man liest halt nirgendwo davon, dass man so einen AVR mit
> 16 MHz keinesfalls einfach so am Steckbrett aufgesteckt betreiben
> kann (im Gegenteil)

Was vielleicht daran liegt, dass alles über 10 MHz ohnehin einen Level 
höher liegt, was den Schwierigkeitsgrad angeht.

Generell vermeide ich, Frequenzen über 10 MHz zu benutzen. Wenn ein 
fertiges Arduino Modul 16 MHz hat oder ein µC intern mittels PLL höher 
taktet, dann  nehme ich das natürlich gerne. Ich selbst entwickle aber 
keine Schaltkreise, die das extern brauchen.

Ich benutze bei nackten AVR entweder den internen R/C Oszillator oder 
bevorzugt einen 7,3728 MHz Quarz (wegen UART Baudraten).

Das klappte bisher immer auf Lochraster, Steckbrettern, fliegender 
Aufbau mit ungekürzten Beinchen und ich muss mir keinen Kopf um die 
Spannungsversorgung machen (geht mit weniger als 5V).

Den Umgang mit höheren Frequenzen überlasse ich lieber den Profis.

> Externer Quarzoszillator ist das vierbeinige Teil, richtig (wobei,
> wie ich heute gelernt habe, nicht jedes vierbeinige Quarz-Teil ein
> Quarz-Oszillator sein muss)?

Ja und Ja

von Kalkulatz John (Gast)


Lesenswert?

Wenn vorhanden, stecke einen anderen Controller (auch Typen mit gleicher 
Pinbelegung) auf das Brett und Du wirst sehen: Der funktioniert auf 
Anhieb unter den gleichen Bedingungen.

Ich hatte einen Atmega 32 (von 10 aus einer Lieferung) Der ging auf dem 
Steckbrett ums Verrecken nicht. Jetzt tut er eben Dienst in einem 
UKW-Radio,
wo er den Tuner über I²C ansteuert und die Frequenz anzeigt.

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> wieso intern? der Quarz ist doch extern...?

Das bezog auf die Mighty Bootloader Optionen. 16MHz mit angeschlossenen 
Quarz war scheinbar nicht miteinbezogen, es sei denn ich mißverstand die 
Bezeichnung "Extern 16MHz". Das muss ich mir heute Abend noch einmal 
vornehmen. Unter extern verstehe ich normalerweise automatisch extern 
angeschlossener Oszillator und nicht externer Quarz. Ganz unten gab es 
drei interne Optionen. Das muss ich mir noch in Ruhe wieder anschauen. 
Und 16Mhz intern RC gibt es beim 1284 nicht.

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Ich sitze noch auf irgendeiner frühen 1.8, verwende aber in letzter Zeit
> hauptsächlich PlatformIO (früher Visual Studio mit VSMicro Extension).
Mir widerstrebt es das 40GB+ VS Programm Paket installieren zu müssen. 
Da ist mir die portable und viel schlankere Arduino IDE Installation 
(die überall funktioniert) schon lieber, da ich oft auf verschiedenen 
PCs arbeite und mir Portabilität wichtiger ist.
>
...
>
> Kann aber das Mighty Paket auch gerne mal probieren. Wenn es das ist,
> mach ich mir einen 1284p Smoothie.
Ich glaube nicht, daß Dein Sanguino Paket die Ursache war.
>
> Gerhard O. schrieb:

>> Ich habe übrigens nicht gefragt ob Du bei Dir überhaupt die Arduino IDE
>> verwendest:-)
>
> Ich verwende das Arduino Framework bzw. deren Core - bei der "IDE"
> bekomm ich überall möglich Geschwüre ;-)
Es wurde schon viel geschrieben über den Wert oder Unwert vom Arduino 
IDE.
Ich komme sehr gut damit zurecht und liebe wie schon erwähnt die 
Portabilität und Kleinheit dieser Plattform. Für die kleineren uC 
Projekte ist die IDE wirklich kein so großes Ärgernis. Da ich oft auf 
verschiedenen PCs damit arbeiten will ist das (für mich) günstiger wie 
VS. Ich verwende sonst (in der Arbeit) Eclipse, IAR, Keil, CodeVision, 
CodeBlocks, früher CooCox. Mit allen muss man klarkommen.

> Es war halt mein Einstieg vor zwei Jahren und ich habs noch nicht
> geschafft mich davon abzunabeln. Vor allem auch, weil ich bis dato die
> Notwendigkeit noch nicht gesehen habe, bei meinen Bastelprojekten. Wenn
> man will, kann man ja auf low level runter, hat aber immer die ganzen
> Arduino Komfortfunktionen zur Verfügung.
Ja. So sehe ich das auch. Naja. Man hat ja viele Möglichkeiten was die 
Entwicklungsumgebungen betrifft. Aber darum geht es im Augenblick nicht.

von L. N. (derneumann)


Lesenswert?

Gerhard O. schrieb:
> Mir widerstrebt es das 40GB+ VS Programm Paket installieren zu müssen.

Wenn wir schon kurz abschweifen, schneller Input von mir:
Schau dir unbedingt Visual Studio Code mit PlatformIO Extension an.
Schnell installiert, sehr schlank und du kannst RICHTIG entwickeln. 
Arduino IDE ist dagegen wie ohne Arme und ohne Beine.
Visual Studio Code hat mit Visual Studio überhaupt nichts zutun, außer 
dem Namen.

Allein dass man pro Projekt(!) verschiedene Arduino Core Versionen und 
Library Versionen nutzen kann (wird alles im Projekt-Config File 
definiert), ist schon Wahnsinn. Alte Projekte, die nach einem Library 
Update nicht mehr kompilierbar sind? Vergangenheit.
GIT Integration ist sowieso selbstverständlich.

Visual Studio mit VSMicro ist seit ich PlatformIO kenne für mich 
komplett gestorben, dieses fette Schwein kommt mir nicht mehr auf die 
Platte.
Zumindest nicht für Arduino.

Visual Studio Code ist eigentlich ein mächtiger allround Texteditor der 
mit den verschiedenen Extensions fit für die verschiedensten(!) 
Programmiersprachen gemacht wird. Soviel ich weiß, kannst du so ziemlich 
alles mit VS Code entwickeln.

von Gerhard O. (gerhard_)


Lesenswert?

Stefanus F. schrieb:
> Was vielleicht daran liegt, dass alles über 10 MHz ohnehin einen Level
> höher liegt, was den Schwierigkeitsgrad angeht.
>
> Generell vermeide ich, Frequenzen über 10 MHz zu benutzen.

Mich wundert dann nur, daß sich mein Steckbrett Aufbau so überaus 
gutmütig verhielt und L.N dagegen so viele Probleme damit hat. Mein 
Aufbau ist ja auch nicht so verschieden. Bis 20MHz funktionierte auf 
meinem Steckbrett jedenfalls alles problemlos. Meine 16MHz Quarze kamen 
auch von China durch die Bucht. Alle 10 Stück funktionierten in gleicher 
Weise. Der 1284P kam von Digikey. (Ich habe noch irgendwo ein paar 
andere die man testen sollte). Der Full Swing Modus funktioniert 
übrigens auch noch mit einem 1MHz Quarz. Sogar ohne Last Cs schwingen 
die Quarze.

von Gerhard O. (gerhard_)


Lesenswert?

L. N. schrieb:
> Gerhard O. schrieb:
>> Mir widerstrebt es das 40GB+ VS Programm Paket installieren zu müssen.
>
> Wenn wir schon kurz abschweifen, schneller Input von mir:
> Schau dir unbedingt Visual Studio Code mit PlatformIO Extension an.
> Schnell installiert, sehr schlank und du kannst RICHTIG entwickeln.
> Arduino IDE ist dagegen wie ohne Arme und ohne Beine.
> Visual Studio Code hat mit Visual Studio überhaupt nichts zutun, außer
> dem Namen.
>
> Allein dass man pro Projekt(!) verschiedene Arduino Core Versionen und
> Library Versionen nutzen kann (wird alles im Projekt-Config File
> definiert), ist schon Wahnsinn. Alte Projekte, die nach einem Library
> Update nicht mehr kompilierbar sind? Vergangenheit.
> GIT Integration ist sowieso selbstverständlich.
>
> Visual Studio mit VSMicro ist seit ich PlatformIO kenne für mich
> komplett gestorben, dieses fette Schwein kommt mir nicht mehr auf die
> Platte.
> Zumindest nicht für Arduino.
>
> Visual Studio Code ist eigentlich ein mächtiger allround Texteditor der
> mit den verschiedenen Extensions fit für die verschiedensten(!)
> Programmiersprachen gemacht wird. Soviel ich weiß, kannst du so ziemlich
> alles mit VS Code entwickeln.

Danke für die Information. Das sollte ich dann mal ausprobieren. Ich 
dachte VS braucht 40GB+ und stundenlange Installationen. Deine Hinweise 
über PlatformIO hören sich gut an. Danke. Ich nehme an, daß die VS 
Installation dann am Anfang eine Option für PlatformIO hat, anstatt 
alles zu installieren wollen.

Es gab übrigens einen triftigen Grund für mich warum ich für den 1284er 
Arduino verwenden wollte. Ich arbeitete in 2015 an einem Open Source 
Datenlogger Projekt und es war mir wichtig es mit dem überall 
erhältlichen Arduino IDE programmieren zu können. In 2015 gab es ja auch 
noch nicht so viele Möglichkeiten wie heute.

Nachtrag:

Bin gerade am Installieren von VS mit PlatfromIO. Ist tatsächlich sehr 
schlank. Nur die PlatformIO IDE Extension Installation ist schon 10 
Minuten am werkeln... Hoffe, daß das normal ist.

Die Installation von der Extension funktioniert aus irgendeinen Grund 
nicht weil es Python nicht finden kann obwohl es installiert ist und der 
Path nicht akzeptiert wird. Habe den Eindruck, daß die Installation 
nicht in allen Fällen so einfach voran geht.

: Bearbeitet durch User
von L. N. (derneumann)


Lesenswert?

Stefanus F. schrieb:
> Was vielleicht daran liegt, dass alles über 10 MHz ohnehin einen Level
> höher liegt, was den Schwierigkeitsgrad angeht.

Dachte, diese Grenze liegt ein wenig höher...

Kalkulatz John schrieb:
> Wenn vorhanden, stecke einen anderen Controller (auch Typen mit gleicher
> Pinbelegung) auf das Brett

Ja, werde definitiv alle 1284p die ich hier habe noch testen.

Gerhard O. schrieb:
> Das muss ich mir noch in Ruhe wieder anschauen.

Hm ich hab immer nur fix fertige Bootloader genommen und nur die Fuses 
geändert. Dabei habe ich natürlich darauf geachtet, dass der Bootloader 
für mein Vorhaben geeignet ist.

Gerhard O. schrieb:
> Ich
> dachte VS braucht 40GB+ und stundenlange Installationen.

Ja, VS schon - VS Code aber nicht.

Gerhard O. schrieb:
> Ich nehme an, daß die VS
> Installation dann am Anfang eine Option für PlatformIO hat, anstatt
> alles zu installieren wollen.

Es gibt hier eine Dokumentation:
https://docs.platformio.org/en/latest/ide/vscode.html

Gerhard O. schrieb:
> In 2015 gab es ja auch
> noch nicht so viele Möglichkeiten wie heute.

Heute würde man für so etwas vermutlich tatsächlich PlatformIO nehmen. 
Diese IDE bzw. Extension hält auch bei den kleinen Bastlern immer mehr 
und mehr Einzug, weil sie der Arduino IDE einfach in allen Belangen 
überlegen ist.

Gerhard O. schrieb:
> Die Installation von der Extension funktioniert aus irgendeinen Grund
> nicht weil es Python nicht finden kann obwohl es installiert ist und der
> Path nicht akzeptiert wird. Habe den Eindruck, daß die Installation
> nicht in allen Fällen so einfach voran geht.

Python ist blöd. Hier steht etwas dazu, es geht nur Python 2.7:
https://docs.platformio.org/en/latest/installation.html#system-requirements

Installation von Python für PlatformIO: 
https://docs.platformio.org/en/latest/faq.html#faq-install-python

Bei meinen bisherigen Installationen hat es einwandfrei geklappt, ich 
hatte da aber auch noch kein Python drauf.

von S. R. (svenska)


Lesenswert?

Stefanus F. schrieb:
> Was vielleicht daran liegt, dass alles über 10 MHz ohnehin
> einen Level höher liegt, was den Schwierigkeitsgrad angeht.

Naja...

> Ich benutze bei nackten AVR entweder den internen R/C Oszillator oder
> bevorzugt einen 7,3728 MHz Quarz (wegen UART Baudraten).

... ich habe bisher ausschließlich mit 8, 14.7, 16 oder 20 MHz 
gearbeitet und hatte nie Probleme. Außerdem alles auf Lochraster oder 
Steckbrett.

Ich fürchte, deine Angst vor hohen Frequenzen ist ein bisschen 
übertrieben. ;-)

Gerhard O. schrieb:
> Mich wundert dann nur, daß sich mein Steckbrett Aufbau so überaus
> gutmütig verhielt und L.N dagegen so viele Probleme damit hat.

Eben das ist die interessante Frage. Daher vermute ich, dass mindestens 
ein Glied in der Kette marginal bis kaputt ist - ob nun Netzteil, Quarz, 
Steckbrett oder AVR kann ich nicht einschätzen.

Beitrag #5886883 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.