We did a lot of CAD design and before we continued tuning the design we wanted to do a basic test of the system.
We build a rig with some 3D printed parts, empty filament boxes and metal pipes. A temporary rack was made with some wood and 3D printed ridges.
To try the rig we made a very basic Arduino sketch using the SpeedyStepper library (you can also find the code in our Gitlab repository: https://gitlab.com/awesome-makes-public/automated-storage-and-retrieval-system).
#include <SpeedyStepper.h>
const int MOTOR_STEP_PIN = 2;
const int MOTOR_DIRECTION_PIN = 5;
const int MOTORY_STEP_PIN = 4;
const int MOTORY_DIRECTION_PIN = 7;
SpeedyStepper stepperX;
SpeedyStepper stepperY;
void setup()
Serial.begin(9600);
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
stepperX.connectToPins(MOTOR_STEP_PIN, MOTOR_DIRECTION_PIN);
stepperY.connectToPins(MOTORY_STEP_PIN, MOTORY_DIRECTION_PIN);
}
void loop()
stepperX.setStepsPerRevolution(200 * 16);
stepperY.setStepsPerRevolution(200 * 16);
stepperX.setSpeedInRevolutionsPerSecond(1.5);
stepperX.setAccelerationInRevolutionsPerSecondPerSecond(1.0);
stepperY.setSpeedInRevolutionsPerSecond(1.5);
stepperY.setAccelerationInRevolutionsPerSecondPerSecond(1.0);
stepperX.setupRelativeMoveInRevolutions(-6);
stepperY.setupRelativeMoveInRevolutions(-8);
while (!stepperX.motionComplete() || !stepperY.motionComplete()) {
stepperX.processMovement();
stepperY.processMovement();
}
delay(1000);
stepperX.setupRelativeMoveInRevolutions(6);
stepperY.setupRelativeMoveInRevolutions(8);
while (!stepperX.motionComplete() || !stepperY.motionComplete()) {
stepperX.processMovement();
stepperY.processMovement();
}
delay(1000);
}
This is not the code used in the movie, we didn't save that properly so it got lost. This code just demonstrates some basic x/y movement. Once we have a better rig set up we will write some better code.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.