Step motor + driver giá rẻ cho new Newbie

Mô tả dự án: 

Hôm nay thứ bảy, bỗng lại có hứng thú muốn đóng góp một chút hiểu biết cho anh em lớp vỡ lòng chúng ta. Đừng nghĩ rằng đây là lời quảng cáo nhé, nó là một Project nhắm tới tiêu chí “ngon , bổ, rẻ” mà chắc ai cũng muốn hướng tới… vì nếu phải mua bộ driver và motor bước thì chúng ta cũng phải mất tới hơn trăm bạc ấy chứ…

Động cơ bước trong ổ đĩa mềm

Lan man quá, vẫn là quảng cáo ấy mà, thôi vào vấn đề chính nhé, các bạn biết cái ổ đĩa A (floopy driver) trước đây chúng ta hay dùng chứ? Mà chắc các bạn 200x không biết đâu devil .

Tháo vỏ ra ta có thế này đây: 

Và thế là ta đã có đủ step motor và driver cho nó rùi nhé, đặc biệt hơn nữa driver đã kết nối sẵn với motor rồi, khỏi phải làm gì nữa, lét sờ gâu chúng ta đi tìm cách điều khiển nó nhé.

Làm thế nào để điều khiển?

Để điều khiển được nó, các bạn cần nắm được các vấn đề sau:  Nhìn vào đầu kết nối của ổ đĩa nhé

Rồi niệm chú đếm từ trái qua phải nhé, có 2 hàng chân:

  • Hàng trên 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 ……
  • Hàng chân dưới 1, 3, 5, 7, 9, 11, 13, …..Các chân 3,5,7,9 ,11,13…. Là mass (GND) nhé.

Chân 12 là chân Enable cho phép điều khiển môtor tích cực mức LOW Chân 18: DIR là chân đổi chiều Motor (quay thuận chiều kim đồng hồ khi chân 18 nối LOW, ngược chiều kim đồng hồ khi chân 18 HIGH) Chân 20 là STEP.

Chú ý: muốn quay 1 vòng phải cấp 10 xung step

Các chân 3,5,7,9 ,11,13…. Là mass (GND) nhé.

Xong , các bạn copy code này và chạy thử nhé (cái này mình cũng chỉ đi copy lại thôi) tham khảo: 

Nói có sách, mách có video, các bạn hãy xem ở đây nhé:  đúng tiêu chí “ngon, bổ, rẻ” chưa bạn? Hãy làm theo nếu bạn chưa biết, hoặc nếu bạn còn thấy bài viết còn thiếu sót gì thì hãy góp ý ngay và luôn cho mình nhé.

Code

int x; 
#define BAUD (9600)
  
void setup() 
{
  Serial.begin(BAUD);
  pinMode(6,OUTPUT); // Enable pin - chân khởi động - nối vào GND sẽ giúp ta bật động cơ bước, nối vô VCC động cơ bước được thả ra. Nôm na: GND = servo.attach, VCC = servo.detach. Nối với pin 12 Floppy disk
  pinMode(5,OUTPUT); // Step pin. Nối với pin 20 Floppy disk
  pinMode(4,OUTPUT); // Dir - pin. Nối với pin 18 Floppy disk
  digitalWrite(6,LOW); // Set Enable low
}
 
void loop() 
{
  //MOTOR CHAY CUNG CHIEU KIM DONG HO
  digitalWrite(6,LOW); // Đặt Enable ở trạng thái LOW
  digitalWrite(4,LOW); // Đặt Dir  ở trạng thái LOW MOTOR CHAY CUNG CHIEU KIM DONG HO
  Serial.println("Cho chay 40 steps (4 vong)");
  for(x = 0; x < 40; x++) // Cho chay 4 vong
  {
    digitalWrite(5,HIGH); // Output high
    delay(10); // chờ
    digitalWrite(5,LOW); // Output low
    delay(10); // chờ
  }
  Serial.println("Pause");
  delay(1000); // dừng 1 s rồi quay tiếp
  
  //MOTOR CHAY NGUOC CHIEU KIM DONG HO
  digitalWrite(6,LOW); // Đặt Enable ở trạng thái LOW
  digitalWrite(4,HIGH); // Đặt Dir  ở trạng thái HIGH MOTOR CHAY NGUOC CHIEU KIM DONG HO
  Serial.println("Cho chay 40 steps (4 vong)");
  for(x = 0; x < 40; x++) // Cho chay 4 vong
  {
    digitalWrite(5,HIGH); // Output high
    delay(10); // chờ
    digitalWrite(5,LOW); // Output low
    delay(10); // chờ
  }
  Serial.println("Pause");
  delay(1000); // dừng 1 s rồi quay tiếp
}

 

Youtube: 
Arduino promini control stepmotor floopy. Đúng tiêu chí: "ngon, bổ, rẻ" nha!
lên
21 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results