Welcome! Log In Create A New Profile

Advanced

SCARA arm plotter / printer using Nema 23 stepper motors

Posted by CptBlueberry 
SCARA arm plotter / printer using Nema 23 stepper motors
January 21, 2022 08:25AM
Dear RepRap'ers,

Currently I am working on a project where I am trying to get a SCARA arm robot to function as a printer. Having browsed google up and down I have found a lot of information but I am stuck on the software part.

So far I have managed to get the SCARA arm to print using UGS Platform (GRBL basis). However I am dissatisfied by the result, low quality print (stepsize / gear ratio related) and the plotted image (text in this case) being plotted at an arc [see image] (image used as visual reference for the acquired end result).


After some more looking around I have found this laser engraver project which equals the end result I would like to achieve. However this project makes use of the following components:
- Arduino Mega (controller)
- Ramps 1.4 board (motor drivers)
- Nema 17 stepper motors
[howtomechatronics.com]

The problem with this is that with my current stepper motors I am unable to use the ramps 1.4 board as I am using different driver (see components list for controller, driver and motors). Now I am wondering, is there some way to find the arduino mega outputs used in the marlin software, as used in the above mentoined project, so that I may be able to connect my drivers and homing switches directly to the megaboard?

Components list:
- 2x Nema 23: 103h7123-5740 (required for torque)
- 1x Arduino Mega 2560
- 2x TB6600 Stepper motor drivers
- 2x limit switches (not really important for this question I guess)

Software source:
- [marlinfw.org] (basic marlin software)
- [github.com] (SCARA arm configuration files)


Hopefully you will be able to point me in a certain direction.

TL : DR
Can I somehow find the output pins used in the SCARA arm marlin software in order to directly driver 2 tb6600 stepper drivers in combination with an arduino mega instead of having to use a ramps 1.4 board?
VDX
Re: SCARA arm plotter / printer using Nema 23 stepper motors
January 21, 2022 10:35AM
... I've wired some small PCB-insets into the Pololu-style sockets, which simply "exports" the pins for DIR, STEP, GND (and evantual ENABLE) to an external stepper driver ... was using common drivers for steppers up to NEMA-34 or 3-polar stepers from Precitec/Berger-Lahr with 325V DC voltage without any problems smoking smiley

For "poor quality" with SCARA -- search for infos about "PARALLEL SCARA" - its much more precise and faster too, as all the motors are fixed to the basis only and it has "passive lightweight arms" with a joint in the middle, which can move the head with up to some m/s speeds!

I'm slowly progressing with a parallel SCARA setup with 4 NEMA-23-steppers (the passive "arms" are missing yet ... have to mill them ... but some "more urgent" jobs to do eye rolling smiley ):




The attached images shows the back side and the max possible way in Z (its 100mm with this setup)

Edited 1 time(s). Last edit at 01/21/2022 10:39AM by VDX.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Attachments:
open | download - 73_800x400.png (234.7 KB)
open | download - 51_800x400.png (226.1 KB)
Re: SCARA arm plotter / printer using Nema 23 stepper motors
January 22, 2022 08:42PM
Look in Marlin/src/pins/ramps/pins_RAMPS.h, the pins such as X_STEP_PIN, X_DIR_PIN, etc.

Regarding mechanics, your reduction ratio does look too low. 8:1 is reasonably good (15 tooth motor pulleys and 120 tooth arm pulleys). Use metal for the small ones and print the big ones. Use 16 tooth if you can't find 15. I recommend putting another bar above the elbow pulley, with bearings around the elbow shaft and elbow motor shaft. Otherwise the belt tension causes the arm to deflect upward and tilt the elbow axis a bit. Maybe a fat metal arm would be stiff enough to resist it, but a fat plastic arm is not (speaking from personal experience).

I think the Marlin SCARA code is almost functional without modifications now. There are still a couple of #if EITHER(MORGAN_SCARA, MP_SCARA) checks in Motion.cpp that need to be disabled on mine. One in do_homing_move around line 1555 and one in homeaxis around line 1724.

The main difficulty with it is understanding how the home position defines the angular coordinate system. I rewrote scara_set_axis_is_at_home to define the home position as a pair of joint angles rather than a cartesian X/Y position, which I find easier to work with:
  void scara_set_axis_is_at_home(const AxisEnum axis) {
    if (axis == Z_AXIS)
      current_position.z = Z_HOME_POS;
    else {
      delta.a = SCARA_OFFSET_THETA1 - scara_home_offset.a;
      delta.b = SCARA_OFFSET_THETA2 - scara_home_offset.a - scara_home_offset.b;
      forward_kinematics(delta.a, delta.b);
      current_position[axis] = cartes[axis];

      //DEBUG_ECHOLNPGM("homeposition A:", delta.a, " B:", delta.b);
      //DEBUG_ECHOLNPGM_P(PSTR("Cartesian X"), current_position.x, SP_Y_LBL, current_position.y);
      update_software_endstops(axis);
    }
  }
The SCARA_OFFSET_THETA values are the approximate home angles, and you can adjust scara_home_offset using M665 to refine them at runtime. Then save to EEPROM with M500. The elbow angle and SCARA_LINKAGE defines are what determine whether things come out square and proper dimensions. Shoulder angle only rotates the whole coordinate system around the shoulder axis.

Edited 1 time(s). Last edit at 01/22/2022 08:46PM by dekutree64.
Re: SCARA arm plotter / printer using Nema 23 stepper motors
January 24, 2022 07:12AM
Alright thank you for this. I should be able to get things done now with the current knowledge I have. I was indeed looking for the "Marlin/src/pins/ramps/pins_RAMPS.h" haha. I'll keep you guys updated. If you don't hear back from me assume the worst grinning smiley
Sorry, only registered users may post in this forum.

Click here to login