Jump to content
OMRON Forums

Direct PWM current feedback filter


dzrong

Recommended Posts

How can i make a filter for current feedback? Because the noise of the current feedback.

What i had done is that,using Encode Table to deal the current feedback address for filter,and using plc to copy the result to Y address(Y:$10f0 store ADC1A input value,Y:$10f1 store ADC1B input value),and setting Ix82 eque $10f1,but it seems not work.

Any suggestion?

This is my code.

/////////////////////////////////////////////////////////////////////////////////////

undefine all

del all

 

i8008 = $3f8005

i8009 = 98304

i8010 = 409600

i8011 = $3f8006

i8012 = 98304

i8013 = 409600

i8014 = $3f800D

i8015 = 98304

i8016 = 409600

i8017 = $3f800E

i8018 = 98304

i8019 = 409600

i8020 = $3f8015

i8021 = 98304

i8022 = 409600

i8023 = $3f8016

i8024 = 98304

i8025 = 409600

i8026 = $3f801D

i8027 = 98304

i8028 = 409600

i8029 = $3f801E

i8030 = 98304

i8031 = 409600

i8032 = $3f8105

i8033 = 98304

i8034 = 409600

i8035 = $3f8106

i8036 = 98304

i8037 = 409600

i8038 = $3f810D

i8039 = 98304

i8040 = 409600

i8041 = $3f810E

i8042 = 98304

i8043 = 409600

i8044 = $3f8115

i8045 = 98304

i8046 = 409600

i8047 = $3f8116

i8048 = 98304

i8049 = 409600

i8050 = $3f811D

i8051 = 98304

i8052 = 409600

i8053 = $3f811E

i8054 = 98304

i8055 = 409600

 

m7105 ->x:$350b,0,24,s

m7106 ->x:$350e,0,24,s

m7205 ->x:$3511,0,24,s

m7206 ->x:$3514,0,24,s

m7305 ->x:$3517,0,24,s

m7306 ->x:$351a,0,24,s

m7405 ->x:$351d,0,24,s

m7406 ->x:$3520,0,24,s

m7505 ->x:$3523,0,24,s

m7506 ->x:$3526,0,24,s

m7605 ->x:$3529,0,24,s

m7606 ->x:$352c,0,24,s

m7705 ->x:$352f,0,24,s

m7706 ->x:$3532,0,24,s

m7805 ->x:$3535,0,24,s

m7806 ->x:$3538,0,24,s

 

 

m6105->Y:$10f0,0,24,s

m6106->Y:$10f1,0,24,s

m6205->Y:$10f2,0,24,s

m6206->Y:$10f3,0,24,s

m6305->Y:$10f4,0,24,s

m6306->Y:$10f5,0,24,s

m6405->Y:$10f6,0,24,s

m6406->Y:$10f7,0,24,s

m6505->Y:$10f8,0,24,s

m6506->Y:$10f9,0,24,s

m6605->Y:$10fa,0,24,s

m6606->Y:$10fb,0,24,s

m6705->Y:$10fc,0,24,s

m6706->Y:$10fd,0,24,s

m6805->Y:$10fe,0,24,s

m6806->Y:$10ff,0,24,s

 

i182=$10f1

i882=$10ff

 

open plcc1 clear

m6105= m7105

m6106= m7106

m6205= m7205

m6206= m7206

m6305= m7305

m6306= m7306

m6405= m7405

m6406= m7406

m6505= m7505

m6506= m7506

m6605= m7605

m6606= m7606

m6705= m7705

m6706= m7706

m6805= m7805

m6806= m7806

close

 

enable plcc1

 

i5=2

i8=0

/////////////////////////////////////////////////////////////////////////////

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

dzrong,

 

This method is a wrong method to use for filtering noise on Direct-PWM ADC feedback lines for couple of reasons:

 

1. The ADC feedback is required and updated every phase cycle. Your PLC which copies the data is running in background which means it doesn't have any correlation with the phase clock.

2. ECT is updated every servo cycle, after the phase cycle. So Even if your PLC was copying the data every phase cycle, and your Phase and Servo clocks were at the same rate, your ADC data is delayed one Servo cycle.

3. If you have ADC noise, the best way is to eliminate the noise source and not try to suppress it since it will reduce the performance of the current loop and it in turn will reduce the performance of the servo loop.

4. If you have ADC noise, you have to figure out what is the source of the noise and if the noise is generated because of current sensors in the drive or if they are generated because the is actual noise on the motor leads. Suppressing this noise may not be the best solution. Instead you have to resolve the problem from the source.

 

Regards,

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...