pmos mit arduino ansteuern?
ich habe eine schaltung mit 100 leds zum bestrahlen von etwas. insgesamt werden benötigt 2A. es werden 4 lm317 als konstantstromquellen benutzt. das funktioniert einwanfrei. jetzt will ich das blinken von den leds einstellen. da der arduino zu wenig strom liefert werden die leds und lm317 mit einem netzteil versorgt und ich würde gerne nur über einen mosfet das schalten. wenn wenig last anhängt schaltet der mosfet aber auch nicht von 0 auf 9v sondern von 4 auf 7 zb. ich würde das gerne hinbekommen weil ich dann darüber die periodendauer der impulse steuern kann. für genauere sachen könnt ihr ir gerne schreiben. bilder von schaltplan, ltspice simulation, und pcb im anhang.
neues bild
1 Antwort
wenn wenig last anhängt schaltet der mosfet aber auch nicht von 0 auf 9v sondern von 4 auf 7
Was du damit meinst ist mir unklar. Aber, wenn unbedingt P-channel:
a) der P-channel FET ist falsch herum angeschlossen (Drain und Source). Über die Bodydiode ist er ständig leitend.
b) zum sauber Abschalten müssten der Arduino Output 9V erreichen können (was er ja nicht kann)
Daher: um mit Logikpegeln eine Last zu schalten wird normalerweise "low-side" ein N-channel MosFET verwendet.
Nachtrag: stark vereinfachtes LED Modell:
Kein Ding, genau diesen Fehler macht jede(r) mindestens einmal. ;-)
das mit dem schalten geht jetzt aber strom an den leds ist jetzt im uA bereich, das gleiche bei den strömen von den lm317
Und nochwas: LEDs parallel zu betreiben ist eher eine schlechte Idee. Trotz Stromregelung der "stränge" werden die LEDs jeweils sehr unterschiedliche Ströme abbekommen. Deswegen sind LEDs in einem Strang üblicherweise alle in Serie geschaltet. Die Spannung muss dann allerdings so hoch sein, dass sie für die LEDs in Serie ausreicht. Du bräuchtest also vermutlich eine höhere Spannung als die 9V (kommt darauf an, welche LED es genau ist) und/oder mehr Stränge.
daweil habe ich 4 stränge mit jeweils 25 leds, 20 smd ultrabright (rot grün und blau) und 5 IF Leds THT. dann müsste aber meine spannung deutlich höher werden. das gleichmäßige leuchten ist extrem wichtig bei uns wegen zellbestrahlung
Ja, aber umso wichtiger wäre es, es richtig zu machen. So wie du es im Moment gezeichnet hast, sind es keine Stränge, sondern mehrere Blöcke von jeweils parallel geschalteten LEDs. Innerhalb dieser Blöcke fließt durch jede LED ein anderer Strom (da jede LED einen etwas anderen Innenwiderstand hat).
Das ist anders, wenn alle LEDs in Reihe geschaltet werden (so wie bei einem echten "Strang"). Dann fließt durch jede LED der exakt gleiche Strom.
Für die LEDs, die eine recht hohe Spannung brauchen (blau), müsstest du den Strang dann vermutich teilen, damit die benötigte Spannung insgesamt nicht so hoch wird.
wie viel spg pro strang brauch ich dann am besten
Dazu müsstest du die Datenblätter der verwendeten LEDs angucken, und nach Vf (Forward Voltage, max.) suchen. Diesen Wert multiplizierst du mit der Anzahl der LEDs (in einem Strang) und addierst noch ein paar (3-4) Volt drauf.
wenn ich die leds in seriee hab wird der strom ja nicht mehr geteilt. das heißt die länge der stränge ist nicht abhängig vomn strom sondern von der spannung. wie viel spannung pro strang sollte anliegen am besten
wir besprechen gerade, ob wir die leds jetzt in serie oder parallel schalten, weil in serie ist es vom leuchten her besser. glaubst du ist der unterschied vom leuchten stark. wir müssen zellen mit 10cm distanz zwischen zelle und led. wir überlegen ob es uns das umzeichen des pcbs wert wäre wenn es dann garkein so großer einfluss wäre
Genau so ist es. Ab 48V wird es gefährlich und auch die MosFETs für solche Spannungen werden dann rar. Ich würde es mal mit 23-24V versuchen. Dann kannst du z.B. 5 blaue LEDs mit 4V pro Strang treiben. 5x4 = 20V + ein paar V extra.
Du müsstest also alleine für 25 blaue LEDs 5 Stränge vorsehen.
Wenn andere Farben z.B. nur 3V benötigen, könnten diese Stränge entsprechend mehr LEDs enthalten, bei Vf=3V z.B. bis zu 7 LEDs (7x3=21V + ein paar V drauf = 24).
Du brauchst also einen ganzen Haufen Stromregler, aber die LM317 sind ja günstig zu haben.
Die andere Variante wäre alle LEDs parallel, so wie du es gemacht hast, dann aber jede einzelne LED mit eigenem Vorwiderstand. Dann brauchst du gar keine LM317, aber eine geringere Spannung (z.B. 5V) würde sich zur Versorgung der LEDs anbieten.
wir müssen zellen mit 10cm distanz zwischen zelle und led.
Was hieße das im ganzen Satz? Was für Zellen?
ohh sry, war ein bischen zu schnell. wir bauen einen tisch wo wir eine zell aufbewahrungsplatte unter die platine schieben. von der led bis zu den zellen sind es 10cm, deswegen weiß ich nicht wie sehr sich diese licht unterschiede auswirken
wir werden mit mg63 als knochenkrebszellen arbeiten und diese auf stimulation mithilfe von licht testen
Jetzt versteht man es ;-)
Für wissenschaftlich "wasserdichte" Ergebnisse müsste man eigentlich die Helligkeit jeder einzelnen LED einzeln kalibrieren. Das wollt ihr euch ja vermutlich nicht geben, da es sich ja um ein Ausbildungs- oder Schulprojekt zu handeln scheint.
Ich denke es würde ausreichen eine nicht allzu geringe Spannung zu nehmen und jeder LED einfach einen eigenen Vorwiderstand zu gönnen und dafür dann eine Serie mit 1% Toleranz vorzusehen. LM317 sind dann nicht nötig.
Die Widerstände wären dann eben für jede Farbe verschieden, wenn du immer 20mA pro LED willst und ich gehe mal beispielsweise von 6V Versorgungsspannung aus, errechnest du den passenden Vorwiderstand einfach über R = (6V - Vf) / 0,02A. Und Vf ist die Forwardspannung aus dem Datenblatt der jeweiligen LED.
es ist so ich habe 5 leds pro well (vertiefungen in den zellen gelagert werden) im schlimmsten fall sind das 4 blaue smd und 1 ir tht led. das wären pro well 15,6 V das heißt ich würde 2 pro strang nehmen. ich bräuchte dann ja eigentlich nur 20ma für alle stränge wenn alles in serie ist, kann ich mir dann die lm317 nicht sparen
aber jedes well einzeln kalibrieren wäre schon sehr cool
Haha, ja, aber das ist dann nochmal ne Nummer aufwändiger. Ich bin kein Biologe, aber ich vermute, dass es den Zellen egal wäre die Helligkeit durch PWM Dimming zu regeln (und zu kalibrieren). Für eine hohe Anzahl von LEDs würde man das dann über diesen Weg machen (wird so z.B. bei großen LED Pixel-Displays gemacht).
Bei den LM317 muss man halt auch beachten, dass die unbedingt Kondensatoren benötigen (an Ein- und Ausgang), weil die sonst unangenehm schwingen und nicht regeln. Wie gesagt, man könnte es aber erstmal einfach halten und jeder LED ihren eigenen Vorwiderstand gönnen, dafür dann aber alles parallel versorgen (so wie es bei dir ja schon fast war, nur eben dann ohne LM317).
passt wirklich vielen dank und sorry die lange störung
das einzig nervige ist wenn wir bei jeder led eine vorwiderstand platzieren können wir sie nicht mehr so gut dimmen und dimmen ist auch recht wichtig. ich habe gedacht einen vorwiderstand für die "blöcke" mit einem poti
Mit den N-Ch FETs kann man auch (PWM-)dimmen. Und von denen kann man ebenfalls mehrere einsetzen, wenn man mehrere Kanäle haben will (z.B. für jede Farbe einen eigenen Kanal mit jeweils eigenem N-Ch FET und jeweils eigenem Ansteuerkanal vom Ardouino, um die Farben mischen zu können). Zu empfehlen wäre dann ein IC, das selbstständig die PWM erzeugt. Gibt es für wenige EUR sogar als "Shield" für Ardouino (s. unten). Der Ardouino selbst kann zwar auch PWM, aber nur wenige Channels, deswegen besser das Shield.
Da die Ausgänge jedoch nur max. 25mA treiben, schaltest du einfach den N-Ch FET dahinter, um eine ganze Gruppe paralleler LEDs (jede LED mit jeweils eigenem Vorwiderstand) zu treiben.
https://www.otronic.nl/de/16-kanal-12-bit-pwm-und-servo-shield-mit-i2c-integ.html
https://learn.adafruit.com/adafruit-16-channel-pwm-slash-servo-shield/overview
https://cdn-learn.adafruit.com/downloads/pdf/adafruit-16-channel-pwm-slash-servo-shield.pdf
sry dass ich nochmal störe wenn ich den nmos so benutze wie du ihn mir eingezeichnet hast. dann schaltet es zwar und der strom der leds ist ein rechtecksignal aber der strom ist nur noch im uA bereich. wenn ich einfach eine normalen groubnd habe liegen die normalen 20ma an
Evtl. unpassender MosFET (zu hohe V_GS Threshold) oder falsch angeschlossen. Welchen MosFET benutzt du genau?
ich simuliere gerade nur, ich habe keine spezifischen sondern einfach einen nmos
weil ich zuhause auch ein paar bauteile hab, lm317, widerstände, leds, poti hab ich mal aufgebaut für ein well fünf blaue leds. lm317 mit leds geht, mit poti zur stromregelung geht auch. da ich nur npn transistoren hatte hab die verwendet und zum schalten was auch geht. mqan sieht die leds schalten nur sie bekommen fast keinen strom mehr und leuchten garnicht hell
Das ist natürlich Quatsch. Beim simulieren müssen natürlich realistische Parameter und Modelle verwendet werden. Wenn dir 1A ausreicht, könnte (als Beispiel) ein IRLML6344 passen. Wirst sehen, dass dann auch Strom durch die LEDs fließt...
ich geb in meine fragestellung mal ein bild von dem diodenstrom und der schaltung, entweder ist mein gehirn schon durchgebrannt oder irgendwas stimmt nicht
Naja, den LEDs hast du ja auch kein Modell zugewiesen. Man kann ja auch nicht einfach einen Widerstand simulieren, ohne ihm einen Wert zu geben...
Und dann würde deine Parallelschaltung der LEDs in der Simulation natürlich super aussehen, weil jede LED exakt gleich ist. In der Praxis sind die Ströme durch direkt parallel geschaltete LEDs aber sehr unterschiedlich, da sie unterschiedliche Innenwiderstände haben werden.
Du wirst noch ein wenig praktische Erfahrung sammeln müssen. Ich würde dir empfehlen, mal ein paar LEDs zu kaufen, ein paar MosFETs und Widerstände und es dann in der Praxis auszuprobieren und zu messen. Es reichen ja mal 3-4 LEDs, da wirst du dann feststellen, warum Vorwiderstände für jede einzelne LED eine gute Idee sind.
Viel Erfolg mit eurem Projekt.
Ich hänge oben noch ein Bild für sehr vereinfachte LED Modelle an, dann kannst du etwas realistischer mit verschiedenen Forward-Spannungen experimentieren. Das Modell weist man der LED über das Value Feld zu.
danke, ja bin noch schüler und neu in dem gebiet danke für die antwort