Jump to content

Recommended Posts

Posted (edited)

Hello everyone,

So I have ran into a problem, finished programming and attached all of the elements, everything is new and clean (cables,wiring, etc).  But now when I am testing the x , y cords [X0,X1/X3,X4] ( I am using 2 phase  fast counters), the cords are being crippled after few rides, the cords differ from the set ones aka 0 point, and within time the difference increases. like when i am doing first ride around and move it back to set point everything is fine same thing for 2nd time. But after like 3 times, when its driven back to set point the cords have changed by 1 or 2 ticks, or by -1 or -2. Left the program running for 4 days and the difference was 28 at 0 point on X and 8 at 0 point on Y. And the counting speed is kinda slow so that shouldn't be the issue. Checked everything for possible interruptions, placed spacers between the encoder signal contacts and other signals so there would be no interruptions. Made a prog that checks all impulses so i can compare them for any changes, but numbers stay the same. One thing i thought about is that the difference might be done by a spin out, tho not sure about it. At the moment I am out of ideas about what could possibly cause this... And wanted to ask if FX3G-40M fast counters have some kind of allowed mistake? Or I have missed something.

PS. I am thinking about creating recalibration points, for example if it reaches X end switch, then cords what should be there are set. Is that a good idea? 

Thank you in advance,

Best wishes

Edited by Grimm

Posted (edited)

Yeah, I am using COUNTER32_M, with CC252 and  CC253 inputs,  and the CValue is set to 9999. And then using the CN252 and CN253 values.

Edited by Grimm
Posted (edited)

Rough example:

Im using them directly like,

 

< If (CN252 = D255)   ;

than ;

Reset = Q10; 

Reset = Q11 ;

>

<If (CN252 < D255)) ;

than;

Set= Q10;

Reset= Q11;

>

<If (CN252 > D255));

than;

Reset= Q10;

Set= Q11;

>

< If (CN253 = D355)) ;

than ;

Reset = Q12; 

Reset = Q13 ;

>

< If (CN253 < D355)) ;

than ;

Set = Q12; 

Reset = Q13 ;

>

< If (CN253 > D355)) ;

than ;

Reset = Q12; 

Set = Q13 ;

>

Edited by Grimm

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...