Forum: Mikrocontroller und Digitale Elektronik Verzögerter Einschaltimpuls - Mikrocontroller?


von Max (Gast)


Lesenswert?

Hallo,

ich habe ein Radio, das ich gerne beim Einschalten automatisch auf den 
externen Eingang schalten möchte. Das Radio speichert nicht den 
gewählten Eingang ab, d.h. beim Einschalten muss ich immer manuall einen 
Knopf (5 Sekunden lang) drücken.

Jetzt habe ich mir überlegt, den Knopf durch eine kleine Schaltung 
"drücken" zu lassen. Erfahrungen im Mikrocontrollerprogrammieren und 
Elektronik-Grundlagen sind vorhanden. Bevor ich einen ATTiny dafür 
verlöte wollte ich nochmal kurz die Experten fragen, ob sich das nicht 
sogar "noch einfacher" erledigen lässt (Standard-Timer-IC + ein bisschen 
Hünerfutter?). Mir ist wichtig, dass ich so wenig Teile wie nötig dafür 
brauche und das ganze kompakt aufzubauen ist. Mit dem ATTiny würde ich 
auf Quarz und Kondensatoren verzichten, und ihn direkt an die 3,3V 
hängen. Also sollte die Alternativschaltung wenn möglich nicht aus 
Spannungsregler, Pufferkondensatoren, 8 Widerständen und nem IC 
bestehen.

Zusammengefasst habe ich folgende Rahmenbedingungen:

- 3,3V Versorgungsspannung
- Sobald die 3,3V kommen, kurz warten (den Schalter beim Anschalten des 
Radios bereits gedrückt zu halten, funktioniert NICHT). "Kurz" 
bedeutet Millisekundenbereich, muss nicht so genau sein.
- der Input-Pin des Radios ist High-Active, also muss meine Schaltung 
den Pin 5 Sekunden auf 3,3V ziehen oder entsprechend immer Low und mit 
Pullup arbeiten
- 5 Sekunden lang Signal geben, können auch 6 oder 7 sein, das macht 
nichts

Mein Pseudocode würde ungefähr so aussehen:

Output = Low
StartFlag = 1
Begin Hauptschleife

if StartFlag = 1 then
wait 100ms
Output = High
wait 5000ms
Output = Low
StartFlag = 0
endif

End Hauptschleife


Kann mir jemand einen Tipp geben?
Danke!

Max

von Karl H. (kbuchegg)


Lesenswert?

Max schrieb:
> Bevor ich einen ATTiny dafür
> verlöte wollte ich nochmal kurz die Experten fragen, ob sich das nicht
> sogar "noch einfacher" erledigen lässt (Standard-Timer-IC + ein bisschen
> Hünerfutter?). Mir ist wichtig, dass ich so wenig Teile wie nötig dafür
> brauche und das ganze kompakt aufzubauen ist.

Noch einfacher als einen popeligen 8-beinigen IC?
Ich kanns mir kaum vorstellen.

Genau deshalb benutzt man ja die kleinen µC: weil man damit von der 
einfachsten bis hin zu relativ komplexen Logiken alles auf kleinstem 
Raum flexibel unterbringen kann.


> Mein Pseudocode würde ungefähr so aussehen:
>
> Output = Low
> StartFlag = 1
> Begin Hauptschleife
>
> if StartFlag = 1 then
> wait 100ms
> Output = High
> wait 5000ms
> Output = Low
> StartFlag = 0
> endif
>
> End Hauptschleife

Formuliers in einer Programmiersprache deiner Wahl, brenns in einen Tiny 
und fertig ist deine Einschaltverzögerung. Jede weitere Minute darüber 
nachdenken ist teurer als einen Tiny dafür zu 'misbrauchen'.

Noch einfacher

  Pin auf Ausgang
  Pin auf Low
  warte 100ms
  Pin auf High
  warte 5000ms
  Pin auf Low

  Hauptschleife
     mach nichts
  Ende Hauptschleife


Du brauchst noch nicht mal Variablen dafür.
Den Tiny auf ein Stück Lochraster-Platine löten, noch ein 100nF 
Blockkondensator über die Versorgungsspannung und die Sache ist 
gegessen.

von Max (Gast)


Lesenswert?

Herzlichen Dank, dann werde ich das wohl mit dem ATTiny machen.

Was ich vergessen hatte ist, den Tiny kann ich doch nach dem Schalten in 
den Schlafmodus schicken? Er wird ja dann nicht mehr bis zum nächsten 
Anschalten benötigt.

Gruß
Max

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.