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.
Du könntest es Softwaremässig versaut haben, z.B. den Pin auf Eingang und dem PullUp aktiviert oder so ähnlich. Oder du brauchst nur einen PullDown an der Basis des Transistor, 47k sollten genügen.
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.
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.
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.
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.
Schody is like a melody in my head. Schody is like a melody in my head.
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.
Hi
>Quiddi Quiddinson schrieb:
Das war 2012. Hat nur jemand im Rausch wieder ausgegraben.
MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.