废旧光驱拆解与丝杆测试

废旧光驱拆解

拆解步骤如下:
废旧光驱拆解与丝杆测试_第1张图片
废旧光驱拆解与丝杆测试_第2张图片
废旧光驱拆解与丝杆测试_第3张图片
废旧光驱拆解与丝杆测试_第4张图片
废旧光驱拆解与丝杆测试_第5张图片
废旧光驱拆解与丝杆测试_第6张图片
废旧光驱拆解与丝杆测试_第7张图片
废旧光驱拆解与丝杆测试_第8张图片

电路设计

采用ardunio uno + cnc shield v3 + A4988模块,cnc shield可以安插在uno上, A4988模块安插在uno上。
安装后效果图如下:
废旧光驱拆解与丝杆测试_第9张图片
光驱丝杆驱动电机为4线步进电机,需要自行焊接上电线,如下图:
废旧光驱拆解与丝杆测试_第10张图片
电源采用12V 1A的变压器,插在uno上。由于CNC shield需要12V输入作为电机驱动电压,这里直接从uno引入12V输入电压, 整体安装图如下:
废旧光驱拆解与丝杆测试_第11张图片

测试代码与视频

Ardunio 代码如下:

#define EN 8 //A4988 enable
#define DIR 5 //A4988 dir
#define STEP 2 //A4988 step
#define UNIT 106 //1mm steps 实测值

byte comchar = 0;

void step(boolean dir, byte dirPin, byte stepperPin, int steps)
{
  digitalWrite(EN, LOW);
  digitalWrite(dirPin, dir);
  delay(50);
  for(int i=0; i<steps; i++)
  {
    digitalWrite(stepperPin, HIGH);
    delayMicroseconds(100);
    digitalWrite(stepperPin, LOW);
    delayMicroseconds(100);
  }
  //delayMicroseconds(2000);
  digitalWrite(EN, HIGH);
}

void setup() {
  // put your setup code here, to run once:
  pinMode(EN, OUTPUT);
  pinMode(DIR, OUTPUT);
  pinMode(STEP, OUTPUT);
  digitalWrite(EN, HIGH);
  Serial.begin(9600);

  while(Serial.read()>= 0){} //clear serialbuffer

}

void loop() {
  // put your main code here, to run repeatedly:
  while(Serial.available()>0){
    comchar = Serial.read();//读串口第一个字节
    switch(comchar)
    {
      case '0':
      step(true, DIR, STEP, UNIT*10);
      Serial.write(0x55);
      break;

      case '1':
      step(false, DIR, STEP, UNIT*10);
      Serial.write(0x55);
      break;

      default:
      break;
    }
  }
}

测试视频

你可能感兴趣的:(Robot)