TODO LIST




Introduction

We need to do a group assignment in fabacademy. This week and the next week are doing a group based assignment. where students can team up and build a machine. The Group assignment splitted to two weeks. In first week we need to plan to build a machine and design the mechanical parts. The next week we need to design the machine and it should be working. We need to split the works between us. We decided to build a machine that will automatically pick the components for us and take the component box back to the place after the user take the components.

Team Members



Mechanical designing

We started with designing the mechanical part of the machine. Jogine Francis is the lead designer of the project. We started the mechanical designing of the machines in Fusion 360. I helped jogin Francis to decide correct messsurements for stepper motor mountings. While he design the main parts i tested the correct diameter to laser cut and tried to mount on the stepper motor. This will help for mounting gears in stepper motor.




Then we designed the lenear rail. The lenear rail is the main part of our machine. We need to make them perfect. So we first laser cut a prototype of the lenear rail and then tested it. eEverything was working correct. So we decided to laser cut the actual lenear rail design.





After that we need to do CNC mill the shelf for placing components. We designed a dedicated shelf by ourself. Then we cut out the shelf pieces with the help of the Shopbot CNC milling machine.




Machine designing

In the machine designing week my part is to check all stepper motors and stepper motors drivers are working good and help to build the firmware for the machine. First we all gather around to discuss about what electronics parts to use and what features we need to add to the machine. We choose NodeMCU as the brain of the machine. We can't use the ESP8266 SoC because of lack of time and difficulties. NodeMcu support arduino core, so we can programm it using arduino IDE. We choose polulu stepper motor driver. At the end of the discusion, we started doing our parts. I started to working on the stepper motor and stepper motor driver. mean while jogin was working on the power supply parts and salman faris where designing the PCB. Hari krishnan and justin george where helping each other to assemble the machine together.




Programming and testing stepper motor

Before mounting and building firmware for machine, we need to check the stepper moto and stepper driver were working good. It is my part to do these work. I strted conecting the stepper motor driver(polulu module) on a bread board and conected the stepper motor to the module. as you see in the below diagram. I decidedto check the module with a arduino UNO. After conecting all together. I wrote a sample code to rotate the stepper motor 200 steps CW and CCW. First i powered the motor from the arduino 5v itself. But it is insufficient to run the motor. So coneced it to the bench power supply with 12v 2amp. Then it is working fine.









Arduino Code:

#define DIR1 1
#define DIR2 3


#define STP1 0
#define STP2 2


void setup() {

  pinMode(DIR1,OUTPUT);
  pinMode(STP2,OUTPUT);
    pinMode(DIR2,OUTPUT);
  pinMode(STP2,OUTPUT);

}

void loop() {
 digitalWrite(DIR1,HIGH);

 for(int i =0;i<200;++i)
 {
  digitalWrite(STP1,HIGH);
  delay(1);
  digitalWrite(STP1,LOW);
  delay(1);
 }
delay(50);

digitalWrite(DIR1,LOW);
for(int x =0;x<200;x++){
digitalWrite(STP1,HIGH);
delay(1);
digitalWrite(STP1,LOW);
delay(1);
}
delay(50);


digitalWrite(DIR2,HIGH);

 for(int i =0;i<200;++i)
 {
  digitalWrite(STP2,HIGH);
  delay(1);
  digitalWrite(STP2,LOW);
  delay(1);
 }
delay(50);

digitalWrite(DIR2,LOW);
for(int x =0;x<200;x++){
digitalWrite(STP2,HIGH);
delay(1);
digitalWrite(STP2,LOW);
delay(1);
}
delay(50);
}



Demo