www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny13 läuft ohne VCC


Autor: POTUS (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin neu hier und hier gleich mal mein erstes problem:

also, ich habe einen Attiny13 in der Schaltung(siehe Anhang) verbaut
und das komische/blöde ist, dass er ohne Spannung an VCC läuft.
Allerdings liegen 5V an einem INPUT-PIN an, ohne die der Attiny nicht 
läuft.
Also muss irgendwie eine Verbindung zwischen VCC und diesem PIN 
bestehen.
Ich kann mir nur nicht erklären, wie und warum das so ist.

In einer Bsp.-Schaltung leuchten z.B. die verbauten LEDs an PIN B1.
Hier der dazugehörige Quelltext:
 
#include <avr/io.h>

int main(void) 
{

DDRB = 0b11101111;

  while(1)
  {
  PORTB=0b00000011;
  }

}

Noch zu ergänzen wäre, dass ich weder(beabsichtigt) Fuses oder sonstige 
Einstellungen verändert habe.

Hoffe ihr könnt mir helfen!!

mfg,
Tom

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach:

Er versorgt sich über den IO-Pin3 und seine internen Schutzdioden.
Mess mal an VCC; sind wahrschinlich 4,3V !

Autor: Remo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch zur Ergänzung:

1) Fast jeder I/O-Pin ist mit je einer Schutzdiode gegenüber Masse und 
Vcc intern abgesichert. d.h. Eingangsspannungen > Vcc+0,7V und < -0,7V 
werden durch diese Dioden begrenzt. Achtung, der Strom in den Dioden 
kann schnell ansteigen und dann ist der uC hinüber.
2) Fast alle, da der Reset Pin (PB5) wegen der High-Voltage 
Programmierung nicht abgesichert ist. Wenn du deine Schaltung so 
änderst, dass du diesen Pin als Input verwendest, dann tritt dein 
beobachteter Effekt nicht auf.
3) Man kann diesen Effekt neben dem eigentlichen Überspannungsschutz 
gegen statische Aufladungen auch für eien 1-wire Bus verwenden. Du 
müsstest in deiner Schaltung nur einen Kondensator an den Vcc Pin gegen 
Masse hängen. Dann kannst du die Versorgungsspannung "takten" und so 
Information an den uC übertragen. Der uC wird, während auf dem Bus 0V 
liegt, aus dem Kondensator gespeist. Also schnell per SW die LED 
ausschalten, wenn der Eingang auf low geht, sonst saugt die LED den 
Kondensator zu schnell leer.

so long
Remo

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Strom über die Schutzdioden ist auf jeden Fall zu vermeiden.

bekanntlicherweise wird bei einer leitenden PN-Schicht die Umgebung der 
Diode leitend. Das nutzt ja jeder Transistor aus. Bei IC's  kann das 
dazu führen, dass der Diode benachbarte Teile (FET's, FF's...) in der 
Funktion gestört werden werden.

Es kann sogar zum Thyristor-ähnlichen Kurzschluss zwischen VCC und GND 
des Bausteins kommen, der dann durch zu hohen Strom den Baustein oder 
die Schutzdiode zerstört.

Die Schutzdiode darf zwar gelegentlich ansprechen, aber nur, wenn  in 
der Zuleitung ein entsprechender Schutzwiderstand den Strom begrenzt.

Ist der Pin auf Ausgang programmiert, sind die Folgen nicht ganz so 
schlimm, aber vom Hersteller ist diese Betriebsart sicher nicht 
vorgesehen.

Autor: POTUS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, erst mal danke für eure schnellen antworten!!

mir geht es aber eher darum wie ich diesen effekt wieder loswerde, da es 
wichtig ist, dass der µC aus ist, wenn keine spannung an VCC anliegt.

@Remo: 2) -> ich habe den pin ja schon als input deklariert

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>mir geht es aber eher darum wie ich diesen effekt wieder loswerde, da es
>wichtig ist, dass der µC aus ist, wenn keine spannung an VCC anliegt.

Was soll eigentlich die Verbindung zu den 5V?

MfG Spess

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
POTUS schrieb:
> so, erst mal danke für eure schnellen antworten!!
>
> mir geht es aber eher darum wie ich diesen effekt wieder loswerde, da es
> wichtig ist, dass der µC aus ist, wenn keine spannung an VCC anliegt.

Da die Spannung an den I/O-Pins laut Datenblatt sowieo nie mehr als 
ein halbes Volt über VCC liegen darf, ergibt sich das Problem gar nicht. 
Wenn VCC 0V ist, darf auch an keinem anderen Pin eine Spannung anliegen.

Autor: El Jefe (bastihh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll wohl log 1. darstellen, damit softwaretech. PB0 anspricht.

Autor: POTUS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die 5V werden als eingangssignal verarbeitet.
->wenn 5V am inputpin mache das
->wenn keine 5V an inputpin mache das

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>die 5V werden als eingangssignal verarbeitet.

Dann musst du die 5V mit VCC schalten. Es ist übrigens eine dumme Idee 
eine Spannungsquelle direkt auf ein Portpin zu legen.

MfG Spess

Autor: POTUS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wäre die beste lösung einfach das eingangssignal zusammen mit vcc 
per an/aus-schalter (der bereits an vcc vorhanden ist) zu trennen?


@spess53:

"Am einfachsten ist es, wenn die Signale direkt aus einer anderen 
digitalen Schaltung übernommen werden können. Hat der Ausgang der 
entsprechenden Schaltung TTL-Pegel dann können wir sogar direkt den 
Ausgang der Schaltung mit einem Eingangspin von unserem Controller 
verbinden."
(AVR-GCC-Tutorial)

und die 5V kommen von einem Laptop

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das setzt aber voraus, dass der AVR ständig Betriebsspannung hat.

Lösungsvorschlag:
steuere mit den externen 5V über einen Basiswiderstand einen 
NPN-Transistor an, der den Portpin gegen den internen PullUp nach Masse 
zieht. Dazu musst Du dann die Logik der Software umkehren.

...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schalte einfach nen 100k in Reihe zu dem Eingang.
Das schützt dann gleichzeitig den MC.


Peter

Autor: POTUS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, problem mit Hannes vorschalg gelöst!

hab das signal nen NPN-Trans GND zum input-pin schalten lassen

Autor: Micha H. (mlh) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von hinten durch die Brust ins Auge, pfff....

Autor: groovy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wird sogar "absichtlich" benutzt und funktioniert seit jahren prima:

http://www.doc-diy.net/photo/smatrig/#thecircuit

zitat:


The power supply of the circuit is a rather unusual solution. The 
microcontroller is supplied not through the VCC pin but via I/O pins! 
This untypical set-up uses the internal protection diodes of the I/O 
pins to source supply current to the chip and the rest of the circuit. 
The simplified schematic is shown in the sketch below.
SmaTrig

The four output pins of the code switch are connected to I/O pins to 
allow detection of the current operation mode. At the same time a 
connection to the battery is provided for at least one I/O pin in all 
modes except for the off-position (position 0 - binary 0000) of the 
switch. This way the power switch could be integrated into the code 
switch.
I discovered this effect accidently - it ruined my first design of the 
trigger. It just wasn't possible to switch it off because some I/O pins 
were connected to the battery and supplied the uC with 'parasitic' 
current. Keep in mind that a voltage drop of about 0.6 V across the 
protection diodes must be taken into account when supplying the chip 
this strange way. The minimum supply voltage of the uC rises form 1.8 V 
to about 2.4 V, which is still ok for a lithium cell.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
groovy schrieb:
> wird sogar "absichtlich" benutzt und funktioniert seit jahren prima:
Quatsch. Das ist in keinster Weise spezifiziert und so auch nicht 
vorgesehen! Sowas eignet man sich besser überhaupt nicht erst an.

Immerhin kann die Beschaltung mit Mikrocontroller und ok mal locker über 
1mA benötigen. Für diesen Strom sind die Schutzdioden aber nicht 
ausgelegt.
Siehe Peter Dannegger, der da 100kΩ in Reihe empfiehlt um den Strom 
stark in den Mikroampere Bereich zu drücken.

> http://www.doc-diy.net/photo/smatrig/#thecircuit
Der Schaltplan hat aber auch so seine Fehler...

Zum Beispiel der Kodierschalter hängt ohne Koppelwiderstände direkt an 
den Programmierpins. Manche (einfachen) Programmiergeräte schrottet man 
damit problemlos.

Autor: groovy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Quatsch. Das ist in keinster Weise spezifiziert und so auch nicht
> vorgesehen! Sowas eignet man sich besser überhaupt nicht erst an.

das hab ich auch nie behauptet.

Simon K. schrieb:
> Der Schaltplan hat aber auch so seine Fehler...
>
> Zum Beispiel der Kodierschalter hängt ohne Koppelwiderstände direkt an
> den Programmierpins. Manche (einfachen) Programmiergeräte schrottet man
> damit problemlos.

mag sein. aber ich hab mittlerweile etwa 10 stück gebaut und es 
funktioniert. punkt.

ps. ich bin nicht der autor ^^

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.