TỔNG QUAN VỀ VI ĐIỀU KHIỂN
KHÁI QUÁT VỀ VI ĐIỀU KHIỂN
Bộ vi xử lý nổi bật với khả năng tính toán và xử lý linh hoạt, đặc biệt hiệu quả cho các hệ thống và bài toán lớn Tuy nhiên, khi áp dụng cho các ứng dụng nhỏ, cần cân nhắc vì yêu cầu về khả năng tính toán lớn không tương xứng với độ phức tạp của hệ thống Dù hệ thống lớn hay nhỏ, việc sử dụng vi xử lý đều đòi hỏi các khối mạch điện giao tiếp phức tạp, bao gồm bộ nhớ và mạch điện ngoại vi Để kết nối các thành phần này, người thiết kế cần có kiến thức sâu sắc về vi xử lý, bộ nhớ và thiết bị ngoại vi, dẫn đến việc tạo ra hệ thống phức tạp, chiếm nhiều không gian và tốn kém Kết quả là giá thành sản phẩm cao, không phù hợp cho các hệ thống nhỏ.
Các nhà chế tạo đã khắc phục một số nhược điểm bằng cách tích hợp bộ nhớ và mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất, được gọi là vi điều khiển (Microcontroller).
1.1.2 Phân loại vi điều khiển a Phân loại dựa vào kích thước của bus dữ liệu
Các vi điều khiển (VĐK) được phân loại dựa vào độ dài thanh ghi và lệnh, bao gồm các loại 8 bit, 16 bit và 32 bit Vi điều khiển 16 bit có độ dài lệnh lớn hơn, dẫn đến tập lệnh phong phú hơn Tuy nhiên, mọi chương trình viết cho VĐK 16 bit đều có thể được chuyển đổi và thực hiện trên VĐK 8 bit với phần mềm phù hợp.
VXL CISC (Tập lệnh phức tạp) có nhiều lệnh, giúp lập trình viên linh hoạt và dễ dàng hơn trong việc viết chương trình Ngược lại, VXL RISC (Tập lệnh đơn giản) có số lượng lệnh ít hơn, yêu cầu phần cứng thấp hơn, giá thành rẻ hơn và hoạt động nhanh hơn so với CISC Tuy nhiên, lập trình viên cần viết các chương trình phức tạp hơn với nhiều lệnh hơn khi sử dụng RISC.
Kiến trúc Harvard có đặc điểm nổi bật là sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu, giúp quá trình truyền nhận dữ liệu trở nên đơn giản hơn nhờ vào bus địa chỉ và bus dữ liệu độc lập Ngược lại, kiến trúc Von-Neumann sử dụng chung bộ nhớ cho cả chương trình và dữ liệu, làm cho vi điều khiển (VĐK) trở nên gọn nhẹ và có giá thành thấp hơn Trên thị trường hiện nay, có nhiều loại VĐK khác nhau đáp ứng nhu cầu đa dạng của người dùng.
- VĐK ATMEL: 89Cxx, AT89Cxx51…
1.1.3 Cấu trúc tổng quan của vi điều khiển a CPU: là trái tim của hệ thống Là nơi quản lí tất cả các hoạt động của VĐK
ALU là bộ phận thao tác trên các dữ liệu
Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực hiện
Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi
Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi
Bộ nhớ trong máy tính bao gồm các loại thanh ghi để lưu trữ thông tin tạm thời, trong khi ROM (Read-Only Memory) được sử dụng để lưu giữ chương trình và các dữ liệu cố định như bảng, tham số hệ thống ROM đóng vai trò quan trọng trong việc duy trì thông tin cần thiết cho hoạt động của hệ thống.
Bộ nhớ ROM (Read-Only Memory) là loại bộ nhớ cố định, không thể thay đổi nội dung trừ khi ở chế độ xóa hoặc nạp chương trình Ngược lại, RAM (Random Access Memory) là bộ nhớ dữ liệu, được sử dụng để xử lý thông tin, lưu trữ các kết quả trung gian và cuối cùng của các phép toán RAM cũng hỗ trợ tổ chức các vùng đệm dữ liệu trong các thao tác thu phát và chuyển đổi dữ liệu Hệ thống BUS bao gồm các đường dẫn như bus địa chỉ, bus dữ liệu và bus điều khiển, giúp di chuyển dữ liệu giữa các thành phần Bộ định thời được sử dụng để quản lý các nhiệm vụ liên quan đến thời gian, trong khi watchdog là bộ phận tự động reset hệ thống khi phát hiện bất thường Cuối cùng, ADC (Analog-to-Digital Converter) chuyển đổi tín hiệu analog từ môi trường bên ngoài thành tín hiệu digital mà vi điều khiển (VĐK) có thể xử lý.
KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC
PIC, viết tắt của “Programable Intelligent Computer”, là thuật ngữ được hãng General Instrument đặt cho vi điều khiển đầu tiên của họ, PIC1650 Thiết bị này được thiết kế để sử dụng làm các thiết bị ngoại vi cho vi điều khiển CP1600 Qua quá trình nghiên cứu và phát triển, dòng vi điều khiển PIC đã ra đời và trở thành một trong những sản phẩm nổi bật trong lĩnh vực công nghệ hiện nay.
Trên thị trường hiện nay, có nhiều họ vi điều khiển phổ biến như 8051, Motorola 68HC, AVR và ARM Mặc dù họ 8051 thường được giảng dạy cơ bản trong các trường đại học, tác giả đã quyết định chọn họ vi điều khiển PIC để mở rộng kiến thức và phát triển ứng dụng, nhờ vào những lợi ích mà nó mang lại.
Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam
Giá thành không quá đắt
Vi điều khiển này sở hữu đầy đủ các tính năng khi hoạt động độc lập, đồng thời là một bổ sung hữu ích cho kiến thức và ứng dụng của dòng vi điều khiển truyền thống 8051.
Số lượng người sử dụng vi điều khiển PIC đang gia tăng đáng kể tại Việt Nam và trên toàn thế giới Việc này mang lại nhiều lợi ích trong việc nghiên cứu và phát triển ứng dụng, bao gồm sự phong phú của tài liệu, nhiều ứng dụng mở đã thành công, cũng như khả năng dễ dàng trao đổi và học hỏi Hơn nữa, người dùng cũng dễ dàng tìm kiếm sự hỗ trợ khi gặp khó khăn trong quá trình làm việc với vi điều khiển này.
Sự hỗ trợ của nhà sản xuất về chương trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp,…
Các tính năng đa dạng của vi điều khiển PIC và các tính năng này không ngừng được phát triển
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc: kiến trúc Von Neuman và kiến trúc Havard
Hình 1.1: Kiến trúc Von - Neuman và kiến trúc Havard
Tổ chức phần cứng của PIC dựa trên kiến trúc Harvard, khác biệt với kiến trúc Von-Neumann ở chỗ bộ nhớ dữ liệu và bộ nhớ chương trình được tách biệt Trong kiến trúc Von-Neumann, hai loại bộ nhớ này chung một không gian, cho phép linh hoạt trong việc tổ chức nhưng lại hạn chế tốc độ xử lý của CPU, vì nó chỉ có thể tương tác với một loại bộ nhớ tại một thời điểm Ngược lại, kiến trúc Harvard cho phép CPU tương tác đồng thời với cả bộ nhớ dữ liệu và bộ nhớ chương trình, giúp cải thiện đáng kể tốc độ xử lý của vi điều khiển.
Tập lệnh trong kiến trúc Harvard có thể được tối ưu hóa theo yêu cầu của vi điều khiển mà không bị ràng buộc bởi cấu trúc dữ liệu.
Kiến trúc Harvard là một khái niệm mới mẻ so với kiến trúc Von-Neumann, được thiết kế để cải thiện tốc độ thực thi của vi điều khiển Bằng cách tách biệt bộ nhớ chương trình và bộ nhớ dữ liệu, cũng như bus chương trình và bus dữ liệu, CPU có thể đồng thời truy xuất cả hai loại bộ nhớ, từ đó tăng tốc độ xử lý lên gấp đôi Cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu, cho phép điều chỉnh linh hoạt theo khả năng và tốc độ của từng vi điều khiển Để tối ưu hóa tốc độ thực thi, tập lệnh của vi điều khiển PIC được thiết kế với chiều dài mã lệnh cố định (14 bit cho họ 16Fxxxx) và cho phép thực thi lệnh trong một chu kỳ xung clock, ngoại trừ một số trường hợp đặc biệt Điều này dẫn đến việc tập lệnh của vi điều khiển theo cấu trúc Harvard có số lượng lệnh ít hơn, ngắn gọn và đơn giản hơn, đáp ứng yêu cầu mã hóa lệnh hiệu quả.
Vi điều khiển SVTH: Phan Thị Si 9 được tổ chức theo kiểu Harvard, còn gọi là vi điều khiển RISC với một số lượng bit nhất định Trong khi đó, vi điều khiển thiết kế theo kiến trúc Von-Neumann, hay còn gọi là vi điều khiển CISC, có tập lệnh phức tạp với mã lệnh không cố định mà là bội số của 8 bit (1 byte).
1.2.4 PIPELINING Đây chính là cơ chế xử lý lệnh của các vi điều khiển PIC Một chu kì lệnh của vi điều khiển sẽ bao gồm 4 xung clock
Để thực thi một lệnh, thông thường cần một chu kỳ lệnh để gọi lệnh và một chu kỳ xung clock để giải mã và thực thi Tuy nhiên, với cơ chế PIPELINING, mỗi lệnh chỉ cần một chu kỳ lệnh để thực thi Đối với những lệnh thay đổi giá trị thanh ghi PC, cần hai chu kỳ lệnh để thực hiện việc gọi lệnh tại địa chỉ thanh ghi PC Sau khi xác định vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kỳ lệnh để hoàn tất thực thi.
1.2.5 Các dòng PIC và cách lựa chọn vi điều khiển cho PIC:
Các kí hiệu của vi điều khiển PIC:
PIC12xxxx: độ dài lệnh 12 bit
PIC16xxxx: độ dài lệnh 14 bit
PIC18xxxx: độ dài lệnh 16 bit
C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ flash
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF, đây là kí hiệu cũ
Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ
A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash) Ngoài ra còn có thêm một dạng vi điều khiển PIC mới là dsPIC
Vi điều khiển PIC của hãng Microchip là loại vi điều khiển phổ biến nhất tại Việt Nam Để chọn lựa một vi điều khiển PIC phù hợp, cần xem xét các yếu tố như mục đích sử dụng, yêu cầu kỹ thuật và tính năng của từng loại vi điều khiển.
Khi lựa chọn vi điều khiển cho ứng dụng, điều quan trọng là xem xét số lượng chân cần thiết Các vi điều khiển PIC có nhiều loại với số chân khác nhau, từ 8 chân đến 28, 40, 44 chân và nhiều hơn nữa.
Khi lựa chọn vi điều khiển PIC, nên ưu tiên loại có bộ nhớ flash để cho phép nạp và xóa chương trình nhiều lần Bên cạnh đó, cần chú ý đến các khối chức năng tích hợp sẵn và các chuẩn giao tiếp nội bộ của vi điều khiển.
Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép
Tất cả thông tin cần thiết về cách chọn vi điều khiển PIC có thể được tìm thấy trong cuốn sách "Select PIC guide" do Microchip phát hành.
1.2.6 Ngôn ngữ lập trình cho PIC
Ngôn ngữ lập trình cho PIC rất phong phú, bao gồm ngôn ngữ lập trình cấp thấp như MPLAB, miễn phí từ Microchip, và các ngôn ngữ cấp cao hơn như C, Basic, Pascal Bên cạnh đó, còn có những ngôn ngữ lập trình đặc thù cho PIC như PICBasic và MikroBasic.
GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC 16F877A
1.3 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC 16F877A
1.3.1 Các dạng sơ đồ chân của vi điều khiển PIC16F877A
Hình 1.2 : Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân
1.3.2 Sơ đồ khối vi điều khiển PIC16F877A
Hình 1.3 : Sơ đồ khối vi điều khiển PIC16F877A
Vi điều khiển PIC16F877A gồm các khối:
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 EPROM – Data EPROM
Khối bộ nhớ file thanh ghi RAM – RAM file Register
Khối giải mã lệnh và điều khiển – Instruction Decode Control
Khối thanh ghi đặc biệt
Khối giao tiếp nối tiếp
Khối chuyển đổi tín hiệu tương tự sang số - ADC
Khối các port xuất nhập
Vi điều khiển PIC16F877A thuộc họ PIC16Fxxx, sở hữu 35 lệnh với độ dài 14 bit, thực thi mỗi lệnh trong một chu kỳ xung clock Tốc độ tối đa đạt 20 MHz, tương ứng với chu kỳ lệnh 200ns Bộ nhớ chương trình của nó có dung lượng 8Kx14 bit, trong khi bộ nhớ dữ liệu bao gồm 368x8 byte RAM và 256x8 byte EEPROM Vi điều khiển này có 5 PORT I/O với tổng cộng 33 pin I/O và hỗ trợ 8 kênh chuyển đổi A/D, cùng với các khối chức năng ngoại vi đa dạng.
Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
Timer1 là một bộ đếm 16 bit tích hợp bộ chia tần số, cho phép thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay cả khi vi điều khiển đang ở 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
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần
Dữ liệu bộ nhớ EEPROM 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
Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân
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
Bảng 1.1 : Tóm tắt đặc điểm của VĐK PIC 16F877A
1.3.4 Tổ chức bộ nhớ PIC
PIC 16F887A có 3 khối bộ nhớ Bộ nhớ chương trình FLASH, bộ nhớ dữ liệu RAM, bộ nhớ EEPROM a Tổ chức bộ nhớ chương trình Flash và Stack nhớ:
Vi điều khiển PIC16F877A sở hữu bộ đếm chương trình 13 bit và bộ nhớ chương trình FLASH 8Kx14 từ, được chia thành 4 trang, mỗi trang có dung lượng 2Kx14 từ Khi khởi động lại, địa chỉ bắt đầu thực thi là 0000h, trong khi vector ngắt bắt đầu từ địa chỉ 0004h.
STACK là một phần của RAM sử dụng tám đăng ký 13-bit để lưu trữ địa chỉ lệnh Khi vi điều khiển thực hiện một chỉ dẫn như chương trình con CALL hoặc xảy ra gián đoạn, địa chỉ của lệnh tiếp theo được đẩy vào stack, cho phép vi điều khiển tiếp tục từ điểm đã dừng Địa chỉ này sẽ bị xóa khi trở về chương trình chính, tạo không gian cho các địa chỉ mới Dữ liệu được đẩy vào stack theo dạng vòng; sau khi đẩy tám lần, đẩy thứ chín sẽ ghi đè lên giá trị đầu tiên, và quá trình này không thể phục hồi Các lập trình viên không thể truy cập các đăng ký này để đọc hoặc viết, và không có thông báo về tình trạng tràn stack, do đó cần phải quản lý cẩn thận trong mã nguồn.
RAM là bộ nhớ có khả năng đọc và ghi, nhưng không lưu trữ dữ liệu khi mất điện Bộ nhớ RAM của PIC 16F887A bao gồm 4 bank, mỗi bank có dải địa chỉ từ 0 đến 7FH (128 byte) Trong các bank này có các thanh ghi đa mục đích, hoạt động như RAM tĩnh, cùng với các thanh ghi chức năng đặc biệt nằm ở vùng địa chỉ thấp Bit RP1 (Status) và bit RP0 (Status) được sử dụng để lựa chọn bank hoạt động.
Hình 1.4 : Hình ảnh các bank
Các thanh ghi đa mục đích (General Purpose Register) có thể được truy cập trực tiếp hoặc gián tiếp thông qua thanh ghi FSR, với tổng dung lượng lên đến 368 byte.
Các thanh ghi chức năng đặc biệt được sử dụng bởi CPU và các khối ngoại vi để điều khiển hoạt động của thiết bị theo yêu cầu Chúng có thể được phân loại thành hai nhóm chính: thanh ghi trung tâm (CPU) và thanh ghi ngoại vi.
Sau đây là một số thanh ghi đặc biệt quan trọng:
Các thanh ghi trạng thái STATUS: có 4 thanh ghi trạng thái trên 4 dăy thanh ghi, tại các địa chỉ 03h,83h,103h,183h Các thanh ghi này cho biết trạng thái của phần tử logic toán học ALU, trạng thái RESET, trạng thái của các bit lựa chọn dãy thanh ghi cho bộ nhớ dữ liệu
Các thanh ghi lựa chọn OPTION_REG: có 2 thanh ghi lựa chọn tại các địa chỉ 81h và 181h,các thanh ghi này có thể đọc hoặc ghi,nó chứa đựng nhiều bit điều khiển khác nhau để xác định hệ số định trước TMR0/hệ số định sau WDT,ngắt ngoài INT,TMR0, các điện áp treo trên cổng B
Các thanh ghi INTCON: có 4 thanh ghi INTCON tại các địa chỉ 0Bh,8Bh,10Bh,18Bh Các thanh ghi này có thể đọc hoặc ghi, nó chứa đựng nhiều sự cho phép và các bit cờ cho việc tràn thanh ghi TMR0, các ngắt thay đổi cổng
RB và chân các ngắt ngoài RB0/INT
Thanh ghi PIE1: Tại địa chỉ 8Ch, chứa đựng các bit cho phép riêng lẻ cho các ngắt ngoại vi
Thanh ghi PIR1: Tại địa chỉ 0Ch, chứa đựng các bit cờ riêng lẻ cho các ngắt ngoại vi
Thanh ghi PIE2: Tại địa chỉ 8Dh, chứa đựng các cờ bit cho các ngắt ngoại vi CCP2, ngắt xung đột tuyến SSP và EEPROM ghi các hoạt động ngắt
Thanh ghi PCON (power control): chứa bit cờ cho phép phân biệt giữa việc Reset hệ thống để Reset MCLR ngoại với Reset WDT
PCL và PCLATH: chương trình đếm chỉ rõ địa chỉ của lệnh tiếp theo được thực hiện.Thanh ghi PCL, thanh ghi này có thể đọc và ghi Byte cao được gọi là thanh ghi PCH, nó chứa các bit PC và không trực tiếp đọc hoặc ghi mà toàn bộ sự cập nhật của nó thông qua thanh ghi PCLATH, Khi Reset 5bit PCH nạp tới PCH, khi thực hiện các lệnh CALL, GOTO 11 bit và 2 bit PCH tạo thành 13bit nạp vào PC
Hình 1.5 : Hình ảnh nạp PCLATH tới PC
1.3.5 Chức năng Capture của PIC:
Chế độ Capture trong PIC 16F887 cho phép phát hiện xung cạnh lên hoặc cạnh xuống tại các chân chức năng của vi điều khiển Để sử dụng chức năng này, người dùng cần cài đặt các thông số cho TIMER1 và thực hiện các lệnh cơ bản như: setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); setup_ccp1(CCP_CAPTURE_RE); setup_ccp1(CCP_CAPTURE_FE); setup_ccp1(CCP_CAPTURE_DIV_4); và setup_ccp1(CCP_CAPTURE_DIV_16).
Khi phát hiện được cạnh lên hoặc cạnh xuống tương ứng trên chân RC2/CCP1 đối
Khi sử dụng SVTH: Phan Thị Si 19 với Capture1 (hoặc RC1/CCP2 đối với Capture2), giá trị thanh ghi TMR1 sẽ được chuyển vào thanh ghi CCPx Sau khi giá trị được đưa vào thanh ghi CCPx, cờ ngắt CCPxIF sẽ được bật Nếu ngắt CCPx được cho phép, cờ ngắt này cần phải được xóa trong chương trình khi có ngắt xảy ra Nếu một xung tiếp theo được phát hiện trong khi giá trị thanh ghi CCPx chưa được xử lý, giá trị mới sẽ ghi đè lên giá trị cũ.
Khi sử dụng chức năng Capture, cần thiết lập các chân RC2/CCP1 và RC1/CCP2 làm đầu vào Nếu các chân khác của PORTC không được xác định rõ là đầu vào hay đầu ra, điều này có thể ảnh hưởng đến hoạt động của khối chức năng CCP.
1.3.6 Các cổng xuất nhập của PIC16F877A
Hình 1.6: Sơ đồ chân PIC16F877A
GIỚI THIỆU VỀ SÓNG SIÊU ÂM
LÝ THUYẾT VỀ SÓNG SIÊU ÂM
Sóng siêu âm là sóng cơ học, tuân theo các quy luật của sóng cơ và được tạo ra bằng cách tác động lực cơ học vào môi trường truyền âm Sóng siêu âm có tần số lớn hơn 20 kHz và xuất hiện tự nhiên ở một số loài như dơi và cá biển, với tần số nằm trong khoảng 20 – 100 kHz Trong y học, sóng siêu âm được ứng dụng với tần số từ 700 KHz đến 50 MHz, trong đó siêu âm chẩn đoán sử dụng tần số từ 2 MHz trở lên.
2.1.2 Các đại lượng đặc trưng của sóng siêu âm
Hình bên dưới minh họa sóng, được cấu thành từ các lần nén và giãn liên tiếp theo hình sin Trong đó, đỉnh sóng biểu thị áp lực cao nhất, trong khi đáy sóng thể hiện áp lực thấp nhất.
Các đại lượng đặc trưng cho sóng bao gồm:
Chu kỳ T = (s) là khoảng thời gian mà nó thực hiện một lần nén và một lần dãn
Tần số f = (Hz) là chu kỳ thực hiện trong 1s
Vận tốc truyền của sóng âm là quãng đường mà sóng âm truyền được sau một đơn vị thời gian
Độ dài bước sóng λ (tính bằng micromet, μm) là quãng đường mà sóng truyền đi trong một chu kỳ, được tính bằng công thức λ = v.T = v/f Trong hình vẽ, bước sóng được xác định là khoảng cách giữa hai đỉnh hoặc hai đáy liên tiếp của sóng.
2.1.3 Đặc điểm của sóng siêu âm:
Sóng siêu âm mang năng lượng lớn hơn so với sóng âm
Để đun sôi một lít nước chỉ bằng năng lượng từ sóng âm do con người phát ra với tần số khoảng 1KHz, cần đến 7 triệu người la hét liên tục.
12 giờ Trong khi đó năng lượng sóng siêu âm tần số 1MHz sẽ lớn gấp 1 triệu lần năng lượng sóng âm ở tần số 1KHz với điều kiện cùng một biên độ dao động Sóng siêu âm mang năng lượng lớn như vậy nên cường độ của nó có thể đạt tới hàng trăm, hàng ngàn W/cm 2
Sóng siêu âm có bước sóng ( f
Sóng ngắn có tính định hướng cao, cho phép năng lượng sóng phát ra được tập trung vào một phương nhất định Dưới những điều kiện nhất định, hiện tượng xâm thực sóng sẽ xảy ra.
Khoảng cách truyền sóng siêu âm phụ thuộc vào bản chất của môi trường truyền sóng
Cường độ và độ ổn định của sóng siêu âm phụ thuộc vào biến tử phát sóng
Sóng siêu âm có khả năng truyền xuyên qua các vật thể
2.1.4 Phân loại sóng siêu âm
Sóng dọc là loại sóng trong đó phương dịch chuyển của các hạt trong môi trường truyền sóng song song với phương truyền sóng Việc phân loại sóng dựa trên sự so sánh giữa phương truyền sóng và chiều dịch chuyển của các hạt giúp hiểu rõ hơn về tính chất của sóng trong môi trường.
Sóng dọc truyền với vận tốc lớn f
: có tính định hướng cao
Môi trường truyền sóng là chất rắn, lỏng, khí b Sóng ngang:
Sóng được hình thành khi các phần tử trong môi trường chuyển động vuông góc với phương truyền sóng Loại sóng này chỉ xuất hiện trong môi trường chất rắn và có vận tốc truyền thấp.
Hình 2.3: Sóng ngang c Sóng mặt:
Là sóng truyền ở bề mặt phân cách giữa hai môi trường khác nhau
2.1.5 Môi trường truyền sóng siêu âm a Âm trở: là đặc trưng tính chất của môi trường truyền sóng, có thể gọi là độ vang hay độ dội của sóng âm trong môi trường
Trở kháng âm được xác định theo biểu thức: Z= v
: mật độ môi trường (kg/m 3 )
v: vận tốc lan truyền trong môi trường truyền sóng b Vận tốc
Là quãng đường mà sóng truyền đi được trong một đơn vị thời gian Vận tốc phụ thuộc vào một số những yếu tố sau :
Độ nén: vật liệu càng khó nén thì vận tốc truyền âm càng cao và ngược lại
Mật độ: vật liệu có mật độ dày đặc tạo bởi các hạt lớn thì vận tốc lan truyền càng thấp
Trong cùng một môi trường, vận tốc truyền sóng là không đổi và không bị ảnh hưởng bởi tần số, mà chỉ phụ thuộc vào cấu trúc của môi trường đó.
Bảng 2 1 Vận tốc sóng trong môi trường truyền
Môi trường truyền Sóng dọc Sóng ngang Sóng mặt
Áp suất âm (Âm áp) là một đại lượng quan trọng thể hiện sức căng biến đổi tuần hoàn trong vật liệu, được tạo ra từ sự truyền sóng siêu âm Công thức tính Âm áp được biểu diễn như sau: P = 2πfZα, trong đó P là áp suất âm, f là tần số, Z là độ cứng vật liệu và α là hệ số hấp thụ.
f : là tần số lan truyền sóng
: là biên độ dao động d Cường độ âm
Thể hiện sự truyền năng lượng qua một đơn vị diện tích vuông góc với phương truyền sóng cho bởi biểu thức:
2.1.6 Sự bức xạ - phản xạ - khúc xạ và hấp thụ sóng âm a Sự bức xạ sóng siêu âm
Sự bức xạ của sóng siêu âm phụ thuộc vào các yếu tố chính sau:
Kích thước của biến tử càng lớn sự bức xạ càng cao
Sự bức xạ của biến tử phụ thuộc vào nguồn cung cấp năng lượng; nguồn năng lượng lớn sẽ làm tăng độ dao động, từ đó dẫn đến sự bức xạ mạnh mẽ hơn.
Sự bức xạ còn phụ thuộc vào môi trường: mỗi môi trường khác nhau thì năng lượng bức xạ cũng khác nhau
Hình 2.5 Sự bức xạ sóng âm
Tại vùng gần biến tử chùm tia siêu âm truyền đi theo phương song song được gọi là trường gần hay vùng Fresnel,chiều dài trường gần được xác định theo biểu thức:
o r : là khoảng cách của vùng gần o D: là đường kính của biến tử o : là bước sóng
Tại vùng xa biến tử dạng sóng biến thành sóng cầu với góc mở được xác định theo biểu thức:
: góc tập trung năng lượng bức xạ
Bảng 2.2 Bảng số liệu của độ dài vùng gần r theo đường kính biến tử D
Tần số Độ dài vùng gần r theo đường kính biến tử D (cm)
Với cùng một tần số, khi đường kính biến tử càng lớn thì độ dài vùng gần càng tăng
Cùng một đường kính biến tử nhưng khi tần số sóng càng tăng cao thì độ dài của vùng gần cũng càng tăng nên sự bức xạ càng mạnh
Biểu đồ phương truyền sóng và tính định hướng của biến tử: (D, , sin- biểu diễn trên mặt phẳng)
Hình 2.6: Phương truyền sóng và tính định hướng của biến tử
Đường kính của biến tử lớn hơn sẽ tạo ra góc mở hẹp hơn, dẫn đến tính định hướng cao hơn Tuy nhiên, khi đường kính D vượt quá bước sóng λ, hiện tượng búp sóng sẽ xuất hiện Tần số sóng siêu âm càng cao thì tính định hướng càng tăng, nhưng đồng thời cũng làm gia tăng mức tổn hao.
Mặt phẳng âm là mặt phẳng có bề mặt nhận sóng có độ nhấp nhô nhỏ hơn
Khi sóng truyền vuông góc với mặt phân cách giữa hai môi trường, một phần sóng sẽ truyền qua và một phần sẽ bị phản xạ trở lại môi trường đầu tiên Tỷ lệ phần phản xạ này phụ thuộc vào tổng trở âm của từng môi trường.
Hình 2.8: Sự phản xạ sóng âm
Độ phản xạ (hệ số phản xạ):
Nếu môi trường đồng chất (Z1 = Z2) thì sóng siêu âm hầu như truyền thẳng, tức thành phần phản xạ bằng 0
KHÁI QUÁT VỀ CẢM BIẾN SIÊU ÂM
2.2.1 Một số loại cảm biến siêu âm
Cảm biến siêu âm được chia thành nhiều loại khác nhau, tùy thuộc vào công dụng như nhận diện vật thể ở khoảng cách gần hay xa, cũng như phân loại các vật có tính chất khác nhau trong những điều kiện hoạt động đa dạng.
Hình 2.10: Các loại cảm biến siêu âm
2.2.2 Cảm biến siêu âm và nguyên tắc TOF (Time Of Flight)
Sóng siêu âm di chuyển trong không khí với tốc độ khoảng 343m/s Khi một cảm biến phát sóng siêu âm và nhận sóng phản xạ, nó có thể đo thời gian từ lúc phát đến lúc thu Từ đó, máy tính xác định quãng đường sóng đã di chuyển, được tính bằng 2 lần khoảng cách từ cảm biến đến chướng ngại vật Khoảng cách này được tính theo nguyên lý TOF: d = v*t/2.
2.2.3 Tầm quét của cảm biến siêu âm
Cảm biến siêu âm có thể được hình dung như một cánh quạt, trong đó khu vực giữa cho thấy không có chướng ngại vật, trong khi các điểm ở rìa lại phát hiện sự hiện diện của chướng ngại vật.
2.2.4 Thông số một số loại cảm biến siêu âm SRF
Bảng 2.4: Thông số một số loại cảm biến siêu âm SRF
*: Ước tính góc của hình nón cảm biến ở 1/2 cảm biến
**: Số vang ghi lại bởi cảm biến Đây là những tiếng vọng ghi từ đọc gần đây nhất và được ghi đè mới bằng mỗi lần khác nhau
A: Những cảm biến nhỏ hơn điển hình (SRF 05/04/08) kích thước
B: Phạm vi thời gian có thể được điều chỉnh xuống bằng cách điều chỉnh được C: Cảm biến này cũng bao gồm một photocell ở mặt trước để phát hiện ánh sáng D: Hoạt động ở một tần số 235kHz cao hơn.
CẢM BIẾN SIÊU ÂM HY-SRF05 VÀ ĐẶC ĐIỂM KỸ THUẬT
2.3.1 Giới thiệu cảm biến siêu âm HY-SRF05 :
Cảm biến SRF05 là thiết bị đo khoảng cách hoạt động dựa trên nguyên lý sóng siêu âm, bao gồm bộ phát và bộ thu Khi sóng siêu âm được phát ra, chúng sẽ di chuyển trong không khí và phản xạ trở lại khi gặp vật cản Thời gian từ khi sóng được phát đi cho đến khi nhận lại sẽ được sử dụng để tính toán khoảng cách, nhờ vào tốc độ truyền âm thanh trong không khí là hằng số.
Cảm biến SVTH: Phan Thị Si 37 sử dụng sóng siêu âm để đo khoảng cách, với khả năng quy đổi khoảng cách từ cảm biến đến vật thể khi sóng phản xạ về đầu thu Cảm biến SRF05 có khả năng đo khoảng cách tối đa lên tới 3-4 mét.
Hình 2.11: Cảm biến siêu âm HY_SRF05
2.3.2 Thông số kỹ thuật của cảm biến siêu âm HY-SRF05:
Điện áp hoạt động : 5VDC
Khoảng cách phát hiện: 2 - 450cm
Độ chính xác cao: 0.3cm
SRF05 là cảm biến siêu âm dùng để đo khoảng cách với vật cản
SRF05 là một cảm biến đo khoảng cách sử dụng nguyên lý phản xạ sóng Khi bắt đầu quá trình đo, SRF05 phát ra 8 xung sóng với tần số 40kHz và sau đó chờ nhận xung phản xạ Thời gian giữa xung phát và xung nhận cho phép tính toán khoảng cách từ SRF05 đến vật cản một cách chính xác.
Khi có xung phản xạ về chân ECHO của SRF05, chân này sẽ được kéo xuống thấp; nếu không có xung phản xạ nào trong vòng 30ms, chân ECHO sẽ trở lại trạng thái cao.
Hình 2.12 : Biểu đồ thời gian của SRF05
Vận tốc âm thanh trong không khí là 344 m/s Để tính toán khoảng cách, ta sử dụng công thức: Quãng đường = vận tốc * thời gian Tuy nhiên, do sóng siêu âm phải đi tới vật cản và phản hồi về, nên khoảng cách thực tế cần được chia đôi, dẫn đến công thức tính khoảng cách: KC = QĐ/2.
2.3.4 Thay đổi chùm tia và độ rộng chùm
Chùm tia của cảm biến HY-SRF05 có hình dạng nón với độ rộng cố định, phụ thuộc vào diện tích bề mặt của các cảm biến Hình dạng và đặc điểm của chùm tia này được minh họa dưới đây.
2.3.5 Hoạt động phát và nhận phản hồi sóng âm của HY-SRF05
Nguyên tắc cơ bản của sonar là phát ra một xung âm thanh điện tử và lắng nghe tiếng vọng khi sóng âm thanh chạm vào đối tượng và phản xạ trở lại Thời gian phản hồi cho phép tính toán chính xác khoảng cách đến đối tượng Xung âm thanh do HY_SRF05 phát ra là siêu âm, nằm ngoài khả năng nghe của con người Mặc dù tần số thấp có thể được sử dụng cho nhiều ứng dụng, tần số cao hơn lại cho kết quả tốt hơn trong các trường hợp yêu cầu độ chính xác cao và khoảng cách ngắn.
- Một số đặc điểm khác của cảm biến siêu âm HY-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óc phản xạ của nó
Một đối tượng mềm có thể phát ra tín hiệu phản hồi yếu hoặc thậm chí không có phản hồi Để chuyển đổi thành tín hiệu phản chiếu một chiều cho cảm biến nhận, đối tượng cần phải ở một góc cân đối.
+Các vùng cảm biến của HY-SRF05 nằm trong khoảng 1 mét chiều rộng từ bên này sang bên kia và không quá 5 mét chiều dài
Một kỹ thuật hiệu quả để giảm thiểu điểm mù và mở rộng khả năng phát hiện ở khoảng cách gần là lắp đặt thêm một đơn vị HY-SRF05 và kết nối hai đơn vị này hướng về phía trước Với thiết lập này, sẽ tạo ra một khu vực chồng chéo giữa hai vùng quét, giúp cải thiện độ chính xác trong việc nhận diện.
+Các vùng hoạt động của 2 cảm biến 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ái phải và phần cản ở giữa
CHƯƠNG III: THIẾT KẾ HỆ THỐNG ĐIỀU CHỈNH MỰC NƯỚC TỰ ĐỘNG
3.1 SƠ ĐỒ KHỐI HỆ THỐNG
Hình 3.1: Sơ đồ khối hệ thống 3.2 CÁC MODUL TRONG HỆ THỐNG
Khối vi điều khiển sử dụng vi điều khiển PIC16F877A, bao gồm mạch tạo dao động thạch anh và mạch Reset để khôi phục hệ thống về trạng thái ban đầu Các chân của vi điều khiển sẽ được kết nối với các khối khác như động cơ, bàn phím, khối hiển thị và khối cảm biến.
Cảm biến siêu âm SRF05 hoạt động với nguồn điện 5V, bao gồm một đầu vào tín hiệu kích hoạt và một đầu ra phản hồi Thiết bị này được sử dụng để thu phát tín hiệu siêu âm, từ đó xuất ra tín hiệu để tính toán khoảng cách.
Khối hiển thị chính là màn hình hiển thị LCD 16x2 Trong bài sử dụng LCD 4 bit thì các chỉ cần sử dụng các chân RW, RS, E, D4 =>D7
Trong chương trính sử dụng LCD ở chế độ 4bit Các lệnh được sử dụng:
Hàm lcd_send_byte(BYTE address, BYTE n) được sử dụng để điều khiển màn hình LCD, ví dụ như lệnh lcd_send_byte(0, 0x01) để xóa màn hình và lệnh lcd_send_byte(0, 0x08) để đưa con trỏ về đầu dòng thứ nhất.
Hàm lcd_gotoxy(a,b) được sử dụng để di chuyển con trỏ đến các vị trí mong muốn trên các dòng khác nhau của màn hình LCD Cụ thể, lệnh lcd_gotoxy(x,1) sẽ đưa con trỏ về dòng 1 tại vị trí x, trong đó x có thể nằm trong khoảng từ 1 đến 16 của màn hình LCD.
printf(lcd_putc,”…”): in một xâu ký tự ra màn hình.xâu ký tự có độ dài <
16 ký tự để LCD có thể hiển thị được đầy đủ
lcd_putc(‘…’) : in một ký tự ra màn hình
3.2.4 Khối điều khiển động cơ
Khi khối điều khiển PIC được kích hoạt để điều khiển khối động cơ, hệ thống bơm nước sẽ hoạt động thông qua việc kích hoạt Rơle, một thiết bị điện tự động mà tín hiệu đầu ra thay đổi khi tín hiệu đầu vào đạt giá trị xác định Hệ thống động cơ bơm nước này sử dụng nguồn điện 220V.
Nguyên lý hoạt động của việc nhấn phím dựa trên việc thiết lập các cột bằng 1 Sau đó, hệ thống kiểm tra xem có cột nào bằng 0 hay không; nếu có cột bằng 0, điều này cho thấy phím đó đã được nhấn.
Cung cấp nguồn nuôi cho vi điều khiển hoạt động theo yêu cầu đề tài
Vi điều khiển PIC 16F877A Bộ tạo dao động thạch anh
Hình 3.2: Vi điều khiển PIC 16F877A Hình 3.3: Tụ gốm và tụ thạch anh 3.3.2 Khối cảm biến :
Hình 3.4: Cảm biến siêu âm HY_SRF05
Sử dụng cảm biến siêu âm HY-SRF05