Building the Thor+ robot arm

Building a 6-axis robot arm based on the AngelLM's Thor robot and the add-on's and improvements of dannyvandenheuvel.

Similar projects worth following
This is the buildlog of the Thor+ robot I'm building right now.
The original author is AngelLM who created the Thor robot.
DannyvandenHeuvel created the Thor+ robot which is an improved version with many add-ons.

I was looking for a 6DOF robot arm to print. 

The first project I found was the Mantis Robot Arm. This is a nice robot arm but the project seams to be abandoned.

Then somebody pointed me to the Thor OpenSource 3D printable Robotic Arm from Angel LM. I loved this design but I was missing the feedback sensors.

And then I found the 'Thor' robot with addons and GUI from Dannyvandenheuvel. This is the Thor robot arm with a lot of addons and improvements. Danny added the feedback sensors in V2.02. 

In this project I will share my building of experience of Danny's version of the Thor robot. 

  • Day 7: Mounting the Axis 2 and 3 stepper motors in ART2

    Sepio21 hours ago 1 comment

    Today I printed the ART2BODYACOVER_01 so I could build the ART2 completely. 

    Yesterday I was planning to use nuts and lock washers. But there is no room to work inside the printed part. So I changed it and used a simpler and better way.

    Remove the bottom screws of the AXIS2 Motors.

    Remove 10 of the 12 top screws.

    I replaced the top screws with M3 20mm PCB standoff pillars. This way I could secure the gearbox before inserting the motors in the printed part.

    Don't forget the nuts on the inside.

    Add the backside screws.

    Make sure you add the AXIS 3 motor before mounting the orange ring and adding the top screws of the AXIS 2 motors. Leave some room between both layers of motors for the fan to cool them.

    Mount the ring and the stepper motors with the top screws. By using the PCB standoffs is is much easier to adjust the AXIS2 motors. Just loosen the top an back screws and press on the motors. 

    Now it was time to add the fan. You need a 5V fan instead of the 24V on Danny's sheets. There is no room for a 24v wire inside the 24 wire slip ring. 5 steppers x 4 wires, ground, 5V, TX and RX = 24 wires. (Both Axis 2 motors  are connected with the same wires). 

    The fan is mounted. I had to make the screw holes a little bit bigger.

    Tomorrow I want to finish the AXIS1 and the base. The printer is busy printing the last part.. 

  • Day 6: Base bearing and Axis 2 (pcb and motors)

    Sepio2 days ago 7 comments

    Yesterday the bearing 16014 arrived from eBay. It did cost $14.04 shipping included. It's a russian bearing. The quality is very good.

    Tonight the printer printed ART1BODY_P2.stl. This morning I found out that one of the very thin walls had collapsed. But after cleaning the print it is nice enough to be used.

    I created the supports with Meshmixer. They look nice. I have some trouble printing thin lines  (like the support structure in Cura) with PETG filament. Cura doesn't have a setting for this material type. I use the CPE profile. 

    By using Meshmixer support I could create another type of support structure. This looks very nice, doesn't cost much material and is easy to remove.

    After cleaning this part I was ready to temporarily mount the stepper motors.

    First I had to remove the screws from the stepper motors and then I replaced them with M3x30 and M3x35. I didn't have M3x35 so my top screws are too long and will be replaced tomorrow.

    UPDATE: Please look at day 7 for a better and easier way to mount the motors.

    After mounting the motors it was time to create the custom PCB with the connectors. An 24 wire slipping will be added in the future.

    The wires will get some color codes. The polulu stepper motor driver male header pins have the same colors. (So the red coded wire will be inserted in the red connector and will be driven by the red polulu).

    The two green connector pins are connected on the underside of the PCB. The 0V and 5V from the Arduino connector are connected to the Fan connectors. The male header pins below the Arduino connector can be used for debugging purposes. 

    Make sure you leave some room for the ring that will be mounted on the underside of the PCB.

    The PCB is mounted on the ring with some distance between them (to make room for the slip ring and its wires).

    Axis 1 can be fitted on or removed from the base.

  • Day 5: Powering the electronics

    Sepio3 days ago 4 comments

    Yesterday Olaf Baeyens gave me some good advice about adding an emergency switch. "Something that may be important to your electronics.  In my situation I originally cut the power at the mains voltage. However I pretty fast discovered that the main power supply holds a lot of more energy so the stepper motors did not immediately cut their movement. Especially when you develop your software this can destroy your parts or even worse lose a finger."

    So I have ordered one today. Below two photo's of my setup. I'am going to created an case for the Power supply and Step down converter. This case will also contain the emergency button to cut the 24V line so that all the stepper motors will stop immediately.

    This case will provide power though a thick 3 core wire to the base (Ground/24V/5V). If necessary I could also cut the 5V line for the Nextion Display but I don't expect that to be necessary.

    The Ultratronics can be powered by the 24V input, or by both USB ports. Is it safe to connect the computer to one or both USB ports and use the 24V input at the same time? Or do I have to change one of the 3 power input jumpers? Momentarily I'am using an USB isolator to be safe.  

    Danny gave some good advice about using shielded wires for the RX en TX to prevent electrical interference. "Your nextion serial connection between the serial port on the ultraboard needs to be shielded! That solved all my communication problem I had in the past." 

    I have ordered 24 awg 2 and 3 core and 26 awg 4 core shielded (headphone) cables.

    What is the best way to shield the cable? Some people say that you don't have to connect the shield. Some people use the shield as ground. And some people are connecting the shield on one side to ground. 

  • Day 4: Adding some extra parts to the base

    Sepio5 days ago 0 comments

    My robot arm will be using the black an fluor orange colouring scheme. The stepper motors are mounted in the black parts. Those parts can get to hot for PLA (max 60°C). PETG can handle 80°C and should be easier to print then ABS. PETG has no shrinkage and no bad smell.

    I will try to print all of them in PETG. But I'am having a little bit of trouble printing the support in PETG. It sticks to the print head. I'am also going to change and reprint the base because I want to add a fan inside.

  • Day 3: Building the base

    Sepio5 days ago 0 comments

    Today I mounted the Ultratronics board in the big case and the stepper motor in the base. I printed the base with PETG. I have to change the printer settings because the filament was a little bit stringy. 

  • Day 2: The electronics

    Sepio5 days ago 4 comments

    The Ultratronics Pro board arrived. I made a few connectors and a custom pcb for the logic level shifter. On the right side of the board there is room for the USB host.

    For the wires I used the following colors

    • Black = 0V
    • Red = 5V
    • Yellow = 3.3V
    • Green = RX
    • White = TX / Data
    • Blue = Clock

    The electronic sheet Danny provide was very useful.

    I also fitted the Polulu drivers with (different colored) pin headers. I followed the guide to set the current limit. The right driver is set to 2A. The other ones are set to 0.4A. 

  • Day 1: Printing the big case

    Sepio5 days ago 0 comments

    After reading al the info of the Thor and Thor+ robot arm I decided that like this so much that I want to build one myself. The fist part is finished. It is the big case which is going to be mounted to the base.

View all 7 project logs

Enjoy this project?



dannyvandenheuvel wrote 3 days ago point

Shielding cables:

Generally shielded wires are only grounded on one end. Splicing shouldn't be a problem.That depends. General rule is:If you want to keep EMI inside the cable, ground both ends. If you want to keep the EMI outside the cable, ground one end.So if a signal is small in magnitude (think audio signal like microphone circuit) ground one end to keep interference from outside corrupting the signal inside the cable (including interference created by a ground loop if you were to ground both ends).If you are connecting something like a strobe signal (large AC signal) go ahead a ground both ends as goal is to make sure what is inside doesn't radiate to the outside (groundloop induced corruption of the large strobe signal is a non-issue).In the case of an RS-232 signal you have a fairly large signal [5V or more Peak to peak) running at almost 10KHZ baseband frequency (or more)]. Radiated harmonics could cause all sort of issues. Hence, ground both ends. 
I grounded one side on the ultra board. No problems detected after it.

  Are you sure? yes | no

Olaf Baeyens wrote 3 days ago point

I learned something new!

  Are you sure? yes | no

Olaf Baeyens wrote 4 days ago point

Nice work!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates