1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo Đồ án Thước Điện Tử (Mạch đo khoảng cách) dùng 8051 (89s52)

34 1,1K 12

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 2,63 MB

Nội dung

LỜI MỞ ĐẦUMỤC LỤCPHẦN I: CƠ SỞ LÝ THUYẾT1.Cảm biến siêu âm1.1.Đặc điểm kỹ thuật cảm biến SRF041.2.Nguyên tắc hoạt động1.3.Tầm quét của cảm biến siêu âm1.4.Tính toán khoảng cách1.5.Một số đặc điểm khác của SRF042.Vi điều khiển 8051 (89S52)2.1.Cấu tạo chân2.2. Sơ đồ khối2.3.Chức năng của các chân 89S522.4.Giao tiếp với cảm biến siêu âm để đo khoảng cách3.LCD Giao tiếp với Vi điều khiển 89S523.1.Hình dáng và kích thước:3.2. Sơ đồ chân3.3. Kết nối với vi điều khiển4.Một số linh kiện khácPHẦN II: THIẾT KẾ VÀ THỰC HIỆN1.Sơ đồ khối2.Thiết kế phần cứng2.1.Sơ đồ nguyên lý2.2.Sơ đồ mạch3.Thực hiện phần mềm3.1.Lưu đồ thuật toán lập trình3.2.Phần mềm CodeKẾT LUẬN1.Ưu điểm2.Khuyết điểm3.Hướng phát triểnTÀI LIỆU THAM KHẢO

Trang 1

KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG

MSSV: 1451030148

TP HỒ CHÍ MINH, 12 - 2017

Trang 2

LỜI MỞ ĐẦU

Ngày nay vi điều khiển đã trở nên quen thuộc trong cácthiết bị kỹ thuật Các bộ vi điều khiển có khả năng xử lý nhiềuhoạ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ôngnhững góp phần vào kỹ thuật điều khiển mà còn góp phần tolớn vào việc phát triển thông tin Cho nên đối với các sinh viênngành Điện - Điện tử viễn thông, việc tìm hiểu, khảo sát vi điềukhiể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à: “Thiết

kế mạch đo khoảng cách (dùng vi điều khiển 89s52 và Cảm

biến siêu âm”)

Em xin cảm ơn toàn thể các thầy cô giáo trong khoa Điện Điện tử viễn thông đã 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ọctập và nghiên cứu tại trường Cuối cùng em xin chân thành cảm

-ơn thầy Chu Hồng Hải giảng viên Trường ĐH Giao Thông

Vận Tải TP Hồ Chí Minh hướng dẫn giúp đỡ nhiệt tình em

trong quá trình thực hiện đồ án

Em xin chân thành cảm ơn!

TP Hồ Chí Minh, tháng 12 năm2017

Sinh viên thực hiện

SVTH: Lương Thành Trưởng Trang 1

Trang 3

Lương Thành Trưởng

MỤC LỤC

LỜI MỞ ĐẦU 1

MỤC LỤC 2

PHẦN I: CƠ SỞ LÝ THUYẾT 4

1 Cảm biến siêu âm 4

1.1 Đặc điểm kỹ thuật cảm biến SRF04 5

1.2 Nguyên tắc hoạt động 6

1.3 Tầm quét của cảm biến siêu âm 6

1.4 Tính toán khoảng cách 7

1.5 Một số đặc điểm khác của SRF04 8

2 Vi điều khiển 8051 (89S52) 10

2.1 Cấu tạo chân 11

2.2 Sơ đồ khối 12

2.3 Chức năng của các chân 89S52 2

2.4 Giao tiếp với cảm biến siêu âm để đo khoảng cách.5 3 LCD - Giao tiếp với Vi điều khiển 89S52 6

3.1 Hình dáng và kích thước: 6

3.2 Sơ đồ chân 6

3.3 Kết nối với vi điều khiển 8

4 Một số linh kiện khác 9

PHẦN II: THIẾT KẾ VÀ THỰC HIỆN 10

1 Sơ đồ khối 10

SVTH: Lương Thành Trưởng Trang 2

Trang 4

2 Thiết kế phần cứng 11

2.1 Sơ đồ nguyên lý 11

2.2 Sơ đồ mạch 12

3 Thực hiện phần mềm 13

3.1 Lưu đồ thuật toán lập trình 13

3.2 Phần mềm Code 14

KẾT LUẬN 19

1 Ưu điểm 19

2 Khuyết điểm 19

3 Hướng phát triển 19

TÀI LIỆU THAM KHẢO 20

SVTH: Lương Thành Trưởng Trang 3

Trang 5

PHẦ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 trong khoảng cách gần hay xa, nhận biết cácvật có tính chất khác nhau và trong những điều kiện hoạt độngkhác nhau mà người ta chế tạo các loại cảm biến siêu âm cũngkhác nhau

SRF05 là một bước phát triển từSRF04, được thiết kế để làm tăng tínhlinh hoạt, tăng phạm vi, ngoài ra còn giảm bớt chi phí Range isincreased from 3 meters to 4 meters.Khoảng cách được tăng từ

3 mét đến 4 mét A new operating mode (tying the mode pin toground) allows the SRF05 to use a single pin for both triggerand echo, thereby saving valuable pins on your controller.SRF05cho phép sử dụng một chân duy nhất cho cả kích hoạt và phảnhồi, do đó tiết kiệm giá trị trên chân điều khiển.When the modepin is left unconnected, the SRF05 operates with separatetrigger and echo pins, like the SRF04 Khi chân chế độ khôngkết nối, thì SRF05 hoạt động riêng biệt chân kích hoạt và vàchân hồi tiếp, giống như SRF04

SVTH: Lương Thành Trưởng Trang 4

Trang 6

The SRF05 includes a small delay before the echo pulse to give slower controllers such as the Basic Stamp and Picaxe time

to execute their pulse in commands

1.1 Đặc điểm kỹ thuật cảm biến SRF04The SRF05 is an evolutionary step from the SRF04, and has been

designed to increase flexibility, increase range, and to

reduce costs still further.

Thông số kỹ thuật Module SRF04:

- Trig nối vi điều khiển (ngõ phát)

- Echo nối vi điều khiển (ngõ thu)

- Gnd nối âm

SVTH: Lương Thành Trưởng Trang 5

Hình 5 Sơ đồ chân cảm biến SRF04

Trang 7

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ộtcả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 đi tớ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ần khoảng cách từ cảm biến tới chướng ngoại vật, theohướ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ạchcả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ình khô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ật cản, nếu phátsóng siêu âm vào chăn, nệm thì nó sẽ không nhận được sóng

SVTH: Lương Thành Trưởng Trang 6

Hình 6 Nguyên tắc TOF

Trang 8

phản hồ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,…

1.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ìnhquạ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ên thì dường như có chướng ngạivật nằm ở đâu đó

1.4 SRF05 = 0 ' start with pin lowCalculating the

DistanceTính toán khoảng cáchThe SRF05 Timing diagrams

are shown above for each mode

Chỉ cần cung cấp một đoạn xung ngắn 10us kích hoạtđầu vào để bắt đầu đo khoảng cách.The SRF05 will send out an

8 cycle burst of ultrasound at 40khz and raise its echo line high(or trigger line in mode 2) It then listens for an echo, and as

SVTH: Lương Thành Trưởng Trang 7

Hình 7 Góc quét cảm biến SRF04

Hình 8 Giản đồ định thời của SRF04

Trang 9

soon as it detects one it lowers the echo line again Các SRF04

sẽ cho ra một chu kỳ 8 burst của siêu âm ở 40KHz và tăng caodòng phản hồi của nó Sau đó chờ phản hồi, và ngay sau khiphát hiện nó giảm các dòng phản hồi lại.The echo line istherefore a pulse whose width is proportional to the distance tothe object Dòng phản hồi là một xung có chiều rộng tỷ lệ vớikhoảng cách đến đối tượng.By timing the pulse it is possible tocalculate the range in inches/centimeters or anything else.Bằng cách đo xung, ta hoàn toàn có thể để tính toán khoảngcách theo inch/centimet hoặc đơn vị đo khác If nothing isdetected then the SRF05 will lower its echo line anyway afterabout 30mS.Nếu không phát hiện gì thì SRF04 giảm thấp hơndòng phản hồi của nó sau khoảng 30mS.The SRF05 can betriggered as fast as every 50mS, or 20 times each second Youshould wait 50ms before the next trigger, even if the SRF05detects a close object and the echo pulse is shorter

Cách tính khoảng cách từ thời gian đo được:

Gọi S là quãng đường đi của sóng âm: S = 2*d

Gọi V là vận tốc của sóng âm: v = 344m/s = 34400cm/s =

0.0344cm/us

Gọi t là thời gian truyền, ta có: s = 2*d = v*t

d = v * = 0.0344 * = 0.0344 * = ≈ (*)Vậy: d = (Đơn vị của khoảng cách d là cm, đơn vị của thời gian t

Trang 10

cho ra tín hiệu phản hồi yếu hoặc không có phải hồi Một đốitượng ở một góc cân đối thì mới có thể chuyển thành tín hiệuphản chiếu cho cảm biến nhận.

Vùng phát hiện của SRF04: 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ênkia và không quá 4m chiều dài

There are two constraints in this scenario to consider.If thethreshold for object detection is set too close to the sensor thenobjects on a collision path might be in a blind spot.Nếu ngưỡng

để phát hiện đối tượng được đặt quá gần vớ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 thethreshold is set at too great a distance from the sensor thenobjects will be detected which are not on a collision path(assuming that the width of the robot is less than a meter).Nếungưỡng này được đặt ở một khoảng cách quá lớn từ các cảmbiến thì các đối tượng sẽ được phát hiện mà không phải là trênmột đường va chạm

Một kỹ thuật phổ biến để làm giảm các điểm mù và đạtđược phát hiện chiều rộng lớn hơn ở cự ly gần là thêm một cảitiến bằng cách thêm một cảm biến bổ sung và cùng hướng về

SVTH: Lương Thành Trưởng Trang 9

Hình 10 Vùng phát hiện SRF04

Trang 11

phía trước If the setup is such that there is a region where thetwo detection zones overlap, then an algorithm can beestablished around four possible states according to thefollowing truth table: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éo lên nhau

Các vùng hoạt động của 2 cảm biến SRF04 tạo góc chung

30 độ Vùng chung thì được phân biệt bởi 2 phần tín hiệu tráiphải và phần cản ở giữa

SVTH: Lương Thành Trưởng Trang 10

Hình 11 Kết hợp 2 cảm biến SRF04

Trang 12

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, 3

TIMER/COUNTER 16 Bit, 6 vectơ ngắt có cấu trúc 2 mức ngắt, một Port nối

tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP

Cá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

SVTH: Lương Thành Trưởng Trang 11

Hình 12 Vi điều khiển AT89S52

Trang 13

- 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ất các sản phẩm ứng dụng có thể chọn 1

trong 3 kiểu chân do ATMEL đưa ra

SVTH: Lương Thành Trưởng Trang 12

Trang 14

CPU: bộ xử lý trung tâm

OSC (Oscillator): mạch daođộng

Bus control: điều khiển busI/O ports: các portxuất/nhập

Serial port: port nối tiếpAddress/data: địa chỉ/dữliệu

SVTH: Lương Thành Trưởng Trang 13

Hình 13 Các kiểu chân của AT89S52

Hình 14 Sơ đồ khối AT89S52

Trang 15

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ậnkhông đồng bộ làm việc độc lập với nhau Tốc độ truyền quacổng nối tiếp có thể đặt trong dải rộng và được ấn định bằngmột bộ định thời

Trong vi điều khiển 89S52 có hai thành phần quan trọngkhác là bộ nhớ và thanh ghi:

- Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưutrữ dữ liệu và mã lệnh

- Các thanh ghi sữ dụng để lưu trữ thông tin trong quátrình xử lý Khi CPU làm việc nó thay đổi nội dung của cácthanh ghi

2.3 Chức năng của các chân 89S52

Trang 16

Trong các thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) có chứcnă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ữa cá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 caocủa bus địa chỉ 16 bit đối với các thiết kế dùng bộ nhớ mở rộnghoặ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ủa 89S52 như ở bảng sau:

Trang 17

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âncủa chương trình được đọc từ EPROM qua bus và được chôt vàothanh ghi lệnh của 89S52 để giải mã lệnh Khi thi hành chươngtrình trong ROM nội (89S52) PSEN sẽ ở mức thụ động (mức cao)

ALE (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ách tương tự cho việc giải mã cáckênh các bus địa chỉ và dữ liệu khi port 0 được dù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àitrong nữa đầu của chu ký bộ nhớ Sau đó các đường port 0 dùng

để xuất hoặc nhập dữ liệu trong 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ên chip 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ệnh MOVX, một xung ALE sẽ bịmất Chân này cũng được làm ngõ vào cho xung lập trình choEPROM trong 8051

Trang 18

cao, 8051 thi hành chương trình từ ROM nội trong khoảng địachỉ thấp (4K) Nếu ở mức thấp, chương trình chỉ được thi hành

từ bộ nhớ mở rộng Khi dùng 8031, EA luôn được nối mức thấp

vì không có bộ nhớ chương trình trên chip Nếu EA được nối mứcthấp bộ nhớ bên trong chương trình 89S52 sẽ bị cấm và chươngtrình thi hành từ EPROM mở rộng Người ta còn dùng chân EAlàm chân cấp điện áp 21V khi lập trình cho EPROM trong89S52

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 2chu kỳ máy ), các thanh ghi trong 89S52 đượ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:

Như trong hình trên, 89S52 có một bộ dao động trên chip

Nó thường được nố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ôngthườ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ào châ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

Trang 19

mức cao có thể dùng một trong 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ốithiể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ảng cách

5 Reset giá trị đếm của Timer để chuẩn bị cho lần đo tiếptheo

Trang 20

Màn hình LCD được sử dụng trong rất nhiều các ứng dụngnhúng So với cá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êncủa vi điều khiển

- Ngoài ra: tiết kiệm năng lượng, kích thước nhỏ gọn, giáthành rẻ,

- 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

Hình 16 Sơ đồ chân LCD 16x2

Trang 21

- Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh

IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

- Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu

Trang 22

6 E

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.

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

Ngày đăng: 31/01/2018, 14:19

TỪ KHÓA LIÊN QUAN

w