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.
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.
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?
Zitat: Man muss aber die Grundzüge der Schaltungstechnk beherrschen. Welche Grundzüge habe ich denn nicht beachtet?
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
MaWin schrieb:
Viele Beleidigungen.
Bist du fertig? Dann gehe bitte weiter, hier gibt es nichts für dich.
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.
:
Bearbeitet durch Moderator
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.
Beitrag #5748759 wurde von einem Moderator gelöscht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.