The machine was assembled without ballscrews, servo drives connected to breakout boards and motors, and proved to rotate. Then the ballscrews were connected to the platform joints, and the nuts bolted to the actuators. Till the last moment there were doubts, that the platform would be rigid enough. But it proved rigid as planned! The very first moves were luckily captured on the video. Not much spectacular, but really exciting for me.
The first configs used TkEMC, genhexkins.c was cleaned from irrelevant stuff, genhexkins.h parameters changed to actual machine dimensions. It's only possible with LinuxCNC compiled from source. Here's one of the first configs with software stepgens: hexapod.ini and hexapod.hal.
Later video showing the whole machine, some tests and the first milling.
As the machine was controlled via LPT port with max step frequency 30-40 kHz, the velocity was very limited (DMM servos have minimum 2000 pulses per revolution). Besides, the software stepper is not stable enough, and high acceleration often resulted in "joint following error". It would stop the machine in the middle of the move, losing its home position. These problems were eliminated later with MESA 7i43 card.
Again, to be continued...
Your blog is really helpful. I am also making a hexapod machine too. I am just wandering the way you control the six servos. Could you please send me the code? I will definitely appreciate that.
ReplyDeleteAnd what about your cardanic joints? How much are their operating angle you choose? Thank you in advance.
Hi Sean, I use LinuxCNC www.linuxcnc.org. My config files for stepper mode linked above.
DeleteThe platform joints provide orientation within a hemishpere, but when the screw axis coincide with the joints axis, there can be a problem. That's a drawback.
Upper joints have at least +-40deg, IIRC.
Any info on your machine?
Thank you for your reply. We didn't use LinuxCNC, so more effort should be given to do the control. Actually I am still designing the structure. Do you know where I can get those platform joints in your machine? They seem to be working very well.
DeleteThe platform joints are original. Very simple, they have preloaded bushings of caprolon (polyamide-6) to decrease friction and eleminate backlash. You just need to provide tight fit.
DeleteCool. Do you mean you made these joints yourself? That's amazing
DeleteYes, all joints are custom-built.
DeletePurchased are spindle, strut motors, ballscrews, bearings for upper joints, bearings for nut rotation, timing pulleys for motors (the nut pulleys are also custom).
Hi,
ReplyDeleteI am manufacturing a stewart machine tool. But i have no idea about linuxcnc configurations and control. Can you help me on this subject ?
Hi!
DeleteI'm afraid I couldn't be really helpful until you learn basics of LinuxCNC. But the configuration of hexapod is already a lot easier in the latest LinuxCNC release, no nedd to recompile the whole project from source.
What motors/actuators do you have?
I have 6 stepper motor actuator and Mesa 7i76+7i78 daughter cards and 6i25 motion control card. I am looking a document which is explain to hardware and software configuration with step by step. May you connect over e-mail adress for the details ?
ReplyDeleteThank you.
omer.erkan@yahoo.com.tr
You can email me pkmcnc at gmail dot com
DeleteI'm afraid there's no exact documents though, you'll have to learn basics of Linuxcnc.
Thank you. I will connect to you.
ReplyDeleteI currently have an old nc tube bender that using hydraulic and solenoid stuff.I want to upgrade it to CNC version that using up to 6 servo motor.Do you think linuxcnc is suitable for this.I just use Mach3 for my 3 axis CNC ,but have no experience for linux CNC.
ReplyDeleteCan you give me some advise ?
Right, LinuxCNC can control up to 9 coordinate axis and even more servo motors, and its built-in PLC can be useful too. I think LinuxCNC will be perfect for your machine.
Deletecoule you tell me where to find the stewart kinematics code in the
ReplyDeleteemc? thank you very much
sure https://github.com/LinuxCNC/linuxcnc/blob/master/src/emc/kinematics/genhexkins.c
Delete