Compensation between B and C with moveoff?

More
30 May 2025 08:26 - 30 May 2025 08:32 #329392 by mille5
Hello dear forum, (Translation GER-ENG Google)

Short introduction:
I've been a fan of LinuxCNC for over 15 years, and unfortunately due to a lack of time (I'm sure many of us have) I've neglected my hobby a bit in recent years. I'm a bit out of programming in HAL and am looking for some food for thought or a solution to the following problem: 

Compensation between B and C axis required. 
I built a rotary/tilt table for my milling machine. Since my installation space is very limited, the whole thing had to be relatively small.
Harmonic drives were used for this purpose, the shaft runs through the HDrive of the B axis to rotate the HDrive of the C axis. The whole thing is solved via belt drives. Since the motor of the C axis does not pivot, it rotates when the B axis rotates. Now I need a compensation that compensates for the position of C every time the B axis moves. For one revolution of the B axis I need about 1/51th of compensation at C. My idea is to compensate for the whole thing using moveoff. 

Are there already solutions that might be better, or has anyone done something similar?
I would appreciate any help and tips.
Kai

my hardware:
Mesa7i92, 2xMesa7i76, Mesa7i84, Mesa7i73
Homemade SK15 ATC spindle, Lenze FU
Homemade 3 axle + BC,



Hallo liebes Forum,

Kurzvorstellung:
Ich bin sein über 15 Jahren Fan von LinuxCNC, und habe leider durch Zeitmangel (haben sicher viele von uns) mein Hobby die letzten Jahre etwas vernachlässigt. Ich bin etwas raus aus der Programmierung in HAL und suche einen Denkanstoß bzw. eine Lösung für folgendes Problem: 

Ausgleich zwischen B und C Achse benötigt. 
Ich habe für meine Fräse einen Dreh/Kipptisch gebaut. Da mein Bauraum sehr begrenzt ist musste das ganze auch relativ klein werden.
Dazu wurden Harmonic Drives verwendet, durch das HDrive der B Achse läuft die Welle um das HDrive der C Achse zu drehen. Das ganze ist über Riementriebe gelöst. Da der Motor der C Achse nicht mit schwenkt, rotiert dieser wenn sich die B Achse dreht. Nun Brauche ich einen Ausgleich der bei jeder Bewegung der B Achse die Position von C Ausgleicht. Bei einer Umdrehung der B Achse benötige ich an C ca.1/51tel an Ausgleich. Meine Überlegung ist das ganze über moveoff zu kompensieren. 

Gibt es dazu bereits Lösungen, die evtl. besser sind, oder hat jemand ähnliches gemacht?
Ich würde mich über jede Hilfe und Tipp freuen.
Kai

meine Hardware:
Mesa7i92, 2xMesa7i76, Mesa7i84, Mesa7i73
Eigenbau SK15 ATC Spindel, Lenze FU
Eigenbau 3 Achs + BC, 
Attachments:
Last edit: 30 May 2025 08:32 by mille5.

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

More
31 May 2025 08:45 #329427 by Aciera
Replied by Aciera on topic Compensation between B and C with moveoff?
Personally I would add the compensation to the kinematics model but if you feel more comfortable using a hal solution then why not give that a try.

There is also the external offsets feature:
www.linuxcnc.org/docs/devel/html/motion/external-offsets.html
The following user(s) said Thank You: rodw, mille5

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

More
01 Jun 2025 06:52 #329495 by mille5
Replied by mille5 on topic Compensation between B and C with moveoff?
Hello Aciera, thanks for the reply.

I haven't had anything to do with the kinematics module yet. I'll stick with the experiment in the HAL for now.
(but ​​that will definitely happen sometime...)

I've been experimenting a bit with "moveoff-external." With a fixed offset value, it looks quite promising.

Now it's about creating a variable from the B-axis value to put it into mv.offset-in-4 (C-axis).

For the calculation, I'll use mult2 with a fixed constant of 1/51

mv.offset-in-4 = mv.pos-3 * (1/51)

I've looked at some values ​​in the HAL show and I'm not quite sure which would be the best:
bpos-cmd, bpos-rel, or mv.pos-3.

I'll play around a bit more.

Best regards,
Kai
 

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

Time to create page: 0.319 seconds
Powered by Kunena Forum