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.
Hallo zusammen, nachdem in den letzten 2 Monaten viel Tagesgeschäft dazwischen kam, habe ich gestern mal wieder ein wenig bei dem PWM-Frequenzwandler weitergemacht und mir das Datenblatt vom LT1158 nochmals genauer angeschaut. Dort wird nichts explizit von Gatewiderständen erwähnt bzw. nur in Zusammenhang mit Parallelisierung von MOSFETs und wenn diese verwendet werden, muss der jeweilige Feedback-Pin direkt am Gate ohne Widerstand sein. Ich kenne es aber nur so, dass man zum Schutz gegen Oszillation Gatewiderstände vorsieht. Kann ich die bei einem LT1158 direkt weglassen, ohne mir Sorgen machen zu müssen? Laut Datenblatt kann der LM1117 eine maximale empfohlene Eingangsspannung von 15V und 20V als absolutes Maximum. Ich habe deshalb die TVS-Diode (jetzt als unipolarer Typ) auf 15V heruntergesetzt und einen 100R-Schutzwiderstand eingeplant. Noch etwas: Als C3 wird im Datenblatt vom LT1158 ein gepolter Kondensator vorgesehen. Geht auch Vielschicht-Keramik oder habe ich damit Nachteile zu erwarten?
:
Bearbeitet durch User
Ths S. schrieb: > Dort wird nichts explizit von Gatewiderständen erwähnt bzw. Weil man sie nicht braucht, wenn man den IC korrekt verwendet. Die Treiberausgänge sind hochohmig genug. Man muss halt die Gateleitungen kurz halten, ich sag mal max. 50mm. > Ich kenne es aber nur so, dass man zum Schutz gegen Oszillation > Gatewiderstände vorsieht. Kann ich die bei einem LT1158 direkt > weglassen, ohne mir Sorgen machen zu müssen? Ja, wenn du nur einen MOSFET an jedem Gateausgang verwendest. > Laut Datenblatt kann der LM1117 eine maximale empfohlene > Eingangsspannung von 15V und 20V als absolutes Maximum. Ich habe deshalb > die TVS-Diode (jetzt als unipolarer Typ) auf 15V heruntergesetzt und > einen 100R-Schutzwiderstand eingeplant. Wo denn? Außerdem geht der IC bis 36V, im Datenblatt sieht man auf der 1. Seite eine Schaltung mit 24V. > Noch etwas: Als C3 wird im Datenblatt vom LT1158 ein gepolter > Kondensator vorgesehen. Welcher C3 in welchem Schaltplan? Siehe Netiquette. > Geht auch Vielschicht-Keramik oder habe ich > damit Nachteile zu erwarten? Siehe oben.
:
Bearbeitet durch User
Warum muss man da soviel hochkompliziert in Hardware wandeln und hin und her ... ? Über die Funktion "pulseIn" kann man die Impulsbreite bequemst messen (Auflösung um die 4 Mikrosekunden) und dann einfach (ggf. über eine Kennlinien-Funktion/Lookup-Tabelle) einen der Ausgänge des Arduino im PWM-Mode ("analogWrite") auf den gewünschten Wert setzen. Dafür reicht eine Zykluszeit von 25 ... 50Hz im Loop doch locker, oder? Als Treiber z.B. sowas hier, kostet im 2€-Bereich: https://www.amazon.de/JZK-MOS-Modul-MOSFET-Modul-MOSFET-Steuermodul-Feldeffektmodul/dp/B0BTHXS62P https://www.arduino.cc/reference/de/language/functions/advanced-io/pulsein/
Frank E. schrieb: > Warum muss man da soviel hochkompliziert in Hardware wandeln und hin und > her ... ? Wo denn? > Über die Funktion "pulseIn" kann man die Impulsbreite bequemst messen > (Auflösung um die 4 Mikrosekunden) und dann einfach (ggf. über eine > Kennlinien-Funktion/Lookup-Tabelle) einen der Ausgänge des Arduino im > PWM-Mode ("analogWrite") auf den gewünschten Wert setzen. Nö, dazu muss man erstmal "manuell" die richtige PWM-Frequenz von hier 10kHz einstellen. Standart sind so 480Hz. > Als Treiber z.B. sowas hier, kostet im 2€-Bereich: > > https://www.amazon.de/JZK-MOS-Modul-MOSFET-Modul-MOSFET-Steuermodul-Feldeffektmodul/dp/B0BTHXS62P Chinamurks. Ein 08/15 MOSFET und ein Optokoppler?. Der OP will eine 10kHz PWM mit 20A machen!
> Nö, dazu muss man erstmal "manuell" die richtige PWM-Frequenz von hier > 10kHz einstellen. Standart sind so 480Hz. Der TO schrieb, dass sein Eingangssignal 100Hz hat, also durch pulseIN() locker in über 1000 Stufen aufgelöst werden kann. Die Arduino-PWM kann man mit etwas Trickserei auf über 60kHz trimmen, wenn nötig. https://www.hackerspace-ffm.de/wiki/index.php?title=ArduinoVariablePWMFrequenz > Chinamurks. Ein 08/15 MOSFET und ein Optokoppler?. Der OP will eine > 10kHz PWM mit 20A machen! Ja klar, jeder Billigst-Optokoppler schafft 1 MHz ... aber es gibt die Dinger auch ohne. Ausserdem kann man auch zwei davon parallel schalten.
Frank E. schrieb: >> Nö, dazu muss man erstmal "manuell" die richtige PWM-Frequenz von hier >> 10kHz einstellen. Standart sind so 480Hz. > > Der TO schrieb, dass sein Eingangssignal 100Hz hat, also durch pulseIN() > locker in über 1000 Stufen aufgelöst werden kann. Das war gar nicht die Frage. Sondern die Frequenz der PWM am Ausgang des Arduino. > Die Arduino-PWM kann man mit etwas Trickserei auf über 60kHz trimmen, > wenn nötig. Das musst du mir sicher nicht sagen. >> Chinamurks. Ein 08/15 MOSFET und ein Optokoppler?. Der OP will eine >> 10kHz PWM mit 20A machen! > > Ja klar, jeder Billigst-Optokoppler schafft 1 MHz ... Ganz sicher nicht. Und der auf dem Bild auch nicht, denn das ist ein BilligstTyp mit Transistorausgang. > aber es gibt die > Dinger auch ohne. Ausserdem kann man auch zwei davon parallel schalten. Jaja, immer schon weiter sinnlos rumlabern, Laberkopp 2.0!
> Das war gar nicht die Frage. Sondern die Frequenz der PWM am Ausgang des > Arduino. >> Die Arduino-PWM kann man mit etwas Trickserei auf über 60kHz trimmen, >> wenn nötig. > Das musst du mir sicher nicht sagen. Aha.
Frank E. schrieb: >> Das musst du mir sicher nicht sagen. > > Aha. In der Tat. Beitrag "Re: Arduino Mega 11 PWM-Pins mit 1kHz"
Ths S. schrieb: > Ich habe deshalb > die TVS-Diode (jetzt als unipolarer Typ) auf 15V heruntergesetzt und > einen 100R-Schutzwiderstand eingeplant. Das klingt bescheuert, zeige die Schaltung. Falk B. schrieb: >> Laut Datenblatt kann der LM1117 eine maximale empfohlene >> Eingangsspannung von 15V und 20V als absolutes Maximum. > Wo denn? Außerdem geht der IC bis 36V, im Datenblatt sieht man auf der > 1. Seite eine Schaltung mit 24V. Oh, den Quatsch weg editiert. Niemand weiß, welchen Arduino er einsetzt. Die China-Duinos haben meist AZ1117-5 verschiedener Hersteller drauf, die 20V können sollen. Kann aber auch AMS1117-5 sein, der mit max. 15V angegeben ist. Ist eigentlich egal, wie ich bereits im Juli sagte, tut man dem die Verluste nicht an und speist niedriger oder aus einem externen 5V-Regler. In einer Anwendung, wo die Versorgung zwischen 10 und 20V schwankt, habe ich eine China-Schaltreglerplatine der 50ct-Klasse auf 6,7V eingestellt und überlasse nur den Rest dem 1117.
Wie wäre es, ein 10€ 40A 12kHz PWM Teil einzusetzen und nur eine Übertemperaturumschaltung auf 100% mit einem einfachen Temperaturschalter zu machen? Vielleicht reicht das bei passender Einstellung zur Geräuschreduzierung. https://www.ebay.de/itm/403317378075
Frank E. schrieb: > Die Arduino-PWM kann man mit etwas Trickserei auf über 60kHz trimmen, > wenn nötig. Da muss man nicht tricksen. Es reicht den Prescaler auf 1:1 zu setzen. Dann bekommt man bei 16MHz Takt gerade noch 62.5kHz PWM mit 8 Bit hin.
Hallo zusammen, bei mir sieht das jetzt aus wie im Anhang, sowohl Schaltplan als auch Layout. Ich habe jetzt erstmal noch die Gatewiderstände vorgesehen, aber die kann ich auch weglassen. Weiterhin habe ich den PNP für den Open-Collector-PWM-Ausgang vom Quellgerät direkt mit auf die Platine gesetzt, unterhalb des Arduino Nano. Ich habe auch noch einen NTC vorgesehen, mit dem man direkt die Temperatur der Hydraulikflüssigkeit messen kann und eventuell damit dann auch die Lüfterdrehzahl regeln könnte. Ich würde jetzt noch eine sichere Trennung von Kl.30 über ein OR-Gatter, und 2 Transistoren vorsehen, damit nach Ablauf der Nachlaufzeit auch Kl.30 sicher trennt. Als Kühlkörper kommt ein Fischer SK-574-50 zum Einsatz, die meisten Bauteile um den LT1158 herum sitzen darunter.
Ths S. schrieb: > bei mir sieht das jetzt aus wie im Anhang, sowohl Schaltplan als auch > Layout. Da scheint auf dem Weg von Schaltplan zum Layout einiges verloren gegangen zu sein. D1, R2 und diverse andere Bauteile willst du bestimmt noch an die Masse anschließen. Das überlässt man nicht dem Zufall über geflutete Flächen, sondern routet erstmal vernünftig und kann dann immer noch (zusätzlich) fluten. Und wenn du die SMD-Version vom LT1158 nehmen würdest, könntest du deine 2-seitige Platine auch vernünftig routen ohne dich zwischen den Pins durchkämpfen zu müssen ;-)
:
Bearbeitet durch User
Hallo, Habe sowohl die Oberseite als auch die Unterseite als GND-Polygon vorgesehen. Das sollte ja eigentlich sehr geringen Massewiderstand und kleine Impedanz bedeuten, oder? Warum soll ich das dann extra nochmal als Leiterbahn vorsehen? Habe ich bei Nutzung eines GND-Polygons Nachteile?
Ths S. schrieb: > Habe sowohl die Oberseite als auch die Unterseite als GND-Polygon > vorgesehen. Das sollte ja eigentlich sehr geringen Massewiderstand und > kleine Impedanz bedeuten, oder? Warum soll ich das dann extra nochmal > als Leiterbahn vorsehen? Habe ich bei Nutzung eines GND-Polygons > Nachteile? https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts#Vorgehen_bei_der_Layouterstellung Abschnitt Masseflächen
Ths S. schrieb: > Habe ich bei Nutzung eines GND-Polygons Nachteile? Wenn du nur ein Polygon drüber schmeißt, hast du keine Kontrolle drüber, wie der Strom fließt. Gerade bei gepulsten 20A willst du das aus Gründen der EMV nicht dem Zufall überlassen. So etwas wie ein Sternpunkt für Gnd wird dann ebenfalls unkontrollierbar. p.s. Wenn du die SMD-Version vom LT1158 nehmen würdest, könntest du deine 2-seitige Platine auch vernünftig routen ohne dich zwischen den Pins durchkämpfen zu müssen ;-) An einigen Stellen gehst du unnötig eng an THT-Bohrungen vorbei (z.B. unterer Pin C4, unter C7, bei R6). Ob es wirklich eng ist, sieht man allerdings besser, wenn man nur das Cu anzeigt. Und nur weil eine Leiterbahn irgendwo einmal zwischen zwei Pins durch geht, muss sie nicht auf der ganzen Länge so schmal sein. Das erhöht im Prinzip unnötig das Fehlerrisiko bei der Fertigung, auch wenn deine Leiterbahnbreiten für heutige Fertigungstechnik wohl eher unkritisch sind. Parallel zu C1 würden ich für höherfrequente Störungen zumindest noch 100nF hängen. Falls der µC mit 3.3V läuft, wird er die 5V von Q3 am GPIO D3 nicht mögen?
Moin, Rainer W. schrieb: > Wenn du nur ein Polygon drüber schmeißt, hast du keine Kontrolle drüber, > wie der Strom fließt. Ich hatte die Hoffnung, dass ich zumindest auf der Leistungsseite den Stromfluss an der Masse darüber steuern kann, dass die Klemme für die Masse direkt neben der Source vom Low-Side-MOSFET liegt. Da würde ich jetzt vermuten, dass der Strom den kürzesten Weg direkt nimmt, oder entstehen da trotzdem Störungen? Bei einem 25 Jahre alten KFZ-Stromnetz ist das Thema EMV ja ohnehin nicht so tragisch, oder? Rainer W. schrieb: > Wenn du die SMD-Version vom LT1158 nehmen würdest Ich bin nicht so bewandert im SMD-löten, weshalb ich komplett THT machen wollte. Damit erspare ich mir auch die Vias, da die Pads ja durchkontaktiert sind. Notfalls könnte ich wahrscheinlich den LT1158 als einziges SMD-Bauteil vorsehen.. Rainer W. schrieb: > Und nur weil eine Leiterbahn irgendwo einmal zwischen zwei Pins durch > geht, muss sie nicht auf der ganzen Länge so schmal sein. Werde ich abändern. Rainer W. schrieb: > Parallel zu C1 würden ich für höherfrequente Störungen zumindest noch > 100nF hängen. Sehr gute Idee, wird so umgesetzt in der nächsten Rev. Rainer W. schrieb: > Falls der µC mit 3.3V läuft, wird er die 5V von Q3 am GPIO D3 nicht > mögen? Der ATMega 328 auf dem Nano wird meines Wissens nach mit 5V betrieben.
Ths S. schrieb: > Moin, > > Rainer W. schrieb: >> Wenn du nur ein Polygon drüber schmeißt, hast du keine Kontrolle drüber, >> wie der Strom fließt. > > Ich hatte die Hoffnung, dass ich zumindest auf der Leistungsseite den > Stromfluss an der Masse darüber steuern kann, dass die Klemme für die > Masse direkt neben der Source vom Low-Side-MOSFET liegt. Da würde ich > jetzt vermuten, dass der Strom den kürzesten Weg direkt nimmt, oder > entstehen da trotzdem Störungen? Bei einem 25 Jahre alten KFZ-Stromnetz > ist das Thema EMV ja ohnehin nicht so tragisch, oder? Es geht hier vor allem um die EMV deiner Platine! Die kanns sich bei den Strömen schön selber stören, wenn man es falsch macht. > Der ATMega 328 auf dem Nano wird meines Wissens nach mit 5V betrieben. Das ist richtig.
Hallo, Falk B. schrieb: > Die kanns sich bei den > Strömen schön selber stören, wenn man es falsch macht. welche Gegebenheiten, die in Verbindung mit dem GND-Polygon stehen, würden denn dazu beitragen? Könnte ich Abhilfe schaffen, wenn ich zwei Masse-Polygone ziehe (eines für den Leistungskreis - links vom Kühlkörper - und eines für den Steuerkreis - rechts vom Kühlkörper) oder wenn ich das Polygon auf dem Bottom-Layer für das Leistungs-GND nutze und das Polygon auf dem Top-Layer für das Steuer-GND? Ich weiß nicht, wie sinnvoll das ist, wenn die Masse ohnehin auf den Rahmen des Staplers gemeinsam geht, deshalb frage ich. Schönes Wochenende!
Ths S. schrieb: > Falk B. schrieb: >> Die kanns sich bei den >> Strömen schön selber stören, wenn man es falsch macht. > > welche Gegebenheiten, die in Verbindung mit dem GND-Polygon stehen, > würden denn dazu beitragen? Wenn die großen, schnell geschalteten Ströme über Masseleitungen fließen, welche auch für die eher kleinen 5V Steuersignale des Arduinos als Masse benutzt werden, kann das dumm ausgehen. Man sollte bei solchen Schaltungen immer die Stromschleifen im Schaltplan einzeichnen und dann auf das Layxout übertragen. Dann sieht man, ob da Probleme lauern oder eher nicht. Siehe Anhang. > Könnte ich Abhilfe schaffen, wenn ich zwei Masse-Polygone ziehe (eines Für diese Schaltung brauche es kein großen Masseflächen! Wozu? Der Arduino hat seine eignene. > für den Leistungskreis - links vom Kühlkörper - und eines für den > Steuerkreis - rechts vom Kühlkörper) oder wenn ich das Polygon auf dem > Bottom-Layer für das Leistungs-GND nutze und das Polygon auf dem > Top-Layer für das Steuer-GND? Käse. > Ich weiß nicht, wie sinnvoll das ist, wenn die Masse ohnehin auf den > Rahmen des Staplers gemeinsam geht, Darum geht es nicht, sondern wo die kritischen Stromschleifen lang gehen. http://www.lothar-miller.de/s9y/categories/40-Layout-Schaltregler Dein Layout ist soweit erstmal OK. Aber wozu die Klemmen KL.30 und KL.31 mit zwei Anschlüssen? Das sind doch Masse und +12V. Die sollte man nur einmal am Leistungsteil anklemmen.
Hallo, Falk B. schrieb: > Dein Layout ist soweit erstmal OK. heißt das, dass die Sache mit der Masse eher "schöner wohnen" ist? Ich habe es jetzt so gemacht, dass ich den Leistungsteil direkt ohne Polygon layoutet habe, beim Rest aber das Polygon gelassen habe. Falk B. schrieb: > Aber wozu die Klemmen KL.30 und KL.31 > mit zwei Anschlüssen? Kl. 30 hat zwei Anschlüsse (Leistung und Steuerung), weil beide Anschlüsse anders abgesichert sind: - Kl.30 Leistungsteil erhält eine 30A Sicherung - Kl.30 Steuerteil wird mit an die Motorsteuerung des Staplers (5A) gehängt Bei Kl.31 steht folgender Gedanke dahinter: - um nicht unnötig viele Kabelschuhe an Rahmenmasse des Staplers zu führen, wollte ich beispielsweise die Load- (also eigentlich Masse) wieder zurück zur Platine führen und dort einfach direkt auf Masse legen. - beim Steuerteil habe ich die Negativseite des NTC ebenfalls direkt aus Masse gelegt, will es aber dennoch zurückführen, um bei schlechter Masse keinen höheren Widerstand zu simulieren.
Ths S. schrieb: > Hallo, > > Falk B. schrieb: >> Dein Layout ist soweit erstmal OK. > > heißt das, dass die Sache mit der Masse eher "schöner wohnen" ist? NEIN! Du hast es aber, sei es mit Wissen oder Zufall, irgendwie richtig gemacht. > Ich > habe es jetzt so gemacht, dass ich den Leistungsteil direkt ohne Polygon > layoutet habe, beim Rest aber das Polygon gelassen habe. Schon mal richtigt! > Falk B. schrieb: >> Aber wozu die Klemmen KL.30 und KL.31 >> mit zwei Anschlüssen? > > Kl. 30 hat zwei Anschlüsse (Leistung und Steuerung), weil beide > Anschlüsse anders abgesichert sind: > - Kl.30 Leistungsteil erhält eine 30A Sicherung > - Kl.30 Steuerteil wird mit an die Motorsteuerung des Staplers (5A) > gehängt Dann sind es aber zwei VERSCHIEDENE Anschlüsse, die verschiedene Namen haben sollten! > Bei Kl.31 steht folgender Gedanke dahinter: > - um nicht unnötig viele Kabelschuhe an Rahmenmasse des Staplers zu > führen, wollte ich beispielsweise die Load- (also eigentlich Masse) > wieder zurück zur Platine führen und dort einfach direkt auf Masse > legen. > - beim Steuerteil habe ich die Negativseite des NTC ebenfalls direkt aus > Masse gelegt, Dann misst du aber sämliche Spannungabfälle auf deiner Masseverbindung mit, was bei den eher kleinen Signalen nachteilig ist. Kann funktionieren, muss nicht! > will es aber dennoch zurückführen, um bei schlechter Masse > keinen höheren Widerstand zu simulieren. AHA!
Hallo, Falk B. schrieb: > NEIN! Du hast es aber, sei es mit Wissen oder Zufall, irgendwie richtig > gemacht. Klingt ganz gut, da kann ich ja quasi ein bisschen stolz auf mich sein. Falk B. schrieb: > Dann sind es aber zwei VERSCHIEDENE Anschlüsse, die verschiedene Namen > haben sollten! Du hast Recht, das habe ich direkt so umgezeichnet. Falk B. schrieb: > Dann misst du aber sämtliche Spannungabfälle auf deiner Masseverbindung > mit Okay, in dem Fall werde ich die Negativseite der Lüfter einfach auf Rahmenmasse legen. Mir ist eine weitere Frage aufgekommen: Braucht der Arduino Nano den externen 100nF-Kondensator an den Reset-Pins? Laut Web hat er schon einen Kondensator auf der Platine, aber ich bin mir nicht ganz sicher. Anbei noch der aktualisierte Stromlaufplan mit folgenden Änderungen: - Widerstand am LT1158 zum Einstellen des Kurzschluss-Dutycycles entfallen - C an Lastseite 1500µ statt 1000µ - C an Steuerseite 1000µ statt 470µ - weiterer Abblock-C an zweitem V+ des LT1158 - direkte Masseverbindung des Kondensators auf der Lastseite - Abschalteinrichtung für Kl. 30 vorgesehen (Q1, Q2, D2, D3, R2, R3, R4), dafür entfällt die TVS-Diode für Kl.15 Ist das jetzt besser layoutet?
:
Bearbeitet durch User
Falk B. schrieb: > Mal wieder. Lüftersteuerung per PWM, der Volkssport Nr. 1! Schade das das keine Autos sind, dann könnten Lüfter nicht laut genug sein.
Ths S. schrieb: >> Dann misst du aber sämtliche Spannungabfälle auf deiner Masseverbindung >> mit > > Okay, in dem Fall werde ich die Negativseite der Lüfter einfach auf > Rahmenmasse legen. ??? Die Lösung wäre, den NTC differentiell zu messen, dann wird es genauer. > Mir ist eine weitere Frage aufgekommen: Braucht der Arduino Nano den > externen 100nF-Kondensator an den Reset-Pins? Nein. > Anbei noch der aktualisierte Stromlaufplan mit folgenden Änderungen: > - Widerstand am LT1158 zum Einstellen des Kurzschluss-Dutycycles > entfallen Warum? Du hast genügend Platz, den kann man brauchen. > - C an Lastseite 1500µ statt 1000µ Ist nicht entscheidend. > - C an Steuerseite 1000µ statt 470µ Braucht man nicht, zumindest nicht so groß. Was soll der puffern? Für die Versorgung des Arduino reichen 10uF, ggf. auch 0 uF. > - weiterer Abblock-C an zweitem V+ des LT1158 Einer reicht. > - direkte Masseverbindung des Kondensators auf der Lastseite Schon mal gut. > - Abschalteinrichtung für Kl. 30 vorgesehen (Q1, Q2, D2, D3, R2, R3, > R4), Wozu soll das gut sein? > Ist das jetzt besser layoutet? Jain, es war vorher schon ganz gut.
Hallo, G. K. schrieb: > Schade das das keine Autos sind, dann könnten Lüfter nicht laut genug > sein. Ich würde mich sehr über eine fachliche Einschätzung des Layouts freuen, mit Deiner Aussage kann ich nicht viel anfangen. Warum sollten Lüfter im Auto nicht laut genug sein können?
Hallo, Falk B. schrieb: > Die Lösung wäre, den NTC differentiell zu messen, dann wird es genauer. wie mache ich das bei einem Arduino? einfach die Negativseite des NTC an einen anderen Analog-Pin hängen? Den Pull-Up von 5V zum NTC benötige ich dann aber trotzdem, richtig? Falk B. schrieb: > Warum? Du hast genügend Platz, den kann man brauchen. Wenn ich die Application Note richtig gelesen habe, dient der Widerstand der Erhöhung der Ausschaltzeit (für mich irrelevant) und der Einstellung des Duty Cycles bei Kurzschluss (kann ruhig so klein wie möglich sein). Welche Vorteile habe ich durch den Widerstand zu erwarten? Falk B. schrieb: > Braucht man nicht, zumindest nicht so groß. Habe ich Nachteile, wenn ich einen so großen Kondensator verwende? Falk B. schrieb: > Einer reicht. Okay, an welchem Pin? Es gibt ja 2 V+ Pins, deshalb hatte ich die 2 Kondensatoren vorgesehen, so nah wie möglich am jeweiligen Pin. Falk B. schrieb: > Wozu soll das gut sein? Falls mal irgendwas schief geht, zieht mir der Arduino nicht die Batterie leer. der PNP trennt ja quasi die Spannungszufuhr. Ist das falsch? Falk B. schrieb: > Jain, es war vorher schon ganz gut. Also kann ich das bedenkenlos in die Produktion geben? Falk, vielen Dank für Deine bisherige und auch weitere Hilfe (solange Du noch Lust hast, mir weiterzuhelfen). Ich möchte keinesfalls, dass Du meine Fragen als Anzweifelungen ansiehst, ich will lediglich verstehen, was ich da mache/ändere. Schönen Sonntag!
Ths S. schrieb: > Hallo, > > Falk B. schrieb: >> Die Lösung wäre, den NTC differentiell zu messen, dann wird es genauer. > > wie mache ich das bei einem Arduino? einfach die Negativseite des NTC an > einen anderen Analog-Pin hängen? ja > Den Pull-Up von 5V zum NTC benötige ich > dann aber trotzdem, richtig? ja. > Falk B. schrieb: >> Warum? Du hast genügend Platz, den kann man brauchen. > > Wenn ich die Application Note richtig gelesen habe, dient der Widerstand > der Erhöhung der Ausschaltzeit (für mich irrelevant) und der Einstellung > des Duty Cycles bei Kurzschluss (kann ruhig so klein wie möglich sein). > Welche Vorteile habe ich durch den Widerstand zu erwarten? Keine Ahnung. Halt Kurzschlußeinstellung. Wenn man den Platz hat, läßt man den drauf. Weglassen geht immer. > Falk B. schrieb: >> Braucht man nicht, zumindest nicht so groß. > > Habe ich Nachteile, wenn ich einen so großen Kondensator verwende? Nein. > > Falk B. schrieb: >> Einer reicht. > > Okay, an welchem Pin? Es gibt ja 2 V+ Pins, deshalb hatte ich die 2 > Kondensatoren vorgesehen, so nah wie möglich am jeweiligen Pin. Such dir eins aus. Das andere ist ja auch nicht wirklich weit weg. Das ist kein GHz IC, wo jeder mm zählt. >> Wozu soll das gut sein? > > Falls mal irgendwas schief geht, zieht mir der Arduino nicht die > Batterie leer. der PNP trennt ja quasi die Spannungszufuhr. Ist das > falsch? Ich dachte deine Spannungszufuhr für den Arduino ist schon geschaltet. > Falk B. schrieb: >> Jain, es war vorher schon ganz gut. > > Also kann ich das bedenkenlos in die Produktion geben? Ich denke schon.
Hallo, Falk B. schrieb: > Die Lösung wäre, den NTC differentiell zu messen, dann wird es genauer. Wie funktioniert das dann mit dem Stromfluss? Ich habe ja durch den Pull-Up und den NTC einen temperaturabhängigen Spannungsteiler, dessen Spannung am Verbindungspunkt zwischen Pull-Up und NTC mit steigender Temperatur sinkt. Wenn ich den "Fußpunkt" des NTC jetzt aber nicht auf GND lege, sondern auf einen zweiten Analog-Pin, habe ich doch keine Masse mehr und damit kommt kein Stromfluss zu Stande, oder? Wie dimensioniere ich dann den Pull-Up? Brauche ich noch irgend eine andere Verbindung? Falk B. schrieb: > Wenn man den Platz hat, läßt man den drauf. Weglassen geht immer. Okay, wird gemacht. Falk B. schrieb: > Such dir eins aus. Da würde ich dann das nehmen, was näher am Kühlkörper ist, weil der C da direkt durchflossen wird. Falk B. schrieb: > Ich dachte deine Spannungszufuhr für den Arduino ist schon geschaltet. Nein, meine Idee lautet wie folgt: Der Arduino hängt am Dauerplus (Kl.30), damit ein Lüfternachlauf umgesetzt werden kann. Sobald der Lüfter anläuft, möchte ich den Pin D2 aktiv setzen, damit der Arduino auch nach Abschalten der Zündung (also Kl.15) weiter läuft. Nachdem der Lüfter abgeschalten wird, schaltet auch D2 ab und trennt somit Kl. 30 vom Arduino, und zwar solange, bis die Zündung wieder eingeschaltet wird. Gibt es da eine elegantere Ausführung?
Ths S. schrieb: > Falk B. schrieb: >> Die Lösung wäre, den NTC differentiell zu messen, dann wird es genauer. > > Wie funktioniert das dann mit dem Stromfluss? Ich habe ja durch den > Pull-Up und den NTC einen temperaturabhängigen Spannungsteiler, dessen > Spannung am Verbindungspunkt zwischen Pull-Up und NTC mit steigender > Temperatur sinkt. Wenn ich den "Fußpunkt" des NTC jetzt aber nicht auf > GND lege, sondern auf einen zweiten Analog-Pin, habe ich doch keine > Masse mehr und damit kommt kein Stromfluss zu Stande, oder? Ahhh, ich hab mich da vertan! Natürlich muss der NTC an Masse angeschlossen sein! Die hast du ja in deinem Schaltplan, NTC-. Aber es muss eben eine getrennte Masseleitung für den NTC geben. Dann muss man auch nicht differentiell messen, der Spannungsabfall durch den NTC auf der Leitung ist klein genug. Ich war gedanklich woanders. Ich dachte, dein NTC hängt direkt an der Masse vom Motor mit mehreren Metern Kabel dazwischen. > Nein, meine Idee lautet wie folgt: Der Arduino hängt am Dauerplus > (Kl.30), damit ein Lüfternachlauf umgesetzt werden kann. Sobald der > Lüfter anläuft, möchte ich den Pin D2 aktiv setzen, Da fehlt ein Basiswiderstand. > damit der Arduino > auch nach Abschalten der Zündung (also Kl.15) weiter läuft. Nachdem der > Lüfter abgeschalten wird, schaltet auch D2 ab und trennt somit Kl. 30 > vom Arduino, und zwar solange, bis die Zündung wieder eingeschaltet > wird. > Gibt es da eine elegantere Ausführung? Nein, das ist so schon OK und wird so auch oft gemacht.
Hallo, Falk B. schrieb: > Da fehlt ein Basiswiderstand. Den Basiswiderstand benötigt nur Q2, richtig? Kommt der Basiswiderstand dann zwischen Basis und Knotenpunkt D2/D3/R4 oder zwischen Arduino und D3? Oder doch zwischen D3 und Knotenpunkt D2/D3/R4? Rein logisch würde ich jetzt vermuten, dass er direkt an die Basis kommt. Ich würde mal annehmen, 1k wären dafür in Ordnung. Dann würde ich aber auch R2 auf etwa 15k verkleinern. Ist der Ansatz richtig? Die Alternative wäre für Q1 ein P-MOSFET und für Q2 ein N-MOSFET. Wäre diese Lösung sinnvoller?
:
Bearbeitet durch User
Ths S. schrieb: > Den Basiswiderstand benötigt nur Q2, richtig? Nein, bei Q1 fehlt er auch noch. > Kommt der Basiswiderstand dann zwischen Basis und Knotenpunkt D2/D3/R4 > oder zwischen Arduino und D3? Oder doch zwischen D3 und Knotenpunkt > D2/D3/R4? Rein logisch würde ich jetzt vermuten, dass er direkt an die > Basis kommt. Siehe Anhang. > Ich würde mal annehmen, 1k wären dafür in Ordnung. Dann würde ich aber > auch R2 auf etwa 15k verkleinern. Ist nicht nötig. > Die Alternative wäre für Q1 ein P-MOSFET und für Q2 ein N-MOSFET. Wäre > diese Lösung sinnvoller? Nein, nur anders.
Hallo, Falk B. schrieb: > Nein, nur anders. mit MOSFETs könnte ich mir aber sämtliche Basiswiderstände sparen, oder? Als Q2 hätte ich dann einen 2N7000 genutzt, als Q1 kann ja der BC557 bleiben. Dann würde ich aber den Basiswiderstand für Q1 auf 10k festlegen statt 1k, denn der BC557 kann ja nur 5V Ube - oder habe ich da einen Denkfehler? Schönen Wochenstart!
Ths S. schrieb: > Falk B. schrieb: >> Nein, nur anders. > > mit MOSFETs könnte ich mir aber sämtliche Basiswiderstände sparen, oder? Das sind ja auch hunderte, nicht wahr? ;-) Dann brauchst du aber immer noch einen Pull-Down Widerstand am Gate, damit der sicher aus ist, wenn der Arduino aus ist. Und einen Spannungsteiler für deinen 12V Schalteingang von der Zündung. Oder zumindest einen Überspannungsschutz, denn die Störungen vom Bordnetz zerstören die deinen MOSFET sonst. Du gewinnst hier wenig bis nichts. > Als Q2 hätte ich dann einen 2N7000 genutzt, als Q1 kann ja der BC557 > bleiben. Kann man machen. > Dann würde ich aber den Basiswiderstand für Q1 auf 10k festlegen statt > 1k, denn der BC557 kann ja nur 5V Ube Die allermeisten Bipolartransistoren haben ca. 0,7V UBe und das nahezu unabhängig vom Strom. Ob Q1 nun 1k oder 10k Basiswiderstand hat, ist praktisch egal. Nimm 10k und gut.
Hallo, Falk B. schrieb: > Die allermeisten Bipolartransistoren haben ca. 0,7V UBe und das nahezu > unabhängig vom Strom. Nur zum Verständnis für mich: Wenn Q2 durchgeschaltet ist, liegt die Basis von Q1 ohne Basiswiderstand auf etwa 0V - der Emitter von Q1 liegt auf 12V. Damit hätte ich ja unabhängig vom Strom eine Basis-Emitter-Spannung von 12V und die wäre viel zu groß. Mit einem Basiswiderstand an Q1 von 1k und R3 von 1k stellen sich an der Basis etwa 6V ein, somit habe ich eine Basis-Emitter-Spannung von 6V, die immernoch zu hoch ist. Mit einem Basiswiderstand von 10k müsste ich ja quasi 1,2V Basis-Emitter-Spannung haben, richtig? Oder habe ich da einen Denkfehler?
Ths S. schrieb: > Wenn Q2 durchgeschaltet ist, liegt die Basis von Q1 ohne Basiswiderstand > auf etwa 0V - der Emitter von Q1 liegt auf 12V. Damit hätte ich ja > unabhängig vom Strom eine Basis-Emitter-Spannung von 12V und die wäre > viel zu groß. Eben. > Mit einem Basiswiderstand an Q1 von 1k und R3 von 1k stellen sich an der > Basis etwa 6V ein, Nein. Ube von Q1 geht nicht über 0,7V, soviel Strom fließt nicht und wenn doch, dann nicht lange, denn dann verdampft der Transistor ;-) > somit habe ich eine Basis-Emitter-Spannung von 6V, Nein. Die Basis-Emitter Strecke ist praktisch eine Diode und damit stark nichtlinear. Damit kann man NICHT mit einem einfachen Spannungsteiler rechnen! Der Widerstand parallel zur BE an Q1 sieht nie mehr als 0,7V. > die immernoch zu hoch ist. Mit einem Basiswiderstand von 10k müsste ich > ja quasi 1,2V Basis-Emitter-Spannung haben, richtig? Nein ;-) > Oder habe ich da einen Denkfehler? JA!
Hallo, danke für die Erklärung, Falk. Ich habe es jetzt so eingeplant, dass ich den 2N7000 als Q2 nutze, der BC557 bleibt Q1. Ich kann hierbei aber getrost auf den Gate-Widerstand für den 2N7000 als Schwingungsstopper verzichten, oder? Weiterhin ist mir leider aufgefallen, dass der von mir vorgesehene TO-220-Dickschichtwiderstand zur Strommessung erst ab 10mR verfügbar ist, ich brauche aber 5...5,5mR für 20A. Somit bleibt entweder so eine THT-Drahtbrücken-Messwiderstand oder 2 parallelgeschaltete SMD-Strommesswiderstände, weshalb ich mich wegen der Baugröße für SMD entschieden habe. Dazu eine Frage: - muss ich bei den SMD-Shunts irgendwas bezüglich Wärmeabführung (z.B. Vias) beachten? Die Alternative wäre, auf die Strommessung und damit den Kurzschlussschutz gänzlich zu verzichten und 100% auf die vorhandene 30A-Sicherung zu zählen. Das würde im schlimmsten Fall den oberen MOSFET grillen, aber der ist ja andererseits auch schnell gewechselt.. was empfehlt ihr? Besten Dank!
:
Bearbeitet durch User
Ths S. schrieb: > danke für die Erklärung, Falk. Ich habe es jetzt so eingeplant, dass ich > den 2N7000 als Q2 nutze, der BC557 bleibt Q1. > Ich kann hierbei aber getrost auf den Gate-Widerstand für den 2N7000 als > Schwingungsstopper verzichten, oder? Ja. Aber du brauchst einen Pull-Down Widerstand zwischen Gate und GND! OK, den hast du schon, R4. R2 sollte dann auch 10k sein. > - muss ich bei den SMD-Shunts irgendwas bezüglich Wärmeabführung (z.B. > Vias) beachten? Hier nicht. > Die Alternative wäre, auf die Strommessung und damit den > Kurzschlussschutz gänzlich zu verzichten und 100% auf die vorhandene > 30A-Sicherung zu zählen. Das würde im schlimmsten Fall den oberen MOSFET > grillen, aber der ist ja andererseits auch schnell gewechselt.. was > empfehlt ihr? Eine schnelle, elektronische Strombegrenzung ist immer besser als Bauteile wechseln. Bau sie ein.
Hallo, Falk B. schrieb: > Bau sie ein. wird erledigt. Ich werde 2 Stück 2816 SMD-Widerstände zu je 10mR 5W vorsehen. Noch eine Frage: Du hattest vorgeschlagen, eine Z-Diode in die Zuleitung zum Arduino zu basteln, um die Spannung runter zu bringen. Lohnt es sich, diese direkt an die Klemme zu positionieren und dafür die TVS-Diode auf 10V auszulegen oder zwischen TVS und Q2 oder doch lieber zwischen Q2 und dem Arduino?
Ths S. schrieb: > wird erledigt. Ich werde 2 Stück 2816 SMD-Widerstände zu je 10mR 5W > vorsehen. Warum so riesig? P = I^2 * R = 20A^2 * 5mR = 2W Selbst wenn der Pulsstrom durch den Ripple der PWM bei 25A liegt, ändert sich nicht viel. Zwei 2512er Widerstände mit 1W und 10mR reichen. > Noch eine Frage: Du hattest vorgeschlagen, eine Z-Diode in die Zuleitung > zum Arduino zu basteln, um die Spannung runter zu bringen. Lohnt es > sich, diese direkt an die Klemme zu positionieren und dafür die > TVS-Diode auf 10V auszulegen Nein. > oder zwischen TVS und Q2 oder doch lieber > zwischen Q2 und dem Arduino? Mit Q2 hat die gar nichts zu tun. Die kommt zwischen Kollektor Q1 und VIN VIN sollte dann aber nicht kleiner als 7V sein, sonst kann der Spannungsregler nicht mehr sauber arbeiten. Aber bei 12-14V Boardspannung lohnt sich das kaum, denn der Arduino zieht da in Summe um die 30-40mA, macht max. 360mW Verlustleistung im Spannungsregler.
Hallo, Falk B. schrieb: > Warum so riesig? ich habe mal irgendwo gelernt, dass man Widerstände mind. auf die 2-fache Leistung, besser auf 5-10-fache Leistung auslegt, um die thermisch nicht zu überlasten. Ist das falsch? Falk B. schrieb: > Mit Q2 hat die gar nichts zu tun. Mein Fehler, ich meinte natürlich Q1. Falk B. schrieb: > Aber bei 12-14V Boardspannung lohnt sich das kaum Ich hätte eine 3,3V oder 4,7V Z-Diode genommen, da ich Angst hatte, dass durch die zusätzliche Versorgung des NTC und der PNP-Stufe der Strom noch steigt. Weiterhin habe ich statt dem IRFZ44 einen IRLB8748 vorgesehen, der einen viel kleineren Rds(on) hat und damit deutlich weniger Verlustleistung. Mit dem IRFZ44 läge die bei 20A und 100% Duty Cycle bei 11,2W - beim IRLB8748 sind es unter 2W.
Ths S. schrieb: >> Warum so riesig? > > ich habe mal irgendwo gelernt, dass man Widerstände mind. auf die > 2-fache Leistung, besser auf 5-10-fache Leistung auslegt, um die > thermisch nicht zu überlasten. Ist das falsch? Das ist es. Ein 1W Widerstand kann dauerhaft mit 1W belastet werden. Zumal es hier nicht aus Genauigkeit angkommt. Bei sehr genauen Meßwiderständen sieht es anders aus. > Ich hätte eine 3,3V oder 4,7V Z-Diode genommen, da ich Angst hatte, dass > durch die zusätzliche Versorgung des NTC und der PNP-Stufe der Strom > noch steigt. Ohje, "Angst" . . . > Weiterhin habe ich statt dem IRFZ44 einen IRLB8748 vorgesehen, der einen > viel kleineren Rds(on) hat und damit deutlich weniger Verlustleistung. > Mit dem IRFZ44 läge die bei 20A und 100% Duty Cycle bei 11,2W - beim > IRLB8748 sind es unter 2W. Na dann los.
Hallo zusammen, es hat sich vergangene Woche etwas getan: Ich habe ein wasserdichtes Alu-Gehäuse für die Platine gefunden, welches auch als Kühlkörper dienen kann. Damit würde ich mir den Kühlkörper sparen. Von dort aus möchte ich mit wasserdichten Kabeldurchführungsmuffen 2 Kabel einziehen: Steuer- & Leistungsseite. Weiterhin habe ich mich ein wenig in die Thematik Arduino/AVR eingelesen und festgestellt, dass eine normale C-Programmierung eines AVR gar nicht so viel komplizierter als die eines Arduino ist. Lernen müsste ich ohnehin beides. Ich möchte deshalb einen ATTiny824 mit Minimalbeschaltung nutzen, also mit internem Oszillator und vorgelagertem LDO. Einen UDPI-Programmierer brauche ich dann noch, aber die sind überraschend preiswert. Dazu möchte ich keine getrennten Kl.30 Versorgungen mehr vorsehen, sondern den LDO direkt vom Punkt C4 aus speisen. Reicht zur Störentkopplung in dem Fall eine 1mH Drossel mit 100µ Kondensator? Von der Grenzfrequenz her ja eigentlich locker, aber reicht das auch in der Praxis?
Ths S. schrieb: > Weiterhin habe ich mich ein wenig in die Thematik Arduino/AVR eingelesen > und festgestellt, dass eine normale C-Programmierung eines AVR gar nicht > so viel komplizierter als die eines Arduino ist. Lernen müsste ich > ohnehin beides. Tut zu deinem jetzigen Projekt zwar nichts zur Sache aber die C-Programmieren für einen STM32 oder ESP32 oder what ever ist im Grunde auch nichts anderes.
Der ATtiny824 hat ja ja einen TCA und 2 TCB. Den TCA würde ich für den PWM-Ausgang nutzen und einen der beiden TCB würde ich als PWM-Eingang nutzen. Liege ich damit richtig, dass das funktioniert?
Ths S. schrieb: > Liege ich damit richtig, dass das funktioniert? Ja. PWM kann praktisch jeder Zähler im AVR generieren und Pulsbreiten mit Input Capture können die "besseren" Zähler auch. Die neuen AVRs wie der ATtiny824 sowieso.
Ths S. schrieb: > Anbei das aktuelle Schaltbild. Habt ihr Vorschläge? Ja. Versuch nicht die perfekte Lösung, fang an. Dein Attiny824 ist nett, aber eher zu kompliziert. Ich hab versuch, mal schnell durch die Konfiguration der Input Capture Funktion durchzusteigen, das wird eher aufwändig. Ich hätte, wie schon lange vorgeschlagen, längst einen deutlich einfacheren ATtiny13 oder Attiny24 genommen. Beitrag "Re: PWM-Frequenzwandlung mit Arduino?" Für 200Hz PWM reicht das. Man kann die Software auch noch etwas einfacher machen, indem man das PWM am Eingang per Inverter puffert und per RC-Filter in Gleichspannung wandelt. Die kann man per ADC einlesen und 1:1 zur Steuerung der Ausgangs-PWM nutzen. Einfacher geht es nicht. Die Schaltung um Q3 ist auch eher überflüssig, ein einfacher 10k Pull-Up Widerstand nach +5V reicht, denn der Ausgang der vorgelagerten Steuerung ist ein Open Kollektor.
Hallo, Falk B. schrieb: > Ich hätte, wie schon lange vorgeschlagen, längst einen > deutlich einfacheren ATtiny13 oder Attiny24 genommen. ich habe davon wirklich keine Ahnung und möchte das als mein Einstiegsprojekt in die Programmierung ausführen, deshalb die Frage - was macht den ATtiny13/24 einfacher als den 824? Gibt es da so große Unterschiede? Die ATtiny13/24 haben ja noch ISP statt UDPI. Gerade beim 13 habe ich ja quasi jeden Pin irgendwie als Doppelnutzung für ISP - muss ich da schaltungstechnisch was beachten? Falk B. schrieb: > Man kann die Software auch noch etwas > einfacher machen, indem man das PWM am Eingang per Inverter puffert und > per RC-Filter in Gleichspannung wandelt. Wie meinst Du das? Kannst Du mir das mal grob aufzeichnen, bitte? Wie lege ich die RC-Kombination aus? Welche Zeitkonstante muss ich da annehmen? Alternativ könnte der ATtiny13/24 aber schon trotzdem PWM als Eingangssignal auswerten, oder? Falk B. schrieb: > ein einfacher 10k Pull-Up > Widerstand nach +5V reicht Naja - das würde ja zu einer Invertierung des PWM-Signals führen. Deshalb habe ich die PNP-Stufe vorgesehen. Wenn die Invertierung aber für den ATtiny egal ist, dann brauche ich das nicht.
:
Bearbeitet durch User
Ths S. schrieb: > Falk B. schrieb: >> Ich hätte, wie schon lange vorgeschlagen, längst einen >> deutlich einfacheren ATtiny13 oder Attiny24 genommen. > > ich habe davon wirklich keine Ahnung und möchte das als mein > Einstiegsprojekt in die Programmierung ausführen, deshalb die Frage - > was macht den ATtiny13/24 einfacher als den 824? Die einfacheren Module, hier die Timer. > Gibt es da so große > Unterschiede? Naja, teilweise schon. > Die ATtiny13/24 haben ja noch ISP statt UDPI. Gerade beim 13 habe ich ja > quasi jeden Pin irgendwie als Doppelnutzung für ISP - muss ich da > schaltungstechnisch was beachten? Man muss es richtig machen. ;-) >> Man kann die Software auch noch etwas >> einfacher machen, indem man das PWM am Eingang per Inverter puffert und >> per RC-Filter in Gleichspannung wandelt. > > Wie meinst Du das? Kannst Du mir das mal grob aufzeichnen, bitte? Wie > lege ich die RC-Kombination aus? Welche Zeitkonstante muss ich da > annehmen? So, daß der verbleibende Wechselanteil klein genug ist. > Alternativ könnte der ATtiny13/24 aber schon trotzdem PWM als > Eingangssignal auswerten, oder? Ja. > Falk B. schrieb: >> ein einfacher 10k Pull-Up >> Widerstand nach +5V reicht > > Naja - das würde ja zu einer Invertierung des PWM-Signals führen. Ja. > Deshalb habe ich die PNP-Stufe vorgesehen. Wenn die Invertierung aber > für den ATtiny egal ist, dann brauche ich das nicht. Eben! Siehe Anhang, mit Attiny13. Der Jumper trennt das PWM-OUT Signal von der Endstufe, wenn der AVR programmiert wird. Man braucht einen zusätzlichen Inverter, aber die 20 Cent hast du hoffentlich noch im Projektbudget ;-)
:
Bearbeitet durch User
Hallo, Falk B. schrieb: > So, daß der verbleibende Wechselanteil klein genug ist. Ah okay, das sieht gut aus. Die Zeitkonstante liegt da bei 0,22s - das ist mehr als ausreichend. Das PWM von der Steuerung ändert sich ja jetzt auch nicht sekündlich um 50% oder sowas, sondern das ist recht träge. Wenn ich das PWM direkt einlesen möchte (würde ich als Alternative zum probieren und lernen vorsehen), kann ich dann trotzdem einfach auf Pin 3 gehen? Falk B. schrieb: > Man braucht einen zusätzlichen Inverter Der Inverter macht ja aber eigentlich nichts anderes als die PNP-Stufe, oder? Der PNP invertiert ja auch nur. Oder ist da die Ausgangsimpedanz zu hoch?
Ths S. schrieb: > Wenn ich das PWM direkt einlesen möchte (würde ich als Alternative zum > probieren und lernen vorsehen), kann ich dann trotzdem einfach auf Pin 3 > gehen? Ja, kann man. Pin Change Interrupt ist das Stichwort. Ist dann etwas mehr Aufwand in der Software. >> Man braucht einen zusätzlichen Inverter > > Der Inverter macht ja aber eigentlich nichts anderes als die PNP-Stufe, > oder? Der PNP invertiert ja auch nur. Oder ist da die Ausgangsimpedanz > zu hoch? Der Inverter hat den Vorteil, ein symmetrisches CMOS-Signal zu liefern, das bei HIGH und LOW den gleichen, niedrigen Ausgangswiderstand hat. Der Inverter mittels PNP ist da schlechter, wenn gleich für die Anwendung hier immer noch gut genug. Wenn du das PWM-Signal digital einlesen willst, brauchst du ihn nicht, siehe oben. Wenn du es analog einlesen willst, sollte R8 auf 470 Ohm gesenkt werden.
Hallo, Falk B. schrieb: > Pin Change Interrupt ist das Stichwort muss ich diesen Interrupt nur nutzen, wenn ich bei Pin 3 das PWM-Signal einlese? Gibt es einen dedizierten PWM-Eingangspin? Würde ich das Problem bei einem ATtiny24 umgehen? Falk B. schrieb: > Wenn du das PWM-Signal digital einlesen > willst, brauchst du ihn nicht Ich denke, im Sinne einer minimalen Hardwareschaltung wäre es sinnvoller, direkt das PWM einzulesen, das spart mir einige Bauteile. Ich zeichne das mal schnell zusammen
Ths S. schrieb: > Hallo, > > Falk B. schrieb: >> Pin Change Interrupt ist das Stichwort > > muss ich diesen Interrupt nur nutzen, wenn ich bei Pin 3 das PWM-Signal > einlese? Ja. > Gibt es einen dedizierten PWM-Eingangspin? Nicht direkt. > Würde ich das Problem bei einem ATtiny24 umgehen? Nur teilweise. Mit dem ATtiny24 geht es einfacher, weil der 2 Zähler hat. Timer 0 (8 Bit, generiert PWM am Asgang) und Timer 1 (16 Bit, misst die PWM am Eingang) > Falk B. schrieb: >> Wenn du das PWM-Signal digital einlesen >> willst, brauchst du ihn nicht > > Ich denke, im Sinne einer minimalen Hardwareschaltung wäre es > sinnvoller, direkt das PWM einzulesen, das spart mir einige Bauteile. > Ich zeichne das mal schnell zusammen Menschenkinder, was zum Geier soll der Scheiß? ES REICHT! Du eierst wochenlang rum wegen so einer Trivialität! Ob du 5 Bauteile mehr oder weniger benutzt ist bei einem EINZELTÜCK SCHEIßEGAL! DU braucht keine perfekte Lösung, sondern nur eine die robust ist und einfach aufzubauen!
Falk B. schrieb: > Mit dem ATtiny24 geht es einfacher Dann würde ich den nehmen. Ich nehme zum Einlesen quasi Pin 10 (PA3, T0) und zum Ausgeben des PWM Pin 9 (PA4, T1)? Falk B. schrieb: > Menschenkinder, was zum Geier soll der Scheiß? Nichts für Ungut, tut mir leid. Ich werde das jetzt einfach so machen. Danke für Deine Hilfe!
Ths S. schrieb: >> Mit dem ATtiny24 geht es einfacher > > Dann würde ich den nehmen. Ich nehme zum Einlesen quasi Pin 10 (PA3, T0) > und zum Ausgeben des PWM Pin 9 (PA4, T1)? Nein. PWM-Eingang: PA7 (ICP, Input Capture, Timer 1) PWM-Ausgang: PB2 (OC0A, Output Compare, Timer 0, Kanal A) Beitrag "Re: PWM Signal ( 5V, Pulslänge 1-2ms) für Servomotor in 0-10v umsetzen" Für deine Anwendung reicht der interne RC-Oszillator, ein externer Quarz wird nicht benötigt.
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.