Đồ án 2 thiết kế bộ đo khoảng cách dùng cảm biến siêu âm

Đồ án thiết kế bộ đo khoảng cách dùng cảm biến siêu âm. Tìm hiểu nguyên lý hoạt động, sơ đồ mạch, code và ứng dụng thực tế của dự án. Tài liệu tham khảo hữu ích.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án 2

2023

45
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan đồ án thiết kế bộ đo khoảng cách siêu âm hiệu quả

Đồ án này tập trung vào việc thiết kế bộ đo khoảng cách dùng cảm biến siêu âm, một giải pháp công nghệ ứng dụng trong nhiều lĩnh vực thực tiễn. Mục tiêu chính là xây dựng một thiết bị có khả năng phát hiện vật cản một cách nhanh chóng và chính xác, sau đó đưa ra cảnh báo kịp thời cho người dùng. Dự án không chỉ dừng lại ở việc đo lường đơn thuần mà còn tích hợp các chức năng thông minh, hướng tới việc hỗ trợ những người có khiếm khuyết về cơ thể. Bằng cách kết hợp cảm biến siêu âm HC-SR04 với vi điều khiển PIC16F877A, hệ thống có thể xử lý tín hiệu và điều khiển các thiết bị ngoại vi như còi báo động và màn hình hiển thị. Sản phẩm dự kiến phải hoạt động ổn định, đảm bảo tính an toàn và có độ chính xác cao trong các điều kiện môi trường khác nhau. Phương pháp tiếp cận chủ yếu dựa trên kiến thức về hệ thống nhúng, lập trình vi điều khiển và thiết kế mạch điện tử. Toàn bộ quá trình, từ lên ý tưởng, lựa chọn linh kiện, thiết kế sơ đồ nguyên lý đến lập trình và kiểm thử, đều được thực hiện một cách khoa học và bài bản. Kết quả cuối cùng là một mô hình hoàn chỉnh, chứng minh tính khả thi của việc ứng dụng công nghệ siêu âm vào các thiết bị hỗ trợ thông minh, mở ra tiềm năng phát triển các sản phẩm tương tự trong tương lai.

1.1. Lý do và mục tiêu của đồ án đo khoảng cách bằng siêu âm

Sự phát triển của khoa học công nghệ đã tạo ra nhiều thiết bị hỗ trợ cho người khuyết tật, nâng cao chất lượng cuộc sống. Đề tài thiết kế bộ đo khoảng cách dùng cảm biến siêu âm ra đời từ nhu cầu thực tiễn đó, nhằm tạo ra một công cụ cảnh báo vật cản hiệu quả. Mục tiêu tổng quát của đồ án là phát hiện vật cản ở khoảng cách gần và đưa ra cảnh báo kịp thời. Cụ thể hơn, hệ thống phải đáp ứng các yêu cầu: cảnh báo bằng còi và màn hình LCD 1602 khi phát hiện vật cản; đảm bảo hoạt động an toàn, chính xác và đáng tin cậy. Nội dung thực hiện bao gồm việc sử dụng cảm biến siêu âm HC-SR04 để đo khoảng cách và vi điều khiển để xử lý dữ liệu. Toàn bộ quá trình nghiên cứu áp dụng các kiến thức đã học về lập trình, thiết kế mạch và tham khảo tài liệu chuyên ngành để đảm bảo dự án đạt được kết quả như dự kiến.

1.2. Các linh kiện điện tử cốt lõi trong một bộ đo khoảng cách

Để xây dựng thành công một bộ đo khoảng cách, việc lựa chọn linh kiện là vô cùng quan trọng. Trái tim của hệ thống là vi điều khiển PIC16F877A, một chip 8-bit mạnh mẽ với cấu trúc RISC, có khả năng xử lý nhanh và tiêu thụ năng lượng thấp. Linh kiện chính để đo lường là cảm biến siêu âm HC-SR04, hoạt động dựa trên nguyên lý phát và thu sóng siêu âm phản xạ để tính toán khoảng cách. Để giao tiếp với người dùng, hệ thống sử dụng màn hình LCD 1602 để hiển thị thông số khoảng cách đo được. Ngoài ra, các thành phần khác như module SIM (ví dụ Module A7276S cho các phiên bản nâng cao), còi báo, điện trở, tụ điện và nguồn cấp cũng là những bộ phận không thể thiếu. Sự kết hợp hài hòa giữa các linh kiện này tạo nên một mạch điện tử hoàn chỉnh, có khả năng hoạt động ổn định và đáp ứng đúng các yêu cầu chức năng đã đề ra.

II. Cơ sở lý thuyết để thiết kế bộ đo khoảng cách chính xác

Nền tảng của việc thiết kế bộ đo khoảng cách dùng cảm biến siêu âm nằm ở việc nắm vững cơ sở lý thuyết về các thành phần chính. Vi điều khiển, cảm biến và các linh kiện điện tử khác đều có nguyên tắc hoạt động riêng biệt. Vi điều khiển PIC16F877A được chọn vì có cấu trúc Harvard ưu việt, tách biệt bus lệnh và bus dữ liệu, cho phép truy xuất nhanh hơn so với kiến trúc Von Neumann. Nó có 5 port xuất/nhập, 8 kênh chuyển đổi ADC 10-bit và nhiều tính năng ngoại vi mạnh mẽ, phù hợp cho các hệ thống nhúng. Cảm biến siêu âm hoạt động bằng cách phát ra một chùm sóng siêu âm ở tần số 40Hz. Khi sóng này gặp vật cản, nó sẽ phản xạ lại và được module thu ghi nhận. Vi điều khiển sẽ đo khoảng thời gian từ lúc phát đến lúc nhận sóng (thời gian bay) và áp dụng công thức Khoảng cách = (Vận tốc âm thanh * Thời gian bay) / 2 để tính ra khoảng cách tới vật cản. Việc hiểu rõ sơ đồ chân, các thanh ghi chức năng (SFR) của PIC, và cách gửi tín hiệu trigger để khởi tạo phép đo trên cảm biến là yếu tố then chốt để lập trình và thiết kế phần cứng một cách chính xác. Các kiến thức về thiết kế mạch in (PCB) và nguyên tắc kết nối giữa các module cũng đóng vai trò quan trọng trong việc đảm bảo hệ thống hoạt động ổn định và không bị nhiễu.

2.1. Phân tích vi điều khiển PIC16F877A trong hệ thống nhúng

Vi điều khiển PIC16F877A là một bộ xử lý 8-bit công nghệ CMOS, nổi bật với 35 lệnh đơn giản và kiến trúc RISC. Nó sở hữu bộ nhớ chương trình Flash 8K word, bộ nhớ dữ liệu RAM 368 byte và bộ nhớ EEPROM 256 byte. Tổ chức bộ nhớ theo kiến trúc Harvard giúp tối ưu tốc độ thực thi lệnh. PIC16F877A có 5 port I/O (PORTA, B, C, D, E) với tổng cộng 33 chân có thể cấu hình linh hoạt cho việc xuất hoặc nhập dữ liệu. Các port này không chỉ thực hiện chức năng I/O cơ bản mà còn tích hợp các chức năng chuyên biệt như ngõ vào analog cho bộ ADC, ngõ vào cho bộ định thời (Timer), và các chuẩn giao tiếp nối tiếp như I2C, SPI, USART. Trong đồ án này, các chân của PIC16F877A được sử dụng để điều khiển chân Trigger và nhận tín hiệu từ chân Echo của cảm biến, cũng như giao tiếp 4-bit với màn hình LCD 1602.

2.2. Nguyên lý hoạt động chi tiết của cảm biến siêu âm HC SR04

Cảm biến siêu âm HC-SR04 là thành phần chủ chốt để đo khoảng cách. Cấu tạo của nó bao gồm một module phát (Transmitter) và một module thu (Receiver). Nguyên lý hoạt động khá đơn giản: để bắt đầu một phép đo, vi điều khiển cần gửi một xung tín hiệu mức cao (HIGH) kéo dài ít nhất 10 micro giây đến chân Trigger. Sau khi nhận xung này, module sẽ tự động phát ra một chùm 8 xung siêu âm ở tần số 40kHz. Đồng thời, chân Echo sẽ được kéo lên mức cao. Chân Echo sẽ duy trì ở mức cao cho đến khi module thu nhận được sóng siêu âm phản xạ về. Độ rộng của xung tín hiệu ở chân Echo chính là thời gian sóng siêu âm di chuyển cả đi và về. Vi điều khiển sẽ đo độ rộng xung này để tính toán khoảng cách. Thiết bị có phạm vi đo hiệu quả từ 2cm đến 80cm với độ chính xác khoảng 3mm, rất phù hợp cho các ứng dụng cảnh báo vật cản tầm gần.

III. Hướng dẫn thiết kế phần cứng cho bộ đo khoảng cách siêu âm

Quá trình thiết kế phần cứng cho bộ đo khoảng cách là bước hiện thực hóa ý tưởng từ lý thuyết. Công việc này bắt đầu bằng việc xây dựng sơ đồ khối tổng thể để hình dung các thành phần và luồng dữ liệu. Sơ đồ khối bao gồm các khối chính: khối nguồn, khối xử lý trung tâm (vi điều khiển), khối cảm biến, khối hiển thị và khối cảnh báo. Từ sơ đồ khối, ta tiến hành thiết kế sơ đồ nguyên lý chi tiết. Sơ đồ này mô tả cách kết nối chân giữa các linh kiện. Cụ thể, các chân VCC và GND của các module (cảm biến, LCD) được nối với nguồn 5V và đất của mạch. Chân Trigger và Echo của cảm biến HC-SR04 được nối với hai chân I/O bất kỳ của vi điều khiển PIC16F877A. Khối hiển thị sử dụng màn hình LCD 1602 kết nối với vi điều khiển theo chế độ 4-bit dữ liệu để tiết kiệm chân. Các chân RS, EN, và D4-D7 của LCD sẽ được kết nối tới một port của PIC. Một biến trở cũng được thêm vào để điều chỉnh độ tương phản cho màn hình. Sau khi hoàn thiện sơ đồ nguyên lý, bước tiếp theo là thiết kế mạch in (PCB) để sắp xếp linh kiện một cách khoa học, đảm bảo mạch nhỏ gọn, ổn định và dễ dàng lắp ráp.

3.1. Sơ đồ khối tổng thể và sơ đồ nguyên lý của toàn hệ thống

Sơ đồ khối của hệ thống đo khoảng cách là bản thiết kế cấp cao, thể hiện cấu trúc tổng quan. Nó bao gồm: Khối Vi điều khiển (PIC16F877A) làm trung tâm xử lý, Khối Cảm biến (HC-SR04) thu thập dữ liệu khoảng cách, Khối Hiển thị (LCD 1602) giao tiếp với người dùng, và Khối Nguồn cung cấp năng lượng. Dựa trên đó, sơ đồ nguyên lý được vẽ chi tiết. Trong sơ đồ này, vi điều khiển được kết nối với một bộ dao động thạch anh (thường là 20MHz) để tạo xung nhịp hoạt động. Các chân của cảm biến siêu âm (Trigger, Echo) được nối tới các chân I/O của PORTB. Các chân điều khiển và dữ liệu của LCD được nối tới PORTD. Một còi báo được kết nối qua một transistor để khuếch đại dòng, điều khiển bởi một chân I/O khác. Sơ đồ này là cơ sở để thiết kế PCB và lắp ráp linh kiện.

3.2. Chi tiết kết nối khối hiển thị LCD và vi điều khiển PIC

Khối hiển thị sử dụng màn hình LCD 1602 giao tiếp với PIC16F877A qua chế độ 4-bit. Chế độ này chỉ sử dụng 4 chân dữ liệu (D4-D7) thay vì 8, giúp tiết kiệm các chân I/O của vi điều khiển cho các tác vụ khác. Theo sơ đồ kết nối trong tài liệu, các chân được nối như sau: chân RS của LCD nối với RD1, RW nối với RD2, EN nối với RD3. Các chân dữ liệu D4, D5, D6, D7 của LCD lần lượt nối với RD4, RD5, RD6, RD7 của PIC. Chân VSS và K của LCD nối với GND. Chân VDD và A nối với nguồn 5V. Chân VEE được nối với một biến trở 10kΩ để điều chỉnh độ tương phản, giúp ký tự hiển thị rõ nét. Việc kết nối chính xác theo sơ đồ này là điều kiện tiên quyết để có thể gửi lệnh và dữ liệu từ vi điều khiển ra màn hình thành công.

IV. Phương pháp lập trình phần mềm cho bộ đo khoảng cách tối ưu

Phần mềm là linh hồn của bộ đo khoảng cách, quyết định sự thông minh và chính xác của thiết bị. Việc lập trình phần mềm được thực hiện bằng ngôn ngữ C với trình biên dịch CCS C Compiler, một công cụ mạnh mẽ và phổ biến cho dòng vi điều khiển PIC. Trước khi viết mã, việc xây dựng một lưu đồ thuật toán rõ ràng là rất quan trọng. Lưu đồ này mô tả logic hoạt động của hệ thống từng bước một. Bắt đầu chương trình, vi điều khiển sẽ khởi tạo các port I/O, cấu hình các module ngoại vi như Timer và LCD. Sau đó, chương trình đi vào một vòng lặp vô tận. Trong mỗi vòng lặp, vi điều khiển sẽ phát một xung trigger đến cảm biến HC-SR04. Tiếp theo, nó sử dụng một bộ định thời (Timer) để đo độ rộng của xung tín hiệu trả về từ chân Echo. Dựa trên giá trị của Timer, chương trình tính toán ra khoảng cách theo công thức đã nêu. Cuối cùng, kết quả khoảng cách được định dạng và hiển thị lên màn hình LCD 1602. Nếu khoảng cách nhỏ hơn một ngưỡng an toàn đã định trước (ví dụ 10cm), chương trình sẽ kích hoạt còi báo động. Mã nguồn cần được tối ưu để đảm bảo tốc độ xử lý nhanh và độ trễ thấp, mang lại phản hồi tức thì cho người dùng.

4.1. Xây dựng lưu đồ thuật toán hệ thống đo và cảnh báo

Lưu đồ thuật toán là công cụ trực quan hóa luồng hoạt động của phần mềm. Thuật toán bắt đầu với khối "Start". Tiếp theo là khối "Khởi tạo", nơi cấu hình các chân I/O, LCD, và Timer. Sau đó, chương trình vào vòng lặp chính (While(1)). Bên trong vòng lặp, bước đầu tiên là "Phát xung Trigger" (gửi xung 10us đến cảm biến). Kế đến, chương trình "Chờ và đo xung Echo" bằng Timer. Sau khi có được thời gian, khối "Tính toán khoảng cách" sẽ thực hiện phép tính. Kết quả sau đó được "Hiển thị lên LCD". Cuối cùng, một khối điều kiện "If (Khoảng cách < Ngưỡng)" sẽ kiểm tra. Nếu điều kiện đúng, chương trình sẽ "Bật còi báo"; nếu sai, nó sẽ "Tắt còi báo". Vòng lặp này lặp lại liên tục, giúp hệ thống cập nhật khoảng cách và cảnh báo theo thời gian thực.

4.2. Triển khai code với PIC C Compiler và các hàm chức năng

Việc triển khai code dựa trên lưu đồ thuật toán sử dụng phần mềm PIC C Compiler (CCS). Chương trình chính sẽ bao gồm các hàm chức năng được định nghĩa rõ ràng. Một hàm init() để thực hiện các cài đặt ban đầu. Một hàm read_distance() để thực hiện toàn bộ quá trình từ phát xung trigger đến tính toán khoảng cách và trả về giá trị. Bên trong main(), một vòng lặp vô tận sẽ liên tục gọi hàm read_distance(), sau đó gọi hàm display_on_lcd() để hiển thị kết quả. Thư viện lcd.c thường được sử dụng để đơn giản hóa việc giao tiếp với màn hình. Các lệnh điều khiển Timer của PIC16F877A được dùng để đo thời gian một cách chính xác. Mã nguồn cần được chú thích rõ ràng để dễ dàng bảo trì và nâng cấp sau này. Việc tối ưu hóa vòng lặp và các phép tính toán là cần thiết để đảm bảo hệ thống phản hồi nhanh.

V. Bí quyết tích hợp và đánh giá hệ thống đo khoảng cách thực tế

Sau khi hoàn thành thiết kế phần cứng và phần mềm, giai đoạn tích hợp và đánh giá hệ thống là bước cuối cùng để hoàn thiện sản phẩm. Tích hợp hệ thống là quá trình kết hợp mạch phần cứng đã lắp ráp với phần mềm đã được nạp vào vi điều khiển. Mạch phải được kiểm tra kỹ lưỡng về nguyên lý hoạt động và các kết nối phải tương thích hoàn toàn với chương trình đã viết. Quá trình kiểm thử và đánh giá được thực hiện một cách có hệ thống. Đầu tiên, cần kiểm tra chức năng đo khoảng cách cơ bản. Đặt các vật cản ở những khoảng cách đã biết trước (ví dụ 20cm, 50cm, 80cm) và so sánh kết quả hiển thị trên LCD với giá trị thực tế. Việc này giúp đánh giá độ chính xác và sai số của cảm biến. Tiếp theo, kiểm tra chức năng cảnh báo bằng cách đưa vật cản vào gần hơn ngưỡng đã cài đặt và xem còi có kêu hay không. Hệ thống cần được vận hành thử trong một khoảng thời gian dài với bộ nguồn ổn định (9V-12V DC) để kiểm tra độ bền và tính ổn định. Toàn bộ quá trình này đảm bảo rằng bộ đo khoảng cách dùng cảm biến siêu âm hoạt động đúng như thiết kế và sẵn sàng cho ứng dụng thực tiễn.

5.1. Quy trình xây dựng mạch PCB và mô phỏng thực tế

Việc xây dựng một mạch vật lý bắt đầu từ thiết kế PCB. Sau khi có file thiết kế, mạch được chế tạo và các linh kiện điện tử được hàn lên bo mạch theo đúng vị trí. Quá trình này đòi hỏi sự cẩn thận để tránh các lỗi như chập mạch hay hở mạch. Trước khi lắp ráp thực tế, việc mô phỏng trên các phần mềm như Proteus là rất hữu ích. Mô phỏng cho phép kiểm tra sơ đồ nguyên lý và mã nguồn trước khi có phần cứng, giúp phát hiện sớm các lỗi logic và tiết kiệm thời gian. Mô hình thực tế sau khi lắp ráp hoàn chỉnh là sản phẩm cuối cùng, sẵn sàng cho việc nạp chương trình và kiểm thử chức năng.

5.2. Các bước kiểm thử và đánh giá độ chính xác của thiết bị

Quá trình kiểm thử bao gồm nhiều bước. Đầu tiên là kiểm tra nguồn và kết nối, đảm bảo tất cả các module đều nhận đủ điện áp. Tiếp theo, nạp chương trình và kiểm tra chức năng hiển thị của màn hình LCD 1602. Sau đó, tiến hành đo lường ở nhiều khoảng cách khác nhau và ghi lại kết quả. So sánh kết quả đo với thước đo tiêu chuẩn để tính toán sai số trung bình và đánh giá độ chính xác. Cuối cùng, kiểm tra các chức năng phụ như còi báo động. Một kịch bản kiểm thử toàn diện sẽ đảm bảo mọi yêu cầu chức năng và phi chức năng của đồ án đều được đáp ứng.

VI. Kết luận đồ án và hướng phát triển bộ đo khoảng cách tương lai

Đồ án thiết kế bộ đo khoảng cách dùng cảm biến siêu âm đã hoàn thành các mục tiêu đề ra. Sản phẩm cuối cùng là một hệ thống hoạt động ổn định, có khả năng đo và cảnh báo vật cản một cách chính xác. Thông qua quá trình thực hiện, nhiều kiến thức và kỹ năng quan trọng đã được củng cố, bao gồm cách làm việc với vi điều khiển PIC, giao tiếp với các module chức năng và quy trình hoàn thiện một sản phẩm hệ thống nhúng. Tuy nhiên, đồ án vẫn còn một số hạn chế nhất định. Chức năng của thiết bị còn tương đối đơn giản và phạm vi đo của cảm biến bị giới hạn. Hướng phát triển trong tương lai cho đề tài này rất rộng mở. Có thể nâng cấp bằng cách tích hợp thêm các loại cảm biến khác để tăng độ tin cậy, hoặc thêm chức năng cài đặt khoảng cách cảnh báo linh hoạt cho người dùng. Đặc biệt, việc tích hợp công nghệ IoT (Internet of Things) sẽ là một bước đột phá, cho phép thiết bị gửi dữ liệu khoảng cách và cảnh báo từ xa qua internet, mở ra nhiều ứng dụng trong nhà thông minh, hệ thống an ninh hay các thiết bị giám sát công nghiệp.

6.1. Tổng kết kết quả và những hạn chế còn tồn tại của đồ án

Kết quả đạt được của đồ án là một mô hình bộ đo khoảng cách hoạt động đúng chức năng. Hệ thống đã chứng minh được khả năng ứng dụng vi điều khiển PIC và cảm biến siêu âm để giải quyết một bài toán thực tế. Tuy nhiên, hạn chế của đề tài là chưa có nhiều tính năng mở rộng và cần thêm các cơ chế cảnh báo thông minh hơn khi vật cản nằm ngoài phạm vi đo được của cảm biến. Độ chính xác cũng có thể bị ảnh hưởng bởi điều kiện môi trường như nhiệt độ và bề mặt của vật cản.

6.2. Đề xuất cải tiến và tích hợp công nghệ IoT cho sản phẩm

Để phát triển đề tài, có thể thực hiện nhiều cải tiến. Thứ nhất, thêm chức năng cho phép người dùng tự cài đặt khoảng cách cảnh báo mong muốn. Thứ hai, tích hợp thêm còi báo hoặc đèn LED để đưa ra các loại cảnh báo khác nhau tùy theo khoảng cách. Một hướng đi đột phá là kết nối vi điều khiển PIC16F877A với một module Wi-Fi như ESP8266. Điều này cho phép thiết bị trở thành một phần của hệ thống IoT, có thể gửi dữ liệu lên một máy chủ đám mây hoặc ứng dụng di động, phục vụ cho các mục đích giám sát và điều khiển từ xa, tăng cường giá trị ứng dụng của sản phẩm.

15/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU 1. Lý do chọn đề tài Với sự phát triển mạnh mẽ của khoa học và cồng nghệ ngày này đi cùng với công cuộc công nghiệp hóa – hiện đại hóa đất nước đã thúc đẩy nền cồng nghiệp phát triển. Các thiết bị dành cho những người tần tật như xe thông minh, gậy thông minh cũng được chế tạo ra không những ngày càng tinh tế mang tính hiện đại mà còn thông minh tăng tính tự động hóa nhằm nâng cao chất lượng đời sống của những người có khiếm khuyết về cơ thể. Do sau những cuộc chiến tranh không chỉ ảnh hưởng đến những người trực tiếp tham gia chiến tranh mà còn ảnh hưởng đễ những thế hệ sau này.

Việc chúng ta phát triển những thiết bị để cho những người kém may mặn hơn mình là điều lên làm. Mục tiêu của đề tài 1. Mục tiêu tổng quát Phát hiện nhanh chóng và kịp thời để đưa ra canh báo khi phát có vật cản khoảng cách gần và gửi cảnh báo cho người thân nếu nhịp tim của người dùng không được ổn định. Mục tiêu cụ thể - Cảnh báo bằng còi và màn hình LCD 16X2 khi phát hiện vật cản.

- Cảnh báo qua tin nhắn điện thoại khi nhịp tim của người dung quá ngưỡng quy định. - Thực hiện gửi định vị khi nhịp tim của người dùng quá ngương mức cho phép. - Đảm bảo an toàn, chính xác và kịp thời. Nội dung thực hiện - Dùng cảm biến Cảm Biến Siêu Âm HC-SR04 để đo khoảng các cùng với cảm biến và Cảm Biến Nhịp Tim Pulse Sensor để đo nhịp tim của người dùng.

- Cảnh báo bằng còi, màn hình lcd hiện thi khoảng cách từ người dùng đến vật cản cảnh báo nếu khoảng cách dưới 10cm. - Đồng thời thực hiện việc đo nhịp tim của người dùng qua Cảm Biến Nhịp Tim Pulse Sensor sẽ gửi cảnh báo và vị trí của người dùng cho những người thân. Phương pháp tiếp cận - Áp dụng kiến thức đã học vào lập trình. - Sử dụng các tài liệu liên quan để hỗ trợ việc lập trình.

- Tham khảo ý kiến đóng góp của giảng viên hướng dẫn. - Tham khảo trên mạng Internet. Kết quả dự kiến - Mạch hoạt động đúng với các chức năng đặt ra. - Đảm báo được tính án toàn và chuẩn xác.

Linh kiện điện tử, vi điều khiển, và cảm biến 2. Vi điều khiển (PIC 16F877A) Hình 2. 1 Vi điều khiển PIC16F877A dạng DIP PIC16F8X là nhóm PIC trong họ PIC16XX của họ Vi điều khiển 8-bit, tiêu hao năng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tĩnh điện tuyệt đối. Tất cả các PIC16/17 đều có cấu trúc RISC.

PIC16CXX các đặc tính nổi bật, 8 mức ngăn xếp Stack, nhiều nguồn ngắt tích hợp bên trong lẫn ngoài. Có cấu trúc Harvard với các bus dữ liệu và bus thực thi chương trình riêng biệt nhau cho phép độ dài 1 lệnh là 14-bit và bus dữ liệu 8-bit cách biệt nhau. Tất cả các lệnh đều mất 1 chu kỳ lệnh ngoại trừ các lệnh rẽ nhánh chương trình mất 2 chu kỳ lệnh. Chỉ có 35 lệnh và 1 lượng lớn các thanh ghi cho phép đáp ứng cao trong ứng dụng.

Họ PIC16F8X có nhiều tính năng đặc biệt làm giảm thiểu các thiết bị ngoại vi, vì vậy tính kinh tế cao, có hệ thống nổi bật đáng tin cậy và sự tiêu thụ năng lượng thấp. Chế độ SLEEP tiết kiệm nguồn và có thể được đánh thức bởi các nguồn reset. PIC16F877A có 40/44 chân với sự phân chia cấu trúc như sau: - Có 5 port xuất/nhập - Có 8 kênh chuyển đổi A/D 10-bit - Có 2 bộ PWM - Có 3 bộ định thời: Timer0, timer1 và timer2 - Có giao tiếp truyền nối tiếp: chuẩn RS232, I2C… a) Sơ đồ chân PIC16F877A Hình 2. 2 Sơ đồ chân của vi điều khiển PIC16F877A Chức năng các chân của PIC16F877A Bảng 2.

1 Chức năng các chân của PIC16F877A Chân Tên Chức năng - : Hoạt động Reset ở mức thấp 1 MCLR/VPP - VPP: ngõ vào áp lập trình 2 RA0/AN0 - RA0: xuất/nhập số - AN0 : ngõ vào tương tự Chân Tên Chức năng - RA1: xuất/nhập số 3 RA1/AN1 - AN1: ngõ vào tương tự - RA2: xuất/nhập số RA2/AN2/VREF- - AN2: ngõ vào tương tự 4 /CVREF - VREF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D - RA3: xuất/nhập số - AN3: ngõ vào tương tự 5 RA3/AN3/VREF+ - VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D - RA4: xuất/nhập số RA4/TOCKI/C1O - TOCKI: ngõ vào xung clock bên ngoài cho 6 UT timer0 - C1 OUT : Ngõ ra bộ so sánh 1 - RA5: xuất/nhập số RA5/AN4/ - AN4: ngõ vào tương tự 4 7 /C2OUT - SS: ngõ vào chọn lựa SPI phụ - C2 OUT : ngõ ra bộ so sánh 2 - RE: xuất nhập số 8 RE0/ /AN5 - RD: điều khiển việc đọc ở port nhánh song song - AN5 : ngõ vào tương tự - RE1: xuất/nhập số 9 RE1/ /AN6 - WR: điều khiển việc ghi ở port nhánh song song - AN6 : ngõ vào tương tự - RE2: xuất/nhập số - CS: Chip lựa chọn sự điều khiển ở port nhánh 10 RE2/ /AN7 song song - AN7: ngõ vào tương tự 11 VDD Chân nguồn của PIC 12 VSS Chân nối đất Ngõ vào dao động nội hoặc xung clock bên ngoài - OSC1: ngõ vào dao động thạch anh hoặc xung clock bên ngoài. Ngõ vào Schmitt trigger khi 13 OSC1/CLKI được cấu tạo ở chế độ RC, một cách khác của CMOS - CLKI: ngõ vào nguồn xung bên ngoài. Luôn được kết hợp với chức năng OSC1 Ngõ vào dao động thạch anh hoặc xung clock - OSC2: Ngõ ra dao động thạch anh. Kết nối đến 14 OSC2/CLKO thạch anh hoặc bộ cộng hưởng.

- CLKO : ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh - RC0: xuất/nhập số RC0/T1OCO/T1C 15 - T1OCO: ngõ vào bộ dao động Timer 1 KI - T1CKI : ngõ vào xung clock bên ngoài Timer 1 - RC1: xuất/nhập số - T1OSI: ngõ vào bộ dao động Timer 1 16 RC1/T1OSI/CCP2 - CCP2: ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2 - RC2: xuất/nhập số 17 RC2/CCP1 - CCP1 : ngõ vào Capture 1, ngõ ra compare 1, ngõ ra PWM1 - RC3: xuất/nhập số - SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ 18 RC3/SCK/SCL ra của chế độ SPI - SCL: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C - RD0: xuất/nhập số 19 RD0/PSP0 - PSP0 : dữ liệu port nhánh song song - RD1: xuất/nhập số 20 RD1/PSP1 - PSP1: dữ liệu port nhánh song song 21 RD2/PSP2 - RD2: xuất/nhập số - PSP2: dữ liệu port nhánh song song - RD3: xuất/nhập số 22 RD3/PSP3 - PSP3 : dữ liệu port nhánh song song - RC4: xuất/nhập số 23 RC4/SDI/SDA - SDI: dữ liệu vào SPI - SDA : xuất/nhập dữ liệu vào I2C - RC5: xuất/nhập số 24 RC5/SDO - SDO: dữ liệu ra SPI - RC6: xuất/nhập số 25 RC6/TX/CK - TX: truyền bất đồng bộ USART - CK: xung đồng bộ USART - RC7: xuất/nhập số 26 RC7/RX/DT - RX: nhận bất đồng USART - DT: dữ liệu đồng bộ USART - RD4: xuất/nhập số 27 RD4/PSP - PSP4 : dữ liệu port nhánh song song - RD5: xuất/nhập số 28 RD5/PSP5 - PSP5: dữ liệu port nhánh song song - RD6: xuất/nhập số 29 RD6/PSP6 - PSP : dữ liệu port nhánh song song - RD7: xuất/nhập số 30 RD7/PSP7 - PSP7: dữ liệu port nhánh song song 31 VSS Chân nối đất 32 VDD Chân nguồn của PIC. - RB0: xuất/nhập số 33 RB0/INT - INT: ngắt ngoài 34 RB1 xuất/nhập số 35 RB2 xuất/nhập số - RB3: xuất/nhập số 36 RB3 - Chân cho phép lập trình điện áp thấp ICPS - Xuất/nhập số 37 RB4 - Ngắt PortB - Xuất/nhập số 38 RB5 - Ngắt PortB - RB6: Xuất/nhập số 39 RB6/PGC - PGC: mạch vi sai và xung clock lập trình ICSP - Ngắt PortB - RB7: Xuất/nhập số 40 RB7/PGD - PGD: mạch vi sai và dữ liệu lập trình ICSP - Ngắt PortB b) Sơ đồ khối vi điều khiển PIC16F877A Cấu trúc khối vi điều khiển PIC16F877A bao gồm các khối chính: - Khối ALU – Arithmetic Logic Unit - Khối bộ nhớ chứa chương trình – Flash Program Memory - Khối bộ nhớ chứa dữ liệu EEPROM – Data EEPROM - Khối bộ nhớ file thanh ghi RAM – RAM file Register - Khối thanh ghi đặt biệt - Khối ngoại vi timer - Khối giao tiếp, khối chuyển đổi ADC - Khối các Port xuất nhập Hình 2. 3 Sơ đồ khối cấu trúc bên trong của PIC16F877A c) Các thông số kỹ thuật Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock.

Tốc độ hoạt động tối đa cho phép là 20MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte, bao gồm 5 PORT vớ 33 pin I/O. Các đặc tính ngoại vi bao gồm các khối chức năng sau: - Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit. - Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.

- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/ so sánh/ điều chế độ rộng xung. - Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.

- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài. - Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit. Hai bộ so sánh. - Bộ nhớ flash với khả năng ghi xóa được 100.

- Bộ nhớ EEPROM với khả năng ghi xóa được 1. - Dữ liệu bộ nhớ EEPROM, có 256 byte (có địa chỉ 00h÷FFh), có thể lưu trữ trên 40 năm. - Khả năng tự nạp chương trình với sự điều khiển của phần mềm. - Watchdog Timer với bộ dao động trong.

Chức năng bảo mật mã chương trình. - Có thể hoạt động với nhiều dạng Oscillator khác nhau. d) Tổ chức bộ nhớ PIC16F877A bao gồm 3 loại bộ nhớ: bộ nhớ chương trình (Program Memory), bộ nhớ dữ liệu RAM và bộ nhớ dữ liệu EEPROM PIC có kiến trúc bộ nhớ dạng Harvard, một kiến trúc cải tiến so với kiến trúc Von Neumann. 4 Kiến trúc Von Neumann và Harvard Kiến trúc Von Neumann: với kiến trúc này thì bộ nhớ giao tiếp với CPU thông qua 1 bus dữ liệu 8 bit, bộ nhớ có các ô nhớ chứa dữ liệu 8 bit, bộ nhớ vừa lưu trữ chương trình và dữ liệu.

- Ưu điểm: kiến trúc đơn giản.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ