Forum: Mikrocontroller und Digitale Elektronik Computer mit 12V Triggersignal ein und ausschalten


von Markus Schönekäs (Gast)


Lesenswert?

Hallo zusammen,

ich möchte folgendes tun.


Ich habe einen Hifi Vestärker, welcher über seine 12V Trigger Ausgänge 
meinen  Raumakustikprozessor, welcher wie ein normaler Desktop PC 
funktioniert, einschaltet und auch ausschaltet.


Wenn ich den Verstärker einschalte, liegen die 12V an, wenn ich 
ausmache, sind diese weg.


Um den PC einzuschalten benötige ich einen einfachen Impuls, der einfach 
zwei Kontakte (des An/Aus Schalters vom PC) brückt, so dass der PC 
eingeschaltet wird. Ausgeschaltet wird der PC über zwei Impulse.

Wenn ich nicht irre, wird am PC Schalter ein 5V Signal durchgeschleift.


Kann mir jemand sagen, wie ich das bewerkstellige ?

Eine Master/Slave Dose ist nicht möglich.

Viele Grüße
Markus

von Hans (Gast)


Lesenswert?

Bekommst du bereits ein Signal, das kurz angeht oder bekommst du nur 
eine steigende Flanke?

Im ersten Fall könntest du einfach ein Relais schalten um den Taster zu 
überbrücken.

Im zweiten Fall ist vielleicht ein Monoflop mit nachgeschaltetem Relais 
eine Lösung.

von Markus Schönekäs (Gast)


Lesenswert?

Hi,

also im Grunde habe ich ja nur ein An oder Aus vom Verstärker.

Verstärker an - 12V auch an
Verstärker aus - 12V auch aus

ob da steigende Flanken o.ä. sind, kann ich nicht sagen.


Weiterhin kann ich das 12V Signal auch gar nicht direkt nutzen, da ich 
mir sonst mein Mainboard vom PC zerschießen würde, da dieser ja nur 5V 
verträgt.

:)

von Markus Schönekäs (Gast)


Lesenswert?

Was noch kurz erwähnt werden sollte.

Das Triggersignal ist auf max. 150mA beschränkt.

von Hans (Gast)


Lesenswert?

Markus Schönekäs schrieb:
> Verstärker an - 12V auch an
> Verstärker aus - 12V auch aus

Dann solltest du mit dem Signal sobald es einschaltet einen Monoflop 
triggern können. Der kann wie beschrieben ein Relais für eine 
galvanische Trennung zum Schalter ansteuern.
Wenn du 150mA zur Verfügung stehen hast solltest du alternativ aber auch 
ein Zeitrelais nutzen können. Wichtig: Freilaufdiode nicht vergessen. 
Niemand weiß hier wie dein Verstärker intern aufgebaut ist.

von Hans (Gast)


Lesenswert?

Markus Schönekäs schrieb:
> Ausgeschaltet wird der PC über zwei Impulse.

Ich sehe gerade, dass ich was überlesen habe...
Zwei Impulse bedeutet natürlich ein größerer Aufwand. Entweder baust du 
ein TTL Grab aus einem Zähler, einem Monoflop sowie ein wenig Kleinkram 
oder du verwendest einen Mikrocontroller, der das Signal deines 
Verstärkers auswertet.

von Markus Schönekäs (Gast)


Lesenswert?

Hui. Ehrlich gesagt hört sich das für mich recht kompliziert an.

Wie würde denn so ein Microcontroller aussehen ?

von Cyblord -. (cyblord)


Lesenswert?

Markus Schönekäs schrieb:
> Hui. Ehrlich gesagt hört sich das für mich recht kompliziert an.

Was ist schon einfach?

> Wie würde denn so ein Microcontroller aussehen ?

Meist Schwarz, mit Beinchen dran. Manchmal auch nur Pads oder Kugeln.

von Markus Schönekäs (Gast)


Lesenswert?

Da fällt mir gerade noch etwas ein.


Der PC kann auch gern mit zwei Impulsen oder mehr eingeschaltet werden. 
Da er dort eh grad erst hochfährt, nimmt er von Signal 1 gefolgte 
Signale für die ersten 10 Sekunden nicht mehr wahr.


Somit bräuchte ich also eine Schaltung, die generell zwei kurze Impulse 
im Abstand von einer Sekunde erzeugt.

von Grobian (Gast)


Lesenswert?

Müsstest einen Spannungsteiler von 12V auf 5V machen und an einen I/O 
Pin des Mikrocontrollers hängen um zu erkennen ob der Verstärker ein 
oder aus ist.
Verstärker an  12V  -> 5V = High Signal
Verstärker aus 0V         = Low Signal.

Dann sagst du halt grob in C z.b.

char pin1 = 0;   //pin1 = eingang
char pin2 = 0;   //pin2 = ausgang
char merker = 0; //merker um zu sehen ob PC ein oder Ausgeschaltet ist.

if(pin==1 && merker==0)        //pc einschalten
{
 pin2 = 1;
 warteschleife;
 pin2 = 0;
 merker=1;
}

if(pin1==0 && merker==1)       //pc ausschalten
{
 pin2 = 1;
 warteschleife;
 pin2 = 0;
 warteschleife
 pin2 = 1;
 warteschleife;
 pin2 = 0;
 merker=0;
}

Ist jetzt nur grob programmiert, jedoch gibst du zum einschalten ein 1 
signal aus, und beim ausschalten 2x ein 1Signal.
Die Warteschleife ist halt variabel, da du wissen musst wie groß die 
Periodendauer ist.

Der Mikrocontroller müsste jedoch dauerhaft Versorgungsspannung 
abbekommen.

von Markus Schönekäs (Gast)


Lesenswert?

Mm..Ok. :)

Ich könnte dem MC ein dauerhafte 5V Spannung, welche vom USB des PCs 
kommt, zur Verfügung stellen.

Wäre das ausreichend ?


Sehe ich das richtig, dass der MC dann mit 5V gespeist werden würde und 
dann schaut, ob ein 12V Signal reinkommt. Wenn ja, dann werden zwei 5V 
Impulse an den PC rausgegeben. Und genau das selbe müsste er dann auch 
machen, wenn die 12V nicht mehr anliegen.

von Hans (Gast)


Lesenswert?

Markus Schönekäs schrieb:
> Ich könnte dem MC ein dauerhafte 5V Spannung, welche vom USB des PCs
> kommt, zur Verfügung stellen.

Könntest du machen. Allerdings würde ich den Mikrocontroller dann auf 
3.3V laufen lassen, um eine stabile Spannung bereitstellen zu können.

Markus Schönekäs schrieb:
> Wenn ja, dann werden zwei 5V
> Impulse an den PC rausgegeben. Und genau das selbe müsste er dann auch
> machen, wenn die 12V nicht mehr anliegen.

Ich würde keine 5V sondern ein potentialfreies Signal rausgeben. Damit 
ist es egal, welchen Eingang das Mainboard sehen möchte. So würde ein 
Relais den Powerschalter ersetzen.

von Markus Schönekäs (Gast)


Lesenswert?

Hallo, ohje, schoin wieder einiges an Zeit vergangen.


Ich habe jetzt mal angefangen, mich mit dem Programmieren eines Arduino 
zu befassen und werde dieses WE mal den oben programmierten Sketch auf 
meinen Arduino zu laden und dann schon mal zu testen, wie weit ich damit 
komme.

Ich werde dann wieder berichten :)

von Markus Schönekäs (Gast)


Lesenswert?

Hallo, ich habe es nun hinbekommen, jedoch auch Hilfe eines Bekannten 
gehabt.

So sieht es nun aus:
1
// constants won't change. They're used here to
2
// set pin numbers:
3
const int PinEingang = 12;
4
const int PinAusgang = 13;
5
6
int merker = 0;
7
8
void setup() {
9
  
10
  // put your setup code here, to run once:
11
  // initialize the LED pin as an output:
12
  pinMode(PinEingang, INPUT);
13
  // initialize the pushbutton pin as an input:
14
  pinMode(PinAusgang, OUTPUT);
15
}
16
17
void loop() {
18
  int SignalEingang=0;
19
  // read the state of the pushbutton value:
20
  SignalEingang = digitalRead(PinEingang);
21
  // put your main code here, to run repeatedly:
22
  if(SignalEingang==HIGH && merker==0){ //PC einschalten
23
    delay(15000);
24
    digitalWrite(PinAusgang, HIGH);
25
    delay(1000);
26
    digitalWrite(PinAusgang, LOW);
27
    merker=1;
28
  }
29
30
  if(SignalEingang==LOW && merker==1){ //PC ausschalten
31
    delay(10000);
32
    digitalWrite(PinAusgang, HIGH);
33
    delay(1000);
34
    digitalWrite(PinAusgang, LOW);
35
    delay(1000);
36
    digitalWrite(PinAusgang, HIGH);
37
    delay(1000);
38
    digitalWrite(PinAusgang, LOW);
39
    merker=0;
40
  }
41
42
}




Ich habe das nun einfach mal mit einer LED probiert und es funktioniert 
einwandfrei.


Mein jetztiges Problem ist jedoch, dass auf dem Ein-Schalter des PC 
dauerhaft 5V anliegen und der Schalter einfach bloß die 5V beim drücken 
kurz schließt. Den Scahlter möchte ich gern beibehalten, allerdings in 
die Leitung mit dem Arduino dann eingreifen.

Sehe ich das richtig, dass ich dafür noch ein Relais brauche, welches 
innerhalb der Signalleitung vom Schalter eingreift und dort einen 
Kontakt öffnen und auch schließen kann oder könnte ich das auch ohne das 
Relais bewerkstelligen ?

von Raute (Gast)


Lesenswert?

Markus Schönekäs schrieb:
> Sehe ich das richtig, dass ich dafür noch ein Relais brauche, welches
> innerhalb der Signalleitung vom Schalter eingreift und dort einen
> Kontakt öffnen und auch schließen kann oder könnte ich das auch ohne das
> Relais bewerkstelligen ?

Du könntest auch einen Optokoppler verwenden. Genauso könnte es mit 
einem Transistor funktionieren.

Bei einem PC würde ich allerdings eine Potentialtrennung durchführen, 
sodass der Transistor ausscheidet. Es bleibt also nur noch ein Relais 
und ein Optokoppler. Optokoppler sind etwas komplizierter als Relais, 
sodass ich dir empfehlen würde ein Relais zu verwenden.

von angsthase (Gast)


Lesenswert?

Raute schrieb:
> Du könntest auch einen Optokoppler verwenden.

Ja!

Raute schrieb:
> Optokoppler sind etwas komplizierter als Relais,

das ist soooo kompliziert dass du mir das erklären musst.

von Raute (Gast)


Lesenswert?

angsthase schrieb:
> das ist soooo kompliziert dass du mir das erklären musst.

Bist du doof?

von angsthase (Gast)


Lesenswert?

Raute schrieb:
> Bist du doof?

Nö, die andere Seite.

von M.K. B. (mkbit)


Lesenswert?

Zu deiner Anforderung, dass du den bisherigen Schalter gerne beibehalten 
möchtest.

Du kannst ganz einfach den Arduino-Schalter (Relais, Optokoppler, ...) 
parallel zum dem vorhandenen Schalter einbauen.

Im Prinzip ist es egal, welcher von beiden Schaltern kurzgeschlossen 
wird. Wenn der Arduino-Schalter galvanisch getrennt ist, dann kann da 
auch nicht zu Problemen führen.

von Raute (Gast)


Lesenswert?

angsthase schrieb:
> Nö, die andere Seite.

Welche?

von angsthase (Gast)


Lesenswert?

Raute schrieb:
> Optokoppler sind etwas komplizierter als Relais

Sogar vieeeel komplizierter:

- Ein Relais braucht einen Mindeststrom um anzuziehen
- Ein Optokoppler dagegen braucht einen Mindeststrom um
anzusprechen --> viel komplizierter!

- Ein Relais schaltet man durch einen Transistor oder
durch einen Schalter
- Einen Optokoppler schaltet man durch einen Transistor
oder durch einen Schalter --> viel komplizierter!

- für ein Relais braucht man primär- und sekundärseitig
keine weitere Beschaltung, vielleicht einen Widerstand.
- für einen Optokoppler braucht man primär- und sekundär-
seitig keine weitere Beschaltung, vielleicht einen
Widerstand oder zwei. --> viel komplizierter!

- Ein Relais kann man im Elektronik-Handel kaufen
- Einen Optokoppler kann man im Elektronik-Handel kaufen
--->  viel komplizierter!

von Raute (Gast)


Lesenswert?

angsthase schrieb:
> Sogar vieeeel komplizierter:
>
> anzusprechen --> viel komplizierter!
> oder durch einen Schalter --> viel komplizierter!
> Widerstand oder zwei. --> viel komplizierter!
> --->  viel komplizierter!

Du bist echt doof. Ich schrieb:
> etwas komplizierter

Und wenn du schon doof bist:

- Man muss einen Vorwiderstand berechnen. Nicht schwer, aber für einen 
Anfänger komplizierter
- Die Polarität ist beim Optokoppler sekundärseitig wichtig. Für einen 
Anfänger ebenfalls etwas komplizierter

von Klaus I. (klauspi)


Lesenswert?

angsthase schrieb:
> - für ein Relais braucht man primär- und sekundärseitig
> keine weitere Beschaltung, vielleicht einen Widerstand.

Vielleicht an der stelle nochmal sicherheitshalber auf die Freilaufdiode 
hinweisen, sofern nicht bereits im Relais integriert.

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.