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
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.
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.
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.
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.
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?
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.
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.
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
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.
>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
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 :)
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
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.
@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.
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.
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.
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?
@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.
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.