| @@ -0,0 +1,26 @@ | |||||
| # Specifications requirements for MCU | |||||
| For my whiteboard writer I require a microcontroller board that will be responisble for the control of the system. | |||||
| For the operation it has to drive four stepper motors and one servo. | |||||
| For the homing of the stepper motors some analog sensors are planned. | |||||
| The system requirements are divided in to four categories: | |||||
| ## Must | |||||
| 1. Connect to four stepper controllers ([TMC2208](https://nl.farnell.com/trinamic/tmc2208-silentstepstick/stepper-driver-board-2-phase-motor/dp/2822166)) via UART. | |||||
| 2. Have debugging capabilities. | |||||
| 3. Read read four analog sensor signals. | |||||
| ## Should | |||||
| 1. Connect to each of the four stepper controllers directly. Prefered over a switching solution. | |||||
| 2. RIOT-OS support. | |||||
| 3. have UART-baud > 200k | |||||
| ## Could | |||||
| 1. have a FPU. | |||||
| ## Wont | |||||
| 1. force me to work with MBED. | |||||
| 2. run on dieselfuel. | |||||
| @@ -0,0 +1,51 @@ | |||||
| $fn = $preview? 32 : 72; | |||||
| // arm 1 | |||||
| rotate([0,0,90]) arm1(); | |||||
| // arm 2 | |||||
| thinkness=3; | |||||
| width = 10; | |||||
| bore = 4; | |||||
| rotate([0,0,180]) { | |||||
| translate([0,0,thinkness]) arm2(); | |||||
| translate([0,0,-thinkness]) arm2(); | |||||
| } | |||||
| // arm 3 | |||||
| translate([-25,0,0]) rotate([0,0,90]) arm3(); | |||||
| // arm 4 | |||||
| translate([0,65,thinkness]) arm4(); | |||||
| translate([0,65,-thinkness]) arm4(); | |||||
| module arm(holes, width, thinkness, bore){ | |||||
| difference(){ | |||||
| hull(){ | |||||
| cylinder(h=thinkness, d=width,center=true); | |||||
| for(hole = holes){ | |||||
| translate([hole,0,0]) cylinder(h=thinkness, d=width,center=true); | |||||
| } | |||||
| } | |||||
| for(hole = holes){ | |||||
| translate([hole,0,0]) cylinder(h=thinkness*2, d=bore,center=true); | |||||
| } | |||||
| } | |||||
| } | |||||
| module arm1(){ | |||||
| arm([0,65],width=10, thinkness=3, bore=4); | |||||
| } | |||||
| module arm2(){ | |||||
| arm([0,25],width, thinkness, bore); | |||||
| } | |||||
| module arm3(){ | |||||
| arm([0,65],width=10, thinkness=3, bore=4); | |||||
| } | |||||
| module arm4(){ | |||||
| arm([-25,0,50], width, thinkness, bore); | |||||
| } | |||||
| @@ -0,0 +1,9 @@ | |||||
| use <arm1.scad> | |||||
| arm1(); | |||||
| translate([0,15,0]) arm3(); | |||||
| translate([0,30,0]) arm2(); | |||||
| translate([40,30,0]) arm2(); | |||||
| translate([25,45,0]) arm4(); | |||||
| translate([25,60,0]) arm4(); | |||||