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 .... - Thôn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2LỜI NÓI ĐẦU
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ử đã ứ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ới mục đích tìm hiểu và đáp ứng những yêu cầu trên em đã lựa chọn một đề tài có tính ứng dụng trong thực tế, nhưng không quá xa lạ đối với mọi người, đó là
“Mạch đo và hiển thị nhiệt độ”
Trong quá trình làm đồ án, chúng em được sự chỉ dẫn nhiệt tình của của thầy
…Sự cổ vũ của thầy là động lực lớn lao cổ vũ tinh thần cho chúng em trên con đường rèn luyện đầy gian lao, vất vả
Chúng em đã cố gắng vận dụng những kiến thức mà chúng em học được ở trường và tự học một cách hiệu quả nhất song vẫn còn nhiều thiết sót Em rất mong nhận được sự góp ý chân thành từ thầy cô và các bạn Em xin chân thành cảm ơn
Trang 3Mục Lục
Chương I: Giới thiệu tổng quan
1.1.Giới thiệu đề tài ………
1.2.Mục tiêu đồ án ………
Chương II Mô tả chung về hệ thống Chương III Cơ sở lý thuyết 3.1.Linh kiện cơ bản sử dụng ………
3.2.Tìm hiểu về vi điều khiển AT89C51 trong mạch ………
3.3.Tìm hiểu về Thermocouple type K ………
3.4.Tìm hiểu về IC INA128 ………
3.5.Tìm hiểu về IC ADC0804 ………
3.6.Tìm hiểu về màn hình LCD 16x02 ………
3.7.Tìm hiểu về cảm biến nhiệt độ LM35 ………
Chương IV Thiết kế chi tiết mạch 4.1.Sơ đồ nguyên lý chi tiết ………
4.2 Tính toán thông số, lựa chọn linh kiện trong mạch ………
4.3.Làm mạch PCB ………
Chương V Code chương trình đo nhiệt độ Chương VI Kết quả và thử nghiệm Chương VII.Tài liệu tham khảo………
Chương I: Giới thiệu tổng quan
1.1. Giới thiệu đề tài.
- Đề tài thiết kế mạch đo nhiệt độ cao của chúng em gồm những phần chính sau:
Trang 4• Mô tả chung về hệ thống: Qua phần này,chúng ta sẽ có cái nhìn
tổng quan về hệ thống mà ta muốn thực hiện,các khối chức năng chính để từ đó đi vào tìm hiểu chi tiết ở phần sau
• Cơ sở lý thuyết: Sau khi đã có cái nhìn tổng quan chung về hệ
thống đo nhiệt độ thì ở phần này,ta sẽ đi sâu vào tìm hiểu chi tiết từng linh kiện,module mà ta sử dụng và cách sử dụng,cấu hình từng IC,module.Phần này rất quan trọng bởi nó là nền tảng để lựa chọn loại linh kiện,tính toán sao cho phù hợp nhất
• Thiết kế chi tiết mạch :Phần này sẽ chứng minh sự hiểu biết của
chúng em về lý thuyết dựa vào việc ứng dụng lý thuyết vào thực tế.Ở phần này, chúng em thự hiện việc thiết kế, vẽ sơ đồ Schematicmạch, tính toán và lựa chọn linh kiện, làm mạch PCB để có một mạch hoàn chỉnh
• Code chương trình:Sau khi đã có một mạch hoàn chỉnh,chúng em
thực hiện viết code chương trình điều khiển đo nhiệt độ rồi sau đó nhúng code vào mạch mà chúng em đã làm ở các bước trên
• Kết quả và thử nghiệm:ở phần này,chúng em tiến hành chạy thử
nghiệm và tinh chỉnh sao cho hợp lý nhất
1.2 Mục tiêu đồ án.
- Mục tiêu trước nhất khi thực hiện đề tài này là hoàn thành đồ án I với một kết quả tốt nhất
- Thông qua việc thiết kế mạch đo nhiệt độ một cách chi tiết, giúp chúng
em phát huy tính sáng tạo, khả năng giải quyết một vấn đề cụ thể được đặt ra, cụ thể là giúp ta hiểu sâu hơn về những linh kiện điện tử cơ bản, những IC, vi xử lý, đồng thời rèn luyện kĩ năng thiết kế mạch thủ công,
để từ đó có cái nhìn sâu sắc hơn về áp dụng lý thuyết trên lớp vào một ứng dụng cụ thể trong thực tiễn
Chính những lợi ích đó cũng là những mục đích mà nhóm sinh viên chúng em mong muốn đạt được sau đồ án này
Trang 5Chương II Mô tả chung về hệ thống
-Giới thiệu sơ lược:
Trái tim mạch: vi điều khiển AT89C51
Nguồn điện cho mạch được cấp qua adapter 5V
Mạch được nạp code qua mạch nạp ISP
Nhiệt độ đo được sẽ hiển thị lên màn hình LCD
-Để hiểu rõ hơn, mời thầy cô nhìn vào sơ đồ khối của chúng em dưới đây:
Trang 6Sơ đồ hệ thống mạch đo nhiệt độ của chúng em gồm 6 khối chính:
Khối MCU : chúng em sử dụng vi điều khiển AT89C51 là trung tâm điều khiển hệ thống.Đây là một vi điều khiển 8bit rất quen thuộc đối với chúng ta
Khối nguồn: sử dụng nguồn 5V để nuôi vi điều khiển, nguồn được cấp cho MCU hoạt động trước khi từ adapter thông qua sẽ đi qua khối nguồn gồm IC
ổn áp ASM1117 và một số tụ lọc
Khối khuếch đại tín hiệu: do tín hiệu điện áp từ thermocouple phát ra quá bé
để vi điều khiển đọc được nên cần khối khuếch đại trước khi đi vào chân của
vi điều khiển
Khối ADC: Khối này gồm một con ADC0804 để chuyển đổi điện áp dạng tương tự sang dạng số 8bit do MCU của chúng ta không tích hợp chức năng ADC
Khối hiện thị: Ở đây, chúng em sử dụng màn hình LCD16x02 để hiện thị nhiệt độ sau khi đã xử lý,đo đạc
Trang 7 Khối nạp code: Sử dụng mạch nạp ISP để nạp chương trình vào vi điều khiển.
Nguyên lý hoạt động như sau: Khi mạch được cấp nguồn,tín hiệu từ cặp nhiệt điện được đưa vào khối khuếch đại sẽ khuếch đại điện áp từ cặp nhiệt điện đủ để đưa vào bộ ADC rồi đưa vào chân vi điều khiển
có thể đọc được Tín hiệu tương tự ở đây được xử lý thành tín hiệu số 8bit, tinh chỉnh xử lý, quy đổi ra nhiệt độ rồi hiển thị ra màn hình LCD
Chương III Cơ sở lý thuyết.
3.1.Linh kiện cơ bản được sử dụng
3.1.1 Điện trở
-Điện trở là một linh kiện điện tử có công dụng dễ hiểu nhất là để giảm dòngđiện chảy trong mạch (hạn chế cường độ dòng điện) Trong tiếng Anh, resistor là điện trở
Trang 8- Khả năng giảm dòng điện của điện trở được gọi là điện trở suất và được đo
bằng đơn vị ohms (đơn vị điện trở) Nếu chúng ta tạo ra sự tương tự với dòng nước
chảy qua các đường ống, thì điện trở là một ống mỏng làm giảm lưu lượng nước
-Dòng điện I của ampe kế (A) bằng điện áp V của điện trở tính bằng vôn (V)chia cho điện trở R tính bằng ohms (Ω):
3.1.2 Tụ điện
-Tụ điện là một trong những linh kiện quan trọng trong số 5 linh kiện của thiết bị điện tử Tụ điện không thể thiếu trong các mạch lọc, mạch dao động và các loại mạch truyền dẫn tín hiệu xoay chiều Cấu tạo và hoạt động cũng như ứng dụngcủa tụ điện là điều rất cần thiết
Ứng dụng tụ điện:
- Tụ điện cho phép điện áp xoay chiều đi qua, đồng thời ngăn điện áp 1 chiều lại Vì thế nó được dùng để truyền tín hiệu giữa các tầng khuếch đại có chênh lệch điện áp
- Lọc điện áp xoay chiều sau khi đã loại bỏ pha âm thành điện áp 1 chiều bằng phẳng
- Với điện xoay chiều thì tụ sẽ dẫn điện còn với điện một chiều thì tụ lại trở thành tụ lọc
Trang 93.1.3 Thạch anh
-Thạch anh là một trong những nguyên tố quan trọng trong các sản phẩm linh kiện điện tử Đặc biệt trong IC điều khiển, chúng được ví như một trái tim của linh kiện này
Một ứng dụng cơ bản đó chính là thạch anh tạo ra dao động trong mạch (có nhiều kiểu tạo dao động khác như L- C, R-C…)
-Thạch anh là bộ dao động khá ổn định để tạo ra tần số dao động cho các vi điều khiển Đa số các mạch điều khiển đèn Led đều dùng thạch anh có thể là Thạchanh 12Mhz, 24Mhz… mỗi loại linh kiện sẽ cho ra một xung nhịp khác nhau
-Thạch anh sử dụng trong điện tử đa phần để tạo ra tần số được ổn định vì tần số của thạch anh tạo ra rất ít bị ảnh hưởng bởi nhiệt độ hơn là các mạch dao động RC khác…
-Trong vi điều khiển bắt buộc phải có thạch anh (trừ các loại có dao động nội) vì xét chi tiết thì vi điều khiển có CPU, timer, … CPU bao gồm các mạch logic và mạch logic muốn hoạt động cũng cần có xung clock, còn timer thì gồm các dãy FF cũng cần phải có xung để đếm Tùy loại VDK mà bao nhiêu xung clockthì ứng với 1 chu kì máy, và với mỗi xung clock VDK sẽ đi làm 1 công việc nhỏ ứng với lệnh đang thực thi.Để chạy các câu lệnh trong ic vi điều khiển, bạn cần tạo
ra xung nhịp Tần số xung nhịp phụ thuộc vào thạch anh gắn trên chân kết nối thạch anh của vi điều khiển Ví dụ nhỏ với thạch anh 12MHz, bạn sẽ có xung nhịp
Trang 101MHz, như vậy chu kỳ lệnh sẽ là 1μs Để tăng độ ổn định tần số, người ta dùng thêm 2 tụ nhỏ (33pF x2), tụ bù nhiệt ổn tần.
3.2.Tìm hiểu về vi điều khiển AT89C51
Cấu tạo và chức năng các khối của AT89C51.
• CPU( CPU centralprocessing unit) bao gồm:
Thanh ghi tích lũy A;
Thanh ghi tích lũy phụ B;
Đơn vị logic học (ALU);
Thanh ghi từ trạng thái chương trình;
Bốn băng thanh ghi;
Con trỏ ngăn xếp
• Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash
• Bộ nhớ dữ liệu( RAM) gồm 256 byte
• Bộ UART, có chức năng truyền nhận nối tiếp
• 3 bộ Timer/Counter 16 bit thực hiện chức năng định thời và đếm sự kiện
• Khối điều khiển ngắt với 2 nguồn ngắt ngoài và 4 nguồn ngắt trong
• Bộ lập trình( ghi chương trình lên Flash ROM) cho phép người sử dụng có thể nạp các chương trình cho chíp mà không cần các bộ nạp chuyên dụng
• Bộ chia tần số với hệ số chia là 12
• 4 cổng xuất nhập với 32 chân
Chức năng các chân của AT89C51
Port 0( P0.0=>P0.7)
Port 0 gồm 8 chân, ngoài chức năng xuất nhập, port 0 còn là bus đa hợp dữ liệu
và địa chỉ( AD0-AD7), chức năng này sẽ được sử dụng khi AT89C51 giao tiếp với các thiết bị ngoài có kiến trúc Bus như các vi mạch nhớ, mạch PIO…
Port 1( P1.0=>P1.7)
Trang 11Chức năng duy nhất của Port 1 là chức năng xuất nhập cũng như các Port khác.Port1 có thể xuất nhập theo bit và theo byte.
Chân /PSEN : là chân điều khiển đọc chương trình ở bộ nhớ ngoài
Chân ALE
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động của
vi điều khiển Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 7473
Trang 12+ chân P1.0=>P1.7 giao tiếp với ADC0804 Cổng P1 này có nhiệm vụ đọc nhiệt
độ thu được từ bộ chuyển đổi
+P0.0=>P0.7 Lần lượt được nối với đầu vào dữ liệu từ DB4=> DB7 của LCD Và các chân EN,WR,RS thông qua điện trở thanh Có chức năng cấp nguồn, điều khiển hiển thị LCD theo thao tác khống chế và nhiệt độ đo được
+P3.0=>P3.3 lần lượt nối với RD , WR, INTR,CS của ADC0804 Nhiệm vụ điều khiển hoạt động của bộ chuyển đổi số - tương tự
3.3 Tìm hiểu về thermocouple type K
Trang 13-Thermocouple là loại cảm biến 2 dây với 2 loại chất liệu khác nhau, hoạtđộng dựa vào hiệu ứng seeback.
Điện áp đầu ra bởi cặp nhiệt điện:
V: điện áp đo được (V)
S: hệ số Seeback (V/0C)
: chênh lêch nhiệt độ giữa hai đầu mối nối
Nhiệt độ đo được tính theo công thức:
Trang 14-Trước hết ta hãy tham khảo một vài đặc tính của thermocouple loại k Dướiđây là bản điện áp đầu ra của thermocouple loại k khi thay đổi nhiệt độ, rõ ràngbạn điện áp đầu ra rất bé giả sử khi nhiệt độ môi trường là 350C thì điện áp đầu rachỉ 1.407(mv) Nên ta cần phải khuếch đại điện áp trước khi đọc tín hiệu củachúng.
Bảng 1 Sự thay đổi điện áp khi nhiệt độ thay đổi Đơn vị (mV)
Có nhiều cách đọc thermocouple loại k này Ví dụ như cách đọc như hình sau
-Đây là cách đọc có bù nhiệt độ, nhưng mỗi lần cần đọc nhiệt độ bạn phải đimua vài nghìn nước đá thì mới đo được Điều đó quả là bất tiện nên một nhiệm vụcủa đồ án này là chúng em sẽ đi giải quyết bài toán này
3.4 Tìm hiểu về INA128
Là loại OPAMP thường sử dụng để khuếch đại điện áp trong đo lường cảm biến
Trang 15-Gồm 3 OPAMP, 2 OPAMP mắc theo kiểu khuếch đại đảo và OPAMP còn
lại mắc theo kiểu vi sai Ở đây ta chú ý tới R G là điện trở thay đổi giá trị khuếch
đại, công việc của chúng ta là phải đi tính giá trị R G sao cho phù hợp với mục đíchban đầu
-Lưu ý rằng , khi đọc nhiệt độ từ thermocouple thì chúng ta nên dùng trở
100(kΩ) mắc vào cực âm của thermocouple.
Điều này được giải thích ở datasheet như sau:
Trang 16“If the differential source resistance is low, the bias current return path can be connected to one input (see the thermocouple example in Figure 26) With higher source impedance, using two equal resistors provides a balanced input, with
possible advantages of lower input offset voltage due to bias current and better highfrequency common-mode rejection.”
Một công thức quan trọng ở phần này là hệ số khuếch đại G:
INA128 gồm 8 chân:
Vin+ và Vin- (chân 2 và chân 3)sẽ được nối vào hai đầu của cặp nhiệt điện
Chân 7 là chân cấp nguồn cho IC
Chân 4 là chân cấp điện áp âm cho IC,tạo ra bằng cách dẫn nguồn dương qua ICL7760
Chân 1 và chân 8 nối vào hai đầu của điện trở ,chúng ta sẽ tính giá trị này ở phần sau
Chân 5 là chân điện áp tham chiếu Ref.Chúng ta cần thiết kế một mạch bù điện áp ở đây vì:
- Cặp nhiệt độ được thiết kế 2 đầu( đầu nóng và đầu lạnh),đầu nóng là nhiệt độ cần đo,đầu lạnh để chính xác phải được đặt ở 0 độ C, như vậy khi ta đặt cặp nhiệt độ ở môi trường ngoài,nó sẽ chịu nhiệt độ của môi trường,dẫn đến kết quả đo sai số lớn,vì vậy,cách tốt nhất ta sẽ thiết kế mạch bù điện áp vào chân Ref bằng cách dùng con cảm biến nhiệt LM35
đo điện áp môi trường rồi đưa vào chân Ref
Mạch sử dụng trong đồ án:
3.5 Tìm hiểu về ADC0804
Trang 17-Chip ADC0804 là bộ chuyển đổi tương tự số thuộc họ ADC800 của hãng NationalSemiconductor Chip có điện áp nuôi +5V và độ phân giải 8 bit Ngoài độ phân giảithì thời gian chuyển đổi cũng là một tham số quan trọng khi đánh giá bộ ADC Thời gian chuyển đổi được định nghĩa là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân Đối với ADC0804 thì thời gian chuyển đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK và CLK IN và không bé hơn 110µs.Các chân khác của ADC-0804 có chức năng như sau :
-CS (Chip select): Chân số 1, là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt Chip ADC-0804 Để truy cập tới ADC0804 thì chân nàyphải được đặt ở mức thấp
-RD (Read): Chân số 2, là chân nhận tín hiệu vào tích cực ở mức thấp Các
bộ chuyển đổi của 0804 sẽ chuyển đổi đầu vào tương tự thành số nhị phân và giữ
nó ở một thanh ghi trong Chân RD được sử dụng để cho phép đưa dữ liệu đã đượcchyển đổi tới đầu ra của ADC-0804 Khi CS = 0 nếu có một xung cao xuống thấp
áp đến chân RD thì dữ liệu ra dạng số 8 bit được đưa tới các chân dữ liệu (DB0 – DB7)
-WR (Write): Chân số 3, đây là chân vào tích cực mức thấp được dùng báo cho ADC biết để bắt đầu quá trình chuyển đổi Nếu CS = 0 khi WR tạo ra xung sườn thấp nên cao thì bộ ADC-0804 bắt đầu quá trình chuyển đổi giá trị đầu vào tương tự Vin thành số nhị phân 8 bit Khi việc chuyển đổi hoàn tất thì chân INTR được ADC hạ xuống thấp
-CLK IN và CLK R: CLK IN (chân số 4), là chân vào nối tới đồng hồ ngoài được sử dụng để tạo thời gian Tuy nhiên ADC0804 c ũng có một bộ tạo xung đồng
hồ riêng Để dùng đồng hồ riêng thì các chân CLK IN và CLK R (chân số 19) đượcnối với một tụ điện và một điện trở Khi đó tần số được xác định bằng biểu thức:
F = 1/(1.1xRC)
Trang 18-Ngắt INTR (Interrupt - ngắt hay gọi chính xác hơn là “kết thúc chuyển đổi") :Chân số 5, là chân ra tích cực mức thấp Bình thường chân này ở trạng thái cao và khi việc chuyển đổi tương tự số hoàn tất thì nó chuyển xuống mức thấp để báo cho CPU biết là dữ liệu chuyển đổi sẵn sàng để lấy đi Sau khi INTR xuống thấp, cần đặt CS = 0 và gửi một xung cao xuống thấp tới chân RD để đưa dữ liệu ra.
-Vin (+) và Vin (-): Chân số 6 và chân số 7, đây là 2 đầu vào tương tự vi sai, trong
đó Vin = Vin(+) – Vin(-) Thông thường Vin(-) được nối tới đất và Vin(+) được dùng làm đầu vào tương tự và sẽ được chuyển đổi về dạng số
-Vcc: Chân số 20, là chân nguồn nuôi +5V Chân này còn được dùng làm điện áp tham chiếu khi đầu vào Vref/2 để hở
-Vref/2: Chân số 9, là chân điện áp đầu vào được dùng làm điện áp tham chiếu Nếu chân này hở thì điện áp đầu vào tương tự cho ADC0804 nằm trong dải
0 đến +5V Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin khác vớidải 0 đến +5V Chân Vref/2 được dùng để thực hiện các điện áp đầu ra khác 0 đến +5V
và D0 là bit thấp nhất LSB) Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp
Để tính điện áp đầu ra ta tính theo công thức sau :
Dout = Vin / Kích thước bước
Cách tính giá trị điện áp đầu vào :
+ Vin= Độ mịn x Giá trị số đầu ra
+ Độ mịn = Điện áp tham chiếu / Độ phân giải
Ví dụ điện áp tham chiếu là 5V, độ phân giải 8 bit = 2^8 = 256
3.6 Tìm hiểu về LCD16x02
-Màn hình text LCD1602 xanh lá sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến