Robertspark wrote:Mayhem2408, I am not an expert of M10 qxxx use with a laser.
My question was sort of directed at cncdrive to consider.
You've provided more information which is great.
However I suspect there is a difference between gbrl and uccnc regarding the use of pwm and M10 qxxx
Correct. GRBL does not use M10 at all. It simply uses M3 Sxxx to control the PWM and has a laser mode to produce smooth motion between PWM changes.
Robertspark wrote:It sounds like you are trying to fire your laser directly using M10 qxxx, and I'm not sure if that is the purpose of M10 qxxx.
M10 Qxxx have a value between 0 and 255 which equates to 0% and 100% duty cycle. The purpose of M10 Qxxx it to make a PWM duty cycle change without interupting the current motion.
Robertspark wrote:It sounds like you may be better using maybe an axis output.
This is a hack workaround for motion controllers that do not support PWM outputs
Robertspark wrote:Maybe I am not understanding your circuit and what you are trying to do (which is fine, I am sure cncdrive can now use the information you have provided to answer your question)
You talk about using M10 qxxx giving you 100 steps in a uc100 at 10khz. (Again I am no expert and would wait for cncdrive to reply) but I suspect you may not be understanding M10 qxxx.
No. On the UC100 I am only using a 1KHz PWM frequency, when put with a 100KHz Kernel, should give 100 steps. This means that potentially Q0 Q1 and Q2 will all be the same Duty cycle. I don't have a problem with that. A UC400 will sort that out for me.
Robertspark wrote:M10 qxxx is scaled from 0% to 100% as 255 steps (according to the uccnc manual)
I don't think you can scale it from 0-100 unless you are using a macro to rescale the value. Also this is used to vary the pwm signal output from the UC motion controllers
Again don't shoot the messenger, please wait for in drive to reply, but I suspect with using UC motion controllers you are missing a piece of hardware. The reason why I say this is the Arduino board can be programmed to do everything and anything.
If motion controllers do motion, but they can also be programmed to do other things within reason. You mentioned the uc400 running at 400khz giving you 1500khz signal. That I do not believe is possible using just the output of the uc400 motion controller. The maximum pulse output is 400khz, it cannot step more than that.
Pwm is something slightly different.
It can have 255 steps , at 400khz kernel setting, the fastest you can set the pwm carrier wave is 400,000 / 255 = ~ 1568 Hz (i.e 1.5 khz ).... Not 1500khz as your last post
Sorry. A Typo. I ment 1500Hz, not KHz.