Flankensteuerung für ein Relais

(Firma: BDE Elektronik) #6384559
Lesenswert?

Hallo in die Runde,

ich habe hier ein Modul, das gibt an einem Pin 3V aus, sobald man es 
einschaltet. Mit diesen 3V möchte ich gerne ein weiteres Gerät 
einschalten. Dieses weitere Gerät wird normalerweise per Taster 
eingeschaltet. Ich suche also eine Lösung, wie ich aus dem Signal Off= 
0V, On = 3V ein Tastersignal mache (also Tasterkontakte kurz schließen). 
Mir schwebt gerade vor, dass man die Flanken des On/Off-Signals 
auswertet und damit ein kleines Relais schaltet. Hab aber noch nicht die 
Idee, wie. Das ganze ist völlig leistungsunkritsch, es geht halt nur um 
Logiksignale.

Habt ihr Tipps für mich?
(Firma: BDE Elektronik) #6384578
Lesenswert?

Beide Module haben ihre eigene Spannungsversorgung, das schaltende hat 
intern 3V (oder 3.3), das einzuschaltende 5V, die ich leicht anzapfen 
kann.

µC wäre mir zu aufwändig. Kondensator aufladen und sofort wieder 
entladen? Wie bring ich ihn aus der Flanke dazu, dass er sich wieder 
entlädt und nicht die 3V hält?
Gast #6384585
Lesenswert?

Benedikt D. schrieb:
> Beide Module haben ihre eigene Spannungsversorgung, das schaltende
> hat
> intern 3V (oder 3.3), das einzuschaltende 5V, die ich leicht anzapfen
> kann.
>
> µC wäre mir zu aufwändig. Kondensator aufladen und sofort wieder
> entladen? Wie bring ich ihn aus der Flanke dazu, dass er sich wieder
> entlädt und nicht die 3V hält?

Der soll sich ja eben nicht sofort wieder entladen.
Gast #6384591
Lesenswert?

Benedikt D. schrieb:
> Wie bring ich ihn aus der Flanke dazu, dass er sich wieder
> entlädt und nicht die 3V hält?

Gar nicht. nach einer steigenden Flanke kann keine zweite steigende 
Flanke kommen. Deswegen ist es nicht nötig, den Kondensator zu entladen.
1
             1000µF     Relais-Spule
2
High/Low o-----||--------XXXXXXXX-------| GND

Das Relais wird bei jeder Flanke kurz anziehen.

Wenn die Quelle des Signal nicht genug belastbar ist, dann schalte ein 
starkes Logikgatter davor. Man kann auch einfach 6 normale Inverter 
parallel schalten.

Mit 5V klappt das auf jeden Fall. Bei 3V bin ich unsicher.
(Firma: BDE Elektronik) #6384704
Lesenswert?

auch nicht schlecht. Ich wollte gerade anmerken, dass bei 
HCMOS-Invertern von dem Impuls nicht mehr viel übrig bleibt, aber wenn 
man ihn per Monoflop verlängern kann... reichen die 3V denn für ein High 
bei TTL Bauteilen?

Ich würde erstmal den Elko vor dem Relais antesten. Hoffentlich reichen 
die 3V für die auf Lager befindlichen 5V Relais aus...

Ich hab an dem Pin eine "Pi"-Spannung gemessen, also 3,14 Volt. Wie 
belastbar die ist, weiß ich nicht, von daher wäre etwas unempfindliche 
Logik dahinter schon sinnvoll.

Ich hab schonmal eine Inverterschaltung gebaut, die am Eingang ein 
Signal mit nur 0,5V Hub hatte (S/P-DIF), und am Ausgang dann TTL 
rausgab. Da kann ich auch nochmal drüber schauen.
(Firma: BDE Elektronik) #6385603
Lesenswert?

Also wenn ich das richtig sehe baue ich mir:

1)Transistor als Schalter, der mit den 3V eine 5V Spannung schaltet
2)ein schön langsames 7404, vier Inverter in Reihe hängen
3)einen 74HC86, ein Eingang direkt, ein Eingang vom 7404
4)einen NE555, auf etwa 100ms eingestellt
5)ein 5V Relais

Falls das mit 1) nicht gehen sollte, gibts auch sowas:
SN74LV1T04 als Inverter, da weiß ich aber nicht, was beim Power Up 
geschieht
SN74LV1T34 als Buffer. Diese Dinger akzeptieren geringere Logikpegel und 
geben Sie mit der Versorgungsspannung, hier 5V, wieder aus
Moderator (Firma: Titel) Persönliche Seite #6385621
Lesenswert?

Benedikt D. schrieb:
> ich habe hier ein Modul, das gibt an einem Pin 3V aus
Wie sehr ist diese Spannung belastbar?

Benedikt D. schrieb:
> µC wäre mir zu aufwändig.
Mit einem 6-Pin µC wie dem Tiny5 oder einem 8er Tiny45 wäre ich dank ADC 
jetzt schon fertig und könnte das kleine 5V Relais wie z.B. TX2-5V oder 
TQ5-5V auch direkt mit einem Portpin (oder zwei parallel geschalteten) 
mit beliebigem Timing ansteuern. 3 Bauteile samt Blockkondensator, das 
empfinde ich durchaus als "wenig Aufwand".
Natürlich muss man sich halt ein einziges Mal in die Thematik 
einarbeiten...
Gast #6385629
Lesenswert?

Benedikt D. schrieb:
> Mir schwebt gerade vor, dass man die Flanken des On/Off-Signals
> auswertet und damit ein kleines Relais schaltet.

Das hätte den Vorteil, daß das andere Gerät galvanisch isoliert bleibt.

Es ginge vielleicht auch ein Optokoppler oder PhotoMOS Relais.

3V sind nämlich knapp, Reichelt hat z.B. gar kein 3V Reed Relais.

Nehmen wir das 
https://www.mouser.de/datasheet/2/262/3303172171e-1633494.pdf

6mA Spulenstrom sind gut.

Dein 3V Gerät muss also 3V mit 6mA liefern können.

Um das Relais dann 1 Sekunde lang einzuschalten könnte man einen Elo mit 
10000uF vorschalten, beim Entladen geht es dann über die Freilaufdiode.

Aber der ist gross.

Kleiner wird es mit einem MOSFET zwischen RC-Kombination (z.B. 
1uF/1MegaOhm) und Relais.

Genauer hält er die Zeit ein, wenn man einen Schmitt-Trigger wie 
74VHC1G14 zwischen RC Kombination und Relais schaltet, grösser ist der 
auch nicht.
(Firma: BDE Elektronik) #6385690
Lesenswert?

Lothar M. schrieb:
> Mit einem 6-Pin µC wie dem Tiny5 oder einem 8er Tiny45 wäre ich dank ADC
> jetzt schon fertig und könnte das kleine 5V Relais wie z.B. TX2-5V oder
> TQ5-5V auch direkt mit einem Portpin (oder zwei parallel geschalteten)
> mit beliebigem Timing ansteuern. 3 Bauteile samt Blockkondensator, das
> empfinde ich durchaus als "wenig Aufwand".
> Natürlich muss man sich halt ein einziges Mal in die Thematik
> einarbeiten...

Du meinst den ATtiny5? Aber den muss ich doch dann erstmal 
programmieren... also Programmieradapter (hab ich für die Größe gar 
nicht), erstmal lernen wie das geht, welche Programmieroberfläche.... 
das dürfte mittelfristig sehr gut sein, aber für diesen einfachen 
Einsatz muss ich da glaub ich zuviel reinstecken!
Moderator (Firma: Titel) Persönliche Seite #6385744
Lesenswert?

Benedikt D. schrieb:
> also Programmieradapter (hab ich für die Größe gar nicht)
So ein Programmierkabel kostet 5€, wenn du das Erstbeste nimmst.

> das dürfte mittelfristig sehr gut sein, aber für diesen einfachen
> Einsatz muss ich da glaub ich zuviel reinstecken!
Richtig, wenn du nur 1 einziges Mal genau 1 Problem lösen musst, dann 
ist das Einarbeiten zu viel Aufwand. Aber irgendwie kann man damit echt 
viele Aufgaben lösen, wenn man sich da ein wenig eingearbeitet hat.

Dein Programm würde ohne besondere Entprellung oder sonstwas etwa so 
aussehen:
1
#define F_CPU 1000000UL
2
#include <avr/io.h>
3
#include <util/delay.h>
4

5
#define Eingang   PB0
6

7
// alle Relaisausgänge ein
8
#define Anziehen   (PORTB |=   0xe)
9
// alle Relaisausgänge ein
10
#define Loslassen  (PORTB &=   0x1)
11

12
uint8_t Eingang_akt = 0;
13
uint8_t Eingang_alt = 0;
14

15
int main(void)
16
{
17
   DDRB  = 0x0e; // PB 3..1 = Ausgang (1=output, 0=input)
18
   PORTB = 0x00; // Pullups auf Eingänge (1=Pullup, wenn Eingang)
19

20
   while (1) {
21
      Eingang_akt = PINB&(1<<Eingang);  // Eingang einlesen
22
      if(Eingang_akt != Eingang_alt) {  // hat sich was getan? Ja: Flanke
23
         if (Eingang_akt) {             // ist der Eingang high? Ja: steigende Flanke
24
            Anziehen;                   // Relais einschalten
25
            _delay_ms(100);             // warten
26
            Loslassen;                  // Relais abschalten 
27
         }
28
         Eingang_alt = Eingang_akt;     // alten Pinzustand merken
29
      }
30
   }
31
}
Ergebnis für den ATtiny10: "11,1% full", der ATtiny5 wäre demzufolge zu 
drei Vierteln leer... ;-)
(Firma: BDE Elektronik) #6462669
Lesenswert?

Hat ein bisschen gedauert, aber ich habe jetzt mal abgebildete Schaltung 
aufgebaut. Ganz links wird die 3.1 Volt Flanke geliefert und geht in das 
erste IC, ein 74HCT7541. Dieses IC kommt mit dem 3.1 Volt Pegel gut klar 
und macht daraus ein 5V (früher hieß sowas mal TTL-) Signal. Von da aus 
geht es direkt in den Eingang A eines XOR (74HC86).
Parallel geht das Signal durch die weiteren 7 Stufen des 74HCT7541 sowie 
durch die drei sonst ungenutzten Stufen des HC86. Durch diesen Umweg 
erzeuge ich den benötigten Delay, und so kann das Signal an den Eingang 
B des XOR gelegt werden.
Damit bekommt der XOR das Signal einmal direkt und einmal verzögert und 
sollte dann ein kurzes High ausgeben.

Tut er aber nicht...

Ich hab mal das Timing geprüft. Die Durchlaufzeit durch eine Bufferstufe 
des 74HCT7541 ist mit 19 ns angegeben, die des HC86 mit 7 ns. Macht 
zusammen 7x19 + 3x7 = ca 150 ns Versatz zwischen den beiden High am XOR. 
Reicht das evtl nicht, um dem XOR ein kurzes High zu entlocken? Wenn ich 
das Datenblatt des HC86 richtig verstehe, sollten 150ns doch locker für 
eine Reaktion am Ausgang des XOR reichen.
Any ideas?
Angehängte Dateien:
(Firma: BDE Elektronik) #6462786
Lesenswert?

Danke, aber kannst du mir erklären, was dann im Ergebnis den Unterschied 
zwischen XOR und AND/NAND ausmacht? Sind doch beides Logik-Bausteine, 
die mit der jeweiligen Vorbeschaltung aus der Flanke ein kurzes High 
machen.

Und wieso muss ich die Verzögerungszeit wissen? Ich wollte wissen, wie 
groß diese sein muss, damit das folgende Logik-IC (XOR oder aber 
AND/NAND)sicher reagieren kann.
(Firma: BDE Elektronik) #6462903
Lesenswert?

Ich hab jetzt gerade nochmal mit dem Oszi nachgemessen und habe 
festgestellt, dass die Schaltung mit HCT7541 und HC86 funktioniert. Der 
HC86 gibt das erwünschte kurze High korrekt aus, etwas über 100ns lang. 
Der Fehler liegt also wohl in der Beschaltung des NE555, da kommt nix 
raus.

=> Fehler gefunden
1.) ich hab das Signal, das in den NE555 reingeht, nochmal invertiert. 
Es war vorher active high. Da der NE555 aber auf fallende Flanken 
reagiert, macht ein active low Signal mehr Sinn. Ein Beinchen am HC86 
von L auf H hat das richtiggestellt

2.) (peinlich) der Vcc-Pin des NE555 war nicht korrekt angelötet...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren