Die Drehzahl des Motors lässt sich regeln, alles wunderbar.
Jedoch piepst der Motor unter Last, wenn ich einen Drehzahlwert >1 und
<254 angebe.
Ich dachte, das Geräusch kommt vom PWM, deshalb habe ich den Timer 2
hochgesetzt (im Code auskommentiert), da dieser laut Datenblatt für Pin
11 zuständig ist.
Jedoch ändert sich das Geräusch nicht.
Ich vermute, dass ich hier etwas falsch mache.
Sehr ihr hier meinen Fehler?
Danke im Voraus für eure Hilfe.
Schwierig zu sagen. Hast du ein Oszi? Dann schau dir die PWM mal genau
an. Ich meine die Arduino-Funktionen stricken eine rund 400 Hz PWM und
ich vermag nicht zu sagen, ob das durch ein manuelles Verändern des
vermeintlich zugehörigen Timers wirklich geändert werden kann. Ich nutze
bei solchen Fällen immer die Funktionen wie im Datenblatt beschrieben
und meide dafür die Arduino-Funktionen.
Natürlich ist es immer noch möglich, dass du etwas falsch machst aber
ich rate dir restmal die PWM-Frequenz anzuschauen.
Christoph K. schrieb:> Dazu verwende ich folgenden Aufbau, nur nicht mit 9V Batterie, sondern> mit einem 5V-Netzteil
"High Current" wäre mit einer 9V Block Batterie auch gar nicht möglich.
> Jedoch piepst der Motor
Das ist ganz normal, du hörst die PWM Frequenz. Viele Züge von der DB
piepsen auch beim Anfahren.
> Ich dachte, das Geräusch kommt vom PWM, deshalb habe ich den Timer 2> hochgesetzt (im Code auskommentiert), da dieser laut Datenblatt für Pin> 11 zuständig ist.> TCCR1B = TCCR1B & 0b11111000 | 0x01;
Das ist aber ein Register von Timer 1
M. K. schrieb:> ob das durch ein manuelles Verändern des> vermeintlich zugehörigen Timers wirklich geändert werden kann.
Timer0 sollte man wg. delay() und millis() in Ruhe lassen.
Aber die anderen kann man frei manipulieren.
https://docs.arduino.cc/tutorials/generic/secrets-of-arduino-pwmChristoph K. schrieb:> deshalb habe ich den Timer 2> hochgesetzt (im Code auskommentiert), da dieser laut Datenblatt für Pin> 11 zuständig ist.
So ist es richtig!
Zumindest die Idee.
Steve van de Grens schrieb:> Das ist aber ein Register von Timer 1
Das ist allerdings auch war!
Und darum klappts auch nicht.
Christoph K. schrieb:> deshalb habe ich den Timer 2 hochgesetzt
Nutzlos, analogWrite übernagelt das wieder.
Ja, was meinst du, was PWM ist ? Klar pfeift das. Motoren sind aber so
träge, dass auch 50Hz reichen.
Es gibt mehr Programmiermethoden als analogWrite.
H. H. schrieb:> IRFZ44 taugt nicht für Ansteuerung mit nur 5V.
Das auch noch, Freilaufdiode (MBR2045?) fehlt auch, ordentlicher
Stützelko könnte auch nicht schaden.
Typisches Arduino Von Laien für Laien Vorbild.
Thomas K. schrieb:> Wahrscheinlich IRLZ34
Eher nicht wahrscheinlich.
Michael B. schrieb:> Nutzlos, analogWrite übernagelt das wieder.
Nein.
Michael B. schrieb:> Es gibt mehr Programmiermethoden als analogWrite.
Gegen analogWrite() spricht hier nichts.
Außer vielleicht deine Vorurteile/Unwissen.
Michael B. schrieb:> Autsch, 1000 Kurzschlüsse pro Sekunde.
Ja :-)
Aber besser als 1000 Überspannungsableitungen durch den FET
und oft effektiver als eine Freilaufdiode.
A. H. schrieb:> und oft effektiver als eine Freilaufdiode.
Naja...
Die Diode leitet den vollen Strom ab.
Der Ableit- Strom steht damit ebenso voll zur Drehmomentausbildung
bereit.
Das ist effektiv!
Die Kondensatorladung im Schalttransistor zu verbraten ist dagegen eher
.....
Jetzt hat eine Änderung im Skript wenigstens eine Änderung des Geräuschs
zur Folge. In dem Artikel steht, dass die Änderung eine Ausgangfrequenz
von 976.5625Hz zur Folge hat. Ich tue mich allerdings schwer damit, dies
nachzuvollziehen. Ich möchte die PWM-Frequenz gern oberhalb von 20 kHz
haben, damit man sie nicht mehr hört.
Welche Parameter muss ich hierfür wählen? Ich nehme auch gern eine
Doku-Seite und lese mich ein.
Danke im Voraus für die Unterstützung.
PS: Dioden werden noch eingefügt, danke auch hierfür für den Hinweis:)
Christoph K. schrieb:> Ich nehme auch gern eine> Doku-Seite und lese mich ein.
Das Datenblatt deines µC, das ist die exakteste verfügbare Doku!
Es liegt öffentlich aus.
Tipp:
Wenn man einen Timer komplett neu parametrisieren will, macht es Sinn
diesen erst zu stoppen.
Unter Arduino ist das der Fall.
Christoph K. schrieb:> Ich möchte die PWM-Frequenz gern oberhalb von 20 kHz> haben, damit man sie nicht mehr hört.
Das Problem dabei ist, dass bei so hohen Frequenzen die Schaltverluste
erheblich höher sind. Du wirst einen MOSFET Treiber brauchen, der das
Gate mit ein paar hundert mA umlädt, was wiederum eine entsprechend
stabile Stromversorgung erfordert. Womöglich brauchst du sogar einen
anderen Motor.
Steve van de Grens schrieb:> Das Problem dabei ist, dass bei so hohen Frequenzen die Schaltverluste> erheblich höher sind. Du wirst einen MOSFET Treiber brauchen, der das> Gate mit ein paar hundert mA umlädt, was wiederum eine entsprechend> stabile Stromversorgung erfordert. Womöglich brauchst du sogar einen> anderen Motor.
Auch wenn es hier immer wiederholt wird: Das stimmt doch alles nicht!
Aber ein Teufel ist schnell an die Wand gemalt.
Mi N. schrieb:> Das stimmt doch alles nicht!
Der IRLZ44N hat laut Datenblatt eine Gate Ladung von 48nC. Wenn du das
mit 20mA umlädst, hängst du bei jeder Periode 4,8µs lang im Miller
Plateau. Das sind etwa 10% der gesamten Periodendauer. In dieser Zeit
verheizt der Transistor etwa 1/4 der Motorleistung. Dazu kommen noch
Verluste am Innenwiderstand.
Detaillierte Erklärung
http://stefanfrings.de/transistoren/index.html#verluste_gate
Mi N. schrieb:> Steve van de Grens schrieb:>> Das Problem dabei ist, dass bei so hohen Frequenzen die Schaltverluste>> erheblich höher sind. Du wirst einen MOSFET Treiber brauchen, der das>> Gate mit ein paar hundert mA umlädt, was wiederum eine entsprechend>> stabile Stromversorgung erfordert. Womöglich brauchst du sogar einen>> anderen Motor.>> Auch wenn es hier immer wiederholt wird: Das stimmt doch alles nicht!> Aber ein Teufel ist schnell an die Wand gemalt.
Kannst du deine Aussage begründen?
Nils S. schrieb:> Mi N. schrieb:>> Steve van de Grens schrieb:>>> Das Problem dabei ist, dass bei so hohen Frequenzen die Schaltverluste>>> erheblich höher sind. Du wirst einen MOSFET Treiber brauchen, der das>>> Gate mit ein paar hundert mA umlädt, was wiederum eine entsprechend>>> stabile Stromversorgung erfordert. Womöglich brauchst du sogar einen>>> anderen Motor.>>>> Auch wenn es hier immer wiederholt wird: Das stimmt doch alles nicht!>> Aber ein Teufel ist schnell an die Wand gemalt.>> Kannst du deine Aussage begründen?
Er hat alternative Fakten....
Nils S. schrieb:> Kannst du deine Aussage begründen?
FET IRLZ34 mit 33 Ohm Lastwiderstand und vor dem Gate 10 Ohm.
Ansteuerung ATmega328P Pin PB2.
Die 1. Kurve zeigt eine ganze Periode bei 20 kHz mit 20% Tastverhältnis,
die 2. die Spannungen an Gate und an Drain mit höherer Auflösung.
Der Umschaltvorgang ist nach ca. 100 ns erledigt, wobei das 70 ns
Plateau am Gate durch die Millerkapazität entsteht.
Jetzt schreibt hier ein "Vogel", der nicht weiß, ob er nun Steve oder
Stefan heißt, von Umschaltverlusten. Wo sind die denn? Bei induktiver
Last entstehen für den MOSFET keine sonderlichen Verluste.
Der ATmega328-Pin liefert ca. 90 mA Kurzschlussstrom. Das ist aber kein
statischer Gleichstrom, sondern eine kurze Stromspitze, wie sie auch
beim Treiben kapazitiver Leitungen entsteht. Wem das Inkontinenz
bereitet, der kann gerne 100 Ohm in Reihe zum Gate legen, wodurch sich
die Umschaltzeit ein wenig aber nicht dramatisch verlängert.
Da ist noch nicht einmal bekannt, welchen Motor der TO verwendet, schon
wird aufgeworfen, er müsse womöglich einen anderen verwenden. So ein
Blödsinn!
Vermutlich wird der TO bei 5 V Versorgung einen Motor mit kleiner
Leistung einsetzen. Da würde sich ein AO3400 MOSFET anbieten, der auch
einige Ampère niederohmig schalten kann.
Der reale Qg deines IRLZ34 ist erheblich geringer, als der maximale Qg
Wert vom IRLZ44N und IRFZ44N. Das dein Oszilloskop-Bild damit besser
aussieht als ich vorgerechnet habe, überrascht daher nicht.
Ich würde den AVR lieber nicht mit 90 mA belasten, sondern mich an die
im Datenblatt zugesicherten Werte halten.
33 Ohm belasten den Transistor sicher anders, als der unbekannte Motor.
Hallo zusammen,
der 5V-Motor zieht 1,6 A bei 5 V (gemessen bei direktem Anschluss an ein
Labornetzteil, in Reihe mit meinem Multimeter, also ohne MOSFET).
Ich habe nun ein bisschen mit den TCCR2B-Werten rumexperimentiert.
mit dem IRLZ44N habe ich das piepsen nun auch bei Teillast wegbekommen.
Dazu verwende ich folgendes Skript:
Was CS20 nun macht, ist mir nicht klar, jedenfalls zieht der Motor mit
dem Skript nun 0,4 A und weder MOSFET, noch Motor werden heiß.
Das reicht mir jetzt als Laie erstmal, damit kann ich weiterarbeiten :)
Danke und viele Grüße!
Christoph K. schrieb:> der 5V-Motor zieht 1,6 A bei 5 V
Beim Anlaufen und Blockieren also schätzungsweise 10-16 A. Gut dass du
so einen "großen" MOSFET gewählt hast.
Christoph K. schrieb:> TCCR2A = (1 << COM2A1) | (1 << COM2B1) | (1 << WGM21) | (1 << WGM20);
Weshalb wurde "COM2B" gesetzt? Was ist mit evtl.vorab gesetzten Bits?
Werden die gnadenlos überschrieben? Gemauso müsste sich er TO fragen,
was denn WGM21 und WGM20 bedeuten und was das mit der komischen 1 <<
aufsich hat.
Haben denn die Elektroniker gar kein Interesse mehr, Sachen auf den
Grund zu gehen?
Hauptsache, google oder Youtube hat was, was man kopieren kann.
Ich suche ja noch nen Mitstreiter in meiner kleinen
Werkstatt/Kabuff/Labor hier in Teltow, weil mein Tag nur 8Stunden hat
und ich auf 5 Hochzeiten gleichzeitig tanze. Langsam schwant mir jedoch,
was mit "Fachkräftemangel" wirklich gemeint ist. Übrigens: ne gute
Aufgabe für den ersten ProbeTag. Piepsen beseitigen mit Erklärung dazu.
;) Messen des (RMS)-Motorstroms direkt am Motor selbst bei haber
Drehzahl unter Nennlast dann am nächsten Tag. Einmal am Labornetzteil
mit abgesenkter Spannung und einmal mit "analogwrite()" und fest
eingestelltem, vorgewähltem, Pulsverhältnis. Die anderen Tage denk ich
was aus (Mikrofon-Pegel und Klirrfaktormessung bei Nennschalldruck oder
sowas). Wir werden die Woche schon voll bekommen. ;)
H. H. schrieb:> einfach
Auch diesen Hinweis wird ihm ignorieren.
Den Grund kann ich nur raten!
Vermutlich irgendwie sowas:
Frei von Wissen und dauerhaftes stochern um Nebel macht das Leben
spannender.
Axel R. schrieb:> Weshalb wurde "COM2B" gesetzt? Was ist mit evtl.vorab gesetzten Bits?
Auch das erwähnte ich schon am Rande....
Ist wohl auch egal, dem Nebel zugehörig.
Übrigens: Ihm verwendet =
Na Mensch, jetzt habt ihrs mir aber gegeben, bravo.
Ich bin aber kein Elektroniker, sondern wollte einfach nur das piepsen
wegbekommen, mehr nicht.
Wenn ich einen PKW-Führerschein mache, benötige ich auch kein
Maschinenbaustudium- Ich hatte mit einer klaren Beantwortung meiner
Frage gerechnet und nicht mit einem Verweis auf ein 400 seitiges
Datenblatt. Aber da habe ich wohl die falsche Google-Abbiegung genommen
und bitte inständig um Vergebung.
Viel Erfolg noch bei der Nachwuchssuche :)
Christoph K. schrieb:> Wenn ich einen PKW-Führerschein mache, benötige ich auch kein> Maschinenbaustudium-
Niemand hat dich aufgefordert den Mikrocontroller selbst herzustellen.
A. K. schrieb:> nicht mit einem Verweis auf ein 400 seitiges Datenblatt
Das schöne an diesen 400 Seiten ist, dass man sich danach sehr sehr
viele Videos sparen kann.
LG, Sebastian
Sebastian W. schrieb:> A. K. schrieb:>> nicht mit einem Verweis auf ein 400 seitiges Datenblatt>> Das schöne an diesen 400 Seiten ist, dass man sich danach sehr sehr> viele Videos sparen kann.
Und im Datenblatt kann man ganz einfach nach "CS20" suchen.
A. K. schrieb:> Viel Erfolg noch bei der Nachwuchssuche :)
Der "Nachwuchs" muss u.A. als erstes lernen Datenblätter zu lesen und zu
verstehen.
Ein Fenster für die Arbeit, eins für das Datenblatt und das andere für
die Sprachreferenz.
So ist das Leben, als "Nachwuchs", wer das nicht möchte kann kein
"Nachwuchs" sein. Wird nie verstehen was er/sie/es da tut.
Für ewig im Nebel stochern und Programme ohne Sinn und Verstand
schreiben.
Hier wird fast jeder wissen, was CS2 in etwa bedeutet, aber um die
exakte Bedeutung/Wirkung zu erfahren, wird auch wieder fast jeder ins
Datenblatt schauen müssen.
Es gibt einfach zu viele verschiede AVR und Timer um alle Teiler
auswendig zu lernen.
Resultat:
Du möchtest also dass wir für dich ins Datenblatt schauen, weil du zu
doof oder zu faul dafür bist.
Dich beschweren dürfen, wenn du keinen dazu anstiften kannst.
Das alles mit dem Gefühl voll im Recht zu sein.
Eine seltsame Erwartungshaltung.
Steve van de Grens schrieb:> Der reale Qg deines IRLZ34 ist erheblich geringer, als der maximale Qg> Wert vom IRLZ44N und IRFZ44N. Das dein Oszilloskop-Bild damit besser> aussieht als ich vorgerechnet habe, überrascht daher nicht.
Warum gibst Du nicht einfach zu, daß Du Müll geschrieben hast? Einen
neuen Motor willst Du dem TO aufschwätzen, aber einen geeigneten FET
darf er nicht nehmen, wobei der ..44 auch gehen würde.
> Ich würde den AVR lieber nicht mit 90 mA belasten, sondern mich an die> im Datenblatt zugesicherten Werte halten.
Was sind denn im Datenblatt zugesicherte dynamische Belastungen? Für
Deine Inkontinenz hatte ich Dir ja schon einen Rat mitgegeben.
Steve van de Grens schrieb:> Beim Anlaufen und Blockieren also schätzungsweise 10-16 A. Gut dass du> so einen "großen" MOSFET gewählt hast.
Aha, jetzt blockiert der Motor auf einmal. Daß der Anlaufstrom sich mit
PWM sehr schön steuern läßt, ist Dir wohl nicht bekannt.
"Schätzungsweise" ist ja drollig. Warum nicht gleich 100 A?
Solltest Du eine Uhr bauen, bring einen Schalter an, mit der die Zeit
rückwärts laufen kann. Man weiß ja nie!
Mi N. schrieb:> Aha, jetzt blockiert der Motor auf einmal. Daß der Anlaufstrom sich mit> PWM sehr schön steuern läßt, ist Dir wohl nicht bekannt.
Autsch.
Niemand steuert hier.
Der Strom wird eingeschaltet und steigt. Und steigt, Und steigt weiter.
Klar steigt er so lange der Motor noch nicht auf Tempo gekommen ist und
Generatorspannung aufbauen kann bis zum Blockierstrom. Und den muss der
MOSFET aushalten, denn Elektronik ist schnell kaputt und es gibt
niemanden der den Strom misst und bei Überschreitung schnell abschalten
würde.
Du phantasierst dir was zusammen um zwanghaft Recht zu behalten.
Michael B. schrieb:> Und den muss der> MOSFET aushalten, denn Elektronik ist schnell kaputt und es gibt> niemanden der den Strom misst und bei Überschreitung schnell abschalten> würde.
Gab es bei Aldi wieder dieses weisse Pulver bei den Bananen?
Hoffentlich hat der TO auch ein 5 V / 20 A Netzteil, sonst kann das Haus
nicht abbrennen ;-)
Die gezeigte 9 V Blockbatterie könnte unter Umständen zu schwach sein.
Arduino F. schrieb:> Du möchtest also dass wir für dich ins Datenblatt schauen, weil du zu> doof oder zu faul dafür bist.> Dich beschweren dürfen, wenn du keinen dazu anstiften kannst.> Das alles mit dem Gefühl voll im Recht zu sein.> Eine seltsame Erwartungshaltung.
Leider habe ich nicht nur hier den Eindruck, dass dies kein Einzelfall
ist, sondern allgemeiner Stil der aktuell heranwachsenden Generation.
Das wird den Fachkräftemangel nochmal verstärken.
Mi N. schrieb:> Gab es bei Aldi wieder dieses weisse Pulver bei den Bananen?
Nee, aber Intelligenzpillen.
Hast du wieder keine abbekommen, und bleibst bei LED am Logikausgang
ohne Vorwiderstand und Pt1000 an 2.5V und nun PWM Transistoren müssen
nur den mittleren Strom aushalten.
Irgendeiner muss halt zeigen dass Made in Germany ein Warnsignal ist
wegen mangelnden Fachkräften und man besser in China kauft.
Michael B. schrieb:> Und den muss der> MOSFET aushalten, denn Elektronik ist schnell kaputt und es gibt> niemanden der den Strom misst und bei Überschreitung schnell abschalten> würde.
Um die Spinnerei hier für die Mitleser zu entflechten, will ich diese
Aussage mal nachrechnen.
Die Spezialisten hier empfehlen also einen IRLZ44 MOSFET, gehen von
einem Blockierstrom von 15 A aus, der nicht überwacht wird und
unbegrenzt fließen kann und das Netzteil kann entsprechenden Strom auch
liefern.
Der genannte MOSFET ..44 hat einen RDSon von typ. 25 mOhm, was bei
Blockade eine Verlustleitung von 0,025 Ohm * 15^2 A = 5,6 W erzeugt. Der
TO220 Transistor muß folglich passiv gekühlt werden.
Der Spannungsabfall von 0,375 V am FET läßt bei entsprechender
Verkabelung am Motor noch 4,625 V ankommen, was zu einer Verlustleistung
von 69,4 W entspricht und damit rund 93 % der Gesamtverlustleistung.
Selber habe ich bei obigen Messungen einen IRLZ34 verwendet, da ich
keine fiktiven Kurven zeigen wollte.
Da beträgt die Verlustleitung unter den genannten Bedingungen am FET
(RDSon 46 mOhm) 10,35 W, wofür ein passiver Kühlkörper auch noch reicht
und den Transistor nicht überfordert.
Folglich muß der Motor die restlichen 64,65 W in Wärme umsetzen, was
rund 86 % der Gesamtverlustleistung sind.
Jetzt ist die Frage: welches Teil zerlegt sich in diesem Falle? Der
gekühlte FET oder der als Lötkolben verwendbare Motor?
Der TO hat sich nicht geäußert, wird aber für seinen kleinen Motor
vermutlich kein allzu starkes Netzteil verwenden. Vielleicht 5 V / 3 A
oder irgendetwas, was es für 50 Cent in CN gibt und nur 50 % der
versprochenen Leistung bringt. Da kann man sich die Kühlkörper für die
FETs sparen.
Und wie sieht es in der Praxis aus?
Zunächst wird man des NT so dimensionieren, daß es normalen
Anforderungen entspricht. Bei Überstrom durch Blockade wird es
abschalten und neu zu starten versuchen.
Sobald es mehr als Bastellösung sein soll, wird man sicher einen kleinen
Widerstand zur Strommessung einbauen und Überlast damit erkennen können.
Gerne kann man auch Thermoschalter oder selbstrückstellende Sicherungen
verbauen, die bei Überhitzung (Blockade) abschalten.
Und was man auf jeden Fall macht: man löst das Problem, was da ist und
nicht das, was da sein könnte, weil irgendwelche Spinner überall Gefahr.
Verrat und Weltuntergang vermuten.