Tải bản đầy đủ (.pdf) (22 trang)

(Tiểu luận) báo cáo đồ án cdio 2 thiết kế mạch cảm biến nhiệt độxuất ra lcd j

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 (3.06 MB, 22 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA ĐIỆN – ĐIỆN TỬ
------------

BÁO CÁO ĐỒ ÁN CDIO 2

THIẾT KẾ MẠCH CẢM BIẾN NHIỆT ĐỘ
XUẤT RA LCD

Giảng viên hướng
dẫn
Sinh viên thực hiện

: Võ Tuấn
: Phạm Anh Tài
Nguyễn Xuân Hậu

Đà Nẵng, tháng 10 năm 2022
à ẵ



10 ă 2022

K26 EDK
K26 EDK


LỜI NĨI ĐẦU
Ngày nay, hiện đại hóa và cơng nghiệp hóa đang bùng nổ rất mạnh


mẽ. Trong lĩnh vực điện tử đang ngày một phát triển với một tốc độ chóng
mặt với những tiến bộ vượt bậc qua từng năm. Các sản phẩm điện tử hiện
đại đang có rất nhiều ưu thế mạnh như độ hiện đại, tin cậy khi sử dụng giá
thành rẻ,...và chúng xuất hiện ngày một nhiều từ trong các cơng trình, nhà
máy đến cả dân dụng.
Trong lĩnh vực điều khiển công nghệ chế tạo vi mạch lập trình phát
triển đã đem đến các kỹ thuật điều khiển hiện đại có nhiều ưu điểm hơn so
với việc sử dụng các mạch lắp ráp. Các loại máy tự động như đèn cảnh
báo tự động, thiết bị báo cháy tự động,..cũng đang được ứng dụng rộng rãi
khắp xung quanh ta. Em xin chọn đề tài mạch cảm biến nhiệt độ xuất ra
LCD sử dụng vi điều khiến MSP430G2553 để thực hiện đề tài đồ án
CDIO của nhóm chúng em
Báo cáo gồm 3 chương:
Chương 1: GIỚI THIỆU
+ Lý do để chọn đề tài
+ Mô tả đề tài
+ Yêu cầu chức năng
+ Yêu cầu kiến thức
+ Hạn chế trong đề tài
+ Phân chia công việc
Chương 2: LÝ THUYẾT VỀ PHẦN CỨNG
+ Giới thiệu hệ thóng nhúng
+ Vi điều khiển MSP430G2553
+ Các thiết bị ngoại vi khác trog mạch
Chương 3: THIẾT KẾ HỆ THỐNG
+ Sơ đồ khối
+ Sơ đồ nguyên lí, sơ đồ thuật toán
Chương 4: PHẦN MỀM
+ Sử dụng nhưng phần hỗ trợ làm mạch và viết báo cáo
Chương 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN

+ Thuận lợi
+ Khó khăn
+ Hướng phát triển
1


Do kiến thức còn nhiều hạn chế nên dễ xảy ra sai sót, mong thầy góp ý và
bổ sung để nhóm em hồn thiện hơn kiến thức. Chúng em xin chân thành
cảm ơn thầy!

2


CHƯƠNG I: GIỚI THIỆU

1.1. Lý do chọn đề tài :
Các thiết bị điện tử xuất hiện rất nhiều từ các cơng trình, nhà máy, xí
nghiệp, khu nghỉ dưỡng đến cả dân dụng trong nhà. Mỗi thiết bị đều có
một mức công suất hoạt động nhất định và khi hoạt động q tải thì cần
một thiết bị tích hợp để ngắt dịng giúp bảo vệ động cơ chống q tải.

1.2. Mơ tả đề tài :
 Hệ thống sẽ tích hợp vào hệ thống và khi phát hiện tình trạng quá nhiệt sẽ tự
động ngắt dòng điện.
 Dùng LCD để hiển thị mức nhiệt độ đang trong động cơ.

1.3. Yêu cầu chức năng :
 Mạch sẽ tự động nhận một giá trị nhiệt độ cố định và lưu ở đó làm cột mốc
 Khi nhiệt độ của hệ thống tăng cao sẽ làm cho mạch tự động ngắt dịng điện
 Màn hình led LCD sẽ luôn luôn cập nhật và hiển thị số nhiệt độ hiện tại theo

thời gian thực của hệ thống

1.4. Yêu cầu kiến thức :
 Em xin thực hiện đề tài trên cùng với những kiến thức đã có sẵn trên vi điều
khiển MSP430
 Kết quả cần đạt được: Xây dựng được một mơ hình về mạch cảm biến nhiệt
độ cho phép người dùng kiểm soát được nhiệt độ động cơ chốg quá tải.
 Để thực hiện được những kết quả trên, cần phải tìm hiểu các nội dung sau:
 Lý thuyết về vi điều khiển MSP430G2553
 Tìm hiểu về nguyên lý hoạt động màn hình led LCD 16x2.
 Tìm hiểu về ngơn ngữ lập trình vi điều khiển

1.5. Hạn chế trong đề tài :
 Đề tài về vi điều khiển MSP430G2553 cần có kit msp430 launchpad để nạp
code nhưng do các đại lí ở Đà Nẵng và trên mạng đã hết hàng nên không thể
đặt mua được.
 Cảm biến có chất lượng chỉ ở mức tạm nên sai số cịn nhiều.

1.6. Phân chia cơng việc :
3


Phạm Anh Tài: Soạn thảo code, vẽ sơ đồ nguyên lí



 Nguyễn Xuân Hậu : Thiết kế mạch nguyên lý, sơ đồ khối, viết báo cáo

CHƯƠNG II: LÝ THUYẾT VỀ PHẦN CỨNG
2.1 Hệ thống nhúng là gì?

 Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên
biệt nào đó. Một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng
nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết
bị máy móc và phần cứng chuyên dụng mà ta khơng tìm thấy trong một
máy tính đa năng nói
 Các hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định chứ
khơng có chức năng xử lý như trong máy tính. Các hệ thống nhúng này bắt
buộc phải có phần cứng được thiết kế riêng đi kèm mới hoạt động đúng với
chức năng. Các hệ thống nhúng thường được thiết kế tối ưu cả về kích thước
và giá thành; hơn nữa các hệ thống nhúng thường được sản xuất với số
lượng khá lớn.
 Phần mềm của hệ thống được lưu trữ trong các chip bộ nhớ ROM hoặc bộ
nhớ flash. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế. Các
hệ thống nhúng sau khi được sử dụng sẽ hoạt động độc lập, không cần sự
điều khiển của con người. Hệ thống hoạt động ổn định trong thời gian rất lâu
và hầu như không xảy ra bất cứ lỗi, sự cố nào.
 Các hệ thống nhúng thường gặp trong thực tế như: các mạch điều khiển
trong máy giặt, tivi, điện thoại….

2.2

Vi điều khiển MSP430G2553 :

4


 Thơng số kỹ thuật :
 Đặc tính Bộ điều khiển MSP430G2553:
 Kiến trúc CPU: Kiến trúc RISC 16-bit
 Tần suất hoạt động: Lên đến 16MHz

 Bộ nhớ flash: 16KBytes
 Bộ nhớ RAM: 512Bytes
 Các chân I/O có thể lập trình: 16
 ADC: 8 kênh độ phân giải 10 bit
 Bộ so sánh:
8 đầu vào
 Timer:

2 x 16 bit

 Giao điện cảm ứng điện dung: Có
 Cảm biến nhiệt độ bên trong: Có
 Timer watchdog: Có
Giải thích sơ lược các chân:
- Chân số 1 là chân cấp nguồn Vcc( ký hiệu trên chip là DVcc ), ở đây nguồn
cho chip chỉ được cấp ở mức 3,3V, nếu cấp nguồn cao q mức này thì chip
có thể hoạt động sai hay chảy chip .
- Chân 20 là chân nối cực âm (OV), chân này thì khơng có gì đặc biệt.
- Chân reset : Chính là chân số 16 RST, nếu các bạn đã từng học về PIC thì sẽ
thấy chân reset có ký hiệu là MCLR, các bạn để ý thấy dẫu gạch ngang trên
có nghĩa là chân này tích cực ở mức thấp . Mục đích của việc reset là nhằm
cho chương trình chạy lại từ đầu
- Cổng I / O:
- Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14, 15.
- Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13, 18,19.
- Trong chế độ nhập (input) thi cả 2 port đều có 1 mạch điều khiển điện trở
kéo dương — gọi là PULL UP nhưng giá trị của điện trở này rất lớn khoảng
5



Document continues below
Discover more
from:đức trong
Đạo
công việc
DTE 201
Trường Đại Học…
199 documents

Go to course

DTE 201 BG Thi PTU
70

2122- tài liệu tham…
Đạo đức
trong côn…

100% (9)

Sức khỏe môi trường
10

10

Đạo đức
trong côn…

100% (7)


ĐÁP ÁN ÔN TẬP
PHÁP LUẬT ĐẠI…
Đạo đức
trong cơn…

100% (6)

TIỂU LUẬN VĂN HĨA
28

TỔ CHỨC
Đạo đức
trong côn…

100% (4)

Tài nguyên du lịch 18

zzzzz


Đạo đức
trong côn…

100% (4)

BÁOkhiển
CÁO
THUỘC
47K nên gọi là WEAK PULL UP RESISTAN. Việc điều

PULL
UP sẽ
được tiến hành thơng qua lập trình tác động lên thanhNHÓM
ghi PxREN
đượcĐức…
đề
8 -sẽĐạo
cập ở chương sau .
7
- Điều này cũng giống như việc thiết lập input ở port BĐạo
của vi
điều khiển PIC,
đức
100% (2)
ở port B cũng có điện trở kéo lên, và người lập trình trong
phải thao
tác qua thanh
côn…
ghi OPTION_REG
2.3 Các linh kiện khác trong mạch
*Launchpad MSP430:

Launchpad MSP430 là một công cụ phát triển phần cứng cho dòng vi điều
khiển MSP430 Value Line và được những người u thích sử dụng phổ biến vì
có chi phí thấp và các tính năng. Đây là một cách tiếp cận dễ dàng để phát triển
trên MCU MSP430, với tính năng mơ phỏng bo mạch khi lập trình và gỡ lỗi
cùng với các nút nhấn và đèn LED.
Tên chân

Chân


Chức năng

6


Chân
GPIO

P1.0 đến P1.7 và P2.0
đến P2.5

Đây là các chân I/O của bộ vi điều khiển
được đưa ra bảng mạch để giao tiếp.

Nút nhấn

P1.3

Sử dụng kích tín hiệu chức năng trong quá
trình hoạt động.

Đèn LED
P1.0 & P1.6

RESET

Đã kết nối với chân

Sử dụng báo trạng thái trong quá trình hoạt

động.

Nếu được nhấn, vi điều khiển sẽ reset.

RESET của vi điều
khiển
Nguồn

Ba giắc cắm ở bên dưới

Kết nối nguồn điện sau khi lập trình.

Bộ dao

Mối hàn liền kề với vi

Để cấp nguồn xung nhịp chính xác.

động thạch

điều khiển

anh
Đầu nối

6 chân đầu nối

eZ430

Cung cấp cầu nối giữa bảng mạch mô

phỏng và bảng mạch Vi điều khiển. Có thể
ngắt kết nối để cách lý cả hai phần.

Cổng lập
trình

Đầu nối USB ở trên

Được kết nối với PC (Để lập trình và cấp
nguồn) bằng cổng này.

7


Tính năng và thơng số kỉ thuật:
 Có ổ cắm chân dễ dàng cắm hoặc tháo vi điều khiển
 Công nghệ kiểm hoát năng lượng để tiêu thụ điện năng cực thấp
 Có nút nhấn và hai đèn LED để tương tác với người dùng
 Có giao diện lập trình và gỡ lỗi USB lắp đặt không cần điều khiển
 Giao tiếp nối tiếp UART khả dụng tốc độ lên đến 9600 Baud
 Nút reset phần cứng có sẵn trên bo mạch
 Dải điện áp hoạt động: 5V
Đặc tính

Bộ điều khiển
MSP430G2553

Bộ điều khiển
MSP430G2452


Kiến trúc CPU

Kiến trúc RISC 16-bit

Kiến trúc RISC 16-bit

Tần suất hoạt động

Lên đến 16MHz

Lên đến 16MHz

Bộ nhớ flash

16KBytes

8KBytes

Bộ nhớ RAM

512Bytes

256Bytes

1x I2C
Giao thức

1x SPI

1x I2C

1x SPI

1x UART
Các chân I/O có thể lập trình
ADC
Bộ so sánh
Timer
Giao điện cảm ứng điện
dung
Cảm biến nhiệt độ bên trong
Timer watchdog

16
8 kênh độ phân giải 10 bit
8 đầu vào
2 x 16 bit

16
8 Kênh độ phân giải 10 bit
8 đầu vào
1 x 16 bit












8


*Cảm biến nhiệt độ LM35

 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.
Chức năng : LM35 là một cảm biến nhiệt độ được sử dụng rộng rãi. Nó hiển thị
các giá trị dưới dạng điện áp đầu ra thay vì độ C. LM35 hiển thị giá trị điện áp
cao hơn cặp nhiệt điện và có thể khơng cần khuếch đại điện áp đầu ra. Điện áp
đầu ra của LM35 tỷ lệ với nhiệt độ C. Hệ số thang đo là 0,01 V / ° C. Một đặc
điểm quan trọng nhất là nó chỉ lấy 60 micromps từ nguồn và có khả năng tự gia
nhiệt thấp. LM35 là IC cảm biến nhiệt độ có điện áp đầu ra thay đổi, dựa trên
nhiệt độ xung quanh nó. Nó là một vi mạch nhỏ và rẻ, có thể được sử dụng để
đo nhiệt độ ở bất kỳ đâu trong khoảng từ -55 ° C đến 150 ° C.

 Pin dự phòng Redmi 20000mah
9


 Thông số :
 - Redmi 20.000 18W ( Phiên bản 2022)

 Tích hợp 2 cổng sạc, kèm cáp Usb A to Micro Usb
 - Đầu vào (Micro-USB & Type-C): 5V/2.1A, 9V/2.1A, 12V/1.5A
( Yêu cầu dùng cóc sạc nhanh tối thiểu 5V-2.1A)
 - Đầu ra (USB-A x 2):

+ Ra 1 Cổng : 5.1V/2.4A, 9V/2A, 12V/1.5A Max. (18W)


+ Ra 2 Cổng : 5.1V/3.6A

 - Lõi Pin Li-ion polymer
 - Sạc nhanh 18W
 - Chế độ sạc nhỏ giọt
 - Tích hợp bảo vệ mạch thông minh
 - Dung lượng: 74Wh 3.7V 20000mAh
 - Công suất chuyển đổi: 12000mAh (5V/3.6A)
 - Thời gian sạc vào pin: Khoảng 6,7 giờ (bộ sạc 9V/2A) Khoảng 10
giờ (bộ sạc 5V/2A)
 Chức năng : cho phép sạc đến 10000 lần mà không giảm chất lượng.
pin dự phòng redmi 20000mah được trang bị cùng lúc cả hai cổng
giao tiếp micro-USB và USB Type-C, tạo điều kiện sạc pin thuận tiện
hơn. Ngoài ra, với hai đầu ra USB cho phép thiết bị có thể sạc đồng
thời hai thiết bị, cấp nguồn cho mạch hoạt động một cách dễ dàng.

10


 LCD 16x02

Hình 7 : LCD 16x02

 Thơng số kỹ thuật :
 Điện áp hoạt động : 3 – 7VDC
 Dịng điện cấp nguồn : 350uA – 600uA
 Kích thước : 80 x 36 x 12.5mm
 Nền màn hình : xanh lá hoặc xanh dương
 Khoảng cách các chân : 0.1in
 Đèn led nền : có
 Nhiệt độ hoạt động : -30 – 75℃
 Chức năng : được sử dụng rất nhiều trong các ứng dụng vi điều khiển.
Khả năng hiển thị kí tự đa dạng(kí tự đồ họa, chữ, số), đưa vào mạch
ứng dụng với nhiều giao thức giao tiếp khác nhau. Có khả năng hiển thị
2 dịng với mỗi dịng 16 kí tự.

11


CHƯƠNG III: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG
3.1. Sơ đồ khối

*Sơ đồ khối cấu tạo của mạch cảm biến nhiệt độ xuất ra LCD
*Nguyên lí hoạt động:
-Sử dụng vi điều khiển MSP430G2553 và cảm biến nhiệt độ LM35 để
giám sát nhiệt độ hoạt động của động cơ. Mạch hiển thị được nhiệt độ
đặt trước trên led. Khi nhiệt độ vượt quá nhiệt độ đặt trước thì mạch sẽ
cảnh báo tắt mở động cơ.

12


3.2. Sơ đồ nguyên lý


3.3. Sơ đồ thuật toán:

13


CHƯƠNG IV: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM
4.1. Phần mềm đã sử dụng

14


 Phần mềm IAR : lập trình cho MSP430G2553
 Micorsoft Powerpoint : vẽ sơ đồ khối
 Proteus 8 professional : vẽ sơ đồ nguyên lý, thiết kế mạch và mô phỏng
 Microsoft Word : thực hiện viết báo cáo
4.2. Code hồn chỉnh
 Chương trình chính cho đề tài
#include <msp430g2553.h>
#include <stdio.h>
#include <intrinsics.h>
//#include <LCD_16x2 .h>
#define DR P1OUT = P1OUT | BIT4 // define RS high
#define CWR
P1OUT = P1OUT &(~BIT4)// define RS low
#define READ
P1OUT = P1OUT | BIT5 // define Read signal R/W = 1 for
reading
#define WRITE
P1OUT = P1OUT &(~BIT5)// define Write signal R/W = 0

for writing
#define ENABLE_HIGH
P1OUT = P1OUT | BIT6 // define Enable high
signal
15


#define ENABLE_LOW
P1OUT = P1OUT &(~BIT6)// define Enable Low
signal
unsigned int i;
unsigned int j;
void delay(unsigned int k)
{
for(j=0;j<=k;j++)
{
for(i=0;i<100;i++); }
}
void data_write(void)
{
ENABLE_HIGH;
delay(2);
ENABLE_LOW;
}
void data_read(void)
{
ENABLE_LOW;
delay(2);
ENABLE_HIGH;
}

void check_busy(void) {
P2DIR &= ~(BIT3);
while((P2IN&BIT3)==1) {
data_read();
}
P2DIR |= BIT3;
}
void send_command(unsigned char cmd) {
check_busy();
WRITE;
CWR;
P2OUT = (P2OUT & 0xF0)|((cmd>>4) & 0x0F);
data_write();
// give enable trigger
P2OUT = (P2OUT & 0xF0)|(cmd & 0x0F);
// send lower nibble
data_write();
// give enable trigger
16


}
void send_data(unsigned char data)
{
check_busy();
WRITE;
DR;
P2OUT = (P2OUT & 0xF0)|((data>>4) & 0x0F); // send higher nibble
data_write();
// give enable trigger

P2OUT = (P2OUT & 0xF0)|(data & 0x0F);
// send lower nibble
data_write();
// give enable trigger
}
void send_string(char *s)
{
while(*s)
{
send_data(*s);
s++;
}
}
void send_integer(int a)
{
unsigned char tens = a/10;
send_data(0x30+tens);
unsigned char units = a%10;
send_data(0x30+units);
}
void lcd_init(void)
{
P2DIR |= 0xFF;
P1DIR |= BIT4|BIT5|BIT6;
P2OUT &= 0x00;
send_command(0x33);
send_command(0x32);
send_command(0x28); // 4 bit mode
send_command(0x0E); // clear the screen
17



send_command(0x01); // display on cursor on
send_command(0x06); // increment cursor
send_command(0x80); // row 1 column 1
}
void main()
{
WDTCTL = WDTPW|WDTHOLD; //Stop watchdog timer
DCOCTL = CALDCO_1MHZ;
BCSCTL1 = CALBC1_1MHZ;
lcd_init();// Initialize the LCD
ADC10CTL0 |= ADC10ON+ADC10SHT_2+SREF_1+REFON;//ADC setup
ADC10CTL1 |= INCH_0;//|ADC10SSEL_2|CONSEQ_1;
ADC10AE0 |= BIT0;
_BIS_SR(GIE);
while(1){
ADC10CTL0 |= ENC|ADC10SC;
__delay_cycles(30);
int temp = ((ADC10MEM*150)/1024)+9;
send_command(0x0C);
send_command(0x80);
send_string("Temperature:");
send_command(0XC0);
send_integer(temp);
send_data(0xDF);
send_string("C");
__delay_cycles(500000);
}
}

#pragma vector = ADC10_VECTOR
__interrupt void ADC10_ISR(void){
__bic_SR_register_on_exit(CPUOFF);
}

18


CHƯƠNG V: KẾT QUẢ THỰC HIỆN VÀ HƯỚNG PHÁT TRIỂN
5.1 Thuận lợi


Nhờ sự giúp đỡ của thầy Võ Tuấn, nhóm chúng em đã hoàn thành đề tài một
cách thuận lợi nhất




Một số thiết bị ngoại vi khá dễ dàng tìm mua ở ngoài
Cách làm được chia sẽ khá nhiều và đại trà trên internet.

5.2 Khó khăn
Vì kit nạp nạp MSP430 ở Đà Nẵng và trên mạng đã hết hàng nên không thể
mua được
 Kiến thức hạn chế nên chưa tối ưu được ngơn ngữ lập trình




Điều kiện kinh tế khơng cho phép sử dụng những linh kiện chất lượng thật sự

tốt để cho ra sai số nhỏ

5.3 Kết quả thực hiện
 Hệ thống chạy ổn định.
 Vi điều khiển nhận biết được chính xác lúc cần ngắt mạch
 Khơng có hiện tượng nhiễu.
5.4 Hướng phát triển
 Thay đổi mạch thủ công thành mạch công nghiệp
 Sử dụng launch phiên bản có sẵn trên thị trường nhìn sẽ thẩm mĩ hơn
 Thêm tính năng thơng báo q nhiệt đến điện thoại smart phone bằng sms
hoặc thông báo qua app smart phone.
 Gia cố lại sản phẩm để đủ tính thẩm mĩ, chắn chắn để đưa ra thị trường.

19


TÀI LIỆU THAM KHẢO
/>
/> /> /> />%B1%20ph%C3%B2ng%20xiaomi%2020000mah
/>%E1%BA%BFn,C%20%C4%91%E1%BA%BFn%20150%20%C2%B0%20C.

20



×