Forum: Mikrocontroller und Digitale Elektronik Mit einem Kurzhubtaster zwei komplett verschiedene Schaltkreise (gegenteilig) durchschalten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von noob (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe folgendes Problem: Ich habe ein Referenzsignal A, einen 
Kurzhubtaster und muss zwei Schaltkreise gegenteilig durchschalten.

Genauer gesagt will ich meinen Raspberry Pi mit nur einem Knopf 
herunterfahren können (wenn er an ist) und neustarten können (wenn er 
aus ist).
Dazu habe ich bisher folgende Schnittstellen:

- Pin GPIO9 (Eingabe): Liest ein, ob ein Herunterfahren gewollt ist
- Pin GPIO10 (Ausgabe): Gibt den aktuellen Zustand des Pi aus, wobei 
Hochgefahren=HIGH, runtergefahren=LOW
- zwei Reset-Pins: Müssen kurzgeschlossen werden, um den Pi 
hochzufahren. Leider Reseten sie den Pi auch im Betrieb, weshalb der 
Schaltkreis nur geschlossen werden darf, wenn GPIO10=LOW.


Mein Problem ist nun, dass der Kurzhubtaster zwar vier Pins hat, aber 
komplett verbunden zu sein scheint. D.h. er schaltet Pin1 auf Pin3 und 
Pin4 durch und Pin2 ebenfalls auf Pin3 und Pin4. Daher kann ich so keine 
zwei getrennten Schaltkreise aufbauen.

Ich hab versucht, mit NPN- und PNP-Transistoren abhängig von GPIO10 an 
der Basis die Schaltkreise gegenteilig zu schalten, aber da komm ich 
dann irgendwie mit Pullup und Pulldown in Konflikt, sodass ständig 
ungefähr 2V überall anliegen, weil alles verbunden ist.
Pullup und Pulldown für die Transistorbasen brauch ich aber glaub, denn 
wenn der Taster nicht gedrückt ist, wären die Basen an beiden 
Transistoren undefiniert.

Vielleicht kann man an den Widerstandsgrößen noch was drehen? Die sind 
recht willkürlich gewählt.

Im Moment denke ich aber eher, dass der ganze Aufbau so nicht 
funktioniert und ich zwei echte getrennte Kreise brauche, d.h. einen 
Schalter, der zwei Kreise auf einmal schalten kann (oder einen anderen 
Baustein, der das gleiche erledigt). Gibt es so einen Baustein, wie 
heißt der?

von noob (Gast)


Lesenswert?

Noch ein paar Anmerkungen:

- Den Reset-Schaltkreis hatte ich auch umgedreht, als ich gesehen habe, 
dass man bei PNP die Spannungsversorgung an den Emitter legt.

Und zum besseren Verständnis, die zwei gewollten Schaltkreise sind:
1. Reset-Schaltkreis
2. Messungsschaltkreis zum Messen, ob an GPIO9 HIGH oder LOW anliegt. 
Wobei ich gerade merke, dass mir dafür nochmal ein Pulldown-Widerstand 
direkt vor GPIO9 fehlt. Allerdings ist es so, dass Shutdown schon lief, 
Probleme machte immer Reset.

von Kein Name (Gast)


Lesenswert?

Nanu? 2-polig, Ein-Aus-Ein findet sich doch in jedem Elektronikladen?

von Kein Name (Gast)


Lesenswert?

Ähm Taster - nach Kurzhubtaster 2-polig gegoogelt findet sich auch mehr 
als genug. Wo liegt das Problem?

von Easylife (Gast)


Lesenswert?

Kannst du genauer erläutern was das heisst:
"zwei Reset-Pins: Müssen kurzgeschlossen werden, um den Pi
hochzufahren."

Müssen die 2 Pins
a) miteinander verbunden werden, oder
b) beide kurz mit Ground verbunden werden zum hochfahren?

von Easylife (Gast)


Lesenswert?

So wie ich es sehe, muss einfach Pin2 von RESET kurz auf 0V gezogen 
werden, richtig?

von Easylife (Gast)


Lesenswert?

Oder muss Pin 1 kurz auf 3.3V gezogen werden?

von Easylife (Gast)


Angehängte Dateien:

Lesenswert?

Anyway, für beide Fälle ein Vorschlag anbei.

von noob (Gast)


Lesenswert?

Funktioniert super. Man muss den Pin2 auf 0V ziehen. Bei Pin1 auf 3,3V 
passiert zwar auch ein reset, aber klingt eher so als sei das ungewollt 
(leichtes Knacken + alle LEDs aus, eigentlich sollte eine rot bleiben).

Eine Frage hab ich aber noch zum Fall 1: Wenn GPIO10 auf HIGH ist, 
schaltet der linke Transistor ja durch. Warum liegt - wenn man den 
Taster drückt - die Spannung dann nur zwischen Drain und Source vom 
linken Transistor an und nicht auch zwischen Gate und Source des 
rechten? Es gibt da ja keine Widerstände, die unterschiedliche 
Spannungsniveaus begründen würden. Haben die Transistoren interne 
Widerstände oder sowas Ähnliches?

von Philip S. (psiefke)


Lesenswert?

http://hackaday.io/project/863-Raspberry-Pi---PSU

Vielleicht kann das inspirieren?!

von noob (Gast)


Lesenswert?

Ah, ich habs inzwischen selbst verstanden. Ich muss mir ja klarmachen, 
dass in Bereichen, zwischen Widerständen immer das gleiche Niveau 
herrscht. Und nur über Widerstände fällt es ab. D.h. rechts vom 
10kOhm-Widerstand (der ganz oben) liegen dann überall 0V (falls der 
Transistor selbst keinen Widerstand erzeugt). Dann liegen am Gate des 
rechten Transistors aber auch 0V an.

von MaWin (Gast)


Lesenswert?

noob schrieb:
> Ich habe folgendes Problem:

Du hast ein Logikproblem.
Man kann nicht aus 2 Signalen unterschiedliche Aktionen machen, die 
Elektronik erahnt nicht was du willst.
Man kann aber mit einem Taster eine Spannung ein und ausschalten, weil 
man sich dabei auf den vorherigen Zustand (ein oder aus) beziehen kann.
1
  +-----------+--------------------
2
  |           |                  
3
  |       +---)----------------+
4
  |       |   |                |
5
  |       +--|>o--10k--+--|>o--+---
6
  | +         |        |       |
7
Batterie      |        |       1M      
8
  | -         |        |   _   |
9
  |           |        +--o o--+
10
  |           |                |
11
  |           |              100nF
12
  |           |                |
13
  +-----------+----------------+
Bloss die Versorgungsspannung kannst du damit nicht ausschalten, das 
wäre kein runterfahren.
Also kann die Versorgung nur ein ODER sein, EIN von dieser Schaltung und 
EIN vom RPi, ein Signal das er selbst nach dem Runterfahren auf LO 
setzt.

von Easylife (Gast)


Lesenswert?

Richtig. Der MosFET der mit deinen GPIO 10 (output) verbunden ist, ist 
leitend, sobald GPIO hight ist. Damit wird verhindert, dass RESET high 
werden kann, wenn der Taster gedrückt wird. Der 10K Widerstand sorgt 
dafür, dass in diesem Fall nicht VCC mit GND über den MosFET 
kurzgeschlossen wird.
Der MosFET hat natürlich auch einen kleinen Innenwiderstand, der liegt 
aber im Milliohm-Bereich, insofern ist RESET immer noch sehr eindeutig 
LOW.

Mit (Logic-Level-)MosFETs arbeitet es sich meiner Meinung nach einfacher 
in Digitalschaltungen, da man ja meistens nur zwei Zustände benötigt: 
leitend oder sperrend. Da hierfür am Gate nur die entsprechende Spannung 
anliegen muss und kein Strom fließt, spart man sich Berechnungen eines 
Transistor-Basiswiderstandes. Ein Serienwiderstand zur Strombegrenzung 
am Gate ist trotzdem zu empfehlen, da das Gate im Prinzip ein 
Kondensator ist. Die Dimensionierung ist aber bei niedrigen Frequenzen 
bzw. bei kleinen Lasten total unkritisch.

von Andre Z. (Firma: Herr) (erdna1281)


Lesenswert?

Wie könnte ich diese Schaltung Fall1(Pin2) realisieren wenn ich statt 
des Tasters einen Optokoppler eingesetzt habe der dauerhaft VCC 
schaltet.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.