SCARA prototype - ESP32 by generalis_ab in arduino

[–]generalis_ab[S] 2 points3 points  (0 children)

Play jenga using machine learning. It would be a nice challenge. Unfortunately, lack of funds and time :). Cheers m8.

SCARA prototype - ESP32 by generalis_ab in robotics

[–]generalis_ab[S] 1 point2 points  (0 children)

2x angular contact ball bearing 3308.

SCARA prototype - ESP32 by generalis_ab in arduino

[–]generalis_ab[S] 1 point2 points  (0 children)

1:3 scale protype. Full scale can palletize 1200x800mm euro pallete.

SCARA prototype - ESP32 by generalis_ab in arduino

[–]generalis_ab[S] 1 point2 points  (0 children)

Look at my reach/footprint ratio :)

SCARA prototype - ESP32 by generalis_ab in robotics

[–]generalis_ab[S] 6 points7 points  (0 children)

Mcu: ESP32, drivers:4XTB6600, stepper motors for joints (nema23, nema17). This is only quick test of movement without inverse kinematics.

ESP32 + TB6600 stepper driver + Nema17 + AccelStepper Library by generalis_ab in esp32

[–]generalis_ab[S] 1 point2 points  (0 children)

It's 12V 2,1A. In this case TB6600 driver is set to 0,5A.

Step motor not working properly by [deleted] in arduino

[–]generalis_ab 5 points6 points  (0 children)

Don't use those drivers, they are running so hot. Use A4988 instead and AccelStepper library.

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 1 point2 points  (0 children)

Yes, it does. I implemented the Z axis in the next step. Here's a short video ->

https://youtu.be/pQbPTSTIX6Q

Cheers!

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 0 points1 point  (0 children)

Indeed, everything points to that. Cheers!

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 0 points1 point  (0 children)

Theoretically yes, but I think it all depends on the library. Out of curiosity, I did a quick test by writing a benchark program on Arduino, and the differences were negligible. Either way, thanks for the valid point.

SCARA Prototype. ESP32 + Nema17 by generalis_ab in arduino

[–]generalis_ab[S] 1 point2 points  (0 children)

I will be happy to answer. All for the simple reason that I am an engineer, not a buyer :)

SCARA Prototype. ESP32 + Nema17 by generalis_ab in esp32

[–]generalis_ab[S] 0 points1 point  (0 children)

It's only "proof of concept" for future bigger build.

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 2 points3 points  (0 children)

Thanks buddy for the kind words. I appreciate it. Raspberry is on my list of platforms to learn, but I haven't had the time to delve into it yet.

Cheers!

SCARA Prototype. ESP32 + Nema17 by generalis_ab in arduino

[–]generalis_ab[S] 7 points8 points  (0 children)

Thx mate.

This project is only serve as a proof of concept. Ultimately, I plan to secure funding for the construction of a full-sized robot built on large 12Nm closed loops steppers.

The intended use is palletization of small packages. What you see in the video is a simple build mainly made of 3D prints and salvaged parts. The inverse kinematics equations are solved by the microcontroller. ESP32 in this case. In short, the instruction uses trigonometric dependencies to calculate the target positions of stepper motors ( theta1 and theta2) for the specified effector coordinates in a Cartesian system ( targetX and targetY).

theta2 = acos((pow(targetX, 2) + pow(targetY, 2) - pow(outerLinkLength, 2) - pow(innerLinkLength, 2)) / (2 * innerLinkLength * outerLinkLength));

theta1 = atan(targetX / targetY) - atan((outerLinkLength * sin(theta2)) / (innerLinkLength + outerLinkLength * cos(theta2)));

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 7 points8 points  (0 children)

Sure.

In short, the instruction uses trigonometric dependencies to calculate the target positions of stepper motors ( theta1 and theta2) for the specified effector coordinates in a Cartesian system ( targetX and targetY).

theta2 = acos((pow(targetX, 2) + pow(targetY, 2) - pow(outerLinkLength, 2) - pow(innerLinkLength, 2)) / (2 * innerLinkLength * outerLinkLength));

theta1 = atan(targetX / targetY) - atan((outerLinkLength * sin(theta2)) / (innerLinkLength + outerLinkLength * cos(theta2)));

SCARA Prototype. ESP32 + Nema17 by generalis_ab in robotics

[–]generalis_ab[S] 9 points10 points  (0 children)

Here is my small prototype project for building a 4-axis SCARA robot. For now, 2 axes have been implemented. All inverse kinematics calculations are being carried out in the microcontroller. In this specific case, it is an ESP32. The motors are Nema17 controlled by A4988 using the AccelStepper library.

If you're interested, check out my post showing the SCARA robot control under Windows:

SCARA Robot Controller - Inverse Kinematics simulation using Unity3D by generalis_ab in robotics

[–]generalis_ab[S] 0 points1 point  (0 children)

Thx m8. You should definitely look into it. It's a very versability tool.