AVR schafft keine 5V

Gast #2096758
Lesenswert?

Hallo zusammen,

Ich hab da mal ne Frage zum Thema I/O. Ich kaufe 10 AVRs von Reichelt 
und nur die Hälfte schafft es seine I/O Pinst auf echte 5V zu schalten. 
Der Rest bringts nur auf knappp 2,5 V und bei minimaler Belastung durch 
eine LED z. B. bricht die die Spannung auf 0.8 V zusammen.

Beim Tiny 13 hatte ich das Problem schon des öffteren und beim Mega 32 
bis jetzt einmal.

Hatte schon jemand die gleiche Erfahrung?
Gast #2096776
Lesenswert?

Egal welches Programm oder welche Beschaltung. Ich Flashe AVR-A mit 
einer Software (egal welche) und dann Flashe ich AVR-B mit der gleichen 
Software nur einer schaffts auf die 5V und der andere ned. Fuse bits 
sind bei beiden Controllern gleich.

Ich glaub das die vielleicht nen ESD schaden haben.
Moderator Persönliche Seite #2096789
Lesenswert?

Peter schrieb:
> Egal welches Programm oder welche Beschaltung.

Ist aber nicht egal ;-)

Vielleicht hast Du einfach vergessen, den jeweiligen Pin auf Ausgang zu 
schalten. Wenn die Spannung bereits beim Anschluss einer Simpelst-LED 
(ich nehme mal an, dass es sich nicht um eine High-Power-Variante 
handelt) zusammenbricht, sieht das so aus, als ob der Pin weiterhin auf 
Eingang geschaltet ist. Allenfalls hast Du es gerade noch geschafft, die 
internen Pullups einzuschalten.

> Ich Flashe AVR-A mit
> einer Software (egal welche) und dann Flashe ich AVR-B mit der gleichen
> Software nur einer schaffts auf die 5V und der andere ned. Fuse bits
> sind bei beiden Controllern gleich.

Du testest beide AVRs in derselben oder in der gleichen Schaltung? 
Vielleicht hat die Schaltung für AVR-B ja einen Kurzschluss am 
betroffenen Pin? Wird der AVR vielleicht heiß?

Ohne Programm und Schaltplan ist das alles aber nur Spekulation.
#2096815
Lesenswert?

Peter schrieb:
> Der Rest bringts nur auf knappp 2,5 V und bei minimaler Belastung durch
> eine LED z. B. bricht die die Spannung auf 0.8 V zusammen.

Das ist merkwürdig, LEDs leiten nicht unter 1,6V.

Peter schrieb:
> Hatte schon jemand die gleiche Erfahrung?

Definitiv nein.

Allerdings sind nur 100nF für die 5V etwas schwach, schalte mal einen 
220µF parallel.

Und das BOR mußt Du enablen. Vielleicht kriegst Du kein richtiges Reset 
und der Programcounter startet irgendwo.


Peter
#2096857
Lesenswert?

Definitiv Mist ist es, den Reset fest auf 5V zu legen.

Möglicherweise führt der Controller dadurch keinen ordentlichen Reset 
durch und startet in einem nicht definierten Zustand. Der eine 
Controller läuft trotzdem, der andere nicht.

Zumindest ist es das einzige, was ich an Fehlern im Schaltplan erkennen 
kann.

Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von 
10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht.

mfg.
Gast #2096859
Lesenswert?

Thomas Eckmann schrieb:
> Definitiv Mist ist es, den Reset fest auf 5V zu legen.
>
> Möglicherweise führt der Controller dadurch keinen ordentlichen Reset
>
> durch und startet in einem nicht definierten Zustand. Der eine
>
> Controller läuft trotzdem, der andere nicht.
> Zumindest ist es das einzige, was ich an Fehlern im Schaltplan erkennen
> kann.
>
> Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von
>
> 10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht.
>
> mfg.

Meine Rede Beitrag "Re: AVR schafft keine 5V"
Gast #2096873
Lesenswert?

Moin!

Scheint hier ein gern begangener Fehler zu sein, den *Reset-Eingang 
nicht ordentlich zu beschalten. Da gehört ein Kondensator nach Masse 
'ran, sonst nix! Ich bevorzuge gutes Material wie X7R und die Größe ist 
fast irrelevant. Hier nutze ich 100n wie das andere Vogelfutter zum 
Verblocken der Betriebsspannungen, um die Zahl der unterschiedlichen 
Bauteile zu reduzieren. Da freut sich die Lagerhaltung, der Besteller 
usw..

Alternativ kann man zusätzlich einen Widerstand nach +5V ziehen - aber 
eben nur zusätzlich. AVRs enthalten bereits einen festverdrahteten 
Pull-up-Widerstand.

So, das Thema ist hoffentlich langsam ausgestanden.

Gruß - Wolfgang
#2096878
Lesenswert?

Thomas Eckmann schrieb:
> Definitiv Mist ist es, den Reset fest auf 5V zu legen.

Das ist kein Mist, sondern erlaubt. Damit kann Reset keine Antenne für 
Störungen bilden.
Ich mach das auch, wenn ich keinen ISP-Anschluß vorsehe.


Thomas Eckmann schrieb:
> Die 5V vom Reset solltest du schleunigst wegnehmen und einen Pullup von
> 10k reinhängen. Oder ganz offen lassen. Das schadet auch nicht.

Genau das ist großer Mist. Damit ist Reset nämlich eine super Antenne.
Wenn nicht direkt an VCC, dann müssen 100nF gegen GND ran.


BOR = Brown-out Reset


Peter
Gast #2096884
Lesenswert?

also das mit dem 5V an reset sehe ich auch nicht als fehler, läuft bei 
mir auch ohne Probleme.

Ich denke immer noch das der Pin als eingang mit PullUp geschaltet ist, 
das würde so ein verhalten erklären.
Gast #2096921
Lesenswert?

Wolfgang schrieb:
> Scheint hier ein gern begangener Fehler zu sein, den *Reset-Eingang
> nicht ordentlich zu beschalten. Da gehört ein Kondensator nach Masse
> 'ran, sonst nix!

Komisch nur, dass Atmel das in den AppNotes AVR040 und AVR042 gar nicht 
so sieht.
Wenn man ISP nicht benötigt, dann am besten einfach Reset direkt an Vcc 
legen. Weitere Beschaltung kann man sich dann getrost sparen. Steht auch 
so in einer der AppNotes drin.
Gast #2096953
Lesenswert?

Peter schrieb:
> Ich lese ADC2 aus und nicht ADC1 wie
> du behauptest aber da bin ich wohl um ein bit verrutscht.

Du solltest doch wissen, was Du ausliest. Auch ein korrektes Schaltbild 
wär' nicht schlecht, bei dem die Pin-Funktionen mit dem Datenblatt 
übereinstimmen.

Laut DB des Tiny13 ist ADC3 an PB3 und ADC2 an PB2. Im Schaltbild ist's 
falsch. Wo genau hängt der Sensor denn dran ? Ist wenigstens Beinchen 
Nummer 3 richtig ?

Bei 3 wär's der ADC2 und der hat 'nen Pullup, vorausgesetzt der Compiler 
fügt die nicht vorhandenen Nullen vorn und nicht hinten ein.

Bei Ports mit <8 Pinsgelten die nicht vorhandenen Bits als "reserved"
> For compatibility with future devices, reserved bits should be written
> to zero if accessed.
und haben mit 0 geschrieben zu werden. Also kein Grund so 'nen Krampf zu 
machen:

> DDRB = 0b010111;
Gast #2096989
Lesenswert?

Wie hast Du die Spannung am LED-Pin eigentlich gemessen? Mit Multimeter 
oder Oszi?
Es könnte ja sein, daß in deiner WHILE(1)-Schleife das Portpin ständig 
gesetzt und rückgesetzt wird und du demzufolge bei Tastverhältnis 1:1 
2.5V mit dem Multimeter misst.

Und je nach ADC-Ergebnis und Toleranz kann das bei verschiedenen Tiny 
variieren...

Ahoi, Martin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren