Forum: Mikrocontroller und Digitale Elektronik AVR schafft keine 5V


von Peter (Gast)


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?

von pedro (Gast)


Lesenswert?

JTAG deaktiviert?

von Peter (Gast)


Lesenswert?

laut Datenblatt besitzt der Tiny 13 gar kein JTAG interface

von Ich (Gast)


Lesenswert?

Kann nicht sein.

Schaltplan und Programm bei das will ich sehen.

von Peter (Gast)


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.

von Ich (Gast)


Lesenswert?

Quatsch mit Sauce.

Die einen schaffen deine Fehler zu kompensieren die anderen nicht.

Wie getippt, schaltplan und Code her.

von hacker-tobi (Gast)


Lesenswert?

DDR Ausgangsregister korrekt gesetzt?

von Frank M. (ukw) (Moderator) Benutzerseite


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.

von quatsch (Gast)


Lesenswert?

echt quatsch, so was gibt es nicht
Schaltung her, Fotos usw.

von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Data Direktion Register passt. LEDs sind low power leds.

von Ich (Gast)


Lesenswert?

Pin1 Reset... direkt an 5V????

Low Power LED mit 220R ?????

von Chris (Gast)


Lesenswert?

Peter schrieb:
> Data Direktion Register passt. LEDs sind low power leds.

Du schreibst 6 bits in ein 8 Bit Register was sind mit den zwei anderen 
Bits? Die bleiben sich selbst überlassen?

von Ron (Gast)


Lesenswert?

...und was passiert auf dem Analogeingang? Ist der einfach offen?

von Purzel H. (hacky)


Lesenswert?

>Low Power LED mit 220R ?????


Also. Wenn man LEDs nicht fuer Beleuchtungszwecke braucht, genuegen 3.3k 
in Serie an 5V.

von Peter (Gast)


Lesenswert?

wiso 8... der Attiny hat 6 i/o pins davon ist einer der Reset.

Und ob der Widerstand 220 Ohm ist oder mehr ist egal da laut Datenblatt 
der AVR diese Last Problemlos treiben kann.

von Peter D. (peda)


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

von Peter (Gast)


Lesenswert?

der ADC Pin ist keinesfalls offen. Er bekommt seine Spannung von R9 
(Spannungsteiler mit dem NTC). Die Schaltung funktioniert so auch schon 
in anderen Schaltungen.

von Peter (Gast)


Lesenswert?

BOR? klär mich auf :)

von Raik C. (raik_c)


Lesenswert?

moin,

ich kenne Deine adc.h nicht, aber du liest adc 3 und hast adc 1 
verdrahtet, oder ist es noch zu früh für mich

Raik

von Peter (Gast)


Lesenswert?

stimmt da hast du teilweise recht. Ich lese ADC2 aus und nicht ADC1 wie 
du behauptest aber da bin ich wohl um ein bit verrutscht.

von Raik C. (raik_c)


Lesenswert?

muss meine Brille suchen :-)

von Thomas E. (thomase)


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.

von Ich (Gast)


Lesenswert?

Zitat: Zwei LEDs signalisieren den Betriebszustand.


Ich sehe nur eine!

von Ich (Gast)


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"

von Peter (Gast)


Lesenswert?

@Ich wie wärs mit sinnvollen Beiträgen?
Da hab ich den header noch nicht aktuallisiert da es ursprünglich mal 2 
Leds waren und nur 2 Transistoren.

von Wolfgang (Gast)


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

von Peter D. (peda)


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

von Peter (Gast)


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.

von BVR (Gast)


Lesenswert?

Deine adc_init Routine finde ich nicht. Kann es sein, dass diese DDRB 
wieder zerschießt?
Maskiere sie mal aus.

von Chris (Gast)


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.

von MWS (Gast)


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;

von MWS (Gast)


Lesenswert?

MWS schrieb:
> ... und ADC2 an PB2.

Korrektur:

... und ADC2 an PB4

Aber auch der hat 'nen Pullup.

von DocMartin (Gast)


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

von Peter (Gast)


Lesenswert?

Super da ist wohl das Schaltbild in dem Schaltplanprogramm falsch... Na 
toll...
Danke für dein Scharfes Auge!

von Ich (Gast)


Lesenswert?

Peter schrieb:
> @Ich wie wärs mit sinnvollen Beiträgen?
>
> Da hab ich den header noch nicht aktuallisiert da es ursprünglich mal 2
>
> Leds waren und nur 2 Transistoren.

Meine Sinvollen Beiträge kannst du weiter oben lesen

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.