đồ án vi điều khiển hiển thị lưu lượng khí nạp trong động cơ đốt trong lên màn hình LCD, sơ lược về PIC16f877A, nguyên lý hoạt động của cảm biến lưu lượng khí nạp, bộ chuyển đổi tương tự sang số ADC, chương trình
Trang 1LỜI MỞ ĐẦU
Kĩ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống, và còn nhiều lĩnh vực khác nữa So với kĩ thuật số thì kĩ thuật vi điều khiển nhỏ gọn hơn rất nhiều do nó được tích hợp lại và có khả năng lập trình để điều khiển.Nên rất tiện dụng và cơ động Sau học xong học phần kĩ tuật vi điều khiển chúng em dùng vi điều khiển PIC để hiển thị lưu lượng khí nạp trong động cơ lên màn hình LCD
Mục đích của đề tài tạo ra bước đầu cho sinh viên thử nghiệm những ứng dụng của
vi điều khiển trong thực tiễn để tìm tòi, phát triển
Trong quá rình làm đồ án do kiến thức còn hạn hẹp, và hạn chế về thời gian nên không thể tránh khỏi thiếu xót, mong thầy và các bạn góp ý để chúng em hoàn thiện hơn
Trang 2- Năm 1974, hãng intel công bố bộ vi xử lí 8 bit 8080.
- Năm 1975, hãng intel công bố bộ vi xử lí 8085
Trang 3- Năm 1993, xuất hiện intel 80486 còn gọi là Pentium 64 bit chứa 4 triệu tranzitor.
- Từ năm 1979 đến năm 2000 lần lượt các dòng Pentium II, Pentium III, Pentium IV
- Năm 2006 xuất hiện intel Core 2 Due
c) Một số đặc điểm của vi điều khiển:
- CPU, RAM, ROM, I/O & Timer nằm trên cùng 1 chip
- Cố định lượng ROM, RAM, I/O Ports trên chip
- Giá cả thấp
- Chiếm ít không gian, ít tiêu thụ năng lượng
- Kích thước bộ nhớ, số lượng cổng ít thay đổi
- Chỉ chạy một phần mềm ứng dụng nhất định
- Sử dụng cho mục đích ứng dụng nhất định
- Tốc độ tần số nhỏ (MHz)
2/ Cấu trúc chung của 1 Cấu VĐK:
Hầu hết các vi điều khiển ngày nay được xây dựng dựa trên kiến trúcHarvard, kiến trúc này định nghĩa bốn thành phần cần thiết của một hệ thốngnhúng Những thành phần này là lõi CPU, bộ nhớ chương trình (thôngthường là ROM hoặc bộ nhớ Flash), bộ nhớ dữ liệu (RAM), một hoặc vài bộđịnh thời và các cổng vào/ra để giao tiếp với các thiết bị ngoại vi và các môitrường bên ngoài - tất cả các khối này được thiết kế trong một vi mạch tíchhợp Vi điều khiển khác với các bộ vi xử lý đa năng ở chỗ là nó có thể hoạtđộng chỉ với vài vi mạch hỗ trợ bên ngoài
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.
Trang 4- 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ựchiệ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
- Một tập các thanh ghi dùng để lưu thông tin tạm thời
b) Rom:
ROM là bộ nhớ dùng để lưu giữ chương trình ROM còn dùng để chứa sốliệu, các bảng, các tham số hệ thống, các số liệu cố định của hệ thống Trongquá trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dungROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình
c) Ram:
- RAM là bộ nhớ dữ liệu Bộ nhớ RAM dùng làm môi trường xử lý thông tin,lưu trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử líthông tin Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thaotác
- Thu phát, chuyển đổi dữ liệu
Trang 5Sưởi ấm, thông gió và điều hòa không khí (HVAC) hệ thống dựa trên đầu vào
từ một loạt các cảm biến, kiểm soát các loại động cơ như động cơ bước cho cánh tà và DC / BLDC động cơ quạt
4/ Các dòng vi điều khiển hiện nay:
4.1/ 8051:
a) Intel 8051: là vi điều khiển đơn tinh thể (không nhầm với CPU) kiến trúc
Harvard, lần đầu tiên được sản xuất bởi Intel năm 1980, để dùng trong cáchệthống nhúng Trong những năm 1980 và đầu những năm 1990 đã rất nổi tiếng.Tuy nhiên hiện tại đã cũ và được thay thế bằng các thiết bị hiện đại hơn, với cáclõi phối hợp 8051 Tên gọi chính thức của họ vi điều khiển Intel 8051 -MCS 51
b) Những đặc tính:
- Một ALU 8-bit, một thanh tích lũy và một thanh ghi 8-bit, do đó nó là một
vi điều khiển 8-bit
- Bus dữ liệu 8-bit - có thể truy cập 8 bits dữ liệu trong một hoạt động
- Bus địa chỉ 16-bit - có thể truy cập 216 vị trí nhớ 64kB (65536 vị trí) cho mỗi
bộ nhớ RAM và ROM
- RAM trên chip - 128 bytes (bộ nhớ dữ liệu)
- ROM trên chip - 4 kbytes (bộ nhớ chương trình)
- 32 chân I/O riêng biệt (4 nhóm mỗi nhóm 8 chân I/O) có thể được truy cập riêng rẽ
Trang 6- Hai bộ định thời/đếm 16-bit.
c) Các thành viên khác của họ 8051:
- Có hai bộ vi điều khiển thành viên khác của họ 8051 là 8052 và 8031
4.2/ PIC:
a) PIC: PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip
Technology Dòng PIC đầu tiên là PIC1650 được phát triển bởi MicroelectronicsDivision thuộc General Instrument
b) Họ vi điều khiển PIC:
Vi điều khiển 8-bit:
a) Vi điều khiển AVR: do hãng Atmel sản xuất được gới thiệu lần đầu năm
1996 AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR (như AT tiny
13, AT tiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR (chẳn hạn AT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và mạnh hơn là dòng Mega ( như ATmega32, ATmega128,…) với bộnhớ có kích thước vài Kbyte đến vài trăm Kb cùng với các bộ ngoại vi đa dạng được tích hợp trên chip, cũng có dòng tích hợp cả bộ LCD trên chip (dòng LCD AVR)
b) Những đặc tính:
- 8K byte Flash trên chíp có thể lập trình với các khả năng đọc trong khi ghi
- 512 byte EEPROM
Trang 7- 6 kênh ADC trong đó 4 kênh có độ chính xác 10-bit và 2 kênh có độ chính xác 8-bit.
d) Các loại AVR:
Cơ bản họ VAR có thể chia làm 4 nhóm sau:
- TinyAVR - the ATtiny series
- MegaAVR - the ATmega series
- XMEGA -the ATxmega series
- Atmel At94k FPSLIC
II Giới thiệu về vi điều khiển được chọn làm đồ án: (PIC)
1/ Khái niệm:
- PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer"
(Máy tính khả trình thông minh) là một sản phẩm của hãng General
Instrument đặt cho dòng sản phẩm đầu tiên của họ là PIC1650 Lúc
này, PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral
Interface Controller" (Bộ điều khiển giao tiếp ngoại vi) CP1600 là một CPUtốt, nhưng lại kém về các hoạt động xuất nhập, và vì vậy PIC 8-bit được pháttriển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600 PIC
sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISC chưa được sử dụng thời bây giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy
2/ Một vài đặc tính:
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng chúng ta có thể điểm qua một vài nét như sau:
- 8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi
- FLASH và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte
- Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5,5V, ứng vớilogic 0 và logic 1)
- 8/16 Bit Timer
- Công nghệ Nanowatt
- Các chuẩn Giao Tiếp Ngoại Vi Nối Tiếp Đồng bộ/Không đồng
bộ USART, AUSART, EUSARTs
- Bộ chuyển đổi ADC Analog-to-digital converters, 10/12 bit
- Bộ so sánh điện áp (Voltage Comparators)
- Các module Capture/Compare/PWM
- LCD
Trang 8- MSSP Peripheral dùng cho các giao tiếp I²C, SPI, và I²S.
- Bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần
- FLASH (dùng cho bộ nhớ chương trình) có thể ghi/xóa 10.000 lần
- Module Điều khiển động cơ, đọc encoder
- Hỗ trợ giao tiếp USB
- Hỗ trợ điều khiển Ethernet
- Hỗ trợ giao tiếp CAN
- Hỗ trợ giao tiếp LIN
- Hỗ trợ giao tiếp IrDA
- Một số dòng có tích hợp bộ RF (PIC16F639, và rfPIC)
- KEELOQ Mã hoá và giải mã
- DSP những tính năng xử lý tín hiệu số (dsPIC)
3/ Bộ nhớ dữ liệu của PIC:
Các thanh ghi đa mục đích cho người dùng của PIC là các ô nhớ RAM.Mỗi thanh ghi này cos độ dài 8 bit cho tất cả các bit
4/ Các chân của PIC:
Trang 9a) Các chân nguồn:
- Chân 11,32 là các chân VDD(+5v)
- Chân 12,31 là các chân VSS(0v)
b) Cổng nhập xuất:
- PORT A và thanh ghi TRIS A
- PORT B và thanh ghi TRIS B
- PORT C và thanh ghi TRIS C
- PORT D và thanh ghi TRIS D
- PORT E và thanh ghi TRIS E
a) Bộ cảm biến: là thiết bị điện tử cảm nhận những thay đổi từ môi trường bên
ngoài và biến đổi thành các tín hiệu điện để điều khiển các thiết bị khác Cảm biến là một trong ba thành phần cơ bản của hệ thống điều khiển
b) Ứng dụng của cảm biến nhiệt độ:
trọng Trong ngành cảng biển, các cảm biến nhiệt độ dùng trong các cần cẩu,báo nhiệt độ nhiên liệu, nhiệt độ motor…
và công trình,toán và tin,xây dựng,điện tử viễn thông,điện lạnh,…
bồn chứa, đường ống… để giám sát hệ thống
- Cảm biến có vai trò quan trọng trong các bài toán điều khiển quá trình nói riêng và trong các hệ thống điều khiển tự động nói chung
- Là thiết bị có khả năng cảm nhận các tín hiệu điều khiển vào, ra
- Có vai trò đo đạc các giá trị
- Giới hạn cảm nhận với đại lượng vật lý cần đo
Trang 102/ Cảm biến lưu lượng:
a) Giới thiệu chung về cảm biến lưu lượng, phân loại và ứng dụng:
Giới thiệu chung:
- Đo lưu lượng đóng một vai trò quan trọng, không chỉ vì nó phục vụ cho mụcđích kiểm kê, đo đếm mà còn bởi vì ứng dụng của nó trong hệ thống tự độnghóa các quá trình sản xuất Chính vì vậy việc hiểu rõ về phương pháp đo,cũng như nắm vững các đặc tính của thiết bị đo lưu lượng là điều hết sức cầnthiết
- Lưu lượng kế là cảm biến đo không thể thiếu để đo lưu lượng của chất khí,chất lỏng, hay hỗn hợp khí-lỏng trong các ứng dụng công nghiệp như thựcphẩm-nước giải khát, dầu mỏ- khí đốt, hóa chất-dược phẩm, sản xuất giấy,điện, xi măng … Trên thị trường, các loại lưu lượng kế rất đa dạng và luônsẵn có cho bất kỳ ứng dụng công nghiệp hay dân dụng nào Việc chọn lựacảm biến đo lưu lương loại nào cho ứng dụng cụ thể thường dựa vào đặctính chất lỏng (dòng chảy một hay hai pha, độ nhớt, độ đậm đặc…), dạngdòng chảy (chảy tầng, chuyển tiếp, chảy hỗn loạn…), dải lưu lượng và yêucầu về độ chính xác phép đo Các yếu tố khác như các hạn chế về cơ khí vàkết nối đầu ra mở rộng cũng sẽ ảnh hưởng đến quyết định chọn lựa này Nóichung, độ chính xác của lưu lượng kế còn phụ thuộc vào cả môi trường đoxung quanh Các ảnh hưởng của áp suất, nhiệt độ, chất lỏng/khí hay bất kỳtác động bên ngoài nào đều có thể ảnh hưởng đến kết quả đo
- Cảm biến đo lưu lượng trong công nghiệp được lắp đặt ở môi trường nhiễucao và thường bị xung áp Điều này đòi hỏi các cảm biến đo lưu lượng phảihoạt động bình thường cả với xung điện áp và bù được nhiễu để đảm bảođưa ra tín hiệu đo với độ chính xác cao
Cảm biến được dùng trong đồ án là cảm biến lưu lượng khí nạp kiểu dâysấy:
Cảm biến lượng khí được dung trong động cơL-EFI để cảm nhận lượngkhí nạp.Đây là một cảm biến quan trọng nhất của động cơL-EFI.Tín hiệulượng khí nạp được dung để tính toán khoảng thời gian phun cơ bản và gócđánh lửa sớm cơ bản
Trang 11Hình: cảm biến lưu lượng khí nạp kiểu dây sấy
Phân loại:
Có các loại cảm biến lưu lượng khí nạp như sau:
- Loại chính
- Loại xoáy quang học Karman
- Cảm biến khối lượng khí nạp:
- Loại dây sấy
Ứng dụng:
Trên hầu hết các loại xe hiên nay đề sử dụng cảm biến lưu lượng khí nạp kiểudây sấy vì ưu điểm của loại cảm biến này là cấu tạo đơn giản, trọng lượng nhẹ,
độ bền cao, đặc biệt là cho kết quả đo khá chính xác
b) Cấu tạo của bộ cảm biến lưu lượng khí nạp loại dây sấy:
- Như trình bày ở hình minh họa, cấu tạo của cảm biến lưu lượng khí nạp kiểudây nóng rất đơn giản
Trang 12- Cảm biến lưu lượng khí nạp gọn và nhẹ như được thể hiện trong hình minhhọa ở bên trái là loại cắm phích được đặt vào đường không khí, và làm chophần không khí nạp chạy qua khu vực phát hiện Như trình bày trong hìnhminh họa, một dây nóng và nhiệt điện trở, được sử dụng như một cảm biến,được lắp vào khu vực phát hiện Bằng cách trực tiếp đo khối lượng khôngkhí nạp, độ chính xác phát hiện được tăng lên và hầu như không có sức cảncủa không khí nạp Ngoài ra, vì không có các cơ cấu đặc biệt, dụng cụ này
có độ bền tuyệt hảo.Cảm biến lưu lượng khí nạp được thể hiện trong hìnhminh hoạ cũng có một cảm biến nhiệt độ không khí nạp gắn vào
Trang 13c) Hoạt động và chức năng:
Như thể hiện trong hình minh họa, dòng điện chạy vào dây sấy (bộ sấy)làm cho nó nóng lên Khi không khí chạy quanh dây này, dây sấy được làmnguội tương ứng với khối không khí nạp Bằng cách điều chỉnh dòng điệnchạy vào dây sấy này để giữ cho nhiệt độ của dây sấy không đổi, dòng điện
đó sẽ tỷ lệ thuận với khối không khí nạp Sau đó có thể đo khối lượng khôngkhí nạp bằng cách phát hiện dòng điện đó Trong trường hợp của cảm biếnlưu lượng khí nạp kiểu dây sấy, dòng điện này được biến đổi thành một điện
áp, sau đó được truyền đến ECU động cơ từ cực VG
d) Mạch điện bên trong:
- Trong cảm biến lưu lượng khí nạp thực tế, như trình bày ở hình minhhọa, một dây sấy được ghép vào mạch cầu Mạch cầu này có đặc tính làcác điện thế tại điểm A và B bằng nhau khi tích của điện trở theo đườngchéo bằng nhau ([Ra+R3]*R1=Rh*R2)
Trang 14- Khi dây sấy này (Rh) được làm mát bằng không khí nạp, điện trở tăng lêndẫn đến sự hình thành độ chênh giữa các điện thế của các điểm A và B.Một bộ khuyếch đại xử lý phát hiện chênh lệch này và làm tăng điện ápđặt vào mạch này (làm tăng dòng điện chạy qua dây sấy (Rh)) Khi thựchiện việc này, nhiệt độ của dây sấy (Rh) lại tăng lên dẫn đến việc tăngtương ứng trong điện trở cho đến khi điện thế của các điểm A và B trởnên bằng nhau (các điện áp của các điểm A và B trở nên cao hơn).
- Bằng cách sử dụng các đặc tính của loại mạch cầu này, cảm bíên lưulượng khí nạp có thể đo được khối lượng không khí nạp bằng cách pháthiện điện áp ở điểm B
Trang 15- Trong hệ thống này, nhiệt độ của dây sấy (Rh) được duy trì liên tục ởnhiệt độ không đổi cao hơn nhiệt độ của không khí nạp, bằng cách sửdụng nhiệt điện trở (Ra) Do đó, vì có thể đo được khối lượng khí nạp mộtcách chính xác mặc dù nhiệt độ khí nạp thay đổi, ECU của động cơkhông cần phải hiệu chỉnh thời gian phun nhiên liệu đối với nhiệt độkhông khí nạp.
- Ngoài ra, khi mật độ không khí giảm đi ở các độ cao lớn, khả năng làmnguội của không khí giảm xuống so với cùng thể tích khí nạp ở mứcnước biển Do đó mức làm nguội cho dây sấy này giảm xuống Vì khốikhí nạp được phát hiện cũng sẽ giảm xuống, nên không cần phải hiệuchỉnh mức bù cho độ cao lớn
IV Tìm hiểu về ADC:
1/ ADC nói chung:
a) ADC: (Analog to Digital Converter) là bộ chuyển đổi tương tự sang số,
lấy mức điện thế vào tương tự sau đó một thời gian sẽ sinh ra mã đầu ra
Trang 16dạng số biểu diễn đầu vào tương tự.
Hoạt động cơ bản của lớp ADC:
-Xung lệnh START khởi động sự hoạt động của hệ thống
- Xung Clock quyết định bộ điều khiển liên tục chỉnh sửa số nhịp hân lưu trong thanh ghi
- Số nhịp hân trong thanh ghi được ADC chuyển đổi thành mức điện thế tương tự VAx
- Bộ so sánh so sánh VAX với đầu vào trương tự VA Nếu VAX < VA đầu ra của bộ so sánh lên mức cao Nếu VAX > VA ít nhất bằng một khoảng VT (điệnthế ngưỡng), đầu ra của bộ so sánh sẽ xuống mức thấp và ngừng tiến trình biến đổi số nhịp hân ở thanh ghi.Tại thời điểm này VAX xấpxỉ VA.giá trị nhịp hân ở thanh ghi là đại lượng số tương đương VAX và cũng là đại lượng số
Trang 17b) Các chỉ tiêu kỹ thuật chủ yếu của ADC:
- Độ phân giải
Độ phân giải của một ADC biểu thị bằng số bit của tín hiệu số đầu ra.Số lượng bit nhiều sai số lượng tử càng nhỏ, độ chính xác càng cao
- Dải động, điện trở đầu vào:
Mức logic của tín hiệu số đầu ra và khả năng chịu tải (nối vào đầu vào)
- Độ chính xác tương đối:
Nếu lý tưởng hóa thì tất cả các điểm chuyển đổi phải nằm trên một đường thẳng.Độc chính xác tương đối là sai số của các điểm chuyển đổi thực tế so với đặc tuyến chuyển đổi lý tưởng.Ngoài ra còn yêu cầu ADC không bị mất bit trong toàn bộ phạm vi công tác
- Tốc độ chuyển đổi
Tốc độ chuyển đổi được xác định thời gian bởi thời gian cần thiết hoàn thành một lần chuyển đổi A/D Thời gian này tính từ khi xuất hiện tín hiệu điều khiển chuyển đổi đến khi tín hiệusố đầu ra đã ổn định
- Hệ số nhiệt độ
Hệ số nhiệt độ là biến thiên tương đối tín hiệu số đầu ra khi nhiệt độ biến đổi10C trong phạm vi nhiệt độ công tác cho phép với điều kiện mức tương tự đầu vào không đổi
- Tỉ số phụ thuộc công suất
Giả sử điện áp tương tự đầu vào không đổi, nếu nguồn cung cấp cho ADC biến thiên mà ảnh hưởng đến tín hiệu số đầu ra càng lớn thì tỉ số phụ thuộc nguồn càng lớn
- Công suất tiêu hao
2/ ADC trên vi điều khiển PIC:
a) Giới thiệu về ADC của PIC:
- ADC là bộ chuyển đổi tín hiệu tương tự thành tín hiệu số
- PIC 16F877A có 8 ngõ vào Analog (RA0:RA4 and RE0:RE2) và mỗi kênhADC là 10 bit với chip 40 chân Hiệu điện thế chuẩn V REF có thể được lựa chọn là VDD, VSS hay hiệu điện thế chuẩn được xác lập trên 2 chân RA2, RA3
-Bộ chuyển đổi ADC có cấu trúc độc lập để có thể hoạt động trong khi vi điều khiển đang ở chế độ Sleep, xung cung cấp cho ADC lấy từ dao động
RC bên trong của khối ADC