Added old firmware and pcb design files

These are all design documents that I thought I had lost. It's may make
me cringe, but it's still cool to use it to see how far I've come.
This commit is contained in:
2016-05-12 20:04:43 -07:00
parent a4df0d921d
commit b300c76103
1047 changed files with 379298 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
/*
* Steppers.c
*
* Created: 8/9/2014 1:10:47 PM
* Author: corwin
*/
#include "Steppers.h"
void enableSteppers()
{
STEP_EN_CLR();
steppersEnabled = TRUE;
_delay_ms(100);
}
void disableSteppers()
{
STEP_EN_SET();
steppersEnabled = FALSE;
_delay_ms(100);
}
void calibrateAllSteppers()
{
ZAxis.desiredPosition = 40; //Set position for the pipette to be up initially so it doesn't get broken on anything
ZAxis.shouldMove = TRUE; //Allow axis to move
while(ZAxis.shouldMove); //Wait for the pipette to come up before continuing
homeYStepper(); //Home the y axis against the limit switch
homeXStepper(); //Home the x axis against the limit switch
_delay_ms(100);
XAxis.desiredPosition = 47.5; //Set x position to z calibration point
YAxis.desiredPosition = 36.5; //Move y position to z calibration point
XAxis.shouldMove = TRUE; //Allow axis to move
YAxis.shouldMove = TRUE; //Allow axis to move
while(YAxis.shouldMove || XAxis.shouldMove); //Don't continue until calibration point has been reached
homeZStepper(); //Home the z axis against the limit switch
setStepsOffset(&ZAxis); //Re-align z steps to account for switch offset
}
void homeAllSteppers()
{
ZAxis.desiredPosition = 40; //Set position for the pipette to be up initially so it doesn't get broken on anything
ZAxis.shouldMove = TRUE; //Allow axis to move
while(ZAxis.shouldMove); //Wait for the pipette to come up before continuing
homeYStepper(); //Home the y axis against the limit switch
homeXStepper(); //Home the x axis against the limit switch
}
void homeXStepper()
{
X_DIR_CLR();
while(X_LIM_LEFT_GET()){
X_STEP_SET();
_delay_us(2);
X_STEP_CLR();
_delay_us(400);
}
XAxis.steps = 0;
}
void homeYStepper()
{
Y_DIR_SET();
while(Y_LIM_FORW_GET()){
Y_STEP_SET();
_delay_us(2);
Y_STEP_CLR();
_delay_us(400);
}
YAxis.steps = 0;
}
void homeZStepper()
{
Z_DIR_SET();
while(Z_LIM_DOWN_GET()){
Z_STEP_SET();
_delay_us(2);
Z_STEP_CLR();
_delay_us(400);
}
ZAxis.steps = 0;
ZAxis.desiredPosition = 30;
ZAxis.shouldMove = TRUE;
while(ZAxis.shouldMove);
}
void homeAStepper()
{
}
double getAxisPosition(Axes_t *axis)
{
return (axis->steps/axis->stepsPerMM);
}
void setStepsOffset(Axes_t *axis)
{
axis->steps = (axis->steps + (axis->mmFromZero * axis->stepsPerMM));
}