Cincinnati Milacron Arrow 750 Retrofit

More
24 Apr 2021 23:24 #206973 by andypugh
What drives the 8i20 angle pin? Is it the bldc component?

This could be a bug in the component. But the first thing to check is the order of the components in the thread.

Can you paste the "addf" sequence in the HAL file? (Components are executed in the order that they are "addf-ed"

Please Log in or Create an account to join the conversation.

More
25 Apr 2021 00:04 #206975 by stegrg
Andy,

I created a component that interprets a SSI bitfield into the absolute angle called iCNQCangle.

Attached is my work-in-progress hal file.

File Attachment:

File Name: hm2-servo.hal
File Size:6 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
25 Apr 2021 00:32 #206978 by andypugh
addf bldc.0 servo-thread

addf hm2_5i24.0.write servo-thread
addf iCNQCangle.0 servo-thread

I am pretty sure that you want iCNQCangle.0 to be before bldc and bldc before hm2_write.

Try that.

Please Log in or Create an account to join the conversation.

More
26 Apr 2021 09:30 #207090 by stegrg
I changed the addf sequence in the hal file to the following:
addf hm2_5i24.0.read servo-thread
addf iCNQCangle.0 servo-thread
addf bldc.0 servo-thread
addf hm2_5i24.0.write servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread

It is still making the audible clicking sound. The same type of sudden signal drop can been seen in Hal Oscilloscope.
Attachments:

Please Log in or Create an account to join the conversation.

More
26 Apr 2021 11:58 #207106 by andypugh
Can you halscope the link between the ICQ component and bldc? That should localise the issue to one or other of the components.

Please Log in or Create an account to join the conversation.

More
26 Apr 2021 12:04 #207107 by stegrg
Are you referring to plotting commutation-counts in halscope from the following link in hal?:
net commutation-counts iCNQCangle.0.angle => bldc.0.rawcounts

Please Log in or Create an account to join the conversation.

More
26 Apr 2021 12:22 #207110 by andypugh
Yes, that looks useful.

If you get it, then save the halscope plot to a data file so that I can look at the actual numbers. (there is an option in Halscope to save to file, sadly no option to read from file)

Please Log in or Create an account to join the conversation.

More
26 Apr 2021 12:31 #207112 by stegrg
Ok, I'm away from the machine right now. I'll get the info hopefully later today/tomorrow.

I was thinking about setting the iCNQC interpreter to output the SSI stream in Gray-code and then using Hostmot2 to process the stream directly to see if that would make a difference.

Please Log in or Create an account to join the conversation.

More
27 Apr 2021 12:40 #207219 by stegrg
Andy,
I managed to figure it out. It turns out it was in fact my iCNQCangle comp file causing the issues. I wrote the comp file to roll absolute rawcount encoder values back to 0 once maximum readings per revolution were achieved (that were initially 2048 and then subsequently reduced to 256). After I switched to gray-code within the Hostmot2 SSI function, I noticed that the absolute encoder value doesn't roll to zero after maximum readings per revolution were achieved. Instead it keeps counting up or down past the readings per revolution until it maxes out the S32 bit data type, I'm guessing.

I think the way I was going about this initially caused issues with bldc comp because it wasn't expecting the rawcount encoder values to reset to zero after maximum readings per revolution were achieved.

Here is a plot of the 8i20 angle. Notice it doesn't have the sudden signal drop anymore.

Next step is getting the axis setup in Linxucnc and the servos working in closed loop.

Thanks for the help everybody.
Attachments:

Please Log in or Create an account to join the conversation.

More
30 Apr 2021 22:47 #207502 by andypugh

I think the way I was going about this initially caused issues with bldc comp because it wasn't expecting the rawcount encoder values to reset to zero after maximum readings per revolution were achieved..


Indeed. bldc handles wrap internally, and holds rawcounts in a 64-bit buffer that basically won't wrap before the heat death of the universe.
The following user(s) said Thank You: stegrg

Please Log in or Create an account to join the conversation.

Time to create page: 0.144 seconds
Powered by Kunena Forum