
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:14

Trong hướng dẫn này, chúng ta sẽ viết mã Verilog để điều khiển động cơ servo. Servo SG-90 được sản xuất bởi Waveshare. Khi bạn mua động cơ servo, bạn có thể nhận được một biểu dữ liệu liệt kê điện áp hoạt động, mô-men xoắn cực đại và Điều chế độ rộng xung (PWM) được đề xuất… vv. Tuy nhiên, FPGA DuePrologic cung cấp điện áp đầu vào là 3,3V trong đó điện áp hoạt động của servo SG-90 là 5V - 7V. Trong trường hợp thiếu điện, tôi sẽ liệt kê PWM đã hiệu chỉnh của mình để quay động cơ servo thành công.
Nhiệm vụ của chúng tôi: Động cơ servo được quay qua lại với khoảng thời gian 5 giây
Menu đầy đủ:
Bước 1: Xây dựng vi mạch điện tử

Bước 2: Thiết lập Công cụ lập kế hoạch ghim

Nhấp vào "Bắt đầu phân tích phân công I / O" để kiểm tra xem công cụ lập kế hoạch ghim có được đặt chính xác hay không. Nếu không, bạn phải tự nhập tất cả các tên cổng.
Bước 3: Mã Verilog
Chúng tôi tạo bộ hẹn giờ "servo_count". Khi "servo_A" ở mức CAO, PWM là 1,5ms và do đó servo nằm ở 120 độ. Ngược lại, khi "servo_A" ở mức THẤP, PWM là 0,15ms và do đó servo được giữ nguyên ở 0 độ.
gán XIO_2 [3] = servo_pulse; // cho V '
reg [31: 0] servo_count;
bắt đầu ban đầu
servo_count <= 32'b0;
servo_A <= 1'b0;
kết thúc
always @ (posedge CLK_66)
bắt đầu
servo_count <= servo_count + 1'b1;
if (servo_count> 400000000) // Chu kỳ xung nhịp 66MHz, 1 / 66M * 400000000 ~ 5 giây
bắt đầu
servo_A <=! servo_A;
servo_count <= 32'b0;
kết thúc
kết thúc
reg [31: 0] ex_auto;
bắt đầu ban đầu
ex_auto <= 32'b0;
servo_auto <= 1'b0;
kết thúc
always @ (posedge CLK_66)
bắt đầu
if (servo_A == 1'b1)
bắt đầu
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 100000) // Chu kỳ xung nhịp 66MHz, PWM này là ~ 1,5ms, servo quay đến 120 độ
bắt đầu
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
kết thúc
kết thúc
if (servo_A == 1'b0)
bắt đầu
ex_auto <= ex_auto + 1'b1;
if (ex_auto> 10000) // Chu kỳ xung nhịp 66MHz, PWM này là ~ 0,15ms, servo xoay đến 0 độ
bắt đầu
servo_auto <=! servo_auto;
ex_auto <= 32'b0;
kết thúc
kết thúc
kết thúc
Bước 4: Tải lên mã Verilog


Nhấp vào "Bắt đầu biên dịch". Nếu không có thông báo lỗi nào được hiển thị, hãy chuyển đến "Lập trình viên" để hoàn tất thiết lập phần cứng. Hãy nhớ cập nhật tệp pof trong "Thay đổi tệp" nếu cần. Nhấp vào "Bắt đầu" để tải lên mã.
Rốt cuộc, bạn sẽ thấy rằng động cơ servo được quay theo chu kỳ.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước

Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)

Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)

Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước

Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước

ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình