Mục lục:
- Bước 1: Thu thập vật liệu
- Bước 2: Lắp ráp mạch
- Bước 3: Thiết lập PWM trên MCU
- Bước 4: Lập trình vi điều khiển
- Bước 5: Giao tiếp cổng nối tiếp
Video: Servo Squirter - Súng bắn nước USB: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:36
Súng bắn nước servo điều khiển bằng USB. Tuyệt vời để bắn vào những người qua đường không nghi ngờ hoặc giữ cho những người có câu hỏi khó chịu ở yên. Dự án này là một máy bơm nước nhỏ được gắn trên đầu một servo để bắn định hướng. Toàn bộ hoạt động được điều khiển bởi một bộ vi điều khiển và được điều khiển từ bàn phím của bạn qua USB.
Bước 1: Thu thập vật liệu
Dự án này dựa trên vi điều khiển. Khác với vi điều khiển ATmega168 có trong USB NerdKit. Đối với dự án này, chúng tôi đã sử dụng những thứ sau: 1 Hobby Servo, Hitec HS-501 Máy bơm nước piston điện áp thấp 1 MOSFET kênh n nhỏ, 2N7000
Bước 2: Lắp ráp mạch
Phần đầu tiên của mạch của chúng tôi chỉ kết nối với servo. Điều này rất đơn giản ở đây: một dây từ bộ vi điều khiển đến servo. Có một số nhãn màu khác nhau tùy thuộc vào nhà sản xuất, vì vậy hãy kiểm tra trước khi thử điều này. Bản thân chip ATmega168 chỉ cho phép tối đa 40mA vào hoặc ra bất kỳ chân nào, nhưng máy bơm của chúng tôi yêu cầu gần 1000mA! Vì vậy, để kiểm soát tải lớn hơn này, chúng tôi đã chọn sử dụng một bóng bán dẫn lớn hơn, 2N7000. Đầu tiên, chúng tôi giải thích những điều cơ bản của việc sử dụng MOSFETs (Bóng bán dẫn hiệu ứng trường bán dẫn oxit kim loại) làm công tắc: đưa điện áp Cổng lên trên Nguồn, chúng tôi có thể cho phép dòng điện chạy từ Cống đến Nguồn. Từ biểu dữ liệu 2N7000, chúng tôi đã trích xuất Hình 1, cho thấy mối quan hệ giữa dòng xả và điện áp nguồn xả đối với các cài đặt điện áp nguồn cổng khác nhau. Có một vài điều quan trọng bạn có thể học được từ biểu đồ này: 1. Đối với VGS dưới khoảng 3.0 volt, không có dòng điện nào được phép chạy qua. Đây là trạng thái tắt, còn được gọi là "cutoff". 2. Đối với VDS nhỏ, đường cong trông gần như tuyến tính qua điểm gốc - có nghĩa là nó "trông" về mặt điện giống như một điện trở. Lực cản tương đương là độ dốc nghịch đảo của đường cong. Vùng hoạt động MOSFET này được gọi là "triode". 3. Đối với VDS lớn hơn, một số mức dòng điện tối đa đạt được. Điều này được gọi là "bão hòa". 4. Khi chúng ta tăng VGS, nhiều dòng điện hơn được phép chạy ở cả chế độ triode và bão hòa Và bây giờ bạn đã thực sự tìm hiểu về cả ba chế độ hoạt động của MOSFET: cắt, triode và bão hòa. +5 hoặc 0), chúng tôi chỉ quan tâm đến đường cong được đánh dấu bằng màu vàng, cho VGS = 5V. Thông thường, việc sử dụng MOSFET làm công tắc thường liên quan đến chế độ hoạt động của triode, vì MOSFET tiêu tán công suất PD = ID * VDS, và một công tắc tốt sẽ tiêu tán ít điện năng trong chính công tắc. Nhưng trong trường hợp này, chúng tôi đang xử lý một động cơ và động cơ có xu hướng yêu cầu nhiều dòng điện (với điện áp giảm ít) khi chúng khởi động lần đầu. Vì vậy, trong một hoặc hai giây đầu tiên, MOSFET sẽ hoạt động với VDS cao và sẽ bị giới hạn bởi dòng điện tối đa của nó - khoảng 800mA tính từ đường đứt nét màu đỏ mà chúng tôi đã vẽ trên biểu dữ liệu. Chúng tôi nhận thấy rằng điều này không đủ để khởi động máy bơm, vì vậy chúng tôi đã sử dụng một mẹo nhỏ và đặt hai MOSFET song song. Bằng cách này, chúng chia sẻ dòng điện và có thể chìm một cách hiệu quả khoảng 1600mA với nhau. Nếu bạn có một máy biến áp tường với đầu ra lớn hơn 5V - có thể là 9V hoặc 12V - thì bạn có thể
Bước 3: Thiết lập PWM trên MCU
Thanh ghi và tính toán PWM Trong video, chúng ta nói về hai cấp độ được sử dụng bởi mô-đun bộ đếm thời gian / bộ đếm: giá trị hàng đầu và giá trị so sánh. Cả hai điều này đều quan trọng trong việc tạo ra tín hiệu PWM mà bạn muốn, nhưng để kích hoạt đầu ra PWM của ATmega168 ngay từ đầu, chúng ta phải thiết lập một vài thanh ghi. Đầu tiên, chúng tôi chọn chế độ Fast PWM với OCR1A làm giá trị cao nhất, cho phép chúng tôi tùy ý đặt tần suất bắt đầu một xung mới. Sau đó, chúng tôi đặt đồng hồ chạy với số chia trước là 8, có nghĩa là bộ đếm sẽ tăng bằng 1 mỗi 8 / (14745600 Hz) = 542 nano giây. Vì chúng tôi có các thanh ghi 16 bit cho bộ đếm thời gian này, điều này có nghĩa là chúng tôi có thể đặt khoảng thời gian tín hiệu tổng thể của mình cao tới 65536 * 542ns = 36 mili giây. Nếu chúng ta sử dụng một số chia lớn hơn, chúng ta có thể làm cho các xung của chúng ta xa nhau hơn (điều này không giúp ích gì trong tình huống này) và chúng ta sẽ mất độ phân giải. Nếu chúng tôi sử dụng số chia nhỏ hơn (chẳng hạn như 1), chúng tôi sẽ không thể tạo các xung của mình cách nhau ít nhất 16 mili giây như mong đợi của servo. Cuối cùng, chúng tôi đặt chế độ So sánh đầu ra cho PWM "không đảo ngược" đầu ra, được mô tả trong video của chúng tôi. Chúng tôi cũng đặt chân PB2 thành chân đầu ra - không được hiển thị ở đây, nhưng nó nằm trong mã. Nhấp để phóng to các ảnh này từ trang 132-134 của biểu dữ liệu ATmega168, với các lựa chọn giá trị đăng ký của chúng tôi được đánh dấu:
Bước 4: Lập trình vi điều khiển
Bây giờ đã đến lúc thực sự lập trình MCU. Mã nguồn hoàn chỉnh được cung cấp trên trang web của chúng tôi https://www.nerdkits.com/videos/servosquirter Mã đầu tiên thiết lập PWM để điều khiển servo. Sau đó, mã chỉ nằm trong một vòng lặp chờ đợi người dùng nhập. Các ký tự 1 và 0 bật hoặc tắt chân MCU được kết nối với bóng bán dẫn máy bơm. Thao tác này sẽ bật và tắt máy bơm cho chúng tôi khả năng kích hoạt theo ý muốn. Mã cũng phản hồi với các phím '[' và ']' các phím này sẽ tăng hoặc giảm giá trị so sánh trên chân PWM, điều này sẽ gây ra servo động cơ để thay đổi vị trí. Điều này cung cấp cho bạn khả năng nhắm mục tiêu trước khi bắn.
Bước 5: Giao tiếp cổng nối tiếp
Bước cuối cùng là thiết lập máy tính để bạn có thể gửi các lệnh đến Vi điều khiển. Trong NerdKit, chúng tôi sử dụng cáp nối tiếp để gửi lệnh và thông tin đến máy tính. Có thể viết các chương trình đơn giản bằng hầu hết các ngôn ngữ lập trình có thể giao tiếp qua cổng nối tiếp với NerdKit. Tuy nhiên, việc sử dụng một chương trình đầu cuối để thực hiện giao tiếp nối tiếp sẽ đơn giản hơn nhiều. Bằng cách này, bạn có thể chỉ cần gõ trên bàn phím và xem phản hồi từ NerdKit. WindowsNếu bạn đang sử dụng Windows XP trở xuống, HyperTerminal được bao gồm và sẽ có trong Start Menu của bạn trong "Start -> Programs -> Accessories -> Thông tin liên lạc”. Khi bạn mở HyperTerminal lần đầu tiên, nó sẽ yêu cầu bạn thiết lập kết nối. Hủy bỏ những điều đó, cho đến khi bạn đang ở vị trí chính của HyperTerminal. Bạn sẽ phải thiết lập HyperTerminal, chọn đúng cổng COM và thiết lập cài đặt cổng thích hợp để hoạt động với NerdKit. Làm theo ảnh chụp màn hình bên dưới để thiết lập HyperTerm phù hợp. Nếu bạn đang sử dụng Windows Vista, HyperTerminal không còn được bao gồm nữa. Trong trường hợp này, hãy tải xuống PuTTY (trình cài đặt Windows). Sử dụng cài đặt kết nối bên dưới để thiết lập Putty, sử dụng cổng COM thích hợp. Mac OS XA Sau khi vào ứng dụng Terminal, hãy nhập "screen /dev/tty. PL* 115200" để bắt đầu giao tiếp qua cổng nối tiếp. Trên Linux, chúng tôi sử dụng " minicom "để nói chuyện với cổng nối tiếp. Để bắt đầu, hãy chạy "minicom -s" trên bảng điều khiển để vào menu cài đặt của minicom. Đi tới "Thiết lập cổng nối tiếp". Đặt các thông số như sau: Cấu hình Minicom trên Linux Sau đó, nhấn Escape và sử dụng "Lưu thiết lập dưới dạng dfl" để lưu cài đặt làm mặc định. Bây giờ bạn có thể nhấn "Thoát" và sử dụng minicom để nói chuyện với NerdKit.
Đề xuất:
Đồng hồ đo nhiệt độ nước, độ dẫn điện & mực nước giếng thời gian thực: 6 bước (có hình ảnh)
Đồng hồ đo nhiệt độ, độ dẫn điện & mực nước giếng thời gian thực: Các hướng dẫn này mô tả cách xây dựng đồng hồ đo nước thời gian thực, chi phí thấp để theo dõi nhiệt độ, độ dẫn điện (EC) và mực nước trong giếng đào. Đồng hồ được thiết kế để treo bên trong giếng đào, đo nhiệt độ nước, EC một
Bình nước - Thiết bị thúc đẩy bạn uống nước: 8 bước (có hình ảnh)
Bình nước - Thiết bị thúc đẩy bạn uống nước: Uống đủ nước là rất quan trọng đối với tất cả mọi người. Nhưng hàng ngày tôi lại uống ít nước hơn mức tôi nên uống. Tôi biết có những người giống như tôi, những người cần được nhắc nhở uống nước. Nếu bạn là một trong số chúng tôi, thì dự án này sẽ thay đổi l
Chỉ báo mức nước - Mạch cơ bản của bóng bán dẫn: 5 bước
Chỉ báo mức nước | Mạch cơ bản của bóng bán dẫn: Điểm đánh dấu mực nước là một thiết bị mạch điện tử truyền dữ liệu trở lại bảng điều khiển để hiển thị xem đường thủy có mực nước cao hay thấp. Một số thiết bị đánh dấu mực nước sử dụng kết hợp các cảm biến kiểm tra hoặc các thay đổi để phát hiện mực nước. Ở đó
Theo dõi mực nước hoặc khoảng cách bể chứa trên máy tính để bàn của bạn: 3 bước
Theo dõi mực nước hoặc khoảng cách bể chứa trên máy tính để bàn của bạn: Sử dụng Wemos D1, một cảm biến siêu âm và nền tảng Thingio.AI IoT
MakerBit có thể nhắc bạn kiểm tra nước dưới cây thông Noel của bạn không ?: 7 bước
MakerBit có thể nhắc bạn kiểm tra nước dưới cây thông Noel của bạn không ?: Cây mới cắt là một kiểu trang trí ngày lễ truyền thống ở nhiều gia đình. Điều cần thiết là giữ cho nó được cung cấp nước ngọt. Sẽ thật tuyệt nếu có một vật trang trí có thể giúp nhắc bạn kiểm tra nước dưới gốc cây của bạn phải không? Dự án này là một phần của