Hà Ni, 3-2023
ĐI HC CH KHOA HÀ NI
TRƯNG ỆN TỬĐIN ĐI
*****
Đ ÁN II
ĐỀ TÀI: THIẾT KẾ CHẾ TẠO MẠCH
Giáo viên hướng dẫn :
Ths. Thanh XuyếnLê
Lớp :
726397
Nhóm sinh viên thực hiện:
ương L - 20192996Ph ý
Nguyễn Thị Hoài Thu - 20193126
Nguyễn Hữu Khiêm - 20192937
Nguyễn y Mạnh Du - 20192801
Hoàng Văn Nam - 20193025
2
LỜI NÓI ĐU
Vit Nam ta ngày mt phát trin và giàu mnh. Trong Thời kì cách mng 4.0, là bưc
ngot quan trng thay đi đt nư chúng ta - con người Vit có cơ hi nm bt nhic,đ u
thành tu vĩ đi ca thế giới, đc bit là v các lĩnh vc khoa hc kĩ thut nói chung và
ngành Đin T - Vin thông nói riêng.
Thế h chúng ta không t h phn đu hc hi không ngng thì chúng ta s tr mìn
sớm lc hu và nhanh chóng tht lùi. Nhìn ra được điu đó Trường Đi hc ch khoa
Hà Ni đã sớm ch trương hình thc đào to sâu rng, t p đến cao. Đ tăng chth t
lượng hc tp ca sinh viên nhà trường nói chung và trường Đin Đin t nói riêng đã
t c cho sinh viên làm các Đ Án II nhm to nên tng vng chc cho sinh viên khi ch
ra trường, đáp ng nhu cu tuyn dng vic làm.
Với s ến b không ngng ca khoa hc k thut, đc bit là ngành đin t - viti n
thông đã ng dng rt nhiu trong công nghip. Trong lĩnh vc điu khin, t khi công
ngh ế to loi vi mch lp trình phát trin đã đem đến các k t điu khin hich thu n
đi có nhiu ưu đim so với vi dng các mch điu khin được lp ráp t các linh c s
kin rời như kích thước mch nh, gn, giá thành r, đ làm vic tin cy và công sut
tiêu th t thp ... Ngày nay lĩnh v u khin đã đư ng dng rng rãi trong các thiếc đi c
b, sn phm phc v cho nhu cu sinh hot hng ngày ca con người như máy git,
đng h đin t, ti vi ... nhm giúp cho đời sng ngày càng hin đi và tin lợi hơn. Đ
tài ng dng vi điu khin trong đời sng thc tế rt phong phú và đa dng nhm đáp
ng cho cuc sng tin nghi ca con người. Vì vy chúng em đã n đ ch tài Thiết kế
và chế to mch đo nhit đ s dng cm biến tương t làm đ tài đ án k thut II
ca chúng em.
Trong quá trình làm đ án ca mình, chúng em đã c gng đ hoàn thin đ tài mt
cách tt nht. Nhưng với kiến thc và s hiu biết còn hn chế nên chác chn s không
tránh khi nhng thiếu sót. Chúng em mong thy đóng góp ý kiến đ đ tài ca chúng
em được hoàn thin hơn.
Em xin gi lời cm ơn sâu sc đế c s Lê Thanh Xuyến đã nhit tình hướng n Th
dn, giúp đvà to điu kin t em hoàn thành đ án này.t nht đ
3
LỜI CAM ĐOAN
Nhóm thc hin đ m 5 mt thành viên, giáo viên hưng dn là tài g Thc s Lê
Thanh Xuyến, nhóm em xin cam đoan toàn b ni dung được trình bày trong đ án Thiết
kế ế to mch đo nhi s dng cm biến tương t và ch t đ là k t quế quá trình tìm hiu
và nghiên cu ca nhóm. c d liu được nêu trong đ án là hoàn toàn trung thc, phn
ánh đúng kết qu đo đc thc tế. Mi thông tin trích dn đu tuân th các quy đnh v
shu trí tu; các tài liu tham kho đu được lit kê rõ ràng. Nhóm em xin chu hoàn
toàn trách nhi m v t trong đ ới nhng ni dung đưc viế án này.
Hà Ni, ngày 15 tháng 03 năm 2023
Ngưi cam đoan
n Th ài ThuNguy Ho
4
MC L C
DANH MỤC HIỆU VIẾT TẮT ......................................................................................... 5
DANH MỤC HÌNH VẼ ............................................................................................................ 6
TÓM TẮT ĐỒ ÁN .................................................................................................................... 7
CHƯƠNG 1. SỞ THUYẾT CHUNG ........................................................................ 8
1.1 Giới thiệu chung ............................................................................................................. 8
1.2 Mạch Kit cho VĐK họ AVR ............................................................................................ 8
1.3 Ngôn ngữ lập trình phần mềm ................................................................................ 10
CHƯƠNG 2. CHI TIẾT CẤU HÌNH CỦA MẠCH KIT .................................................... 11
2.1 Cấu trúc của mạch Kit .................................................................................................. 11
2.2 Các thông số chính của Kit .......................................................................................... 15
2.3 Mạch nạp nguồn ..................................................................................................... 16
2.4 Màn hình LCD module UART-USB ....................................................................... 16
CHƯƠNG 3. THỰC HÀNH LẬ TRÌNH CHO VĐKP ....................................................... 18
3.1 Tạo Project mới với Atmel Studio 6 nạp thử máy cho VĐK ............................ 18
3.2 dụ lập trình điều khiển cổng ra số .......................................................................... 21
3.3 dụ lập trình đọc trạng thái logic đầu vào số ........................................................... 25
3.4 dụ lập trình đo điện áp tương tự hiển thị kết quả lên LCD ............................... 27
3.5 dụ lập trình giao tiếp với máy tính qua chuẩn UART-USB ................................... 29
CHƯƠNG 4. VẬN DỤNG CÁC KIẾN THỨC VÀO THỰC TẾ ....................................... 32
4.1 Mục tiêu ......................................................................................................................... 32
4.2 Cảm biến nhiệt độ LM35 .............................................................................................. 32
4.3 Phương hướng giải quyết ............................................................................................. 33
4.4 phỏng thiết kế .................................................................................................... 37
4.4.1 phỏng trên phần mềm proteus 8 ...................................................................... 37
4.4.2 Thiết kế đồ mạch Kit AVR trên phần mềm Altium ........................................... 40
4.5 Nhận xét ........................................................................................................................ 41
KẾT LUẬN ............................................................................................................................. 42
TÀI LIỆU THAM KHẢO ...................................................................................................... 43
5
DANH MC KÍ HIỆU VIT TẮT
Từ viết tt
Tiếng Vit
VĐK
Vi điu khin
6
DANH MC HÌNH V
Hình 1 : Mch Kit phát trin và các ph kin ................................................................ 9
Hình 2 : Sơ đ nguyên lý c kita b ............................................................................. 11
Hình 3 : Cu trúc mch kit được cung cp ................................................................... 12
Hình 4 : Sơ đ mch in, quan sát trên phn mm thi t kế ế ............................................ 13
Hình 5 : B kit hoàn thin ............................................................................................ 14
Hình 6 : Mch np ISP chun 10 chân s dng cho b Kit .......................................... 16
Hình 7 : Màn hình LCD 1602 s dng trong b Kit .................................................... 16
Hình 8 : Module UART-USB s dng chip FT232RL ................................................. 17
Hình 9 : Giao din to Project mi trong Atmel Studio 6 ............................................ 18
Hình 10 : Giao din chn loi vi điu khin ................................................................. 19
Hình 11 : Giao din làm vic chính sau khi to project ............................................... 19
Hình 12 : Hàm main ca chương trình ......................................................................... 20
Hình 13 : Thiết lp Fuse bit trong PROGISP ............................................................... 21
Hình 14 : Mu hin th trên LCD trong ví d 3 ............................................................ 28
Hình 15 : Cảm biến nhit đ LM35.............................................................................. 32
Hình 16 : Chương trình main ....................................................................................... 37
Hình 17 : Mô phng mch đo nhit đ trc tiếp t LM35 trên Proteus ....................... 38
Hình 18 : Thiết lp chn file mã máy cho VĐK đ mô phng trong Proteus .............. 39
Hình 19 : Kết qu mô phng trên Proteus .................................................................... 39
7
M TẮT Đ ÁN
Đ án thiết kế II tp trung vào trình bày v vic tìm hiu h vi điu khin AVR,
trong đ án này vi điu khin được s dng đó là Atmega 16. Qua đó tìm hiu nguyên
lí hot đng ca b kit, các ng dng ca b kit. Trong báo cáo này em s trình bày ng
dng ca b kit trong vic đo nhit đ bng cm biến tương t LM35 qua đ tài Thiết
kế và chế to mch đo nhit đ s dng cm biến tương t. Đ án gm có bn chương:
Chương I. slý thuyết chung. Gi u tng quan v đ tài, v h vi đii thi u
khin AVR, các ngôn ng n đ lp trình vi điu khin.thc hi
Chương II. Chi tiết cu hình ca mch kit. Trình bày chi tiết v cu trúc mch kit
được s dng trong đ án, các thông s ca mch kit, kết ni với các thiết b ngoi vi
như LCD, UART-USB.
Chương III. Thc hành lp trình cho vi điu khin. Tiến hành np code và chy
th vi điu khin, kim tra hiu năng và li mch.
Chương IV. Vn dng vào kiến thc thc tế. Chương này s đi vào tìm hiu thiết
kế và gii quyết các mc tiêu ca đ tài là s dng cm biến nhit đ đ đo và in kết qu
ra LCD theo nhng yêu cu kĩ thut cho trưc.
8
CHƯƠNG 1. CƠ S THUYT CHUNG
1.1 Gii thiu chung
Với hc phn Đ án II tìm hiu v vi điu khin h AVR, ni dung được thiết kế
đ nâng cao năng lc chuyên môn cho các sinh viên; giúp liên kết các khi kiến thc
v đin t tương t, đin t s, k thut vi x lý, x lý s tín hiu, thông tin s, v.v.
nhm hoàn thin kh năng vn dng kiến thc vào thc tế.
Trong hc phn này, ni dung công vic cn thc hin bao gm: làm quen công
c thiết kế mch đin, thc hành lp trình phn cng và xây dng mt ng dng cơ
bn với các vi mch có th lp trình được. Đ đm bo tiến đ công vic, em và các
bn sinh viên khác đã được vin h tr mt s phương tin cơ bn đ trin khai công
vic trên nn tng xây dng sn, có th kế tha.
Sau khi tiếp cn nhanh với vi điu khin (VĐK) thông qua vic xây dng mt s
ng dng trên VĐK h AVR c th trong bài báo cáo này em dùng Atmega16A. Em
s tiến hành gii quyết mt vn đ c th - thiết kế mch đo nhit đ và hin th trên
LCD s dng cm biến tương t và c th đó là cm biến LM35 mt cm biến nhit
đ tương t đưc ng dng ph biến trong vic cm biến nhit đ.
1.2 Mạch Kit cho VĐK h AVR
AVR là mt VĐK 8 bit khá mnh và thông dng ti th trường Vit Nam. Với tc
đ xung nhp ti đa lên tới 16 Mhz, b nhchương trình ti đa tới 256 kB, và rt
nhiu chc năng ngoi vi tích hợp sn, VĐK h AVR có th đáp ng tt cho nhiu
ng dng trong thc tế, t đơn gin đến phc tp.
Với Kit phát trin s dng trong hc phn Đ án II (hình 1.1) được Vin Đin t
- Vin thông thiết kế riêng đ đm bo tính hiu qu trong quá trình đào to. Bộ kit
có th đưc th nghim vi các ng dng cơ bn sau:
o Điu khin cng ra s, với LED đơn và LED 7 thanh
o Đc trng thái logic đu vào s, t bán phím và gic cm m rng
o Đo đin áp tương t vi biến tr vi chnh và b ADC 10-bit
9
o Điu khin màn hính tinh th lng, vi màn hình LCD dng text
o Giao tiếp vi máy tính qua chun UART USB
o Th nghim các ngt ngoài, th kh năng điu chế đ rng xung.
Nhiu ng dng điu khin các chc năng tích hợp sn trong VĐK như: vn
hành các b đnh thời (Timer) và b đếm (Counter), đc ghi EEPROM, lp
trình các ngt chương trình, thiết lp Watchdog, v.v.
Hình 1 Mạch Kit phát triển các phụ kiện:
Ngoài ra, bng vic kết ni gia các mô-dun mrng, mch Kit hoàn toàn có th
thc hin các ng dng phc tp hơn như:
Đo tham s môi trưng: nhit đ, đ m, đ sáng, v.v.
Điu khin ti cơ bn: đèn báo, van đin t, đng cơ DC, đng cơ bưc, v.v.
Điu khin hin th cơ bn: LED ma trn, LCD ma trn, màn hình cm ng,
v.v.
Giao tiếp I2C và SPI: IC thi gian thc, IC EEPROM, cm biến gia tc, v.v.
10
ng dng tng hp: đo và duy trì s n đnh các tham s mô trường; s hóa
và x lý tín hiu âm thanh, điu khin robot hoc xe t hành, v.v.
1.3 Ngôn ng lp trình và phn mm
AVR nói chung chung cũng như Atmega16 nói riêng h 2 ngôn ng lp trình tr
thông dng là Assembly và C. Vic lp trình bng Assembly giúp chương trình nh gn
nhưng khá phc tp do gn với ngôn ng máy. Lp trình bng C tuy cho chương trình
có dung lượng lớn hơn so với khi lp trình bng Assembly, nhưng đi li d dàng hơn
trong vic code và debug.
Đ lp trình cho AVR, có khá nhiu trình biên dch, ví d như AVR studio, WinAVR,
codevisionAVR
Trong ni dung v hc phn Đ án II, em s s dng ngôn ng lp trình C đ lp
trình cho VĐK. Môi trường đ son tho và biên dch là phn mm AtmelStudio 6. Phn
mm np mã máy là PROGISP (phiên bn 1.72). Phn mm giao tiếp gia máy tính và
VĐK là Terminal (phiên bn 1.9b). Ngoài ra, trong phn vn dng em có s dng thêm
phn mm Proteus 8.6 đ mô phng mch và phn mm Altium Designer 19 đ thiết kế
mch.
11
CHƯƠNG 2. CHI TIẾT CU HÌNH CA MẠCH KIT
2.1 Cu trúc ca mch Kit
Mch Kit được cung cp đ đáp ng các ng dng cơ bn có cu trúc và chc
năng ca tng linh kin quan trng được nêu trong bng dưới đây. Đu tiên ta s tìm
hiu v sơ đ nguyên lý ca b kit cùng với đó là mch nguyên lý được v bởi Altium
mt trong nhng công c v mch đi dây cũng như đ in mch mnh và ph biến nht
hin nay. Thông qua môn hc đ án II này em có th thành tho hơn vic s dung
altium đ v và thiết kế tt c các loi mch. T mình to ra mt bn mch mà mình
mong mun.
Hình 2 đồ nguyên của bộ kit:
12
Hình 3 Cấu trúc mạch kit được cung cấp:
13
Hình 4 đmạ in, quan sát trên phần mềm thiết kế: ch
14
Hình 5 Bộ kit hoàn thiện:
Bảng 2.1 Linh kiện quan trọng của mạch Kit chức năng tương ng
STT
n linh kin
Chc năng
1
Gi c c m ngun
Nhn ngun đin 9-12 VDC cp cho mch Kit
2
IC n áp 7805
H 9-12 VDC xung 5 VDC và gi n đnh mc
đin áp này đ cp cho toàn mch
3
LED báo ngun
o ngun (sáng: có ngun 5 VDC, tt: mt
ngun)
4
VĐK Atmega16
Điu khin hot đng ca mch theo mã ngun đã
đư pc n
5
Thch anh
Quyết đnh tn s xung nhp cp cho VĐK
6
Nút n Reset
Khi đng li VĐK
7
Gic ISP
Kết n i m ch np đ np mã ngun cho VĐK
8
Nhóm 4 phím n
Nhn lnh điu khin t ngư dngi s
15
9
Gic cm 8 chân
N i t i 8 chân vào/ra (Port-A) ca VĐK
10
Gic cm 8 chân
Ni tới 8 chân vào/ra (Port- a VĐKB) c
11
Gic cm 8 chân
Ni tới 8 chân vào/ra (Port- a VĐKC) c
12
Gic cm 8 chân
Ni tới 8 chân vào/ra (Port- a VĐKD) c
13
Dãy LED đơn
o trng thái logic ca 8 chân Port-D ca VĐK
14
Jumper dãy LED đơn
Cho phép hoc vô hiu hóa dãy LED đơn
15
LED 7 thanh
Hin th s 0-9 và mt vài kí t do người dùng
đnh nghĩa
16
Jumper LED 7 thanh
Cho phép hoc vô hiu hóa dãy LED 7 thanh
17
Gic cm LCD
Kết n i t i màn hình LCD1602
18
Biến trvi chnh
Điu chnh trơn và liên tc, t 0 đến 5 VDC, t
mc đin áp ti đu vào ADC0 ca b ADC (chân
PA0)
19
Gic UART-USB
Kết ni module chuyn đi UART-USB (còn gi
là COM-USB)
2.2 Các thông s chính ca Kit
c thông s kĩ thut ca Kit:
Đin áp ngun:
- Tiêu chun: 9-12 VDC
- Giới hn: 7-18 VDC
Dòng đin tiêu th:
- Khi không có module m rng, toàn b LED ch th I/O tt: 18mA
- Khi có LCD và module USB, LED ch th I/O b vô hiu hóa: 22mA
- Khi có LCD và module USB, toàn b LED ch th I/O sáng: 80mA
Mch có kh năng t bo v khi b lp ngưc cc tính ngun
Mc logic các cng I/O: TTL (5V)
Đin áp tương t vào các chân ADC: 0 5V
Loi VĐK đưc h tr: Atmega16, Atmega32 và tương đương
Cng I/O m rng: 4 gic cm (loi 8 chân) ng vi 4 port
H trmàn hình LCD: dng text, giao tiếp 8 bit hay 4 bit
H trmodule USB: UART-USB hay COM-USB (mc 5 VDC)
Xung nhp tích hp sn: thch anh 8 Mhz
16
2.3 Mạch np mã ngun
Mch np mã ngun cho VĐK trong Kit là loi mch np ISP thông dng. Trong
b Kit này s dng mch np ISP chun 10 chân như hình dưới.
Hình 6 Mạch nạp ISP chuẩn 10 chân sử dụng cho bộ Kit:
2.4 n hình LCD và module UART-USB
Mch Kit được thiết kế đ tương thích với màn hình LCD text (LCD 1602) và
module chuyn đi UART-USB (còn gi là COM-USB) s dng chip FT232RL, như
trên hình dưi. Đây đu là các module ngoi vi quen thuc và đin hình.
Hình 7 Màn hình LCD 1602 sử dụng trong bộ Kit:
17
Hình 8 Module UART-USB sử dụng chip FT232RL:
18
CHƯƠNG 3. C HÀNH LẬP TRÌNH CHO VĐK TH
3.1 Tạo Project mi vi Atmel Studio 6 và np th mã máy cho VĐK
Khi bt đu lp trình với VĐK h AVR có rt nhiu phn mm h trtt cho dòng
VĐK này, tuy nhiên, lí do mà Atmel Studio được s dng là mang li s hiu biết v
VĐK đang lp trình vì với Atmel Studio ta phi khai báo c th các chân, v.v. còn
mt s IDE khác h tr điu này khi to mt project mi.
Cụ th, đ to mt Project mi và np th mã máy cho VĐK ta cn thông qua các
bước sau:
c 1: Trong Atmel Studio 6, vào File > New > Project . Sau khi thay đi tên và
đường dn lưu project thì ta bm OK .
Hình 9 Giao diện tạo Project mới trong Atmel Studio 6:
c 2: Sau khi to Project, giao din chn loi vi điu khin s hin ra, đây ta
s chn loi vi điu khin là Atmega 16.
19
Hình 10 Giao diện chọn loại vi điều khiển:
Hình Giao diện làm việ chính sau khi tạo project11 : c
20
c 3: Cuối cùng thì chương trình s hin ra file chưa hàm main ca project t
đó ta có th code chương trình theo ý mun.
Hình 12 Hàm main của chương trình:
c 4 : Copy đon mã ngun vào file main.c trong project va to:
#include <avr/io.h>
int main(){
DDRD |= 0xFF;
PORTD |= 0xAA;
DDRC |= 0xFF;
PORTC |= 0x00;
return 0;
}
Đon code trên có nghĩa đang xét chế đ cho Port D và C vi DDRx là mode Input
hay Output ca mi chân vi điu khin. 1 tc là chân đó là chân xut tín hiu ra và ngưc
li.

Preview text:

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ ***** ĐỒ ÁN II
ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO MẠCH
ĐO NHIỆT ĐỘ SỬ DỤNG CẢM BIẾN TƯƠNG TỰ
Giáo viên hướng dẫn : Ths. L ê Thanh Xuyến Lớp : 726397
Nhóm sinh viên thực hiện: Vũ Phương Lý - 20192996
Nguyễn Thị Hoài Thu - 20193126
Nguyễn Hữu Khiêm - 20192937
Nguyễn Mạnh Duy - 20192801 Hoàng Văn Nam - 20193025 Hà Nội, 3-2023 LỜI NÓI ĐẦU
Việt Nam ta ngày một phát triển và giàu mạnh. Trong Thời kì cách mạng 4.0, là bước
ngoặt quan trọng thay đổi đất nước,để chúng ta - con người Việt có cơ hội nắm bắt nhiều
thành tựu vĩ đại của thế giới, đặc biệt là về các lĩnh vực khoa học kĩ thuật nói chung và
ngành Điện Tử - Viễn thông nói riêng.
Thế hệ trẻ chúng ta không tự mình phấn đấu học hỏi không ngừng thì chúng ta sẽ
sớm lạc hậu và nhanh chóng thụt lùi. Nhìn ra được điều đó Trường “Đại học Bách khoa
Hà Nội” đã sớm chủ trương hình thức đào tạo sâu rộng, từ thấp đến cao. Để tăng chất
lượng học tập của sinh viên nhà trường nói chung và trường Điện – Điện tử nói riêng đã
tổ chức cho sinh viên làm các Đồ Án II nhằm tạo nên tảng vững chắc cho sinh viên khi
ra trường, đáp ứng nhu cầu tuyển dụng việc làm.
Với sự tiến bộ không ngừng của khoa học kỹ thuật, đặc biệt là ngành điện tử - viễn
thông đã ứng dụng rất nhiều trong công nghiệp. Trong lĩnh vực điều khiển, từ khi công
nghệ chế tạo loại 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 so với việc sử dụng các mạch điều khiển được lắp ráp từ các linh
kiện rời như kích thước mạch nhỏ, gọn, giá thành rẻ, độ làm việc tin cậy và công suất
tiêu thụ thấp ... Ngày nay lĩnh vực điều khiển đã được ứng dụng rộng rãi trong các thiết
bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hằng ngày của con người như máy giặt,
đồng hồ điện tử, ti vi ... nhằm giúp cho đời sống ngày càng hiện đại và tiện lợi hơn. Đề
tài ứng dụng vi điều khiển trong đời sống thực tế rất phong phú và đa dạng nhằm đáp
ứng cho cuộc sống tiện nghi của con người. Vì vậy chúng em đã chọn đề tài “Thiết kế
và chế tạo mạch đo nhiệt độ sử dụng cảm biến tương tự “ làm đề tài đồ án kỹ thuật II của chúng em.
Trong quá trình làm đồ án của mình, chúng em đã cố gắng để hoàn thiện đề tài một
cách tốt nhất. Nhưng với kiến thức và sự hiểu biết còn hạn chế nên chác chắn sẽ không
tránh khỏi những thiếu sót. Chúng em mong thầy đóng góp ý kiến để đề tài của chúng
em được hoàn thiện hơn.
Em xin gửi lời cảm ơn sâu sắc đến Thạc sỹ Lê Thanh Xuyến đã nhiệt tình hướng
dẫn, giúp đỡ và tạo điều kiện tốt nhất ể
đ em hoàn thành đồ án này. 2 LỜI CAM ĐOAN
Nhóm thực hiện đề tài ồ
g m 5 một thành viên, giáo viên hướng dẫn là Thạc sỹ Lê
Thanh Xuyến, nhóm em xin cam đoan toàn bộ nội dung được trình bày trong đồ án Thiết
kế và chế tạo mạch đo nhiệt ộ
đ sử dụng cảm biến tương tự là kết quả quá trình tìm hiểu
và nghiên cứu của nhóm. Các dữ liệu được nêu trong đồ án là hoàn toàn trung thực, phản
ánh đúng kết quả đo đạc thực tế. Mọi thông tin trích dẫn đều tuân thủ các quy định về
sở hữu trí tuệ; các tài liệu tham khảo đều được liệt kê rõ ràng. Nhóm em xin chịu hoàn
toàn trách nhiệm với những nội dung được viết trong đồ án này.
Hà Nội, ngày 15 tháng 03 năm 2023 Người cam đoan Nguyễn Thị Hoài Thu 3
MC LC
DANH MỤC KÍ HIỆU VIẾT TẮT ......................................................................................... 5
DANH MỤC HÌNH VẼ ............................................................................................................ 6
TÓM TẮT ĐỒ ÁN .................................................................................................................... 7
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CHUNG ........................................................................ 8
1.1 Giới thiệu chung ............................................................................................................. 8
1.2 Mạch Kit cho VĐK họ AVR ............................................................................................ 8
1.3 Ngôn ngữ lập trình và phần mềm ................................................................................ 10
CHƯƠNG 2. CHI TIẾT CẤU HÌNH CỦA MẠCH KIT .................................................... 11
2.1 Cấu trúc của mạch Kit .................................................................................................. 11
2.2 Các thông số chính của Kit .......................................................................................... 15
2.3 Mạch nạp mã nguồn ..................................................................................................... 16
2.4 Màn hình LCD và module UART-USB ....................................................................... 16
CHƯƠNG 3. THỰC HÀNH LẬP TRÌNH CHO VĐK
....................................................... 18
3.1 Tạo Project mới với Atmel Studio 6 và nạp thử mã máy cho VĐK ............................ 18
3.2 Ví dụ lập trình điều khiển cổng ra số .......................................................................... 21
3.3 Ví dụ lập trình đọc trạng thái logic đầu vào số ........................................................... 25
3.4 Ví dụ lập trình đo điện áp tương tự và hiển thị kết quả lên LCD ............................... 27
3.5 Ví dụ lập trình giao tiếp với máy tính qua chuẩn UART-USB ................................... 29
CHƯƠNG 4. VẬN DỤNG CÁC KIẾN THỨC VÀO THỰC TẾ ....................................... 32
4.1 Mục tiêu ......................................................................................................................... 32
4.2 Cảm biến nhiệt độ LM35 .............................................................................................. 32
4.3 Phương hướng giải quyết ............................................................................................. 33
4.4 Mô phỏng và thiết kế .................................................................................................... 37
4.4.1 Mô phỏng trên phần mềm proteus 8 ...................................................................... 37
4.4.2 Thiết kế sơ đồ mạch Kit AVR trên phần mềm Altium ........................................... 40
4.5 Nhận xét ........................................................................................................................ 41
KẾT LUẬN ............................................................................................................................. 42
TÀI LIỆU THAM KHẢO ...................................................................................................... 43 4
DANH MỤC KÍ HIỆU VIẾT TẮT Từ viết tắt Tiếng Việt VĐK Vi điều khiển 5 DANH MỤC HÌNH VẼ
Hình 1 : Mạch Kit phát triển và các phụ kiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Hình 2 : Sơ đồ nguyên lý của bộ kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Hình 3 : Cấu trúc mạch kit được cung cấp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Hình 4 : Sơ đồ mạch in, quan sát trên phần mềm thiết kế . . . . . . . . . . . . . . . . . . . . . . 13
Hình 5 : Bộ kit hoàn thiện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Hình 6 : Mạch nạp ISP chuẩn 10 chân sử dụng cho bộ Kit . . . . . . . . . . . . . . . . . . . . . 16
Hình 7 : Màn hình LCD 1602 sử dụng trong bộ Kit . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Hình 8 : Module UART-USB sử dụng chip FT232RL . . . . . . . . . . . . . . . . . . . . . . . . . 17
Hình 9 : Giao diện tạo Project mới trong Atmel Studio 6 . . . . . . . . . . . . . . . . . . . . . . 18
Hình 10 : Giao diện chọn loại vi điều khiển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Hình 11 : Giao diện làm việc chính sau khi tạo project . . . . . . . . . . . . . . . . . . . . . . . . 19
Hình 12 : Hàm main của chương trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Hình 13 : Thiết lập Fuse bit trong PROGISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Hình 14 : Mẫu hiển thị trên LCD trong ví dụ 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Hình 15 : Cảm biến nhiệt độ LM35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Hình 16 : Chương trình main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Hình 17 : Mô phỏng mạch đo nhiệt độ trực tiếp từ LM35 trên Proteus . . . . . . . . . . . . 38
Hình 18 : Thiết lập chọn file mã máy cho VĐK để mô phỏng trong Proteus . . . . . . . 39
Hình 19 : Kết quả mô phỏng trên Proteus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6 TÓM TẮT ĐỒ ÁN
Đồ án thiết kế II tập trung vào trình bày về việc tìm hiểu họ vi điều khiển AVR,
trong đồ án này vi điều khiển được sử dụng đó là Atmega 16. Qua đó tìm hiểu nguyên
lí hoạt động của bộ kit, các ứng dụng của bộ kit. Trong báo cáo này em sẽ trình bày ứng
dụng của bộ kit trong việc đo nhiệt độ bằng cảm biến tương tự LM35 qua đề tài “Thiết
kế và chế tạo mạch đo nhiệt độ sử dụng cảm biến tương tự”. Đồ án gồm có bốn chương:
Chương I. Cơ sở lý thuyết chung. Giới thiệu tổng quan về đề tài, về họ vi điều
khiển AVR, các ngôn ngữ thực hiện để lập trình vi điều khiển.
Chương II. Chi tiết cấu hình của mạch kit. Trình bày chi tiết về cấu trúc mạch kit
được sử dụng trong đồ án, các thông số của mạch kit, kết nối với các thiết bị ngoại vi như LCD, UART-USB.
Chương III. Thực hành lập trình cho vi điều khiển. Tiến hành nạp code và chạy
thử vi điều khiển, kiểm tra hiệu năng và lỗi mạch.
Chương IV. Vận dụng vào kiến thức thực tế. Chương này sẽ đi vào tìm hiểu thiết
kế và giải quyết các mục tiêu của đề tài là sử dụng cảm biến nhiệt độ để đo và in kết quả
ra LCD theo những yêu cầu kĩ thuật cho trước. 7
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CHUNG
1.1 Giới thiệu chung
Với học phần Đồ án II tìm hiểu về vi điều khiển họ AVR, nội dung được thiết kế
để nâng cao năng lực chuyên môn cho các sinh viên; giúp liên kết các khối kiến thức
về điện tử tương tự, điện tử số, kỹ thuật vi xử lý, xử lý số tín hiệu, thông tin số, v.v.
nhằm hoàn thiện khả năng vận dụng kiến thức vào thực tế.
Trong học phần này, nội dung công việc cần thực hiện bao gồm: làm quen công
cụ thiết kế mạch điện, thực hành lập trình phần cứng và xây dựng một ứng dụng cơ
bản với các vi mạch có thể lập trình được. Để đảm bảo tiến độ công việc, em và các
bạn sinh viên khác đã được viện hỗ trợ một số phương tiện cơ bản để triển khai công
việc trên nền tảng xây dựng sẵn, có thể kế thừa.
Sau khi tiếp cận nhanh với vi điều khiển (VĐK) thông qua việc xây dựng một số
ứng dụng trên VĐK họ AVR cụ thể trong bài báo cáo này em dùng Atmega16A. Em
sẽ tiến hành giải quyết một vấn đề cụ thể - thiết kế mạch đo nhiệt độ và hiển thị trên
LCD sử dụng cảm biến tương tự và cụ thể đó là cảm biến LM35 một cảm biến nhiệt
độ tương tự được ứng dụng phổ biến trong việc cảm biến nhiệt độ.
1.2 Mạch Kit cho VĐK họ AVR
AVR là một VĐK 8 bit khá mạnh và thông dụng tại thị trường Việt Nam. Với tốc
độ xung nhịp tối đa lên tới 16 Mhz, bộ nhớ chương trình tối đa tới 256 kB, và rất
nhiều chức năng ngoại vi tích hợp sẵn, VĐK họ AVR có thể đáp ứng tốt cho nhiều
ứng dụng trong thực tế, từ đơn giản đến phức tạp.
Với Kit phát triển sử dụng trong học phần Đồ án II (hình 1.1) được Viện Điện tử
- Viễn thông thiết kế riêng để đảm bảo tính hiệu quả trong quá trình đào tạo. Bộ kit
có thể được thử nghiệm với các ứng dụng cơ bản sau:
o Điều khiển cổng ra số, với LED đơn và LED 7 thanh
o Đọc trạng thái logic đầu vào số, từ bán phím và giắc cắm mở rộng
o Đo điện áp tương tự với biến trở vi chỉnh và bộ ADC 10-bit 8
o Điều khiển màn hính tinh thể lỏng, với màn hình LCD dạng text
o Giao tiếp với máy tính qua chuẩn UART ↔ USB
o Thử nghiệm các ngắt ngoài, thử khả năng điều chế độ rộng xung.
• Nhiều ứng dụng điều khiển các chức năng tích hợp sẵn trong VĐK như: vận
hành các bộ định thời (Timer) và bộ đếm (Counter), đọc ghi EEPROM, lập
trình các ngắt chương trình, thiết lập Watchdog, v.v.
Hình 1 : Mạch Kit phát triển và các phụ kiện
Ngoài ra, bằng việc kết nối giữa các mô-dun mở rộng, mạch Kit hoàn toàn có thể
thực hiện các ứng dụng phức tạp hơn như:
• Đo tham số môi trường: nhiệt độ, độ ẩm, độ sáng, v.v.
• Điều khiển tải cơ bản: đèn báo, van điện tử, động cơ DC, động cơ bước, v.v.
• Điều khiển hiển thị cơ bản: LED ma trận, LCD ma trận, màn hình cảm ứng, v.v.
• Giao tiếp I2C và SPI: IC thời gian thực, IC EEPROM, cảm biến gia tốc, v.v. 9
• Ứng dụng tổng hợp: đo và duy trì sự ổn định các tham số mô trường; số hóa
và xử lý tín hiệu âm thanh, điều khiển robot hoặc xe tự hành, v.v.
1.3 Ngôn ngữ lập trình và phần mềm
AVR nói chung chung cũng như Atmega16 nói riêng hỗ trợ 2 ngôn ngữ lập trình
thông dụng là Assembly và C. Việc lập trình bằng Assembly giúp chương trình nhỏ gọn
nhưng khá phức tạp do gần với ngôn ngữ máy. Lập trình bằng C tuy cho chương trình
có dung lượng lớn hơn so với khi lập trình bằng Assembly, nhưng đổi lại dễ dàng hơn trong việc code và debug.
Để lập trình cho AVR, có khá nhiều trình biên dịch, ví dụ như AVR studio, WinAVR, codevisionAVR…
Trong nội dung về học phần Đồ án II, em sẽ sử dụng ngôn ngữ lập trình C để lập
trình cho VĐK. Môi trường để soạn thảo và biên dịch là phần mềm AtmelStudio 6. Phần
mềm nạp mã máy là PROGISP (phiên bản 1.72). Phần mềm giao tiếp giữa máy tính và
VĐK là Terminal (phiên bản 1.9b). Ngoài ra, trong phần vận dụng em có sử dụng thêm
phần mềm Proteus 8.6 để mô phỏng mạch và phần mềm Altium Designer 19 để thiết kế mạch. 10
CHƯƠNG 2. CHI TIẾT CẤU HÌNH CỦA MẠCH KIT
2.1 Cấu trúc của mạch Kit
Mạch Kit được cung cấp để đáp ứng các ứng dụng cơ bản có cấu trúc và chức
năng của từng linh kiện quan trọng được nêu trong bảng dưới đây. Đầu tiên ta sẽ tìm
hiểu về sơ đồ nguyên lý của bộ kit cùng với đó là mạch nguyên lý được vẽ bởi Altium
một trong những công cụ vẽ mạch đi dây cũng như để in mạch mạnh và phổ biến nhất
hiện nay. Thông qua môn học đồ án II này em có thể thành thạo hơn việc sử dung
altium để vẽ và thiết kế tất cả các loại mạch. Tự mình tạo ra một bản mạch mà mình mong muốn.
Hình 2 : Sơ đồ nguyên lý của bộ kit 11
Hình 3 : Cấu trúc mạch kit được cung cấp 12 Hình 4 : Sơ đ
ồ mạc in, quan sát trên phần mềm thiết kế h 13
Hình 5 : Bộ kit hoàn thiện
Bảng 2.1 Linh kiện quan trọng của mạch Kit và chức năng tương ứng STT Tên linh kiện Chức năng 1 Giắc cắm nguồn
Nhận nguồn điện 9-12 VDC cấp cho mạch Kit 2 IC ổn áp 7805
Hạ 9-12 VDC xuống 5 VDC và giữ ổn định mức
điện áp này để cấp cho toàn mạch 3 LED báo nguồn
Báo nguồn (sáng: có nguồn 5 VDC, tắt: mất nguồn) 4 VĐK Atmega16
Điều khiển hoạt động của mạch theo mã nguồn đã được nạp 5 Thạch anh
Quyết định tần số xung nhịp cấp cho VĐK 6 Nút ấn Reset Khởi động lại VĐK 7 Giắc ISP
Kết nối mạch nạp để nạp mã nguồn cho VĐK 8 Nhóm 4 phím ấn
Nhận lệnh điều khiển từ người sử dụng 14 9 Giắc cắm 8 chân Nối ớ
t i 8 chân vào/ra (Port-A) của VĐK 10 Giắc cắm 8 chân
Nối tới 8 chân vào/ra (Port-B) ủ c a VĐK 11 Giắc cắm 8 chân
Nối tới 8 chân vào/ra (Port-C) ủ c a VĐK 12 Giắc cắm 8 chân
Nối tới 8 chân vào/ra (Port-D) của VĐK 13 Dãy LED đơn
Báo trạng thái logic của 8 chân ở Port-D của VĐK 14 Jumper dãy LED đơn
Cho phép hoặc vô hiệu hóa dãy LED đơn 15 LED 7 thanh
Hiển thị số 0-9 và một vài kí tự do người dùng định nghĩa 16 Jumper LED 7 thanh
Cho phép hoặc vô hiệu hóa dãy LED 7 thanh 17 Giắc cắm LCD
Kết nối tới màn hình LCD1602 18
Điều chỉnh trơn và liên tục, từ 0 đến 5 VDC, từ Biến trở vi chỉnh
mức điện áp tại đầu vào ADC0 của bộ ADC (chân PA0) 19 Giắc UART-USB
Kết nối module chuyển đổi UART-USB (còn gọi là COM-USB)
2.2 Các thông số chính của Kit
Các thông số kĩ thuật của Kit: • Điện áp nguồn: - Tiêu chuẩn: 9-12 VDC - Giới hạn: 7-18 VDC
• Dòng điện tiêu thụ:
- Khi không có module mở rộng, toàn bộ LED chỉ thị I/O tắt: 18mA
- Khi có LCD và module USB, LED chỉ thị I/O bị vô hiệu hóa: 22mA
- Khi có LCD và module USB, toàn bộ LED chỉ thị I/O sáng: 80mA
• Mạch có khả năng tự bảo vệ khi bị lắp ngược cực tính nguồn
• Mức logic các cổng I/O: TTL (5V)
• Điện áp tương tự vào các chân ADC: 0 – 5V
• Loại VĐK được hỗ trợ: Atmega16, Atmega32 và tương đương
• Cổng I/O mở rộng: 4 giắc cắm (loại 8 chân) ứng với 4 port
• Hỗ trợ màn hình LCD: dạng text, giao tiếp 8 bit hay 4 bit
• Hỗ trợ module USB: UART-USB hay COM-USB (mức 5 VDC)
• Xung nhịp tích hợp sẵn: thạch anh 8 Mhz 15
2.3 Mạch nạp mã nguồn
Mạch nạp mã nguồn cho VĐK trong Kit là loại mạch nạp ISP thông dụng. Trong
bộ Kit này sử dụng mạch nạp ISP chuẩn 10 chân như hình dưới. Hình 6 : Mạch nạp ISP
chuẩn 10 chân sử dụng cho bộ Kit
2.4 Màn hình LCD và module UART-USB
Mạch Kit được thiết kế để tương thích với màn hình LCD text (LCD 1602) và
module chuyển đổi UART-USB (còn gọi là COM-USB) sử dụng chip FT232RL, như
trên hình dưới. Đây đều là các module ngoại vi quen thuộc và điển hình.
Hình 7 : Màn hình LCD 1602 sử dụng trong bộ Kit 16 Hình 8 : Module UAR
T-USB sử dụng chip FT232RL 17
CHƯƠNG 3. THỰC HÀNH LẬP TRÌNH CHO VĐK
3.1 Tạo Project mới với Atmel Studio 6 và nạp thử mã máy cho VĐK
Khi bắt đầu lập trình với VĐK họ AVR có rất nhiều phần mềm hỗ trợ tốt cho dòng
VĐK này, tuy nhiên, lí do mà Atmel Studio được sử dụng là mang lại sự hiểu biết về
VĐK đang lập trình – vì với Atmel Studio ta phải khai báo cụ thể các chân, v.v. còn
một số IDE khác hỗ trợ điều này khi tạo một project mới.
Cụ thể, để tạo một Project mới và nạp thử mã máy cho VĐK ta cần thông qua các bước sau:
Bước 1: Trong Atmel Studio 6, vào File > New > Project . Sau khi thay đổi tên và
đường dẫn lưu project thì ta bấm OK .
Hình 9 : Giao diện tạo Projec
t mới trong Atmel Studio 6
Bước 2: Sau khi tạo Project, giao diện chọn loại vi điều khiển sẽ hiện ra, ở đây ta
sẽ chọn loại vi điều khiển là Atmega 16. 18
Hình 10 : Giao diện chọn loại vi điều khiển Hình 1 1 : Gi
ao diện làm việc chính sau khi tạo projec t 19
Bước 3: Cuối cùng thì chương trình sẽ hiện ra file chưa hàm main của project từ
đó ta có thể code chương trình theo ý muốn.
Hình 12 : Hàm main của chương trình
Bước 4 : Copy đoạn mã nguồn vào file main.c trong project vừa tạo: #include int main(){ DDRD |= 0xFF; PORTD |= 0xAA; DDRC |= 0xFF; PORTC |= 0x00; return 0; }
Đoạn code trên có nghĩa đang xét chế độ cho Port D và C với DDRx là mode Input
hay Output của mỗi chân vi điều khiển. 1 tức là chân đó là chân xuất tín hiệu ra và ngược lại. 20