- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
JGB37 520 ĐỘNG CƠ DC GIẢM TỐC ENCODER 12V 333RPM
+ Động cơ DC giảm tốc JGB37-520 Encoder thực tế là động cơ DC JGB37-520 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 JGB37 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:
Điện áp làm việc : 6-12VDC
Điện áp định mức: 12VDC
Dòng điện không tải: 0.12A
Tốc độ ở đầu ra hộp giảm tốc: 333 RPM
Lực kéo moment: 0.6kg.cm
Công suất: 3W
Trục 6MM khuyết D
TỐC ĐỘ QUAY ROTOR (KHÔNG QUA HỘP GIẢM TỐC) : ~ 6000RPM
Tỷ số truyền của hộp giảm tốc: 1/30
Điện áp cấp cho Encoder hoạt động: 3.3-5VDC
Đĩa Encoder 11 xung, hai kênh A-B.
Đường kính động cơ: 37mm.
Đường kính trục: 6mm


CODE ARDUINO TEST ENCODER TRÊN JGB37-520:
#define ENCODER_PIN 2 // Chân đọc xung, bắt buộc dùng chân ngắt (Pin 2 hoặc 3 trên Uno)
volatile long pulseCount = 0; // Biến đếm xung (bắt buộc dùng volatile)
float frequency = 0; // Biến lưu tần số (Hz)
// Khoảng thời gian lấy mẫu (1000ms = 1 giây)
const unsigned long interval = 1000;
unsigned long previousMillis = 0;
void setup() {
Serial.begin(9600);
pinMode(ENCODER_PIN, INPUT_PULLUP); // Bật điện trở nội nếu encoder dạng cực góp hở
// Kích hoạt ngắt phần cứng tại sườn lên (RISING)
attachInterrupt(digitalPinToInterrupt(ENCODER_PIN), countPulse, RISING);
}
void loop() {
unsigned long currentMillis = millis();
// Kiểm tra xem đã đủ thời gian lấy mẫu chưa
if (currentMillis - previousMillis >= interval) {
// Ngắt tạm thời việc đếm xung để tính toán
detachInterrupt(digitalPinToInterrupt(ENCODER_PIN));
// Tính tần số = Tổng số xung / Thời gian (giây)
frequency = (float)pulseCount / ((float)interval / 1000.0);
// In kết quả ra Serial Monitor
Serial.print("Tan so: ");
Serial.print(frequency);
Serial.println(" Hz");
// Reset lại bộ đếm xung và cập nhật thời gian
pulseCount = 0;
previousMillis = currentMillis;
// Bật lại ngắt để tiếp tục đếm
attachInterrupt(digitalPinToInterrupt(ENCODER_PIN), countPulse, RISING);
}
}
// Hàm ngắt: Thực hiện mỗi khi có xung
void countPulse() {
pulseCount++;
}
Bình luận