-
-
-
Tổng tiền thanh toán:
-
Giới thiệu động cơ Encoder dành cho robot mBot Ranger
31/05/2024
Động cơ mã hóa quang học 180 được trang bị bộ mã hóa quang học cho phép điều khiển với độ chính xác cao.Với hai lỗ ren M4 trên mỗi ba cạnh, nó có thể dễ dàng kết nối với các bộ phận cơ khí của Makeblock và do đó có thể được sử dụng linh hoạt khi kết hợp với nhiều bộ phận khác nhau.
Vật liệu được tùy chỉnh giúp giảm tiếng ồn và đảm bảo mô-men xoắn đầu ra lớn. Nó hỗ trợ nhiều trình điều khiển động cơ và bo mạch điều khiển chính, chẳng hạn như Orion, MegaPi, MegaPi Pro và Me Auriga.
1.Thông số kỹ thuật
Tỷ số truyền giảm tốc: 39,6
Điện áp định mức: 7,4 V
Dòng điện không tải: 240 mA
Dòng điện tải: ≤750 mA
Tốc độ không tải: 350 ± 5% (vòng/phút)
Tốc độ ban đầu: 14.000 ± 5% (vòng/phút)
Mô-men xoắn khởi động: 5 kg·cm
Mô-men xoắn định mức: 800 g·cm
Chiều dài trục đầu ra: 9 mm
Công suất: 3,7 W
Góc xoay của bộ mã hóa: 360°
2.Hướng dẫn lập trình
Lập trình với mBlock 5
Mô tả khối (bảng điều khiển chính: Auriga)
|
Khối |
Đặc trưng |
|
|
Chọn cổng. Đặt công suất thành -100–100. |
|
|
Chọn cổng kết nối. Thiết lập tốc độ (tốc độ tối đa tùy thuộc vào kiểu động cơ). |
|
|
Chọn cổng.Đặt góc quay (một số tự nhiên). Đặt tốc độ (tốc độ tối đa tùy thuộc vào kiểu động cơ). |
|
|
Xác định tốc độ của động cơ |
|
|
Xác định góc quay của động cơ so với gốc tọa độ. |
Sau khi chương trình sau chạy xong, động cơ mã hóa 1 và động cơ mã hóa 2 sẽ quay với tốc độ 100 vòng/phút trong 1 giây, sau đó dừng quay trong 1 giây và lặp lại quá trình này.

Lập trình với mBlock 3
Mô tả khối
|
Khối |
Đặc trưng |
|
|
Chọn khe cắm. Đặt công suất thành -255–255. |
|
|
Chọn khe cắm. Đặt tốc độ (tốc độ tối đa tùy thuộc vào kiểu động cơ). |
|
|
Chọn khe cắm. Đặt góc quay (một số tự nhiên).Đặt tốc độ (tốc độ tối đa tùy thuộc vào kiểu động cơ). |
|
|
Xác định tốc độ của động cơ |
|
|
Xác định vị trí hoặc góc độ của động cơ so với điểm gốc. |
Sau khi chương trình sau chạy xong, động cơ mã hóa 1 và động cơ mã hóa 2 sẽ quay với tốc độ 100 vòng/phút trong 1 giây, sau đó dừng quay trong 1 giây và lặp lại quá trình này.

Lập trình bằng Arduino
Nếu bạn lập trình bằng Arduino, bạn cần sử dụng thư viện Makeblock-Library-master để điều khiển động cơ.
Sau khi chương trình sau chạy xong, động cơ mã hóa 1 và động cơ mã hóa 2 sẽ quay với tốc độ 100 vòng/phút trong 1 giây, sau đó dừng quay trong 1 giây và lặp lại quá trình này.
// generated by mBlock5 for mBot Ranger
// codes make you happy
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
#include <MeAuriga.h>
MeEncoderOnBoard Encoder_1(SLOT1);
MeEncoderOnBoard Encoder_2(SLOT2);
MeLightSensor lightsensor_12(12);
void isr_process_encoder1(void)
{
if(digitalRead(Encoder_1.getPortB()) == 0){
Encoder_1.pulsePosMinus();
}else{
Encoder_1.pulsePosPlus();
}
}
void isr_process_encoder2(void)
{
if(digitalRead(Encoder_2.getPortB()) == 0){
Encoder_2.pulsePosMinus();
}else{
Encoder_2.pulsePosPlus(); }
}
}
void move(int direction, int speed)
{
int leftSpeed = 0;
int rightSpeed = 0;
if(direction == 1){
leftSpeed = -speed;
rightSpeed = speed;
}else if(direction == 2){
leftSpeed = speed;
rightSpeed = -speed;
}else if(direction == 3){
leftSpeed = -speed;
rightSpeed = -speed;
}else if(direction == 4){
leftSpeed = speed;
rightSpeed = speed;
}
Encoder_1.setTarPWM(leftSpeed);
Encoder_2.setTarPWM(rightSpeed);
}
void _delay(float seconds) {
if(seconds < 0.0){
seconds = 0.0;
}
long endTime = millis() + seconds * 1000;
while(millis() < endTime) _loop();
}
void setup() {
TCCR1A = _BV(WGM10);
TCCR1B = _BV(CS11) | _BV(WGM12);
TCCR2A = _BV(WGM21) | _BV(WGM20);
TCCR2B = _BV(CS21);
attachInterrupt(Encoder_1.getIntNum(), isr_process_encoder1, RISING);
attachInterrupt(Encoder_2.getIntNum(), isr_process_encoder2, RISING);
randomSeed((unsigned long)(lightsensor_12.read() * 123456));
while(1) {
move(1, 100 / 100.0 * 255);
_delay(1);
move(1, 0);
_delay(1);
_loop();
}
}
void _loop() {
Encoder_1.loop();
Encoder_2.loop();
}
void loop() {
_loop();
}
Lập trình bằng Python
Cài đặt MegaPi Pro trên Raspberry Pi và kết nối động cơ mã hóa quang học 180 độ với bộ điều khiển DC/mã hóa.
Cài đặt thư viện Makeblock phiên bản mới nhất cho Raspberry Pi, thực hiện lệnh “pip3 install makeblock” trong dòng lệnh, sau đó thực hiện lệnh “upgrade” trong dòng lệnh.
Tạo một tệp Python có đuôi .py.
Viết chương trình bằng ngôn ngữ Python.
Chạy tập tin Python, ví dụ: “python123.py”.
Mô tả chức năng:
|
Chức năng |
Tính năng |
|
Bộ mã hóa động cơ (cổng) |
Chọn cổng để kết nối động cơ DC/encoder. Cổng: MegaPiPro.PORT1~MegaPiPro.PORT4 |
|
Chạy (tốc độ) |
Quay với tốc độ đã chỉ định. Tốc độ: phạm vi tốc độ quay: -180–180 |
|
Di chuyển đến (vị trí, tốc độ, hàm gọi lại)
|
Xoay đến vị trí được chỉ định với tốc độ được chỉ định. vị trí: vị trí mục tiêu tốc độ: tốc độ xoay (phạm vi: -180–180) hàm gọi lại: hàm gọi lại được kích hoạt khi đạt đến vị trí mục tiêu |
|
Đặt_home() |
Đặt vị trí hiện tại làm gốc tọa độ. |
Ví dụ chương trình 1:
Sau khi chương trình sau chạy xong, động cơ mã hóa được kết nối với cổng 1 dành cho động cơ DC/mã hóa trên MegaPi Pro sẽ quay theo chiều kim đồng hồ với tốc độ 50 vòng/phút trong 2 giây, dừng quay trong 1 giây, quay ngược chiều kim đồng hồ với tốc độ 50 vòng/phút trong 2 giây, dừng quay trong 1 giây, và sau đó lặp lại quá trình này.
from time import sleep
from makeblock import MegaPiPro
board = MegaPiPro.create()
encoder = board.EncoderMotor(MegaPiPro.PORT1)
while True:
encoder.run(50)
sleep(2)
encoder.run(0)
sleep(1)
encoder.run(-50)
sleep(2)
encoder.run(0)
sleep(1)
Ví dụ chương trình 2:
Sau khi chương trình sau chạy xong, động cơ mã hóa được kết nối với cổng 1 dành cho động cơ DC/mã hóa trên MegaPi Pro sẽ quay đến vị trí mục tiêu.
10 dòng (9 sloc) 274 Bytes
RawBlameHistory
from time import sleep
from makeblock import MegaPiPro
board = MegaPiPro.create()
encoder = board.EncoderMotor(MegaPiPro.PORT1)
position = 0
def on_finished(value):
position = 5000 - position
encoder.move_to(position,100,on_finished)
on_finished(position)
3.Chế độ đấu dây
Kết nối các mô-đun điện tử
Kết nối động cơ mã hóa quang 180 độ với cổng dành cho động cơ mã hóa trên bo mạch điều khiển chính hoặc cổng dành cho động cơ mã hóa trên bộ điều khiển động cơ mã hóa bằng cách sử dụng cáp dành cho động cơ mã hóa quang 180 độ.

Xây dựng cấu trúc
Động cơ mã hóa quang học 180 có thể được sử dụng để cung cấp năng lượng hoặc được sử dụng như một phần của khung gầm mBot Ranger. Trục của nó tương thích với puly định thời bằng nhựa 62T có bước và puly định thời bằng nhựa 90T có bước trên nền tảng Maker's Platform của Makeblock.

