RomanSolonto Posted December 26, 2014 Share Posted December 26, 2014 Hi, I have Turbo Pmac (not Clipper) and I need to control the output power of the laser. I tried to use countdown timer to create PWM signal. NCAutopilot creates this PLC: OPEN PLC 9 CLEAR I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 I make: OPEN PLC 16 CLEAR IF (P1011>0 AND P1012>0) M4602=4095 //DAC ch#1 = max M525 =P1011 WHILE (M525>0) ENDWHILE M4602=0 //DAC ch#1 = min M525 = P1012 WHILE (M525>0) ENDWHILE ENDIF where m4602->Y:$78E08,0,12,U ; DAC ch#1 P1011 and P1012 - time for countdown timers But I have some problems: 1. Frequency not stable 2. I think that it's not right way. Is there any way to control frequency and duty cycle? Is it possible to use PWM control of amplifiers for this? Link to comment Share on other sites More sharing options...
RomanSolonto Posted December 26, 2014 Author Share Posted December 26, 2014 Hi, I have Turbo Pmac (not Clipper) and I need to control the output power of the laser. I tried to use countdown timer to create PWM signal. NCAutopilot creates this PLC: OPEN PLC 9 CLEAR I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 I make: OPEN PLC 16 CLEAR IF (P1011>0 AND P1012>0) M4602=4095 //DAC ch#1 = max M525 =P1011 WHILE (M525>0) ENDWHILE M4602=0 //DAC ch#1 = min M525 = P1012 WHILE (M525>0) ENDWHILE ENDIF where m4602->Y:$78E08,0,12,U ; DAC ch#1 P1011 and P1012 - time for countdown timers But I have some problems: 1. Frequency not stable 2. I think that it's not right way. Is there any way to control frequency and duty cycle? Is it possible to use PWM control of amplifiers for this? Link to comment Share on other sites More sharing options...
Omron Forums Support Posted December 29, 2014 Share Posted December 29, 2014 You might try combining PLC 9 and 16 into PLC 0, and perhaps reducing I8: Open PLC 0 Clear IF (P1011>0 AND P1012>0) M4602=4095 //DAC ch#1 = max M525 =P1011 WHILE (M525>0) I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 ENDWHILE M4602=0 //DAC ch#1 = min M525 = P1012 WHILE (M525>0) I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 ENDWHILE ENDIF Close Also, is 1ms enough resolution? I5112=1*8388608/I10 could be reduced (e.g. I5112=0.5*8388608/I10). If this is a Turbo PMAC2, there is probably a better way which uses position compare pulse modulated output. I attached a document describing how to do this. Link to comment Share on other sites More sharing options...
Omron Forums Support Posted December 29, 2014 Share Posted December 29, 2014 You might try combining PLC 9 and 16 into PLC 0, and perhaps reducing I8: Open PLC 0 Clear IF (P1011>0 AND P1012>0) M4602=4095 //DAC ch#1 = max M525 =P1011 WHILE (M525>0) I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 ENDWHILE M4602=0 //DAC ch#1 = min M525 = P1012 WHILE (M525>0) I5112=1*8388608/I10 WHILE(I5112>0) END WHILE M525=M525-1 ENDWHILE ENDIF Close Also, is 1ms enough resolution? I5112=1*8388608/I10 could be reduced (e.g. I5112=0.5*8388608/I10). If this is a Turbo PMAC2, there is probably a better way which uses position compare pulse modulated output. I attached a document describing how to do this.Position-Compare Pulse-Modulated Output (2).doc Link to comment Share on other sites More sharing options...
Recommended Posts