Forum: Mikrocontroller und Digitale Elektronik Transistor mit 2 logischen Eingängen?


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 ursel (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

Ich habe eine Frage ob die angehängte Schaltung so funktioniert.

Und zwar habe ich eine externe PWM mit etwas kleiner als 1khz, 3,3v. 
Diese will ich in einem uC einlesen.
Wenn der uC (ein Arduino Pro Micro mit 3,3V, also ein Atmel 32u4) das 
passende Signal erkennt, soll die LED (2mA gelb) an das PWM Signal 
gekoppelt werden, also entsprechend der externen PWM Helligkeit 
leuchten. Dazu würde ich einen Pin des uC high setzen, um die 
Transistorschaltung (BC547) zu „aktivieren“. Wenn kein passendes Signal 
anliegt, soll die LED aus bleiben.

Funktioniert diese Schaltung so wie ich mir das ausgedacht habe?

Danke für eure Hilfe
Viele Grüße
Ursel

von my2ct (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ursel schrieb:
> Funktioniert diese Schaltung so wie ich mir das ausgedacht habe?

Schon, der 1kΩ Widerstand ist für die Schaltungsfunktion nicht nötig, 
schützt aber den Eingang des µC.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
ursel schrieb:
> Funktioniert diese Schaltung so wie ich mir das ausgedacht habe

Warum so umständlich, Schere im Kopf ?

ursel schrieb:
> Diese will ich in einem uC einlesen

Wenn man etwas "einlesen' will, schliesst man es an einen auf Eingang 
geschalteten uC Pin an, fertig. Kein Widerstand, kein Transistor.

ursel schrieb:
> Dazu würde ich einen Pin des uC high setzen, um die Transistorschaltung
> (BC547) zu „aktivieren“.

Wenn man sowieso den Strom für die LED aus dem uC heraus über einen auf 
Ausgang geschalteten Pin ein und ausschalten wird,

dann braucht man den ganzen Unfug mit dem externen Transistor nicht. Der 
uC liest die PWM ein und bestimmt durch den Zustand in seinem Programm 
ob die LED dauerhaft aus, mit der PWM an/aus oder dauerhaft ein 
geschaltet wird.

Ein uC hat kein Problem damit, der 1kHz PWM zu folgen, wenn man 
Grundzüge der Programmierung beherrscht.

von WinMa (Gast)


Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Ein uC hat kein Problem damit, der 1kHz PWM zu folgen, wenn man
> Grundzüge der Programmierung beherrscht.

Es macht aber keinen Sinn µC Ressourcen für solche Aufgaben zu 
verschwenden, wenn es reicht die externe PWM mit einem simplen 
Transistor zu schalten.
Man muss aber die Grundzüge der Schaltungstechnk beherrschen.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
1
                    in    out
2
                +------µC----------+
3
                |                  |
4
                |                  |
5
PWM Signal o----+----[===]---|>|---+
6
7
                      R      LED

Wenn der µC das "passende" Signal erkennt, schaltet er seinen Ausgang 
auf Low.

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Wenn der µC das "passende" Signal erkennt, schaltet er seinen Ausgang
> auf Low.

Die Schaltung setzt voraus, dass die PWM-Quelle eine ausreichende 
Treiberleistung besitzt.

von ursel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Da ich aber nicht weiß, ob das PWM Modul den LED-Strom treiben kann 
(sorry, bin halt noch Anfänger) oder wenn ich eine hellere LED (mit 20mA 
zB) anschließen will, dachte ich der Transistor ist eine gute Idee?

Der uC soll das PWM Signal auch nicht allzu oft lesen, da ich noch viele 
andere Dinge mit ihm vor habe. Ich dachte so an alle 500ms oder 1s. Die 
Änderungen der PWM die ich auf der LED sehen will sind aber deutlich 
schneller, deshalb wollte ich es einfach „durchschleifen“.

Der 1k am Eingang war auch nur zum Schutz gedacht, falls ich ausgetragen 
doch mal auf Ausgang schalte oder so.

Also zusammengefasst, es ist nicht elegant aber funktioniert?

von ursel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zitat:
Man muss aber die Grundzüge der Schaltungstechnk beherrschen.

Welche Grundzüge habe ich denn nicht beachtet?

von Georg M. (g_m)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
> mit 2 logischen Eingängen

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
ursel schrieb:
> Da ich aber nicht weiß, ob das PWM Modul den LED-Strom treiben kann
> (sorry, bin halt noch Anfänger) oder wenn ich eine hellere LED (mit 20mA
> zB) anschließen will, dachte ich der Transistor ist eine gute Idee?

Ist  keine schlechte Idee. Ich wollte nur zeigen, dass es unter 
Umständen einfacher geht.

von MaWin (Gast)


Bewertung
1 lesenswert
nicht lesenswert
WinMa schrieb:
> Es macht aber keinen Sinn µC Ressourcen für solche Aufgaben zu
> verschwenden

Oje oje oje, was machst du denn mit den übrigen Resourcen, an das 
Kinderhilfswerk spenden ?

Merke: Wenn man dumm ist, einfach mal die Klappe halten.

> wenn es reicht die externe PWM mit einem simplen
> Transistor zu schalten.
> Man muss aber die Grundzüge der Schaltungstechnk beherrschen.

Warum überhaupt einen uC ? Wenn man Schaltungstechnik beherrscht kann 
man doch sicherlich alles was er macht durch diskrete Bauteile ersetzen 
und braucht den uC gar nicht zu nutzen.

ursel schrieb:
> Da ich aber nicht weiß, ob das PWM Modul den LED-Strom treiben kann
> (sorry, bin halt noch Anfänger) oder wenn ich eine hellere LED (mit 20mA
> zB) anschließen will, dachte ich der Transistor ist eine gute Idee?

Da die LED aber in deiner Schaltung direkt an einem uC Ausgang hängt, 
kann und darf sie nicht mehr Strom brauchen, als der uC liefert.

Würde man sich den Transistor sparen, müsste man sich auch keine 
Gedanken um die Leistungsfähigkeit des PWM Ausgangs macher, der könnte 
sicherlich den uC Eingang treiben.

Der uC dient dort dann also nicht nur als UND-Gatter, sondern auch als 
stromverstärkender Treiber.

ursel schrieb:
> Der uC soll das PWM Signal auch nicht allzu oft lesen, da ich noch viele
> andere Dinge mit ihm vor habe.

Ursel, wie ärmlich, lern programmieren (Pin-Change Interrupt und Input 
Capture Timer).

Womöglich lässt sich noch die PWM Erzeugung in den uC verlagern.

von Karl B. (gustav)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Beitrag "Re: Transistor mit 2 logischen Eingängen?"

Hi,
an Logik hatte ich auch zunächst gedacht.
Es gibt dabei aber unschöne Effekte.
Weil PWM eine Frequenz hat, aber nicht synchron zum Schaltsignal 
geschaltet wird. Da gibt es dann als Resultat Glitches und evtl. sogar 
sichtbares Flackern. Softwaremäßig die PWM selbst "modulieren" ist 
allemal mit dem Ansteuerprogramm mit µC zu realisieren. Sozusagen eine 
Nullspannungssteuerung der PWM.

Mit der Schaltung im Bild (NF Generator symmetrisch umschalten) hatte 
ich das auch einmal mit Logik versucht.
Das Resultat waren Knackgeräusche. Kein gewünschtes Schalten.


ciao
gustav

von Stefan ⛄ F. (stefanus)


Bewertung
-4 lesenswert
nicht lesenswert
MaWin schrieb:
Viele Beleidigungen.

Bist du fertig? Dann gehe bitte weiter, hier gibt es nichts für dich.

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Ich würde es so machen wie im Anhang gezeigt. Damit kannst du auch LEDs
mit höherem Strom und höherer Spannung betreiben als es die µC-Ausgänge
erlauben.

Über EIN wird das PWM-Signal vom µC eingelesen, über AUS der Transistor
dauerhaft gesperrt (I/O_Pin als Ausgang mit Low-Pegel konfiguriert) bzw.
aktiviert (I/O-Pin als Eingang ohne Pull-Up konfiguriert), so dass er
das PWM-Signal verstärkt.

ULED ist die Versorgungsspannung für die LED. Falls du eine blaue oder
weiße LED verwenden möchtest, sind 3,3V zu wenig und bspw. 5V eine gute
Wahl. Der Vorwiderstand muss natürlich entsprechend angepasst werden.

Der Transistor muss von seiner Stromverstärkung und Belastbarkeit zur
LED passen. Für leistungshungrige LEDs kannst du auch einen Darlington
oder einen 3,3V-kompatiblen Mosfet nehmen.

R1 und R3 dienen nur der Vermeidung von Kurzschlüssen bei falscher
Programmierung. Bei Verwendung eines Mosfets kann R3 entfallen.

@MaWin:

Bist du ein Ingenieur oder ein Straßenrowdy? Wenn ersteres, dann
versuche doch mal, dir einen etwas sachlicheren Stil zu anzueignen.

von WinMa (Gast)


Bewertung
-4 lesenswert
nicht lesenswert
>Zitat:
>Man muss aber die Grundzüge der Schaltungstechnk beherrschen.

>Welche Grundzüge habe ich denn nicht beachtet?

Es ging nicht um dich sondern um WaWin

wenn er mal endlich das einzig Sinnvolle was er hier erwähnt hat 
befolgen würde, nämlich das hier:
>Merke: Wenn man dumm ist, einfach mal die Klappe halten.



dann müssten wir nicht ständig seine trolligen Antworten lesen.

Natürlich kann man solche Dinge im µC erledigen. Aber in deinem Fall 
macht die Transistorlösung viel mehr Sinn.

Man kann sich auch den Hintern mit einem µC abwischen aber auch da gibt 
es sinnvollere Hardware.

Und da MaWin nicht kritikfähig ist, könnt ihr euch schon auf seine 
nächste sinnlose Antwort freuen

von ursel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die sinnvollen Hinweise
(An alle, die sinnvolle Hinweise gegeben haben :) )

Nun hab ich ein paar gute Ideen gesammelt und werde mal testen.

MaWin kann sich ja mal mit c-hater zusammentun und einen Schimpf-Thread 
öffnen um über alle dummen, unfähigen Menschen zu schreiben die gerade 
versuchen, etwas zu lernen und sich vor einer Frage schon Gedanken 
machen, wie man Probleme lösen kann :)

von Pete P. (nomispetrus)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Wo wir gerade beim Thema „PWM-Signal“ erkennen sind hätte ich gleich 
eine Frage dazu:

Wie kann ich am besten ein eingelesenes PWM-Signal untersuchen und 
checken, ob es einen gewissen „Verlauf“ hat?

Beispiel:
Eine LED wird über eine externe PWM gefadet. Wird nun ein bestimmter 
Zyklus durchfahren soll der Controller das erkennen. Wenn ich den 
zeitlichen Verlauf mit den entsprechenden Tastverhältnissen kenne, wie 
kann ich dann das eingelesene Signal am besten damit vergleichen?

Dafür fehlt mir im Moment ein guter Ansatz.
Habt ihr Ideen?

Danke,
nomispetrus

von Yalu X. (yalu) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
WinMa schrieb:
> Natürlich kann man solche Dinge im µC erledigen.

Als so natürlich würde ich das nicht sehen. Alles, was wir wissen, ist:

- Die PWM-Frequenz beträgt 600Hz bzw. "etwas kleiner als 1khz".

- Die Plattform ist ein Arduino Pro Micro (ATmega32U4 mit 16MHz).

- Der µC soll künftig "noch viele andere Dinge" tun, weswegen das
  PWM-Signal nur "alle 500ms oder 1s" gelesen werden soll.

Wir wissen aber bspw. nicht, welche, welche zeitliche Auflösung die PWM
hat. Selbst wenn es nur 8 Bit (256 Stufen sind), ist der kürzeste Puls
nur 6,5µs, also 104 Taktzyklen lang. Das liegt in der Größenordnung der
Ausführungszeit der digitalWrite-Funktion von Arduino. Mit direktem
Registerzugriff geht es natürlich schneller, aber der TE ist nach
eigener Aussage Anfänger und hat sich nun mal für Arduino entschieden.
Zudem wird es schon bei einer 12-Bit-PWM (4096 Schritte) auch mit
direktem Registerzugriff sehr eng.

> Aber in deinem Fall macht die Transistorlösung viel mehr Sinn.

Eben. Da die Schaltung künftig auch für hellere LEDs funktionieren soll,
braucht man den Transistor sowieso, so dass man mit MaWins Vorschlag so
gut wie nichts an Material einspart und dem TE nur unnötig Steine bei
der Programmierung in den Weg legt.

Dass die Schaltung des TE wegen des durch den µC-Ausgang limitierten
LED-Stroms nicht optimal ist, ist klar. Aber gerade weil er sich der
Sache nicht ganz sicher ist, hat er die Frage gestellt. Und MaWins
Antworten liefern hierzu außer dem üblichen Gepolter leider nur wenig
substantielles.

von Yalu X. (yalu) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
@Pete P.:

Bitte in ein und demselben Thread nicht unter verschiedenen Namen posten
(s. Nutzungsbedingungen). Oder schreibe wenigstens dazu, dass du
nach wie vor der TE bist, aber nach dem Einloggen einen anderen Nick
hast.

: Bearbeitet durch Moderator
von MaWin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Yalu X. schrieb:
> Und MaWins
> Antworten liefern hierzu außer dem üblichen Gepolter leider nur wenig
> substantielles.

Moderator als fake news Verbreiter ? Und zudem noch schlechter 
Elektronik-Entwickler.
1
         +----+
2
PWM--1k--| uC |--LED
3
         +----+
ist sicherlich der einzige von einem ordentlichen Entwickler 
beschrittene Weg, ob nun (je nach Strom) ohne oder mit Transi vor der 
LED.

1kHz PWM ist lächerlich für einen uC, sowohl bei der Erzeugung als auch 
Erfassung.

Die offensichtlich getrollte Aussage des Spinners, der zu dem Zweck 
nicht seinen üblichen Namen sondern den vorsätzlich provozierend 
ausgesuchten WaMin verwendet, über angeblich zu sparende Resourcen - von 
denen der AVR genügend hat - und der selbstverständlich auf die 
Rückfrage was er denn nun mit den eingesparten Resourcen anfangen soll 
natürlich nicht geantwortet hat (was bei dem Troll auch nicht weiter 
verwunderlich ist) sondern ausschliesslich weiteren Schwachsinn 
schreibt, die ist das Problem, obwohl sie eigentlich leicht als 
vorsätzliches Getrolle erkennbar ist, denn fachlich ist sie absoluter 
Schwachsinn.

Die Hinweise von my2ct, Wolfgang, Georg und Karl sind dagegen durchaus 
hilfreich, haben aber wohl weder WaMin, noch Stefanus, noch ursel-Pete 
gelesen. Schliesslich mag man nicht so gerne Gründe hören warum die 
eigene Idee vielleicht nicht so gut ist sondern zu wenig Treiberleistung 
bringt oder eventuell zu flackern führt.

von Yalu X. (yalu) (Moderator)


Bewertung
-1 lesenswert
nicht lesenswert
MaWin schrieb:
> Moderator als fake news Verbreiter ? Und zudem noch schlechter
> Elektronik-Entwickler.

Jetzt komm mal wieder auf den Boden.

>          +----+
> PWM--1k--| uC |--LED
>          +----+
> ist sicherlich der einzige von einem ordentlichen Entwickler
> beschrittene Weg, ob nun (je nach Strom) ohne oder mit Transi vor der
> LED.

Das kann (in Ausnahmefällen) eine gangbare Lösung sein.

> 1kHz PWM ist lächerlich für einen uC, sowohl bei der Erzeugung als auch
> Erfassung.

In der Erzeugung meist ja, in der Erfassung nicht unbedingt. Das hängt
ganz stark von der gewünschten Auflösung ab, wie ich schon in meinem
letzten Beitrag geschrieben habe, von dem du offensichtlich – wenn
überhaupt – nur die ersten drei Zeilen gelesen hast.

MaWin schrieb:
> ... getrollte Aussage ... provozierend ... Troll ... Schwachsinn ...
> vorsätzliches Getrolle ... absoluter Schwachsinn ...

Du solltest erst mal ausschlafen und anschließend mit etwas Abstand noch
einmal deine eigenen Beiträge durchlesen. Vielleicht erkennst du dann,
dass du sie besser nicht oder wenigstens unter deinem etwas anonymeren
Alternativ-Nick gepostet hättest.

von Günter Lenz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ursel schrieb:
> also ein Atmel 32u4) das
>passende Signal erkennt,

Was ist denn das passende Signal? Was soll denn
überhaupt detektiert werden? Ob das PWM-Signal
vorhanden ist oder nicht, ob es eine bestimmte
Frequenz hat oder ob es ein bestimmtes Impulsverhältnis
hat?

von ursel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@Yalu:
Sorry, war keine Absicht.

Das Signal habe ich bisher noch nicht aufgenommen, mir fehlt noch die 
Hardware. Aber das zu erkennende „Signal“ ist ein 
hoch-runter-hoch-runter Dimmen der LED (also des PWM-Ausganges) 
innerhalb etwa einer Sekunde. Wie gesagt, ich muss es noch 
ausmessen/aufnehmen wenn die passende Hardware da ist, das sollte aber 
kein größeres Problem sein. Ich hätte dann also über einen Zeitraum von 
rund einer Sekunde einige Tastverhältniswerte zu den entsprechenden 
Zeitpunkten.

Bisher dachte ich, in diesem „Modus“ die PWM alle 20 bis 50 ms 
aufzunehmen. Das passende Interval muss ich noch austesten. Entsprechend 
würde ich mir eben die „Sollwerte“ vorher ausmessen.

von WinMa (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
MaWin schrieb:
> Die offensichtlich getrollte Aussage des Spinners, der zu dem Zweck
> nicht seinen üblichen Namen sondern den vorsätzlich provozierend
> ausgesuchten WaMin verwendet

Ich hatte unter dem Alias: "WinMa" getrollt und nicht wie du behauptest 
als "WaMin"
Wenn du nicht mal 5 Buchstaben in der richtigen Reihenfolge lesen 
kannst, wie willst du dann eine einmal deklarierte Variable später im 
Code benutzen?
Vernutlich hilft dir eine Programmierumgebung mit KI, weil die Eigene 
etwas zurückgeblieben ist.

(das KI soll dir Google erklären)

Aber noch lustiger finde ich, dass du dich darüber aufregst, dass ich 
deinen Schreibstil kopiert habe, wenn auch nicht annähernd so vulgär.

Beitrag #5748759 wurde von einem Moderator gelöscht.
von Michel M. (elec-deniel)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Zur Simulation mit LTspice

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.