lowpass gửi vào
- 26685 lượt xem
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 .
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 }