Monday, 17 May 2021

Using my 4th axis (also called A or Rotational axis) as a "poor man's lathe"

 

I bought a rotational axis ( 4th axis or A axis call it whatever you like) for my CNC with a 4 jaws chuck. I intend to use this as both a 4th axis on my CNC, or as an independent "poor man's lathe". I know, it will be a very primitive lathe with a lot of limitations, but I intend to try it out anyway to toy with and to learn. Maybe later on I'll buy a real lathe as well, but for now this will do. I am sure I can use it for some sort of work, but I will see that later.

To get the lathe function I had to design a control box. This is based on an Arduino Uno module with a 2x16 lines LCD. It is a very simple design, using only three buttons, one for clockwise rotation start, one for counter clockwise rotation start and of course, one for stop. Stepper acceleration and deceleration is also implemented, with a possibility to select acceleration in 7 steps. The chuck rotation can be adjusted between zero and 380 RPM, which is the maximum. This corresponds to 2280 RPM on the stepper, due to the 1/6 reduction pulley the stepper drives the chuck with. So it is a respectable rotation speed for being a stepper. The rotation speed is set using a rotary encoder and that speed is saved in the EEPROM, so after a power off, the last used rotation speed is restored. The rotary encoder push button is connected to the Arduino reset and acts as an emergency stop, in case there is a need for stopping as fast as possible. Of course, this means no deceleration, just an abrupt instant stop.

For powering and control I also built a separate PSU, which provides 48V 7A DC through four individual 12V power supplies connected in series. Three of these are 9A supplies, the fourth is though only 7A, which is why the maximum is limited to 7A, but considering that the stepper is only 3A, I figure that the PSU will be good enough for the purpose.

The PSU box also contains a DM542 stepper driver, which is configured to the maximum current and 2x micro stepping, which results in 400 steps per rev.

There is also a relay inside the box. This relay decides if the 4th axis is to be driven as A axis by my CNC using UCCNC software, or independently run as a "lathe", controlled from my control box and rotated non-stop until i press the stop button. The relay can be switched from the control box and the default setting (with the relay off) is that the rotational axis is controlled by UCCNC.

Yesterday I made a short video about testing the control box functions and showing the rotations. I have not used it yet as a lathe, still waiting for some necessary tools before I can do any real tests, but I thought this can be interesting to show as well. Maybe it will give other people some ideas as well.

I intend to share the Arduino code here as well. It is well commented, so based on the code, the simple box can easily be built by anyone understanding the basics of Arduino. I will need to add some file header information before I post it here, but it will be posted soon.

I hope you will enjoy watching this video. I will make a new one once I start using it as well.