Hướng dẫn từng bước: Sử dụng Arduino để điều khiển bộ truyền động để đóng và mở tự động
Giả sử bạn có một dự án mà bạn muốn Bộ truyền động tự động kéo dài và rút lại sau mỗi vài phút cả ngày. Bạn sẽ làm điều đó như thế nào và bạn cần những gì, và quan trọng hơn là mã Arduino cần có là gì. Mã có thể được điều chỉnh dễ dàng cho các thời điểm khác nhau và bạn không cần phải là lập trình viên mới có thể tìm ra điều này. Chúng tôi trình bày tất cả dưới đây.
Những gì cần thiết để tạo chu trình Thiết bị truyền động dựa trên thời gian tự động:
Để thiết lập hệ thống dựa trên Arduino để tự động kéo dài và rút lại bộ truyền động cứ sau 30 phút bằng rơle DPDT, bạn sẽ cần phần cứng sau:
- Bảng Arduino - Đây có thể là bất kỳ Arduino bo mạch, chẳng hạn như Arduino Uno hoặc Arduino Nano. Nó sẽ đóng vai trò là bộ não của hệ thống và điều khiển bộ truyền động và rơle. Mua Bộ điều khiển vi mô Arduino bấm vào đây
- Thiết bị truyền động tuyến tính điện 12V - Đây là thiết bị truyền động sẽ tự động kéo dài và rút lại sau mỗi 30 phút. Đảm bảo rằng bộ truyền động được định mức phù hợp với điện áp và dòng điện mà bạn dự định sử dụng. Để mua một Thiết bị truyền động 12v bấm vào đây
- Rơle DPDT - Rơle này sẽ được sử dụng để chuyển đổi cực tính của nguồn điện nhằm điều khiển hướng chuyển động của bộ truyền động. Đảm bảo rằng rơle được định mức phù hợp với điện áp và dòng điện mà bạn dự định sử dụng. Để mua một Rơle DPDT bấm vào đây
- Nguồn điện - Bạn sẽ cần nguồn điện 12V để cấp nguồn cho bộ truyền động và rơle. Để mua một Nguồn điện bấm vào đây
- Dây nhảy - Những dây này sẽ được sử dụng để kết nối Arduino, bộ truyền động và rơle với nhau.
- Breadboard (tùy chọn) - Breadboard có thể được sử dụng để tạo nguyên mẫu và kết nối các thành phần dễ dàng hơn.
- Vỏ bọc (tùy chọn) - Vỏ bọc có thể được sử dụng để chứa Arduino, bộ truyền động và rơle và bảo vệ chúng khỏi các phần tử.
Khi đã có tất cả phần cứng cần thiết, bạn có thể bắt đầu thiết lập hệ thống bằng cách kết nối các thành phần với nhau theo sơ đồ nối dây và tải mã thích hợp lên bo mạch Arduino. Điều quan trọng là đảm bảo rằng tất cả các kết nối được thực hiện đúng cách và bộ truyền động cũng như rơle được định mức phù hợp với điện áp và dòng điện mà bạn dự định sử dụng.
Các tùy chọn lập trình và thiết lập khác nhau
Có 2 cách để lập trình này. Một cách là sử dụng hệ thống tiếp sức DPDT (Ném đôi cực). Một cách khác là sử dụng hệ thống servo. và mã cho mỗi mã là khác nhau (Cả hai đều ở bên dưới)
Sự khác biệt chính giữa việc sử dụng servo và rơle để điều khiển bộ truyền động bằng Arduino là cách điều khiển bộ truyền động.
Trong mã sử dụng servo để điều khiển bộ truyền động, servo được kết nối với Arduino và được sử dụng để di chuyển vật lý bộ truyền động bằng cách quay một trục. Vị trí của trục được xác định bởi tín hiệu được gửi từ Arduino đến servo, dựa trên các giá trị được đặt trong mã. Bộ điều khiển servo có thể điều khiển chính xác vị trí của bộ truyền động, khiến nó trở thành lựa chọn tốt cho các ứng dụng yêu cầu định vị chính xác.
Trong mã sử dụng rơle DPDT để điều khiển bộ truyền động, rơle được kết nối với Arduino và được sử dụng để chuyển cực của nguồn điện sang bộ truyền động, khiến nó di chuyển theo một trong hai hướng. Vị trí của bộ truyền động được xác định bởi lượng thời gian cấp nguồn cho bộ truyền động, được điều khiển bởi thời gian trễ được đặt trong mã. Phương pháp này kém chính xác hơn so với sử dụng servo, vì vị trí của bộ truyền động được xác định bởi thời lượng cung cấp điện thay vì bằng cảm biến vị trí vật lý.
Một điểm khác biệt giữa việc sử dụng servo và rơle là yêu cầu về nguồn điện. Các servo thường yêu cầu điện áp và dòng điện thấp hơn so với rơle, điều này có thể giúp chúng dễ dàng cấp nguồn và sử dụng hơn trong một số ứng dụng. Ngoài ra, servo thường đắt hơn rơle, điều này có thể khiến chúng trở thành lựa chọn ít thực tế hơn đối với một số ứng dụng mà chi phí là mối lo ngại.
Cuối cùng, việc lựa chọn sử dụng servo hay rơle để điều khiển bộ truyền động bằng Arduino sẽ phụ thuộc vào các yêu cầu cụ thể của ứng dụng, bao gồm nhu cầu định vị chính xác, yêu cầu về nguồn điện và cân nhắc về chi phí.
Phương pháp chuyển tiếp DPDT:
nếu bạn muốn sử dụng rơle DPDT để điều khiển bộ truyền động thay vì servo, bạn có thể sửa đổi mã cho phù hợp. Dưới đây là một số mã mẫu sẽ kéo dài và rút lại bộ truyền động cứ sau 30 phút bằng cách sử dụng Arduino và rơle DPDT:
Đây là mã Arduino:
int thiết bị truyền độngPin = 9; // đặt chân mà bộ truyền động được kết nối
int chuyển tiếpPin = 8; // đặt chân mà rơle được kết nối
thiết lập trống () {
pinMode(bộ truyền độngPin, OUTPUT); // đặt chân truyền động làm đầu ra
pinMode(relayPin, OUTPUT); // đặt chân rơle làm đầu ra
}
vòng lặp trống () {
digitalWrite(relayPin, THẤP); // đặt rơle về vị trí đầu tiên (kết nối bộ truyền động với âm/đất)
digitalWrite(thiết bị truyền độngPin, THẤP); // rút lại bộ truyền động
độ trễ (1800000); // đợi 30 phút (tính bằng mili giây)
digitalWrite(relayPin, CAO); // đặt rơle về vị trí thứ hai (kết nối bộ truyền động với dương/điện áp)
digitalWrite(thiết bị truyền độngPin, CAO); // mở rộng bộ truyền động
độ trễ (1000); // đợi 1 giây để bộ truyền động mở rộng hoàn toàn trước khi rút lại
}
Trong mã này, rơle DPDT được kết nối với bộ truyền động và nguồn điện, cho phép nó chuyển đổi cực của nguồn điện để điều khiển hướng chuyển động của bộ truyền động. Các digitalWrite()
chức năng được sử dụng để đặt chân rơle thành LOW
hoặc HIGH
để chuyển rơle sang vị trí thích hợp và digitalWrite()
Chức năng này cũng được sử dụng để đặt chốt truyền động thành một trong hai LOW
hoặc HIGH
để điều khiển hướng chuyển động. Thời gian trễ giống như trong mã trước.
Xin lưu ý rằng bạn sẽ cần đảm bảo rằng rơle được nối dây và kết nối đúng cách với các chân chính xác trên Arduino và bộ truyền động để đảm bảo hoạt động bình thường. Ngoài ra, bạn có thể cần điều chỉnh số pin và thời gian trễ để phù hợp với bộ truyền động và ứng dụng cụ thể của mình.
Phương pháp servo:
Dưới đây là một số mã mẫu sẽ mở rộng và rút lại bộ truyền động cứ sau 30 phút bằng Arduino:
#include
Thiết bị truyền động servo; // tạo đối tượng servo để điều khiển bộ truyền động
int thiết bị truyền độngPin = 9; // đặt chân mà bộ truyền động được kết nối
thiết lập trống () {
thiết bị truyền động.attach(thiết bị truyền độngPin); // gắn đối tượng servo vào chốt truyền động
}
vòng lặp trống () {
bộ truyền động.write(0); // rút lại bộ truyền động
độ trễ (1800000); // đợi 30 phút (tính bằng mili giây)
bộ truyền động.write(180); // mở rộng bộ truyền động
độ trễ (1000); // đợi 1 giây để bộ truyền động mở rộng hoàn toàn trước khi rút lại
}
Đoạn mã trên sử dụng Servo
thư viện để điều khiển bộ truyền động và attach()
được sử dụng để kết nối đối tượng servo với chốt truyền động. bên trong loop()
chức năng, bộ truyền động được rút lại trước tiên bằng cách viết một giá trị 0
tới servo, sau đó thêm độ trễ 30 phút (1800000 mili giây) bằng cách sử dụng delay()
chức năng. Sau 30 phút trôi qua, bộ truyền động được mở rộng bằng cách ghi giá trị 180
tới servo và độ trễ 1 giây được thêm vào để cho phép bộ truyền động mở rộng hoàn toàn trước khi rút lại. Vòng lặp sau đó lặp lại, khiến bộ truyền động kéo dài và rút lại sau mỗi 30 phút.
Xin lưu ý rằng bạn có thể cần điều chỉnh số pin và thời gian trễ để phù hợp với bộ truyền động và ứng dụng cụ thể của mình. Ngoài ra, điều quan trọng là phải đảm bảo rằng bộ truyền động được nối dây và kết nối đúng cách với đúng chân trên Arduino để đảm bảo hoạt động bình thường.
Lợi ích của việc sử dụng bộ điều khiển Arduino là gì?
Sử dụng bộ điều khiển Arduino có một số lợi ích, bao gồm:
- Chi phí thấp: Bộ điều khiển Arduino tương đối rẻ tiền, khiến chúng trở thành một lựa chọn dễ tiếp cận đối với những người có sở thích, sinh viên cũng như các chuyên gia.
- Dễ sử dụng: Bộ điều khiển Arduino được thiết kế thân thiện với người dùng và dễ học, với cộng đồng người dùng và nhà phát triển lớn cung cấp hỗ trợ và tài nguyên.
- Đa năng: Bộ điều khiển Arduino có thể được sử dụng trong nhiều ứng dụng, từ điều khiển đèn LED đơn giản đến hệ thống tự động hóa và robot phức tạp.
- Mã nguồn mở: Nền tảng Arduino là mã nguồn mở, nghĩa là thiết kế và phần mềm được cung cấp miễn phí cho mọi người sử dụng và sửa đổi, thúc đẩy một cộng đồng hợp tác và đổi mới.
- Khả năng tương tác: Bộ điều khiển Arduino tương thích với nhiều loại cảm biến, bộ truyền động và các linh kiện điện tử khác, giúp chúng dễ dàng tích hợp vào các hệ thống hiện có.
- Có thể mở rộng: Bộ điều khiển Arduino có thể được tăng hoặc giảm tỷ lệ tùy thuộc vào yêu cầu của ứng dụng, khiến chúng trở thành một lựa chọn linh hoạt và dễ thích nghi.
- Giáo dục: Bộ điều khiển Arduino được sử dụng rộng rãi trong môi trường giáo dục, cung cấp cho sinh viên trải nghiệm học tập thực hành về điện tử, lập trình và robot.
Nhìn chung, sử dụng bộ điều khiển Arduino có thể cung cấp giải pháp chi phí thấp, linh hoạt và dễ sử dụng cho nhiều ứng dụng, từ các dự án theo sở thích đến hệ thống tự động hóa công nghiệp.
Có cách nào khác để sử dụng Arduino để điều khiển bộ truyền động đóng mở tự động theo từng khoảng thời gian không?
Có, có nhiều cách khác để sử dụng Arduino để điều khiển bộ truyền động đóng và mở tự động theo các khoảng thời gian. Dưới đây là một vài ví dụ:
- Sử dụng bộ điều khiển động cơ: Thay vì sử dụng servo hoặc rơle, bạn có thể sử dụng bộ điều khiển động cơ để điều khiển hướng và tốc độ của bộ truyền động. Trình điều khiển động cơ cho phép bạn điều khiển nguồn điện đi tới bộ truyền động bằng cách sử dụng điều chế độ rộng xung (PWM). Bằng cách thay đổi tín hiệuPWM, bạn có thể điều khiển tốc độ và hướng của bộ truyền động. Bạn có thể sử dụng các chân đầu ra tương tự của Arduino để gửi tín hiệu điều khiển động cơ và điều khiển chuyển động của bộ truyền động.
- Sử dụng động cơ bước: Động cơ bước là động cơ chuyển động theo từng bước rời rạc thay vì quay liên tục. Bằng cách kiểm soát số bước mà động cơ thực hiện, bạn có thể kiểm soát vị trí của bộ truyền động. Bạn có thể sử dụng trình điều khiển động cơ bước và các chân đầu ra kỹ thuật số của Arduino để điều khiển số bước mà động cơ thực hiện và do đó kiểm soát vị trí của bộ truyền động.
- Sử dụng cầu H: An cầu chữ H là một mạch điện tử cho phép bạn điều khiển hướng của động cơ DC. Bạn có thể sử dụng cầu H để điều khiển hướng của bộ truyền động và Arduino để điều khiển cầu H. Bằng cách thay đổi hướng của dòng điện chạy qua bộ truyền động, bạn có thể điều khiển hướng chuyển động của bộ truyền động.
- Rơle hẹn giờ: Rơle hẹn giờ là thiết bị cung cấp kết nối chậm hoặc ngắt kết nối nguồn điện với bộ truyền động. Thời gian trễ có thể được điều chỉnh bằng bộ hẹn giờ hoặc thiết bị điều khiển khác.
- Bộ điều khiển logic khả trình (PLC): PLC là một loại máy tính công nghiệp có thể được lập trình để điều khiển nhiều loại thiết bị, bao gồm cả bộ truyền động. Chúng có thể được lập trình để mở và đóng bộ truyền động dựa trên tiêu chí thời gian cụ thể.
- Bộ hẹn giờ kỹ thuật số: Bộ hẹn giờ kỹ thuật số là thiết bị đơn giản có thể được lập trình để điều khiển bộ truyền động dựa trên các tiêu chí thời gian cụ thể.
- Cảm biến: Cảm biến có thể được sử dụng để phát hiện những thay đổi trong môi trường, chẳng hạn như ánh sáng hoặc nhiệt độ và kích hoạt bộ truyền động mở hoặc đóng dựa trên tiêu chí thời gian cụ thể.
- Điều khiển từ xa không dây: Điều khiển từ xa không dây có thể được sử dụng để mở và đóng bộ truyền động dựa trên tiêu chí thời gian cụ thể.
Đây chỉ là một vài ví dụ về cách sử dụng Arduino để điều khiển bộ truyền động đóng và mở tự động theo các khoảng thời gian. Phương pháp cụ thể mà bạn chọn sẽ tùy thuộc vào yêu cầu của ứng dụng, bao gồm loại thiết bị truyền động bạn đang sử dụng và mức độ kiểm soát bạn cần đối với chuyển động của nó.
Kiểm tra bộ điều khiển Arduino của chúng tôi ở đây
Bấm vào đây