Khoảng cách đo được: 2~450cm khoảng cách xa nhất đạt được ở điều khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chín
Trang 1TRƯỜNG ĐẠI HỌC KĨ THUẬT-CÔNG
ĐỀ TÀI: THƯỚC ĐO KHOẢNG CÁCH TỪ XA
Giảng viên hướng dẫn:Thầy Đường Khánh Sơn
Nhóm sinh viên thực hiện: nhóm 6
Trang 2LỜI NÓI ĐẦU
Ngày nay vi điều khiển đã trở nên quen thuộc trong các thiết bị kỹ thuật Các bộ
vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip
vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạchđiện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển không những góp phầnvào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin
Cho nên đối với các sinh viên ngành CƠ KHÍ, việc tìm hiểu, khảo sát vi điều
khiển và ứng dụng chúng vào thực tế là hết sức cần thiết Vì thế, em quyết định
chọn đề tài cho Đồ án môn học là: “THƯỚC ĐO KHOẢNG CÁCH TỪ XA” (dùng cảm biến siêu âm srf05).
Em xin cảm ơn toàn thể các thầy cô giáo trong khoa CƠ KHÍ đã giảng dạy và
truyền đạt những kiến thức, kinh nghiệm quý báu và tạo điều kiện tốt nhất cho
em được học tập và nghiên cứu tại trường
Cần Thơ , ngày 14 tháng 10 năm 2022
2
Trang 3PHẦN I: CƠ SỞ LÝ THUYẾT
1 Cảm biến siêu âm
Cảm biến siên âm có nhiều loại, tùy theo công dụng như để nhận biết vật trongkhoảng cách gần hay xa, nhận biết các vật có tính chất khác nhau và trongnhững điều kiện hoạt động khác nhau mà người ta chế tạo các loại cảm biến siêu
âm cũng khác nhau
SRF05 là
một bước phát triển từ SRF04, được thiết kế để làmtăng tính linh hoạt, tăng phạm vi, ngoài ra còn giảmbớt
chi
phí Range is increased from 3 meters to 4 meters.Khoảng cách được tăng từ 3mét đến 4 mét A new operating mode (tying the mode pin to ground) allows theSRF05 to use a single pin for both trigger and echo, thereby saving valuable pins
on your controller.SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt
và phản hồi, do đó tiết kiệm giá trị trên chân điều khiển.When the mode pin is
Hình 1 Cảm biến Carlo
Gavazzi
Hình 2 Cảm biến HC-SRF04
Trang 4the SRF04 Khi chân chế độ không kết nối, thì SRF05 hoạt động riêng biệt chânkích hoạt và và chân hồi tiếp, giống như SRF04
1.1 Đặc điểm kỹ thuật cảm biến SRF05Độ chính xác: 0.5cm
Điện áp hoạt động: 5VDC
Dòng tiêu thụ: 10~40mA
Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger (thường dùng) và Out (ít dùng).
Trang 5 Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm).
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ).
Kích thước: 43mm x 20mm x 17mm
1.2 Nguyên tắc hoạt động
Nguyên tắc TOF (Time Of Flight): Sóng siêu âm được truyền đi trong
không khí với vận tốc khoảng 343m/s Nếu một cảm biến phát ra sóng siêu âm
và thu về các sóng phản xạ đồng thời, đo được khoảng thời gian từ lúc phát đitới lúc thu về, thì máy tính có thể xác định được quãng đường mà sóng đã dichuyển trong không gian Quãng đường di chuyển của sóng sẽ bằng 2 lầnkhoảng cách từ cảm biến tới chướng ngoại vật, theo hướng phát của sóng siêuâm
Nếu đo được chính xác thời gian và không có nhiễu, mạch cảm biến siêu âm trả
về kết quả cực kì chính xác Điều này phụ thuộc vào cách viết chương trìnhkhông sử dụng các hàm delay Sóng siêu âm chỉ bị dội lại khi gặp 1 số loại vậtcản, nếu phát sóng siêu âm vào chăn, nệm thì nó sẽ không nhận được sóng phảnhồi Có thể sử dụng các loại chip thông dụng để nhận và xử lý dữ liệu như 8051,AVR, PIC, Arduino,…
Hình 6 Nguyên tắc TOF
Trang 61.3 Tầm quét của cảm biến siêu âm
Cảm biến siêu âm có thể được mô hình hóa thành một hình quạt, trong đócác điểm ở giữa dường như không có chướng ngại vật, còn các điểm trên biênthì dường như có chướng ngại vật nằm ở đâu đó
Trang 71.5 Một số đặc điểm khác của SRF05
Mức độ của sóng âm hồi tiếp phụ thuộc vào cấu tạo của đối tượng và gócphản xạ của nó Một đối tượng mềm có thể cho ra tín hiệu phản hồi yếu hoặckhông có phải hồi Một đối tượng ở một góc cân đối thì mới có thể chuyển thànhtín hiệu phản chiếu cho cảm biến nhận
Vùng phát hiện của SRF05: Các vùng phát hiện của SRF04 nằm trong
khoảng 1m chiều rộng từ bên này sang bên kia và không quá 4m chiều dài
There are two constraints in this scenario to consider.If the threshold forobject detection is set too close to the sensor then objects on a collision pathmight be in a blind spot.Nếu ngưỡng để phát hiện đối tượng được đặt quá gầnvới cảm biến, các đối tượng trên một đường có thể bị va chạm tại một điểm mù
If the threshold is set at too great a distance from the sensor then objects will bedetected which are not on a collision path (assuming that the width of the robot
is less than a meter).Nếu ngưỡng này được đặt ở một khoảng cách quá lớn từ cáccảm biến thì các đối tượng sẽ được phát hiện mà không phải là trên một đường
va chạm
Hình 9 Độ chính xác phụ thuộc cấu tạo và góc phản xạ
Hình 10 Vùng phát hiện SRF05
Trang 8Một kỹ thuật phổ biến để làm giảm các điểm mù và đạt được phát hiệnchiều rộng lớn hơn ở cự ly gần là thêm một cải tiến bằng cách thêm một cảmbiến bổ sung và cùng hướng về phía trước If the setup is such that there is aregion where the two detection zones overlap, then an algorithm can beestablished around four possible states according to the following truthtable:Thiết lập như vậy thì có một khu vực mà hai khu vực phát hiện chồng chéolên nhau
Các vùng hoạt động của 2 cảm biến SRF05 tạo góc chung 30 độ Vùngchung thì được phân biệt bởi 2 phần tín hiệu trái phải và phần cản ở giữa
2 Vi điều khiển 8051 (89S52)
AT89S52 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc cóthể xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3TIMER/COUNTER 16 Bit, 6 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nốitiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP
8
Hình 11 Kết hợp 2 cảm biến SRF05
Hình 12 Vi điều khiển AT89S52
Trang 9Các đặc điểm của chip AT89S52 được tóm tắt như sau:
- 8 KByte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu
kỳ ghi/xoá
- Tần số hoạt động từ: 0Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 3 bộ Timer/counter 16 Bit
- 128 Byte RAM nội
- 4 Port xuất /nhập I/O 8 bit
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
2.1 Cấu tạo chân
Tuỳ theo khả năng của từng người (về kinh tế, kỹ thuật…) mà các nhà sản xuấtcác sản phẩm ứng dụng có thể chọn 1 trong 3 kiểu chân do ATMEL đưa ra
Hình 13 Các kiểu chân của AT89S52
Trang 102.2 Sơ đồ khối
Interrupt control: điều khiển ngắt
Other registers: các thanh ghi khác
128 bytes RAM: RAM 128 byte
Timer 2, 1, 0: bộ định thời 2, 1, 0
CPU: bộ xử lý trung tâm
OSC (Oscillator): mạch dao động
Bus control: điều khiển bus
I/O ports: các port xuất/nhập
Serial port: port nối tiếp
Address/data: địa chỉ/dữ liệu
10
Hình 14 Sơ đồ khối AT89S52
Trang 11Phần chính của vi điều khiển 89S52 là bộ xử lý trung tâm CPU nhận trựctiếp xung từ bộ giao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp
từ bên ngoài
Chương trình đang chạy có thể cho dừng lại nhờ một khối điêu khiển ngắt
ở bên trong Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếmđịnh thời, hoặc cũng có thể là giao diện nối tiếp Hai bộ định thời 16 bit hoạtđộng như một bộ đếm
Giao diện nối tiếp cũng chứa một bộ truyền và bộ nhận không đồng bộ làmviệc độc lập với nhau Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng
Trang 12Port 0: từ chân 32 đến 39 (P0.0 - P0.7) có hai chức năng:
Trong các thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) có chức năng như cácđường I/O Đối với các thiết kế lớn với bộ nhớ mở rộng nó được kết hợp giữacác bus địa chỉ và bus dữ liệu
Port 1: từ chân 1 đến 8 (P1.0 - P1.7) Port 1 là một port I/O dùng cho thiết
bị ngoại vi nếu cần
Port 2: từ chân 21 đến 28 (P2.0 - P2.7) Port 2 có công dụng kép được
dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ 16 bit đối vớicác thiết kế dùng bộ nhớ mở rộng hoặc các thiết kế có nhiều hơn 256 byte bộnhớ dữ liệu ngoài
Port 3: từ chân 10 đến 17 (P3.0 - P3.7) Các chân của port này có nhiều
chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của89S52 như ở bảng sau:
PSEN (Program Store Enable): tín hiệu trên chân 29 Nó là tín hiệu điều
khiển cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE(Output Enable) của một EPROM để cho phép đọc các byte mã lệnh
PSEN sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chương trìnhđược đọc từ EPROM qua bus và được chôt vào thanh ghi lệnh của 89S52 đểgiải mã lệnh Khi thi hành chương trình trong ROM nội (89S52) PSEN sẽ ởmức thụ động (mức cao)
12
Trang 13ALE (Address Latch Enable ): tín hiệu ra ALE trên chân 30 tương hợp với
các thiết bị làm việc với các xử lý 8585, 8088, 8086, 8051 dùng ALE một cáchtương tự cho việc giải mã các kênh các bus địa chỉ và dữ liệu khi port 0 đượcdùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu vừa là bus thấp của địachỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầucủa chu ký bộ nhớ Sau đó các đường port 0 dùng để xuất hoặc nhập dữ liệutrong nữa sau chu kỳ của bộ nhớ
Các xung tín hiệu chân ALE có tốc độ bằng 1/6 lần tần số dao động trênchip và có thể dùng làm nguồn xung nhịp cho các hệ thống Nếu xung trên chân
8051 là 12MHz thì ALE có tần số 2MHz Chỉ ngoại trừ khi thi hành lệnhMOVX, một xung ALE sẽ bị mất Chân này cũng được làm ngõ vào cho xunglập trình cho EPROM trong 8051
EA (External Access) : tín hiệu vào EA trên chân 31 thường được mắc lên
mức cao (+5V) hoặc mức thấp (GND) Nếu ở mức cao, 8051 thi hành chươngtrình từ ROM nội trong khoảng địa chỉ thấp (4K) Nếu ở mức thấp, chương trìnhchỉ được thi hành từ bộ nhớ mở rộng Khi dùng 8031, EA luôn được nối mứcthấp vì không có bộ nhớ chương trình trên chip Nếu EA được nối mức thấp bộnhớ bên trong chương trình 89S52 sẽ bị cấm và chương trình thi hành từEPROM mở rộng Người ta còn dùng chân EA làm chân cấp điện áp 21V khilập trình cho EPROM trong 89S52
RST (Reset): ngõ vào RST trên chân 9 là ngõ reset của 8051 Khi tín hiệu
này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong89S52 được tải những giá trị thích hợp để khởi động hệ thống
Các ngõ vào bộ dao động trên chip:
Trang 14Như trong hình trên, 89S52 có một bộ dao động trên chip Nó thường đượcnối với thạch anh giữa hai chân 18 và 19 Các tụ giữa cũng cần thiết như đã vẽ.Tần số thạch anh thông thường là 12MHz và giá trị tụ thường được chọn là33pF.
Các chân nguồn: 89S52 vận hành với nguồn đơn +5V Vcc được nối vàochân 40 và Vss (GND) được nối vào chân 20
2.4 Giao tiếp với cảm biến siêu âm để đo khoảng cách
Đo khoảng cách bằng cảm biến siêu âm SRF05 chính là đo thời gian chânECHO ở mức cao Để đo thời gian chân ECHO ở mức cao có thể dùng mộttrong các bộ Timer của vi điều khiển
Để đo khoảng cách ta làm các bước như sau:
1 Kích chân Trigger: xuất mức 1 ra chân Trigger và delay tối thiểu 10us
2 Sau đó đợi chân ECHO lên mức cao
3 Khi chân ECHO lên mức cao, kích hoạt Timer
- Đợi chân ECHO xuống thấp
- Cho phép ngắt cạnh xuống
4 Khi chân ECHO xuống mức thấp (hoặc trong chương trình xử lý ngắt),dừng Timer và tính toán giá trị thời gian từ Timer, từ đó suy ra khoảngcách
5 Reset giá trị đếm của Timer để chuẩn bị cho lần đo tiếp theo
14
Trang 153 LCD - Giao tiếp với Vi điều khiển 89S52
Màn hình LCD được sử dụng trong rất nhiều các ứng dụng nhúng So vớicác dạng hiển thị khác, LCD có rất nhiều ưu điểm:
- Có khả năng hiển thị ký tự đa dạng, trực quan
- Hiển thị được nhiều ký tự
- Giao tiếp với vi điều khiển rất đơn giản, tốn ít tài nguyên của vi điềukhiển
- Ngoài ra: tiết kiệm năng lượng, kích thước nhỏ gọn, giá thành rẻ,
3.1 Hình dáng và kích thước:
Hiện nay, có rất nhiều loại LCD với nhiều hình dáng và kích thước khácnhau, hình dưới đây là hai loại LCD thông dụng
Khả năng hiển thị của LCD cũng khác nhau, các loại thông dụng:
- LCD 16x2: hiển thị được 2 dòng, mỗi dòng 16 kí tự
- LCD 20x2: hiển thị được 2 dòng, mỗi dòng 20 kí tự
- LCD 20x4: hiển thị được 4 dòng, mỗi dòng 20 kí tự
3.2 Sơ đồ chân
Hình 15 Các loại LCD thông dụng
Trang 16Chức năng của các chân LCD 16x2 được thể hiện dưới bảng sau:
Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.
- Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
- Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
16
Trang 17-14
D B0-
DB7
Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU
Có 2 chế độ sử dụng 8 đường bus này:
- Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
- Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7.
3.3 Kết nối với vi điều khiển
Hình 17 Kết nối 89S52 với LCD
Trang 18- Nút nhấn 4 chân: nhấn giữ để dừng lại hiển thị khoảng cách lên LCD
- Biến trở tam giác: dùng để chỉnh độ tương phản cho LCD
18
Trang 19PHẦN II: THIẾT KẾ VÀ THỰC HIỆN
- Khối tải: gồm LED
- Khối hiển thị: LCD hiển thị khoảng cách và trạng thái (an toàn, cảnh báo
và nguy hiểm)
Trang 202 Thiết kế phần cứng
2.1 Sơ đồ nguyên lý
- Khối hiển thị LCD kết nối với 89s52 qua các chân: 23, 24, 25, 26, 27, 28
- Chân Vee của LCD nối vào chân 3 biến trở để điều chỉnh độ tương phản
- SRF04 kết nối với vi xử lý qua các chân: 1 - (Trigger), 12 - (Echo)
- Nút nhấn kết nối với chân 17 của 89s52
20
Hình 18 Sơ đồ nguyên lý của mạch đo khoảng cách
Trang 233 Thực hiện phần mềm
3.1 Nguyên lý hoạt động
Đầu tiên khi ta đưa chân Trig của cảm biến lên mức 1, rồi giữ nó khoảng 10ussau đó kéo về 0, sóng siêu âm sẽ phát ra từ đầu phát Nếu có vật cản phía trước,sóng siêu âm sẽ phản xạ tại đầu thu Khi đầu thu nhận được tín hiệu sóng phảnhồi, chân ECHO sẽ được đưa xuống mức 0 Biết vận tốc của sóng siêu âm là343m/s cũng như thời gian phát-thu được đo bằng Timer hoặc ngắt ngoài Ta sẽ
dễ dàng tính được khoảng cách từ vị trí phát đến vật
Với công thức đã tính (*): d = t/58d =(Đơn vị của khoảng cách d là cm, đơn vị
của thời gian t là us)
( Đơn vị khoảng cách d là cm, đơn vị của thời gian t là us)
Trang 24lcd.setCursor(2,0);
lcd.print("DO AN NHOM 6"); }
void loop() {
{ Serial.begin(9600);
void loop(){
Trang 25if (khoangcach >= 10 && khoangcach <100) {
lcd.setCursor(9,1);
lcd.print(".");
{noTone(loa);
} delay(500);
}
if (khoangcach >= 100) {
lcd.setCursor(10,1);
lcd.print(".");
noTone(loa);
} delay(500);
Trang 26KẾT LUẬN
- Mạch điện tử đơn giản, dễ xử lí
- Sóng phản hồi không phụ thuộc vào màu sắc, bề mặt của vật thể hay tínhchất phản xạ, ánh sáng của đối tượng
- Sóng phản hồi của sóng siêu âm chịu ảnh hưởng của sóng âm thanh tạp
âm, tác động của môi trường bên ngoài
- Cảm biến siêu âm yêu cầu cần có một khoảng thời gian sau mỗi lần sóngphát đi để nhận lại sóng phản hồi nên nhìn chung chậm hơn các cảm biếnkhác
- Cảm biến siêu âm có giới hạn khoảng cách phát hiện
- Ngày nay, người ta vẫn tiếp tục nghiên cứu và phát triển việc chế tạo cácrobot có gắn cảm biến siêu âm đồng thời với các cảm biến khác như laser,camera, kết hợp với các công nghệ của viễn thông như GPS, GSMnhằm nâng cao độ chính xác trong việc định vị cũng như thăm dò mộtkhoảng không gian nào đó để xây dựng bản đồ
26