Kết quả 1 đến 3 của 3
-
07-04-2013, 03:07 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Dò Line dùng ADC Avr + CB Siêu âm - BK-VS
Đây là Code mình dùng tại vòng trường và vòng ĐH Đà Nẵng năm 2013. vòng miền Trung và vòng toàn quốc thì đội mình không dò Line nữa mà dùng CB Gyro kết hợp Encoder để chạy theo toạ độ góc.
-Ý tưởng: Dùng một chip Slaver Atmega8 để thực hiện vừa dò Line vừa đọc cảm biến siêu âm.
-Ưu điểm:
[IMG]http://*************/attachments/6535/[/IMG]
+không làm ảnh hưởng hoạt động của Master nhưng vẫn có thể dò Line và đọc CB siêu âm chỉ với 1 chip Slaver.
+Sử dùng chuẩn giao tiếp SPI nên truyền khá ổn định.
+Dùng ADC để đọc cảm biến nên có khả năng tự lấy mẫu.
-Nhược điểm:
+Dùng chip dạng DIP nên chỉ đọc 6 kênh ADC. theo mình nghĩ là vừa đủ dùng.
+Chỉ có thể chọn 1 trong 2 chức năng. nếu cho cả 2 chức năng hoạt động có thể làm treo chip hoặc tín hiệu cảm biến đọc về không chuẩn xác.
+khi đổi chức năng phải truyền 2 lần.
-Hoạt động:
+Ý tưởng về cách giao tiếp: nếu chip Master truyền 0 thì Slaver sẽ chuyển sang chế độ đọc ADC, tắt siêu âm và trả về trạng thái của 6 cảm biến quang (nằm trên vạch trắng hay không). Nếu truyền về giá trị khác 0 thì bật siêu âm, tắt ADC và tắt luôn Led ss trắng dùng dò Line để tiết kiệm Pin. Giá trị trả về là trạng thái của CB siêu âm. so sánh khoảng cách siêu âm đọc được với giá trị mà Master truyền về theo đơn vị cm. trả về giá trị lớn hơn hay nhỏ hơn. (Trong chương trình dưới đây thì mình mặc định là 400mm. không xét giá trị master truyền về như ý tưởng. code ý tưởng mình viết ở 1 máy khác mà chưa tìm lại được. hix. lúc nào tìm lại được mình sẽ up lên lại)
+Về CB siêu âm thì mình nghĩ tài liệu trên mạng nói khá nhiều và kỹ nên mình không bàn ở đây.
+Về phần dò đường ADC: cách của mình làm là bật led ss trắng dò đường lên, đặt toàn bộ led vào Line trắng, Nhấn nút 1 để lấy mẫu. cách lấy mẫu là đọc giá trị ADC 20 lần rồi lấy trung bình cộng. lưu 6 giá trị mẫu đọc được vào EEPROM. Khi dò đường thì đọc giá trị ADC trên mỗi kênh. so sánh với giá trị mẫu trong khoảng: mẫu + dung sai. ở đây mình dùng dung sai = 40. dung sai càng lớn thì độ nhạy càng cao, bù lại thì độ chính xác thấp. dung sai lớn thì độ nhạy kém song độ chính xác vẫn không đảm bảo. phương pháp này không được tối ưu lắm vì vẫn không dò được đoạn Line từ khu khởi động đến cùng trái đất do 2 màu khá tương đồng. còn các đoạn khác thì tương đối ổn định.
Trong phần này có lib LCD dùng 595 nên mình up luôn sơ đồ mạch ở đây. Code + mạch còn hơi cẩu thả. mong các bác chém nhẹ và góp ý thêm. Còn ý tưởng của mình là vậy, các bạn có thể dùng luôn hoặc phát triển để hoàn thiện hơn. Cảm ơn các bạn đã quan tâm.
[IMG]http://*************/attachments/6536/[/IMG]
View more random threads:
- Đánh giá DIY SaiGon
- Giúp em làm xe điều khiển dò đường với ạ.
- cần mọi người giúp về phần lập trình của robot leo cầu thang này với ah
- Lựa chọn động cơ bước
- Hướng dẫn làm robot dò đường tránh vật cản dùng cảm biến siêu âm srf05 với vdk 8051
- Cần giúp đỡ
- Robot "kiến" phối hợp cứu người như thế nào (Swarm Robots) ?
- Robocon Ươm Mầm Những Ước Mơ
- Cảm Nhận Của Bạn Là Gì?
- DC Mi SERVO DRIVER HIGH CURRENT
-
12-08-2013, 11:46 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
anh cho em hỏi chút, cái SPI đó để truyền đi đâu vậy?
-
12-11-2013, 05:23 AM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi trịnhtrần92
NAGOPA – Đối tác lý tưởng cho mọi...
Hôm nay, 06:27 PM in Rao vặt tổng hợp