Với sự phát triển của công nghệ hiện nay việc sản xuất mạch đo nhiệt độ, độ ẩm đơn giản mà độ chính xác cao để áp dụng trong thực tế đóng vai trò ảnh hưởng đến cuộc sống con người, sản x
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA KHOA HỌC CƠ BẢN
BÁO CÁO TIỂU LUẬN CUỐI KÌ
MÔN HỌC: HỆ THỐNG NHÚNG-ĐIỆN TỬ
Lớp học phần: 420300343301 Nhóm: 6
GVHD: NGUYỄN MINH NGỌC
Thành phố Hồ Chí Minh, tháng 05 năm 2022
Trang 2BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
KHOA KHOA HỌC CƠ BẢN
Lớp học phần: 420300343301
Nhóm: 6
Thành phố Hồ Chí Minh, tháng 05 năm 2022
Trang 3MỤC LỤC
A.Tổng quan, đặt vấn đề 4
1.1 Đặt vấn đề 4
1.2 Mục tiêu đề tài, chủ đề 4
1.3 Mục tiêu chính 5
B.Thiết kế sơ đồ đặc tả 5
1 Tên đề tài 5
2 Các bước đặc tả sản phẩm 6
C Chủ đề 6
D Cơ sở lý thuyết 7
1 LPC2103 8
1.1 Thông số kỹ thuật 8
1.2 Sơ đồ chân của LPC2103 8
1.3: Chức năng của các chân liên quan 9
2 Linh kiện trong đề tài 10
2.1 Thông số kỹ thuật 11
2.2 Sơ đồ kết nối chân 12
3 Phần mềm sử dụng 13
3.1 Proteus 14
3.2 Keil C 14
E THIẾT KẾ CÁC ỨNG DỤNG………
1 ỨNG DỤNG_BÀI TẬP 1………
2 ỨNG DỤNG_BÀI TẬP 2………
F ĐÁNH GIÁ KẾT QUẢ………
Trang 4A TỔNG QUAN, ĐẶT VẤN ĐỀ
1.1 ĐẶT VẤN ĐỀ:
Cuộc sống ngày nay, công nghệ và đời sống luôn đi đôi với nhau, đóng vai trò trong nhiều yếu tố tác động đến quá trình sản xuất và con người Trong đó nhiệt độ, độ ẩm cũng không phải ngoại lệ, được đề cập rất nhiều nên mạch đo nhiệt độ, độ ẩm ra đời là một sự tất yếu Với sự phát triển của công nghệ hiện nay việc sản xuất mạch đo nhiệt độ, độ ẩm đơn giản mà độ chính xác cao để áp dụng trong thực tế đóng vai trò ảnh hưởng đến cuộc sống con người, sản xuất một cách thuận tiện Cho nên hầu hết được các nhà máy sản xuất, hàng hóa, bảo quản sử dụng nhiều Trong y tế được sử dụng rộng rãi trong các phòng điều trị cho bệnh nhân, cũng như được áp dụng hấu hết trong các giai đoạn dây chuyền sản xuất Đề tài thiết kế hệ thống nhúng dùng trong đo lường về môi trường (nhiệt độ, độ ẩm) có thể phát triển mang tính hiệu quả hơn và thực tế hơn trong cuộc sống hàng ngày
1.2 MỤC TIÊU ĐỀ TÀI, CHỦ ĐỀ:
Nhiệt độ, độ ẩm là tín hiệu vật lí mà ta thường xuyên gặp trong cuộc sống sinh hoạt hằng ngày cũng như trong kĩ thuật và công nghiệp Việc đo đạc nhằm xác định chính xác giá trị của nhiệt độ, độ ẩm theo các thang đo từ lâu đã là một vấn đề mà những nhà khoa học ở nhiều lĩnh vực quan tâm Do đó những phương pháp đo đạc ngày càng một nhiều hơn và chính xác hơn Hiện nay, việc sử dụng cảm biến nhiệt độ, độ ẩm trong khối ngành công nghiệp và cả dân dụng ngày càng phổ biến và mang lại hiệu quả cao
Ngày nay việc sử dụng các thiết bị điện tử phục vụ đời sống hằng ngày rất phổ biến Trong đó ta có thể kể đến các thiết bị cảm ứng và hiển thị các thông
số môi trường phục vụ nhiều mục đích khác nhau nhằm tạo sự tiện lợi trong
Trang 5sinh hoạt hằng ngày Bắt nguồn từ mục đích đó, nhóm chúng em đã thiết kế một mạch đo nhiệt độ, độ ẩm từ việc sử dụng LPC 2103 để thực hiện đề tài
1.3 PHƯƠNG PHÁP NGHIÊN CỨU:
Tìm tài liệu trên các diễn đàn tiếng anh
Search youtube các phần về external Interrupt để hỗ trợ cho việc mục lục tìm kiếm dễ dàng, proteus
Tìm tòi qua mạng facebook các trang web có liên quan đến bài học về Interrupt
B THIẾT KẾ HỒ SƠ ĐẶC TẢ:
1 TÊN ĐỀ TÀI:
THIẾT KẾ MỘT HỆ THỐNG NHÚNG DÙNG TRONG ĐO LƯỜNG VÀ PHÁT TÍN HIỆU CHUẨN ( VỀ MÔI TRƯỜNG )
2 CÁC BƯỚC ĐẶC TẢ SẢN PHẨM
ST
T
1 Product
Specification
Đo được các thông số từ môi trường ( nhiệt độ, độ ẩm )
Nhận thông số thông qua các thiết bị cảm biến
Cảnh báo khi các thông số vượt quá mức cho phép
Ứng dụng đa dạng như trong nhà thông minh, trồng trọt,…
2 Engineering
Specification
Input : Cảm biến nhiệt độ, độ ẩm
Output : Hiển thị nhiệt độ, độ ẩm
Interface user : Màn hình LCD, Oscilloscope
- Vi điều khiển LPC 2103 16bit/32bit ARM7TDMI-S, cảm biến nhiệt độ, độ ẩm DHT11, LCD
- Vi điều khiển đọc các giá trị cảm biến hiển thị sóng lên Oscilloscope và hiển thị số ra LCD
Trang 63 Hardware
Specification
4 Software
Specification
Giao tiếp bằng vi điều khiển LPC2103
Hệ thống tự động đo và xuất dữ liệu ra LCD và Oscilloscope
Đọc giao diện bàn phím
Đọc cảm biến nhiệt độ, độ ẩm,…
Specification
Cảm biến đo nhiệt độ, độ ẩm,…
Qua quá trình thử nghiệm:
+ Đo được thông số nhiệt độ, độ ẩm
+ Xuất tín hiệu chuẩn ra Oscilloscope
+ Hiển thị thông số cụ thể ra LCD
+ Kiểm tra LCD
C CHỦ ĐỀ:
Cảm biến đo các thông (nhiệt độ, độ ẩm) truyền về LPC2103 sau đó từ các chân P0.0 đến P0.5 xuất tín hiệu số ra LCD, và từ chân P0.8 và P0.9 xuất ra 2 kênh của Oscilloscope
GSM
Trang 7D CƠ SỞ LÝ THUYẾT
1 LPC2103:
1.1 THÔNG SỐ KỸ THUẬT:
Bộ vi điều khiển 16 bit / 32bit ARM7TDMI-S
2 kB / 4 kB / 8kB RAM tĩnh trên chip và 8 kB / 16kB / 32kB của bộ nhớ flash trên chip Xung nhịp tối đa 70 MHz
ISP/IAP sử dụng chế độ bootloader Có thể xóa 1 sector hoặc toàn bộ chip trong thời gian 1ms, lập trình 256 bytes trong thời gian 1ms
EmbeddedICE RT cung cấp tính năng gỡ lỗi thời gian thực với phần mềm RealMonitor trên chip
Bộ chuyển đổi A/D với 8 đầu vào Analog
2 Bộ timer 32 bit/ bộ đếm sự kiện ngoài với 7 Capture và 7 bộ so sánh kênh
2 Bộ timer 16 bit/bộ đếm sự kiện ngoài với 3 Capture và 7 bộ so sánh kênh
Trang 8Đồng hồ thời gian thực (Real Time Clock) nguồn độc lập và clock vào 32 kHz
Đa giao tiếp kết nối bao gồm 2 UARTs (16C550), 2 I2C bus (400kbit/s), SPI
và SSP với khả năng đệm và độ dài dữ liệu thay đổi
Vector ngắt có địa chỉ truy cập và các mức ưu tiên
Đến 32 chân xuất nhập ở mức điện áp 5V
Có 13 chân ngắt ngoài theo mức hoặc cạnh
Bộ dao động tích hợp trên chip hoạt động với dao động thạch anh bên ngoài tần số từ 1 MHz đến 25 MHz
Các chế độ tiết kiệm năng lượng bao gồm chế độ chờ, chế độ ngắt nguồn với RTC đang hoạt động và chế độ tắt nguồn
Đánh thức bộ xử lý chế độ tắt nguồn thông qua ngắt bên ngoài hoặc RTC Bật/ tắt các chức năng ngoại vi cũng như việc tính toán clock ngoại bi cho việc tối ưu hóa nguồn điện
1.2 SƠ ĐỒ CHÂN CỦA LPC2103:
Hình 1 Sơ đồ chân của LPC2103 48 chân
1.3 CHỨC NĂNG CỦA CÁC CHÂN LIÊN QUAN:
Trang 9Kí hiệu Chân Loại Mô tả
P0.0/TXD0/
MAT 3.1
O O
P0.0 chân kỹ thuật số đầu vào / đầu ra mục đích chung
TXD0 đầu ra phát cho UART0
MAT3.1 PWM 1 cho Timer 3
P0.1/RXD0/
MAT3.2
I O
P0.1 chân kỹ thuật số đầu vào / đầu ra mục đích chung
RXD0 Đầu vào nhận cho UART0 MAT3.2 PWM 2 cho TIMER 3 P0.2/SCL0/
CAP0.0
I/O
I
P0.2 Chân số đầu vào / đầu ra mục đích chung Đầu ra là cổng mở
SCL0 Đồng hồ IC Đầu vào / đầu ra Ngõ ra hở (để tuân thủ I2C-bus) CAP0.0 Capture đầu vào hoặc Timer
0, kênh 0
P0.3/SDA0/
MAT0.0
I/O
O
Chân số đầu vào / đầu ra mục đích chung P0.3 Đầu ra là cổng mở
SDA0 Nhập / xuất dữ liệu I2C0 Ngõ
ra hở (đối với I2C - tuân thủ bus) Ngõ ra MAT0.0 PWM cho đầu ra TIMER 0, kênh 0 Là ngõ hở
P0.4/SCK0/
CAP0.1
I/O
I
P0.4 chân kỹ thuật số đầu vào / đầu ra mục đích chung
Đồng hồ nối tiếp SCK0 cho SPI0 Đồng hồ SPI đầu ra từ chủ hoặc đầu vào phụ
Đầu vào CApture CAP0.1 cho kênh
Trang 10TIMER 0 1.
P0.5/MISO0/
MAT0.1
I/O
O
P0.5 chân kỹ thuật số đầu vào / đầu ra mục đích chung
MISO0 Chủ đầu ra cho SPI0 Đầu ra
dữ liệu từ SPI hoặc dữ liệu đầu vào SPI phụ
Đầu ra MAT0.1 PWM cho TIMER 0 kênh 1
P0.8/TXD1/
MAT2.1
O O
P0.8 chân kỹ thuật số đầu vào / đầu ra mục đích chung
Đầu ra máy phát TXD1 cho UART1 Đầu ra MAT2.1 PWM cho TIMER 2 kênh 1
P0.9/RXD1/
MAT2.1
I O
P0.9 chân kỹ thuật số đầu vào / đầu ra mục đích chung
Đầu vào bộ thu RXD1 cho UART1 Đầu ra MAT2.2 PWM cho TIMER 2 kênh 2
RTCX1 20 I Đầu vào cho mạch dao động RTC RTCX2 25 O Đầu ra từ mạch dao động RTC
XTAL1 11 I Đầu vào cho mạch dao động và mạch
tạo xung nhịp bên trong
XTAL2 12 O Đầu ra từ bộ khuếch đại dao động DBGSEL 27 I Debug select: khi LOW, bộ phận hoạt
động bình thường Khi HIGH, chế độ
gỡ lỗi được nhập Nhập bằng kéo xuống bên trong
Trang 11trên chân này đặt lại thiết bị, khiến các cổng I / O và thiết bị ngoại vi chuyển sang trạng thái mặc định của chúng và quá trình thực thi của bộ xử
lý bắt đầu ở địa chỉ 0 / TTL với độ trễ, dung sai 5V
Vss 7,19,43 I Ground: tham chiếu 0V
VssA 31 I Analog Ground: tham chiếu 0V Đây
phải là điện áp danh định giống như Vss nhưng phải được cách ly để giảm thiểu tiếng ồn và lỗi
VDDA 42 I Analog power 3.3V supply: về danh
nghĩa, nguồn này phải có cùng điện
áp với Vdd (3v3) nhưng nên được cách ly để giảm thiểu nhiễu và lỗi Mức trên chân này cũng cung cấp mức tham chiếu điện áp cho ADC VDD(1V8) 5I Nguồn cấp lõi 1.8V: đây là điện áp
cấp nguồn cho mạch bên trong và PLL trên chip
VDD(3V3) 17,40 I Nguồn điện đệm 3.3V: đây là điện áp
cấp nguồn cho các cổng I / O
2 LINH KIỆN TRONG ĐỀ TÀI:
LCD
2.1 THÔNG SỐ KỸ THUẬT:
LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số
Trang 12LCD 16×2 có 16 chân trong đó 8 chân
dữ liệu (D0 – D7) và 3 chân điều khiển (RS,
RW, EN)
5 chân còn lại dùng để cấp nguồn và đèn
nền cho LCD 16×2
Các chân điều khiển giúp ta dễ dàng cấu
hình LCD ở chế độ lệnh hoặc chế độ dữ liệu
Chúng còn giúp ta cấu hình ở chế độ
đọc hoặc ghi
LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm
2.2 SƠ ĐỒ KẾT NỐI CHÂN:
Chân 1 Vss (chân nối đất cho LCD)
Chân 2 VDD (chân cấp nguồn cho LCD)
Chân 3 VEE (chân điều chỉnh độ tương phản của LCD)
Chân 4 RS (Chân
chọn thanh ghi)
Chân RS nối với logic “0” GND: Bus DB0-DB7 sẽ nối với thanh ghi IR (Write) hoặc nối với bộ đếm địa chỉ (Read)
Chân RS nối với logic “1” VCC: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR
Chân 5 R/W là
chân chọn
đế độ đọc hoặc ghi
0: LCD hoạt động ở chế độ ghi 1: LCD hoạt động ở chế độ đọc
Trang 13Chân 6 E: Chân cho phép hoạt động
Chân 7-14 DB0-DB7:
Tám đường Bus truyền
dữ liệu
Chế độ 4 bit: dữ liệu được truyền trên 4 đường từ DB4 đến DB7, bit MSB là DB7
Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, bit MSB là bit DB7
Chân 15 Nguồn dương cho đèn nền
Chân 16 GND cho đèn nền
3 PHẦN MỀM SỬ DỤNG:
3.1 PROTUES
Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao
gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Labcenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola Phần mềm bao gồm 2 chương trình: ISIS (Intelligent Schematic Input System) cho phép mô phỏng mạch
và ARES (Advanced Routing and Editing Software) dùng để vẽ mạch in
Trang 143.2 KEIL C
Keil C là chương trình hỗ trợ khá đầy đủ trong việc lập trình cho vi điều
khiển họ 8051 ngoài việc biên dịch bằng ngôn ngữ C bạn cũng có thể biên dịch dưới dạng ASM Đây cũng là một cách để tìm hiểu thêm về ngôn ngữ ASM rất tốt
4 TRÌNH BÀY 5 VẤN ĐỀ LIÊN QUAN
1 CONSTRAINTS:
- Độ chính xác cao
- Độ bền tốt, tuổi thọ cao > 5 năm
- Giá thành sản xuất vừa phải, trong phạm vi cho phép
- Chịu được thời tiết, nhiệt độ ngoài trời
- Sử dụng pin, có cổng sạc USB
2 FUNCTION:
- Hệ thống có cảm biến nhiệt độ, độ ẩm
- Lưu trữ thông tin
- Đọc dữ liệu gửi về smartphone
- Có hệ thống đèn cảnh báo khi gần hết pin
3 REAL-TIME SYSTEM:
- Độ chính xác tương đối
- Hệ thống tự động ngắt khi không sử dụng
- Hệ thống không yêu cầu xử lý thời gian thực khắt khe
4 CONCURRENT SYSTEM:
- Hệ thống đồng thời quản lý nguồn pin và điều khiển các chức năng đo của
hệ thống
5 REACTIVE SYSTEM:
- Hệ thống hoạt động không liên tục, tùy thuộc vào dung lượng pin
- Hệ thống cần có chế độ reset
- Khi gần hết pin hệ thống cảnh báo
Trang 15E Thiết kế ứng dụng
1 Bài tập 1
a) Sơ đồ nguyên lý
b) Project cho bài tập
Trang 16c) Code
#include <lpc21xx.h>
unsigned char UARTdata1;
unsigned char UARTdata[2] = "OK" ;
int i = 0;
void initUART0( void)
{
VPBDIV = 0x02;
PINSEL0 = 0x00000005;
U0LCR = 0x00000083 ; // Line Control Register (LCR) 8 bits, no Parity, 1 Stop bit | DLAB set to 1
U0DLL = 0xC3; // Lower 8bit for bud rate gen
U0DLM = 0x00; // Higher 8bit for baud rate gen
U0LCR = 0x00000003; // Set DLAB=0 to lock MULVAL and DIVADDVAL
//BaudRate is now ~9600 and we are ready for UART communication!
}
unsigned char receiveserial ( void)
{
unsigned char mydata;
while ((U0LSR & 0x01) == 0);
Trang 17mydata = U0RBR;
return mydata;
}
void sendserial ( unsigned char serdata) {
U0THR = serdata;
while ((U0LSR & 0x20) == 0);
}
void delay_ms( unsigned int dly)
{
unsigned int i;
for(;dly>0;dly ) //1 cycle
{
for(i=0;i<5000;i++); //1 cycle
}
}
int main( void)
{
//intPLL();
initUART0();
while (1)
{
UARTdata1 = receiveserial();
if (UARTdata1 != 0) {
for (i=0; i<3;i++) sendserial(UARTdata[i]);
delay_ms (50);
} }
}
d) Kết quả
Trang 182 Bài tập 2
a) Sơ đồ nguyên lý
b) Project cho bài tập
Trang 19c) Code
#include <LPC2103.h>
#include "LPC2103_define_pin.h"
//We need Fpwm = 5000 Hz; D%=10% or D%=90%; using MAT1.1 (pin0.13)
void delay_ms( unsigned int dly)
{
unsigned int i;
for(;dly>0;dly )
{
for(i=0;i<10000;i++);
}
}
int main( void)
{
p03_mat00;
p016_mat02;
T0TCR = 0x02;
T0PR = 0x00;
// 10000Hz
T0MR3 = 15000000/10000;
T0MCR = (1<<10);
T0PWMCON = 1<<2 |1<<0;
T0TCR = 0x01;
Trang 20while (1)
{
// Duty 20%
T0MR0 = (1-0.2)*T0MR3;
// Duty 80%
T0MR2 = (1-0.8) *T0MR3;
}
}
d) Kết quả