Hallo liebes Forum, für ein Feedersystem (https://drive.google.com/drive/folders/1q721TQeEy406_zBWGDlK-xd7IbwApYnK?usp=sharing) benötige ich eine Steuerung. Meine derzeite Steuerung funktiert relativ einfach: Ein Arduino erzeugt ein PWM Signal (60-120Hz). Mit diesem gehe ich in einen Transistor der mir dann ein MOSFET-Modul (https://amzn.to/3q1PTAT) ansteuert. Der MOSFET hängt an meinem Labornetzteil und steuert den E-Magnet. Das funktioniert soweit auch recht gut. Leider ist aber die Bewegung des Feeders recht ruppig da der MOSFET einfach nur Aus-Einschlatet. Ich hätte gerne eine saubere Sinusspannung am E-Magnet. Nun habe ich mir ein solches Gerät besorgt: (https://amzn.to/43AaidZ). Ich dachte wenn ich damit den MOSFET betreibe bekomme ich einen Sinus am Ausgang. Hat leider nicht wirklich funktioniert. Es gibt auch fertige Steuerungen zu kaufen: (https://www-autodev-com.translate.goog/vibratory-feeder-amplitude-controllers?_x_tr_sl=auto&_x_tr_tl=de&_x_tr_hl=de). Ich frage mich was diese anders machen. Vielleicht kann mir hierzu jemand weiterhelfen bzw. vielleicht kennt jemand solche System und deren Steuerung. Vielen Dank.
Franz H. schrieb: > Hallo liebes Forum, > für ein Feedersystem > (https://drive.google.com/drive/folders/1q721TQeEy406_zBWGDlK-xd7IbwApYnK?usp=sharing) > benötige ich eine Steuerung. Wo ist der Schaltplan sowie die Beschreibung des Magneten? > Leider ist aber die Bewegung des Feeders recht ruppig da der MOSFET > einfach nur Aus-Einschlatet. Ich hätte gerne eine saubere Sinusspannung > am E-Magnet. Wozu? Tun dir die armen Schrauben leid? > Nun habe ich mir ein solches Gerät besorgt: (https://amzn.to/43AaidZ). > Ich dachte wenn ich damit den MOSFET betreibe bekomme ich einen Sinus am > Ausgang. Hat leider nicht wirklich funktioniert. Logisch. Einen LinearVerstärker baut man nicht einfach mal so. Bracht man hier aber nicht. Man will den Magneten eher quasiresonant mit einer Halb- oder Vollbrücke ansteuern. Siehe H-Brücken Übersicht. > Ich frage mich was diese anders machen. Die verändern die Frequenz und das Tastverhältnis, um optimale Ansteuerung an verschiedenen Magnetsystemen zu erhalten. Das kann dein Arduino auch, wenn man ihn richtig programmiert. Sogar sinusartig ohne Linearendstufe. https://www.mikrocontroller.net/articles/Arduino#Siehe_auch Beitrag "Re: Arduino Micro SPWM"
> Wo ist der Schaltplan sowie die Beschreibung des Magneten? Leider habe ich keinen Schaltplan. Der Aufbau ist aber recht einfach. Arduino - Transistor - Mosfet / Magnet wird über Labornetzteil versorgt. Zusätzlich noch eine Freilaufdiode um den Magnet. Die Frequenz wird über einen Poti eingestellt. Magnet: https://amzn.to/473CuZB > Wozu? Tun dir die armen Schrauben leid? Ja ein bischen schon... Das Problem ist eher die grobe Bewegung. Kleine Schrauben Springen gerne mal von der Bahn herunter. Wenn ich die Frequenz hinaufdrehe (also kleine Mikrosprünge mache) bewegen sich die Schrauben nicht und bleiben auf ihrer Position liegen. Wenn ich mit der Frequenz herunter gehe bewegen sie sich zwar aber eben sehr ruppig (große Sprünge). > Logisch. Einen LinearVerstärker baut man nicht einfach mal so. > Bracht man hier aber nicht. Man will den Magneten eher quasiresonant mit > einer Halb- oder Vollbrücke ansteuern. Siehe H-Brücken Übersicht. Ich verstehe nicht ganz was Sie mir damit sagen wollen. > Die verändern die Frequenz und das Tastverhältnis, um optimale > Ansteuerung an verschiedenen Magnetsystemen zu erhalten. Das kann dein > Arduino auch, wenn man ihn richtig programmiert. Sogar sinusartig ohne > Linearendstufe. Die Frequen ändere ich auch. Was meinst du mit Tastverhältnis? Hier mein Code:
1 | const int outputPin = 13; |
2 | int frequency = 1; |
3 | const int potPin = A0; |
4 | |
5 | void setup() { |
6 | pinMode(outputPin, OUTPUT); |
7 | Serial.begin(9600); |
8 | }
|
9 | |
10 | void loop() { |
11 | int potValue = analogRead(potPin); |
12 | int frequency = map(potValue, 0, 1023, 60, 120); |
13 | |
14 | int periodDuration = 1000 / frequency; // Berechne die Periodendauer in Millisekunden |
15 | |
16 | digitalWrite(outputPin, HIGH); // Setze den Ausgang auf HIGH |
17 | delay(periodDuration / 2); // Halte das Signal für die Hälfte der Periodendauer auf HIGH |
18 | digitalWrite(outputPin, LOW); // Setze den Ausgang auf LOW |
19 | delay(periodDuration / 2); // Halte das Signal für die andere Hälfte der Periodendauer auf LOW |
20 | |
21 | Serial.println(frequency); |
22 | }
|
Vielen Dank für den Link. Warum funktioniert das mit diesem Gerät nicht (https://amzn.to/3Q86iyh)? Das Ding erzeugt mir ja schon meinen Sinus. Wenn ich jetzt damit noch größere Ströme damit steuern könnte (MOSFET?) wäre das ja genau das was ich benötige. Dan würde ich mir die ganze Programierung sparren und hätte eine fast fertige Lösung.
1. Einen Sinus brauchst du nicht. 2. Dein Topfmagnet ist suboptimal weil die Kraft sehr stark vom Abstand abhängt. Bei zu großem Abstand arbeitet er inefizient, bei zu geringem abstand schlägt die gegenplatte auf (das kriegst du auch nicht durch Sinus weg). 3 Durch die Art der Aufhängung ist der Abstand von der Beladung des Feeders abhängig. Du brauchst ein System ähnlich wie ew bei (Tiefton) Lautsprechern verwendet wird.
> 2. Dein Topfmagnet ist suboptimal weil die Kraft sehr stark vom Abstand > abhängt. Bei zu großem Abstand arbeitet er inefizient, bei zu geringem > abstand schlägt die gegenplatte auf (das kriegst du auch nicht durch > Sinus weg). Ja, du hast recht. Wenn man Bilder solcher Maschinen sieht, haben diese andere Magnete. Ich hoffe aber, dass es auch mit meinem funktioniert. Diese sind leicht erhältlich und günstig in der Anschaffung. Industrielle Maschinen haben einen Abstand zum Magneten von etwa 1,2 mm. Wenn ich diesen bei meinem einstelle, funktioniert es grundsätzlich nicht so schlecht. > 3 Durch die Art der Aufhängung ist der Abstand von der Beladung des > Feeders abhängig. Korrekt! Vielleicht muss ich einfach noch mehr Federn einbauen. Dann könnte ich auch noch den Abstand zum Magnet verringern. Industrielle Maschinen sind jedoch auch so aufgehängt.
Franz H. schrieb: > Ich dachte wenn ich damit den MOSFET betreibe bekomme ich einen Sinus am > Ausgang. Nein, natürlich nicht, der MOSFET leitet das Signal nur sehr unlinear verzerrt weiter und leitet Strom nur in 1 Richtung. Je nach Leistung der Magnetspule geht statt diesen teuren Rüttlern auch ein Audioverstärker an deinem Arduino oder dem Funktionsgenerator. Audioverstärker leiten (normalerweise, es gibt welche DC coupled) keine Gleichspannung weiter, das passt auch zum PWM vom Arduino, aber vielleicht braucht dein Experiment einen Gleichspannungsoffset.
> Je nach Leistung der Magnetspule geht statt diesen teuren Rüttlern auch > ein Audioverstärker an deinem Arduino oder dem Funktionsgenerator. Erzähl mir mehr davon wie du das meinst. Diesen Verstärker hätte ich zuhause (https://amzn.to/3Q7XWa3) Also PWM vom Arduino in den Verstärker? Was wäre der Vorteil zum Mosfet? > Warum nimmt man nicht einfach einen Unwuchtmotor? Der Vorteil mit Magnet ist eben genau der das man die Frequenz und Spannung auf die jeweiligen Gegebenheiten einstellen kann.
Franz H. schrieb: > Meine derzeite Steuerung funktiert relativ einfach: Ein Arduino erzeugt > ein PWM Signal (60-120Hz). ... > Leider ist aber die Bewegung des Feeders recht ruppig da der MOSFET > einfach nur Aus-Einschlatet. Ich hätte gerne eine saubere Sinusspannung > am E-Magnet. Den E-Magneten interessiert nicht, ob die Spannung eine Sinusform aufweist. Die Kraft hängt vom Strom ab. Mit PWM bist du schon richtig davor. Die Spule glättet den Strom sowieso. Du musst das PWM-Signal nur passend modulieren. Die Frequenz solltest du allerdings einen Faktor 20..100 höher wählen - kommt auf die Induktivität deines Magneten an.
Franz H. schrieb: > Also PWM vom Arduino in den Verstärker? Es lohnt sich, die PWM vorher zu filtern https://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM > Was wäre der Vorteil zum Mosfet? Dass es funktioniert ?
Franz H. schrieb: >> Wo ist der Schaltplan sowie die Beschreibung des Magneten? > Leider habe ich keinen Schaltplan. Der Aufbau ist aber recht einfach. > Arduino - Transistor - Mosfet / Magnet wird über Labornetzteil versorgt. > Zusätzlich noch eine Freilaufdiode um den Magnet. Die Frequenz wird über > einen Poti eingestellt. Na immerhin. >> Wozu? Tun dir die armen Schrauben leid? > Ja ein bischen schon... > Das Problem ist eher die grobe Bewegung. Kleine Schrauben Springen gerne > mal von der Bahn herunter. Wenn ich die Frequenz hinaufdrehe (also > kleine Mikrosprünge mache) bewegen sich die Schrauben nicht und bleiben > auf ihrer Position liegen. Wenn ich mit der Frequenz herunter gehe > bewegen sie sich zwar aber eben sehr ruppig (große Sprünge). Das liegt dann aber auch an der Mechanik deines Magneten und dem angeschlossenen Resonator. >> Logisch. Einen LinearVerstärker baut man nicht einfach mal so. >> Bracht man hier aber nicht. Man will den Magneten eher quasiresonant mit >> einer Halb- oder Vollbrücke ansteuern. Siehe H-Brücken Übersicht. > Ich verstehe nicht ganz was Sie mir damit sagen wollen. Dann musst du es nochmal lesen und nachdenken. >> Die verändern die Frequenz und das Tastverhältnis, um optimale >> Ansteuerung an verschiedenen Magnetsystemen zu erhalten. Das kann dein >> Arduino auch, wenn man ihn richtig programmiert. Sogar sinusartig ohne >> Linearendstufe. > > Die Frequen ändere ich auch. Was meinst du mit Tastverhältnis? Eben jenes! Siehe PWM. > Hier mein Code:const int outputPin = 13; Jaja, Makers Premium Software ;-) Deine Takterzeugung wird duch die dauernde Ausgabe auf der seriellen Schittstelle gestört. Wieviel ist unklar. Für einen einfachen Test mag es reichen. Wenn man es besser machen will, nimmt man Timer 1 und konfiguriert die Output Compare Ausgänge. Als schnelle Verbesserung kann man erstmal die dauernde Ausgabe weglassen. > Vielen Dank für den Link. Warum funktioniert das mit diesem Gerät nicht > (https://amzn.to/3Q86iyh)? Das Ding erzeugt mir ja schon meinen Sinus. Weil ein einzelner Mosfet ohne passende Beschaltung kein Linearverstärker ist! Schrieb ich bereits! Und deine Zauberkiste spukt ein analoges Sinussignal aus. Das kann nur ein Linearverstärker verstärken! > Wenn ich jetzt damit noch größere Ströme damit steuern könnte (MOSFET?) > wäre das ja genau das was ich benötige. Dan würde ich mir die ganze > Programierung sparren und hätte eine fast fertige Lösung. Dann kauf dir einen Linearverstärker und sei glücklich. https://www.ebay.de/itm/125683687502
Michael B. schrieb: >> Also PWM vom Arduino in den Verstärker? > > Es lohnt sich, die PWM vorher zu filtern Nö. Man geht direkt digital auf eine digitale Endstufe. Reicht hier vollkommen aus.
Michael B. schrieb: >> Also PWM vom Arduino in den Verstärker? > > Es lohnt sich, die PWM vorher zu filtern Typiscer Labekopp BULLSHIT Er will einen FET ansteuern! Er will ABSOLUT KEINEN SINUS AM GATE!!!
Franz H. schrieb: > Ein Arduino erzeugt ein PWM Signal (60-120Hz). Ist das die Trägerfrequenz, oder schon das aufmodulierte Sinussignal? Bei einer Trägerfrequenz von 60Hz ist es normal, das der Magnet ruckelig arbeitet. Da nützt auch die Selbstglättung der Induktivität kaum. Eine 1kHz Trägerfrequenz mir einem aufmodulierten Wunschsinus läuft da schon ruhiger.
Ein weiterer Punkt: Das Magnetische Feld sollte so schnell wie möglich
abgebaut und aufgebaut werden. Ich habe das Gefühl das sich die
Metallplatte magnetisiert und dadurch die Platte immer näher an den
Magnet wandert bis sie zusammenstoßen.
Es gibt Industielle "Bowl-Feeder" die mit Gleichspannung aber auch
welche die mit Wechselspannung arbeiten. Daraus schließe ich das ich
eigentlich keinen Sinus benötige.
> Ist das die Trägerfrequenz, oder schon das aufmodulierte Sinussignal?
Dies ist die Frequenz mit der der Magnet gesteuert wird (einfaches PWM).
Ich werde versuchen mehr Federn einzubauen damit das ganze noch steifer
wird. Ich befürchte nur das ich dann mit meinen 12V bzw. 24V an die
Grenze komme.
Hier ist so ein kleiner Generator für PWM mit Sinusmodulation mit AVR. Am Ausgang ist eine H-Brücke, die auch deinen Magneten treiben kann: https://www.schoeldgen.de/avr/ Scrolle runter bis zum 'Variable frequency drive with Tiny 25/45/85 ( C )'.
Michael B. schrieb: > Es lohnt sich, die PWM vorher zu filtern Du machst deinem Nick wieder alle Ehre. Filtern tut eine Spule von selbst, wenn die Frequenz geeignet gewählt ist.
Franz H. schrieb: > Ein weiterer Punkt: Das Magnetische Feld sollte so schnell wie möglich > abgebaut und aufgebaut werden. Jain. Was man da eher braucht ist eine bipolare Ansteuerung, um dem nahe zu kommen. Ein einzelner MOSFET kann das nicht, dazu braucht es eine H-Brücke. Sagte ich schon mehrfach. > Ich habe das Gefühl das sich die > Metallplatte magnetisiert und dadurch die Platte immer näher an den > Magnet wandert bis sie zusammenstoßen. Gefühle sind was für Frauen und das Brigitte-Forum ;-) Männer und vor allem technisch arbeitende Menschen sollten WISSEN! Das kann man durch MESSEN erreichen. > Es gibt Industielle "Bowl-Feeder" die mit Gleichspannung aber auch > welche die mit Wechselspannung arbeiten. Daraus schließe ich das ich > eigentlich keinen Sinus benötige. Kann sein. Die mit Gleichspannung haben die Ansteuerung halt im Gehäuse. Direkt mit Gleichstrom kann man keine Vibrationen erzeugen, wenn man mal vom mechanischen Selbstunterbrecher absieht. >> Ist das die Trägerfrequenz, oder schon das aufmodulierte Sinussignal? > Dies ist die Frequenz mit der der Magnet gesteuert wird (einfaches PWM). Ja, aber halt nicht bipolar. Du schaltest den Magneten ein, der zieht an. Bei Ausschalten bleibt der wegen der Freilaufdiode und der gespeicherten Magnetenergie recht lange angezogen, das Magnetfeld ändert sich nur wenig. Eine bipolare Ansteuerung mit der gleichen Spannung kann da DEUTLICH mehr. > Ich werde versuchen mehr Federn einzubauen damit das ganze noch steifer > wird. Nein! Das ist der falsche Weg! Siehe oben! > Ich befürchte nur das ich dann mit meinen 12V bzw. 24V an die > Grenze komme. Die Grenze liegt hier, wie in den meisten Fällen, eher im vorhanden Wissen. Dort musst du ansetzen. Beschaff dir einen 2 Kanaligen, digitalen Motortreiber. AKA Shield. Den klemmst du an die zwei PWM-Ausänge von Timer 1 am Arduino. Auf die Software habe ich schon verwiesen. Die kann man noch etwas anpassen. Für den Anfang sollte der hier reichen. https://www.reichelt.de/entwicklerboards-motorsteuerung-2-fach-l298n-debo-drv1-l298n-p282644.html?
Falk B. schrieb: > Bei Ausschalten bleibt der wegen der Freilaufdiode und der > gespeicherten Magnetenergie recht lange angezogen, das Magnetfeld ändert > sich nur wenig. An Stelle der Freilaufdiode könnte man Zener-Dioden verwenden. Das würde die Abklingzeit des Stromes schon deutlich verkürzen.
> Gefühle sind was für Frauen und das Brigitte-Forum ;-) > Männer und vor allem technisch arbeitende Menschen sollten WISSEN! Das > kann man durch MESSEN erreichen. Auch Männer haben Gefühle ;-) Ich wüsste jetzt nicht wie ich das messen könnte.... > Ja, aber halt nicht bipolar. Du schaltest den Magneten ein, der zieht > an. Bei Ausschalten bleibt der wegen der Freilaufdiode und der > gespeicherten Magnetenergie recht lange angezogen, das Magnetfeld ändert > sich nur wenig. Eine bipolare Ansteuerung mit der gleichen Spannung kann > da DEUTLICH mehr. Jetzt hat es Klick gemacht! Ein euphorisches Glücksgefühl überströmt soeben meinen Körper ;-) Das könnte tatsächlich die Lösung sein.... > Beschaff dir einen 2 Kanaligen, digitalen Motortreiber. Das Ding habe ich zuhause liegen und wird bei zeiten gleich eingebaut. Vielen lieben Dank für die zahlreichen Antworten. Ich werde das nun testen und ein Feedback geben.
Anbei die angepasste Variante. Ich habe die PWM-Frequenz auf ~15kHz vermindert, das reicht hier locker. Die Einstellung von Frequenz und Amplitude erfolgt über die Analogeingänge A0 und A1. Die beiden Arduino-Ausgänge 9 und 10 gehen an den Treiber. Das Programm wirde mit einem Arduion UNO getestet, darauf sind auch die Ausgänge eingestellt. Bei einem anderen Arduino muss man das anpassen!
Hallo Falk, Ähmmmm... was soll ich sagen? Ich hab den Code auf den Arduino geflasht und es hat sofort geklappt. Jetzt muss ich noch etwas mit den Federn experimentieren. Der Magnet hat richtig Saft. Nachdem ich jetzt den halben Vormittag/Nachmittag damit verbracht habe den Code so halbwegs zu verstehen, stelle ich mir das in etwa so vor: Es wird mit einer gewissen Abtastrate Werte aus dem Array sinus[256] ausgelesen und als PWM-Wert an den Ausgängen 9 und 10 geschrieben. ATOMIC_BLOCK(ATOMIC_RESTORESTATE): Habe ich noch nie gehört. Aber soweit ich nun recherchiert habe müsste es sich hierbei um ein Makro handeln das verhindert, dass Interrupts gleichzeitig auf eine Variable zugreifen können. void demo(void): Wo diese Prozetur gerufen wird ist mir ein Rätsel. Ich denke diese ist nur zu Testzwecken mit dabei. Dann würde auch der Name Sinn ergeben. ISR(TIMER1_CAPT_vect): Jedes mal wenn es wieder so weit ist einen Wert auf die Ausgänge zu schreiben wird diese Routine aufgerufen. Was auch immer das alles bedeutet (OCR1A = ( 128+(((int8_t)pgm_read_byte(&sinus[i>>8])*(int16_t)amplitude)>>8)) << SHIFT;) ;-) TIMER1_CAPT_vect: Hier dürfte es sich um eine im Arduino fix implementierte Funktionen handeln. Diese wird beim Überlauf von Timer1 ausgeführt. Vielleicht kannst du mir noch verraten warum die Sinus Werte bis 127. Das was du hier produzierst geht etwas über meine Vorstellungskraft hinaus. Wirklich tiefgründig bin ich nie in die Materie Microcontroller eingestiegen. Ich denke da fehlen mir einfach sehr viel Grundlagen. Meine Prioritäten und mein Wissensstand liegt auch eher im mechanischen Bereichen. Elektronik ist bei meinen Projekten eher ein nettes übel das eben auch dazu gehört. Das du hier so etwas frei zur Verfügung stellst ist wirklich Großartig. Ich möchte mein Projekt auf Hackaday zeigen. Für den Code werde ich auf diesen Beitrag verlinken. Vielen Dank.
Franz H. schrieb: > Diese wird beim Überlauf von Timer1 > ausgeführt. Nicht Überlauf, sondern Capture Interrupt, sagt ja auch der Name. Mehr zur Capture Funktion des Timers im Datenblatt des Mega328. Franz H. schrieb: > Vielleicht kannst du mir noch verraten warum die Sinus Werte bis 127. Das ist Geschmackssache. Falk hat sich für den Wertebereich von -127 bis 127 entschieden, das sind 256 Werte. Man könnte auch 0-255 wählen. Franz H. schrieb: > Das was du hier produzierst geht etwas über meine Vorstellungskraft > hinaus. Ich finds cool. Und du hast was zum Lernen. Wer da überhaupt eine -1 vergibt, dem ist nicht zu helfen. Ich habs mal wieder hochgedrückt.
:
Bearbeitet durch User
> Ich finds cool. Und du hast was zum Lernen. Wer da überhaupt eine -1 > vergibt, dem ist nicht zu helfen. Ich habs mal wieder hochgedrückt. Ich finds auch top. Hat mir sehr weiter gefolfen und mich den halben Nachmittag beschäftigt.
Franz H. schrieb: > Hallo Falk, > Ähmmmm... was soll ich sagen? Ich hab den Code auf den Arduino geflasht > und es hat sofort geklappt. Jetzt muss ich noch etwas mit den Federn > experimentieren. Der Magnet hat richtig Saft. Schön zu hören. > Es wird mit einer gewissen Abtastrate Werte aus dem Array sinus[256] > ausgelesen und als PWM-Wert an den Ausgängen 9 und 10 geschrieben. Genau. Die GEschindigkeit des Durchlaufs durch die Tabelle wird durch die Variable frequenz bestimmt. Das ist ein DDS Algorithmuns. > ATOMIC_BLOCK(ATOMIC_RESTORESTATE): Habe ich noch nie gehört. Aber soweit > ich nun recherchiert habe müsste es sich hierbei um ein Makro handeln > das verhindert, dass Interrupts gleichzeitig auf eine Variable zugreifen > können. Korrekt. Damit wird sicher gestellt, daß der Zugriff nicht halb verstümmelt wird und komische Effekte erzeugt. Eben ein atomarer Zugriff, siehe Interrupt. > void demo(void): Wo diese Prozetur gerufen wird ist mir ein Rätsel. Nirgendwo. Das war mal in der ersten Version in loop drin. > Ich > denke diese ist nur zu Testzwecken mit dabei. Dann würde auch der Name > Sinn ergeben. BINGO! > ISR(TIMER1_CAPT_vect): Jedes mal wenn es wieder so weit ist einen Wert > auf die Ausgänge zu schreiben wird diese Routine aufgerufen. Korrekt. > Was auch > immer das alles bedeutet (OCR1A = ( > 128+(((int8_t)pgm_read_byte(&sinus[i>>8])*(int16_t)amplitude)>>8)) << > SHIFT;) ;-) Sieht kompliziert aus, ist es aber nicht. Es wird ein Wert aus der Sinustabelle gelesen, mit dem Wert amplitude multiplizert, dann wieder um 8 Stellen nach rechts geschoben, sprich durch 256 dividiert, dann das auf 128 addiert und abschließend um 2 Bit nach rechts geschoben, sprich mit 4 multipliziert. Das wird gemacht, weil die Periodendauer 1024 Takte lang ist, sprich die PWM hat hier 10 Bit Auflösung. Im Original waren es nur 8 Bit mit 256 Takten, dafür halt 4fache Frequenz. Die brauchst du hier aber nicht, die macht nur unnötig Stress, Verlustleistung im Treiber und ggf. EMV-Probleme. > TIMER1_CAPT_vect: Hier dürfte es sich um eine im Arduino fix > implementierte Funktionen handeln. Diese wird beim Überlauf von Timer1 > ausgeführt. Fast. Es ist das Erreichen vom variablen Endwert ICR1, welcher die Periodendauer der PWM bestimmt. Wirkt praktisch gleich, nur mit dem Unterschied, daß man mit ICR1 die Periodendauer einstellen kann. > Vielleicht kannst du mir noch verraten warum die Sinus Werte bis 127. Weil das auf einer 8-Bit PWM basiert, welche Werte von 0-255 ausgeben kann. Die Mitte habe ich auf 128 festgelegt.
Matthias S. schrieb: > Ich finds cool. Und du hast was zum Lernen. Wer da überhaupt eine -1 > vergibt, dem ist nicht zu helfen. Ich habs mal wieder hochgedrückt. Mein Hate-Boys, die können nicht anders ;-)
Falk B. schrieb: > Ich habe die PWM-Frequenz auf ~15kHz > vermindert, das reicht hier locker. 15kHz ist wohl etwas übertrieben. Wozu soll das gut sein?
Rainer W. schrieb: > Wozu soll das gut sein? Anti-Pieps ist z.B. ein Argument. mit 7,8kHz kanns unangenehm werden. Je tiefer die Wiederholfrequenz, umso weniger glättet auch die Induktivität des E-Magnets.
Matthias S. schrieb: > Je tiefer die Wiederholfrequenz, umso weniger glättet auch die Induktivität > des E-Magnets. Die Induktivität sieht nicht gerade nach 1mH aus. Vielleicht gibt es (außer >100Mb-Videos) noch ein paar Daten zum Magnet (Induktivität evtl. in Abhängigkeit von der Frequenz, Typenbezeichnung, Datenblatt) und Schwingungseigenschaften vom Aufbau.
Rainer W. schrieb: > Vielleicht gibt es (außer >100Mb-Videos) noch ein paar Daten zum Magnet > (Induktivität evtl. in Abhängigkeit von der Frequenz, Typenbezeichnung, > Datenblatt) und Schwingungseigenschaften vom Aufbau. Das Problem wurde überaus zufriedenstellend gelöst.
Michael B. schrieb: > Franz H. schrieb: >> Ich dachte wenn ich damit den MOSFET betreibe bekomme ich einen Sinus am >> Ausgang. > > Nein, natürlich nicht, der MOSFET leitet das Signal nur sehr unlinear > verzerrt weiter und leitet Strom nur in 1 Richtung. also ich habe gerade in wikipedia gelesen , daß feldeffekttransitoren strom auch in beide richtungen leiten lassen. steht da so. https://de.wikipedia.org/wiki/Transistor#Feldeffekttransistor der 6.te satz . ich hab ja keine ahnung davon.
Carypt C. schrieb: >> Nein, natürlich nicht, der MOSFET leitet das Signal nur sehr unlinear >> verzerrt weiter und leitet Strom nur in 1 Richtung. > > also ich habe gerade in wikipedia gelesen , daß feldeffekttransitoren > strom auch in beide richtungen leiten lassen. steht da so. > https://de.wikipedia.org/wiki/Transistor#Feldeffekttransistor der 6.te > satz . Stimmt, aber > ich hab ja keine ahnung davon. In der Tat. Wenn gleich ein MOSFET Strom über Drain-Source in beiden Polaritäten leiten kann, so kann er das mal sicher NICHT in einer einfachen Verstärkerstufe mit nur einem MOSFET (Einquadrantensteller). Dazu braucht es mindestens eine Halbbrücke und eine induktive Last.
Carypt C. schrieb: > ich hab ja keine ahnung davon. Du sagst es. > also ich habe gerade in wikipedia gelesen , daß feldeffekttransitoren > strom auch in beide richtungen leiten lassen. Überraschung: es kommt auf die Schaltung an. In seiner eben nicht Ist zu hoch für dich, klar. Und dann gibt es noch die ärgerliche Body-Diode bei vertikalen MOSFETs.
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.