- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- 0942954739 - 0919900767
Giao miễn phí trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Tặng ngay 50.000đ cho đơn hàng trên 2 triệu đồng
+ Động cơ DC giảm tốc GA25 Encoder thực tế là động cơ DC GA25 thường có gắn thêm phần Encoder để có thể trả xung về vi điều khiển giúp xác định vị trí, vận tốc,…
+ Về cách điều khiển thì động cơ DC giảm tốc GA25 Encoder sử dụng Driver như động cơ DC thường để điều khiển công suất động cơ, tốc độ và đảo chiều: L298, L293,…, chỉ có điểm khác biệt là có thêm phần encoder để có thể hồi tiếp (feedback) xung về Vi điều khiển, từ đó vi điều khiển tác động lại động cơ qua mạch công suất sử dụng các thuật toán điều khiển như PID,… để điều khiển tốc độ, vị trí,…
THÔNG SỐ KỸ THUẬT JGA25-370:
SƠ ĐỒ KẾT NỐI ENCODER VÀ ARDUINO:
CODE ARDUINO THAM KHẢO ĐỌC ENCODER:
// Khai báo các chân của encoder
const int encoderPinA = 2; // Chân A của encoder
const int encoderPinB = 3; // Chân B của encoder
// Biến lưu số xung encoder
volatile long encoderCount = 0;
// Thời gian
unsigned long previousTime = 0;
float speedRPM = 0.0; // Tốc độ quay tính theo RPM (vòng/phút)
void setup() {
// Khởi động Serial để hiển thị tốc độ
Serial.begin(9600);
// Cấu hình các chân encoder là ngõ vào
pinMode(encoderPinA, INPUT);
pinMode(encoderPinB, INPUT);
// Gắn ngắt cho encoder (chân 2)
attachInterrupt(digitalPinToInterrupt(encoderPinA), updateEncoder, RISING);
}
void loop() {
unsigned long currentTime = millis(); // Lấy thời gian hiện tại
// Kiểm tra nếu đủ 1 giây
if (currentTime - previousTime >= 1000) {
noInterrupts(); // Tắt ngắt tạm thời để đọc giá trị
long count = encoderCount; // Đọc giá trị encoder count
encoderCount = 0; // Reset bộ đếm xung
interrupts(); // Bật lại ngắt
// Tính tốc độ quay (RPM)
speedRPM = (count / 20.0) * 60.0; // Giả sử encoder có 20 xung mỗi vòng
// In tốc độ quay ra Serial Monitor
Serial.print("Tốc độ quay: ");
Serial.print(speedRPM);
Serial.println(" RPM");
previousTime = currentTime; // Cập nhật thời gian
}
}
// Hàm xử lý ngắt khi có xung encoder
void updateEncoder() {
int stateB = digitalRead(encoderPinB); // Đọc giá trị chân B
// Kiểm tra chiều quay
if (stateB == HIGH) {
encoderCount++; // Cùng chiều kim đồng hồ
} else {
encoderCount--; // Ngược chiều kim đồng hồ
}
}
3,000₫
70,000₫
5,000₫
42,000₫
48,000₫
80,000₫
85,000₫
100,000₫
40,000₫
13,000₫
28,000₫
2,000₫
23,000₫
25,000₫
50,000₫
70,000₫
6,000₫
6,000₫
7,000₫
5,000₫
8,000₫
13,000₫
120,000₫
120,000₫
120,000₫
120,000₫
120,000₫
120,000₫
120,000₫
45,000₫
25,000₫
25,000₫
20,000₫
150,000₫
40,000₫
45,000₫
Bình luận