Tải bản đầy đủ (.docx) (24 trang)

ĐỌC TÍN HIỆU TỪ CẢM BIẾN NHIỆT ĐỘ ĐỂ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ HỆ THỐNG NHÚNG( LẤY CODE PIC+ MÔ PHỎNG PROTEUS + VIDEO THUYẾT MINH LIÊN HỆ ZALO 0327697318)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (542.43 KB, 24 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
KHOA ĐIỆN TỬ

BÁO CÁO TIỂU LUẬN
Mơn học: HỆ THỐNG NHÚNG

Đề tài: ĐỌC TÍN HIỆU TỪ CẢM BIẾN NHIỆT
ĐỘ ĐỂ ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ
GVHD:

Tăng Cẩm Nhung

SVTH:

Nguyễn Trung Kiên

MSSV: K175520114205

Phạm Ngọc Thành

MSSV: K155520114121

Lường Quang Oanh

MSSV: K175520114037

Lớp:

53CĐT01

Thái Nguyên, ngày tháng năm 2021



1


LỜI MỞ ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của
chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn. Sự phát triển của
kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự
chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt
động của con người đạt hiệu quả.
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Nó đã đáp ứng được những
nhu cầu cần thiết trong hoạt động đời sống hằng ngày cũng như trong công nghiệp.
Một trong những thiết bị sử dụng quen thuộc với cúng ta là động cơ điện. Vậy làm
sao để điều khiển được nó, có rất nhiều cách tuy nhiên chúng em đã quyết định sử
dụng cảm biến nhiệt độ để điều khiển nó vì những ứng dụng thiết thực.
Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy giáo Tăng Thị
Cẩm Nhung cùng sự trợ giúp của các bạn trong nhóm và các tài liệu có liên quan,
chúng em đã hồn thành xong đề tài.
Tiểu luận đã hồn thành xong, nhưng khơng thể tránh nhiều thiếu sót mong
thầy cơ giáo thơng cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi trong thực
tế. Chúng em xin chân thành cảm ơn các thầy cô!
Thái nguyên, ngày…tháng…năm 2011
Sinh viên thực hiện
Nguyễn Trung Kiên
Lường Quang Oanh
Phạm Ngọc Thành

2



Lời Cảm Ơn
Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Kỹ thuật Công
Nghiệp đã đưa mơn Hệ thống Nhúng vào trương trình giảng dạy. Đặc biệt, chúng em
xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn - Cô Tăng T. Cẩm Nhung Nhung
đã dạy dỗ, truyền đạt những kiến thức quý báu cho em trong suốt thời gian học tập
vừa qua. Trong thời gian tham gia lớp học của cô, em đã có thêm cho mình nhiều
kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đây chắc chắn sẽ là những
kiến thức quý báu, là hành trang để em có thể vững bước sau này.
Bộ mơn Hệ thống Nhúng là mơn học thú vị, vơ cùng bổ ích và có tính thực tế
cao. Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên.
Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều
bỡ ngỡ. Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận khó có
thể tránh khỏi những thiếu sót và nhiều chỗ cịn chưa chính xác, kính mong cơ xem
xét và góp ý để bài tiểu luận của em được hoàn thiện hơn.
Chúng Em xin chân thành cảm ơn!”

3


Mục lục

4


MỤC LỤC HÌNH

5


CHƯƠNG 1: GIỚI THIỆU VỀ CẢM BIẾN NHIỆT ĐỘ VÀ

DÙNG CẢM BIẾN NHIỆT ĐỘ ĐỂ ĐIỀU KHIỂN TỐC ĐỘ
ĐỘNG CƠ
1.1 Giới thiệu
Cảm biến nhiệt độ là cảm biến được sử dụng để đo nhiệt độ, khi nhiệt độ thay
đổi thì các cảm biến sẽ đưa ra một dạng tín hiệu mà từ tín hiệu này các bộ đọc sẽ đọc
được và quy ra nhiệt độ.
Cảm biến nhiệt độ được sử dụng với nhiều chứng năng và nhiều ứng dụng khác
nhau như: dùng đo nhiệt độ trong bồn đun nước, đun dầu, đo nhiệt độ lò nung, lò sấy,
máy điều hòa, bình nóng lạnh, nhiệt kế, …
Các loại cảm biến nhiệt độ thường gặp:


Điện trở oxit kim loại
-



Loại này được làm từ hỗn hợp các oxit kim loại như mangan, niken, cobalt
Hoạt động dựa trên sự thay đổi điện trở khi nhiệt độ thay đổi.
Ưu điểm của loại này là bền, rẻ, dễ ché tạo nhưng dãy tuyến tính khá hẹp.
Có dải đo là 50 độ C.
Loại này được dùng để bảo vệ, éo vào cuộn dây động cơ, mạch điện tử.
Có hai loại chính là: hệ số nhiệt dương PTC có điện trở tăng theo nhiệt độ
và loại hệ số nhiệt âm NTC có điện trở giảm theo nhiệt độ. Thường dùng
nhất là loại NTC.

Cảm biến nhiệt bán dẫn
-

Cảm biến nhiệt bán dẫn được làm từ các loại chất bán dẫn.

Hoạt động dựa trên sự phân cực của các chất bán dẫn bị ảnh hưởng bởi
nhiệt độ.
Loại này khá rẻ tiền, dễ chế tạo, có độ nhạy cao, chống nhiễu tốt, mạch xử
lí đơn giản nhưng lại khơng chịu được nhiệt độ cao và cũng kém bền.
Dải đo: -50 ~ 150 độ C.
Loại này được ứng dụng để đo nhiệt độ khơng khí, dùng trong các thiết bị
đo và bảo vệ mạch điện tử.
Phân loại: kiểu diod, các kiểu IC LM35, LM335, LM45

6




Nhiệt kế bức xạ

Nhiệt kế bức xạ còn được gọi là hoả kế, được cấu tạo từ mạch điện tử,
quang học.
Hoạt động dựa trên việc đo tính chất bức xạ năng lượng của mơi trường
mang nhiệt.
Hoả kế có thể dùng trong môi trường khắc nghiệt, không cần tiếp xúc với
môi trường đo nhưng lại có độ chính xác khơng cao và cũng kém bền.
Có dải đo vào khoảng -97 ~ 1800 độ C.
Được ứng dụng để làm thiết bị đo cho lò nung.
Hoả kế gồm các loại: Hỏa kế bức xạ, hỏa kế cường độ sáng và hỏa kế màu
sắc.
 Để phục vụ mục đính nghiên cứu tong bài tiểu luận này em dùng cảm biến nhiệt độ
-

LM35 do giới hạn của cảm biến phù hợp với môi trường đo nhiệt độ là ngồi trời,

cũng như chi phí rẻ, nhỏ gọn dễ lắp ráp

1.2 Giới hạn


Thơng số kỹ thuật:

Điện áp hoạt động: 4~20VDC
Công suất tiêu thụ: khoảng 60uA
Khoảng đo: -55°C đến 150°C
Điện áp tuyến tính theo nhiệt độ: 10mV/°C
Sai số: 0.25°C
Kiểu chân: TO92
Kích thước: 4.3 × 4.3mm
Do điều kiện kinh tế tôi chỉ thiết kế cảm biến nhiệt độ LM35 sử dụng 4 nút
nhấn để xét ngưỡng nhiệt độ cho động cơ chạy và hiển thị bảng điều khiển lên
LCD, sử nguồn sạc từ lưới 220V, khi mất điện thì hệ thống không hoạt động.

7


CHƯƠNG II: THIẾT KẾ
2.1 Giới thiệu
Để điều khiện động cơ quay hay ngừng quay thì cũng giống như cơng tắc điện,
bật thì quay và tắt thì ngừng. Quan trọng là bật khi nào và tắt khi nào và phải được
thực hiện một cách tự động. Giống như khi nhiệt độ trong phịng ở mức 26°C thì quạt
tự bật và khi nhiệt độ trong phịng xuống thấp hơn 22°C thì quạt tự động tắt. Để làm
được điều này thì chúng ta phải có một thiết bị đo nhiệt độ, và khi nhiệt độ hiện tại
lớn hơn hay nhỏ hơn mức điện áp ngưỡng đã cài đặt thì động cơ (quạt) sẽ được điều
khiển theo chế độ đã định sẵn. Chương này chúng ta sẽ tìm hiểu sâu hơn về nguyên lý

điều khiển cung như các chế độ khác nhau dùng để điều khiện động cơ.

2.2 Thiết kế sơ đồ khối

Hình 2.1 Sơ đồ khối mạch tự động điều chỉnh tốc độ động cơ theo nhệt độ.

8


 Chức năng từng khối:
-

Khối nguồn: có chức năng cấp nguồn cho toàn bộ mạch để hoạt động.
Khối xử lý: xử lý tín hiệu thu từ các tín hiệu đầu vào như cảm biến và nút bấm.
Khối hiển thị: có chức hiển thị các thông số cài đặt cũng như nhiệt độ thực ngoài trời
và tốc độ quay của động cơ.
Khối cài đặt số đếm bằng button: có chức năng cài đặt ngưỡng cho tốc độ động cơ
theo nhiệt độ đặt.
Khối điều khiển động cơ: nhận tín hiệu từ khối xử lý thực hiện quay động cơ cũng
như giới điều chỉnh tốc độ quay của động cơ.
Khối thu và chuyển tín hiệu nhiệt thành điện: đo nhiệt độ từ mơi trường bên ngồi và
chuyển đổi tín hiệu nhiệt thành tín hiệu điện tỉ lệ với tín hiệu nhiệt và chuyển tín hiệu
điện cho khối xử lý.

2.3 Thiết kế sơ đồ nguyên lý
2.3.1 Khối hiển thị (LCD 16x4)
LCD hình 16X4 sử dụng driver HD44780, có khả năng hiển thị 4 dịng với mỗi
dịng 16 ký tự, màn hình có độ cao, rất phổ biến, nhiều mã mẫu và dễ dàng sử dụng
thích hợp cho những người mới học và làm việc dự án.
Điện áp hoạt động 5V

Kích thước: 86.96 x 60 x 13 mm
Hình 2.2 LCD 16X4 thực tế

2.3.2 Khối thu và chuyển tín hiệu nhiệt thành điện
LM 35 là cảm biến nhiệt độ. LM35 có 3 chân (2 chân cấp nguồn và 1 chân xuất
điện áp ra tùy theo nhiệt độ). Nhiệt độ tăng 1C thì điện áp xuất ra ở chân out của
LM35 tăng 10mV. Để đo lường nhiệt độ thì có thể dùng nhiều loại cảm biến nhiệt
9


khác, mỗi loại có một ưu điểm riêng phù hợp với từng nhu cầu riêng. Ở đây đề tài là
đo nhiệt độ mơi trường bình thường nên sử dụng LM35 là tối ưu nhất vì: đây là loại
cảm biến có độ chính xác cao, tầm hoạt động tuyến tính từ 0-128 độ C, tiêu tán cơng
suất thấp...
Hình 2.3 Cảm biến nhiệt độ LM35 thực tế và trên mạch proteus

-

Chân 1: Đấu với nguồn. Nguồn cung cấp có thể từ 4V đến 20V tùy từng loại IC

-

LM35 sử dụng.
Chân 2: Chân Vout cho giá trị ra thay đổi theo nhiệt độ môi trường. Ứng với mỗi giá
trị nhiệt độ đầu vào ta có mức điện áp ra tương ứng. Với mỗi chênh lệch 1oC thì điện

-

áp đầu ra sẽ chênh lệch 10mV.
Chân 3: Chân nối đất.


2.3.3 Khối xử lý
 Pic 16f877a

PIC16F877A là một Vi điều khiển PIC 40 chân và được sử dụng hầu hết trong
các dự án và ứng dụng nhúng. Nó có năm cổng bắt đầu từ cổng A đến cổng E. Nó có
ba bộ định thời trong đó có 2 bộ định thời 8-bit và 1 bộ định thời là 16 bit. Nó hỗ trợ
10


nhiều giao thức giao tiếp như giao thức nối tiếp, giao thức song song, giao thức I2C.
PIC16F877A hỗ trợ cả ngắt chân phần cứng và ngắt bộ định thời.


Sơ đồ chân PIC16F877A

Hình dưới đây là Sơ đồ chân PIC16F877A. Ngồi ra cịn có bảng thơng tin chi tiết đi
kèm số thứ tự của chân, tên tương ứng và mô tả sơ lược về chân.

Hình 2.4 Sơ đồ các chân Pic 16f877a


Mạch cơ bản PIC16F877A

Mỗi vi điều khiển PIC có một mạch cơ bản và nếu bạn không thiết kế mạch cơ bản
thì nó sẽ khơng hoạt động. Nó giống như cấp nguồn cho vi điều khiển PIC và nó hoạt
động ở mức + 5V. Để cung cấp tần số cho vi điều khiển PIC, chúng ta sử dụng bộ dao
động tinh thể và đối với PIC 16F877a, bạn có thể sử dụng bộ dao động tinh thể dải
tần từ 4MHz đến 40MHz.
Đây là Mạch cơ bản PIC16F877a mà bạn cần thiết kế:


11


Hình 2.5 Mạch cơ bản PIC16F877A
• Giải thích mạch trên
- Chân số 1: Chân này được gọi là MCLR (Master Clear) và chúng ta cần cấp
-

5V cho chân này thông qua điện trở 10k-ohm.
Chân số 11 và chân số 32: Các chân này được ký hiệu là Vdd nên chúng ta
cũng cần cấp cho nó + 5V và bạn có thể thấy các đường này có màu đỏ trong

-

hình trên.
Chân số 12 và chân số 31: Các chân này là Vss, vì vậy chúng ta cấp GND (nối

-

đất) tại chân này và các đường của nó có màu đen.
Chân số 13 và 14: Các chân này được đặt tên là OSC1 (Bộ tạo dao động 1) và
OSC2 (Bộ tạo dao động 2), bây giờ chúng ta phải gắn bộ tạo dao động tinh thể
(16MHz) tại các chân này trên đường màu cam. Sau bộ dao động tinh thể,
chúng ta có tụ điện 33pF và sau đó được nối đất.

12


 Mạch điều khiển động cơ DC L298


Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC, dòng
tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp nguồn
5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC).
Mạch L298 gồm các chân:
- 12V power, 5V power. Đây là 2 chân cấp nguồn trực tiếp đến động cơ.
- Cấp nguồn 9-12V ở 12V.
- Bên cạnh đó có jumper 5V, nếu để như hình ở trên thì sẽ có nguồn 5V ra ở cổng
5V power, ngược lại thì khơng. Để như hình thì ta chỉ cần cấp nguồn 12V vơ ở
12V power là có 5V ở 5V power, từ đó cấp cho Arduino.
- Power GND chân này là GND của nguồn cấp cho Động cơ.

Hình 2.6 Mạch điều khiển động cơ DC L298

2.3.4 Khối nguồn
Hệ thống của chúng em gồm có 3 thiết bị dùng nguồn 5V đó là LCD,
Pic16f877a, cảm biến LM35, bên cạch đó thì có 2 thiết bị dùng ngồn 12V đó là cầu H
L298 và động cơ DC. Do đó bọn em sẽ sử dụng ngồn tôt ong 12V 2A để cấp nguồn

13


cho các phần tử trong mạch, những thiết bị dùng ngồn 5V thì chúng em sẽ giảm điện
áp xuống nhờ điện trở.

Hình 2.7 Nguồn tổ ong 12v thực tế





Thơng số kỹ thuật:
Tên sản phẩm: Nguồn tổng camera 12V 2A
Điện áp đầu vào: (AC) 110V-220V 50-60HZ
Điện áp đầu ra: DC 12V, dịng đầu ra: 2A
Cơng suất: 24W
Kích thước: 86*60*34mm
Chức năng của tổ ong nguồn:
- Tổ ong nguồn được tạo ra để chuyển điện áp từ nguồn xoay chiều thành nguồn
điện một chiều, giúp các thiết bị hoạt động.
- Tổ ong nguồn được sử dụng rộng rãi trong mọi hoạt động sinh hoạt và sản xuất.
This source luôn mang lại tối đa hiệu suất cho các công nghệ LED hiện đại.
- Tổ ong nguồn được sử dụng rộng rãi trong các công ty thiết bị và dân dụng như
lắp tủ điện, lắp đèn, camera giám sát, máy tính, ổ đài ... hoặc bất kỳ thiết bị nào
sử dụng nguồn một chiều. Tổ ong nguồn thường được sử dụng trong các mạch
ổn định, cung cấp dòng áp đủ để tranh trường hợp dòng ảnh hưởng tới mạch, áp,
quan trọng.
- Nguồn tổ ong làm tăng tuổi thọ của các thiết bị điện lâu hơn.

2.3.5 Khối Động Cơ
Động cơ một chiều DC (DC là từ viết tắt của "Direct Current Motors") là Động
cơ điều khiển bằng dịng có hướng xác định hay nói dễ hiểu hơn thì đây là loại động
cơ chạy bằng nguồn điện áp DC- điện áp 1 chiều (Khác với điện áp AC xoay chiều).
Điều chỉnh tốc độ động cơ điện một chiều
-Thay đổi điện áp phần ứng.
14


-Thay đổi điện trở mạch rotor.
-Thay đổi từ thông.


2.3.6 Sơ đồ ngun lý cho tồn mạch

Hình 2.8 Sơ đồ ngun lý tồn mạch hệ thống
• Ngun lý sơ đồ: điều khiện động cơ quay hay ngừng quay thì cũng giống như cơng
tắc điện, bật thì quay và tắt thì ngừng. Ở bài trên chúng em thiết kế có 4 chế độ mode
thể hiện qua 4 nút bấm:
- Phím 1: Chỉnh tăng ngưỡng nhiệt độ (vd: tăng nhiệt độ từ 0 tới 20°C để xét
ngưỡng cài đặt)
- Phím 2: Chỉnh giảm ngưỡng nhiệt độ (vd: giảm nhiệt độ từ 20 tới 10°C để xét
ngưỡng cài đặt)
- Phím 3: Chế độ bật ngưỡng dưới (vd: từ 5°C đến 10°C động cơ quay với tốc
độ trung bình, dưới mức từ 5°C động cơ quay chậm …)
- Phím 4: chế độ bật ngưỡng trên (vd: từ 5°C đến 10°C động cơ quay với tốc độ
trung bình, trên mức từ 10°C động cơ quay nhanh…)

15


2.4 Lưu đồ và chương trình
2.4.1. Lưu đồ

Hình 2.9 Lưu đồ điều khiển

2.4.2. Giới thiệu yêu cầu điều khiển
-

Xác định nhiệt độ bằng cảm biến LM35
Ngưỡng nhiệt độ (T1, T2) dc nhập vào từ nút nhấn (hoặc
KeyPad)
Động cơ hoạt động ở 03 mức (Chậm, TB, Nhanh)

Các thông số cài đặt và hiển thị lên LCD

16


2.4.3. Chương trình điều khiển
#include <16f877a.h>
#device ADC=10
#use delay(clock=20M)
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_ENABLE_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include<lcd.c>
int8 i=0;
float nd;
int8 x,a,b;
void adc_init(){
setup_ADC(ADC_CLOCK_DIV_2 );
SETUP_ADC_PORTS(AN0);
SET_ADC_CHANNEL(0);
delay_us(10);
}
void dkien(){
if(xset_pwm1_duty(20);
lcd_gotoxy(18,2);

lcd_putc("Dco quay cham ");
}
if(x>=a && x<=b){
set_pwm1_duty(100);
lcd_gotoxy(18,2);
lcd_putc("Dco quay vua ");
}
if(x>b){
set_pwm1_duty(200);
lcd_gotoxy(18,2);
lcd_putc("Dco quay nhanh");
}
}

17


void main()
{
set_tris_B(0x00);
set_tris_C(0x00);
set_tris_D(0xFF);
adc_init();
lcd_init();
setup_timer_2(T2_DIV_BY_1,249,1);
setup_ccp1(CCP_PWM);
while(TRUE)
{
nd=0;
nd=nd+read_adc();

nd=nd/2;
x= (int16)nd;
lcd_gotoxy(1,2);
printf(lcd_putc,"Ndo chinh: %2i oC",i);
lcd_gotoxy(1,1);
printf(lcd_putc,"Ndo thuc: %2i oC",x);
lcd_gotoxy(22,1);
lcd_putc(" - T - ");
dkien();
if(!input(pin_D0)){
while(!input(pin_D0));
i++;
if(i==99){
i=0;
}
}
else if(!input(pin_D1)){
while(!input(pin_D1));
i--;
if(i==0){
i=99;
}
}
else if(!input(pin_D2)){
18


while(!input(pin_D2));
a=i;
lcd_gotoxy(19,1);

printf(lcd_putc,"%2i",a);
dkien();
}
else if(!input(pin_D3)){
while(!input(pin_D3));
b=i;
lcd_gotoxy(29,1);
printf(lcd_putc,"%2i",b);
dkien();
}
}
}

2.4.4. Giải thích code
Cài đặt cấu hình và định nghĩa chân cho pic16f877a và lcd:
#include <16f877a.h>
#device ADC=10
#use delay(clock=20M)
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_ENABLE_PIN PIN_B2
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include<lcd.c>
• Định nghĩa các biến và thiết lập tín hiệu tương tự để chân A0 nhận tín hiệu từ


cảm biến:

int8 i=0;
float nd;
int8 x,a,b;
void adc_init(){
setup_ADC(ADC_CLOCK_DIV_2 );
SETUP_ADC_PORTS(AN0);
SET_ADC_CHANNEL(0);
delay_us(10);
}
• Cài đặt điều kiện cho động cơ chạy. Ở đây x là tín hiệu nhiệt độ từ cảm biến; a,
b lần lượt là ngưỡng dưới và ngưỡng trên của nhiệt độ ta đang xét. Nếu x nhỏ
19


hơn a thì tiến hành cho động cơ chạy 8% tốc độ max và in ra lcd “Dco quay
cham”. Nếu x lớn hơn bằng a và nhỏ hơn bằng b thì tiến hành cho động cơ
chạy 40% tốc độ max và in ra lcd “Dco quay nhanh”. Nếu x lớn hơn b thì tiến
hành cho động cơ chạy 80% tốc độ max và in ra lcd “Dco quay nhanh”:
void dkien(){
if(xset_pwm1_duty(20);
lcd_gotoxy(18,2);
lcd_putc("Dco quay cham ");
}
if(x>=a && x<=b){
set_pwm1_duty(100);
lcd_gotoxy(18,2);
lcd_putc("Dco quay vua ");
}
if(x>b){

set_pwm1_duty(200);
lcd_gotoxy(18,2);
lcd_putc("Dco quay nhanh");
}
}
• Xét cổng B và C ở mức logic thấp, cổng D ở mức logic cao. Chạy hàm khởi
tạo lcd và hàm con cài đặt thu tín hiệu tương tự. Sau đó cài đặt chân băm xung
pwm là chân ccp1, dùng timer 2 để delay chu kỳ phát xung mức cao ở chế độ
1 và và giá trị chu kỳ băm xung max là 249:
set_tris_B(0x00);
set_tris_C(0x00);
set_tris_D(0xFF);
adc_init();
lcd_init();
setup_timer_2(T2_DIV_BY_1,249,1);
setup_ccp1(CCP_PWM);
• Cài đặt độ phân giả tín hiệu tương tự khi thu từ cảm biến về pic để xử lý, tín
hiệu được pic xử lý xong sẽ đưa về biến x để ta dễ dàng so sánh với các giá trị
ngưỡng. Tiến hành in các giá tị như nhiệt độ chỉnh bằng nút bấm (biến i)và
biến nhiệt độ thực đo từ cảm biến (biến x) lên lcd và chạy hàm điều kiện.
nd=0;
20


nd=nd+read_adc();
nd=nd/2;
x= (int16)nd;
lcd_gotoxy(1,2);
printf(lcd_putc,"Ndo chinh: %2i oC",i);
lcd_gotoxy(1,1);

printf(lcd_putc,"Ndo thuc: %2i oC",x);
lcd_gotoxy(22,1);
lcd_putc(" - T - ");
dkien();
• Khi ta nhấn nút tăng nhiệt độ khi này được nối với chân D0 thì tăng lên 1 giá
trị bắt đầu từ 0, tương tự khi ta nhấn nút giảm nhiệt độ khi này được nối với
chân D1 thì giảm đi 1 giá trị.
if(!input(pin_D0)){
while(!input(pin_D0));
i++;
if(i==99){
i=0;
}
}
else if(!input(pin_D1)){
while(!input(pin_D1));
i--;
if(i==0){
i=99;
}
• Cịn khi ta nhấn nút ngưỡng dưới được nối với chân D2 thì giá trị của I sẽ
được lưu vào biến a và in ta lcd giá trị ngưỡng dưới (giá trị từ a). Còn khi ta
nhấn nút ngưỡng trên được nối với chân D3 thì giá trị của I sẽ được lưu vào
biến b và in ta lcd giá trị ngưỡng trên (giá trị từ b)
else if(!input(pin_D2)){
while(!input(pin_D2));
a=i;
21



lcd_gotoxy(19,1);
printf(lcd_putc,"%2i",a);
dkien();
}
else if(!input(pin_D3)){
while(!input(pin_D3));
b=i;
lcd_gotoxy(29,1);
printf(lcd_putc,"%2i",b);
dkien();
}

22


CHƯƠNG 3: KẾT QUẢ THỰC HIỆN VÀ KẾT LUẬN
3.1. Kết quả
Sau khi thiết kế mạch và lập trình cho hệ thống. Chúng em thấy rằng mạch chạy
hồn chỉnh trên mơ phỏng. Chúng em sử dụng phần mềm mô phỏng Proteus và phần
mềm lập trình là PIC C Complier.

3.2. Đánh giá và kết luận
Trên cơ sở lí thuyết đã học, chúng em đã thiết kế hệ thống với độ tin cậy có thể
chấp nhận được với quy mơ đơn giản hơn. Để ứng dụng vào thực tế, hệ thống này
còn cần được chỉnh sửa để tăng tính ổn định và kết nối với bộ phận cơ khí.
Mặc dù được sự chỉ bảo tận tình của cơ giáo hướng dẫn nhưng do kiến thức còn
nhiều hạn chế cộng với thời gian ngắn ngủi nên đồ án của chúng còn nhiều điểm chưa
phù hợp với thực tế. Qua tiểu luận này chúng em đã rút ra được nhiều kinh nghiệm
cho bản thân. Đây là một đề tài rất có ứng dụng trong thực tế nên chúng em sẽ cố
gắng để hoàn thiện đề tài, và phù hợp với nhu cầu của thực tế.


23


TÀI LIỆU THAM KHẢO
[1] BM Kỹ thuật Máy tính, Bài giảng Hệ thống nhúng 2010, ĐH Kỹ thuật Công
nghiệp Thái nguyên.
[2] Ngô Xuân Trường, Tài liệu sử dụng CCS tiếng Việt

24



×