Arduino Fast Pwm "multiplexing"

Gast #6817215
Lesenswert?

Hey Folks folgendes Problem:
Ich möchte mit der Fast Pwm Library ein 108khz signal auf pin D10 
erzeugen. Dieses soll gesteuert von mehreren Ausgängen jeweils einen 
Block bestehend aus einem Mosfet mit der Frequenz schalten.
Auch gleichzeitig, also angenommen D1&D2 sind "on" soll der erste und 
zweite Mosfet mit 108khz geschalten werden.
Wie würdet ihr das machen? Mit Transistoren als "AND" gates?
Reichen Dioden? Kann ich die Transen gleich als Mosfettreiber 
missbrauchen? Lg Alex
#6817234
Lesenswert?

Alex schrieb:
> Hey Folks folgendes Problem:
> Ich möchte mit der Fast Pwm Library

Welche? Link?

> ein 108khz signal auf pin D10
> erzeugen.

Hat D10 einen Hardware-PWM Ausgang?

> Dieses soll gesteuert von mehreren Ausgängen jeweils einen

Kaum, denn eine Steuerung erfolgt immer durch EINGÄNGE.

> Block bestehend aus einem Mosfet mit der Frequenz schalten.
> Auch gleichzeitig, also angenommen D1&D2 sind "on" soll der erste und
> zweite Mosfet mit 108khz geschalten werden.

Kauderwelsch.

> Wie würdet ihr das machen?

Erstmal Klarheit über dein Ziel verschaffen.

> Mit Transistoren als "AND" gates?
> Reichen Dioden? Kann ich die Transen

Transen? Biologische oder welche aus der Chipfabrik? ;-)

> gleich als Mosfettreiber
> missbrauchen? Lg Alex

Das ist mal eine glatte 10.0 auf der Hipster-Skala!
Gast #6817284
Lesenswert?

Falk B. schrieb:
> Alex schrieb:
>> Hey Folks folgendes Problem:
>> Ich möchte mit der Fast Pwm Library
>
> Welche? Link?

Wahrscheinlich die von Arduino???

>
>> ein 108khz signal auf pin D10
>> erzeugen.
>
> Hat D10 einen Hardware-PWM Ausgang?

D10 ist der Ausgang von Timer 1

>
>> Dieses soll gesteuert von mehreren Ausgängen jeweils einen
>
> Kaum, denn eine Steuerung erfolgt immer durch EINGÄNGE.

Nein. Er will mit dem Ausgangssignal ein anderes Ausgangssignal 
beienflussen und fragt deshalb, ob er die notwendigen logischen 
Verknüpfungen mittel Transistoren und Dioden realisieren kann.


>
>> Block bestehend aus einem Mosfet mit der Frequenz schalten.
>> Auch gleichzeitig, also angenommen D1&D2 sind "on" soll der erste und
>> zweite Mosfet mit 108khz geschalten werden.
>
> Kauderwelsch.

Für Dich.

>
>> Wie würdet ihr das machen?
>
> Erstmal Klarheit über dein Ziel verschaffen.

Das Ziel des TO ist klar. Was nicht klar ist: Wieso antwortetst Du mit 
konfusem Zeug auf eine Anfrage, die Du nicht im Mindesten verstehst?

Geh doch einfach weiter.
Gast #6817292
Lesenswert?

Also die Library is die hier:
https://github.com/maxint-rd/FastPwmPin

Kann halt nur auf 2 Ausgängen PWM mit höheren Frequenzen.

Szenario 1: Ein Mosfet hängt an dem Pin wird mit 108khz schaltend 
betrieben. Ströme an Vds halten sich in Grenzen (ca100mA) deswegen ist 
eigentlich kein Mosfettreiber nötig.

Mein Szenario: Mehrere Mosfets die ich mit dem Signal schalten möchte 
also 108khz aber welche damit geschaltet werden möchte ich über Portpins 
steuern.

Vielleicht ist es jetzt etwas klarer formuliert 😊
Wurde schon schlimmeres als "Hipster" geschimpft 😁😅
Gast #6817399
Lesenswert?

Alex schrieb:
> wenn ich welche da hätte

Wie viele Rate-Versuche gibst du uns, bis wir heraus finden, welche 
Bauteile du "da" hast?

> Dachte da gibts vl eine simplere Lösung

Das UND Gatter ist die simpelste Lösung.

Alternativ kannst du einen Bustreiber wie den 74HCT244 oder 74HCT245 
nehmen, da kommt dann das PWM Signal an den /OE Eingang und die 8 
Daten-Eingänge steuern deine Blöcke an.

Man kann UND Gatter auch aus einzelnen Transistoren aufbauen.
Gast #6817405
Lesenswert?

Stefan ⛄ F. schrieb:
> Das UND Gatter ist die simpelste Lösung.

Ja soweit sind wir uns einig 😉 aber wie man das UND realisiert is bei 
meinem schaltplan noch offen.
Naja ich hab arduino, transistoren bc337 bc227, also auch komplementär 
und in smd, dioden 1n4007 ect., Shift register, kann jetzt alles 
aufzählen irgendwo wird sicher noch ein 40xx oder 74xx rumliegen aber 
ehrlich gesagt brauch ich 5 ausgänge da müsst ich dann 2 nehmen und es 
geht um den Partcount da ich das Projekt vl kommerzialisieren will 😁
In Software wär mir am liebsten hehe
Gast #6817409
Lesenswert?

Alex schrieb:
> kann jetzt alles aufzählen irgendwo wird sicher
> noch ein 40xx oder 74xx rumliegen

Das wäre man eine vernünftige Maßnahme.

> da müsst ich dann 2 nehmen

Oder halt was passendes kaufen. Was erwartest du, dass wir etwas für 
dich zaubern?

> In Software wär mir am liebsten

Geht nicht
#6817491
Lesenswert?

Alex schrieb:
> Mein Szenario: Mehrere Mosfets die ich mit dem Signal schalten möchte
> also 108khz aber welche damit geschaltet werden möchte ich über Portpins
> steuern.

Das nennt sich 1 aus N Dekoder und gibt es fertig, z.B. 74HC138, auch 
wenn der invertiert. Kann man ja per Software hinbiegen, indem man 
invertierte PWM einspeist. Wenn das nicht passt (die inaktiven Ausgänge 
sind immer HIGH), muss es halt eine Handvoll AND-Gatter ala 74HC08 sein.
#6817783
Lesenswert?

So langsam wird mir klar, was der TO bezweckt. Ein bisschen weniger 
Telegrammstil wäre schon vorteilhaft gewesen. Er will tatsächlich das 
erzeugte PWM-Signal (100kHz) an 0..n "Ausgänge" seines Arduino routen.

Rein in Software geht das nicht, die PWM-Frequenz ist zu hoch. Wobei man 
sicher die Frage stellen könnte, ob sie so hoch sein muß. Wenn nicht, 
könnte eine Soft-PWM nämlich die Lösung sein.

Bleibt die Lösung mit Hardware. AND-Gatter (z.B. 74HC08) wären die 
kanonische Lösung und könnten kleine LL-MOSFETs auch direkt treiben. Man 
kann die Funktionalität auch mit Dioden (und Pullups) bauen. Oder man 
nimmt MOSFET-Treiber mit Enable-Eingang. Viele Wege führen nach Rom.
#6818032
Lesenswert?

Hallo,
Stefan ⛄ F. schrieb:
> Das UND Gatter ist die simpelste Lösung.

Könnte man nicht einfach mit einem Transistor das Gate des MOS-FET gegen 
GND kurzschließen?

> Alternativ kannst du einen Bustreiber wie den 74HCT244 oder 74HCT245
> nehmen, da kommt dann das PWM Signal an den /OE Eingang und die 8
> Daten-Eingänge steuern deine Blöcke an.

Ich habe das gerade mal ausprobiert (mit einem 74F244, habe nichts 
anderes da), funktioniert einwandfrei.

rhf
Gast #6818060
Lesenswert?

Als ich den Thread gerade las hat es auch etwas gedauert, bis ich 
begriffen habe, worum es geht. Das war keine absichtliche 
Begriffsstutzigkeit bei den Antworten.

Mir gefällt die Lösung mit 74x244 am besten. Da könnte man bei maximal 4 
Mosfets ja auch 2 Ausgänge parallel verwenden.
Ich teile nur nicht so ganz die Annahme, dass bei maximal 100 mA 
Drainstrom der Treiber egal ist. Das hängt weitestgehend erst mal vom 
Transistor ab würde ich sagen. Das sollte abgeschätzt werden, denn soo 
langsam sind 100 kHz jetzt auch nicht.

Gruß und ich freut mich zu sehen, dass der Thread die Kurve gekriegt 
hat, eigenltich hatte ich den zu Beginn schon abgeschrieben :-)
Gast #6818073
Lesenswert?

Axel R. schrieb:
> schaltet der /OE nicht auf "high-Z", hängen dann die Gates in der Luft?

Bei 100 kHz sind ohnehin richtige FET treiber nötig, ich war davon 
ausgegangen dass er welche hat. Und ja 100 kΩ ist dann für den Pull-Down 
(vor dem Treiber) trotzdem noch recht viel, da würde ich eher etwas um 
2,2 kΩ nehmen.

Leider ist die Schaltung weiterhin geheim, also selbst Schuld, wenn die 
Vorschläge unpassend sind.
Gast #6818296
Lesenswert?

Aber wenn du vier MOSFET parallel ansteuerst und davon bis zu 3 
kurzschließt, müssen die Vorwiderstände zwischen Ausgang des µC und den 
Transistoren wieder recht hochohmig (um 1kΩ) sein. Das passt nicht zu 
den 100 kHz.
Gast #6819543
Lesenswert?

Wow hier tut sich ja einiges das freut :)
Also das mit den Bustreibern gefällt mir auch gut.
Die können ja 35mA max pro Output ob das langt hmm.

Bischen kann ich ja zur Schaltung verraten:
An die Mosfets kommt jeweils eine Induktivität und ein Piezo mit 2,5W 
Leistung. Vdrive=20V.
Also wären das 2,5W/20V=125mA die der Mosfet schalten muss.
Also alles nicht so wild :D

Vl kann mir ja einer einen Tipp geben wie man errechnet oder in welchen 
DB-Diagramm man sieht wieviel Gate-Umladestrom bei welcher Last benötigt 
wird.

Btw. das mit dem Gate kurzschliessen gefällt mir auch. Wie würde das 
aussehehn? Man müsste alle Gates (mit Vorwiderstand) verbinden und dass 
ans Signal und dann einzelne Transen (höhö) auf GND?
Gast #6819640
Lesenswert?

Alex B. schrieb:
> Also wären das 2,5W/20V=125mA die der Mosfet schalten muss.

Mal angenommen es werden wirklich nicht mehr als 4x 125mA, dann geht es 
ganz einfach:

Bei so wenig Strom würde ich bipolare Transistoren (z.B. BC337-40) 
verwenden. Dann kannst du dir den ganzen Aufwand mit Gate-Treibern und 
Logikgattern sparen.

Denke daran dass der untere Transistor die Summe aller Ströme schalten 
muss. Er braucht einen kleineren Vorwiderstand, als die anderen.

Alternative: TPIC5B595, da musst du die Channels aber seriell 
übertragen.
Angehängte Dateien:
Gast #6819772
Lesenswert?

Michael M. schrieb:
> Die können bei 20V verpolt werden und bräuchten deshalb noch eine Diode
> antiparallel zur BE-Strecke.

Ist das nicht egal, wenn die BE Strecke rückwärts durchflossen wird? Die 
Stromstärke bleibt ja durch den Vorwiderstand an der Basis begrenzt.

Dein Schaltungsvorschlag gefällt mir gut. Für den oberen PNP Transistor 
braucht man dann noch einen weiteren NPN als Pegelwandler - keine große 
Sache.
Gast #6819822
Lesenswert?

Nope, leider nicht. Die typische maximale Sperrspannung von 
BE-Diodenstrecken liegt im Bereich 5-7V.

Deshalb geht auch so ein Standard Multivibrator mit NPN Tanssitoren auch 
nur bedingt. Da gehören auch Dioden als Schutz mit rein, zumindest wenn 
man es richtig machen will.
Gast #6819867
Lesenswert?

ok, so gesehen könnte das schon gehen.

Wenn ich jetzt mal eine Verstärkung von 100 ansetze, dann liegt der 
Basiswiderstand bei ca. 3,3kOhm. Also der Strom rückwärts durch die 
Transistoren (Ueb = 6V) bei ca. 4,x mA, je Transistor.

Schön ist was anderes. Und in ein Produkt würde ich das jetzt nicht 
einsetzen wollen. Eine Diode kostet nicht die Welt, in Stückzahlen auch 
schnell weniger als 2 ct.
(Firma: matzetronics) #6819923
Lesenswert?

Da der 74(HC)244 zwei Gruppen à 4 Treiber hat, die man getrennt 
freigeben kann, sollte das mit dem Baustein ohne weitere Klimmzüge 
klappen. Man muss sich nur über den Hi-Z Zustand Gedanken machen. Und 
man kann die Ausgänge je nach Bedarf parallel schalten - das ist ein 
recht kräftiger Bustreiber.
Gast #6820095
Lesenswert?

Stefan ⛄ F. schrieb:
> Das ist mir schon klar. Sie werden also leiten. Na und? Zenerdioden
> leiten sogar absichtlich "falsch" herum. Who cares?

Der "erste Durchbruch" ist nicht immer in den Datenblättern 
dokumentiert. Mal abgesehen von den "Maximum Ratings"
Damit ist leider auch nicht garantiert, dass der Transistor das 
überlebt.
Gast #6820572
Lesenswert?

BOOOM! Stefan ⛄ F. & Michael M., das is die Schlatung die ich gesucht 
hab. Ich wusste ich hab die schon mal gesehn und dass es mit einem 
Transistor pro Kanal geht :)

Wo ist der Unterschied zwischen Michels und Stefans Schaltung ausser 
dass einmal die Transistoren als Emitterfolger einmal als 
Kollektorfolger arbeiten, und dass einmal High und einmal Low geswitcht 
wird?

Wann werden die Basen negativ? Im Abschaltzeitpunkt? oder wegen der 
Schaltung mit dem PNP?

Sollte ich mir Gedanken wegen der Induktionsspannung über den Drosseln 
machen?
Ein gewisse Spannungsüberhöhung ist gewünscht wegen dem Piezo der will 
Volt sehn.

Würde auch ein Mosfet als zentraler Stromschalter gehen? Das wär dann 
optimal.

Gruss Alex
#6820627
Lesenswert?

Bring mal erst einen deiner Piezos zum laufen. Dann kannst Du imernoch 
überlegen, wie es weitergeht. Einen IR2184 und zwei N-Kanal als 
Halbbrücke würde ich hier vorsehen.  Du betreibst dann den Piezo samt 
Spule in Resonanz. Da passiert noch einiges mehr. Da mach erstmal n 
Layout, was am Ende auch funktioniert.
Oder hast Du schon?
Der 2184 hat einen /SD Eingang.
Gast #6820639
Lesenswert?

Angenommen, dein Mikrocontroller liefert 5V Signale und die 
Versorgungsspannung der Lasten ist 20V...

Wenn der untere Transistor aus ist während zugleich der Transistor von 
mindestens einem Channel an ist, dann hast du am Kollektor vom unteren 
Transistor etwa 4,3 Volt.

Für die Channels die aus sind bewirkt das: An der Basis des jeweiligen 
Transistors liegen 0 Volt an, am Emitter 4,3 Volt. Also quasi falsch 
herum gepolt. Ich halte das für unkritisch, selbst wenn die Spannung 
höher wäre.

Wo du eher drauf achten solltest ist die Spannung die sich in den 
Schwingkreisen aus Spule+Piezo aufbaut. Bei der Resonanzfrequenz kann 
das weit mehr als 20V werden und die kann man kaum Sinnvoll mit einer 
(Freilauf-)Diode unterdrücken, weil das Ding dann ja nicht mehr 
schwingt. Die Diode würde den Vorteil der hohen Lautstärke bei Resonanz 
zunichte machen.
Angehängte Dateien:
Gast #6820997
Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn der untere Transistor aus ist während zugleich der Transistor von
> mindestens einem Channel an ist, dann hast du am Kollektor vom unteren
> Transistor etwa 4,3 Volt.

Korrektur:

Wenn der untere Transistor aus ist während zugleich der Transistor von 
mindestens einem Channel angesteuert wird, ....

"an" kann er ja nicht sein, weil sein Emitter in der Luft hängt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren