OxRAMSociety / RobotArm

Public repository for all resources related to the OxRAM Robot Arm project.
https://www.oxramsociety.org/
MIT License
15 stars 7 forks source link

Explore hardware powering the robot arm #1

Closed dyamon closed 2 years ago

dyamon commented 3 years ago

Description

Given the possible shift from a BCN3D Moveo arm to a RBX1 arm we need to figure out what we need in terms of hardware.

While the design of the two arms is similar, with the main difference being the number of joints (going from 5 to 6), the hardware configuration is quite different: we are going from a combination of an Arduino Mega 2560 with a RAMPS 1.4 shield (a standard configuration for DIY 3D printers) to a Raspberry Pi with a SlushEngine Model D 7 (a quite expensive stepper motor driver).

The Moveo arm configuration is not compatible with the RBX1 arm because the RAMPS 1.4 shield is able to control a maximum of 5 stepper motors.

Details

For the time being we might want to try and stick with the Arduino Mega + RAMPS 1.4 combination (since it's cheaper). This hardware setup currently requires a 12V power source and can control up to 5 stepper motors and a LCD screen (which might be useful to display some debugging/status information). More information on this can be found in the assembly guide.

The main task is to find a way to attach a 6th stepper motor to the current setup. We might be able to do this with a stepper expander or use one of the several way to add more stepper motor drivers to the RAMPS 1.4.

Also note that while the picture that shows the hardware configuration for the Moveo arm shows 6 stepper motor drivers, two of them (2nd and 6th from the top) are connected in parallel, and hence it's not possible to control them independently.

There seems to be a way to connect a Bluetooth module to the RAMPS shield that would enable wireless communication.

Roadmap

dyamon commented 3 years ago

I bought one of these kits from AliExpress.

It contains an Arduino Mega 2560 R3 (a cheap clone), RAMPS 1.6 shield, LCD12864, 5x DRV8825 Stepper Motor drivers compatible with the shield:

I found a kit with a RAMPS 1.4 but was a bit more expensive considering this one comes with motor drivers as well.

dyamon commented 2 years ago

Additional information on the hardware configuration is provided in the wiki.

dyamon commented 2 years ago

We tried to run the 6th motor connecting a L298N Motor Driver to the RAMPS 1.4 board without success, both by powering the driver directly from the power supply or by using the 12V auxiliary fan pins on the RAMPS.

The driver powers up but the motor stutters back and forth, heating up. This is most likely due to an excessive amount of current going into the motor or mismatched voltage range between driver and motor. Using this driver we are not able to control how much current goes into the motor, like with A4988 motor drivers.

dyamon commented 2 years ago

We bought a couple of these stepper motor extenders.

dyamon commented 2 years ago

The circuit is now able to handle 6 stepper motors, thanks to the extension board. The extension board is then connected to the RAMPS 1.4 using some auxiliary pins. More on this in the wiki.

dyamon commented 2 years ago

Have a look at this for an example on how to use the u8g2 graphic library with the ST12864 display that came with the RAMPS 1.4 kit.