Atmel, Ausgang beim Booten 1

OP #2881114
Hallo zusammen,

ich habe an einem ATTiny2313 ein Relai hängen, natürlich hängt ein 
Transistor dazwischen. Wenn ich den Atmel einschalte kommen am Anfang 
geschätzte 200ms eine 1 aus dem Pin der mir den Transistor schaltet. Ich 
habe die Definition, dass er 0 ausgeben soll schon ganz an den Anfang 
nach der Definition für den Ausgang gegeben. Es reicht dennoch nicht und 
das Relai zieht kurzfristig im Einschaltvorgang an. Ich habe die 
Verzögerung zum Booten, oder wie sich das nennt, schon auf 0 gesetzt 
über die Fusebits. Gibt es Softwaremäßig eine Möglichkeit das Problem in 
den Griff zu bekommen? Oder muss ich meine Hardware umbauen, dass sie 
LOW-Active schaltet?

Danke für eure Hilfe.
Gast #2881132
An welchen Pin hast du den Transistor gehängt?
Die Pins sollten eigentlich beim Reset alle als Eingang eingestellt 
sein. Zeig mal die Beschaltung des Pins mit Transistor/Relais.
Gast #2881143
Quiddi Quiddinson schrieb:
> Wenn ich den Atmel einschalte kommen am Anfang
> geschätzte 200ms eine 1 aus dem Pin der mir den Transistor schaltet.

Dann schaltest du irgendwo den Pin selber ein, oder deine Beschaltung 
stimmt nicht. Nach einem Reset sind alle I/O-Pins erstmal hochohmig und 
treiben gar nichts.
#2881183
wenn er nen FET schaltet kann das schon sein, der braucht nicht viel 
Strom zum schalten ... soweit mir bekannt sind die Pins im 
Einschaltmoment als Eingang mit aktiviertem Pullup, irgenwas von 50kR 
hab ich da noch im Hinterkopf ... pulldown sollte da aber Abhilfe 
verschaffen.
OP #2881362
Hab das Problem gelöst.
Es lag am STK500. Ich hatte alles abgebaut und an den Expand1 nur eine 
LED an meinen Ausgang angebracht. Beim Einschalten des STK500 leuchtete 
auch sie kurz auf.

Als ich den Atmel auf eine Steckplatine packte und alles manuell 
verkabelte bestand das Problem nicht mehr.

Weiß einer was das STK500 beim Einschalten macht? Während dem Betätigen 
des Resetknopfes auf dem STK leuchtet die LED auch.
Gast #3820350
Quiddi Quiddinson schrieb:

> ich habe an einem ATTiny2313 ein Relai hängen, natürlich hängt ein
> Transistor dazwischen. Wenn ich den Atmel einschalte kommen am Anfang
> geschätzte 200ms eine 1 aus dem Pin der mir den Transistor schaltet.

Dann mußt du, verdammt nochmal, die Stelle in deiner Software suchen, wo 
das passiert. Denn von sich aus tut kein AVR sowas, die initialisieren 
alle normalen(*) Pins auf HighZ, ein bipolarer Transistor kann dann 
unmöglich angesteuert werden, jedenfalls nicht, solange keine höheren 
Spannungen als Vcc mit im Spiel sind. Und das gilt, egal ob PNP oder 
NPN, denn ohne Strom ist bei denen allen nix los.

(*) Unnormale Pins sind:
Supply-Pins: VCC,AVCC,GND,AGND,AREF
Quarz-Pins: XTALx
RESET
JTAG-Pins

Ein 2313 hat weder JTAG noch das Analog-Geraffel AGND, AVCC und AREF. 
VCC oder GND würde nur ein Vollidiot als Steuerausgang zu benutzen 
versuchen.

Falls du also nicht gerade das Relais (bzw. den steuernden Transistor) 
an PA0..PA2 hast, kannst du ziemlich sicher davon ausgehen, daß das 
Problem ein Softwareproblem ist, sprich: ein BUG. Und falls doch, sind 
die Fuses falsch programmiert, also auch irgendwie Software...

Falls du allerdings mit "Transistor" einen FET meinst, dann gilt das 
natürlich nicht, denn die Dinger sind spannungsgesteuert und benötigen 
nahezu keinen Strom. Falls es ein FET ist, mußt du per PullUp oder 
Pulldown-Widerstand für definierten Pegel sorgen, solange der steuernde 
Ausgang HighZ hat.

> Ich
> habe die Definition, dass er 0 ausgeben soll schon ganz an den Anfang
> nach der Definition für den Ausgang gegeben.

Definitionen machen zur Laufzeit garnix, nur Code tut das. 
Dementsprechend spielt es bezüglich des Verhaltens zur Laufzeit absolut 
keine Rolle, an welcher Stelle des Quelltextes sie erfolgen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.