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

đồ án xử lý tin: Tổ chức hệ đo đa kênh dùng ADC của bộ vi điều khiên PIC18f4550, kết quả đo hiển thị trên máy tính qua chuẩn USB và LCD. Đầu vào đo là cảm biến nhiệt độ LM35 hoặc LM335. Các giá trị đo được so sánh với hai ngưỡng nhiệt độ max, min có cảnh

28 153 2

Đ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 28
Dung lượng 1,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổ chức hệ đo đa kênh dùng ADC của bộ vi điều khiên PIC18f4550, kết quả đo hiển thị trên máy tính qua chuẩn USB và LCD. Đầu vào đo là cảm biến nhiệt độ LM35 hoặc LM335. Các giá trị đo được so sánh với hai ngưỡng nhiệt độ max, min có cảnh báo trên giao diện máy tính khi nhiệt độ ngoài khoảng max, min.

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA KỸ THUẬT ĐIỀU KHIỂN

ĐỒ ÁN THIẾT BỊ HỆ THỐNG ĐIỀU

KHIỂN VÀ XỬ LÝ TIN

Đề tài: Tổ chức hệ đo đa kênh dùng ADC của bộ vi điều khiên PIC18f4550, kết quả đo hiển thị trên máy tính qua chuẩn USB và LCD Đầu vào đo là cảm biến nhiệt độ LM35 hoặc LM335 Các giá trị

đo được so sánh với hai ngưỡng nhiệt độ max, min có cảnh báo trên

giao diện máy tính khi nhiệt độ ngoài khoảng max, min

Trang 2

Giờ đây, nhu cầu chuyên dụng hóa, tối ưu( thời gian, không gian, giá thành) bảomật ,tính chủ động linh hoạt trong công nghệ… ngày càng đòi hỏi khắc khe việc đưa racông nghệ mới trong lĩnh vực chế tạo mạch điều khiển điện tử, để đáp ứng các nhu cầucấp thiết trong khoa học kỹ thuật điện -điện tử Kỹ thuật vi điều khiển hiện nay rất pháttriển,nó đáp ứng được nhu cầu của nhiều ngành lĩnh vực sản xuất công nghiệp, tự độnghóa ,trong đời sống…So với kỹ thuật số thì kỹ thuật vi điều khiển nhỏ gọn hơn, do đó

nó được tập hợp lại và có khả năng lập trình để điều khiển nên tiện dụng và cơ động.Vớicác tính chất ưu việc đó, trong đề tài này em sử dụng vi điều khiển đo nhiệt độ và đồngthời hiển thị lên LCD

Đề tài này thiết kế dựa trên kiến thức đã học ,sách tham khảo và một số nguồn tàiliệu khác

Tuy nhiên do thời gian và trình độ có hạn nên em không tránh khỏi những sai sót

Vì vậy mong thầy ,cô góp ý xây dựng giúp đỡ để hoàn thành đề tài Em xin chân thànhcảm ơn

Nội dung báo cáo gồm 3 phần:

Trang 3

để việc học tập của em được tốt hơn

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

I – Cơ sở lý thuyết

1 Giới thiệu tổng quan về vi điều khiển PIC18F4550

1.1 Giới thiệu về PIC18F4550

PIC18F4550 là một vi xử lý cơ bản đa chức năng và rẽ Nó là sau phẩm của họ và

xử lý Pic thông dụng của công ty Microchip của Mỹ có trụ sắp đặt tại Chandler Arizona (Mỹ)

Trang 4

Hình 1 PIC18F4550

Điểm riêng biệt của vi xử lý PIC18F4550 là nó là một trong những PIC hỗ trợ toànthể cho USB, nghĩa là có USB gắn trong có sẵn các chân đầu ra để nổi trực tiếp vớithủy tinh mà không cần mạch kéo hay bất cứ mạch gắn ngoài nào khác

Trang 5

Hỗ trợ tinh thể và dao động kỷ nhiều tần số như đầu vào và bộ cân bằng nên bộ xử

lý có thể hoạt động với tần số 48 MHz của dao động ký độc lập khi kết nối Khi kếtthức hoạt động thi chính dao động kỷ được kết nổi (thông qua các bit cấu hình) Làm việc với tốc độ 48 MHz là điều kiện tiên quyết để chuyển sang chế độ toàn tốc nhờ công USB3 Vì vậy, driver USB chuyển sang chế độ tuyên tốc (1.5 Mbyte giây) qua USB tương 1 với chuẩn USB 2.0, Nó cũng có 35 chân vào ra số chung (xem sự đổi chân ở phần dưới) và có sẵn với học gồm DẸP-40) nên rất thuận tiện cho nhà phát triển và những người nghiệp du quan tâm

Với bộ nhớ, có 32kb Flash lưu trữ chương trình, 2kb bộ nhớ SRAM bay hơi

và 256 byte EEPROM (bộ nhớ không bay hơi) để lưu trữ dài hạn dữ liệu như cấu hình ca Các chỉ thị dài 1 byte với một số ngoạã hệ dài 2 byte (CALL, MOVFF, GOTO LSFR) Sử dụng cơ chế dường ống để thực thị mã bằng việc khiến các chỉ

Trang 6

thị liên tiếp hoạt động trong 4 xung (độ dài xung) và có 4 lần nhảy xung được thêmvào.

Các đặc tính đáng chú ý khác là có đồng hồ, ngất (đồng hồ gắn trong và gần ngoài) với hai mức thu tiền và dùng cả hai mức như hộ so sánh tương tự kèm theo với bộ phát điện thể chuẩn có 16 mức (hữu ích khi dùng trigger ở mức phần cứng) Cuối cùng, CIP cũng có một bộ chuyển đổi tương tự 10 bit nhưng dao động kỷ không đủ yêu cầu về tốc độ cao cần thiết Vì vậy, máy phát dao động có tốc độ 48 MIZ giữa thời gian trễ do truyền tải và các ngắt khác (vòng lặp) Không thể đạt được tốc độ lớn hơn 2000 kHz

1.2 Sơ đồ chân

Sau đây là sơ đồ chân của PIC18F4550 trong hộp DIP-40

Đặc biệt, có thể nhận ra chân D- và D+ từ kết nối USB (chân 23 và 24)

Trang 7

Hình: Sơ đồ chân của PIC18F4550 trong hộp DIP-40Bảng 1: Bảng mô tả các chức năng từng chân của PIC18F4550

Chân Hướng Mô tả chức năng và các đặc tính

AN0-AN12

I 13 kênh Input, Analog, AN6 và AN7 còn dùng cho

lập trình dữ liệu và xung clock vào

Avdd Nguồn dương cho môđun tương tự

Avss Nguồn Ground cho modul tương tự

CLKI I Lối vào của xung Clock ngoài, luôn kết hợp với

chân OSC1

CLKO O Lối ra của bộ dao động tinh thể, nối với tinh thể

Trang 8

hoặc bộ cộng hưởng trong chế độ dao động thạchanh Giống như CKLO trong chế độ RC hoặc EC.Luôn kết hợp với chân chức năng OSC2

Cổng giao tiếp chuyển đổi dữ liệu đồng bộ khung.Cổng giao tiếp chuyển đổi dữ liệu Clock vào ra nốitiếp

Lối vào dữ liệu nối tiếp

Lối ra dữ liệu nối tiếp

C1RX

C1TX

IO

Cổng nhận bus CAN1Cổng phát bus CAN1EMUD

Cổng vào ra dữ liệu kênh truyền thông sơ cấp củaICD

Vào ra xung nhịp kênh sơ cấp

Vào ra dữ liệu kênh thứ cấp

Trang 9

INT2

LVDIN I Cổng vào phát hiện sụt thế

/MCLR I Power, chân Reset, mức tích cực thấp

Lối ra bộ dao động tinh thể

PGD

PGC

I/OI

Vào ra dữ liệu của ICSP

Lối vào Clock của ICSP

RA11 I/O Port A

Vào ra Clock đồng bộ của khối SPI1

Lối vào dữ liêu của khối SPI1

Lối ra dữ liệu của SPI1

Slaver đồng bộ

SCL

SDA

I/OI/O

Vào ra Clock nối tiếp của I2C

Vào ra Data nối tiếp đồng bộ của I2C

SOSCO O Lối ra bộ dao động tinh thể công suất thấp 32Khz

Trang 10

Lối vào xung Clock ngoài của Timer1.

Lối vào Vref+ (cao) thế analog chuẩn

Lối vào Vref- (thấp) thế chuẩn

2 Sơ lược về LCD

- Mô tả chân của LCD

- LCD giới thiệu ở đây có 14 chân Chức năng của các chân được trình bày trong bảng như sau:

Trang 11

3 VEE - Nguồn điều khiển tương phản

4 RS I RS = 0 chọn thanh ghi lệnh

RS = 1 chọn thanh ghi dữ liệu

5 R/W I R/W = 1 đọc dữ liệu

R/W = 0 ghi

OCho phép

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

OBus dữ liệu 8 bits

1 RS (Register Select) - chọn thanh ghi:

Có hai thanh ghi rất quan trọng bên trong LCD Chân RS được dùng để chọn các thanh ghi này Nếu RS = 0 thì thanh ghi mã lệnh được chọn, cho phép người dùng

Trang 12

gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v…Nếu RS

= 1 thì thanh ghi dữ liệu được chọn và cho phép người dùng gửi dữ liệu cần hiển thị lên LCD

2 R/W (Read/Write) – chân đọc/ghi:

Chân vào đọc/ghi cho phép người dùng đọc/ghi thông tin từ/lên LCD R/W = 0 thì đọc, R/W = 1 thì ghi

3 E (Enable) – chân cho phép:

Chân E được LCD sử dụng để chốt thông tin hiện có trên chân dữ liệu Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức Cao-xuống-thấp được áp đến chân E

để LCD chốt dữ liệu trên chân dữ liệu Xung này phải rộng tối thiểu 450ns

Trang 13

IC đo nhiệt độ là một mạch tích hợp nhận tín hiệu nhiệt đo chuyển thành tín hiệu điện dưới dạng dòng điện hay điện áp Dựa vào đặc tính rất nhạy của các bán dẫn với nhiệt độ tạo ra điện áp hoặc dòng điện, tỉ lệ thuận với nhiệt độ tuyệt đối

Đo tín hiệu điện ta biết được giá trị của nhiệt độ cần đo.Sự tác động của nhiệt độ tạo ra điện tích tự do và các lổ trống trong chất bán dẫn Bằng sự phá vỡ các phân

tử, bứt các electron thành dạng tự do di chuyển qua vùng cấu trúc mạng tinh thể tạo sự xuất hiện các lỗ trống Làm cho tỉ lệ điện tử tự do và lổ trống tăng lên theo qui luật hàm mũ với nhiệt độ

3.2 Cảm biến nhiệtLM35

Hình: hình dạng và sơ đồ chân IC cảm biến nhệt độ LM35

3.3 Đặc điểm và tính chất quan trọng của LM35

LM35 là 1 bộ cảm biến tích hợp nó có thể được dùng để đo nhiệt độ với tín

hiệu đầu ra tỉ lệ với nhiệt độ Celsius (bằng 0C )

 LM35 cho phép đo nhiệt độ chính xác hơn nhiều so với nhiệt trở, cặp nhiệtđiện v v

 Là bộ cảm biến được chỉ định và không phải là đối tượng của quá trình Oxyhoá …

 LM35 tạo ra một điện áp cao mà không cần khuếch đại

Trang 14

 Hệ số thang chia độ là 0,01V/1 0C (tức độ biến thiên theo nhiệt độ) Nókhông yêu cầu sự kiểm tra bên ngoài hay sắp xếp và duy trì độ chính xácbằng ±0,40C tại nhiệt độ phòng (250C) và ±0,80C trên dãy nhiệt độ từ

00C →1000C

 Đặc tính quan trọng khác của LM35DZ là nó chịu đựng dòng tối thiểu60‰A từ nguồn cung cấp của nó Đặc biệt khi ta nung bộ cảm biến dẫn đếnnhiệt độ tăng lên trong môi trường chân không ít hơn 0,1 0C

 Đặc tính điện

 Theo thông số nhà sản xuất LM35DZ, quan hệ giữa nhiệt độ và điện áp ngõ

ra như sau: V out=0 ,01∗T0C

 Dòng điện đầu ra khoảng 10mA

 Vậy ứng với tầm hoạt động từ 01280C, ta có sự biến thiên điện áp ngõ ralà:

4 USB-HID giao tiếp với vi điều khiển PIC18F4550

 Giới thiệu về phần mềm Complier của PIC của MicroC

- Tạo 1 project mới:File / New / New Project

- Sau khi tạo được project thì ta cài đặt các thông số cho vi điều khiển ở cửa

số Edit Project

Trang 15

Hình: cấu trúc phần cứng của PIC18F4550

- Ở đây có 2 cách để chọn tần số hoạt động cho CPU, ở hình vẽ chúng ta nhìn thấy có 2 Option là đầu vào xung nhịp cho CPU Với Option 1 là : HSPLL

và Option 2 là: XT, HS

- Để cho đơn giản thì chúng ta sẽ sử dụng HSPLL, tức là Option 1 Thạch anhthật là 20Mhz, qua bộ chia PLLDIV để được 4Mhz và đưa qua bộ 96Mhz PLL, đầu ra nhận được tần số là 96Mhz, cái này sẽ được chia 2 (như hình vẽ) 96 / 2 = 48 Mhz, vậy là USB hoạt động với xung nhịp là 48Mhz

Trang 16

- - Khi khai báo sử dụng HSPLL thì XT,HS bị vô hiệu, chính vì thế chúng ta

sẽ lấy xung nhịp từ bộ HSPLL để cấp cho CPU, như hình trên xung nhịp sẽ được đưa qua bộ chia CPUDIV nhỏ nhất là 2, tức là 96/2 = 48Mhz Điều này

có nghĩ là CPU sẽ hoạt động với xung nhịp cao nhất 48Mhz, mặc dù đầu vàothạch anh chỉ có 20Mhz Và lúc này điều quan trọng cần chú ý là chúng ta phải sửa lại là giá trị thạch anh đã đặt cho Project là 20Mhz thành 48Mhz mặc dù thạch anh thật bên ngoài là 20Mhz (Đây chính là điểm cần lưu ý.)

- Ngoài ra chúng ta cần phải Enable cho pin 18 để lấy điện áp 3.3V tại chân này (thẻ USB voltage regulator chọn Enable)

Hình: cửa sổ Edit Project

- Đến đây coi như Project cơ bản là chuẩn rồi, bây giờ là viết code

II – Nội dung thiết kế

1 Phần mạch chức năng

1.1 Khối cảm biến

Trang 17

- Vi điều khiển PIC18F4550 có bộ chuyển đổi tín hiệu tương tự sang tín hiệu

số ADC 10 bit đa hợp 13 kênh Mạch ADC dùng cho các ứng dụng giao tiếpvới tín hiệu tương tự có thể nhận từ các cảm biến như cảm biến nhiệt độ LM35, cảm biến áp suất, cảm biến độ ẩm, cảm biến khoảng cách,

- Trong bài này em sử dụng 2 kênh ADC là kênh AN0 và AN1 để đo tín hiệu tương tự từ cảm biến LM35

Hình: khối cảm biến nhiệt độ LM35

1.2 Khối hiển thị

- Khối hiển thị sử dụng LCD Giao tiếp giữa LCD với vi điều khiển 4 bit dữ

liệu từ D4 – D7

Trang 18

Hình: khối hiển thị

1.3 Khối giao tiếp USB-HID

- Khối giao tiếp USB-HID được kết nối với vi điều khiển thông qua 2 chân

D+ và

Trang 19

D-Hình: khối USB-HID

1.4 Khối điều khiển

Khối điều khiển có chức năng xử lí tín hiệu đầu vào.Đưa ra các chân tín hiệu để hiện thị , cảnh báo ngưỡng cao thấp của lưới điện, ngắt

Trang 20

Hình: khối điều khiển

2 Lập trình và mô phỏng

2.1 Phần lập trình

 Yêu cầu:

- Nhiệt độ được đo ở 2 kênh AN0 và AN1

- Kết quả đo được hiển thị lên LCD và truyền thông USB-HID hiển thị nhiệt độ lên giao diện máy tính

- Nhiệt độ cho phép nằm trong khoảng 30 – 50 độC

- Nếu nhiệt độ vượt ngoài khoảng cho phép thì sẽ cảnh báo lên LCD

 Phần code chuonge trình:

// Lcd pinout settings

sbit LCD_RS at RD0_bit;

Trang 21

sbit LCD_EN at RD1_bit;

sbit LCD_RS_Direction at TRISD0_bit;

sbit LCD_EN_Direction at TRISD1_bit;

sbit LCD_D7_Direction at TRISD5_bit;

sbit LCD_D6_Direction at TRISD4_bit;

sbit LCD_D5_Direction at TRISD3_bit;

sbit LCD_D4_Direction at TRISD2_bit;

unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet

unsigned char writebuff[64] absolute 0x540;

Trang 22

void main(void){

unsigned int adc_value0, adc_value1; // gia tri chuyen doi ADC la 10 bit nen gtri lon nhat la 1023 ==> dung kieu unsigned int (4 byte)

unsigned int vol0, vol1;

unsigned char temp0, temp1;

CMCON |= 7; // Disable comparators

HID_Enable(&readbuff,&writebuff); // Enable HID communication

Trang 24

- Nhiệt độ kênh 1 sẽ được hiển thị ở dòng 1, nhiệt độ kênh 2 hiển thị ở dòng 3.

- Nhiệt độ 2 kênh sẽ hiển thị trên máy tính

Hình: Mô phỏng hệ thống

Trang 25

Hình: nhiệt độ hiển thị trên máy tính

 Khi nhiệt độ nằm ngoài khoảng cho phép:

Trang 26

Hình: nhiệt độ nhỏ hơn 30 độC

Hình: nhiệt độ lớn hơn 50 độ

Trang 27

Hình: hiển thị lên máy tính

Trang 28

 Dễ sử dụng, tiện lợi.

2 Nhược điểm

 Còn có sai số về giá trị đo được do sai số linh kiện và những sai số trong khi tính toán thiêt kế mạch nhưng chấp nhận được

 Mạch chưa có chức năng bảo vệ ngắn mạch

 Độ tin cậy của mạch chưa được cao do hạn chế về kinh nghiệm cũng như giới hạn về trình độ chuyên môn còn yếu

Ngày đăng: 20/07/2021, 22:01

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w