ĐỒ ÁN MÔN HỌC 2
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚ NG NG DẪN ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... Ngày
GVHD:ThS. VŨ THẾ ĐẢNG
Tháng
Năm 2012
Page 1
ĐỒ ÁN MÔN HỌC 2
MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .................................................................. 1 I/ ĐẶT VẤN ĐỀ ...................................................................................... ......................................... ................................................................................ ................................... 4 II/ GIỚI THIỆU HỆ THỐNG LÒ ẤP TRỨ NG NG TRÊN THỊTRƯỜNG ...................................... .................. .................... 4 a.Mấy ấp trứng GTL -1000...................................................................................... ......................................... ................................................................. .................... 4 b.Máy ấp trứng OXY GTL 240K ................................................................................................ .................................................... ............................................ 4 I/ PHÂN TÍCH BÀI TOÁN VÀ CÁC GI G IẢI PHÁP .................................................................... ....................................... ............................. 7 1. Chức năng của đề tài: .......................................................................................... ............................................. ................................................................. .................... 7 2. giải pháp lựa chọn đề tài:..................................................................................... ........................................ ................................................................. .................... 7 4.Lý thuyết điều khiển PID.............................................................. PID................. ....................................................................................... .......................................... 15 5. Tóm tắt PID ................................................................................................ ................................................... ........................................................................ ........................... 19 CHƯƠNG III: THIẾT KẾ PHẦN CỨ NG NG HỆ THỐNG ........................................................... ......................................... .................. 46 46 I/ CÁC MODULE TRONG HỆ THỐNG .............................................................................. ................................. ................................................ ... 46 1. Module điều khiển ................................................................................................................. ....................................................................... .......................................... 46 46 2.Module cài đặt ...................................................................................................... ......................................................... ............................................................... .................. 46 3. Module hiển thị..................................................................................... ........................................ .............................................................................. ................................. 46 4. Module cấp nhiệt ....................................................................................................... .......................................................... ......................................................... ............ 46 5. Module khối nguồn..................................................................................... ........................................ ........................................................................ ........................... 46 6. Module cảm biến ................................................................................................. .................................................... ............................................................... .................. 46
GVHD:ThS. VŨ THẾ ĐẢNG
Page 2
ĐỒ ÁN MÔN HỌC 2
LỜ I NÓI ĐẦU Thế kỷ 21 mở ra một thờ i đại mớ i , thờ i đại khoa học công nghệ đòi hỏi con ngườ i luôn luôn không ng ừng tìm tòi học tập để tiến bộ .Vớ i sự nhảy vọt của khoa học, kỹ thuật điện tử là nghành mớ i phát triển chỉ trong thờ i gian ngắn nó đã đạt đượ c những thành tựu to lớ n ở hầu hết các l ĩ nh vực khác nhau trong đờ i sống xã hội.Thiết bị ĩ nh và công nghệ luôn đượ c đổi mớ i tiên tiến hiện đại để góp phần nâng cao chất lượ ng ng cũng như các máy móc ,thi ết bị hoạt động có hiệu quả , an toàn ổn định . Ngày nay các bộ vi điều khiển đang có ứng dụng ngày càng r ộng rãi trong các l ĩ nh vực kỹ thuật và ĩ nh đờ i sống xã hội, đặc biệt là trong k ỹ thuật tự động hóa và điều khiển từ xa. Giờ đ ờ đây vớ i nhu cầu chuyên d ụng hóa, tối ưu (thờ i gian ,không gian ,giá thành) bảo m ật, tính chủ động trong công việc…ngày càng đòi h ỏi kh ắt khe.việc đưa ra công nghệ mớ i trong l ĩ nh v ực ch ế tạo m ạch điện t ử để đáp ứng những nhu cầu trên là hoàn ĩ nh toàn cấp thiết mang tính th ực tế cao. Kỹ thuật vi điều khiển hiện nay rất phát triển, nó đượ c ứng dụng vào rất nhiều ĩ nh ĩ nh l ĩ nh vực sản xuất công nghiệp, t ự động hóa, trong đờ i sống và còn nhi ều l ĩ nh vực khác nữa. So vớ i kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơ n rất nhiều do nó đượ c ơ động. tích hợ p l ại và có khả năng l ập trình đượ c để điều khiển nên rất ti ện d ụng và cơ độ Vớ i tính ưu vi ệt của vi điều khiển thì trong ph ạm vi đồ án nhỏ này, chúng em ch ỉ dùng vdk để Điều khiển và đo nhiệt độ, đồng thờ i cho hiển thị lên LCD. Đồ án môn học đượ c thực hiện bằng các ki ến thức đã học ,một số sách tham khảo và một số nguồn tài liệu khác .Tuy nhiên do th ờ i gian và trình độ có hạn nên chúng em không thể tránh khỏi những thiếu sót. Vì v ậy rất mong đượ c sự giúp đỡ , đóng góp ý kiến của th t hầy và các bạn để nhóm có thể hoàn thành đồ án của mình một cách tốt nhất. Chúng em xin trân thành c ảm ơ n
GVHD:ThS. VŨ THẾ ĐẢNG
Page 3
ĐỒ ÁN MÔN HỌC 2
CHƯƠ NG NG I: PHÂN TÍCH HỆ THỐNG I/ ĐẶT VẤN ĐỀ Ngày nay do s ự phát triển c ủa khoa học k ỹ thuật đang tác động đến các l ĩ nhvực, ĩ nhv đặc bi ệt là l ĩ ĩ nh ĩ nh nh v ực điện t ử đã t ạo ra bướ c nh ảy vọt v ượ t bậc trong nhiều l ĩ nh v ực c ủa đờ i sống xã hội . Ngay cả trong trồng trọt ,chăn nuôi cũng đượ c áp dụng khoa học công nghệ để đạt năng suất cao nhất.Là sinh viên c ủa nghành tự động hóa nhóm mong muốn tạo ra một hệ thống tự động áp dụng trong chăn nuôi. Chúng em đặt bài toán vớ i m ột lò ấp trứng gia cầm. Ngườ i ta thườ ng ng cho trứng ấp ở nhiệt độ cố định cho phép. Tuy nhiên nhi ệt độ trong lò luôn thay đổi và phụ thuộc vào nhiệt độ môi trườ ng. ng. Vì vậy chúng em mong mu ốn đượ c nghiên cứu thiết kế ra h ệ thống ổn định nhiệt độ lò ấp trứng nhằm tự động đo và hiển thị nhiệt độ của môi trườ ng ng một thờ i điểm bất k ỳ trong khoảng t ừ 0 đến 255 độ C .Và ổn định khi nhiệt độ của môi trườ ng ng không nằm trong một khoảng nhiệt độ nào đó mà ta đã chọn. II/ GIỚ I THIỆU HỆ THỐNG LÒ ẤP TRỨ NG NG TRÊN THỊTRƯỜ NG NG 1. Nguyên lý ho ạt động của các máy ấp trứ ng ng trên thị trườ ng ng Các máy ấp trứng hoạt động tự động 100% đượ c điều khiển bở i một module điều khiển chính. Module này nhận thông tin từ module cảm biến nhiệt , sau đó phát tín hiệu điều khiển module cấp nhiệt . ngoài ra máy ấp trứng còn có thêm module đặt nhiệt độ ấp trứng, thờ i gian ấptrứng- Một số máy ấp trứng sau : a.Mấy ấp trứ ng ng GTL -1000 Máy ấp trứng GTL -1000 :tự động hoàn toàn 100% , công xu ất tối đa1000 trứng, g iờ ), ), phun ẩm và nhiệt độ tuỳ chình tự động đóng khi đảo trứng tự động (chế độ hẹn gi qua con số quy định Điện áp : 220V AC Công suất tiêu thụ:10kw / 1 k ỳ ấp Kết cấu : Phun ẩm :Tuỳ chỉnh , tự động đóng ngắt khi quá % quy định Hệ thống cung cấp nhiệt :Bóng nhiêt halozen chuyên dùng cho ấp trứng Đảo Trứng :Tự chọn hẹn giờ từ 30 Phút - 120 Giờ . Nhiệt độ đượ c điều khiển tự động,ổn định bằng vi xử lý. Tạo độ ấm tự động Đảo trứng tự động (có thể tuỳ chọn thờ i gian đảo từ 1 giờ - 120 giờ ) Có thể ấp theo chế độ đa kỳ(mỗi tuần vào trứng một lần) hoặc đơ n kỳ b.Máy ấp trứ ng ng OXY GTL 240K Là loại máy ấp trứng đảo trứng bằng khí- Điện áp : 220V AC- Công su ất tiêu thụ: 2kw điện / 1 kỳ ấp- Hệ thống cấp nhiệt :điện trở - Nhiệt độ đượ c điều khiển tự động bằng vi xử lý- Tự động trộn khí oxy- Có thể ấp theo chế độ đa kỳ , hoặc đơ n kỳ. − −
− − − − − − −
GVHD:ThS. VŨ THẾ ĐẢNG
Page 4
ĐỒ ÁN MÔN HỌC 2
ng oxy GTL240K và m ột số loại máy ấ p tr ứ n ứ ng ứng g khác. Hình 1: Máy ấ p tr ứ
GVHD:ThS. VŨ THẾ ĐẢNG
Page 5
ĐỒ ÁN MÔN HỌC 2
GVHD:ThS. VŨ THẾ ĐẢNG
Page 6
ĐỒ ÁN MÔN HỌC 2
PHẦN 2:NỘI DUNG I/ PHÂN TÍCH BÀI TOÁN VÀ CÁC GI ẢI PHÁP 1. Chứ c năng của đề tài: ng m ột th ờ i điểm bất k ỳ trong khoảng từ 0 Đo và hiển thị nhiệt độ của môi trườ ng đến 255. ng không nằm trong một khoảng nhiệt độ nào Ổn định khi nhiệt độ của môi trườ ng đó mà ta đã chọn(sai số + - 2 độ c). Đo nhiệt độ của lò ấp trứng. Đo nhiệt độ từ 0 đến 255 độ C. Có thể cài đặt nhiệt độ theo yêu cầu Làm việc vớ i điện áp 220v/50 HZ. Dùng sensor cảm ứng nhiệt. Senser gửi về tín hiệu điện áp. Khi nhiệt độ tăng cao quá một giớ i hạn nào đó thì tắt cấp nhiệt Khi nhiệt độ giảm thấp quá một giớ i hạn nào đó thì bật cấp nhiệt Hệ thống làm việc đượ c khi mất điện lướ i (có nguồn dự trữ). 2. giải pháp lự a chọn đề tài: Các tiêu chu ẩn l ựa chọn bộ vi điều khiểnTiêu chuẩn đầu tiên và tr ướ c hết trong lựa chọn một bộ vi điều khiển là nó ph ải đáp ứng nhu cầu bài toán v ề mặt công suất tinh toán,giá thành và hi ệu quả.Trong khi phân tích các nhu c ầu c ủa một dự án trên bộ vi điều khiển, chúng ta ph ải biết trướ c hết là các b ộ vi điều khiển nào là 8 bit, 16 bit,32 bit có thể đáp ứng tốt nhất nhu cầu tính toán c ủa bài toán một cách hiệu quả nhất. a)Nhữ ng ng tiêu chuẩn đươ c đư a ra để cân nhắc là: Tốc độ : tốc độ lớ n nhất mà bộ vi điều khiển hỗ trợ là bao nhiêu. Kiểu đóng vỏ:Đây là điều quan trọng đối vớ i yêu cầu về không gian,kiểu lắp giáp và tạo mẫu thử cho sản phẩm cuối cùng. Công suất tiêu thụ: Điều này đặc biệt khắc khe v ớ i những sản phẩm dùng pin,ác quy. Dung lượ ng ng bộ nhớ rom và ram trên chip Khả năng nâng cấp cho hiệu suất cao hoặc giảm công su ất tiêu th ụ. Giá thành cho một đơ n vị:Điều này quan trọng quyết định giá thành cuối cùng của sản phẩm mà một bộ vi điều khiển đượ c sử dụng b. Lự a chọn thiết bị: Qua tìm hiểu, tham khảo một số tài liệu trên internet, nhóm chúng em đãquyết định lựa chọn bộ vi điều khiển AT89C51, cảm biến nhiệt độ DS18B20 bở i nó đáp ứng tốt nhất các yêu c ầu của đề tài. Cụ thể là: Các thiết bị này có sẵn trên thị trườ ng ng ,giá thành rẻ,đảm bảo độ tin cậy làm việc,độ chính xác, tính liên t ục khi làm vi ệc, đáp ứng đượ c công suất tính toán… Có sẵn các công c ụ phát triển phần mềm chẳng hạn như trình biên dịch CCS. −
−
− − − − − − − − −
− −
−
− − −
−
−
GVHD:ThS. VŨ THẾ ĐẢNG
Page 7
ĐỒ ÁN MÔN HỌC 2 −
Nguồn các bộ vi sử lý có sẵn nhiều và tin cậy
II/ PH II/ PHƯƠ NG NG PHÁP ĐIỀU KHIỂN CÔNG SUẤT BỘ PHÁT NHIỆT BẰNG PWM PWM là cái gì mà sao nó đượ c ứng dụng nhiều trong điều khiển. Lấy điển hình nhất mà chúng ta th ườ ng ng hay gặp là điều khiển động c ơ và các b ộ băm xung áp, điều áp... Sử dụng PWM điều khiển nhanh chậm của động cơ hay cao hơ n nữa nó còn đượ c ĩ nh dùng để điều khiển ổn định tốc độ động cơ . Ngoài l ĩ nh v ực điều khiển hay ổn định tải thì PWM nó còn tham gia và điều ch ế các mạch nguồn nh ư là: boot, buck, ngh ịch lưu 1 pha và 3 pha...PWM chúng ta còn g ặp nhiều trong thực tế và các mạch điện điều khiển. Điều đặc biệt là PWM chuyên dùng để điều khiển các phần tử điện tử công suất có đườ ng ng đặc tính là tuy ến tính khi có s ẵn 1 nguồn 1 chiều cố định .Như vậy PWM nó đượ c ứng dụng rất nhiều trong các thi ết bị điện điện tử. Điều mà dân điện điện tử dễ dàng nhận ra là PWM chính nhân t ố mà các đội Robocon sử dụng để điều khiển động cơ hay ổn định tốc độ động cơ . 1.PWM Trướ c khi tìm hi ểu sâu chúng ta hãy tìm hi ểu định ngh ĩ a của PWM là gì? Nh ư vậy Phươ ng ng pháp điều chế PWM có tên tiếng anh là Pulse Width Modulation là phươ ng ng pháp điều chỉnh điện áp ra t ải hay nói cách khác là ph ươ ng ng pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông dẫm đếm sự thay đổi điện áp ra. Các PWM khi bi ến đổi thì có cùng 1 t ần số và khác nhau v ề độ rộng của sườ n dươ ng ng hay ho ặc là sườ n âm
ơ đồ nguyên lý điều khiển tải dùng PWM Sơ đồ
GVHD:ThS. VŨ THẾ ĐẢNG
Page 8
ĐỒ ÁN MÔN HỌC 2
Trên là đồ thị dạng xung khi điều khiển bằng PWM. Vớ i độ rộng xung đầu ra tươ ng ng ứng và đượ c tính bằng %. Tùy thích do chúng ta điều khiển. 2.Nguyên lý của PWM. ng pháp đượ c th ực hiện theo nguyên tắc đóng ngắt nguồn vớ i tải là là Đây là phươ ng một cách có chu kì theo lu ật điều chỉnh thờ i gian đóng cắt. Phần tử thực hiện nhiện v ụ đó trong mạch các van bán d ẫn. Xét hoạt động đóng cắt của một van bán d ẫn. Dùng van đóng cắt bằng Mosfet
Trên là đồ thị dạng xung khi điều khiển bằng PWM. Vớ i độ rộng xung đầu ra tươ ng ng ứng và đượ c tính bằng %. Tùy thích do chúng ta điều khiển. Giản đồ xung GVHD:ThS. VŨ THẾ ĐẢNG
Page 9
ĐỒ ÁN MÔN HỌC 2
Trên là mạch nguyên lý điều khiển t ải b ằng PWM và gi ản đồ xung của chân điều khiển và dạng điện áp đầu ra khi dùng PWM. * Nguyên lý : Trong khoảng thờ i gian 0 - to ta cho van G m ở toàn bộ điện áp nguồn Ud đượ c đưa ra tải. Còn trong khoảng thờ i gian to - T cho van G khóa, c ắt nguồn cung cấp cho tải. Vì vậy v ớ i to thay đổi t ừ 0 cho đến T ta s ẽ cung cấp toàn b ộ, một phần hay khóa hoàn toàn điện áp cung c ấp cho tải. + Công thức tính giá tr ị trung bình của điện áp ra tải : Gọi t1 là thờ i gian xung ở sườ n d ươ ng ng (khóa mở ) còn T là th ờ i gian của c ả sườ n âm và dươ ng, ng, Umax là điện áp nguồn cung cấp cho tải. ==> Ud = Umax.( t1/T) (V) hay Ud = Umax.D Vớ i D = t1/T là hệ số điều chỉnh và đượ c tính bằng % tức là PWM Như vậy ta nhìn trên hình đồ thị dạng điều ch ế xung thì ta có : Điện áp trùng bình trên tải sẽ là: + Ud = 12.20% = 2.4V ( vớ i D = 20%) + Ud = 12.40% = 4.8V (Vói D = 40%) + Ud = 12.90% = 10.8V (Vớ i D = 90%)
3. Các cách tạo ra đượ c PWM để điều khiển Để tạo đượ c ra PWM thì hi ện nay có hai cách thông d ụng : Bằng phần cứng và bằng phần mềm. Trong phần cứng có thể tạo b ằng phươ ng ng pháp so sánh hay là t ừ trực tiếp từ các IC dao động t ạo xung vuông như : 555, LM556...Trong ph ần m ền đượ c tạo bằng các chip có th ể lập trình đượ c. c. Tạo b ằng phần m ềm thì độ chính xác cao h ơ n là là tạo bằng phần cứng. Nên ngườ i ta hay sử dụng phần mềm để tạo PWM a) Tạo bằng phươ ng ng pháp so sánh GVHD:ThS. VŨ THẾ ĐẢNG
Page 10
ĐỒ ÁN MÔN HỌC 2 − −
ng pháp so sánh thì c ần 2 điều kiện sau đây : Để tạo đượ c bằng phươ ng Tín hiệu răng cưa : Xác định tần số của PWM Tín hiệu tựa là tín hiệu xác định mức công suất điều chế (Tín hiệu DC) Xét sơ đồ ơ đồ mạch sau :
Vớ i t ần s ố xác định đượ c là f = 1/(ln.C1.(R1+2R2) nên chỉ cần điều chỉnh R2 là có thể thay đổi độ rộng xung dễ dàng. Ngoài 555 ra còn r ất nhiều các IC tạo xung vuông khác c. Tạo xung vuông b ằng phần mềm. Đây là cách t ối ưu trong các cách để tạo đượ c xung vuông. Vớ i tạo bằng phần mềm cho độ chính xác cao v ề tần s ố và PWM. Vớ i l ại mạch c ủa chúng ta đơ n gi ản đi rất nhiều. Xung này đượ c tạo dựa trên xung nh ịn của CPU. Lấy 1 đoạn ví dụ tạo PWM trong con 8501 :
GVHD:ThS. VŨ THẾ ĐẢNG
Page 11
ĐỒ ÁN MÔN HỌC 2
Trên là chươ ng ng trình tạo PWM đơ n giản.
III/ Giớ i thiệu điều khiển PID
1.Giải thuật điều khiển PID PID là cách vi ết tắc của các t ừ Propotional (tỉ lệ), Integral (tích phân) và Derivative (đạo hàm). Tuy xuất hi ện r ất lâu nhưng đến nay PID v ẫn là giải thuật điều khiển đượ c dùng nhiều nhất trong các ứng dụng điều khiển tự động. Để giúp bạn có cái hiểu rõ hơ n b ản ch ất c ủa gi ải thuật PID tôi sẽ dùng một ví dụ điều khiển v ị trí của một car (xe) trên đườ ng ng thẳng. Giả sử bạn có một xe (đồ chơ i...) i...) có gắn một động cơ DC. Động cơ sinh ra một lực để đẩy xe chạy tớ i hoặc lui trên một đườ ng ng thẳng như trong hình bên dướ i.i.
Ví dụ điều khiển vị trí xe trên đườ ng ng thẳng GVHD:ThS. VŨ THẾ ĐẢNG
Page 12
ĐỒ ÁN MÔN HỌC 2 Gọi F là lực do động c ơ tạo ra điều khiển xe. Ban đầu xe ở vị trí A, nhiệm vụ đặt ra là điều khiển lực F (một cách tự động) để đẩy xe đến đúng vị trí O vớ i các yêu c ầu: chính xác (accurate), nhanh (fast response), ổn định (small overshot). Một điều rất tự nhiên, nếu vị trí hiện tại c ủa xe rất xa vị trí mong muốn (điểm O), hay nói cách khác sai s ố(error) lớ n, n, chúng ta c ần tác động lực F lớ n để nhanh chóng ng này là dùng quan h ệ tuyến đưa xe v ề O. M ột cách đơ n gi ản để công thức hóa ý tưở ng tính: F=Kp*e (1) Trong đó Kp là một h ằng số dươ ng ng nào đó mà chúng ta g ọi là hệ số P (Propotional gain), e là sai s ố cần điều khiển t ức khoảng cách từ điểm O đến v ị trí hiện t ại c ủa xe. Mục tiêu điều khiển là đưa e tiến v ề 0 càng nhanh càng t ốt. Rõ ràng nếu Kp lớ n thì F cũng s ẽ lớ n và xe rất nhanh chóng ti ến v ề vị trí O. Tuy nhiên, l ực F quá lớ n sẽ gia tốc cho xe rất nhanh (định luật II của Newton: F=ma). Khi xe đã đến vị trí O (tức e=0), thì tuy lực F=0 (vì F=Kp*e=F=Kp*0) nhưng do quán tính xe v ẫn tiếp tục tiến về bên phải và l ệch điểm O về bên phải, sai số e l ại tr ở nên khác 0, giá tr ị sai số lúc này đượ c g ọi là overshot (v ượ t quá). Lúc này, sai s ố e là số âm, lực F lại xuất hi ện nhưng v ớ i chiều ngượ c lại để kéo xe về lại điểm O. Nhưng một lần nữa, do Kp lớ n nên giá tr ị lực F cũng lớ n và có th ể kéo xe lệch về bên trái điểm O. Quá trình cứ tiếp diễn, xe cứ mãi dao động quanh điểm O. Có trườ ng ng hơ p xe dao động càng ngày xàng xa điểm O. Bộ điều khiển lúc này đượ c nói là không ổn định. Một đề xuất nhằm giảm overshot của xe là sử dụng một thành phần “thắng” trong bộ điều khiển. Sẽ rất lý tưở ng ng nếu khi xe đang ở xa điểm O, bộ điều khiển sinh ra lực F lớ n nh ưng khi xe đã ti ến g ần đến điểm O thì thành phần “thắng” sẽ giảm tốc độ xe lại. Chúng ta đều biết khi một vật dao động quanh 1 điểm thì vật đó có vận t ốc cao nhất ở tâm dao động (điểm O). Nói một cách khác, ở gần điểm O sai số e của xe thay đổi nhanh nhất (cần phân biệt: e thay đổi nhanh nhất không phải e lớ n nhất). Mặt khác, tốc độ thay đổi của e có th ể tính bằng đạo hàm của biến này theo th ờ i gian. Như vậy, khi xe từ A tiến về gần O, đạo hàm của sai số e t ăng giá tr ị nhưng ngượ c chiều c ủa l ực F (vì e đang giảm nhanh dần). Nếu s ử dụng đạo hàm làm thành ph ần “thắng” thì có th ể giảm đượ c overshot của xe. Thành phần “thắng” này chính là thành ph ần D (Derivative) trong b ộ điều khiển PID mà chúng ta đang khảo sát. Thêm thành ph ần D này vào bộ điều khiển P hiện tại, chúng ta thu đượ c bộ điều khiển PD nhu sau: F=Kp*e+Kd*(de/dt) (2) Trong đó (de/dt) là v ận tốc thay đổi của sai số e và Kd là một hằng số không âm gọi là hệ số D (Derivative gain). Sự hiện diện c ủa thành phần D làm giảm overshot của xe, khi xe ti ến g ần v ề O, lực F gồm 2 thành phần Kp*e > =0 (P) và Kd*(de/dt) <=0 (D). Trong một s ố trườ ng ng hợ p thành phần D có giá tr ị lớ n hơ n thành phần P và lực F đổi chiều, “thắng” xe lại, vận tốc của xe vì thế giảm m ạnh ở gần điểm O. Một v ấn đề nảy sinh là nếu thành phần D quá lớ n so vớ i thành phần P hoặc bản thân thành ph ần P nhỏ thì khi xe tiến gần điểm O (chưa thật sự đến O), xe có thể dừng hẳn, thành phần D b ằng 0 (vì sai s ố e không thay đổi n ữa), lực F = Kp*e. Trong khi Kp và e lúc này đều nh ỏ nên lực F cũng nhỏ và có ĩ nh. thể không thắng đượ c l ực ma sát t ĩ nh. Bạn hãy tưở ng ng t ượ ng ng tình huống b ạn dùng sức của mình để đẩy m ột xe tải n ặng vài chục t ấn, tuy lực đẩy t ồn t ại nh ưng xe không th ể di chuyển. Như thế, xe sẽ đứng yên mãi dù sai s ố e vẫn chưa bằng 0. Sai số e trong ĩ nh). tình huống này gọi là steady state error (t ạm dịch là sai số trạng thái t ĩ nh). Để tránh GVHD:ThS. VŨ THẾ ĐẢNG
Page 13
ĐỒ ÁN MÔN HỌC 2 steady state error, ng ườ i ta thêm vào b ộ điều khiển một thành ph ần có chức năng “cộng dồn” sai số. Khi steady state error x ảy ra, 2 thành ph ần P và D mất tác dụng, thành phần điều khiển m ớ i s ẽ “cộng d ồn” sai số theo thờ i gian và làm t ăng l ực F theo thờ i gian. Đến một lúc nào đó, lực F đủ lớ n để thắng ma sát t ĩ nh và đẩy xe tiến tiếp v ề ĩ nh điểm O. Thành ph ần “c ộng d ồn” này chính là thành ph ần I (Integral - tích phân) trong bộ điều khiển PID. Vì chúng ta điều biết, tích phân m ột đại lượ ng ng theo thờ i gian chính là tổng c ủa đại lượ ng ng đó theo thờ i gian. Bộ điều khiển đến th ờ i điểm này đã đầy đủ là PID: F=Kp*e+Kd*(de/dt)+Ki*∫edt (3) (chú ý: ∫edt là tích phân c ủa biến e theo t) Như vậy, chức năng của từng thành phần trong bộ điều khiển PID giờ đã rõ. Tùy vào mục đích và đối tượ ng ng điều khiển mà bộ điều khiển PID có thể đượ c lượ t b ớ t để trở thành bộ điều khiển P, PI hoặc PD. Công vi ệc chính c ủa ngườ i thiết kế bộ điều khiển PID là chọn các hệ số Kp, Kd và Ki sao cho b ộ điều khiển hoạt động tốt và ổn định (quá trình này g ọi là PID gain tuning). Đây không phải là việc dễ dàng vì nó ph ụ thuộc vào nhiều yếu tố. Theo kinh nghiệm cơ bản khi chọn các hệ số cho PID như sau: Chọn Kp trướ c: c: thử bộ điều khiển P vớ i đối tượ ng ng thật (hoặc mô phỏng), điều chỉnh Kp sao cho th ờ i gian đáp ứng đủ nhanh, chấp nhận overshot nh ỏ. Thêm thành phần D để loại overshot, tăng Kd từ từ, th ử nghiệm và ch ọn giá trị thích hợ p. p. Steady state error có th ể sẽ xuất hiện. Thêm thành ph ần I để giảm steady state error. Nên t ăng Ki từ bé đến lớ n để giảm steady state error đồng thờ i không để cho overshot xuất hiện trở lại. −
−
−
−
2.Bộ điều khiển PID
Sơ đồ ơ đồ khối của bộ điều khiển PID Một bộ điều khiển vi tích phân t ỉ lệ (bộ điều khiển PID) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát đượ c sử dụng rộng rãi trong các h ệ thống điều khiển công nghiệp – bộ điều khiển PID đượ c s ử dụng phổ biến nh ất trong số các bộ điều khiển ph ản h ồi. M ột b ộ điều khiển PID tính toán m ột giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá tr ị đặt mong mu ốn. Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào. Trong GVHD:ThS. VŨ THẾ ĐẢNG
Page 14
ĐỒ ÁN MÔN HỌC 2 trườ ng ng hợ p không có kiến thức cơ bản về quá trình, bộ điều khiển PID là b ộ điều khiển tốt nhất. Tuy nhiên, để đạt đượ c kết qu ả tốt nh ất, các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông s ố phải phụ thuộc vào đặc thù của hệ thống. Giải thuật tính toán b ộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn đượ c gọi là điều khiển ba khâu: các giá tr ị tỉ lệ, tích phân và đạo hàm, viết P, I, và D. Giá trị t ỉ ỉ lệ xác định tác động c ủa sai số hiện tại, giá trị tích phân xác tắt là P, I, định tác động của tổng các sai số quá khứ, và giá tr ị vi phân xác định tác động của tốc độ biến đổi sai số. T ổng chập c ủa ba tác động này dùng để điều ch ỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia nhiệt. Nhờ vậy, những giá trị này có th ể làm sáng tỏ về quan hệ thờ i gian: P phụ thuộc vào sai số hiện t ại, I phụ thuộc vào tích l ũy các sai số quá khứ , và D dự đoán các sai số t ươ ng lai, dựa vào tốc độ thay đổi hiện tại. ươ ng Bằng cách điều chỉnh 3 hằng số trong giải thuật c ủa b ộ điều khiển PID, bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt. Đáp ứng của bộ điều khiển có thể đượ c mô t ả dướ i dạng độ nhạy sai số của bộ điều khiển, giá trị mà bộ điều khiển vọt lố điểm đặt và giá tr ị dao động của hệ thống. Lưu ý là công d ụng của giải thuật PID trong điều khiển không đảm bảo tính tối ưu hoặc ổn định cho hệ thống. Vài ứng dụng có thể yêu cầu chỉ sử dụng một hoặc hai khâu tùy theo h ệ thống. Điều này đạt đượ c b ằng cách thiết đặt đội l ợ i c ủa các đầu ra không mong mu ốn về 0. Một bộ điều khiển PID sẽ đượ c gọi là bộ điều khiển PI, PD, P hoặc I nếu vắng mặt các tác động b ị khuyết . Bộ điều khiển PI khá phổ biến, do đáp ứng vi phân khá nh ạy đối vớ i các nhi ễu đo lườ ng, ng, trái lại nếu thiếu giá trị tích phân có th ể khiến hệ thống không đạt đượ c giá trị mong muốn. Chú ý: Do sự đa dạng của l ĩ nh v ực lý thuyết và ứng dụng điều khiển, nhiều qui ĩ nh ướ c đặt tên cho các bi ến có liên quan cùng đượ c sử dụng. 4.Lý thuyết điều khiển PID Sơ đồ ơ đồ điều khiển PID đượ c đặt tên theo ba khâu hi ệu chỉnh của nó, tổng của ba khâu này tạo thành bở i các biến điều khiển (MV). Ta có: trong đó , , và là các thành ph ần đầu ra từ ba khâu c ủa bộ điều khiển PID, đượ c xác định như dướ i đây. a)Khâu tỉ lệ
GVHD:ThS. VŨ THẾ ĐẢNG
Page 15
ĐỒ ÁN MÔN HỌC 2
− −
− − − − − − − −
Đồ thị PV theo thờ i gian, ba giá tr ị Kp (Ki và Kd là h ằng số) Khâu tỉ lệ (đôi khi còn đượ c g ọi là độ lợ i) i) làm thay đổi giá trị đầu ra, tỉ lệ vớ i giá trị sai số hiện tại. Đáp ứng tỉ lệ có thể đượ c điều chỉnh bằng cách nhân sai số đó vớ i một hằng số Kp, đượ c gọi là độ lợ i tỉ lệ. Khâu tỉ lệ đượ c cho bở ii:: trong đó : thừa số tỉ lệ của đầu ra : Độ lợ i tỉ lệ, thông số điều chỉnh : sai số : thờ i gian hay thờ i gian tức thờ i (hiện tại) Độ lợ i của khâu tỉ lệ lớ n là do thay đổi lớ n ở đầ ở đầu ra mà sai s ố thay đổi nhỏ. Nếu độ lợ i c ủa khâu tỉ lệ quá cao, hệ thống s ẽ không ổn định (xem phần điều ch ỉnh vòng). Ngượ c l ại, độ lợ i nh ỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớ n, n, và làm cho b ộ điều khiển kém nhạy, hoặc đáp ứng chậm. Nếu độ lợ i của khâu tỉ lệ quá thấp, tác động điều khiển có thể sẽ quá bé khi đáp ứng vớ i các nhiễu của hệ thống.
Droop(độ trượ t) t) Nếu không có nhiễu, điều khiển t ỉ lệ thuần túy sẽ không xác lập t ại giá trị mong muốn của nó, nhưng nó vẫn duy trì một sai số ổn định trạng thái, là một hàm của độ lợ i tỉ lệ và độ lợ i quá trình. Đặc biệt, nếu độ lợ i quá trình-trong kho ảng thờ i gian dài bị trôi do thiếu điều khiển, như việc làm mát một lò nung tớ i nhiệt độ phòng-đượ c ký hiệu G và giả sử sai số xấp xỉ là hằng số, khi đó droop-độ trượ t xảy ra khi độ lợ i không vớ i sai số là tuyế n tính, do đó đổi này bằng thừa số tỉ lệ của đầu ra, Khi thừa số tỉ lệ, đẩy vào thông s ố tớ i giá trị đặt, đượ c bù chính xác b ở i độ lợ i quá trình, nó s ẽ kéo thông số ra khỏi giá trị đặt. N ếu độ lợ i quá trình giảm, khi ướ i điểm đặt, ta gọi là "droop- độ trượ t". làm lạnh, thì trạng thái dừng sẽ nằ m d ướ t". GVHD:ThS. VŨ THẾ ĐẢNG
Page 16
ĐỒ ÁN MÔN HỌC 2 Chỉ các thành ph ần d ịch chuyển (trung bình dài h ạn, thành phần tần số không) của độ lợ i quá trình mớ i tác động tớ i độ trượ t-các t-các dao động đều hoặc ng ẫu nhiên trên hoặc dướ i thành phần d ịch chuyển sẽ bị triệt tiêu. Độ lợ i quá trình có th ể thay đổi theo thờ i gian hoặc theo các thay đổi bên ngoài, ví dụ như nếu nhiệt độ phòng thay đổi, việc làm lạnh sẽ nhanh hơ n hoặc chậm hơ n. n. Độ trượ t tỉ lệ thuận vớ i độ lợ i quá trình và t ỉ lệ nghịch vớ i độ lợ i tỉ lệ, và là một khiếm khuyết không thể tránh đượ c của điều khiển tỉ lệ thuần túy. Độ trượ t có thể đượ c giảm bớ t bằng cách thêm m ột thừa số độ lệch (cho điểm đặt trên giá trị mong muốn thực t ế), hoặc s ửa đổi b ằng cách thêm một khâu tích phân (trong b ộ điều khiển PI hoặc PID), sẽ tính toán độ lệch thêm vào m ột cách hữu hiệu. Bất chấp độ trượ t,t, cả lý thuyết điều chỉnh lẫn thực tế công nghiệp chỉ ra rằng khâu tỉ lệ là cần thiết trong việc tham gia vào quá trình điều khiển. b)Khâu tích phân
Đồ thị PV theo thờ i gian, tươ ng ng ứng vớ i 3 giá trị Ki (Kp và Kd không đổi) Phân phối của khâu tích phân ( đôi khi còn g ọi là reset ) tỉ lệ thuận vớ i cả biên độ sai số lẫn qu ảng thờ i gian xảy ra sai số. T ổng sai số tức thờ i theo thờ i gian (tích phân sai s ố) cho ta tích l ũy bù đã đượ c hiệu chỉnh trướ c đó. Tích lũy sai số sau đó đượ c nhân vớ i độ lợ i tích phân và c ộng vớ i tín hiệu đầu ra c ủa b ộ điều khiển. Biên độ phân phối c ủa khâu tích phân trên t ất cả tác động điều chỉnh đượ c xác định bở i độ lợ i tích phân, . Thừa số tích phân đượ c cho bở ii::
trong đó : thừa số tích phân của đầu ra : độ lợ i tích phân, 1 thông s ố điều chỉnh : sai số : thờ i gian hoặc thờ i gian tức thờ i (hiện tại) : một biến tích phân trung gian GVHD:ThS. VŨ THẾ ĐẢNG
Page 17
ĐỒ ÁN MÔN HỌC 2 Khâu tích phân (khi c ộng thêm khâu tỉ lệ) sẽ tăng tốc chuyển động của quá trình tớ i điểm đặt và khử số dư sai số ổn định vớ i một tỉ lệ chỉ phụ thuộc vào bộ điều khiển. Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó có th ể khiến giá trị hiện tại vọt lố qua giá trị đặt (ngang qua điểm đặt và tạo ra một độ lệch vớ i các hướ ng ng khác). Để tìm hiểu thêm các đặc điểm của việc điều chỉnh độ lợ i tích phân và độ ổn của bộ điều khiển, xin xem phần điều chỉnh vòng lặp. c)Khâu vi phân
Đồ thị PV theo thờ i gian, vớ i 3 giá trị Kd (Kp and Ki không đổi) Tốc độ thay đổi của sai số qua trình đượ c tính toán b ằng cách xác định độ dốc của sai số theo thờ i gian (tức là đạo hàm bậc một theo thờ i gian) và nhân t ốc độ này ốc độ) vớ i độ lợ i tỉ lệ . Biên độ của phân phối khâu vi phân ( đôi khi đượ c gọi là t ố trên tất cả các hành vi điều khiển đượ c giớ i hạn bở i độ lợ i vi phân, . Thừa số vi phân đượ c cho bở ii:: trong đó : thừa số vi phân của đầu ra : Độ lợ i vi phân, một thông số điều chỉnh : Sai số : thờ i gian hoặc thờ i gian tức thờ i (hiện tại) Khâu vi phân làm ch ậm tốc độ thay đổi c ủa đầu ra bộ điều khiển và đặc tính này là đang chú ý nhất để đạt tớ i điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân đượ c sử dụng để làm giảm biên độ vọt lố đượ c tạo ra bở i thành phần tích phân và t ăng cườ ng ng độ ổn định của bộ điều khiển hỗn hợ p. p. Tuy nhiên, phép vi phân c ủa một tín hiệu sẽ khuếch đại nhiễu và do đó khâu này sẽ nhạy hơ n đối vớ i nhiễu trong sai s ố, và có thể khiến quá trình trở nên không ổn định nếu nhiễu và độ lợ i vi phân đủ lớ n. n. Do đó một xấp xỉ của bộ vi sai vớ i băng thông giớ i hạn thườ ng ng đượ c sử dụng hơ n. n. Chẳng hạn như mạch bù sớ m pha.
GVHD:ThS. VŨ THẾ ĐẢNG
Page 18
ĐỒ ÁN MÔN HỌC 2 5. Tóm t ắt PID Khâu tỉ lệ, tích phân, vi phân đượ c cộng lại v ớ i nhau để tính toán đầu ra của bộ điều khiển PID. Định ngh ĩ a r ằng là đầu ra của b ộ điều khiển, biểu th ức cu ối cùng của giải thuật PID là:
trong đó các thông s ố điều chỉnh là: Độ lợ i tỉ lệ ( ):Giá trị càng lớ n thì đáp ứng càng nhanh do đó sai số càng lớ n, n, bù khâu tỉ lệ càng lớ n. n. M ột giá gị độ lợ i tỉ lệ quá lớ n s ẽ dấn đến quá trình mất ổn định và dao động. Độ lợ i tích phân ( ):Giá trị càng lớ n kéo theo sai s ố ổn định bị khử càng nhanh. Đổi l ại là độ vọt l ố càng lớ n: n: b ất k ỳ sai số âm nào đượ c tích phân trong suốt đáp ứng quá độ phải đượ c triệt tiêu tích phân b ằng sai số dươ ng ng trướ c khi tiến tớ i trạng thái ổn định. Độ lợ i vi phân ( ): Giá trị càng lớ n càng giảm độ vọt l ố, nh ưng l ại làm chậm đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai s ố. a)Điều chỉnh vòng lặp nh một vòng điều khiển là điều chỉnh các thông s ố điều khiển của nó Điề u chỉ nh (độ lợ i/d i/dải tỉ lệ, độ lợ i tích phân/reset, độ lợ i vi phân/tốc độ) tớ i giá trị đáp ứng điều khiển t ối ưu. Độ ổn định (dao động biên) là một yêu cầu c ăn b ản, nhưng ngoài ra, các hệ thống khác nhau, có nh ững hành vi khác nhau, nh ững ứng dụng khác nhau có những yêu cầu khác nhau, và vài yêu c ầu lại mâu thuẫn vớ i nhau. Hơ n nữa, vài quá trình có một mức độ phi tuyến nào đấy khiến các thông s ố làm việc tốt ở đ ở điều kiện đầy tải sẽ không làm việc khi quá trình kh ở i động t ừ không tải; điều này có thể khắc ph ục bằng chươ ng ng trình độ lợ i (sử dụng các thông s ố khác nhau cho nh ững khu vực hoạt ng cung cấp các điều khiển có thể chấp động khác nhau). Các b ộ điều khiển PID thườ ng nhận đượ c thậm chí không c ần điều chỉnh, nhưng kết quả nói chung có th ể đượ c cải thiện bằng cách điều chỉnh kỹ lưỡ ng, ng, và kết quả có thể không chấp nhận đượ c nếu điều chỉnh kém. Điều chỉnh PID là một bài toán khó, ngay c ả khi chỉ có 3 thông số và về nguyên tắc là dễ miêu tả, bở i vì nó phải thỏa mãn các tiêu chu ẩn phức tạp nằm trong Những hạn chế của điều khiển PID. Vì vậy có nhiều phươ ng ng pháp khác nhau để điều chỉnh vòng lặp, và các k ỹ thuật ph ức tạp h ơ n là đề tài cho nhiều phát minh sáng ch ết; phần này miêu tả vài phươ ng ng pháp thủ công truyền thống để điều chỉnh vòng lặp. b)Độ ổn định Nếu các thông số của bộ điều khiển PID (độ lợ i của khâu tỉ lệ, tích phân và vi phân) đượ c chọn sai, đầu vào quá trình điều khiển có thể mất ổn định, vì các khác bi ệt đầu ra của nó, có hoặc không có dao động, và đượ c gi g iớ i h ạn chỉ bở i s ự bảo hòa hoặc đứt gãy cơ khí. Sự không ổn định đượ c gây ra bở i sự dư thừa độ lợ i,i, nhất là khi xuất hiện độ trễ lớ n. n. −
−
−
GVHD:ThS. VŨ THẾ ĐẢNG
Page 19
ĐỒ ÁN MÔN HỌC 2 Nói chung, độ ổn định của đáp ứng (ngượ c vớ i độ bất định) phải thỏa mãn và quá trình phải không đượ c dao động vì bất k ỳ sự kết h ợ p nào giữa các điều khiện quá trình và điểm đặt, mặc dù đôi khi ổn định biên có th ể đượ c chấp nhận hoặc yêu cầu. c) Tối ư u hóa hành vi Tối ưu hóa hành vi trong thay đổi quá trình ho ặc thay đổi điểm đặt khác nhau tùy thuộc vào ứng dụng. Hai yêu cầu cơ bản là ổ n định (triệt tiêu nhiễu-ổn định tại một điểm đặt cho nh lệnh (thực hiện các thay đổi điểm đặt)-hai yêu c ầu đó tùy thuộc ự hiệu chỉ nh trướ c) c) và t ự vào việc các bi ến điều khiển theo dõi giá tr ị mong muốn có tốt hay không. Các tiêu chuẩn đặc biệt về tự hiệu chỉnh lệnh bào gồm thờ i gian khở i động và thờ i gian xác l ập. Một vài quá trình ph ải ngăn không cho phép các bi ến quá trình v ọt lố quá điểm đặt nếu, thí d ụ, điều này có thể mất an toàn. Các quá trình khác ph ải tối thiểu hóa năng lượ ng ng tiêu hao khi ti ến tớ i một điểm đặt mớ i.i. d) Tổng quan các phươ ng ng pháp Có nhiều phươ ng ng pháp khác nhau để điều chỉnh vòng lặp PID. Những phươ ng ng pháp hữu hiệu nh ất th ườ ng ng bao gồm nh ững triển khai của vài dạng mô hình x ử lý, sau đó chọn P, I, và D dựa trên các thông s ố của mô hình động học. Các phươ ng ng pháp điều chỉnh thủ công tươ ng ng đối không hiệu qu ả lắm, đặc bi ệt n ếu vòng lặp có thờ i gian đáp n. ứng đượ c tính bằng phút hoặc lâu hơ n. Lựa ch ọn phươ ng ng pháp thích h ợ p sẽ phụ thuộc phần lớ n vào việc có hay không vòng lặp có thể điều ch ỉnh "offline", và đáp ứng thờ i gian của hệ thống. Nếu h ệ thống có thể thực hiện offline, ph ươ ng ng pháp điều chỉnh tốt nhất thườ ng ng bao gồm bắt hệ thống thay đổi đầu vào từng bướ c, c, tín hiệu đo lườ ng ng đầu ra là một hàm thờ i gian, sử dụng đáp ứng này để xác định các thông s ố điều khiển. Lựa chọn phươ ng ng pháp điều chỉnh
Phươ ng ng pháp
Ư u điểm
Khuyết điểm
ng pháp Yêu cầu nhân viên có kinh Điều chỉnh Không cần hiểu biết về toán. Phươ ng online. nghiệm. thủ công
Ziegler– Nichols
làm rối loạn quá trình, m ột Phươ ng ng pháp chứng minh. Phươ ng ng pháp số thử nghiệm và lỗi, phải online. điều chỉnh nhiều lần
ng pháp online Điều chỉnh chắc chắn. Phươ ng Các công hoặc offline. Có th ể bao gồm phân tích các Giá cả cao, và ph ải huấn cụ phần van và cảm biến. Cho phép mô ph ỏng trướ c luyện. mềm khi tải xuống để thực thi.
CohenCoon
xử lý các mô hình tốt.
GVHD:ThS. VŨ THẾ ĐẢNG
Yêu cầu kiến thức toán học. Phươ ng ng pháp offline. Chỉ tốt đối vớ i các quá trình bậc một. Page 20
ĐỒ ÁN MÔN HỌC 2 -Điều chỉnh thủ công Nếu h ệ thống phải duy trì trạng thái online, m ột ph ươ ng ng pháp điều ch ỉnh là thiết và bằng không. Tăng dần cho đến khi đầu ra của đặt giá trị đầu tiên của vòng điều khiển dao động, sau đó có thể đượ c đặt t ớ i x ấp x ỉ một n ữa giá trị đó để đạp đạt đượ c đáp ứng "1/4 giá tr ị suy giảm biên độ". Sau đó tăng đến giá trị phù hợ p sao cho đủ thờ i gian xử lý. Tuy nhiên, quá lớ n sẽ gây mất ổn định. Cuối cùng, tăng , nếu cần thiết, cho đến khi vòng điều khiển nhanh có th ể chấp nhận đượ c nhanh chóng lấy lại đượ c giá trị đặt sau khi bị nhiễu. Tuy nhiên, quá lớ n sẽ gây đáp ứng dư và vọt lố.Một điều chỉnh cấp tốc của vòng điều khiển PID thườ ng ng hơ i quá lố một ít khi tiến tớ i điểm đặt nhanh chóng; tuy nhiên, vài h ệ thống không chấp nhận xảy ra vọt lố, trong trườ ng ng hợ p đó, ta cần một hệ thống vòng kín giảm lố , thiết đặt một giá trị nhỏ hơ n một nữa giá trị gây ra dao động. Tác động của việc t ăng một thông số độc lập Thông số
Thờ i gian Quá khở i động độ
Thờ i gian Sai số ổn định xác lập
Độ ổn định
Giảm
Tăng
Thay đổi nhỏ Giảm
Giảm cấp
Giảm
Tăng
Tăng
Giảm cấp
Giảm đáng kể
Về lý thuyết không Cải thiện nếu tác động nhỏ
Giảm Giảm ít ít -Phươ ng ng pháp Ziegler–Nichols Giảm ít
Xem thêm về nội dung này t ại Phươ ng ng pháp Ziegler–Nichols.
Một ph ươ ng ng pháp điều chỉnh theo kinh nghiệm khác là ph ươ ng ng pháp Ziegler–Nichols, đượ c đưa ra bở i John G. Ziegler và Nathaniel B. Nichols vào nh ững n ăm 1940. Giống phươ ng ng pháp trên, độ lợ i và lúc đầu đượ c gán bằng không. Độ lợ i P đượ c t ăng ở đầu ra của vòng điều khiển bắt đầu dao cho đến khi nó tiến tớ i độ lợ i tớ i hạn, , ở đầ và thờ i gian giao động đượ c dùng để gán độ lợ i như sau: động. Phươ ng ng pháp Ziegler–Nichols
Dạng điều khiển P PI
-
-
PID
-Phần mềm điều chỉnh PID Hầu hết các ứng dụng công nghiệp hiện đại không còn điều chỉnh vòng điều khiển sử dụng các phươ ng ng pháp tính toán th ủ công như trên nữa. Thay vào đó, phần mềm điều chỉnh PID và tối ưu hóa vòng lặp đượ c dùng để đảm báo kết quả chắc ch ắn. Những gói phần m ềm này sẽ tập h ợ p dữ liệu, phát triển các mô hình x ử lý, và đề xuất GVHD:ThS. VŨ THẾ ĐẢNG
Page 21
ĐỒ ÁN MÔN HỌC 2 phươ ng ng pháp điều ch ỉnh t ối ưu. Vài gói phần mềm thậm chí còn có th ể phát triển vi ệc điều chỉnh bằng cách thu thập dữ liệu từ các thay đổi tham khảo. Điều chỉnh PID bằng toán học tạo ra một xung trong h ệ thống, và sau đó sử dụng đáp ứng tần số của hệ thống điều khiển để thiết kế các giá trị của vòng điều khiển PID. Trong những vòng lặp có thờ i gian đáp ứng kéo dài nhi ều phút, nên ch ọn điều chỉnh b ằng toán học, b ở i vì việc thử sai thực tế có thể kéo dài nhiều ngày để tìm điểm ổn định cho vòng lặp. Giá trị tối ưu thì khó tìm h ơ n. n. Vài bộ điều khiển số còn có chức năng tự điều chỉnh, trong đó những thay đổi rất nhỏ của điểm đặt cũng đượ c gửi tớ i quá trình, cho phép b ộ điều khiển tự mình tính toán giá tr ị điều chỉnh tối ưu. Các dạng điều chỉnh khác cũng đượ c dùng tùy theo tiêu chu ẩn đánh giá kết qu ả khác nhau. Nhiều phát minh hi ện nay đã đượ c nhúng sẵn vào trong các module ph ần mềm và phần cứng để điều chỉnh PID. e) Các cải tiến đối vớ i thuật toán PID Một v ấn đề phổ biến c ủa b ộ PID lý tưở ng ng là Tích phân kh ở i động, nơ i x ảy ra thay đổi điểm đặt lớ n (t ức là thay đổi d ươ ng) ng) và khâu tích phân tích l ũy một sai số đáng kể lúc tăng (khở i động), vì vậy làm vọt l ố và duy trì liên t ục vi ệc t ăng sai số tích lũy bị gián đoạn. Có thể khắc phục điều này bằng cách: Thiết đặt giá trị tích phân ban đầu cho bộ điều khiển tớ i giá trị mong muốn Tăng điểm đặt vớ i độ dốc thích h ợ p Không cho phép ch ức năng tích phân cho đến khi PV đi vào vùng điều khiển đượ c Giớ i hạn khoảng thờ i gian vượ t quá sai số tích phân đượ c tính toán Ngăn không cho khâu tích phân tích l ũy trên hoặc dướ i biên xác định trướ c 'Đóng băng' chức năng tích phân trong tr ườ ng ng hợ p bị nhiễu Nếu m ột vòng PID đượ c s ử dụng để điều khiển nhiệt độ của một lò nung điện trở , h ệ thống đã ổn định và sau đó cửa lò mở và nhiệt độ thấp luồn vào lò nung làm cho nhi ệt ng bù độ rơ i xuống dướ i điểm đặt. Chức năng tích phân c ủa bộ điều khiển có xu hướ ng sai số này bằng cách đưa ra một sai số khác theo hướ ng ng d ươ ng. ng. Điều này có th ể tránh đượ c bằng cách ' đóng băng' chức năng tích phân sau khi m ở cửa lò để đủ thờ i gian cho vòng điều khiển nung lại lò nung. Thay chức năng tích phân b ằng một phần dựa trên mô hình:Th ườ ng ng thờ i gian c. Do đó rất tiện lợ i để mô phỏng thờ i gian đáp đáp ứng của hệ thống đượ c biết trướ c. ứng này vớ i một mô hình và tính toán vài thông s ố chưa biết t ừ đáp ứng thực của hệ thống. Nếu gi ả sử hệ thống là một lò nung điện thì đáp ứng c ủa hi ệu s ố giữa nhiệt độ lò và nhiệt độ môi trườ ng ng để thay đổi lượ ng ng điện năng sẽ tươ ng ng tự vớ i một bộ lọc thông thấp RC đơ n giản đượ c nhân bở i một hệ số tỉ lệ chưa biết. Điện năng thực tế cung cấp cho lò nung đượ c làm trễ bở i một bộ lọc thông thấp để mô phỏng đáp ứng của nhiệt độ lò nung và sau đó lấy nhiệt độ thực trừ đi nhiệt độ môi trườ ng ng rồi chia cho thành phần điện năng thông thấp này. Sau đó, k ết qu ả trên sẽ đượ c ổn định bở i một bộ lọc thông thấp khác dẫn đến việc tìm ra h ệ số tỉ lệ. Vớ i việc tính toán này, ta có th ể tính toán lượ ng ng điện yêu cầu bờ i cách chi điểm đặt nhiệt đọ trừ đi nhiệt độ môi trườ ng ng bở i h ệ số này. Kết quả này sau đó có thể đượ c dùng để thay thế chức n ăng tích phân. Điều này còn có thể đạt đượ c một sai số điều khiển bằng '0' trong chế độ xác lập, bằng cách tránh tích phân kh ở i động và có thể cải tiến đáng kể tác động điều khiển so vớ i một bộ điều khiển PID tối ưu. Bộ điều khiển dạng này làm vi ệc rất chính xác trong GVHD:ThS. VŨ THẾ ĐẢNG
Page 22
ĐỒ ÁN MÔN HỌC 2 trườ ng ng hợ p vòng hở , tạo ra tích phân kh ở i động vớ i một hàm tích phân. Đây là một ưu điểm, nếu thí dụ, nhiệt cấp cho lò nung b ị giảm một lúc vì hư hỏng trong bộ nung, hoặc nếu bộ điều khiển đượ c dùng như một hệ thống tham vấn cho nhân viên điều khiển, và ngườ i này không thể đưa nó về làm việc trong vòng kín. C ũng sẽ rất hiệu quả nếu b ộ điều khiển nằm trong một nhánh c ủa một h ệ thống điều khiển ph ức t ạp mà có thể tạm thờ i không làm vi ệc. Nhiều vòng điều khiển PID điều khiển một thiết bị cơ khí (thí dụ như van). Bảo dưỡ ng ng cơ khí có thể là phí tổn và hao mòn chính làm cho điều khiển kém đi dướ i dạng ĩ nh ma sát t ĩ nh hoặc là dãi ch ết trong đáp ứng cơ khí ở tín hiệu đầu vào. Tốc độ bào mòn cơ khí tùy thuộc phần lớ n vào sự làm việc thườ ng ng xuyên c ủa thiết bị. Những nơ i bào ở đầu ra để giảm mòn đượ c đặc biệt chú ý, vòng điều khiển PID có thể có một dãi chết ở đầ tần s ố hoạt động c ủa (van) đầu ra. Điều này có th ể thực hi ện đượ c b ằng cách biến đổi ở đầu ra nếu thay đổi là nhỏ (nằm trong khoảng bộ điều khiển để giữ đượ c độ ổn định ở đầ dãi chết xác định). Tín hiệu đầu ra tính toán ph ải loại bỏ dãi chết trướ c khi đầu ra thực tế thay đổi. ở đầu ra khi một h ệ thống b ị Khâu tỉ lệ và khâu vi phân có th ể tạo ra biến đổi d ư thừa ở đầ lệ thuộc vào nấc thay đổi tức thờ i tăng sai số, như một thay đổi lớ n của điểm đặt. Trong trườ ng ng hợ p của khâu vi phân, điều này tùy thu ộc vào việc đạo hàm sai số, đạo hàm này sẽ rất l ớ n n ếu n ấc thay đổi t ức thờ i.i. K ết qu ả là, vài giải thuật PID đượ c thêm vào các cải tiến sau: -Đạo hàm đầu ra:Trong trườ ng ng hợ p bộ điều khiển PID đo lườ ng ng đạo hàm của đại lượ ng ng đầu ra, thay vì đạo hàm của sai số. Tín hiệu đầu ra luôn liên t ục (vì nó không bao giờ có nấc thay đổi). Để điều này đạt hiệu quả, đạo hàm của đầu ra phải cùng kiểu vớ i đạo hàm sai s ố. -Dốc hóa điểm đặt:Ở cải ti ến này, điểm đặt đượ c t ăng d ần t ừ giá trị cũ tớ i một giá tr ị dự kiến mớ i sử dụng một hàm tuyến tính hoặc đạo hàm bậc một của hàm dốc. Để tránh sự gián đoạn xuất hiện trong một thay đổi bậc thang đơ n. n. -Trọng hóa điểm đặt: Trọng hóa điểm đặt sử dụng các số khác nhau để nhân vớ i sai số phụ thuộc vào các yếu tố của bộ điều khiển mà nó đượ c dùng vào. Sai s ố trong khâu tích phân phải là sai số điều khiển thực để tránh sai số điều khiển ở trạng thái xác l ập. Điều này tác động đến đáp ứng điểm đặt của bộ điều khiển. Các thông số này không tác động đến đáp ứng của nhiễu tải và nhiễu đo lườ ng. ng. f) Các hạn chế của điều khiển PID Trong khi các b ộ điều khiển PID có thể đượ c dùng cho nhi ều bài toán điều khiển, và th ườ ng ng đạt kết quả như ý mà không c ần bất kỳ cải tiến hay thậm chí điều chỉnh nào, chúng có th ể rất yếu trong vài ứng dụng, và thườ ng ng không cho ta điều khiển t ố ối ư u. Khó khăn cơ bản của điều khiển PID là nó là một hệ thống phản hồi, vớ i các thông số không đổ i, và không có tin tức tr ực ti ếp v ề quá trình, và do đó t ất c ả kết qu ả là phản ứng và thỏa hiệp - trong khi điều khiển PID là bộ điều khiển tốt nhất mà không cần mô hình điều khiển, kết quả tốt hơ n có thể đạt đượ c bằng cách kết hợ p vớ i một mô hình điều khiển. Cải ti ến quan trọng nhất là kết h ợ p điều khiển nuôi-tiến v ớ i ki ến th ức v ề hệ thống, và sử dụng PID chỉ để điều khiển sai số. Thay vào đó, PID có thể đượ c cải tiến bằng nhiều cách, nh ư thay đổi các thông s ố (hoặc là lập chươ ng ng trình độ lợ i trong nhiều GVHD:ThS. VŨ THẾ ĐẢNG
Page 23
ĐỒ ÁN MÔN HỌC 2 trườ ng ng hợ p sử dụng khác nhau ho ặc cải tiến thích nghi chúng d ựa trên kết quả), cải tiến đo lườ ng ng (tốc độ lấy m ẫu cao hơ n, n, và chính xác, và l ọc thông thấp n ếu c ần thiết) hoặc nối tầng nhiều bộ điều khiển PID vớ i nhau. Các bộ điều khiển PID, khi sử dụng độc lập, có thể cho kết qu ả xấu khi độ lợ i vòng PID buộc phải giảm vì thế hệ điều khiển không xảy ra vọt lố, dao động hoặc rung quanh giá trị điểm đặt điều khiển. Chúng cũng khó khăn khi xuất hi ện phi tuyến, có thể cân bằng sự điều tiết chống lại đáp ứng thờ i gian, không ph ản ứng l ại việc thay đổi hành vi điều khiển (do đó, quá trình thay đổi sau khi nó đượ c hâm nóng), và b ị trể trong đáp ứng vớ i các nhiễu lớ n. n. Tuyến tính Một v ấn đề khác xảy ra đối vớ i các bộ điều khiển PID đó là chúng tuyến tính, và đối xứng từng phần. Do đó, kết quả của các bộ điều khiển PID trong các h ệ phi tuyến (nhử hệ điều khiển HVAC) thì khác nhau. Thí d ụ, trong điều khiển nhiệt độ, một trườ ng ng hợ p sử dụng phổ biến là nung nóng ch ủ động (qua một bộ nung) nhưng làm lạnh bị động (ngưng làm nóng, nh ưng không làm lạnh) vì vậy chỉ có thể loại trừ quá độ một cách ch ậm chạp - không thể ép xuống cưỡ ng ng bức. Trong trườ ng ng hợ p này bộ điều khiển PID có thể đượ c chuyển sang giảm lố, để ngăn cản hoặc giảm sự vọt lố, mặc dù điều này làm gi ảm hiệu suất (nó tăng thờ i gian xác lập). . Nhiễu trong khâu vi phân Một v ấn đề vớ i khâu Vi phân là m ột l ượ ng ng nhỏ đại l ượ ng ng đo l ườ ng ng hoặc x ử lý nhiễu có th ể gây ra các thay đổi lớ n ở đầ ng s ẽ rất cần thiết khi lọc các đại ở đầu ra. Thườ ng lượ ng ng đo lườ ng ng vớ i một bộ lọc thông thấp để loại trừ các thành ph ần nhiễu sóng hài bậc cao. Tuy nhiên, l ọc thông thấp và điều khiển vi phân có th ể loại trừ lẫn nhau, vì vậy gi g iảm nhiễu bằng các linh ki ện là l ựa chọn tốt hơ n. n. Như vậy, một bộ lọc trung vị phi tuyến có th ể đượ c sử dụng, sẽ giúp cải tiến hiệu suất lọc và kết quả thực tế . Trong vài trườ ng ng h ợ p, p, dãi vi phân có th ể bị 'tắt' trong nhiều h ệ thống v ớ i m ột chút suy giảm điều khiển. Khi đó bộ điều khiển PID sẽ giống như một bộ điều khiển PI . g) Ký hiệu thay thế và các dạng PID - Dạng PID lý tưở ng ng và tiêu chu ẩn Bộ điều khiển PID là b ộ điều khiển xuất hiện nhiều nhất trong công nghi ệp, và bộ điều khiển thích hợ p nhất để điều chỉnh thuật toán là d ạng chuẩ n. Trong dạng này, độ lợ i , và ,đạt đượ c:: c:: đượ c dùng trong khâu
trong đó là thờ i gian tích phân là thờ i gian vi phân Trong dạng song song lý tưở ng, ng, đượ c trình bày trong phần lý thuyết bộ điều khiển
GVHD:ThS. VŨ THẾ ĐẢNG
Page 24
ĐỒ ÁN MÔN HỌC 2 các thông s ố độ lợ i đượ c liên kết tớ i dạng chuẩn thông qua và . Dạng song song này, trong đó các thông s ố đượ c xử lý như là các độ lợ i đơ n giản, là dạng tổng quá và linh hoạt nhất. Tuy nhiên, nó c ũng là dạng mà các thông số có sự liên quan vật lý ít nh ất và thườ ng ng đượ c dành riêng cho vi ệc kh ảo sát lý thuyết của bộ điều khiển PID. Dạng chuẩn, mặc dù ít phức tạp hơ n về mặt toán học, nhưng lại phổ biến hơ n trong công nghi ệp. - Dạng Laplace của bộ điều khiển PID Đôi khi cách vi ết điều khiển PID dướ i dạng biến đổi Laplace l ại rất thuận tiện: Ta v ừa có bộ điều khiển PID đượ c vi ết d ướ i d ạng Laplace và hàm truy ền của h ệ điều khiển khiến cho việc xác định hàm truyền vòng kín hệ thống một cách d ễ dàng. - Dạng nối tiếp/tươ ng ng hỗ ng hỗ ươ ng Một dạng biểu diễn khác của bộ điều khiển PID là dạng nối tiếp, hay dạng t ươ trong đó các thông s ố quan hệ vớ i các thông s ố của dạng chuẩn qua , , and vớ i .
Dạng này về cơ bản bao gồm bộ điều khiển PD và PI ghép nối ti ếp v ớ i nhau, và nó giúp cho các b ộ điều khiển đờ i đầu (analog) dễ dàng xây dựng hơ n. n. Khi các bộ điều khiển đờ i sau đượ c số hóa, nhiều kế thừa sau đó sử dụng dạng tươ ng ng hỗ. - Thự c hiện rờ i rạc hóa Các phân tích về thiết kế một bộ điều khiển PID kỹ thuật số trên một Vi điều khiển (MCU) hoặc thiết b ị FPGA yêu cầu d ạng chuẩn của b ộ điều khiển PID phải đượ c r ờ ời r ạc hóa . Vi phân bậc một đượ c xác định bằng sai phân h ữu hạn lùi. Khâu tích phân đượ c rờ i rạc hóa, vớ i thờ i gian lấy mẫu ,như sau,
Khâu vi phân đượ c xác định bở i,i, ốc cho việc thực thi bộ điều khiển PID rờ i rạc trên m ột Do đó, một giải thuật vận t ố MCU đạt đượ c b ằng cách đạo hàm , sử dụng các số xác định t ừ đạo hàm bậc m ột và đạo hàm bậc hai, tìm ra cuối cùng ta đượ c: c: GVHD:ThS. VŨ THẾ ĐẢNG
Page 25
ĐỒ ÁN MÔN HỌC 2
IV.GIỚ I THIỆU VÀ NGUYÊN T ẮC HO ẠT ĐỘNG C ỦA CÁC LINH KIỆN CÓ LIÊN QUAN ĐẾN ĐỒ ÁN. 1.AT 89Cxx 1.1 Khái niệm về IC AT89C51 Vi điều khiển là những vi mạch điện tử tích hợ p (chip) mà có th ể lập trình để thực hiện những nhiệm vụ mong muốn. khác vớ i vi xử lý, các vi điều khiển ngoài chức năng xử lý dữ liệu, thuật toán… còn đượ c tích hợ p những bộ chức năng đặc biệt khác, các vi điều khiển còn có c ả ngõ vào/ra để nhận và xuất dữ liệu, các bộ timer xử lý thờ i gian, các b ộ trao đổi dữ liệu theo 1 s ố chuẩn giao tiếp, thậm chí 1 số loại vi điều khiển còn có cả bộ chuyển đổi AD, bộ điều khiển động cơ . Vi điều khiển AT89C51 tích hợ p đượ c 4 kbyte b ộ nhớ flash rom nạp và xóa bằng điện một cách tiện lợ i và nhanh chóng. Có th ể cho phép nạp xóa hàng ngàn l ần. 1.2 Chứ c năng của IC AT89C51 1.2.1. Sơ đồ ơ đồ chân của vi điều khiển AT89C51:
ơ đồ chân của 89C51 Hình 2 : sơ đồ 1.2.2 Các Port: a. Port 0: Port0 là port có 2 ch ức năng vớ i số thứ tự chân 32-39. GVHD:ThS. VŨ THẾ ĐẢNG
Page 26
ĐỒ ÁN MÔN HỌC 2 Trong các hệ thống điều khiển đơ n giản sử dụng bộ nhớ bên trong không dùng bộ nhớ mở bên ngoài thì port0 đượ c dùng làm các đườ ng ng điều khiển IO (input-output). Trong các hệ thống điều khiển l ớ n s ử dụng bộ nhớ mở rộng bên ngoài thì port 0 có chức năng là bus địa chỉ và bus dữ liệu AD7-AD0 (address: địa chỉ, data: d ữ liệu). b. Port 1: Port 1 vớ i số thứ tự chân 1-8. Port 1 ch ỉ có m ột chức năng dùng làm các đườ ng ng điều khiển xuất nhập IO, port 1 không có ch ức ngăn khác. c. Port 2: Port 2 là port có chức năng vớ i số thứ tự chân 21-28. Trong các hệ thống điều khiển đơ n gi ản sử dụng b ộ nhớ bên trong không dùng bộ nhớ mở bên ngoài thì port 2 đượ c dùng làm các đườ ng ng điều khiển IO (inputoutput). Trong các hệ thống điều khiển lớ n sử dụng bộ nhớ mở rộng bên ngoài thì port 2 có chức năng là bus địa chỉ cao A8-A15.
d. Port 3: Port 3 là port có 2 ch ức năng vớ i số thứ tự chân 10-17. Các chân c ủa port này có nhiều chức năng, các công d ụng chuyển đổi có liên hệ vớ i các đặc tính đặc biệt của 89C51 như ở bảng: Bit tên chức năng chuyển đổi P3.0 RxD Ngõ vào nhận dữ liệu nối tiếp P3.1 TxD Ngõ xuất dữ liệu nối tiếp P3.2 INT0\ Ngõ vào ngắt cứng thứ 0 P3.3 INT1\ Ngõ vào ngắt cứng thứ 1 P3.4 T0 Ngõ vào của timer/counter th ứ 0 P3.5 T1 Ngõ vào của timer/counter th ứ 1 P3.6 WR\ Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ ngoài P3.7 RD\ Tín hiệu điều khiển đọc dữ liệu từ bộ nhớ ngoài 1.2.3 Các ngõ tín hi ệu điều khiển: a. Ngõ tín hiệu PSEN ( program store enable):
GVHD:ThS. VŨ THẾ ĐẢNG
Page 27
ĐỒ ÁN MÔN HỌC 2 PSEN là tín hiệu ngõ ra ở chân 29 có tác d ụng cho phép đọc bộ nhớ chươ ng ng trình mở rộng thườ ng ng n ối đến chân OE ( output enable ho ặc RD) của eprom cho phép đọc các byte mã l ệnh. Khi có giao ti ếp vớ i bộ nhớ bên ngoài thì mớ i dùng đến PSEN, nếu không có giao tiếp thì PSEN bỏ trống (PSEN ở mức thấp trong thờ i gian điều khiển 89C51 lấy lệnh. Các mã lệnh của chươ ng ng trình đọc từ eprom qua bus d ữ liệu và đượ c chốt vào thanh ghi lệnh bên trong 89C51 để giải mã lệnh. Khi 89C51 thi hành ch ươ ng ng trình trong EPROM nội thì PSEN ở mức logic 1). b. Ngõ tín hiệu điều khiển ALE (address latch enable): Khi vi điều khiển 89C51 truy xuất bộ nhớ bên ngoài, port 0 có ch ức ngăng là bus tải địa chỉ và bus dữ liệu [AD7-AD0] do đó phải tách các đườ ng ng dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hi ệu điều khiển để giải đa hợ p các đườ ng ng địa chỉ và dữ liệu khi kết nối chúng vớ i IC chốt. Tín hiệu ra ở chân ALE là 1 xung trong kho ảng thờ i gian port 0 đóng vai trò là địa chỉ thấp nên việc chốt địa chỉ đượ c thực hiện một cách hoàn toàn t ự động. Các xung tín hi ệu ALE có tốc độ bằng 1/6 lần tần số dao động của tụ thạch anh gắn vào vi điều khiển và có thể dùng tín hiệu xung ngõ ra ALE làm xung clock cung cấp cho các phần khác của hệ thống. Trong chế độ lập trình cho bộ nhớ nội của vi điều khiển thì chân ALE đượ c dùng làm ngõ vào nhận xung lập trình từ bên ngoài để lập trình cho bộ nhớ flash rom trong 89C51. c. Ngõ tín hiệu EA (external access): Tín hiệu vào EA ở chân 31 thườ ng ng nối lên mức 1 hoặc mức 0. Nêu nối EA lên mức logic 1 (+5V) thì vi điều khiển s ẽ thi hành ch ươ ng ng trình từ bộ nhớ nội. Nếu n ối EA vớ i mức logic 0 (0V) thì vi điều khiển sẽ thi hành ch ươ ng ng trình từ bộ nhớ ngoài. d. Ngõ tín hi ệu RST (reset): Ngõ vào RST ở chân 9 là ngõ vào reset c ủa 89C51. Khi cấp điện cho hệ thống hoặc khi nhấn nút reset thì m ạch s ẽ reset vi điều khiển. khi reset thì tín hi ệu reset phải ở mức cao ít nh ất là 2 chu k ỳ máy, khi đó các thanh ghi bên trong đượ c nạp những giá trị thích hợ p để khở i động hệ thống. Trạng thái của tất cả các thanh ghi trong 89C51 sau khi reset h ệ thống đượ c tóm tắt như sau: Thanh ghi bộ đếm chươ ng ng trình PC thanh ghi tích lũy A thanh ghi B Thanh ghi trạng thái PSW Thanh ghi con tr ỏ SP GVHD:ThS. VŨ THẾ ĐẢNG
nội dung 0000H 00H 00H 00H 07H Page 28
ĐỒ ÁN MÔN HỌC 2 DPTR Port 0 đến port 3 IP IE Các thanh ghi định thờ i SCON SBUF PCON (HMOS) PCON (CMOS)
0000H FFH XXX0 0000 B 0X0X 0000B 00H 00H 00H 0XXX XXXXH 0XXX 0000 B Thanh ghi quan tr ọng nhất là thanh ghi b ộ đếm chươ ng ng trình PC=0000H sau khi reset. Sau khi reset xong vi điều khiển luôn bắt đầu th ực hi ện ch ươ ng ng trình tại địa ch ỉ 0000H của b ộ nhớ chươ ng ng trình nên các ch ươ ng ng trình cho vi điều khiển luôn bắt đầu tại địa chỉ 0000H. Nội dung của RAM trên chip không b ị thay đổi bở i tác động của ngõ vào reset. e. Các ngõ vào b ộ giao động Xtal1, Xtal2: Bộ dao động đượ c tích hợ p bên trong 89C51, khi s ử dụng 89C51 ngườ i thiết kế chỉ cần kết nối thêm tụ thạch anh và các t ụ khác. tần số tụ thạch anh thườ ng ng đượ c sử dụng ch0 89C51 là 12Mhz – 24Mhz. f. Chân 40 (Vcc) đượ c nối lên nguồn 5V, chân 20 GND n ối mass 1.2. Cơ sở lý thuyết: Muốn l ập trình cho ic vi điều khiển nào (hay cả các ic vi x ử lý n ữa), trướ c tiên Bạn phải hiểu rõ các đặc tính của ic đó. Vớ i ic vi điều khiển AT89C51 cũng không ngoại lệ. Trong phần này chúng ta s ẽ vắn t ắt v ề cấu trúc nội tại c ủa lo ại ic này. Vớ i ic AT89C51, chúng ta c ần biết 4 điều về nó, đó là: 1.2.1. Công dụng các chân của IC. Các chân cơ bản nhất là các chân c ảng xuất nhập dữ liệu.
Hình vẽ cho thấy, ic AT89C51 có 40 chân. Các
a. Nhóm chân cơ bản: GVHD:ThS. VŨ THẾ ĐẢNG
Page 29
ĐỒ ÁN MÔN HỌC 2 Gồm có chân 20 n ối masse và chân 40 n ối vào đườ ng ng nguồn 5V. Chân 18, 19 gắn th ạch anh để định t ần cho mạch dao động, do một l ệnh cần 12 phân đoạn, nên tần số xung nhịp sẽ là 1MHz hay chu k ỳ lệnh sẽ 1us. Chân số 9 dùng làm chân reset, nó tạo ra tác d ụng reset vớ i mức volt cao. Chân 31 dùng ch ọn định làm việc vớ i bộ nhớ trong hay cả vớ i bộ nhớ ngoài. Các chân 29, 30 s ẽ dùng khi chi ic AT89C51 làm vi ệc vớ i các bộ nhớ ngoài.
b. Nhóm các chân dùng làm c ảng xuất nhập dữ liệu: IC AT89C51 có 4 c ảng, mỗi cảng 8 bit, v ậy có 32 chân dùng xu ất nhập bit. Ngườ i ta đã dùng t ập tin định ngh ĩ a đặt tên cho c ảng và đặt tên cho các chân này. Đó là: * Các chân 39, 38, 37, 36, 35, 33, 32 đã đượ c đặt tên là p0.0, p0.1, p0.2, p0.3, p0.4, p0.5, p0.6, p0.7 và c ả 8 chân gôm lại gọi là p0 (hay gọi là cảng port 0). * Các chân 1, 2, 3, 4, 5, 6, 7, 8 đã đượ c đặt tên là p1.0, p1.1, p1.2, p1.3, p1.4, p1.5, p1.6, p1.7 và c ả 8 chân gôm l ại gọi là p1 (hay g ọi là c ảng port 1). * Các chân 21, 22, 23, 24, 25, 26, 27, 28 đã đượ c đặt tên là p2.0, p2.1, p2.2, p2.3, p2.4, p2.5, p2.6, p2.7 và c ả 8 chân gôm l ại gọi là p2 (hay g ọi là cảng port 2). * Các chân 10, 11, 12, 13, 14, 15 , 16, 17, 18 đã đượ c đặt tên là p3.0, p3.1, p3.2, p3.3, p3.4, p3.5, p3.6, p3.7 và c ả 8 chân gôm l ại gọi là p3 (hay g ọi là cảng port 3). Vớ i các tên đã đặt như vậy, nên khi viết các câu l ệnh, Bạn có thể dùng trực tiếp ơ đồ mạch điện cơ các tên gọi này, nhờ vậy c ũng r ất ti ện. Bên cạnh hình trên là m ột s ơ đồ ơ đồ mạch điện này. Các chươ ng bản, khi Bạn dùng ic AT89C51 B ạn có thể ráp theo sơ đồ ng trình điều khiển của Bạn sẽ phải thông qu ả 4 cảng này để điều khiển các thiết bị, do đó việc hiểu rõ tác d ụng của các cảng này là rất quan trọng. 1.2.2. cấu trúc các khối chứ c năng bên trong để hiểu sự vận hành của nó
GVHD:ThS. VŨ THẾ ĐẢNG
Page 30
ĐỒ ÁN MÔN HỌC 2 Từ sơ đồ khối chức năng trên, Bạn sẽ thấy cách vận hành bên trong của ic vi điều khiển AT89C51. Trong ic có kh ối x ử lý phép toán ALU, ALU k ết h ợ p v ớ i thanh ghi acc (còn g ọi là thanh a) và thanh b, đây là khối toán thuật quan trong c ủa ic. Bộ lấy câu lệnh c ủa ch ươ ng ng trình trong kh ối nhớ Flash để chấp hành, cách ch ạy chươ ng ng trình theo thanh đếm PC và địa chỉ thì theo thanh ghi con tr ỏ dptr. Bộ nhớ RAM trong đó có các thanh ghi đặc dụng dùng điều khiển các cơ phận của ic. Ngoài ra là s ự điều hành 4 cảng p0, p1, p2, p3 dùng để xuất nhập dữ liệu dạng bit. Cuối cùng là kh ối dao động tạo xung nhịp theo thạch anh gắn thêm từ bên ngoài. 1.2.3. Tập lệnh mà ic đó hiểu và chấp hành (Bảng liệt kê các câu l ệnh dùng cho AT89C51
GVHD:ThS. VŨ THẾ ĐẢNG
Page 31
ĐỒ ÁN MÔN HỌC 2
GVHD:ThS. VŨ THẾ ĐẢNG
Page 32
ĐỒ ÁN MÔN HỌC 2
GVHD:ThS. VŨ THẾ ĐẢNG
Page 33
ĐỒ ÁN MÔN HỌC 2
GVHD:ThS. VŨ THẾ ĐẢNG
Page 34
ĐỒ ÁN MÔN HỌC 2
2. Cảm biến nhiệt độ DS18B20: a> Tổng quan về DS18B20 và bus 1 dây: - DS18B20 là cảm biến nhiệt sản phẩm của công ty Dallas (M ỹ), đây cũng là công ty góp ph ần nhiều vào việc cho ra đờ i bus 1 dây và các c ảm biến 1 dây. - Hình dạng các cảm bi ến đượ c mô tả như hình vẽ,trong đó dạng TO-92 vớ i 3 chân là dạng thườ ng ng gặp và đượ c dùng nhiều trong các ứng dụng.Còn dạng vỏ SOIC vớ i 8 chân đượ c dùng để đo nhiệt độ bề mặt kể cả da ngườ i.i. Hình 2 : Hình d ạng cảm biến DS18B20 GVHD:ThS. VŨ THẾ ĐẢNG
Page 35
ĐỒ ÁN MÔN HỌC 2 đặ c đ iể m k ỹ thuậ t củ a DS18B20 có thể đượ ể đượ c kể ra 1 các tóm t ắ t như sau: - Sử dụng giao diện 1 dây nên ch ỉ cần 1 dây ra để truyền tín hiệu. Độ phân giải đo nhiệt có thể chọn từ 9-12 bit. - Dải đo nhiệt độ từ -55 – 125 độ C t ừng b ậc 0.5 độ C có thể chính xác t ớ i 0.1 độ C bằng việc hiệu chỉnh bằng phần mềm. - Thích hợ p cho các ứng dụng đo lườ ng ng đa điểm vì nhiều đầu đo có thể đượ c nối trên cùng 1 bus, bus này g ọi là bus 1 dây ( 1-wire) mà không c ần thêm linh ki ện bên ngoài. Các
Hình 3: k ết nối bus 1 dây. - Điện áp ngu ồn nuôi có thể thay đổi trong khoảng rộng t ừ 3.0 – 5.5 V và có th ể cấp nguồn thông qua đườ ng ng dẫn tín hiệu ( chế độ cấp nguồn ký sinh) không c ần dây dẫn nguồn nuôi. Dòng tiêu th ụ ở chế độ nghỉ cực nhỏ. Thờ i gian lấy mẫu và chuyển đổi thành s ố tươ ng ng đối nhanh không quá 750ms. - Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ dướ i dạng mã nhị phân nên không c ần bộ chuyển từ tín hiện tươ ng ng tự sang số (ADC). - Các tín hiệu đượ c gửi đến và nhận về từ DS18B20 trên giao di ện 1 dây nên ch ỉ cần 2 dây ,1 dây làm đườ ng ng tín hiệu và 1 dây làm đất là đủ để kết nối vi điều khiển đến điểm đo. - Mỗi cảm bi ến có 1 mã định danh duy nh ất 64bit chứa trong b ộ nhớ Rom trên chip đượ c khắc bằng lazer trong quá trình ch ế tạo vi mạch, nên nhiều vi mạch DS18B20 cùng gắn trên 1 bus 1- wire mà không có sự nhầm lẫn.Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt tại nhiều nơ i trên bus 1 dây v ớ i chi phí thấp. Theo chuẩn 1- wire chiều dài tối đa c ủa bus là 300m và không gi ớ i h ạn s ố lượ ng ng c ảm biến gắn vào bus. b> Cảm biến DS18B20:
GVHD:ThS. VŨ THẾ ĐẢNG
Page 36
ĐỒ ÁN MÔN HỌC 2 Hình 4: c ảm biến DS1820
o
o
- chân GND:chân nối đất. - chân DQ:chân trao đổi d ữ liệu, đồng thờ i là chân c ấp nguồn cho toàn bộ hoạt động của Ic nếu sữ dụng chế độ nguồn ký sinh. Khi kết nối vớ i vi điều khiển thì cần phải có điện trở kéo lên khoảng 4.7k. - chân Vcc: chân cấp nguồn. Cấu trúc của cảm biến DS18B20:
Hình 5: Sơ đồ ơ đồ khối cảm biến DS18B20 Tổ chứ c bộ nhớ : - Mỗi IC DS1820 có một mã 64bit riêng bi ệt bao gồm: 8bit Familly code, 48bits CRC code đượ c lưu trong Rom.Các giá tr ị này giúp phân bi ệt giữa các IC v ớ i nhau trên cùng 1 bus.Giá tr ị Familly code c ủa DS1820 là 28h và giá tr ị CRC là kết qu ả của quá trình kiểm tra 56 bits tr ướ c đó. - Tổ chức bộ nhớ Scratchpad: Bộ nhớ DS1820 bao gồm 9 thanh ghi 8bits: Byte 0 và 1 l ưu giá trị nhiệt độ chuyển đổi. Byte 2 và 3 l ưu giá trị ngưỡ ng ng nhiệt độ. ( không bị mất khi mất điện). Byte 4 là thanh ghi c ấu hình cho ho ạt động của DS1820. Byte 5,6 và 7 không s ữ dụng. Byte 8 là thanh ghi ch ỉ đọc lưu giá trị CRC từ byte 0 đến byte 7. Ba bướ c truy cập DS18B20: Trao đổi dữ liệu giữa vi điều khiển và DS1820 thông qua ba b ướ c sau: Khở i tạo: Quá trình khở i t ạo bao gồm 1 xung reset do vi điều khiển master gửi đến slave DS1820, sau đó là xung presence t ừ DS1820 gửi đến vi v i điều khiển, để chỉ ra sự hiện diện của vi điều khiển và DS1820 và quá trình ho ạt động trao đổi dữ liệu có thể bắt đầu. Lệnh điều khiển ROM:
GVHD:ThS. VŨ THẾ ĐẢNG
Page 37
ĐỒ ÁN MÔN HỌC 2 Các lệnh này làm vi ệc vớ i 64bits serial code ROM, l ệnh này đượ c phát ra sau quá trình kh ở i tạo. Lệnh cho phép vi điều khiển biết có bao nhiêu thi ết bị và thiết bị loại gì trên bus. Có 5 l ệnh điều khiển ROM: - SEARCH ROM [F0h] Khi hệ thống b ắt đầu ho ạt động, thì vi điều khiển sử dụng l ệnh này để kiểm tra code ROM của tất c ả các thiết bị có trên bus cho phép vi điều khiển bi ết đượ c s ố thiết bị và loại của thiết bị trên bus. Nếu trên bus ch ỉ có 1 thiết bị thì có thể sử dụng lệnh Read_ROM thay cho l ệnh Search_ROM. Sau m ỗi quá trình Search_ROM thì c ần phải quay lại quá trình kh ở i tạo để reset hệ thống. - READ ROM [33h] Lệnh này đượ c sử dụng khi chỉ có 1 thi ết bị trên bus. Lệnh này cho phép vi điều khiển đọc 64bit ROM code c ủa thiết b ị. N ếu trên bus có nhi ều thiết bị thì lệnh này sẽ gây ra sự xung đột bus dữ liệu giữa các thiết bị. - MATCH ROM [55h] Lệnh này theo sau b ở i 64 bit ROM code cho phép vi điều khiển định địa chỉ thiết b ị cần giao tiếp. Chỉ thiết b ị có ROM code phù h ợ p s ẽ trả lờ i,i, các thiết b ị còn lại sẽ đợ i xung reset tiếp theo. - SKIP ROM [CCh] Lệnh này cho phép vi điều khiển gửi đồng thờ i đến tất cả các thiết b ị trên bus mà không cần bất cứ thông tin nào v ề ROM Code. Ví dụ, muốn gửi lệnh Convert_T đến t ất c ả các thiết b ị trên bus, thì đầu tiên ta gửi l ệnh Skip_ROM sau đó ti ếp theo là gửi lệnh Convert_T. Tươ ng ng tự như vậy, nếu theo sau lệnh Skip_ROM là lệnh Read_Scratchpad thì d ữ liệu trên DS1820 đượ c đọc về, và lưu ý rằng lệnh này chỉ thực hiện đượ c khi trên bus có 1 thi ết bị, nếu trên bus có nhi ều thiết bị thì sẽ gây ra xung đột bus. - ALARM SEARCH [ECh] Lệnh này gần giống vớ i lệnh Search_ROM, nhưng lệnh này chỉ tác động đến thiết bị mà cờ alarm đượ c bật lên sẽ trả lờ i.i. Lệnh này cho phép xác định các thi ết bị mà ng nhiệt độ, và sau khi l ệnh này đượ c thực thi thì ở đ ở đó nhiệt độ đo đượ c vượ t qua ngưỡ ng vi điều khiển phải lập lại quá trình kh ở i tạo – quay lại bướ c 1.
o
Lệnh điều khiển DS1820: Sau khi vi điều khiển định địa chỉ thiết bị cần giao tiếp thông qua các l ệnh ROM, vi điều khiển sẽ gửi các lệnh điều khiển hoạt động của DS1820. Những lệnh này cho phép vi điều khiển ghi và đọc d ữ liệu từ bộ nhờ Scratchpad của DS1820, bắt đầu quá trình chuy ển đổi nhiệt độ, và xác định chế độ cấp nguồn. - WRITE SCRATCHPAD (4Eh) Lệnh này cho phép ghi 2 byte d ữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên đượ c ghi vào thanh ghi TH (byte 2 c ủa bộ nhớ nháp) còn byte th ứ hai đượ c ghi vào thanh ghi TL (byte 3 c ủa bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên là bit có ý ngh ĩ a thấp nhất ( LSB). Cả hai byte này phải đượ c ghi trướ c khi thiết bị chủ xuất ra một xung reset ho ặc khi có dữ liệu khác xuất hiện. GVHD:ThS. VŨ THẾ ĐẢNG
Page 38
ĐỒ ÁN MÔN HỌC 2
- READ SCRATCHPAD (BEh) Lệnh này cho phép thi ết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt đầu từ bit có ý ngh ĩ a thấp nhất (LSB) của byte 0 và ti ếp tục cho đến byte rhứ 9 (byte 8 - CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần đượ c đọc. - COPYSCRATCHPAD (48h) Lệnh này copy n ội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào b ộ nhớ EEPROM. Nếu cảm biến đượ c sử dụng trong chế độ cấp nguồn l bắt đầu việc đo. - CONVERT T (44h) Lệnh này khở i động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ đượ c l ưu tr ữ trên thanh ghi nhiệt độ 2 byte trong b ộ nhớ nháp Thờ i gian chuyển đổi không quá 200 ms, trong th ờ i gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá tr ị đọc ra đều bằng 0. - READ POWER SUPPLY (B4h) Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào, giá tr ị đọc đượ c bằng 0 nếu cấp nguồn bằng chính đườ ng ng d ẫn d ữ liệu và bằng 1 nếu cấp nguồn qua một đườ ng ng dẫn riêng. Nguyên lý hoạt động của cảm biến nhiệt DS18B20: Bên trong DS18B20 có b ộ chuyển giá trị nhiệt độ sang giá trị số và đượ c lưu trong các thanh ghi ở bộ nhớ cratchpad. Độ phân giải nhiệt độ đo có thể đượ c cấu hình ở chế độ 9bits, 10bits,11bits,12bits. ở chế độ mặc định thì DS18B20 hoạt động ở độ ở độ phân giải 12bits. ng t ự sang giá trị Để bắt đầu quá trình đọc nhiệt độ và chuyển đổi t ừ giá trị tươ ng số thì VDK gửi lệnh COVERT T [44h], sau khi chuyển đổi xong thì giá giá tr ị nhiệt độ đượ c lưu trong 2 thanh ghi nhi ệt độ ở bộ nhớ cratchpad và IC tr ở về trạng thái nghỉ. Nhiệt độ đượ c lưu bên trong DS19B20 đượ c tính ở nhiệt độ Celcius. Giá trị nhiệt độ lưu trong b ộ nhớ gồm 2bytes- 16 bits: s ố âm đượ c lưu dướ i dạng bù 2. bit cao nhất là bit dấu (S) nếu S=0 thì giá trị nhiệt độ là d ươ ng ng và S=1 thì giá tr ị nhiệt độ là âm Nếu cấu hình độ phân giải là 12bits thì tất cả các bit đều đượ c sữ dụng. Nếu độ phân giải 11bits thì bit 0 không đượ c sữ dụng.Tươ ng ng tự nếu c ấu hình là 10bits thì bit 1,0 không đượ c sữ dụng, nếu cấu hình 9bits thì bit 2,1,0 không đượ c sữ dụng.
Hình 6: Định dạng thanh ghi l ư u giá trị nhiệt độ.
GVHD:ThS. VŨ THẾ ĐẢNG
Page 39
ĐỒ ÁN MÔN HỌC 2
o
Hình 7: Giá tr ị nhiệt độ và giá trị đượ c lư u trong bộ nhớ . Giá trị nhiệt độ sau khi đượ c lưu vào trong hai thanh ghi b ộ nhớ sẽ đượ c so sánh vớ i 2 thanh ghi ng ưỡ ng ng nhiệt độ TH và TL. Các giá trị nhiệt độ do ngườ i dùng quy định và nó sẽ không thay đổi khi mất điện. Như vậy chỉ có phần nguyên các, các bit t ừ 11-4 của giá trị nhiệt độ đượ c so sánh vớ i 2 thanh ghi ng ưỡ ng.N ng.Nếu giá trị nhiệt độ đọc về nhỏ hơ n mức TL hoặc lớ n hơ n mức TH thì cờ báo quá nhiệt sẽ đượ c bật lên, và nó s ẽ thay đổi ở mỗi quá trình đọc nhiệt độ.VDK có thể kiểm tra trạng thái quá nhiệt bằng lệnh ALARM SEARCH [Ech]. Dữ liệu trong byte 2,3,4 đượ c ghi thông qua l ệnh Write Scratchpad [4Eh] và d ữ liệu đượ c truyền đến DS1820 vớ i bit LSB của byte 2, sau khi ghi d ữ liệu có thể đượ c đọc l ại thông qua l ệnh Read Scratchpad [BEh], và khi đọc Scratchpad thì bit LSB c ủa byte 0 sẽ đượ c gửi đi tr ướ c – Tất c ả các byte đều đượ c đọc, nhưng chỉ ghi đượ c byte 2,3 và 4. Để chuyển giá trị TH và TL từ bộ nhờ vào EEPROM thì c ần g ửi l ệnh Copy Scratchpad [48h] đến DS1820. Và dữ liệu t ừ EEPROM cũng có thể đượ c chuyển vào thanh ghi TH,TL thông qua l ệnh Recall E2 [B8h]. Time slot khở i tạo, đọc, và ghi dữ liệu xuống DS1820 Khở i tạo:
Hình 8 :time slot khở i tạo DS1820 GVHD:ThS. VŨ THẾ ĐẢNG
Page 40
ĐỒ ÁN MÔN HỌC 2 o
Đọc và Viết time slot:
o
Hình 9: time slot đọc và viết dữ liệu xuống DS1820 Các cách ghép nối Cảm biến DS1820 v ớ i Vi điều khiển: Chế độ sử dụng DS1820 b ằng cách cấp nguồn ký sinh:
Hình 10 : chế độ cấp nguồn ký sinh cho DS1820 Chế độ cấp nguồn trự c tiếp cho DS1820:
GVHD:ThS. VŨ THẾ ĐẢNG
Page 41
ĐỒ ÁN MÔN HỌC 2
Hình 11 : chế độ cấp nguồn đầy đủ cho DS1820 3. Tổng quan v ề LCD: a. Tổng quan: Trong những năm gần đây LCD đang ngày càng đượ c sử dụng rộng rãi thay th ế dần cho các đèn LED (các đèn LED 7 đoạn hay nhiều đoạn). Đó là vì các nguyên nhân sau: 1. Các LCD có giá thành h ạ. 2. Khả năng hiển thị các số, các ký tự và đồ hoạ tốt hơ n nhiều so vớ i các đèn LED(vì các đèn LED chỉ hiển thị đượ c các số và một số ký tự). 3. Nhờ kết h ợ p m ột b ộ điều khiển làm tươ i vào LCD làm gi ải phóng cho CPU công việc làm tươ i LCD. Trong khi đèn LED phải đượ c làm tươ i bằng CPU (hoặc bằng cách nào đó) để duy trì việc hiển thị dữ liệu. 4. Dễ dàng lập trình cho các ký t ự và đồ hoạ.
Hình 12 : hình dạng LCD
GVHD:ThS. VŨ THẾ ĐẢNG
Page 42
ĐỒ ÁN MÔN HỌC 2 b. Mô tả các chân của LCD:
Hình 12: Mô t ả chứ c năng các chân của LCD
Hình 13: B ảng mã lệnh của LCD GVHD:ThS. VŨ THẾ ĐẢNG
Page 43
ĐỒ ÁN MÔN HỌC 2 c.Giớ i thiệu LCD 16 x +Chân 1 đượ c nối vớ i mạch reset. Khi nhấn SW1 thì bộ vi điều khiển sẽ đượ c khở i động lại từ đầu. + Chân 13-14 đượ c nối // vớ i thạch anh 12Mhz. mạch có nhiệm vụ tạo dao động cho vi điều khiển. +Từ chân RD2 và RD3 lần lượ t đượ c nối vớ i RS, E của LCD. Có nhiệm vụ điều khiển hoạt động của LCD. +RD4=>RD7 lần lượ t đượ c nối vớ i đầu vào dữ liệu từ D4=> D7 của LCD.Có chức năng điều khiển hiển thị LCD theo nhiệt độ đo đượ c. c. +Chân 2(VDD) của LCD đươ c nối vớ i nguồn;chân VSS,VEE,RW đượ c nốivớ i mát.
Hình14 : LCD 16x2 A. Nguyên t ắc hiển thị ký tự trên LCD Một ch ươ ng ng trình hi ển thị ký t ự trên LCD s ẽ đi theo bốn bướ c sau:1)Xóa toàn bộ màn hình.2)Đặt chế độ hiển thị.3)Đặt vị trí con trỏ (nơ i bắt đầu của ký tự hiển thị).4)Hiển thị ký tự. + Các bướ c 3, 4 có th ể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự. + Mỗi khi th ực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD c ần phảikiểm tra cờ trướ c của chu kì tr ướ c đó. Vì vậy, cần phải chủ động phân phốithờ i gian khi ra lệnh cho LCD( ví dụ sau khi xóa màn hình sau kho ảng 2ms mớ i ra lệnh khác vì th ờ i gian để LCD xóa màn hình là 1,64ms). + Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định s ẽ là đầu dòng thứ nhất. 4.Thiết bị cấp nhiệt -Để cấp nhiệt cho h ệ thống ta có th ể sử dụng dây may so hoặc bóng đèn Halozen. -Đảm bảo cấp nhiệt lớ n theo yêu cầu của hệ thống -Có khả năng thay đổi nhiệt độ dễ dàng. -Như vậy h ệ thống lò ấp có thể sử dụng thiết bị cấp nhiệt nh ư dây May so hoặc bóng đèn Halozen.
GVHD:ThS. VŨ THẾ ĐẢNG
Page 44
ĐỒ ÁN MÔN HỌC 2
Hình 15: Hình ảnh dây May so và bóng Halozen H alozen thực tế
GVHD:ThS. VŨ THẾ ĐẢNG
Page 45
ĐỒ ÁN MÔN HỌC 2
CHƯƠ NG NG III: THI ẾT KẾ PHẦN CỨ NG NG HỆ THỐNG I/ CÁC MODULE TRONG H Ệ THỐNG 1. Module điều khiển Là trung tâm, là b ộ não của toàn b ộ hệ thống - Module này điều khiển mọi hoạt động của hệ thống - Đầu vào là d ạng điện áp nhận đượ c từ module cảm biến. - Đầu ra là tín hiệu dạng số để cho phép đóng, ngắt module cấpnhiệt (hoặc có thể là dạng tín hiệu tươ ng ng tự).Module này có vai trò đặc biệt quan trọng. 2.Module cài đặt -Module cài đặt cho phép cài đặt , điều chỉnh nhiệt độ đặt nhất định nào đó. -Module cho phép t ăng ,giảm nhiệt độ đặt bằng các phím b ấm -Nhiệt độ sau khi cài đặt đượ c đượ c hiển thị lên module hiểnthị. 3. Module hiển thị - Module này làm t ăng khả năng giao tiếp của hệ thống vớ i ngườ i sử dụng. - Mọi thông tin về nhiệt độ đượ c hiển thị cho ngườ i sử dụng quan sát nh ư : nhiệt độ ng , thông báo… đặt, nhiệt độ môi trườ ng - Thông tin cần hiển thị đượ c cấp bở i module điều khiển hay là nhận tín hiệu vào từ module điều khiển. 4. Module cấp nhiệt - Module cấp nhiệt tạo ra nhiệt cho hệ thống để ấp trứng. - Đầu vào c ủa module này là điện áp. - Đầu ra của module là nhi ệt cấp cho hệ thống. - Module này quy ết định chất lượ ng ng sản phẩm. 5. Module khối nguồn -Hệ thống muốn hoạt động đượ c thì phải có module này, t ừ đó cũng nói lên vai trò quan trọng của nó. -Đầu vào của module là điện áp. -Đầu ra của module cũng là điện áp để cấp cho toàn b ộ hệ thống hoạt động. 6. Module cảm biến - Module này quyết định tớ i độ chính xác c ủa hệ thống.Hệ thống muốn hoạt động chính xác thì thông tin c ủa module này ph ải đảm bảo chính xác , ít sai s ố. - Đầu vào c ủa module là nhi ệt độ. - Đầu ra của module là điện áp cấp cho module điều khiển II/ SƠ ĐỒ Ơ ĐỒ NGUYÊN LÝ CỦA MẠCH ĐIỀU KHIỂN NHIỆT ĐỘ. Gồm có 5 kh ối chính:Khối nguồn, khối vi sử lý, khối c ảm bi ến nhiệt độ, kh ối hi ển th ị LCD, khối công suất.
GVHD:ThS. VŨ THẾ ĐẢNG
Page 46
ĐỒ ÁN MÔN HỌC 2 VCC
U8
VCC 2 VDD 1 VSS VEE
LCD
7 6 5 4 3 2 1 0 B B B B B B B B K A
D D D D D D D D
6 5 1 1
R9
3 10K
4 RS 5 RW 6 EN
p2.5 p2.6 p2.7
4 3 2 1 0 1 1 1 1 1 9 8 7
R10
p p p p p p p p
0 0 0 0 0 0 0 0
VCC
. . . . . . . . 7 6 5 4 3 2 1 0
VCC
R14
VCC 1
U7 2 3 4 5 6 7 8 9
p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7
39 38 37 36 35 34 33 32
SW1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
SW2 SW_PB_SPST SW3 SW_PB_SPST
1 2 3 4 5 6 7 8
C1
RST
21 22 23 24 25 26 27 28
p2.0 p2.1 p2.2 p2.3 p2.4 p2.5 p2.6 p2.7
VCC
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
R26 J2
6
J3 10 11 12 13 14 15 16 17
R27 R17
POWER_LED2
VCC 1 2 3
560
1
C7
2k2
Q3 TRIAC
R25 1k
C6 4
30 ALE/PROG 29 PSEN
31 9 EA/VPP RST VCC
Y1 VCC ZTA
30p 47uF
C3
RST
POWER_LED1 R15
U9 LM7 LM7805C 805C 12V
J1
4.7k
R16 1
2 1 CON2
VCC
IN OU OUTT
3
C4
C11C5
1000uF
100uF
III.NGUYÊN TẮC HOẠT ĐỘNG Khối nguồn có nhiệm vụ cung cấp nguồn 5v cho h ệ thống, cung cấp nguồn để kích khối công suất. Khối vi sử lý có nhiệm v ụ điều khiển c ũng như lấy nhiệt độ từ DS18b20 về và đưa vào nhiệt độ đo điều khiển khối công su ất. Khối cảm biến nhiệt độ:Có nhiệm vụ lấy nhiệt độ từ môi trườ ng ng và chuyển từ tín hiệu t ươ ng ng tự đo sang tín hi ệu số và chuyển qua vi điều khiển qua chuẩn 1 giây. •
•
•
GVHD:ThS. VŨ THẾ ĐẢNG
1 2
U10 MOC3020
2
CON3
AT89S52
30p
C2
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
P1.0/T2 P3.0/RXD P1.1/T2-EX P3.1/TXD P1.2 P3.2/INT0 P1.3 P3.3/INT1 P1.4 P3.4/T0 P1.5 P3.5/T1 P1.6 P3.6/WR P1.7 P3.7/RD
19 18 XTAL1 XTAL2
VCC SW_PB_SPST
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
Page 47
CON2
ĐỒ ÁN MÔN HỌC 2 Khối hi ển thị LCD: Có nhiệm v ụ hiển th ị dữ liệu t ừ vi s ử lý. Trong mạch hiển thi nhiệt độ từ DS18b20 và giá tr ị đặt trướ c. c. Khối công suất: Có nhiệm vụ điều khiển điều khiển đóng ngắt điện 220v AC. CHƯƠ NG NG IV: THIẾT KẾ PHẦN MỀM HỆ THỐNG. I/CHƯƠ NG NG TRÌNH ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh dem xung ngoai su dung counter t0 ;xung dem duoc dua den ngo vao t0 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MAQUET EQU A ;LUU MA QUET UP BIT P1.1 DOWN BIT P1.0 RELE BIT P3.7 BIENDEM EQU R7 org 0000h CALL KHTAOLCD CLR RELE MOV BIENDEM,#35 CALL HT_HANG1 CALL HT_HANG2 setb p2.0 call delay1s TD: mov dptr,#maLCD MAIN: JNB UP,TANG JNB DOWN,GIAM call nhietdo1820 CALL hextobcd ;chuyen so hex-bcd CALL giaima7doan CALL SOSANH CALL HIENTHI7 CALL DELAY10MS •
•
TANG:
JMP MAIN ;JNB call call call
MODE,$ delay50ms delay50ms delay50ms
;CLR RELE CALL hextobcd GVHD:ThS. VŨ THẾ ĐẢNG
;chuyen so hex-bcd Page 48
ĐỒ ÁN MÔN HỌC 2 CALL giaima7doan CALL HIENTHI7 INC BIENDEM CJNE BIENDEM,#255,MAIN MOV BIENDEM,#0 JMP MAIN ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX GIAM: ;JNB MODE,$ call delay50ms call delay50ms call delay50ms ;CLR RELE CALL hextobcd ;chuyen so hex-bcd CALL giaima7doan CALL HIENTHI7 DEC BIENDEM CJNE BIENDEM,#-1,MAIN MOV BIENDEM,#255 JMP MAIN ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX SOSANH: MOV A,NHIETDO SUBB A,BIENDEM CJNE A,#2,$+3 JNC THOAT clr RELE RET THOAT:
MOV A,BIENDEM SUBB A,NHIETDO CJNE A,#2,$+3 JNC THOAT1 clr RELE RET
THOAT1:
setb RELE RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuyen so hex 1 byte thap tl0 sang so BCD ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hextobcd: mov a,nhietdo ;chuyen byte thap sang A GVHD:ThS. VŨ THẾ ĐẢNG
Page 49
ĐỒ ÁN MÔN HỌC 2
37H
36H 35H
mov b,#10 div ab
;nap 10 vao B ;chia byte thap cho 10 lan thu 1
mov 37h,b
;cat BCD HANG don vi vao o nho
mov b,#10 div ab mov 36h,b
;chia lan thu 2 ;cat BCD HANG CHUC vao o nho
mov 35h,a
;cat BCD HANG TRAM vao o nho
mov a,BIENDEM mov b,#10 div ab
;chuyen byte thap sang A ;nap 10 vao B ;chia byte thap cho 10 lan thu 1
mov 34h,b ;cat BCD HANG don vi vao o nho 37H mov b,#10 div ab ;chia lan thu 2 mov 33h,b ;cat BCD HANG CHUC vao o nho 36H mov 32h,a ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuyen so bcd sang ma 7 doan de dkhien led sang ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx giaima7doan: MOV A,37H ;lay ma bcd hang don vi MOVC A,@A+DPTR ;lay ma 7 doan dua vao A MOV 27h,A ;cat vao o nho 27h MOV A,36H MOVC A,@a+DPTR MOV 26H,A
;lay ma bcd hang chuc ;lay ma 7 doan dua vao A ;cat vao o nho 21h
MOV A,35H MOVC a,@A+DPTR MOV 25H,A
;lay ma bcd hang tram ;lay ma 7 doan dua vao A ;cat vao o nho 22h
MOV A,34H MOVC A,@A+DPTR MOV 24h,A
;lay ma bcd hang don vi ;lay ma 7 doan dua vao A ;cat vao o nho 27h
MOV A,33H MOVC A,@a+DPTR
;lay ma bcd hang chuc ;lay ma 7 doan dua vao A
GVHD:ThS. VŨ THẾ ĐẢNG
Page 50
ĐỒ ÁN MÔN HỌC 2 MOV 23H,A
;cat vao o nho 21h
MOV A,32H MOVC a,@A+DPTR MOV 22H,A RET
;lay ma bcd hang tram ;lay ma 7 doan dua vao A ;cat vao o nho 22h
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;CHUONG TRINH CON HIEN THI 2 LED ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HIENTHI: MOV A,#8DH CALL KTAO MOV A,25H MOV BYTEOUT,A CALL DATA_BYTE MOV A,#8EH CALL KTAO MOV A,26H MOV BYTEOUT,A CALL DATA_BYTE MOV A,#8FH CALL KTAO MOV A,27H MOV BYTEOUT,A CALL DATA_BYTE MOV A,#0CDH CALL KTAO MOV A,22H MOV BYTEOUT,A CALL DATA_BYTE MOV A,#0CEH CALL KTAO MOV A,23H MOV BYTEOUT,A CALL DATA_BYTE MOV A,#0CFH GVHD:ThS. VŨ THẾ ĐẢNG
Page 51
ĐỒ ÁN MÔN HỌC 2 CALL KTAO MOV A,24H MOV BYTEOUT,A CALL DATA_BYTE RET ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx $include(tv_18b20.asm) $INCLUDE(TV_LCD20.ASM) $INCLUDE(TV_DELAY.ASM) ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; Data bytes ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx DATAHANG1: DB 'NHIET DO DO: ',099h ;MA 99H LA MA KET THUC HET 1 HANG DATAHANG2: DB 'GIA TRI DAT: ',099h DATAHANG3: DATAHANG4: MALCD: DB '0123456789' End
GVHD:ThS. VŨ THẾ ĐẢNG
Page 52
ĐỒ ÁN MÔN HỌC 2 II/MÔ PHỎNG
LCD1 LM016L
R5 R8 R9 10k 10k 10k
U1 19
18
9
29 30 31
1 1
p1.0 1 p1.12 P1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8
XTAL1
XTAL2
RST
PSEN ALE EA
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
S D E 0 1 2 3 4 5 6 7 S D E S W V V V R R E D D D D D D D D
P0.0 P0.1 P0.2
39 38 37 36 35 34 33 32
1 2 3
4 5 6 0 . 1 . 2 . 0 0 0 P P P
7 8 9 0 1 2 3 4 1 1 1 1 1
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
U2 P3.2 P3.3
3 2 1
VCC DQ GND
35.0
D1
DS18B20 P3.6 P3.7
LED-RED
AT89C52
GVHD:ThS. VŨ THẾ ĐẢNG
Page 53
ĐỒ ÁN MÔN HỌC 2
PHẦN III: ĐÁNH GIÁ VÀ KẾT LUẬN 1. Kết quả thự c hiện đồ án: Linh kiện dễ kiếm, tốn ít linh kiện, mạch nhỏ gọn, có thể mở rộng điều khiển nhiều thiết bị. Chươ ng ng trình điều khiển x ử lý nhanh, độ phân giải nhiệt độ cao (0.1 độ C) giúp tăng độ chính xác cho m ạch đo nhiệt 2. Giớ i hạn của đề tài và h ướ ng ng phát triển của đề tài: Chưa có giao tiếp để đặt và hiển thị trên máy tính. Hướ ng ng phát triển của đề tài: Ghép nối nhiều cảm biến DS1820 trên BUS 1 dây để giám sát nhiệt độ ở nhiều điểm khác nhau trên BUS. ng kết quả đã đạt đượ c trong đề tài nghiên cứ u: u: 3. Khẳng định nhữ ng Trong đồ án này, chúng em th ực hiện mạch điều khiển và đo nhiệt độ lò ấp trứng bằng phươ ng ng pháp đếm xung. Như vậy, mỗi khi điều khiển ở bất kỳ nhiệt độ nào từ 0 dến 255 phải có một thiết bị để cảm nhận nhiệt độ trong mạch công suất, thiết bị này gọi là cảm biếnnhiệt. Nhằm đảm bảo nhiệt độ đượ c ổn định trong lò. Tuy nhiên, mỗi khu vực sản xuất hay mỗi ca sản xuất lại yêu cầu vớ i nhiệt độ là khác nhau vì th ế phải có sự linh hoạt trong việc chuyển đổi nhiệt độ. Bộ phận chuyển đổi trực quan nhất là bàn phím. Từ đây suy ra các kết quả mà đề tài của nhóm em th ực hiện đượ c là: −
−
− −
Điều khiển và đo nhiệt độ chính xác và thay đổi việc cài đặt số đếm ban đầu một cách linh ho ạt. Bộ phận hiển thị rõ ràng. Mạch điện không phức tạp. Đảm bảo tốt sự an toàn. Dễ sử dụng trong thực tế. Giá thành rẻ. Cho phép tăng hiệu suất lao động. Đảm bảo độ chính xác.. Tổn hao công suất bé, mạch có thể sử dụng pin hoặc acquy. Mạch đơ n giản dễ thực hiện. Mạch điều khiển và đo nhiệt độ lò ấp trứng là đề tài thuộc đồ án, nghiên cứu và thực hiện t ốt nên giúp sinh viên chúng em làm quen v ớ i cách học t ự nghiên cứu , tinh thần học tập và làm việc theo nhóm. V ớ i việc tự nghiên cứu và thực hiện mạch điều khiển và đo nhiệt độ, giúp sinh viên vận dụng các kiến thức đã học và sự hướ ng ng dẫn của giảng viên để thực hiện tốt mạch. −
− − − − − − − − −
GVHD:ThS. VŨ THẾ ĐẢNG
Page 54
ĐỒ ÁN MÔN HỌC 2
TÀI LIỆU THAM KHẢO. Giáo trình “VI X Ử LÝ VI ĐIỀU KHIỂN” ĐHKTCN THÁI NGUYÊN. Trangweb: http://www.picvietnam.com. www.dientuvienam.net www.diendandien.com www.hoiquandientu.com
GVHD:ThS. VŨ THẾ ĐẢNG
Page 55