Hi, kurz zu meinem eigentlichen Vorhaben: Ich bastel gerade eine CND-Maschine auf Basis von GRBL nach Vorbild der MaxyPosi von c't Hacks/Make. GRBL läuft hier auf einen Mega644P getaktet mit 20MHz. Nun möchte ich auf dieser CNC-Maschine unterschiedliche Werkzeuge montieren. Manche werden per PWM angesteuert, andere sollen über ein Relais mit 230V versorgt werden. Jetzt möchte ich nicht jedesmal den "Spindle PWM" Pin im Programm umkonfigurieren, den das muss man im Programm selbst machen und dann jedesmal neu Flashen. Die "Spindle PWM" kommt übrigens vom Pin "PD7_OC2A". Ich würde gerne mit einem Jumper einen Schmitt-Trigger auf diesen Pin schalten, der dann (über eine passende Endstufe natürlich) das Relais für's Werkzeug schaltet, sobald eine bestimmte Drehzahl ausgegeben wird. Jetzt bräuchte ich davor wohl noch einen Tiefpass um die PWM entsprechend zu glätten + Diode um eine Beeinflussung der normalen PWM-Schaltung zu vermeiden. Dabei muss der Tiefpass auch stark genug belastet werden, damit der Schmitt-Trigger beim abschalten auch schnell genug reagiert. Normalerweise würde ich schnell auf einem Steckbrett aufbauen, und mit dem Oszi draufgucken, ich habe aber leider keines. Und die ganze OPV- & Tiefpassgeschichte ist seit der Lehre auch wieder so weit weg... Darum meine paar Fragen: * Welche Frequenz spuckt der PD7 im PWM-Modus überhaupt aus, ich werde hier aus dem Datenblatt (TC2/Counter2) einfach nicht schlau, weil ich irgendwie nichtmal ne Ahnung habe, nach was ich Ausschau halten müsste... * Als Schmitt-Trigger lieber einen 74XX14 oder klassisch LM324? * Wie dimensoniere ich dann den Tiefpass am besten, so dass er schnell genug ist, aber den SchmittTrigger nicht verwirrt? Vielen Dank auf jeden Fall schonmal für's durchlesen meines gesabbels... ;-) VG da_user
Matthias S. schrieb: > * Welche Frequenz spuckt der PD7 im PWM-Modus überhaupt aus, ich werde > hier aus dem Datenblatt (TC2/Counter2) einfach nicht schlau, weil ich > irgendwie nichtmal ne Ahnung habe, nach was ich Ausschau halten > müsste... Softwareabhängig, mim Oszi nachgucken Matthias S. schrieb: > * Wie dimensoniere ich dann den Tiefpass am besten, so dass er schnell > genug ist, aber den SchmittTrigger nicht verwirrt? Hochohmig, auf gute 20dB Dämpfung bei der PWM Frequenz und danach nochmal ggf. verstärken. Wenn du das Programm ändern kannst, dann mach doch ne Methode rein die dir nen Pin auf High zieht sobald OCR2A größer als 0 ist.
Matthias S. schrieb: > * Welche Frequenz spuckt der PD7 im PWM-Modus überhaupt aus, ich werde > hier aus dem Datenblatt (TC2/Counter2) einfach nicht schlau, weil ich > irgendwie nichtmal ne Ahnung habe, nach was ich Ausschau halten > müsste... Ohne die Softwareeinstellungen kann dir das niemand sagen. > * Als Schmitt-Trigger lieber einen 74XX14 oder klassisch LM324? Wieso denkst du, an den PWM-Ausgangspin einen Schmitt-Trigger schalten zu müssen? Du meinst, nach dem PWM-Tiefpass? Mit dem 74xx14 hast du halt feste (allerdings grob spezifizierte) und recht weit auseinanderliegende Ein- und Ausschaltschwellen, mit dem LM324 kannst du die beliebig dimensioniern. > * Wie dimensoniere ich dann den Tiefpass am besten, so dass er schnell > genug ist, aber den SchmittTrigger nicht verwirrt? Der Tiefpass muss die Grundfrequenz der PWM ausreichend dämpfen, so dass am Ausgang nur noch eine sehr geringe, für dich akzeptable Welligkeit vorhanden ist. Mit deinen Forderungen (schnell) muss das dann ein TP sein, dessen Grenzfrequenz recht nahe an der PWM-Frequenz liegt - da er da aber schon stark dämpfen soll, muss er von sehr hoher Ordnung sein. Oder, die Forderung 'schnell' wird von dir relativiert: dann tut es eine geringere Ordnung, mit deutlich geringerer Grenzfrequenz und damit eben mit langsamerer Reaktion. Final brauchst du eben bei der PWM-Frequenz ausreichend Dämpfung.
THOR schrieb: > Softwareabhängig, mim Oszi nachgucken Matthias S. schrieb: > und mit > dem Oszi draufgucken, ich habe aber leider keines. THOR schrieb: > Wenn du das Programm ändern kannst, dann mach doch ne Methode rein die > dir nen Pin auf High zieht sobald OCR2A größer als 0 ist. Matthias S. schrieb: > Jetzt möchte ich nicht jedesmal den > "Spindle PWM" Pin im Programm umkonfigurieren, den das muss man im > Programm selbst machen und dann jedesmal neu Flashen. ___________________________________________ HildeK schrieb: > Ohne die Softwareeinstellungen kann dir das niemand sagen. Da ich leider nicht weiß, auf was ich da gucken muss, kann ich mal nur auf GitHub verlinken: https://github.com/heise/MaXYposi_Grbl_644 HildeK schrieb: > Wieso denkst du, an den PWM-Ausgangspin einen Schmitt-Trigger schalten > zu müssen? Du meinst, nach dem PWM-Tiefpass? Damit eben das Relais ab einem bestimten "PWM-Pegel" einschaltet. HildeK schrieb: > Oder, die Forderung 'schnell' wird von dir relativiert: dann tut es eine > geringere Ordnung, mit deutlich geringerer Grenzfrequenz und damit eben > mit langsamerer Reaktion. Final brauchst du eben bei der PWM-Frequenz > ausreichend Dämpfung. Schnell ist natürlich relativ, prinzipiell soll halt das Relais nicht noch sekundenlang angezogen bleiben. Auch sollte das ganze natürlich eher einfach und günstig zusammenzubasteln sein. Wenn wir da von Zeiträumen von 0,1-0,5s sprechen, könnte ich sicherlich damit leben ;-) HildeK schrieb: > Mit dem 74xx14 hast du halt feste (allerdings grob spezifizierte) und > recht weit auseinanderliegende Ein- und Ausschaltschwellen, mit dem > LM324 kannst du die beliebig dimensioniern. Dann wohl lieber einen LM324. ;-)
Ich hab deinen Beitrag schon gelesen, so ist das nicht. Aber bitte, wenn du engstirnig sein willst.
THOR schrieb: > Ich hab deinen Beitrag schon gelesen, so ist das nicht. Hast aber nicht den Eindruck gemacht. THOR schrieb: > Aber bitte, wenn > du engstirnig sein willst. Das hat nichts mit engstirnig zu tun. Wenn ich kein Oszi habe, habe ich keines. Eines habe ich allerdings übersehen, dass muss ich zugeben: THOR schrieb: > Wenn du das Programm ändern kannst, dann mach doch ne Methode rein die > dir nen Pin auf High zieht sobald OCR2A größer als 0 ist. Ich müsste hierzu erstmal einen Pin der mit einer anderen, von mir ungenutzten Funktion belegt ist, freischaufeln, da vom Programm bereits alle Pins belegt sind. Und diese Änderung müsste ich dann jedesmal durchführen, wenn ich evlt. ein Update des µC Programmes fahren will. Da habe ich große Bauchschmerzen und würde das deswegen gerne vermeiden. Sonst würde ich sogar versuchen, GRBL so umzubasteln, dass ich den normalen Spindle_PWM-Pin per Config-Befehl (über serielle Schnittstelle) umkonfigurieren könnte.
Matthias S. schrieb: > Schnell ist natürlich relativ, prinzipiell soll halt das Relais nicht > noch sekundenlang angezogen bleiben. Auch sollte das ganze natürlich > eher einfach und günstig zusammenzubasteln sein. Wenn wir da von > Zeiträumen von 0,1-0,5s sprechen, könnte ich sicherlich damit leben ;-) Gut, dann wird man keinen so hohen Aufwand treiben müssen - aber ohne Info über die PWM-Frequenz ist eine Dimensionierung nicht möglich. So gut bin ich in SW auch nicht, dass ich dir die Frequenz durch einen kurzen Blick auf den Link sagen können. Leihe dir einfach ein Skope ... Trotzdem: der Tiefpass müsste dann eine Grenzfrequenz von mehr als 10Hz haben, um die 100ms 'Reaktionszeit' einzuhalten. Jetzt müsste man nur noch wisen, ob die PWM-Frequenz > als rund 1kHz ist ... An den extra Pin, der das Komparator-Vergleichsergebnis im μC macht und nur einen logischen Pegel ausgibt, wäre die sparsamste und einfachste Lösung.
Ein Tiefpass mit einem 2k2 Widerstand und 100µF Kondensator kann für PWM-Frequenzen von 200 Hz bis 50 kHz eingesetzt werden. Da die PWM-Frequenz laut TO weiter unverfälscht weiter genutzt werden soll, muss eine Pufferstufe zwischen PWM-Ausgang und Tiefpass geschaltet werden. Da vom TO keine näheren Angaben gemacht wurden, ist das nur ein Vorschlag.
Ach Du grüne Neune schrieb: > Ein Tiefpass mit einem 2k2 Widerstand und 100µF Kondensator kann für > PWM-Frequenzen von 200 Hz bis 50 kHz eingesetzt werden. Da die > PWM-Frequenz laut TO weiter unverfälscht weiter genutzt werden soll, > muss eine Pufferstufe zwischen PWM-Ausgang und Tiefpass geschaltet > werden. Ergibt eine Grenzfrequenz von <1Hz und erfüllt damit nicht die 0.1 ... 0.5s Reaktionszeit. Nimm lieber einen 2. Ordnung mit höherer Grenzfrequenz, z.B: R1 = 2k2, C1 = 2.2μF und in der 2. Stufe R2 = 10k, C2 = 0.47μF Einen Puffer brauchst du nicht, die 2k2 belasten den μC-Ausgang kaum - außer du willst noch weitere PWM-Filter an den Ausgang hängen. Ach Du grüne Neune schrieb: > Da vom TO keine näheren Angaben gemacht wurden, ist das nur ein > Vorschlag. Gilt für meine Variante auch ... :-)
HildeK schrieb: > Nimm lieber einen 2. Ordnung mit höherer Grenzfrequenz, Falls der TO mit hohen Frequenzen arbeitet, reicht evtl. auch ein Filter 1. Ordnung, um auf 0,1 Sekunde Reaktionszeit zu kommen.
Hi, zwei Dinge haben sich jetzt ergeben: 1.) Die Frequenz der PWM beträgt augenscheinlich ca. 1kHz, allerdings bei einem µC-Takt von 16MHz. Ich weiß natürlich nicht, in wie weit die PWM-Frequenz vom Quarz abhängig ist, sie dürfte sich aber entsprechend zwischen ~1kHz und 1,25kHz bewegen. 2.) Doch eine bequeme Softwarelösung: per Terminalbefehl lässt sich die maximale und minimale Drehzahl des Werkzeuges einstellen, GRBL berechnet anhand dieser dann den Wert für die PWM. Ich kann also einfach in meinem G-Code einen Konfigurationsbefehl einbauen, der die Maximale Drehzahl auf 1 setzt. Sobald ich dann eine Drehzahl >1 eingebe, wird "Spindle PWM" voll angesteuert. Das dürfte die einfachste und bequemste Methode sein. Danke an alle, die mitgeholfen haben und/oder dies ernsthaft versucht haben! (Auch wenn man natürlich seine Meinungsverschiedenheiten hat ;-) ) VG da_user
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.