Ngoài ra PORTC còn có các chức năng quan trọng sau : - Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng - Bộ PWM thực hiện chức năng điều xung lập trình được tần số, dutycycle: sử
Trang 1MỤC LỤC
LỜI CẢM ƠN 3
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 4
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN 5
PHẦN MỞ ĐẦU 6
1.1 Lý do chọn đề tài 6
1.2 Mục đích của đề tài 7
1.3 Giới hạn đề tài 7
1.4 Kết quả đạt được 7
Phần I: NỘI DUNG 8
Chương I: PHÂN TÍCH ĐỀ TÀI 8
1.1Thiết kế sơ đồ Khối 8
2.1 Xây dựng sơ đồ nguyên lý của quạt tản nhiệt tự động 9
2.1.1 Sơ đồ nguyên lý 9
2.1.2 Công thức tính toán chọn linh kiện 9
2.1.3 Vai trò của các linh kiện trong mạch 11
2.1.4 Nguyên lý hoạt động của mạch 11
3.1 Sơ đồ borad mạch 12
3.1.1 Sơ đồ sắp xếp bố trí linh kiện 12
3.1.2 Sơ đồ đi dây 13
Chương II: PHẦN LẬP TRÌNH VI ĐIỀU KHIỂN 14
Chương trình điều khiển 14
Phần III: PHỤC LỤC 17
CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH 17
1.1 Vi điều khiển PIC16F877A 17
1.1.1 Sơ đồ nguyên lý 18
1.1.2 Khái quát về chức năng của các port trong vi điều khiển PIC 16F877A 19
Trang 21.1.3 Tìm hiểu về vi điều khiển PIC16F877A 20
1.1.4 Tổ chức bộ nhớ PIC16F877A 23
1.1.5 Những linh kiện 31
Phần IV: KẾT LUẬN 46
TÀI LIỆU THAM KHẢO 47
Trang 3LỜI CẢM ƠN
Lời đầu tiên chúng em xin chân thành cảm ơn thầy Vương Sỹ Kông đã
nhiệt tình hướng dẫn chỉ bảo chúng em trong suốt quá trình làm đồ án “Thiết kế quạt tản nhiệt tự động” này.
Chúng em xin chân thành cảm ơn các thầy cô giáo trong khoa đã giúp đỡ,đóng góp ý kiến cho chúng em
Cuối cùng chúng em xin dành lời cảm ơn chân thành tới bạn bè đã độngviên, khuyến khích và tạo điều kiện cho chúng em hoàn thành tốt đề tài của mình
Do thời gian, kinh nghiệm, kiến thức…bản thân còn hạn chế, đề tài củachúng em đã hoàn thành nhưng không tránh khỏi những thiếu sót Kính mong quýthầy cô bỏ qua và góp ý để đề tài được hoàn thiện hơn, giúp chúng em rút kinhnghiệm những lần sau
Chúng em xin chân thành cảm ơn!
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6PHẦN MỞ ĐẦU
1.1 Lý do chọn đề tài
Chúng ta đang sống trong thế kỷ XXI, thế kỷ của khoa học cách mạng kỹthuật Xung quanh chúng ta có vô số các thiết bị điện tử Các thiết bị điện tử to lớndùng trong công nghiệp cho đến các thiết bị điện tử dân dụng hàng ngày quanhchúng ta đều đựơc điều khiển bởi các mạch điện tử, tìm hiểu về các mạch điện tử làmột điều hết sức thiết thực và bổ ích và có ứng dụng thực tiễn
Khi máy hoạt động các chi tiết máy được nung nóng Máy chỉ hoạt động tốtnếu chế độ nhiệt của các chi tiết được giữ trong một giới hạn nhất định Vì vậytrong các loại máy móc người ta phải dùng hệ thống làm mát Nhiệm vụ của hệthống làm mát là lấy đi phân nhiệt dư thừa của các chi tiết rồi tản ra môi trườngxung quanh, đảm bảo cho các chi tiết của động cơ luôn hoạt động ở chế độ thíchhợp nhất Có hai hệ thống làm mát là: hệ thống làm mát bằng nước sử dụng chođộng cơ có công suất lớn và hệ thống làm mát bằng không khí thường dùng chođộng cơ có công suất nhỏ
Đối với những động cơ dùng quạt làm mát cho động cơ thì quạt làm mát động
cơ được điều khiển bằng bộ xử lý trung tâm, khi động cơ hoạt động thì quạt giólàm mát động cơ sẽ chạy ở nhiều chế độ, có lúc ngừng hoạt động khi nhiệt độ động
cơ giảm thấp, và sẽ hoạt động trở lại khi nhiệt độ tăng lên mức giới hạn Ví dụ nhưlaptop, projactor …
Máy tính đang trở thành thiết bị hỗ trợ không thể thiếu đối với công việc, tuynhiên cũng giống như con người, máy tính không thể chịu được nhiệt độ cao.Khi đó, các linh kiện sẽ nhanh chóng hỏng hóc và không thể vận hành một cáchbình thường
Máy tính là một khối bao gồm nhiều thiết bị thành phần như CPU, card đồhọa, main…, và chúng sẽ phát nhiệt khi vận hành Một chiếc PC được cấu hình tốt
Trang 7thường có mức tản nhiệt cao nhờ sử dụng nhiều quạt làm mát và các giải phápkhắc phục hơi nóng Nếu chiếc máy tính của bạn có mức tản nhiệt không đủ thìnhiệt độ hệ thống sẽ cao lên, đe dọa trực tiếp tới tuổi thọ của máy Chính vì thế,làm mát PC luôn được coi là ưu tiên hàng đầu đối với người dùng máy tính.
Chính vì nhũng lý do trên chúng em đã chọn đề tài về: “ Thiết kế quạt tản nhiệt tự động ”
1.2 Mục đích của đề tài
Qua đồ án này chúng em muốn học hỏi thêm một số hệ thống mạch của hệthống làm mát để mai sau có thể thiết kế những mạch điện có tác dụng làm mát chocác thiết bị công nghiệp, quạt làm mát trong laptop, projector Qua đồ án đã giúpchúng em hiểu biết nhiều hơn về tác dụng và đặc điểm của các linh kiện điện tửtrong cuộc sống
1.3 Giới hạn đề tài
Do thời gian thực hiện và kiến thức còn hạn chế nên chúng em chỉ áp dụngtrên phạm vi mang tính chất thí nghiệm nhưng chúng em nghĩ việc phát triển vànhận rộng đề tài này rất có cơ sở
1.4 Kết quả đạt được
Sau thời gian thực hiện đồ án môn học,cùng với sự hướng dẫn tận tình của
thầy Vương Sỹ Kông, chúng em đã hoàn thành đồ án theo quy định và đã thực
hiện được yêu cầu của đề tài Chúng em đã không ngừng học hỏi về những linh kiện và các vấn đề khác lien quan, vì thế kiến thúc về điện tử, kinh nghiệm thực tế
về làm mạch đã có sự tiến bộ Một lần lần nữa chúng em xin chân thành cảm ơn
Trang 8Phần I: NỘI DUNG Chương I: PHÂN TÍCH ĐỀ TÀI 1.1 Thiết kế sơ đồ Khối
Căn cứ vào mục tiêu của đề tài t có sơ đồ khối như sau:
Trang 92.1 Xây dựng sơ đồ nguyên lý của quạt tản nhiệt tự động
2.1.1 Sơ đồ nguyên lý
Từ những phân tích như trên ta đi xây dựng sơ đồ nguyên lý của mạch điềukhiển như sau:
2.1.2 Công thức tính toán chọn linh kiện
- Chọn tải là động cơ một chiều, các phần tử trong mạch
Trang 10Bảng thông số linh kiện:
2.1.3 Vai trò của các linh kiện trong mạch
1 Biến trở có tác dụng thay đổi mức trở
2 IC nhiệt LM35 có tác dụng thay đổi điện áp dưới tác dụng của nhiệt
3 Rơ le nhiệt có tác dụng đóng mở công tắc
Trang 114 Transisto A1013 kích mở điện áp
5 Điện trở
6 Động cơ quạt tản nhiệt 12V
7 Diot 1N4007 để bảo vệ rơle
8 IC PIC16F877A để lưu dữ chương trình và điều khiển
9.Tải hạ thế từ 220V xuống 12V xoay chiều để mạch điện hoạt động với nguồn 12V
10 Cầu diot để biến dòng xoay chiều thành dòng một chiều
11 IC ổn áp 7805 cho da điện áp 5V nuôi cho IC PIC16F877 và IC LM35
12.IC ổn áp 7812 cho da điện áp 12V nuôi cho cuộn hút của rolay và quạt tản nhiệt
13 Tụ C 1000µF và tụ 1000µF để lọc điện ổn dòng
14 Đèn LED báo dòng điện vào
2.1.4 Nguyên lý hoạt động của mạch
Khi có nhiệt độ tác dụng vào IC nhiệt LM35 lúc này điện áp của LM35 sẽtăng dần điện áp
+ IC PIC 16F877 chuyển giá trị điện áp từ chân 2 của IC LM35 thành giá trị ADC
và chạy chương trình đã được cài và khi đạt tới ngưỡng nhiệt độ đã được cài sẵntrong chương trình thì chân 20 cua IC PIC16F877 sẽ chuyển trạng thái mức logiccao sang mức logic thấp kích cho transtor
Trang 12IC nhiệt LM 35 sẽ được bố trí ra ngoài để cảm nhận nhiệt
Trang 133.1.2 Sơ đồ đi dây
Trang 14Chương II: PHẦN LẬP TRÌNH VI ĐIỀU KHIỂN Chương trình điều khiển
#include <16F877a.H>
#device adc=10
#fuses NOWD,,XT,NOPROTECT,HS,NOPUT,NOLVP,NOCPD,NOWRT #use delay(clock=20000000) // TAN SO HOAT DONG
#byte porta=0x05// KHAI BAO DIA CHI TRONG PHAN CUNG
#include <lcd_lib_4bit.c> // khai bao thu vien lcd 4 bit
int16 adc; // khai bao bien luu gia tri doc duoc
FLOAT nhiet_do; // khai bao bien luu gia tri doc duoc
Trang 15set_adc_channel(0); // chon kenh A0 de do duoc gia tro adc
delay_us (10); // tao tre
ADC = read_adc(); // doc gia tri adc va luu vao bien adc
nhiet_do=adc*0.4887; // chuyen doi adc thanh nhiet do luu vao bien nhiet do }
VOID HIEN_THI_NHIET_DO()
{
chuyen_doi_adc(); // doc nhiet do
LCD_PUTCMD(0X80); // tro con tro den o 1 dong 1 cua lcd
LCD_PUTCHAR (" Temp: " ); // hien thi chu “temp” ra man hinh
Trang 17Phần III: PHỤC LỤC CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH 1.1 Vi điều khiển PIC16F877A
Những Đặc điểm của họ vi điều khiển PIC 16F877A
Sơ đồ chân PIC 16F877A
Trang 191.1.2 Khái quát về chức năng của các port trong vi điều khiển PIC 16F877A
PORTA
PORTA gồm có 6 chân Các chân của PortA, ta lập trình để có thể thực hiệnđược chức năng “hai chiều” : xuất dữ liệu từ vi điều khiển ra ngoại vi và nhập dữliệu từ ngoại vi vào vi điều khiển
Việc xuất nhập dữ liệu ở PIC16F877A khác với họ 8051 Ở tất cả các PORTcủa PIC16F877A, ở mỗi thời điểm chỉ thực hiện được một chức năng :xuất hoặcnhập Để chuyển từ chức năng này nhập qua chức năng xuất hay ngược lại, ta phải
xử lý bằng phần mềm, không như 8051 tự hiểu lúc nào là chức năng nhập, lúc nào
là chức năng xuất
Trong kiến trúc phần cứng của PIC16F877A, người ta sử dụng thanh ghiTRISA ở địa chỉ 85H để điều khiển chức năng I/O trên Muốn xác lập các chân nàocủa PORTA là nhập (input) thì ta set bit tương ứng chân đó trong thanh ghi TRISA.Ngược lại, muốn chân nào là output thì ta clear bit tương ứng chân đó trong thanhghi TRISA Điều này hoàn toàn tương tự đối với các PORT còn lại
Ngoài ra, PORTA còn có các chức năng quan trọng sau :
- Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sangDigital
Trang 20thanh ghi TRISB, ngược lại muốn chân nào là output thì ta clear bit tương ứngtrong TRISB.
Thanh ghi TRISB còn được tích hợp bộ điện trở kéo lên có thể điều khiển đượcbằng chương trình
PORTC
PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sựđiều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên
Ngoài ra PORTC còn có các chức năng quan trọng sau :
- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng
- Bộ PWM thực hiện chức năng điều xung lập trình được tần số, dutycycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ v.v…
- Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART
PORTD
PORTD có 8 chân Thanh ghi TRISD điều khiển 2 chức năng input và outputcủa PORTD tương tự như trên PORTD cũng là cổng xuất dữ liệu của chuẩn giaotiếp song song PSP (Parallel SlavePort)
PORTE
PORTE có 3 chân Thanh ghi điều khiển xuất nhập tương ứng là TRISE Cácchân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điềukhiển của chuẩn giao tiếp PSP
1.1.3 Tìm hiểu về vi điều khiển PIC16F877A
Cấu trúc phần cứng của PIC16F877A
PIC là tên viết tắt của “ Programmable Intelligent computer” do hãng GeneralInstrument đặt tên cho con vi điều khiển đầu tiên của họ Hãng Microchip tiếp tụcphát triển sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khácnhau
Trang 21PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầuhết tất cả các ứng dụng thực tế Đây là dòng PIC khá dễ cho người mới làm quenvới PIC có thể học tập và tạo nền tản về họ vi điều khiển PIC của mình.
Cấu trúc tổng quát của PIC16F877A như sau :
- 8K Flash Rom
- 368 bytes Ram
- 256 bytes Rom
- 5 port vào ra với tín hiệu điều khiển độc lập
- 2 bộ định thời Timer0 và Timer2 8 bit
- 1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm nănglượng với nguồn xung clock ngoài
- 2 bộ Capture/ Compare/ PWM
- 1 bộ biến đổi Analog -> Digital 10 bit, 8 ngõ vào
- 2 bộ so sánh tương tự
- 1 bộ định thời giám sát (Watch Dog Timer)
- 1 cổng song song 8 bit với các tín hiệu điều khiển
- 1 cổng nối tiếp
- 15 nguồn ngắt
Trang 22Sơ đồ khối vi điều khiển 16F877
Trang 23Mỗi bank của bộ nhớ dữ liệu PIC16F877A bao gồm cả các thanh ghi có chứcnăng đặc biệt SFR nằm ở các các ô nhớ địa chỉ thấp và các thanh ghi mục đíchdùng chung GPR nằm ở vùng địa chỉ còn lại của mỗi bank thanh ghi Vùng ô nhớcác thanh ghi mục đích dùng chung này chính là nơi người dùng sẽ lưu dữ liệutrong quá trình viết chương trình Tất cả các biến dữ liệu nên được khai báo chứatrong vùng địa chỉ này.
Trong cấu trúc bộ nhớ dữ liệu của PIC16F877A, các thanh ghi SFR nào màthường xuyên được sử dụng (như thanh ghi STATUS) sẽ được đặt ở tất cả các bank
Trang 24để thuận tiện trong việc truy xuất Sở dĩ như vậy là vì, để truy xuất một thanh ghinào đó trong bộ nhớ của 16F877A ta cần phải khai báo đúng bank chứa thanh ghi
đó, việc đặt các thanh ghi sử dụng thường xuyên giúp ta thuận tiên hơn rất nhiềutrong quá trình truy xuất, làm giảm lệnh chương trình
Sơ đồ bộ nhớ dữ liệu của PIC16F877A
Trang 25Dựa trên sơ đồ 4 bank bộ nhớ dữ liệu PIC16F877A ta rút ra các nhận xét nhưsau :
-Bank0 gồm các ô nhớ có địa chỉ từ 00h đến 77h, trong đó các thanh ghi dùngchung để chứa dữ liệu của người dùng địa chỉ từ 20h đến 7Fh Các thanh ghiPORTA, PORTB, PORTC, PORTD, PORTE đều chứa ở bank0, do đó để truy xuất
dữ liệu các thanh ghi này ta phải chuyển đến bank0 Ngoài ra một vài các thanh ghithông dụng khác ( sẽ giới thiệu sau) cũng chứa ở bank0
- Bank1 gồm các ô nhớ có địa chỉ từ 80h đến FFh Các thanh ghi dùng chung cóđịa chỉ từ A0h đến Efh Các thanh ghi TRISA, TRISB, TRISC, TRISD, TRISEcũng được chứa ở bank1
- Tương tự ta có thể suy ra các nhận xét cho bank2 và bank3 dựa trên sơ đồ trên.Cũng quan sát trên sơ đồ, ta nhận thấy thanh ghi STATUS, FSR… có mặt trên
cả 4 bank Một điều quan trọng cần nhắc lại trong việc truy xuất dữ liệu củaPIC16F877A là : phải khai báo đúng bank chứa thanh ghi đó Nếu thanh ghi nào
mà 4 bank đều chứa thì không cần phải chuyển bank
a) Một vài thanh ghi chức năng đặc biệt SFR
Thanh ghi STATUS : thanh ghi này có mặt ở cả 4 bank thanh ghi ở các địa chỉ
03h, 83h, 103h và 183h : chứa kết quả thực hiện phép toán của khối ALU, trạngthái reset và các bit chọn bank cần truy xuất trong bộ nhớ dữ liệu
Thanh ghi OPTION_REG : có mặt ở bank2 và bank3 có địa chỉ 81h và 181h.
Thanh ghi này cho phép đọc và ghi, cho phép điều khiển chức năng pull_up củacác chân trong PORTB, xác lập các tham số về xung tác động, cạnh tác động củangắt ngoại vi và bộ đếm Timer0
Trang 26Thanh ghi INTCON : có mặt ở cả 4 bank ở địa chỉ 0Bh,8Bh,10Bh,18Bh Thanh
ghi cho phép đọc và ghi, chứa các bit điều khiển và các bit báo tràn timer0, ngắtngoại vi RB0/INT và ngắt khi thay đổi trạng thái tại các chân của PORTB
Thanh ghi PIE1 :địa chỉ 8Ch, chứa các bit điều khiển chi tiết các ngắt của các
khối chức năng ngoại vi
Thanh ghi PIR1 : địa chỉ 0Ch, chứa cờ ngắt của các khối chức năng ngoại vi,
các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1
Thanh ghi PIE2 : địa chỉ 8Dh, chứa các bit điều khiển các ngắt của các khối
chức năng CCP, SSP bú, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM
Thanh ghi PIR2: địa chỉ 0Dh, chứa cờ ngắt của các khối chức năng ngoại vi, các
ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2
Thanh ghi PCON : địa chỉ 8Eh, chứa các cờ hiệu cho biết trạng thái các chế độ
reset của vi điều khiển
Trang 27b) Thanh ghi W(work)
Đây là thanh ghi rất đặc biệt trong PIC16F877A Nó có vai trò tương tự nhưthanh ghi Accummulator của 8051, tuy nhiên tầm ảnh hưởng của nó rộng hơn rấtnhiều
Tập lệnh của PIC16F877A có tất cả 35 lệnh thì số lệnh có sự “góp mặt” củathanh ghi W là 23 lệnh Hầu hết các lệnh của PIC16F877A đều liên quan đến thanhghi W Ví dụ như, trong PIC chúng ta không được phép chuyển trực tiếp giá trị củamột thanh ghi này qua thanh ghi khác mà phải chuyển thông qua thanh ghi W.Thanh ghi W có 8 bit và không xuất hiện trong bất kỳ bank thanh ghi nào của
bộ nhớ dữ liệu của 16F877A Mỗi dòng lệnh trong PIC16F877a được mô tả trong
14 bit Khi ta thực hiện một lệnh nào đó, nó phải lưu địa chỉ của thanh ghi bị tácđộng (chiếm 8 bit) và giá trị một hằng số k nào đó (thêm 8 bit nữa) là 16 bit, vượtquá giới hạn 14 bit Do vậy ta không thể nào tiến hành một phép tính toàn trực tiếpnào giữa 2 thanh ghi với nhau hoặc giữa một thanh ghi với một hằng số k Hầu hếtcác lệnh của PIC16F877A đều phải liên quan đến thanh ghi W cũng vì lý do đó.Khi thực hiện một dòng lệnh nào đó, thì PIC sẽ không phải tốn 8 bit để lưu địa chỉcủa thanh ghi W trong mã lệnh ( vì được hiểu ngầm) Có thể xem thanh ghi W làthanh ghi trung gian trong quá trình viết chương trình cho PIC16F877A
c) Các vấn đề về Timer
PIC16F877A có tất cả 3 timer : timer0 (8 bit), timer1 (16 bit) và timer2 (8 bit)