Portzustand nach dem einschalten?
Hallo Leute
Folgendes Problem:
Ich habe einen MEGA32 und eine Schaltung, die mir einen Motor ansteuert (PWM)
Die Schaltung hat einen Enable Eingang der mir den Motor ausschaltet wenn Low anliegt.
Der AVR steuert das einschalten des Motor's mit diesem Eingang.
Nach dem aktivieren des AVR soll der Motor zuerst mal ausgeschalten bleiben um dann vom AVR erst aktiviert werden..
Jetzt habe ich aber beim (ganz neu) einschalten das Problem, das der Motor kurz anläuft ](*,)
Ich vermute jetzt mal, dass nach dem einschalten des AVR's alle Ports mal auf High gehen (oder zumindest auf Eingang) und nachher erst den richtigen (programmierten) Zustand einnehmen ?!
Beim mir muss die Enable Leitung zuerst aber auf Low bleiben..
Ich schätze mal, Programmtechnisch werde ich dem Problem wohl nicht zu leibe rücken können (Watchdog oder so...)
Meine Überlegungen wären jetzt ein kleines Relais auf die Leitung zu hängen, die mit einem Co die Enable-Leitung erst nach einer gewissen Zeit freigibt (= vorher gegen Masse zieht)... oder vielleicht einfach einen Inverter in die Leitung hängen.
Das muss ich dann aber wohl mit einer Diode machen, weil andere Schaltungsteile die Leitung auch gegen Masse ziehen können müssen. O:)
Das Problem ist nur, dass das Layout schon steht und ich da nicht mehr viel ändern kann/will.... :-$
Was habt Ihr dazu so für Gedanken ? [-o<
l.G. Roberto
Re: Portzustand nach dem einschalten?
Hi,
Zitat:
Zitat von Roberto
... Folgendes Problem ... Was habt Ihr dazu so für Gedanken ...
Das Problem ist einfach: Du hast die Dokumentation nicht gelesen. Meine Gedanken dazu sind: RTFM.
Zitat:
Zitat von Roberto
... Ich vermute jetzt mal, dass nach dem einschalten des AVR's alle Ports ...
Auf Seite 64 - neueste doc : 2503K–AvR–08/07 - steht für jeden einzelnen Portpin der initial value.
Ich persönlich arbeite derzeit fast ausschließlich mit dem m168 - aber die AvR´s sind in dieser Hinsicht vermutlich fast alle gleich. Gleich zu Beginn meines mains habe ich die wichtigsten Initialisierungen. Problem ist allenfalls, dass die start up Zeit (siehe fuses, dort ist sie in Grenzen definierbar) und die anschließenden grundlegenden Initialisierungen (SP etc) möglicherweise auch in der kürzesten, bei Dir noch funktionierenden, Dauer so lang sind, dass Deine Motoren schon anlaufen. Immerhin sind 4 ms nicht Null - das ist schon in der Größenordnung der Zeitkonstanten von Motoren . . . .
Zitat:
... Programmtechnisch werde ich dem Problem wohl nicht zu leibe rücken können (Watchdog oder so...) ...
Was hat der Watchdog damit zu tun? Das versteh ich jetzt nicht. Aber ich bin auch noch nicht firm mit den Controllern.
Zitat:
... Das Problem ist nur, dass das Layout schon steht ...
Jemand hatte hier im Forum mal einen schwierigen Satz gesagt: "... wenn das Layout schon steht und dann die Überlegungen anfangen ...". Da musst Du wohl oder übel durch. Ideen hast Du ja schon.