Hallo zusammen, in einem Bestandskühlsystem ist ein Lüfter verbaut, welcher im Moment mittels Koppelrelais 0/1 gesteuert wird. Zur Senkung der Lautstärke soll zukünftig eine PWM-Ansteuerung eingesetzt werden, hierfür benötige ich eine PWM-Endstufe. Der Lüfter soll lt. Hersteller mit einer Frequenz von 10kHz angetaktet werden und hat eine Nennstromaufnahme von 20A bei 12V. Mir steht bereits ein PWM-Signal zur Verfügung, welches folgende Eigenschaften hat: - Open-Collector-Ausgang -> Ausgabe des Signals über Kollektorwiderstand oder PNP - unter Verwendung eines Kollektorwiderstandes/PNP: High-Pegel 12V - Frequenz: 10-250Hz einstellbar - Tastverhältnis 0-100% temperaturabhängig Ich möchte nun unter Verwendung eines Arduinos (welcher, ist mir nicht ganz klar, aber im Moment bevorzugt Arduino Nano) die 100Hz-PWM einlesen, auf 10kHz bringen und an einen N-MOSFET ausgeben, der dann die Antaktung des Lüfters übernimmt, ausgeben. Ich habe leider von Arduino nicht so wirklich Ahnung, sehe das aber als ideales Einstiegsprojekt. Mir steht für das komplette Modul eine Versorgungsspannung von 12V zur Verfügung, ich würde deshalb einen 7805 vorsehen, der den Arduino speist. Am PWM-Ausgang des Arduino dann noch ein Gate-Treiber und dahinter dann den N-MOSFET mit Schottkydiode. Eine hardwareseitige Schutzbeschaltung gegen Überspannung ist nicht vorgesehen. Die Schaltung soll so einfach wie möglich sein. Meine Fragen dazu: - wie löst man am besten die Frequenzvervielfachung softwareseitig? - wie schützt man den Arduino zukünftig softwareseitig vor unbefugter Umprogrammierung? - taugt der Logik-Level-MOSFET Typ IRLB8748PBF als Endstufe? Beste Grüße!
Ths S. schrieb: > - wie löst man am besten die Frequenzvervielfachung softwareseitig? Man mißt die 100Hz PWM über den Capture Input und gibt die PWM über einen weiteren Timer aus.
Ths S. schrieb: > - wie löst man am besten die Frequenzvervielfachung softwareseitig? Mit Timer Impulslänge des Eingangs messen -> umrechnen -> Wert in Timer für Ausgangs PWM setzen
Ths S. schrieb: > in einem Bestandskühlsystem ist ein Lüfter verbaut, welcher im Moment > mittels Koppelrelais 0/1 gesteuert wird. > Zur Senkung der Lautstärke soll zukünftig eine PWM-Ansteuerung > eingesetzt werden, hierfür benötige ich eine PWM-Endstufe. Mal wieder. Lüftersteuerung per PWM, der Volkssport Nr. 1! > Der Lüfter soll lt. Hersteller mit einer Frequenz von 10kHz angetaktet > werden und hat eine Nennstromaufnahme von 20A bei 12V. Ganz schön viel. > Mir steht bereits ein PWM-Signal zur Verfügung, welches folgende > Eigenschaften hat: > - Open-Collector-Ausgang -> Ausgabe des Signals über Kollektorwiderstand > oder PNP > - unter Verwendung eines Kollektorwiderstandes/PNP: High-Pegel 12V > - Frequenz: 10-250Hz einstellbar > - Tastverhältnis 0-100% temperaturabhängig > > Ich möchte nun unter Verwendung eines Arduinos (welcher, ist mir nicht > ganz klar, aber im Moment bevorzugt Arduino Nano) die 100Hz-PWM > einlesen, auf 10kHz bringen und an einen N-MOSFET ausgeben, der dann die > Antaktung des Lüfters übernimmt, ausgeben. Kann man machen. > Ich habe leider von Arduino nicht so wirklich Ahnung, sehe das aber als > ideales Einstiegsprojekt. > Mir steht für das komplette Modul eine Versorgungsspannung von 12V zur > Verfügung, ich würde deshalb einen 7805 vorsehen, der den Arduino > speist. Den kann man direkt mit 12V speisen, der hat einen Spannungsregler an Bord (Eingang VIN). > Am PWM-Ausgang des Arduino dann noch ein Gate-Treiber und > dahinter dann den N-MOSFET mit Schottkydiode. So sieht's aus. > - wie löst man am besten die Frequenzvervielfachung softwareseitig? Man stellt einen freien Timer auf 10kHz ein. Fertig. > - wie schützt man den Arduino zukünftig softwareseitig vor unbefugter > Umprogrammierung? Wozu? Ist dein Projekt so geheim und kritisch? > - taugt der Logik-Level-MOSFET Typ IRLB8748PBF als Endstufe? Ist OK.
Beitrag "Re: PWM Signal ( 5V, Pulslänge 1-2ms) für Servomotor in 0-10v umsetzen" Hier gibt es ein Beispiel.
Ths S. schrieb: > Versorgungsspannung von 12V zur Verfügung, ich würde deshalb einen 7805 > vorsehen Wenn deine Versorgungsspannung ein KFZ Bordnetz ist, überlebt der nicht lange. https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23 Es gibt dafur übrigens feine Lüfter mit eingebauter PWM. Ths S. schrieb: > und hat eine Nennstromaufnahme von 20A bei 12V. Wenn der MOSFET direkt die 12V des Lüfters takten soll, reicht nicht die Nennstromaufnahme sondern man muss den Anlaufstrom=Blockierstrom=12V/Innenwiderstand zu Grunde legen, leicht 200A. Dafür verwendet man zwischen Arduino und MOSFET besser einer Gate-Treiber damit das Umschalten schneller erfolgt. Die Freilaufdiode muss auch die 20A aushalten. Eine aktive Freilaufschaltung, also 2 MOSFETs in Halbbrücke, verringert die Verlustleistung. Dafur gibt es fertige Halbbrückentreiber wie IR2184. Klügere Leute verwenden überstromgeschützte Treiber wie LT1158 und brauchen dann keine 200A MOSFETs.
Moin, Michael B. schrieb: > Wenn deine Versorgungsspannung ein KFZ Bordnetz ist, überlebt der nicht > lange. es handelt sich um die Hydraulikkühleinheit eines Gabelstaplers. der ist teilweise in der Nachtschicht außen zu laut, weshalb über die Verwendung einer PWM-Steuerung nachgedacht wird. Michael B. schrieb: > Es gibt dafur übrigens feine Lüfter mit eingebauter PWM. Die gibt es, aber die verwendeten Lüfter sollen weiter in Gebrauch bleiben. Ich werde Anfang kommender Woche mal einen Stromlaufplan zusammenbasteln und dann hier posten, die Verwendung eines LT1158 sieht interessant aus.
hier noch was zur Programmierung des Arduino zum Lesen des Eingangsignals Alexander schrieb: > Mit einer Summe pulseIn(Pin, HIGH) + pulseIn(Pin, LOW) bekommst Du die > Frequenz und damit kannst Du Duty cycle = pulseIn ÷ Summe berechnen.
Frank O. schrieb: > Schau Dir mal den Arduino Mega 2560 an. Der hat mehr Timer. Wozu? Der Nano mit dem 328 reicht. Das ist sogar praktisch nachgewiesen, mit den noch kleineren ATtiny24. Beitrag "Re: PWM Signal ( 5V, Pulslänge 1-2ms) für Servomotor in 0-10v umsetzen" Es reicht sogar ein ATtiny13. Denn dieser Wandler muss keine große Geschwindigkeit erreichen, einfach die Eingangs-PWM mit RC-Filter in Gleichspannung wandlen, mit ADC einlesen und einen PWM-Ausgang ansteuern. Fertig.
Könnte man so machen wenn man die Arduino IDE/Libraries nicht nutzen wöllte. Sonst wäre pulseIn() einfacher. Die ATtiny hätten wohl auch Fuses / Lockbits Funktionalität, was wohl mangels Pins auch mal unbeabsichtigt passiert. Wer sich damit auskennt. https://forum.arduino.cc/t/understanding-lock-bits-fuse-bits-and-code-security/979657
:
Bearbeitet durch User
Hallo zusammen, ich bin heute mal dazu gekommen, einen ersten Schaltplanentwurf fertigzustellen, siehe Anhang. - RSense wurde für 30A dimensioniert - Supressordioden für 15/18V wurden eingeplant - Kl. 15 als Erkennung "Gabelstapler an" eingeführt, damit habe ich vor, das Ganze bei abgeschaltetem Stapler nachzukühlen Schaut gerne mal drüber und lasst eure Kommentare da. Wenn das von eurer Seite aus da Go bekommt, würde ich layouten.
Ths S. schrieb: > - RSense wurde für 30A dimensioniert Das wären 900 Quadrat-Ampere mal 5e-3Ω. Also 4.5W. Kann er das ab?
Die Leistung über Rsense ist noch mein Problem. Habe DPAK-Dickschichtwiderstände gefunden, die gibt es aber nur ab 10m, werden also 2 parallel. Alternativ wäre frei gewickelter Widerstandsdraht THT frei fliegend. Alternative wäre den Strom auf den Nennstrom von 20A zu begrenzen, aber ob das Anlaufverhalten dann noch befriedigend ist..
Ths S. schrieb: > Schaut gerne mal drüber Arduino nano an bis zu 18 V ? Das wird der nicht überleben.
Ths S. schrieb: > Die Leistung über Rsense ist noch mein Problem. Habe > DPAK-Dickschichtwiderstände gefunden, die gibt es aber nur ab 10m, > werden also 2 parallel. Naja. > Alternativ wäre frei gewickelter Widerstandsdraht THT frei fliegend. Kann funktionieren oder auch nicht. Wenn der zuviel Induktivität hat, geht's schief. > Alternative wäre den Strom auf den Nennstrom von 20A zu begrenzen, aber > ob das Anlaufverhalten dann noch befriedigend ist.. Man kann die Strombegrenzung im Treiber auch weglassen und einen einfachen Halbbrückentreiber nehmen. Wenn man die PWM langsam hochfährt, gibt es auch keinen großen Anlaufstrom. Klar, gegen Blockieren und andere Defekte ist man dann nicht geschützt, bestenfalls mit einem schnellen Sicherungsautomaten. Wichtig ist vor allem der Aufbau und die Leitungsfühung. Sternförmige Masse an C6. Um den Spannungsregler vom Arduino ein wenig zu entlasten, könnte man noch eine 6,8V, 1,3W Z-Diode in Reihe zu Vin schalten. Es fehlt noch ein 10k Pull-Down Widerstand an U1/Pin 6, damit der sicher auf LOW liegt, wenn dein Arduino programmiert wird.
Michael B. schrieb: > Arduino nano an bis zu 18 V ? > Das wird der nicht überleben. Arduino ist doch 5 V da brauchst Du noch einen Spannungsregler dazwischen. https://www.pollin.de/p/spannungsregler-tle4271-170150 Ths S. schrieb: > - Supressordioden für 15/18V wurden eingeplant fehlt da nicht noch eine Sicherung, oder sollen die geopfert werden?
:
Bearbeitet durch User
Alexander schrieb: > Michael B. schrieb: >> Arduino nano an bis zu 18 V ? >> Das wird der nicht überleben. > > Arduino ist doch 5 V da brauchst Du noch einen Spannungsregler > dazwischen Der Arduino HAT einen Spannungsregler, aber meist nur LD1117 bis 12V.
Guten Abend, Falk B. schrieb: > Um den Spannungsregler vom Arduino ein wenig zu entlasten, könnte man > noch eine 6,8V, 1,3W Z-Diode in Reihe zu Vin schalten. Super Idee, werde ich direkt so einplanen. Falk B. schrieb: > Es fehlt noch ein 10k Pull-Down Widerstand an U1/Pin 6, damit der sicher > auf LOW liegt, wenn dein Arduino programmiert wird. Werde ich genau so machen. Für den PWM-Eingang muss ich das nicht machen, richtig? Alexander schrieb: > fehlt da nicht noch eine Sicherung, oder sollen die geopfert werden? Ich habe mal irgendwo hier im Forum gelesen, dass Supressordioden nicht direkt beim 1. Auslösen beschädigt werden. Ich kann aber sicherlich noch 2 5x20mm Feinsicherungen unterbringen, alternativ irgendwelche selbstrückstellenden. Danke Euch!
So genau kann ich Dir das nicht sagen, bei mir ist noch nie der Überspannungsfall eingetreten. Bei Varistoren leuchtet es mir ein, die verringern ihren Widerstand und werden einfach selbst zum Verbraucher und verheizen die Energie. TVS Dioden werden leitend, d.h die schließen doch nur die Spannungsquelle kurz? Da muss irgendwas durchbrennen, mangels Widerstand geht ja der Strom hoch. Ob die Feinsicherung schnell genug ist? Lothar M. schrieb: > vor deine TVS-Diode T3 muss eine Sicherung, die im Fehlerfall auslöst, > noch bevor die Siliziumschmelze in der TVS-Diode beginnt
:
Bearbeitet durch User
Michael B. schrieb: >> Arduino ist doch 5 V da brauchst Du noch einen Spannungsregler >> dazwischen > Der Arduino HAT einen Spannungsregler, aber meist nur LD1117 bis 12V. .. und man weiß nicht genau, wieviel Verlustleistung man zuverlässig weg bekommt. Ths S. schrieb: > Falk B. schrieb: >> Um den Spannungsregler vom Arduino ein wenig zu entlasten, könnte man >> noch eine 6,8V, 1,3W Z-Diode in Reihe zu Vin schalten. > Super Idee, werde ich direkt so einplanen. Ich würde einen Spannungsregler verwenden, LM7808 oder 09 oder 10 oder einen 7805 mit LED im Fußpunkt - was ich gerade da habe. Der xx1117-5 auf den Nanos regelt bis etwa 6,5V herunter sauber.
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.