Jump to content
OMRON Forums

PWM signal on DAC (like Clipper's Option-11A)


RomanSolonto

Recommended Posts

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

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

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

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

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

Guest
This topic is now closed to further replies.

×
×
  • Create New...