- Các thành phần cần thiết cho Raspberry Pi Motor Driver HAT
- IC điều khiển động cơ L293D
- Sơ đồ mạch cho Raspberry Pi Motor Driver HAT
- Chế tạo PCB cho Raspberry Pi Motor Driver HAT
- Đặt hàng PCB từ PCBWay
- Lắp ráp
- Thiết lập Raspberry Pi
- Giải thích mã trình điều khiển động cơ Raspberry Pi
- Kiểm tra HAT của trình điều khiển động cơ Raspberry Pi
Raspberry Pi HAT là một bảng bổ trợ cho Raspberry Pi với cùng kích thước với Pi. Nó có thể nằm ngay trên đầu Raspberry Pi và không yêu cầu thêm bất kỳ kết nối nào. Có rất nhiều Raspberry Pi HAT có sẵn trên thị trường. Trong hướng dẫn này, chúng ta sẽ xây dựng một HAT của trình điều khiển động cơ Raspberry Pi để điều khiển động cơ DC và Động cơ bước. HAT Trình điều khiển động cơ này bao gồm một IC điều khiển động cơ L293D, Mô-đun hiển thị LCD 16 * 2, bốn nút nhấn và các chân phụ cho Mô-đun SIM800 với bộ điều chỉnh 3,3V. Raspberry Pi HAT này sẽ rất hữu ích khi xây dựng một dự án robot.
Ở đây, chúng tôi đã sử dụng PCBWay để cung cấp các bảng PCB cho dự án này. Trong các phần tiếp theo của bài viết, chúng tôi đã đề cập đến quy trình hoàn chỉnh để thiết kế, đặt hàng và lắp ráp bảng mạch PCB cho Raspberry pi Motor Driver HAT. Chúng tôi cũng đã xây dựng Raspberry Pi Hat cho 16x2 LCD và Raspberry Pi LoRa HAT trong các dự án trước đây của chúng tôi.
Các thành phần cần thiết cho Raspberry Pi Motor Driver HAT
- Raspberry Pi
- IC L293D
- 4 × Nút đẩy
- Điện trở SMD (1 × 10K, 12 × 1K)
- Chiết áp 1 × 10K
- Đèn LED 4 × SMD
- Bộ điều chỉnh điện áp LM317
- 2 × Thiết bị đầu cuối vít
- Mô-đun LCD 16 * 2
IC điều khiển động cơ L293D
L293D là một IC điều khiển động cơ 16 chân thông dụng. Như tên cho thấy, nó được sử dụng để điều khiển động cơ bước đơn cực, lưỡng cực, động cơ DC hoặc thậm chí động cơ servo. Một IC L293D duy nhất có thể điều khiển hai động cơ DC cùng một lúc. Ngoài ra, tốc độ và hướng của hai động cơ này có thể được điều khiển độc lập. IC này đi kèm với hai chân đầu vào nguồn tức là 'Vcc1' và 'Vcc2'. Vcc1 được sử dụng để cấp nguồn cho mạch logic bên trong phải là 5V và chân Vcc2 dùng để cấp nguồn cho động cơ có thể là 4,5V đến 36V.
Thông số kỹ thuật L293D:
- Điện áp động cơ Vcc2 (Vs): 4,5V đến 36V
- Dòng động cơ cao nhất tối đa: 1.2A
- Dòng động cơ liên tục tối đa: 600mA
- Điện áp cung cấp cho Vcc1 (VSS): 4,5V đến 7V
- Thời gian chuyển tiếp: 300ns (ở 5V và 24V)
- Tự động tắt nhiệt có sẵn
Sơ đồ mạch cho Raspberry Pi Motor Driver HAT
Sơ đồ hoàn chỉnh cho Trình điều khiển động cơ L293D với Raspberry Pi được hiển thị trong hình dưới đây. Sơ đồ được vẽ bằng EasyEDA.
HAT này bao gồm IC điều khiển động cơ L293D, Mô-đun hiển thị LCD 16 * 2 và bốn nút nhấn. Chúng tôi cũng đã cung cấp các chân cho Mô-đun SIM800 với bộ điều chỉnh 3.3V được thiết kế sử dụng bộ điều chỉnh Biến trở LM317 cho các dự án trong tương lai. Raspberry Pi Motor Driver HAT sẽ trực tiếp nằm trên Raspberry Pi giúp điều khiển Robot bằng Raspberry Pi dễ dàng hơn.
Chế tạo PCB cho Raspberry Pi Motor Driver HAT
Sau khi hoàn thành sơ đồ, chúng ta có thể tiến hành lắp đặt PCB. Bạn có thể thiết kế PCB bằng bất kỳ phần mềm PCB nào bạn chọn. Chúng tôi đã sử dụng EasyEDA để chế tạo PCB cho dự án này. Bạn có thể xem bất kỳ Layer nào (Top, Bottom, Topsilk, bottomilk, v.v.) của PCB bằng cách chọn lớp từ cửa sổ 'Lớp'. Ngoài ra, một chế độ xem mô hình 3D của PCB về cách nó sẽ xuất hiện sau khi chế tạo cũng được cung cấp. Dưới đây là các chế độ xem mô hình 3D của lớp trên cùng và lớp dưới cùng của Pi Motor Driver HAT PCB.
Bố cục PCB cho mạch trên cũng có sẵn để tải xuống dưới dạng Gerber từ liên kết dưới đây:
- Tệp Gerber cho Raspberry Pi Motor Driver HAT
Đặt hàng PCB từ PCBWay
Sau khi hoàn thiện thiết kế, bạn có thể tiến hành đặt hàng PCB:
Bước 1: Truy cập https://www.pcbway.com/, đăng ký nếu đây là lần đầu tiên của bạn. Sau đó, trong tab PCB Prototype, nhập kích thước PCB của bạn, số lớp và số lượng PCB bạn yêu cầu.
Bước 2: Tiến hành bằng cách nhấp vào nút 'Báo giá ngay'. Bạn sẽ được đưa đến một trang để thiết lập một số thông số bổ sung như loại bảng, Lớp, Vật liệu cho PCB, Độ dày và hơn thế nữa. Hầu hết chúng được chọn theo mặc định, nhưng nếu bạn đang chọn bất kỳ thông số cụ thể nào, bạn có thể chọn chúng tại đây.
Bước 3: Bước cuối cùng bạn tải file Gerber lên và tiến hành thanh toán. Để đảm bảo quá trình diễn ra suôn sẻ, PCBWAY xác minh xem tệp Gerber của bạn có hợp lệ hay không trước khi tiến hành thanh toán. Bằng cách này, bạn có thể chắc chắn rằng PCB của bạn được chế tạo thân thiện và sẽ đến tay bạn theo cam kết.
Lắp ráp
Sau một vài ngày, chúng tôi đã nhận được PCB của mình trong một gói hàng gọn gàng và chất lượng PCB vẫn tốt như mọi khi. Lớp trên cùng và lớp dưới cùng của bảng được hiển thị bên dưới:
Sau khi chắc chắn rằng đường đi và dấu chân đã chính xác. Tôi đã tiến hành lắp ráp PCB. Hình ảnh ở đây cho thấy bảng được hàn hoàn toàn trông như thế nào.
Thiết lập Raspberry Pi
Trước khi lập trình Raspberry Pi, chúng ta phải cài đặt các thư viện cần thiết. Đối với điều đó, trước tiên, hãy cập nhật Hệ điều hành Raspberry Pi bằng các lệnh dưới đây:
Sudo apt-get cập nhật Sudo apt-get nâng cấp
Bây giờ cài đặt thư viện Adafruit_CharLCD cho mô-đun LCD. Thư viện này dành cho bảng LCD Adafruit, nhưng nó cũng hoạt động với các bảng LCD thương hiệu khác.
sudo pip3 cài đặt Adafruit-CharLCD
Giải thích mã trình điều khiển động cơ Raspberry Pi
Ở đây trong dự án này, chúng tôi đang lập trình Raspberry Pi để điều khiển đồng thời hai động cơ DC theo hướng Tiến, Ngược, Trái và Phải trong khoảng thời gian hai giây. Hướng của động cơ sẽ được hiển thị trên màn hình LCD. Mã hoàn chỉnh được đưa ra ở cuối tài liệu. Ở đây, chúng tôi đang giải thích một số phần quan trọng của mã.
Như thường lệ, hãy bắt đầu mã bằng cách nhập tất cả các thư viện được yêu cầu. Mô-đun RPi.GPIO được sử dụng để truy cập các chân GPIO bằng Python. Thời gian mô-đun được sử dụng để tạm dừng chương trình trong một thời gian xác định trước.
nhập RPi.GPIO dưới dạng bảng nhập thời gian nhập GPIO nhập Adafruit_CharLCD dưới dạng LCD
Sau đó, gán các chân GPIO cho IC điều khiển động cơ L293D và màn hình LCD.
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Động cơ1A = 4 Động cơ1B = 17 Động cơ1E = 12
Bây giờ, đặt 6 chân động cơ làm chân đầu ra. Bốn chân tiếp theo là chân đầu ra, trong đó hai chân đầu tiên được sử dụng để điều khiển động cơ bên phải và hai chân tiếp theo cho động cơ trái. Hai chân tiếp theo là chân Enable cho động cơ phải và trái.
GPIO.setup (Motor1A, GPIO.OUT) GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1E, GPIO.OUT) GPIO.setup (Motor2A, GPIO.OUT) GPIO.setup (Motor2B, GPIO.OUT) GPIO.setup (Motor2E, GPIO.OUT)
Bên trong vòng lặp while, di chuyển đồng thời hai động cơ DC theo chiều Tiến, Ngược, Trái và Phải trong khoảng thời gian hai giây.
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Left') print ("Left") sleep (2) # Chuyển tiếp GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Chuyển tiếp') print ("Chuyển tiếp") …… ………………………………
Kiểm tra HAT của trình điều khiển động cơ Raspberry Pi
Sau khi bạn lắp ráp xong PCB, hãy gắn HAT của trình điều khiển động cơ trên Raspberry Pi và khởi chạy mã. Nếu mọi thứ diễn ra tốt đẹp, Động cơ DC được kết nối với Raspberry Pi sẽ di chuyển đồng thời theo hướng Trái, Tiến, Phải và Đảo ngược sau mỗi hai giây và hướng động cơ sẽ được hiển thị trên Màn hình LCD.
Đây là cách bạn có thể xây dựng HAT trình điều khiển động cơ Raspberry Pi L293D của riêng mình. Mã hoàn chỉnh và video hoạt động của dự án được đưa ra dưới đây. Hy vọng bạn thích dự án và cảm thấy thú vị khi xây dựng của riêng bạn. Mọi thắc mắc vui lòng để lại trong phần bình luận bên dưới.