Mục lục:

Robot đi theo dòng nâng cao: 22 bước (có hình ảnh)
Robot đi theo dòng nâng cao: 22 bước (có hình ảnh)

Video: Robot đi theo dòng nâng cao: 22 bước (có hình ảnh)

Video: Robot đi theo dòng nâng cao: 22 bước (có hình ảnh)
Video: Xây dần ước mơ "Bảo Tàng Tiền Tệ" 🏛 2024, Tháng bảy
Anonim
Image
Image
Tạo mẫu - Bảng đục lỗ
Tạo mẫu - Bảng đục lỗ

Đây là một robot theo dòng tiên tiến dựa trên cảm biến dòng Teensy 3.6 và QTRX mà tôi đã chế tạo và đã nghiên cứu trong một thời gian khá dài. Có một số cải tiến lớn về thiết kế và hiệu suất từ dòng robot sau của tôi trước đó. Tốc độ và phản ứng của robot đã được cải thiện. Cấu trúc tổng thể là nhỏ gọn và nhẹ. Các thành phần được bố trí gần với trục bánh xe để giảm thiểu mômen động lượng. Động cơ bánh răng kim loại siêu nhỏ công suất cao cung cấp mô-men xoắn thích hợp và bánh xe silicon trung tâm bằng nhôm cung cấp lực kéo cần thiết ở tốc độ cao. Bộ mã hóa bánh xe và lá chắn chống đỡ cho phép robot xác định vị trí và hướng của nó. Với Teensyview được gắn trên bo mạch, tất cả các thông tin liên quan có thể được hiển thị trực quan và các thông số chương trình quan trọng có thể được cập nhật bằng các nút bấm.

Để bắt đầu chế tạo robot này, bạn sẽ cần những nguồn cung cấp sau (và rất nhiều thời gian và sự kiên nhẫn theo ý của bạn).

Quân nhu

Thiết bị điện tử

  • Ban phát triển Teensy 3.6
  • Tấm chắn chống đỡ với cảm biến chuyển động
  • Sparkfun TeensyView
  • Mảng cảm biến phản xạ Pololu QTRX-MD-16A
  • PCB nguyên mẫu hai mặt 15x20cm
  • Bộ điều chỉnh điện áp bước lên / bước xuống Pololu S9V11F3S5
  • Bộ điều chỉnh điện áp nâng lên 4-5-20V Pololu có thể điều chỉnh U3V70A
  • Động cơ bánh răng vi mô MP12 6V 1580 vòng / phút với bộ mã hóa (x2)
  • Bộ điều khiển động cơ kép DRV8833 (x2)
  • Pin Li-Po 3.7V, 750mAh
  • BẬT / TẮT chuyển đổi
  • Tụ điện 470uF
  • Tụ điện 1000uF (x2)
  • Tụ gốm 0,1uF (x5)
  • Các nút bấm (x3)
  • Đèn LED xanh 10mm (x2)

Phần cứng

  • Bánh xe silicone Atom 37x34mm (x2)
  • Bánh xe đẩy bóng Pololu với Quả cầu kim loại 3/8”
  • N20 gắn động cơ (x2)
  • Bu lông và đai ốc

Cáp và đầu nối

  • 24AWG dây linh hoạt
  • Cáp FFC sang DIP 24 chân và cáp FFC (Loại A, chiều dài 150mm)
  • Đầu ghim tròn nữ
  • Đầu cuối dài đầu ghim tròn nữ
  • Tiêu đề dành cho nữ ở hàng kép ở góc phải
  • Tiêu đề nam hàng kép góc phải
  • Đầu ghim nam
  • Đầu ghim kim nam

Công cụ

  • Đồng hồ vạn năng
  • Hàn sắt
  • Dây hàn
  • Thợ thoát y dây
  • Kìm cắt dây

Bước 1: Tổng quan về hệ thống

Giống như thiết kế rô bốt tự cân bằng trước đó của tôi, rô bốt này là một tập hợp các tấm ván đột phá được gắn trên một tấm ván đục lỗ cũng phục vụ mục đích của một cấu trúc.

Các hệ thống chính của robot được trình bày dưới đây.

Vi điều khiển: Bo mạch phát triển Teensy 3.6 có bộ xử lý ARM Cortex-M4 32-bit 180MHz.

Cảm biến dòng: Mảng cảm biến dòng ra tương tự 16 kênh QTRX-MD-16A 16 kênh của Pololu trong sự sắp xếp mật độ trung bình (khoảng cách cảm biến 8mm).

Truyền động: 6V, 1580 vòng / phút, động cơ bánh răng kim loại siêu nhỏ công suất cao với bộ mã hóa bánh xe từ tính và bánh xe silicon được lắp trên trục nhôm.

Odometry: Các cặp mã hóa bánh xe từ tính để ước tính tọa độ và khoảng cách được bao phủ.

Cảm biến định hướng: Tấm chắn chống đỡ với các cảm biến chuyển động để ước tính vị trí và hướng đi của robot.

Nguồn điện: 3.7V, pin lipo 750mAh làm nguồn điện. Bộ điều chỉnh bước lên / xuống 3.3V cấp nguồn cho bộ vi điều khiển, cảm biến và thiết bị hiển thị. Bộ điều chỉnh bước lên có thể điều chỉnh cấp nguồn cho hai động cơ.

Giao diện người dùng: Teensyview để hiển thị thông tin. Đột phá ba nút để chấp nhận đầu vào của người dùng. Hai số đèn LED xanh lục đường kính 10mm để chỉ báo trạng thái khi đang chạy.

Bước 2: Hãy bắt đầu tạo mẫu

Image
Image

Chúng tôi sẽ thực hiện mạch trên trên bảng điều khiển. Trước tiên, chúng tôi phải chuẩn bị sẵn sàng các bảng đột phá bằng cách hàn các tiêu đề vào chúng. Video sẽ cung cấp ý tưởng về tiêu đề nào nên được hàn trên bảng đột phá nào.

Sau khi hàn các tiêu đề trên bảng đột phá, hãy xếp Teensyview và điểm phá vỡ nút bấm lên trên Teensy.

Bước 3: Tạo mẫu - Bảng đục lỗ

Tạo mẫu - Bảng đục lỗ
Tạo mẫu - Bảng đục lỗ

Lấy bảng điều khiển nguyên mẫu hai mặt 15x20cm và đánh dấu ranh giới bằng bút đánh dấu cố định như trong hình. Khoan các lỗ kích thước M2 để lắp mảng cảm biến, bánh xe đẩy và động cơ bánh răng kim loại siêu nhỏ trên các vị trí được đánh dấu bằng vòng tròn màu trắng. Sau đó, chúng tôi sẽ cắt tấm đục lỗ dọc theo ranh giới sau khi hàn và kiểm tra tất cả các thành phần.

Chúng tôi sẽ bắt đầu tạo mẫu bằng cách hàn các chân tiêu đề và ổ cắm trên bảng điều khiển. Các bảng đột phá sau này sẽ được chèn trên các tiêu đề này. Chú ý cẩn thận đến vị trí của các tiêu đề trên bảng điều khiển. Chúng tôi sẽ kết nối tất cả các dây dựa trên cách bố trí tiêu đề này.

Bước 4: Tạo mẫu - Prop Shield

Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield
Prototyping - Prop Shield

Đầu tiên chúng tôi sẽ hàn các kết nối với tấm chắn chống đỡ. Vì chúng ta chỉ sử dụng cảm biến chuyển động của tấm chắn chống đỡ, chúng ta chỉ cần kết nối các chân SCL, SDA và IRQ ngoài các chân 3V và chân nối đất của tấm chắn chống.

Sau khi kết nối hoàn tất, lắp Teensy và tấm chắn chống đỡ và hiệu chỉnh các cảm biến chuyển động bằng cách làm theo các bước được đề cập ở đây.

Bước 5: Tạo mẫu - Nguồn và Mặt đất

Nguyên mẫu - Nguồn và Mặt đất
Nguyên mẫu - Nguồn và Mặt đất

Hàn tất cả các kết nối nguồn và mặt đất tham khảo hình ảnh. Chèn tất cả các bảng đột phá vào vị trí và đảm bảo tính liên tục bằng cách sử dụng đồng hồ vạn năng. Xác minh các mức điện áp khác nhau trên bo mạch.

  • Điện áp đầu ra Li-po (thường từ 3V đến 4,2V)
  • Điện áp đầu ra của bộ điều chỉnh bước lên / xuống (3.3V)
  • Điện áp đầu ra của bộ điều chỉnh bước lên có thể điều chỉnh (đặt thành 6V)

Bước 6: Tạo mẫu - Người vận chuyển động cơ

Nguyên mẫu - Người vận chuyển động cơ
Nguyên mẫu - Người vận chuyển động cơ
Nguyên mẫu - Người vận chuyển động cơ
Nguyên mẫu - Người vận chuyển động cơ
Nguyên mẫu - Người vận chuyển động cơ
Nguyên mẫu - Người vận chuyển động cơ

Bo mạch mang trình điều khiển động cơ kép DRV8833 có thể cung cấp dòng điện đỉnh liên tục 1,2A và 2A trên mỗi kênh. Chúng tôi sẽ kết nối song song hai kênh để truyền động một động cơ. Hàn các kết nối bằng cách làm theo các bước dưới đây.

  • Song song hai đầu vào và hai đầu ra của bộ điều khiển động cơ như trong hình.
  • Kết nối dây điều khiển đầu vào với trình điều khiển động cơ.
  • Nối một tụ điện 1000uF và một tụ gốm 0,1uF qua các cực Vin và Gnd của hai bảng mạch mang.
  • Kết nối tụ gốm 0,1uF qua các đầu ra của trình điều khiển động cơ.

Bước 7: Tạo mẫu - Tiêu đề mảng cảm biến dòng

Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng
Tạo mẫu - Tiêu đề mảng cảm biến dòng

Teensy 3.6 có hai ADC - ADC0 và ADC1 được ghép thành 25 chân có thể truy cập. Chúng tôi có thể truy cập bất kỳ hai chân nào từ hai ADC cùng một lúc. Chúng tôi sẽ kết nối tám cảm biến dòng với ADC0 và ADC1. Các cảm biến số chẵn sẽ được kết nối với ADC1 và cảm biến số lẻ với ADC0. Hàn các kết nối bằng cách làm theo các bước dưới đây. Sau đó, chúng tôi sẽ kết nối cảm biến dòng bằng FFC với bộ chuyển đổi DIP và cáp.

  • Kết nối tất cả các chân cảm biến chẵn (16, 14, 12, 10, 8, 6, 4, 2) như trong hình. Luồn dây để kết nối chân cảm biến 12 qua mặt sau của bảng điều khiển.
  • Kết nối chân điều khiển bộ phát (EVEN) với chân Teensy 30.
  • Kết nối tất cả các chân cảm biến lẻ (15, 13, 11, 9, 7, 5, 3, 1) như trong hình.
  • Kết nối tụ điện 470uF qua Vcc và Gnd.

Nếu bạn quan sát kỹ các chân cảm biến dòng và chân tiêu đề tương ứng của chúng trên bảng, bạn sẽ nhận thấy rằng hàng trên cùng của cảm biến dòng ánh xạ đến hàng dưới cùng của tiêu đề trên bảng và ngược lại. Điều này là do khi chúng tôi kết nối cảm biến dòng với bảng điều khiển bằng cách sử dụng tiêu đề góc phải hàng kép, các hàng sẽ căn chỉnh chính xác. Tôi đã mất khá nhiều thời gian để tìm ra điều này và sửa lỗi gán pin trong chương trình.

Bước 8: Tạo mẫu - Bộ mã hóa và động cơ bánh răng siêu nhỏ

Nguyên mẫu - Bộ mã hóa và động cơ bánh răng siêu nhỏ
Nguyên mẫu - Bộ mã hóa và động cơ bánh răng siêu nhỏ
  • Cố định động cơ bánh răng kim loại siêu nhỏ với bộ mã hóa sử dụng giá đỡ động cơ N20.
  • Kết nối động cơ và dây bộ mã hóa như trong hình.
  • Bộ mã hóa bên trái - Chân thiếu niên 4 & 0
  • Bộ mã hóa bên phải - chân Teensy 9 & 27

Bước 9: Tạo mẫu - Đèn LED

Tạo mẫu - Đèn LED
Tạo mẫu - Đèn LED
Tạo mẫu - Đèn LED
Tạo mẫu - Đèn LED

Hai đèn LED cho biết rô bốt đã phát hiện rẽ hay chưa. Tôi đã sử dụng một điện trở loạt 470 ohm để kết nối các đèn LED với Teensy.

  • Cực dương bên trái của đèn LED đến chân Teensy 6
  • Cực dương LED bên phải đến chân Teensy 8

Bước 10: Tạo mẫu - Đột phá

Image
Image
Nguyên mẫu - Đột phá
Nguyên mẫu - Đột phá

Bây giờ chúng tôi đã hoàn thành tất cả các công đoạn hàn của chúng tôi trên tấm đục lỗ, chúng tôi có thể cẩn thận cắt dọc theo ranh giới được đánh dấu trên tấm đục lỗ và loại bỏ những phần thừa của tấm đục lỗ. Ngoài ra, gắn hai bánh xe và bánh xe.

Chèn tất cả các bảng đột phá vào các ổ cắm tương ứng của chúng. Để lắp bộ ngắt FFC-DIP và để sửa cảm biến dòng QTRX-MD-16A, hãy tham khảo video.

Bước 11: Tổng quan về thư viện phần mềm

Tổng quan về thư viện phần mềm
Tổng quan về thư viện phần mềm

Chúng tôi sẽ lập trình Teensy trong Arduino IDE. Chúng tôi sẽ cần một số thư viện trước khi bắt đầu. Các thư viện mà chúng tôi sẽ sử dụng là:

  • Mã hoá
  • Teensyview
  • EEPROM
  • ADC
  • NXPMotionSense

Và một số được viết riêng cho robot này,

  • PushButton
  • LineSensor
  • TeensyviewMenu
  • Động cơ

Các thư viện dành riêng cho robot này được thảo luận chi tiết và có sẵn để tải xuống trong các bước tiếp theo.

Bước 12: Giải thích thư viện - PushButton

Thư viện này là để giao tiếp bảng đột phá nút bấm với Teensy. Các chức năng được sử dụng là

PushButton (int leftButtonPin, int centreButtonPin, int rightButtonPin);

Việc gọi hàm tạo này bằng cách tạo một đối tượng cấu hình các chân nút bấm ở chế độ INPUT_PULLUP.

int8_t waitForButtonPress (void);

Chức năng này đợi cho đến khi nhấn và nhả một nút và trả về mã phím.

int8_t getSingleButtonPress (void);

Chức năng này kiểm tra xem một nút có được nhấn và nhả hay không. Nếu có, trả về mã khóa khác trả về số không.

Bước 13: Giải thích thư viện - Cảm biến dòng

LineSensor là thư viện để giao tiếp mảng cảm biến dòng với Teensy. Sau đây là các chức năng được sử dụng.

LineSensor (vô hiệu);

Gọi hàm tạo này bằng cách tạo một đối tượng khởi tạo ADC0 và ADC1, đọc các giá trị ngưỡng, tối thiểu và tối đa từ EEPROM và cấu hình các chân cảm biến ở chế độ đầu vào và chân điều khiển bộ phát cho chế độ đầu ra.

void hiệu chỉnh (uint8_t calibrationMode);

Chức năng này hiệu chỉnh các cảm biến dòng. Mã hiệu chuẩn có thể là MIN_MAX hoặc MEDIAN_FILTER. Chức năng này được giải thích chi tiết trong một bước sau.

void getSensorsAnalog (uint16_t * sensorValue, uint8_t mode);

Đọc mảng cảm biến ở bất kỳ chế độ nào trong ba chế độ được truyền dưới dạng đối số. Chế độ là trạng thái của bộ phát và có thể BẬT, TẮT hoặc TẮT. Chế độ TOGGLE bù các số đọc của cảm biến về độ phản xạ do ánh sáng xung quanh. Các cảm biến kết nối với ADC0 và ADC1 được đọc đồng bộ.

int getLinePosition (uint16_t * sensorValue);

Tính toán vị trí của mảng cảm biến trên dòng theo phương pháp trung bình có trọng số.

uint16_t getSensorsBinary (uint16_t * sensorValue);

Trả về biểu diễn 16 bit về trạng thái của các cảm biến. Một số nhị phân cho biết rằng cảm biến đang ở trên dòng và một số không nhị phân cho biết rằng cảm biến đang ở ngoài dòng.

uint8_t countBinary (uint16_t binaryValue);

Việc chuyển biểu diễn 16 bit của các giá trị cảm biến cho hàm này sẽ trả về số lượng cảm biến nằm trên dòng.

void getSensorsNormalized (uint16_t * sensorValue, uint8_t mode);

Đọc các giá trị cảm biến và giới hạn mỗi giá trị cảm biến ở các giá trị tối thiểu và tối đa tương ứng của nó. Các giá trị cảm biến sau đó được ánh xạ từ phạm vi tối thiểu đến tối đa tương ứng của chúng thành phạm vi 0 đến 1000.

Bước 14: Giải thích thư viện - TeensyviewMenu

TeensyviewMenu là thư viện nơi có thể truy cập các chức năng cho menu hiển thị. Sau đây là các chức năng được sử dụng.

TeensyViewMenu (void);

Việc gọi hàm tạo này sẽ tạo ra một đối tượng của lớp LineSensor, PushButton và TeensyView.

void intro (khoảng trống);

Điều này là để điều hướng menu.

kiểm tra vô hiệu (void);

Điều này được gọi trong nội bộ menu khi các giá trị cảm biến dòng sẽ được hiển thị trên Teensyview để thử nghiệm.

Bước 15: Giải thích thư viện - Động cơ

Động cơ là thư viện được sử dụng để dẫn động hai động cơ. Sau đây là các chức năng được sử dụng.

Động cơ (vô hiệu);

Gọi hàm tạo này bằng cách tạo một đối tượng cấu hình điều khiển hướng động cơ và các chân điều khiển PWM ở chế độ đầu ra.

void setSpeed (int leftMotorSpeed, int rightMotorSpeed);

Gọi hàm này điều khiển hai động cơ ở tốc độ được truyền dưới dạng đối số. Giá trị của tốc độ có thể nằm trong khoảng từ -255 đến +255 với dấu âm cho biết chiều quay bị đảo ngược.

Bước 16: Kiểm tra - Mã hóa Odometry

Chúng tôi sẽ kiểm tra các bộ mã hóa bánh xe từ tính và hiển thị vị trí và khoảng cách được bao phủ bởi rô bốt.

Tải lên DualEncoderTeensyview.ino. Chương trình hiển thị tích tắc mã hóa trên Teensyview. Bộ mã hóa đánh dấu tăng lên nếu bạn di chuyển rô-bốt về phía trước và giảm dần nếu bạn di chuyển rô-bốt về phía sau.

Bây giờ tải lên EncoderOdometry.ino. Chương trình này hiển thị vị trí của rô bốt theo tọa độ x-y, hiển thị tổng khoảng cách được tính bằng cm và góc quay theo độ.

Tôi đã giới thiệu việc Thực hiện Reckoning Chết bởi Odometry trên một Robot có R / C Servo Differential Drive của Seattle Robotics Society để xác định vị trí từ các tích tắc của bộ mã hóa.

Bước 17: Kiểm tra - Cảm biến chuyển động Prop Shield

Đảm bảo rằng bạn đã hiệu chỉnh các cảm biến chuyển động bằng cách làm theo các bước được đề cập ở đây.

Bây giờ hãy tải lên PropShieldTeensyView.ino. Bạn sẽ có thể xem các giá trị gia tốc kế, con quay hồi chuyển và từ kế của cả ba trục trên Teensyview.

Bước 18: Tổng quan về chương trình

Chương trình dành cho người theo dõi dòng nâng cao được viết bằng Arduino IDE. Chương trình hoạt động theo trình tự sau được giải thích bên dưới.

  • Các giá trị được lưu trữ trong EEPROM được đọc và menu được hiển thị.
  • Khi nhấn LAUNCH, chương trình sẽ đi vào vòng lặp.
  • Các giá trị cảm biến dòng chuẩn hóa được đọc.
  • Giá trị nhị phân của vị trí dòng thu được bằng cách sử dụng các giá trị cảm biến chuẩn hóa.
  • Số lượng cảm biến trên đường được tính từ giá trị nhị phân của vị trí đường.
  • Tích tắc mã hóa được cập nhật và tổng khoảng cách được bao phủ, tọa độ và góc x-y được cập nhật.
  • Đối với các giá trị khác nhau của số nhị phân từ 0 đến 16, một tập hợp các lệnh được thực hiện. Nếu số lượng nhị phân nằm trong phạm vi từ 1 đến 5 và nếu các cảm biến trên đường thẳng nằm kề nhau, quy trình PID được gọi. Xoay được thực hiện trong các kết hợp khác của giá trị nhị phân và số đếm nhị phân.
  • Trong quy trình PID (đây là quy trình PD), động cơ được điều khiển ở tốc độ được tính toán dựa trên sai số, sự thay đổi trong lỗi, các giá trị Kp và Kd.

Chương trình hiện tại không đo các giá trị định hướng từ tấm chắn chống đỡ. Đây là một công việc đang được tiến hành và đang được cập nhật.

Tải lên TestRun20.ino. Chúng ta sẽ xem cách điều hướng menu, điều chỉnh cài đặt và cách hiệu chỉnh cảm biến đường trong các bước tiếp theo mà chúng ta sẽ kiểm tra robot của mình.

Bước 19: Điều hướng Menu và Cài đặt

Menu có các cài đặt sau có thể được điều hướng bằng cách sử dụng các nút trái và phải và được chọn bằng cách sử dụng nút ở giữa. Các cài đặt và chức năng của chúng được mô tả bên dưới.

  1. CALIBRATE: Để hiệu chỉnh cảm biến dòng.
  2. KIỂM TRA: Để hiển thị các giá trị cảm biến dòng.
  3. LAUNCH: Để bắt đầu dòng sau.
  4. TỐC ĐỘ TỐI ĐA: Để đặt giới hạn trên của tốc độ rô bốt.
  5. TỐC ĐỘ XOAY: Để đặt giới hạn trên của tốc độ của rô-bốt khi rô-bốt rẽ, tức là khi cả hai bánh quay ngược chiều với tốc độ bằng nhau.
  6. KP: Hằng số tỷ lệ.
  7. KD: Hằng số đạo hàm.
  8. CHẾ ĐỘ CHẠY: Để chọn giữa hai chế độ hoạt động - NORMAL và ACCL. Ở chế độ BÌNH THƯỜNG, rô bốt chạy với tốc độ xác định trước tương ứng với các giá trị vị trí đường. Trong chế độ ACCL, TỐC ĐỘ TỐI ĐA của rô bốt được thay thế bằng TỐC ĐỘ ACCL ở các giai đoạn xác định trước của đường đua. Điều này có thể được sử dụng để tăng tốc độ rô bốt ở các đoạn thẳng của đường đua. Các cài đặt sau chỉ có thể truy cập được nếu CHẾ ĐỘ CHẠY được đặt là ACCL.
  9. LAP DISTANCE: Để thiết lập tổng chiều dài của đường đua.
  10. ACCL SPEED: Để cài đặt tốc độ tăng tốc của rô bốt. Tốc độ này thay thế TỐC ĐỘ TỐI ĐA ở các giai đoạn khác nhau của đường đua như được định nghĩa bên dưới.
  11. KHÔNG. CÁC GIAI ĐOẠN: Để đặt số giai đoạn mà ACCL SPEED được sử dụng.
  12. GIAI ĐOẠN 1: Để đặt khoảng cách bắt đầu và kết thúc của chặng trong đó MAX SPEED được thay thế bằng ACCL SPEED. Đối với mỗi giai đoạn, khoảng cách bắt đầu và kết thúc có thể được đặt riêng biệt.

Bước 20: Hiệu chỉnh cảm biến dòng

Image
Image

Hiệu chuẩn cảm biến dòng là quá trình xác định giá trị ngưỡng của từng cảm biến trong số 16 cảm biến. Giá trị ngưỡng này được sử dụng để quyết định xem một cảm biến cụ thể có vượt quá dòng hay không. Để xác định giá trị ngưỡng của 16 cảm biến, chúng tôi sử dụng một trong hai phương pháp.

MEDIAN FILTER: Trong phương pháp này, các cảm biến dòng được đặt trên bề mặt trắng và một số lượng các chỉ số cảm biến được xác định trước được thực hiện cho tất cả 16 cảm biến. Giá trị trung bình của tất cả 16 cảm biến được xác định. Quá trình tương tự được lặp lại sau khi đặt các cảm biến dòng trên bề mặt màu đen. Giá trị ngưỡng là giá trị trung bình của các giá trị trung bình của bề mặt đen và trắng.

TỐI ĐA TỐI ĐA: Trong phương pháp này, các giá trị cảm biến được đọc lặp lại cho đến khi người dùng nhắc dừng. Các giá trị tối đa và tối thiểu mà mỗi cảm biến gặp phải được lưu trữ. Giá trị ngưỡng là giá trị trung bình của các giá trị tối thiểu và tối đa.

Các giá trị ngưỡng thu được do đó được ánh xạ tới phạm vi 0 đến 1000.

Hiệu chuẩn của cảm biến dòng bằng phương pháp MIN MAX được hiển thị trong video. Sau khi hiệu chỉnh các cảm biến dòng, dữ liệu có thể được hiển thị như trong hình. Thông tin sau được hiển thị.

  • Biểu diễn nhị phân 16 bit của vị trí dòng với số nhị phân 1 cho biết cảm biến dòng tương ứng nằm trên dòng và số nhị phân 0 cho biết cảm biến dòng đang ở ngoài dòng.
  • Tổng số cảm biến nằm trên đường dây.
  • Giá trị tối thiểu, tối đa và giá trị cảm biến (thô và chuẩn hóa) của 16 cảm biến, một cảm biến tại một thời điểm.
  • Vị trí dòng trong phạm vi -7500 đến +7500.

Giá trị cảm biến dòng tối thiểu và tối đa sau đó được lưu trữ trong EEPROM.

Bước 21: Chạy thử nghiệm

Image
Image

Video là một cuộc chạy thử nghiệm trong đó robot được lập trình để dừng lại sau khi hoàn thành một vòng.

Bước 22: Suy nghĩ cuối cùng và cải tiến

Cuộc thi rô bốt
Cuộc thi rô bốt

Phần cứng được kết hợp với nhau để chế tạo robot này không được chương trình chạy nó sử dụng hết mức. Rất nhiều cải tiến có thể được thực hiện trong phần chương trình. Hiện tại, các cảm biến chuyển động của tấm chắn chống đỡ không được sử dụng để xác định vị trí và hướng. Dữ liệu đo mùi từ bộ mã hóa có thể được kết hợp với dữ liệu định hướng từ tấm chắn chống đỡ để xác định chính xác vị trí và hướng của rô bốt. Dữ liệu này sau đó có thể được sử dụng để lập trình robot học đường đi trong nhiều vòng. Tôi khuyến khích bạn thử nghiệm phần này và chia sẻ kết quả của bạn.

Chúc may mắn.

Cuộc thi rô bốt
Cuộc thi rô bốt

Giải nhì cuộc thi Robot

Đề xuất: