Thạch Đinh Kim gửi vào
- 11523 lượt xem
Mình thấy hiện tại có một số bạn trên diễn đàn khác có hỏi về cách điều khiển động cơ BLDC mà các bạn gom đc từ các máy photocopy mà không biết điều khiển như thế nào vậy hôm nay mình sẽ hướng dẫn một bài ngắn cho các bạn nhé
Chuẩn bị vật liệu
- 1 arduino nano 79k
- 1 lcd 2004 (60k)hoặc 1402(40k)
- 1 lcd-i2c 35k 2 biến trở 103
- 1 nguồn 24V DC 2A trở lên bởi nhiều loại xài 2A tới 4A căn cứ theo thông số mà chọn nguồn phù hợp
- 1 cục sạc điện thoại
- 1 cáp microUSB type B thường tặng lúc mua arduino có chỗ nó bảo mua Không cần regulartor xài nguồn 5V của arduino
Lắp ráp
Sơ đồ lắp ráp như thế này
Mình mô phỏng theo con A2995305 lấy từ máy Ricoh 6600
Viết code
Viết trên Arduino IDE 1.6.4 và có thư viện LiquidCrystal_I2C.h Bạn nào không xài màn hình thì xóa code màn hình đi nhé
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 20, 4); int sensorPin = A1; // select the input pin for the potentiometer int on_delay = analogRead(1); int off_delay = analogRead(0); int ClkPin = 2; void setup() { lcd.init(); lcd.backlight(); pinMode(ClkPin, OUTPUT); } void loop() { if (analogRead(0) != on_delay || analogRead(0) != off_delay) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Kiem Tra BLCD"); lcd.setCursor(0, 1); lcd.print("ON_St :"); lcd.print(analogRead(1)); lcd.print("ms"); lcd.setCursor(0, 2); lcd.print("OFF_St:"); lcd.print(analogRead(0)); lcd.print("ms"); } digitalWrite(ClkPin, HIGH); delay(analogRead(1)); digitalWrite(ClkPin, LOW); delay(analogRead(0)); }