Đồ án Nghiên cứu, Thiết kế hệ thống điều khiển nhiệt độ bằng máy tính qua card ghép nối mở rộng
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nghiên cứu, Thiết kế hệ thống điều khiển nhiệt độ bằng máy tính qua card ghép nối mở rộng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_nghien_cuu_thiet_ke_he_thong_dieu_khien_nhiet_do_bang.pdf
Nội dung text: Đồ án Nghiên cứu, Thiết kế hệ thống điều khiển nhiệt độ bằng máy tính qua card ghép nối mở rộng
- LỜI NÓI ĐẦU Nhiệt độ là một trong những thành phần vật lý rất quan trọng. Việc thay đổi nhiệt độ của một vật chất ảnh hưởng rất nhiều đến cấu tạo, tính chất, và các đại lượng vật lý khác của vật chất. Trong các lò nhiệt, máy điều hoà, máy lạnh hay cả trong lò viba, điều khiển nhiệt độ là tính chất quyết định cho sản phẩm ấy. Trong ngành luyện kim, cần phải đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống gỉ sét, . Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh, để nấu, để bảo quản, . Việc thay đổi thất thường nhiệt độ, không chỉ gây hư hại đến chính thiết bị đang hoạt động, còn ảnh hưởng đến quá trình sản xuất, ngay cả trên chính sản phẩm ấy. Có nhiều phương pháp để điều khiển lò nhiệt độ. Mỗi phương pháp đều mang đến 1 kết quả khác nhau thông qua những phương pháp điều khiển khác nhau đó. Trong nội dung Đồ án này, em sẽ nghiên cứu, trình bày phương pháp điều khiển On-Off , PI và điều khiển PID thông qua Card AD giao tiếp với máy tính PCL818. Mọi dữ liệu trong quá trình điều khiển sẽ được hiển thị lên máy tính dựa trên ngôn ngữ lập trình Delphi. Đề tài : “ Nghiên cứu, Thiết kế hệ thống điều khiển nhiệt độ bằng máy tính qua card ghép nối mở rộng ” của em do thầy Nguyễn Trọng Thắng hướng dẫn có 3 nội dung chính sau : Chương 1: Tổng quan hệ thống điều khiển nhiệt độ. Chương 2: Nghiên cứu, Thiết kế phần cứng hệ thống điều khiển nhiệt độ bằng máy tính qua Card PCL-818 của ADVANTECH. Chương 3: Thiết kế phần mềm. 1
- CHƢƠNG 1. TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ 1.1. CÁC KHỐI CƠ BẢN TRONG ĐIỀU KHIỂN NHIỆT ĐỘ. Hệ thống điều khiển nhiệt độ thông dụng trong công nghiệp được thể hiện ở hình 1.1: Cảm biến và Card AD/DA Màn hình mạch gia công PCL-818L hiển thị Mạch kích và Máy tính và lò nhiệt Chƣơng trình điều khiển Hình 1.1 : Hệ thống điều khiển nhiệt độ. Cụ thể hệ thống điều khiển nhiệt độ do em thiết kế gồm những khối cơ bản như sau : - Khối cảm biến và gia công : sử dụng cảm biến nhiệt độ là Thermocouple, lấy tín hiệu thông qua Op-Amp OP-07, đưa nhiệt độ cần xử lý về ngõ vào Analog của bộ biến đổi AD. - Bộ biến đổi AD : đây là mạch lấy tín hiệu AD để xử lý thông qua Card AD PCL-818 của hãng Advantech. Thông qua đó, Card AD này sẽ đưa giá trị nhiệt độ và các thông số khác cho máy tính xử lý. Ngoài ra PCL-818 còn là Card DA với nhiệm vụ điều khiển mạch công suất cho mạch nhiệt độ. - Mạch công suất : mạch này sẽ bị tác động trực tiếp bới PCL-818, với nhiệm vụ kích ngắt lò trong quá trình điều khiển. Linh kiện sử dụng trong mạch này là Solid State Relay(SSR). 2
- - Khối xử lý chính và Màn hình hiển thị : Máy tính là khối xử lý chính. Với ngôn ngữ lập trình Delphi, máy tính sẽ điều khiển quá trình đóng, ngắt lò. Màn hình hiển thị là màn hình giao diện của Delphi. Các giá trị, cũng nhu các thông số, những tác động kỹ thuật sẽ tác động trực tiếp trên màn hình này. Các hãng kỹ thuật ngày nay đã tích hợp các thành phần trên thành sản phẩm chuyên dùng và bán trên thị trường. Có những chương trình giao diện ( như Visual Basic ) và có những nút điều khiển, thuận lợi cho người sử dụng. Có thể chọn khâu khuếch đại P, PI, PD hay PID của các hãng. Hình 1.2 : Bộ điều chỉnh kĩ thuật số Để tìm hiểu rõ hơn về các chi tiết khác cũng như phương pháp và các thiết bị kỹ thuật được sử dụng, ta sẽ xem xét thông qua các phần tiếp theo. 1.2. NHIỆT ĐỘ - CÁC LOẠI CẢM BIẾN NHIỆT ĐỘ. Nhiệt độ là thành phần chủ yếu trong hệ thống thu thập dữ liệu. Do vậy, nếu chọn lựa thiết bị đo lường nhiệt độ chính xác ta có thể tiết 3
- kiệm chi phí , tăng độ an toàn và giảm thời gian kiểm tra thiết bị đo lường nhiệt độ thường dùng là cặp nhiệt điện, điện trở nhiệt. Việc chọn lựa thiết bị để hoạt động chính xác tuỳ thuộc vào nhiệt độ tối đa, tối thiểu cần đo, độ chính xác và những điều kiện về môi trường. Trước hết, chúng ta tìm hiểu các khái niệm về nhiệt độ. 1.2.1. Nhiệt độ và các thang đo nhiệt độ. Galileo được cho là người đầu tiên phát minh ra thiết bị đo nhiệt độ, vào khoảng năm 1592. Ông ta làm thí nghiệm như sau : trên một bồn hở chứa đầy cồn, ông cho treo một ống thủy tinh dài có cổ hẹp, đầu trên của nó có bầu hình cầu chứa đầy không khí. Khi gia tăng nhiệt, không khí trong bầu nở ra và sôi sùng sục trong cồn. Còn khi lạnh thì không khí co lại và cồn dâng lên trong lòng ống thủy tinh. Do đó, sự thay đổi của nhiệt trong bầu có thể biết được bằng cách quan sát vị trí của cồn trong lòng ống thủy tinh. Tuy nhiên, người ta chỉ biết sự thay đổi của nhiệt độ chứ không biết nó là bao nhiêu vì chưa có một tầm đo cho nhiệt độ. Đầu những năm 1700, Gabriel Fahrenheit, nhà chế tạo thiết bị đo người Hà Lan, đã tạo ra một thiết bị đo chính xác và cho phép lặp lại nhiều lần. Đầu dưới của thiết bị được gán là 0 độ, đánh dấu vị trí nhiệt của nước đá trộn với muối (hay ammonium chloride) vì đây là nhiệt độ thấp nhất thời đó. Đầu trên của thiết bị được gán là 96 độ, đánh dấu nhiệt độ của máu người. Tại sao là 96 độ mà không phải là 100 độ?. Câu trả lời là bởi vì người ta chia tỷ lệ theo 12 phần như các tỷ lệ khác thời đó. Khoảng năm 1742, Anders Celsius đề xuất ý kiến lấy điểm tan của nước đá gán 0 độ và điểm sôi của nước gán 100 độ, chia làm 100 phần. Đầu những năm 1800, William Thomson (Lord Kelvin) phát triển một tầm đo phổ quát dựa trên hệ số giãn nở của khí lý tưởng. Kelvin thiết lập khái niệm về độ 0 tuyệt đối và tầm đo này được chọn là tiêu chuẩn cho đo nhiệt hiện đại. 4
- Thang Kelvin : đơn vị là K. Trong thang Kelvin này, người ta gán cho nhiệt độ cho điểm cân bằng của ba trạng thái: nước – nước đá – hơi mp65t giá trị số bằng 273.15K Từ thang nhiệt độ nhiệt động học tuyệt đối( Thang Kelvin), người ta đã xác định thang mới là thang Celsius và thang Fahrenheit( bằng cách dịch chuyển các giá trị nhiệt độ) Thang Celsius : Trong thang đo này, đơn vị nhiệt độ là ( C ), một độ Celsius bằng một độ Kelvin. Quan hệ giữa nhiệt độ Celsius và nhiệt độ Kelvin được xác định bằng biểu thức : T( C) = T( K) - 273,15 (1.1) Thang Fahrenheit : T( C) =5/9 {T( F) – 32} (1.2) T( F) =9/5 T( C) + 32 (1.3) 1.2.2. Các loại cảm biến nhiệt độ hiện tại Tùy theo lĩnh vực đo và điều kiện thực tế mà có thể chọn một trong bốn loại cảm biến : thermocouple, RTD, thermistor, và IC bán dẫn. Mỗi loại có ưu điểm và khuyết điểm riêng của nó. 1.2.2.1. Thermocouple a. Ƣu điểm - Là thành phần tích cực, tự cung cấp công suất. - Đơn giản. - Rẻ tiền. - Tầm thay đổi rộng. - Tầm đo nhiệt rộng. b. Khuyết điểm - Phi tuyến. - Điện áp cung cấp thấp. - Đòi hỏi điện áp tham chiếu. 5
- - Kém ổn định nhất. - Kém nhạy nhất. 1.2.2.2. RTD (resistance temperature detector) a. Ƣu điểm - Ổn định nhất. - Chính xác nhất. - Tuyến tính hơn thermocouple. b. Khuyết điểm - Mắc tiền. - Cần phải cung cấp nguồn dòng. - Lượng thay đổi R nhỏ. - Điện trở tuyệt đối thấp. - Tự gia tăng nhiệt. 1.2.2.3. Thermistor a. Ƣu điểm - Ngõ ra có giá trị lớn. - Nhanh. - Đo hai dây. b. Khuyết điểm - Phi tuyến. - Giới hạn tầm đo nhiệt. - Dễ vỡ. - Cần phải cung cấp nguồn dòng. - Tự gia tăng nhiệt. 1.2.2.4. IC cảm biến a. Ƣu điểm - Tuyến tính nhất. - Ngõ ra có giá trị cao nhất. 6
- - Rẻ tiền. b. Khuyết điểm - Nhiệt độ đo dưới 200 C. - Cần cung cấp nguồn cho cảm biến. Trong nội dung của luận văn này, chúng ta sử dụng Thermocouple để đo nhiệt độ. 1.2.3. Thermocouple và hiệu ứng seebeck. 1.2.3.1. Hiệu ứng Seebeck. Năm 1821, Thomas Seebeck đã khám phá ra rằng nếu nối hai dây kim loại khác nhau ở hai đầu và gia nhiệt một đầu nối thì sẽ có dòng điện Kim loại A Kim loại A Kim loại B chạy trong mạch đó. Hình 1.3 : Mô hình tổng quát thermocouple. Nếu mạch bị hở một đầu thì thì hiệu điện thế mạch hở (hiệu điện thế Seebeck) là một hàm của nhiệt độ mối nối và thành phần cấu thành nên hai kim loại. Khi nhiệt độ thay đổi một lượng nhỏ thì hiệu điện thế Seebeck cũng thay đổi tuyến tính theo : eAB = T với là hệ số Seebeck (1.4) 1.2.3.2. Quá trình dẫn điện trong Thermocouple Kim loại A + eAB - Kim loại B Hình 1.4 : Cặp nhiệt điện. Cặp nhiệt điện là thiết bị chủ yếu để đo nhiệt độ. Nó dựa trên cơ sở kết quả tìm kiếm của Seebeck(1821), cho rằng một dòng điện nhỏ sẽ chạy trong mạch bao gồm hai dây dẫn khác nhau khi mối nối của chúng 7
- được giữ ở nhiệt độ khác nhau. Suất điện động Emf sinh ra trong điều kiện này được gọi là suất điện động Seebeck. Cặp nhiệt điện sinh ra trong mạch nhiệt điện này được gọi là Thermocouple. Hình 1.5 : Mối nối nhiệt điện. Để hiểu hiệu quả dẩn điện của cặp nhiệt điện Seebeck, trước hết ta nghiên cứu cấu trúc vi mô của kim loại và những nguyên tử trong thành phần mạng tinh thể. Theo cấu trúc nguyên tử của Bohn và hiệu chỉnh của Schrodinger và Heisenberg, điện tử xoay quanh hạt nhân. Nguyên tử này cân bằng bởi lực ly tâm của các nguyên tử trên quỹ đạo của chúng với sự hấp dẩn điện tĩnh từ hạt nhân. Sự phân bố năng lượng điện tích âm theo mức độ tăng dần khi càng tiến gần đến hạt nhân. Hình 1.6 : Biểu thị năm mức năng lượng của nguyên tử natri. 8
- Hình 1.6 biểu thị năm mức năng lượng đầu tiên cho một nguyên tử Natri với 11 điện tử với cấu trúc quỹ đạo. Những điện tử trong 3 mức dầu tiên, ở gần hạt nhân, có năng lượng tĩnh lớn, là kết quả của sự hấp dẫn điện tĩnh lớn của hạt nhân. Điện tử đơn trong mức thứ tư , ở cách xa hạt nhân và vì thế có ít năng lượng để giữ chặt, có năng lượng cao nhất và dễ dàng tách ra khỏi nguyên tử. Điện tử đơn này trong mức năng lượng cao được xem như điện tử hoá trị. Một điện tử hóa trị có thể dễ dàng để lại nguyên tử và trở thành điện tích tự do trong mạng tinh thể. Các nguyên tử có các điện tích âm thoát ra khỏi nguyên tử ấy được gọi là lỗ trống dương. Có thể cho rằng một điện tử ở mức năng lượng thấp chuyển lên mức năng lượng cao hơn nhưng quá trình này yêu cầu sự hấp thu năng lượng bằng điện tử tương đương để có sự khác nhau giữa 2 mức năng lượng. Sự hấp thụ năng lương này được lấy từ sự kích thích nhiệt. Ứng dụng năng lượng nhiệt có thể kích thích những điện tử trong băng hoá trị nhảy tới băng ngoài kế tiếp, lỗ trống dương sẽ trở thành điện tử dẫn điện trong quá trình truyền điện. 1.2.3.3. Cách đo hiệu điện thế J3 Cu Cu + + J1 v v 1 - - Cu Constantan J 2 Volt kế Hình 1.7 : Sơ đồ khi mắc vôn kế với cặp nhiệt điện 9
- - Cu Cu Cu + v3 + + v1 v1 J J1 J3 1 - - - Cu + - Cu + v2 v2 Constantan Constantan J2 J2 Hình 1.8 : Sơ đồ tương đương Không thể đo trực tiếp hiệu điện thế Seebeck bởi vì khi nối volt kế với thermocouple thì vô tình chúng ta lại tạo thêm một mạch mới. Ví dụ như ta nối thermocouple loại T (đồng-constantan). Khi đó , ta có mạch tương đương như sau : Cái mà chúng ta muốn đo là hiệu điện thế v1 nhưng khi nối volt kế vào thermocouple thì chúng ta lại tạo ra hai mối nối kim loại nữa : J2 và J3. Do J3 là mối nối của đồng với đồng nên không phát sinh ra hiệu điện thế, còn J2 là mối nối giữa đồng với constantan nên tạo ra hiệu điện thế v2. Vì vậy kết quả đo được là hiệu của v1 và v2. Điều này nói lên rằng chúng ta không thể biết nhiệt độ tại J1 nếu chúng ta không biết nhiệt độ tại J2, tức là để biết được nhiệt độ tại đầu đo thì chúng ta cũng cần phải biết nhiệt độ môi trường nữa. Một trong những cách để xác định nhiệt độ tại J2 là ta tạo ra một mối nối vật lý rồi nhúng nó vào nước đá, tức là ép nhiệt độ của nó về 0 C và thiết lập tại J2 như là một mối nối tham chiếu. Cu Cu Cu + + + + T J1 v v v v1 1 J1 + v - - - + v2 - - - Cu Cu 2 Constan Constan J2 tan J2 tan Volt kế T = 0 C Hình 1.9 : Cặp nhiệt điện tạo mối nối vật lý 10
- Lúc này cả hai mối nối tại volt kế đều là đồng – đồng nên không xuất hiện hiệu điện thế Seebeck. Số đọc v trên volt kế là hiệu của v1 và v2 : v = (v1 – v2) (tJ1 – tJ2) (1.5) nếu ta dùng ký hiệu TJ1 để chỉ nhiệt độ theo độ Celsius thì : TJ1 ( C) + 273,15 = tJ1 (1.6) do đó v trở thành : v = v1 – v2 = [(TJ1 + 273,15) – (TJ2 + 273,15)] (1.7) = (TJ1 – TJ2) = (TJ1 – 0) (1.8) v = TJ1 (1.9) Bằng cách thêm hiệu điện thế của mối nối tại 0 C, giá trị hiệu điện thế đọc được lúc này là so với mốc 0 C. Phương pháp này rất chính xác nên điểm 0 C được xem như điểm tham chiếu chuẩn trong rất nhiều bảng tra giá trị điện áp ra của thermocouple. Ví dụ xét trên là một trường hợp đặc biệt, khi mà một dây kim loại của thermocouple trùng với kim loại làm nên volt kế (đồng). Nhưng nếu ta dùng loại thermocouple khác không có đồng (như loại J : sắt – constantan) thì sao? Đơn giản là chúng ta thêm một dây kim loại bằng sắt nữa thì khi đó cả hai đầu volt kế đều là đồng – sắt nên hiệu điện thế sinh ra triệt tiêu lẫn nhau. J3 Cu Fe + + J1 v v1 + v - - - Cu Fe 2 Constantan J4 J2 Volt kế Hình 1.10 : Thay đổi cặp nhiệt điện khác 11
- Nếu hai đầu nối của volt kế không cùng nhiệt độ thì hai hiệu điện thế sinh ra không triệt tiêu lẫn nhau, và do đó xuất hiện sai lệch. Trong các phép đo lường cần chính xác, người ta gắn chúng trên một khối đẳng nhiệt. Khối này cách điện nhưng dẫn nhiệt rất tốt nên xem như J3 và J4 có cùng nhiệt độ (bằng bao nhiêu thì không quan trọng bởi vì hai hiệu điện thế sinh ra luôn đối nhau nên luôn triệt tiêu nhau không phụ thuộc giá trị của nhiệt độ). 1.2.3.4. Bù nhiệt của môi trƣờng Như trên đã phân tích, khi dùng thermocouple thì giá trị hiệu điện thế thu được bị ảnh hưởng bởi hai loại nhiệt độ : nhiệt độ cần đo và nhiệt độ tham chiếu. Cách gán 0 C cho nhiệt độ tham chiếu thường chỉ làm trong thí nghiệm để rút ra các giá trị của thermocouple và đưa vào bảng tra. Thực tế sử dụng thì nhiệt độ tham chiếu thường là nhiệt độ của môi trường tại nơi mạch hoạt động nên không thể biết nhiệt độ này là bao nhiêu và do đó vấn đề bù trừ nhiệt độ được đặt ra để sao cho ta thu được hiệu điện thế chỉ phụ thuộc vào nhiệt độ cần đo mà thôi. Bù trừ nhiệt độ không có nghĩa là ta ước lượng trước nhiệt độ môi trường rồi khi đọc giá trị hiệu điện thế thì trừ đi giá trị mà ta đã ước lượng. Cách làm này hoàn toàn không thu được kết quả gì bởi hai lý do : - Nhiệt độ môi trường không phải là đại lượng cố định mà thay đổi theo thời gian theo một qui luật không biết trước. - Nhiệt độ môi trường tại những nơi khác nhau có giá trị khác nhau. Bù nhiệt môi trường là một vấn đề thực tế và phải xét đến một cách nghiêm túc. Có nhiều cách khác nhau, về phần cứng lẫn phần mềm, nhưng nhìn chung đều phải có một thành phần cho phép xác định nhiệt độ môi trường rồi từ đó tạo ra một giá trị để bù lại giá trị tạo ra bởi thermocouple. 12
- 1.2.3.5. Các loại thermocouple Về nguyên tắc thì người ta hoàn toàn có thể tạo ra một thermocouple cho giá trị ra bất kỳ bởi vì có rất nhiều tổ hợp của hai trong số các kim loại và hợp kim hiện có. Tuy nhiên để có một thermocouple dùng được cho đo lường thì người ta phải xét đến các vấn đề như : độ tuyến tính, tầm đo, độ nhạy, và do đó chỉ có một số loại dùng trong thực tế như sau : - Loại J : kết hợp giữa sắt với constantan, trong đó sắt là cực dương và constantan là cực âm. Hệ số Seebeck là 51 V/ C ở 20 C. - Loại T : kết hợp giữa đồng với constantan, trong đó đồng là cực dương và constantan là cực âm. Hệ số Seebeck là 40 V/ C ở 20 C. - Loại K : kết hợp giữa chromel với alumel, trong đó chromel là cực dương và alumel là cực âm. Hệ số Seebeck là 40 V/ C ở 20 C. - Loại E : kết hợp giữa chromel với constantan, trong đó chromel là cực dương và constantan là cực âm. Hệ số Seebeck là 62 V/ C ở 20 C. - Loại S, R, B : dùng hợp kim giữa platinum và rhodium, có 3 loại : S) cực dương dùng dây 90% platinum và 10% rhodium, cực âm là dây thuần platinum. R) cực dương dùng dây 87% platinum và 13% rhodium, cực âm dùng dây thuần platinum. B) cực dương dùng dây 70% platinum và 30% rhodium, cực âm dùng dây 94% platinum và 6% rhodium. Hệ số Seebeck là 7 V/ C ở 20 C. 1.2.3.6. Một số nhiệt độ chuẩn Sau khi đã thiết kế mạch xong thì người ta cần một số nhiệt độ chuẩn dùng cho cân chỉnh. Bảng sau đây đưa ra một số loại nhiệt độ chuẩn : 13
- Bảng 1.1 : Bảng thống kê một số nhiệt độ chuẩn Loại Nhiệt độ Điểm sôi của oxygen -183,0 C -297,3 F Điểm thăng hoa của CO2 - 78,5 C -109,2 F Điểm đông đá 0 C 32 F Điểm tan của nước 0,01 C 32 F Điểm sôi của nước 100,0 C 212 F Điểm tan của axit benzoic 122,4 C 252,3 F Điểm sôi của naphthalene 218 C 424,4 F Điểm đông đặc của thiếc 231,9 C 449,4 F Điểm sôi của benzophenone 305,9 C 582,6 F Điểm đông đặc của cadmium 321,1 C 610 F Điểm đông đặc của chì 327,5 C 621,5 F Điểm đông đặc của kẽm 419,6 C 787,2 F Điểm sôi của sulfur 444,7 C 832,4 F Điểm đông đặc của antimony 630,7 C 1167,3 F Điểm đông đặc của nhôm 660,4 C 1220,7 F Điểm đông đặc của bạc 961,9 C 1763,5 F Điểm đông đặc của vàng 1064,4 C 1948 F Điểm đông đặc của đồng 1084,5 C 1984,1 F Điểm đông đặc của palladium 1554 C 2829 F Điểm đông đặc của platinum 1772 C 3222 F 1.3. CÁC PHƢƠNG PHÁP BIẾN ĐỔI AD. 1.3.1. Sơ lƣợc các phƣơng pháp biến đổi AD. Tín hiệu trong thế giới thực thường ở dạng tương tự (analog), nên mạch điều khiển thu thập dữ liệu từ đối tượng điều khiển về (thông qua 14
- các cảm biến) cũng ở dạng tương tự. Trong khi đó, bộ điều khiển ngày nay thường là các vi xử lý, vi điều khiển xử lý dữ liệu ở dạng số (digital). Vì vậy, cần phải chuyển đổi tín hiệu ở dạng tương tự thành tín hiệu ở dạng số thông qua bộ biến đổi AD. Có nhiều phương pháp biến đổi AD khác nhau, ở đây chỉ giới thiệu một số phương pháp điển hình. 1.3.1.1. Biến đổi AD dùng bộ biến đổi DA Trong phương pháp này, bộ biến đổi DA được dùng như một thành phần trong mạch. đầu vào analog 1 + 0 Start vA Đơn vị điều OPAMP khiển - Clock So sánh EOC (kết thúc chuyển đổi) Bộ biến Thanh đổi DA ghi vAX . . . . . Kết quả digital Hình 1.11 : Các khối cơ bản trong phương pháp biến đổi AD Khoảng thời gian biến đổi được chia bởi nguồn xung clock bên ngoài. Đơn vị điều khiển là một mạch logic cho phép đáp ứng với tín hiệu Start để bắt đầu biến đổi. Khi đó, OPAMP so sánh hai tín hiệu vào angalog để tạo ra tín hiệu digital biến đổi trạng thái của đơn vị điều khiển phụ thuộc vào tín hiệu analog nào có giá trị lớn hơn. Bộ biến đổi hoạt động theo các bước : - Tín hiệu Start để bắt đầu biến đổi. 15
- - Cứ mỗi xung clock, đơn vị điều khiển sửa đổi số nhị phân đầu ra và đưa vào lưu trữ trong thanh ghi. - Số nhị phân trong thanh ghi được chuyển đổi thành áp analog vAX qua bộ biến đổi DA. - OPAMP so sánh vAX với áp đầu vào vA. Nếu vAX < vA thì đầu ra ở mức cao, còn ngược lại, nếu vAX vượt qua vA một lượng vT (áp ngưỡng) thì đầu ra ở mức thấp và kết thúc quá trình biến đổi. Ơ thời điểm này, vAX đã xấp xỉ bằng vA và số nhị phân chứa trong thanh ghi chính là giá trị digital xấp xỉ của vA (theo một độ phân giải và chính xác nhất định của từng hệ thống). - Đơn vị điều khiển kích hoạt tín hiệu EOC, báo rằng đã kết thúc quá trình biến đổi. Dựa theo phương pháp này, có nhiều bộ biến đổi như sau : a. Bộ biến đổi AD theo hàm dốc Clock đầu vào analog vA + EOC OPAMP - Start So sánh vAX vA Khi chuyển Reset đổi hoàn tất, counter ngừng đếm EOC Bộ biến Clock Counter tC vAX đổi DA . . . . . Start Kết quả digital Hình 1.12 : Bộ biến đổi AD làm theo hàm dốc Đây là bộ biến đổi đơn giản nhất theo mô hình bộ biến đổi tổng quát trên. Nó dùng một counter làm thanh ghi và cứ mỗi xung clock thì gia tăng giá trị nhị phân cho đến khi vAX vA. Bộ biến đổi này được gọi 16
- là biến đổi theo hàm dốc vì dạng sóng vAX có dạng của hàm dốc, hay nói đúng hơn là dạng bậc thang. Đôi khi nó còn được gọi là bộ biến đổi AD loại counter. Hình 1.12 cho thấy sơ đồ mạch của bộ biến đổi AD theo hàm dốc, bao gồm một counter, một bộ biến đổi DA, một OPAMP so sánh, và một cổng AND cho điều khiển . Đầu ra của OPAMP được dùng như tín hiệu tích cực mức thấp của tín hiệu EOC. Giả sử vA dương, quá trình biến đổi xảy ra theo các bước : - Xung Start được đưa vào để reset counter về 0. Mức cao của xung Start cũng ngăn không cho xung clock đến counter. - Đầu vào của bộ biến đổi DA đều là các bit 0 nên áp ra vAX = 0v. - Khi vA > vAX thì đầu ra của OPAMP (EOC) ở mức cao. - Khi Start xuống mức thấp, cổng AND được kích hoạt và xung clock được đưa vào counter. - Counter đếm theo xung clock và vì vậy đầu ra của bộ biến đổi DA, vAX, gia tăng một nấc trong một xung clock - Quá trình đếm của counter cứ tiếp tục cho đến khi vAX bằng hoặc vượt qua vA một lượng vT (khoảng từ 10 đến 100 v). Khi đó, EOC xuống thấp và ngăn không cho xung clock đến counter. Từ đó kết thúc quá trình biến đổi. - Counter vẫn giữ giá trị vừa biến đổi xong cho đến khi có một xung Start cho quá trình biến đổi mới. Từ đó ta thấy rằng bộ biến đổi loại này có tốc độ rất chậm (độ phân giải càng cao thì càng chậm) và có thời gian biến đổi phụ thuộc vào độ lớn của điện áp cần biến đổi. b. Bộ biến đổi AD xấp xỉ liên tiếp Đây là bộ biến được dùng rộng rãi nhất trong các bộ biến đổi AD. Nó có cấu tạo phức tạp hơn bộ biến đổi AD theo hàm dốc nhưng tốc độ 17
- biến đổi nhanh hơn rất nhiều. Hơn nữa, thời gian biến đổi là một số cố định không phụ thuộc giá trị điện áp đầu vào. Sơ đồ mạch và giải thuật như sau : đầu vào analog START + vA Xóa tất cả các bit Clock OPAMP - Bắt đầu ở MSB Start So sánh Đơn vị điều khiển EOC Set bit = 1 . . . Đúng V > V ? Clear bit = 0 Thanh ghi AX A MSB LSB Sai Đến bit Sai . . . thấp kế Xong hết bit ? Đúng Bộ biến đổi DA Quá trình biến đổi kết thúc và giá trị biến đổi nằm trong thanh ghi vAX END Hình 1.13 : Sơ đồ mạch biến đổi và giải thuật Sơ đồ mạch tương tự như bộ biến đổi AD theo hàm dốc nhưng không dùng counter cung cấp giá trị cho bộ biến đổi DA mà dùng một thanh ghi. Đơn vị điều khiển sửa đổi từng bit của thanh ghi này cho đến khi có giá trị analog xấp xỉ áp vào theo một độ phân giải cho trước. 1.3.1.2. Bộ biến đổi Flash AD. Bộ biến đổi loại này có tốc độ nhanh nhất và cũng cần nhiều linh kiện cấu thành nhất. Có thể làm một phép so sánh: flash AD 6-bit cần 63 OPAMP, 8- bit cần 255 OPAMP, và 10-bit cần 1023 OPAMP. Vì lẽ đó mà bộ biến đổi AD loại này bị giới hạn bởi số bit, thường là 2 đến 8-bit. Ví dụ một flash AD 3-bit : 18
- Mạch trên có độ phân giải là 1V, cầu chia điện áp thiết lập nên các điện áp so sánh (7 mức tương ứng 1V, 2V, ) với điện áp cần biến đổi. Đầu ra của các OPAMP được nối đến một priority encoder và đầu ra của nó chính là giá trị digital xấp xỉ của điện áp đầu vào. Các bộ biến đổi có nhiều bit hơn dễ dàng suy ra theo mạch trên. +10V 3K - C7 7V + I7 1K - C6 6V + I6 1K - C5 5V + I5 MSB C 1K - Priority C4 I4 4V + encoder B 1K - C3 I3 A 3V + 1K - C2 I2 2V + 1K - C1 1V + I1 1K Ap analog đầu vào Hình 1.14 : Bộ biến đổi Flash AD 1.3.1.3. Bộ biến đổi AD theo hàm dốc dạng lên xuống (tracking ADC) Bộ biến đổi loại này được cải tiến từ bộ biến đổi AD theo hàm dốc. Ta thấy rằng tốc độ của bộ biến đổi AD theo hàm dốc khá chậm bởi vì counter được reset về 0 mỗi khi bắt đầu quá trình biến đổi. Giá trị VAX là 0 lúc bắt đầu và tăng dần cho đến khi vượt qua VA. Rõ ràng là thời gian này là hoàn toàn lãng phí bởi vì điện áp analog thay đổi một cách liên tục, giá trị sau nằm trong lân cận giá trị trước. Bộ biến đổi AD theo hàm dốc dạng lên xuống dùng một counter đếm lên/xuống thay cho counter chỉ đếm lên ở bộ biến đổi AD theo hàm dốc và không reset về 0 khi bắt đầu. Thay vì vậy, nó giữ nguyên giá trị 19
- của lần biến đổi trước và tăng giảm tùy thuộc vào giá trị điện áp mới so với giá trị điện áp cũ. 1.3.1.4. Bộ biến đổi AD dùng chuyển điện áp sang tần số. Bộ biến đổi loại này đơn giản hơn bộ biến đổi AD dùng biến đổi DA. Thay vì vậy nó dùng một bộ dao động tuyến tính được điều khiển bởi điện áp để tạo ra tần số tương ứng với áp vào. Tần số này được dẫn đến một counter đếm trong một thời khoảng cố định và khi kết thúc khoảng thời gian cố định này, giá trị đếm tỷ lệ với điện áp vào. Phương pháp này đơn giản nhưng khó đạt được độ chính xác cao bởi vì khó có thể thiết kế bộ biến đổi áp sang tần số có độ chính xác hơn 0,1%. Một trong những ứng dụng chính của loại này là dùng trong môi trường công nghiệp có nhiễu cao. Điện áp được chuyển từ transducer về máy tính điều khiển thường rất nhỏ, nếu truyền trực tiếp về thì sẽ bị nhiễu tác động đáng kể và giá trị thu được hầu như không còn đúng nữa. Do đó, người ta dùng bộ biến đổi áp sang tần số ngay tại transducer và truyền các xung về cho máy tính điều khiển đếm nên ít bị ảnh hưởng bởi nhiễu. 1.3.1.5. Bộ biến đổi AD theo tích phân hai độ dốc. Bộ biến đổi loại này là một trong những bộ có thời gian biến đổi chậm nhất (thường là từ 10 đến 100ms) nhưng có lợi điểm là giá cả tương đối rẻ không dùng các thành phần chính xác như bộ biến đổi AD hoặc bộ biến đổi áp sang tần số. Nguyên tắc chính là dựa vào quá trình nạp và xả tuyến tính của tụ với dòng hằng. Đầu tiên, tụ được nạp trong một khoảng thời gian xác định từ dòng hằng rút ra từ điện áp vào vA. Vì vậy, ở cuối thời điểm nạp, tụ sẽ có một điện áp tỷ lệ với điện áp vào. Cũng vào lúc này, tụ được xả tuyến tính với một dòng hằng rút ra từ điện áp tham chiếu chính xác vref. 20
- Khi điện áp trên tụ giảm về 0 thì quá trình xả kết thúc. Trong suốt khoảng thời gian xả này, một tần số tham chiếu được dẫn đến một counter và bắt đầu đếm. Do khoảng thời gian xả tỷ lệ với điện áp trên tụ lúc trước khi xả nên ở cuối thời điểm xả, counter sẽ chứa một giá trị tỷ lệ với điện áp trên tụ trước khi xả, tức là tỷ lệ với điện áp vào vA. Ngoài giá thành rẻ thì bộ biến đổi loại này còn có ưu điểm chống nhiễu và sự trôi nhiệt. Tuy nhiên thời gian biến đổi chậm nên ít dùng trong các ứng dụng thu thập dữ liệu đòi hỏi thời gian đáp ứng nhanh. Nhưng đối với các quá trình biến đổi chậm (có quán tính lớn) như lò nhiệt thì rất đáng để xem xét đến. 21
- CHƢƠNG 2. NGHIÊN CỨU, THIẾT KẾ PHẦN CỨNG HỆ THỐNG ĐIỀU KHIỂN NHIỆT ĐỘ BẰNG MÁY TÍNH QUA CARD PCL – 818 CỦA ADVANTECH 2.1. NHỮNG KHỐI CƠ BẢN TRONG HỆ THỐNG. Những khối cơ bản trong hệ thống gồm : - Khối đo nhiệt độ : sử dụng cảm biến nhiệt độ là Thermocouple, lấy tín hiệu thông qua Op-Amp OP-07, đưa nhiệt độ cần xử lý về ngõ vào Analog của bộ biến đổi AD. - Card AD PCL-818 của hãng Advantech : Card AD này sẽ đưa giá trị nhiệt độ và các thông số khác cho máy tính xử lý. - Mạch công suất : mạch này sẽ bị tác động trực tiếp bới PCL-818, với nhiệm vụ kích ngắt lò trong quá trình điều khiển. Linh kiện sử dụng trong mạch này là Solid State Relay(SSR). 2.2. CARD AD – PCL818 CỦA HÃNG ADVANTECH. Để thu thập dữ liệu và điều khiển bằng máy tính ta sử dụng card AD-PCL818. Hình ảnh thực tế của card được thể hiện ở hình 2.1: Hình 2.1 : Một vài hình ảnh của Card AD PCL-818 22
- PCL-818L là một card gắn vào rãnh ISA của máy tính. PCL-818L có nhiều chức năng để đo lường và điều khiển,do tính năng ưu việt của card , việc tìm hiểu hoạt động của nó rất cần thiết để tiếp cận thu thập số liệu bằng máy tính . Sau đây là các chức năng chính : - Chuyển đổi A/D 16 kênh 12 bit tốc độ lấy mẫu 40khz - Chuyển đổi D/A 1 kênh 12 bit - 16 ngõ vào digital TTL - 16 ngõ ra digital TTL - 1 Timer / Counter 16 bit cho người dùng Hình 2.2 : Sơ đồ các khối chức năng trong PCL – 818L 2.2.1. Các thanh ghi của card : PCL818 có16 thanh ghi , địa chỉ gốc có thể chọn bởi công tắc SW1 gồm 6 tiếp điểm chọn các đường địa chỉ A4 _ A9 , thường đặt địa chỉ gốc là 300H. 23
- Bảng 2.1 : Địa chỉ, đọc, viết 16 thanh ghi. ĐỊA CHỈ Đọc Viết BASE+0 Byte thấp A/D & số kênh Kích mềm A/D BASE+1 Byte cao A/D Điều khiển tầm A/D BASE+2 Quét kênh MUX Quét kênh MUX & chỉ tầm điều khiển BASE+3 Byte thấp Digital Input Byte thấp Digital Output BASE+4 N/A Byta thấp Analog Output BASE+5 N/A Byte cao Analog Output BASE+6 N/A N/A BASE+7 N/A N/A BASE+8 Trạng thái Xoá yêu cầu interrup BASE+9 Điều khiển Điều khiển BASE+10 N/A Cho phép counter BASE+11 Byte cao Digital Input Byte cao Digital Output BASE+12 Counter 0 Counter 0 BASE+13 Counter 1 Counter 1 BASE+14 Counter 2 Counter 2 BASE+15 N/A Điều khiển counter a. Các thanh ghi Base+0 và Base+1 : - Khi đọc thanh ghi : Chú thích : A/D S Vào Analog ( đơn ) A/D H Vào Analog cao ( vi sai) A/D L Vào Analog thấp (vi sai) A.GND Mass Analog D/A Ra Analog D/O Ra Digital D/I Vào Digital 24
- D.GND Mass Digital và nguồn CLK Clock cho 8254 GATE Vào điều khiển Gate 8254 OUT Tín hiệu ra của 8254 VREP Nguồn chuẩn trong VREFIN Nguồn chuẩn ngoài Hai thanh ghi BASE+0 và BASE+1 chứa dữ liệu A/D 12 bit Bảng 2.2 : Thanh ghi BASE+0 BASE+0 ( Đọc ) – Chứa Byte thấp A/D và số kênh Bit D7 D6 D5 D4 D3 D2 D1 D0 Value AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 Bảng 2.3 : Thanh ghi BASE+1 BASE+1 ( Đọc ) – Byte cao A/D . Bit D7 D6 D5 D4 D3 D2 D1 D0 Value AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 Trong đó : AD11 † AD0 là dữ liệu Analog sang Digital . AD0 là LSB AD11 là MSB C3 ÷ C0 là số của ngõ vào Analog tương ứng C3là MSB C0 là LSB Khi viết vào thanh ghi : Kích mềm bộ A/D : ( BASE+0 ) - Có thể kích bộ A/D bằng phần mềm , các xung clock trên board ( pacer ) , hoặc bằng xung ngoài . Các bit 0 và 1 trong BASE+9 sẽ chọn nguồn kích . Nếu chọn kích mềm thì ta chỉ việc viết vào BASE+0 bất cứ một giá trị nào cho mỗi lần kích . Điều khiển tầm A/D : (BASE+1) - Mỗi kênh A/D đều có một tầm điện áp ngõ vào riêng cho nó, và 25
- được điều khiển bởi mã lưu trữ trong RAM của PCL_818L và được đặt bởi cầu nối JP7 . Nếu chúng ta muốn thay đổi mã cho một kênh , chọn kênh như là kênh Start ở thanh ghi BASE+2 , rồi viết mã vào bit 0 và bit 1 của thanh ghi BASE+1. Bảng 2.4 : Tầm điều khiển BASE+1 ( Viết ) – Điều khiển tầm A/D Bit D7 D6 D5 D4 D3 D2 D1 D0 Value N/A N/A N/A N/A N/A N/A G1 D0 Bảng 2.5 : Mã tầm và JP7 : Tầm ngõ vào Mã tầm JP7=5 JP7=10 5V 10V 0 0 2.5V 5V 0 1 1.25V 2.5V 1 0 0.265V 1.25V 1 1 b. Thanh ghi BASE+2 : (quét kênh A/D ) Đọc viết vào BASE+2 để điều khiển , đọc số kênh A/D được quét . Nửa byte cao chỉ kênh Stop , nửa byte thấp chỉ kênh Start . Việc quét phân kênh (MUX) được khởi động tự động đến kênh start khi chúng ta viết vào thanh ghi này . Mỗi Trigger A/D sẽ chuyển đến kênh đo tiếp theo . Khi kích chuyển đổi liên tục , MUX sẽ quét từ kênh Start đến kênh Stop rồi lặp lại từ đầu . Ví dụ nếu kênh Start là 4 và Stop là 7 thì quét tuần tự 4, 5, 6, 7, 4, 5, 6, 7 . Nếu cài đặt chế độ 8 đầu vào vi sai thì c1c bit CH3 và CL3 phải là 0. Nếu chỉ chon một kênh để biến đổi A/D thì nên cài đặt kênh kết thúc và bắt đầu với cùng một trị số. 26
- Bảng 2.6 : Thanh ghi BASE+2. BASE+2 (Viết) – Các kênh quét đầu và cuối Bit D7 D6 D5 D4 D3 D2 D1 D0 Value CH3 CH2 CH1 CH0 CL3 CL2 CL1 CL0 CH3 CH0 là kênh Stop CL3 CL0 là kênh Start . Nửa bit thấp của thanh ghi quét phân kênh CL3 đến CL0 cũng có tác dụng như một pointer khi chúng ta lập trình tầm điện áp A/D input . Khi đặt kênh Star là N, thì mã tầm viết vào thanh ghi BASE+1 là cho kênh N . c.Các thanh ghi xuất / nhập Digital : (BASE+3/11) PCL_818L có 16 ngõ vào Digital và 16 ngõ vào Digital riêng biệt . Các kênh I/O này dùng chung port có địa chỉ BASE+3 và BASE+11. Đọc Digital : Bảng 2.7 : Thanh ghi BASE+3. BASE+3 ( Đọc PORT ) – Byte thấp Digital Input Bit D7 D6 D5 D4 D3 D2 D1 D0 Value D17 D16 D15 D14 D13 D12 D11 D10 Bảng 2.8 : Thanh ghi BASE+11 BASE=11 (Đọc port ) – Byte cao Digital input Bit D7 D6 D5 D4 D3 D2 D1 D0 Value D115 D114 D113 D112 D111 D110 D19 D18 27
- Bảng 2.9 : Xuất Digital : BASE+3 ( Viết port ) – Byte thấp Digital Output Bit D7 D6 D5 D4 D3 D2 D1 D0 Value DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 Bảng 2.10 : Xuất Digital : BASE+11 ( Viết port ) –Byte cao Digital Output Bit D7 D6 D5 D4 D3 D2 D1 D0 Value DO15 DO14 DO13 O12 O11 DO10 DO9 DO8 d. Thanh ghi xuất Analog D/A : ( BASE+4/5 ) Đây là 2 thanh ghi chỉ viết để xuất dữ liệu cho ngõ ra D/A . Bảng 2.11 : Thanh ghi BASE+4 BASE+4 -Byte thấp ngõ ra D/A Bit D7 D6 D5 D4 D3 D2 D1 D0 Value DA3 DA2 DA1 DA0 x x x x Bảng 2.12 : Thanh ghi BASE+5 BASE+5 - Byte cao ngõ ra D/A Bit D7 D6 D5 D4 D3 D2 D1 D0 Value DA11 DA10 DA9 DA8 DA7 DA6 DA5 DA4 DA11 DA0 là dữ liệu Digital sang Analog . DA0 là LSB , DA11 là MSB của dữ liệu D/A . Tầm điện áp ra có thể chọn nhờ cầu nối JP4 và JP5 . Nếu JP4 đặt ở IN thì JP5 chọn nguồn chuẩn trong là -5V hay –10V , áp ra của DA sẽ là 0 đến +5V hay 0 đến +10V . Nếu JP4 đặt vị trí EXT thì điện áp ra DA là kết quả nhân số Digital trong với điện áp đặt vào chân 31 của đầu nối CN3 chia cho 4095 , điện áp ngòai trong khoảng + -10V. 28
- e. Thanh ghi trạng thái BASE+8 : - Đọc BASE +8 để nhận thông tin về cấu hình và hoạt động A/D . - Viết vào BASE+8 một giá trị bất kỳ thì nó sẽ xoá bit INT của BASE+8 , còn những bit dữ liệu khác thì không đổi . Bảng 2.13 : Thanh ghi BASE+8 BASE+8 -Trạng thái A/D Bit D7 D6 D5 D4 D3 D2 D1 D0 Value EOC N/A MUX INT CN3 CN2 CN1 CN0 EOC :End Of Conversion - EOC = 0 : Bộ A/D sẵn sàng biến đổi , kết quả đổi kỳ trước chứa trong BASE+0 và BASE+1. - EOC = 1 : Bộ A/D đang biến đổi . MUX Chọn 8 kênh vi sai hoặc 16 kênh đơn phản ảnh vị trí cầu nối JP6 . - MUX = 0 :8 kênh vi sai . - MUX = 1 : 16 kênh đơn . INT tín hiệu ngắt - INT = 0 : Dữ liệu không có giá trị ( không có 1 biến đổi nào kể từ khi bit INT bị xóa ) - INT = 1 : A/D đã biến đổi xong , dữ liệu có giá trị . Nếu bit INTE = 1 ( BASE+9 ) thì khi đổi xong 1 kênh tín hiệu intterrupt sẽ gởi đến PC qua ngõ IRQn ( IRQn được chọn bởi các bit I2 I0 trong BASE+9 ) . Dù thanh ghi trạng thái A/D là chỉ đọc , nhưng khi viết vào nó 1 giá trị bất kỳ sẽ xoá bit INT , còn các bit khác không đổi . CN3 CN0 : Khi EOC = 0 thì các bit này chứa số kênh kế tiếp sẽ được biến đổi . 29
- Lưu ý : -Nếu kích bộ A/D bằng xung clock trên board („pacer‟) hoặc xung ngoài thì phần mềm của bạn phải kiểm tra bit INTtrước khi đọc dữ liệu ( không phải bit EOC ). EOC có thể bằng 0 trong 2 trường hợp : + Biến đổi đã hoàn tất + Không có 1 biến đổi nào đã được bắt đầu . Do đó phần mềm của bạn phải đợi tín hiệu INT= 1 trước khi đọc data chuyển đổi . Rồi cần phải xóa bit INTbằng cách viết bất kỳ giá trị nào vào thanh ghi trạng thái BASE+8 . f. Thanh ghi điều khiển BASE+9 : - Đọc viết vào thanh ghi BASE+9 để nhận / cung cấp thông tin về chế độ hoạt động của PCL_818L . Bảng 2.14 : Thanh ghi BASE+9 BASE+9 - Điều khiển chế độ hoạt động Bit D7 D6 D5 D4 D3 D2 D1 D0 Value INTE 12 11 10 x DMAE ST1 ST0 INTE Cấm / cho phép ngắt . INTE = 0 : Cấm ngắt ; INTE = 1 : Cho phép ngắt . - Nếu DMAE = 0 : PCL_818L sẽ phát 1 tín hiệu ngắt khi nó hòan tất 1chuyển đổi A/D . Vậy cấu hình INTE = 1 DMAE = 0 dùng để báo cho CPU biết , bằng cách ngắt là đã đổi AD xong . - Nếu DMAE = 1 : PCL_818L sẽ phát 1 tín hiệu ngắt khi nó nhận 1 tín hiệu đếm tràn T/C ( Terminal count ) từ bộ điều khiển DMA (direct memory access) của máy tín để chỉ rằng chuyể đổi truyền DMA đã hoàn tất . Truyền DMA bị dừng bởi nga71t gây ra bởi tín hiệu T/C . Xm DMAE bên dưới . I2 I0 : Chọn số ngắt cho data interrup hoặc truyền data DMA ( không được trùng với số ngắt của thiết bị khác ). 30
- Bảng 2.15 : Số ngắt : Số ngắt I2 I1 I0 N/A 0 0 0 N/A 0 0 1 IRQ2 0 1 0 IRQ3 0 1 1 IRQ4 1 0 0 IRQ5 1 0 1 IRQ6 1 1 0 IRQ7 1 1 1 DMAE Cấm/ cho phép PCL818L truyền DMA . - DMAE = 0 :Cấm truyến DMA . - DMAE = 1 : Cho phép truyền DMA . Mỗi biến đổi A/D sẽ khởi động hai tín hiệu yêu cầu ngắt liên tiếp . Các tín hiệu này cho phép bộ điều khiển DMA 8237 truyền 2 byte dữ liệu chuyển đổi AD từ PCL_818L đến bộ nhớ . Chọn kênh truyền DMA 1 hay 3 nhờ cầu nối JP1 Lưu ý : Phải lập trình bộ điều khiển DMA và thanh ghi trang DMA 8237 của máy tính trước khi đặt DMAE = 1 . ST ST0 Chọn nguồn kích . Bảng 2.16 : Nguồn kích : Nguồn kích ST1 ST0 Kích mềm 0 x Kích ngoài 1 0 Kích Pacer 1 1 31
- g. Thanh ghi cho phép Counter / Time : ( BASE+10 ) Card PCL818 có vi mạch 8254 gồm 3 bộ đếm 0 , 1 , 2 và sử dụng hai bộ đếm 1, 2, còn bộ đếm 0 ch người dùng . Xung nhịp cho bộ đếm 1 đưa vào ngõ nhịp của bộ đếm 2 , ngõ ra của đếm 2 đưa vào k1ch AD ( kích pacer) , vậy tần số kích phụ thuộc tần số xung nhịp và số viết vào 2 bộ đếm 1 ,2 . Tần số của pacer là Fclk/(Div1*Div2) với Fclk=1Mhz hay 10Mhz , Div 1 và Div 2 là số đặt trong bộ đếm 1 và bộ đếm 2 . Xung nhịp cho bộ đếm 0 là chân 17 CN3 , chân điều khiển ở 36 CN3 , còn ngõ ra chân 18 . Thông qua đếm 0 có thể đo tần số , độ rộng xung hay đếm xung. Viết vào BASE+10 để chophép hoặ cấm bộ Counter / Time của PCL818L tạo xung . Bảng 2.17 : Thanh ghi BASE+10 BASE+10 Cho phép Pacer. Bit D7 D6 D5 D4 D3 D2 D1 D0 Value X x x x x x TC1 TC0 TC0 :Cấm / Cho phép pacer TCO = 0 : Cho phép pacer TCO = 1 : Pacer được điều khiển bởi TRIG0 ( chân 35 CN3 ). Tín hiệu này chận xung trigger gời từ „pacer‟ đến bộ A/D khi nó bằng 0 . TC1 : Chọn chế độ nguồn xung nhịp ngõ vào Counter 0 TC1 = 0 : Counter 0 nhận xung Clock ngoài ( chân 17 CN3 ) TC1 = 1 : Counter 0 nhận xung Clock 100Khz ở bên trong h.Các thanh ghi điều khiển và đọc / ghi bộ đếm : 32
- Bộ định thì 8254 sử dụng bốn thanh ghi ở địa chỉ BASE+12, BASE+13, BASE+14, BASE+15 . Các chức năng của các thanh ghi này được liệt kê trong bảng sau : Bảng 2.18 : Chức năng các thanh ghi Thanh ghi Chức năng BASE+12 Counter0 đọc / viết BASE+13 Counter1 đọc / viết BASE+14 Counter2 đọc / viết BASE+15 Điều khiển bộ đếm Do bộ đếm 8254 có cấu trúc 16 bit , nên mỗi dữ liệu đọc / ghi được chia làm 2 byte : byte thấp (LSB) , byte cao (MSB) . Để tránh phạm lỗi đọc / ghi sai , cần chú ý thao tác đọc ghi từng đôi ( tức là mỗi lần đọc ghi 2 byte) và theo đúng thứ tự byte. Dưới đây là phần liệt kê dạng dữ liệu trên thanh ghi điều khiển . Bảng 2.19 Liệt kê : BASE+15_8254 control , standard mode Bit D7 D6 D5 D4 D3 D2 D1 D0 Value SC1 SC0 RW1 RW0 M2 M1 M0 BCD Bảng 2.20 : SC1 & SC0 : Chọn bộ đếm . Bộ đếm SC1 SC0 0 0 0 1 0 1 2 1 0 Ralệnh đọc ngược thanh ghi 1 1 33
- Bảng 2.21 : RW1 & RW0. Chọn thao tác đọc ghi . Thao tác RW1 RW0 Chốt bộ đếm 0 0 Đọc /ghi byte LSB 0 1 Đọc /ghi byte MSB 1 0 Đọc /ghi byte LSB trước , MSB sau 1 1 Bảng 2.22 : Chọn chế độ hoạt động M2 , M1 & M0 M2 M1 M0 Chế độ 0 0 0 0 – Tạo ngắt khi đếm tràn 0 0 1 1 – Đahài đợi lập trình được X 1 0 2 – Bộ chia tầ số X 1 1 3 – Bộ tạo xung vuông 1 0 0 4 – Tạo xung cho phép mềm 1 0 1 5 – Tạo xung cho phép cứng Bảng 2.23 : Chọn cách nạp số đếm BCD Dạng dữ liệu nạp cho bộ đếm 0 Số đếm nhị phân 16 bit 1 Số đếm BCD Nếu cài đặt số đếm nhi phân thì có thể nạp vào bộ đếm các giá trị bất kỳ từ 0 đến 65535 . Còn cài đặt số đếm BCD thì có thể nạp váo bộ đếm các trị bất kỳ từ 0 đến 9999 . Nếu các bit SC1 và SC0 đeu được đặt lên 1 thì thanh ghi điều khiển bộ đếm sẽ ở trạng thái ra lệnh đọc ngược thanh ghi . Dạng dữ liệu trên thanh ghi điều khiể lúc này sẽ như sau : 34
- Bảng 2.24 : Dữ liệu BASE+15 _ 8254 readback – mode Bit D7 D6 D5 D4 D3 D2 D1 D0 Value 1 1 CNT STA C2 C1 C0 X CNT = 0 :Chốt số đếm của bộ đếm được chọn . STA = 0 : Chốt trạng thái của bộ đếm được chọn . C2 , C1 & C0 :Chọn bộ đếm cho chế độ đọc ngược . C2=1 Chọn bộ đếm 2 . C1=1 Chọn bộ đếm 1 . C0=1 Chọn bộ đếm 0 . Nếu các bit SC1 và SC0 đều được đặt lê 1 và STA = 0 thì thanh ghi được chọn bởi C2 ,C1 & C0 chứa một byte cho biết trạng thái của bộ đếm được chọn .Dạng dữ liệu của các thanh ghi đọc/ ghi lúc đó được liệt kê bên dưới. Bảng 2.25 : Dữ liệu BASE+12/13/14 _ status readback mode Bit D7 D6 D5 D4 D3 D2 D1 D0 Value OUT NC RW1 RW0 M2 M1 M0 BCD OUT : trạng thái hiện tại của ngõ ra NC : là 1 số đếm sau cùng đã được ghi lên thanh ghi của bộ đếm . 2.2.2. Chuyển đổi A/D , D/A , DI & DO a. Lập trình trực tiếp Chuyển đổi A/D : Việc chuyển đổi A/D có thể hình thành bằng cách viết trực tiếp tất cả các lệnh cho port I/O . 35
- Có thể kích đổi A/D bằng phần mềm , bằng xung ngoài hay bằng pacer on board . Bit 1 và 0 của thanh ghi BASE+9 sẽ chọn nguồn trigger tương ứng . Khi chọn kích pacer tần số kích từ 2.5 MHz đến 71 phút một xung . Khi chọn kích ngoài nguồn kích định bởi cầu nối JP3 chọn tính hiệu kích là TRIGO ( chân 35 CN3 ) hay DI0 (chân 1 CN2 ) Việc truyền dữ liệu A/D có thể thực hiện bằng chương thình điều khiển , bằng ngắt hay DMA Các bước hình thành để chuyển đổi A/D với trigger bằng phần mềm và truyền dữ liệu A/D bằng chương trình điều khiển ; - Đặt tầm vào cho mỗi kênh A/D - Đặt kênh vào bằng cách chỉ rõ cho tầm quét kênh - Kích đổi A/D bằng cách viết vào BASE+0 một số bất kỳ nào đó . - Kiểm tra chuyển đổi đã kết thúc chưa bằng cách đọc bit EOC của thanh ghi trạng thái . - Đọc kết quả chuyển đổi ở thanh ghi BASE+0 và BASE+1. -Chuyển dữ liệu từ số nhị phân thành số nguyên. Chuyển đổi D/A : Viết vào thanh ghi BASE+4 và BASE+5. Khi viết dữ liệu cho kênh D/A phải viếtbytethấp trước. Byte thấp này được giữ tạm thời trong 1 thanh ghi và không được xuất ra. Sau khi viết byte cao xong, thì khi đó, byte thấp và byte cao được cộng lại để chuyển thành D/A. Digital Input và Output : Ta đọc Digital từ thanh ghi BASE+3(byte thấp) và thanh ghi BASE+11 (byte cao). Sau khi đọc dừ liệu sẽ không được chốt, đường vào sẽ ở trạng thái thứ ba. Ta có thể xuất ra DO thông qua 2 thanh ghi BASE+3 và BASE+11 này. Thanh ghi sẽ chốt giá trị đãviết (có thể đọc lại). Để an toàn nên ghép các kết nối các ngõ vào ra thông qua OPTOCOUPLER. 36
- b. Lập trình theo Sofeware Driver của nhà sản xuất Mỗi PC_LABCARD có một Sofeware Drivercho phép chúng ta có thể dùng hàm và thủ tục viết sẳn để viết chương trình ứng dụng cấp cao như: BASIC, C, TURBO PASCAL, DELPHI, VISUAL BASIC Điều này cho phép chúng ta viết chương trình 1 cách đơn giản hơn viết trực tiếp vào các thanh ghi vì tất cả các hàm đều kéo tất cả tham số từ bảng tham số. Chúng ta không cầnđịnh lại bạng tham số mỗi khi ta gọi nó, chỉ khi nào bảng tham số có giá trị thay đổi. Chương trình cài đặt chứa trong CDROM. Trong chương trình ứng dụng, cần phải khai báo sử dụng Driver. Driver của hãng ADVANTECH viết chung cho nhiều loại CARD của hãng và việc đọc, và tìm hiểu các hàm viết sẳn sẽ mất nhiều thời gian. Chúng ta có thể sử dụng phần UNIT có sẳn bằng ngôn ngữ Delphi của thầy Nguyễn Đức Thành. 2.3. Các loại mạch kích và Solid State Relay (SSR) Trong quá trình điều khiển lò, cần phải thiết kế mạch điều khiển công suất sao cho thoả mãn các yêu cầu sao - Cách ly mạch điều khiển có công suất bé và mạch động lực có công suất lớn. - Khả năng đáp ứng tần số đóng ngắt cao ( trong 1giây 1phút). - Tránh nhiễu tốt. Có nhiều loại mạch đóng ngắt có thể kể đến như Relay cơ khí, Triac, contactor quang Nhưng Relay cơ khí ít được dùng bơi khả năng tạo nhiễu, tia lửa điện trong quá trình đóng ngắt cao, ảnh hưởng đến đáp ứng của lò nhiệt. Đảm bảo vấn đề an toàn cho lò nhiệt (mạch công suất) cũng như đối với mạch điều khiển, người ta thường dùng cách ly quang OP-TO. Khi ngõ ra của Analog out tích cực mức 0, sẽ không có dòng ở cức B, kích cho BJT hoat động. Lúc này BJT sẽ không dẫn và sẽ không kích cho OPTO hoạt động. 37
- 2.3.1. Đóng ngắt bằng OpTo – Triac R19 D7 VCC 470 + C10 LL4154 VCC CAPACIT OR POL/SM U8 1 6 I2 5 4 0A 2 4N35 Q5 L401E3/TO R18 R21 330 R JP18 R17 2 3 Q4 1 1C1815 2 15K HEADER 2 Hình 2.3 : Sơ đồ dùng OpTo - Triac Khi ngõ vào cực B tích cực ở mức 1, sẽ có dòng chạy vào cực B. Khi đó, transistor có dòng Ic ( collector current). Khi đó, dòng kích sẽ kích cho OP-TO hoạt động. Khi đó, BJT bên trong OPTO được kích, sẽ tạo dòng điện chạy vào ngõ kích của Triac, và do đó lò được kích và hoạt động. Như vậy, khi có tín hiệu điều khiền vào cực Base của BJT , sẽ có dòng điện chạy vào chân 1,2 của OPTO. Lập tức, OPTO sẽ dẫn điện, tạo thành dòng điện chạy vào chân G của Triac BTA-16. Thoả mãn điều kiện dòng của Triac, Triac sẽ kích lò hoạt d8ộng đóng ngắt theo yêu cầu của đề bài. Tuy nhiên, sữ dụng mạch kích OPTO-Triac còn nhiều nhược điểm, trong đó cần có sự tương thích giữa các linh kiện với nhau, việc tính toán các trạng thái quá áp, quá dòng hay tính linh hoạt trong quá trình hoạt động của mạch kích. Trong các mạch kích được sử dụng nhiều nhật hiện nay là Contactor quang Solid State Relay ( SSR ). 38
- 2.3.2. Contactor Quang – Solid State Relay Hình 2.4 : Các SSR được bán trên thị trường Solid State Relay(SSR) là thiết bị điện từ, dùng để cách ly và điều khiển giữa mạch điều khiển có công suất bé và mạch động lực có công suất tải lớn. Có khả năng chịu dòng cao ( từ 10A 75A dành cho điện áp ngõ ra 300VAC và 50A 75A dành cho điện áp 600VAC). Do trong SSR , các phần tử được cách ly, không có đóng ngắt bằng tay như các công tắc cơ khí nên không tạo nên tia lửa điện hay hồ quang điện trong quá trình đóng ngắt. Đồng thời, thời gian delay cho quá trình đóng ngắt là 3ms, thời gian trể này nhằm ngăn ngừa những xuang điện đột ngột trong quá trình đóng ngắt. Với khả năng đáp ứng cao, mạch kích đơn giản, dễ kết nối, điều khiển lò nhiệt sẽ giảm đi rất nhiều chi phí không cần thiết thay thế dần các Contactor cơ khí Sau đây là Data Sheet của loại Solid State Relay được sử dụng trong đồ án. Vì điệp áp ngõ vào có giá trị 3.5 VDC -> 32VDC, nên ta sữ dụng ngõ ra Analog Out của Card PCL-818 làm ngõ điều khiển. Khi cần kích lò hoạt động, ta đưa giá trị có mức điện áp > 3.2 VDC vào Digital Input. Và quá trình điều khiển lò được hoạt động rất nhịp nhàng và linh hoạt. 39
- Bảng 2.26 : Data Sheet Standard Footprint Designed to replace and outperform existing DC Relays. Product Specifications: Input Specifications: Minimum turn-on voltage (Vdc) 3.5 Minimum turn-off voltage (Vdc) 2.5 Control Voltage range (Vdc) 3.5 - 32 Control Current (mA) 8 - 15 Output Specifications: Operating voltage range (Vdc) 0 - 25 Maximum load current without heatsink (Adc) 20 Maximum continues current (A) 100 Maximum surge current (Adc) 300 Thermal resistance junction (degC) -55 +175 Maximum on state Resistance (milliohms) 3.5 Maximum turn-on time (usec) 14 Turn on transition time (usec) 8 Maximum turn-off time (usec) 55 Turn off transition time (usec) 40 General Specifications: Maximum capacitance input/output(pF) 12600/3500 Ambient operating temperature range(degC) 0-25 Ambient storage temperature range(degC) -85 - 150 Mechanical Specifications: Weight (oz) 1.5 Encapsulation ResTech 10207/053 Terminals printed circuit . 40
- 2.4. Các loại IC khác 2.4.1. IC ổn áp Đây là IC dùng cho bộ nguồn, cung cấp điện áp +-5V cho Op-Amp hay các IC khác trong mạch hoạt động. IC này tạo nên bộ nguồn hoạt động ổn định. Bảng 2.27 : Loại IC ổn áp Loại V0 I0 VI(min) VI(max) LM78L05 5 0.1 7 20 LM7905 -5 0.1 -7 -20 2.4.2. Khuếch đại thuật toán OP07 Hình 2.5 : Kiểu chân OP07 Đặc điểm : - Offset thấp : 10 V. - Độ sôi offset thấp : 0,2 V/ C. - Độ ổn định đối với thời gian cao : 0,2 V/tháng. - Ít bị ảnh hưởng bởi nhiễu : 0,35 Vp-p. - Tầm điện áp cung cấp rộng : 3V 18V. - Common Mode Input cao : 14V. 41
- - Không cần linh kiện ráp thêm bên ngoài. OP07 là một IC OPAMP có độ chính xác cao, với offset thấp (tiêu chuẩn là 10 V, max là 25 V). Độ trôi offset khoảng 0,2 V/ C và dòng phân cực đầu vào thấp (0,7nA), cộng thêm với trở kháng đầu vào cao và độ lợi vòng hở lớn nên IC này rất thích hợp với các ứng dụng đo lường đòi hỏi chính xác. 2.5. Sơ đồ nguyên lý của mạch đo nhiệt độ. VCC R4 R7 22K VR10K R5 3M VCC -VCC R1 1 VR10K U1 1 7 U4 8 2 3 4 + - OP-07 6 2 JP7 2 6 - OP-07 R6 3 + 1 2 + C1 100 4 8 3 HEADER 2 7 1 -VCC VCC VCC VCC R8 2.2K 7 1 3 R10 R3 + 6 3 2 2 - R2 U2 VR10K VR10K C2 + OP-07 22K 8 D1 3 2 4 LM335 1 1 -VCC Mach lay gia tri nhiet do moi truong VCC 1 JP1 7 3 R9 100 JP2 1 + 6 2 2 1 - U3 2 V+ tu T herm ocouple + C3 OP-07 8 4 V- tu Thermocouple -VCC Mach lay gia tri nhiet do cua lo nhiet Hình 2.6 : Mạch gia công, lấy nhiệt từ môi trường Thermocouple được sử dụng trong trường hợp này là loại Thermocouple Loại K ( kết hợp giữa chromel và alumel), trong đó chromel là cực dương và alumel là cực âm. Hệ số Seebeck là 40 V/ C ở 20 C. Mạch gia công cần thực hiện 3 chức năng sau : bù nhiệt cho đầu tự do, khuếch đại, và tạo điện áp ra là 0V khi đo ở 00C. Xét mạch trên : 42
- - U1, U2, U3 (dùng OP07 cho offset thấp) đóng vai trò một bộ đệm điện áp lý tưởng : có trở kháng vào rất lớn và trở kháng ra rất nhỏ, không để các đầu vào ảnh hưởng lẫn nhau. - Điện áp ra trên thermocouple : V3 = S(Td – Ta) = S.Td – S.Ta (2.1) Với : Td là nhiệt độ cần đo. Ta là nhiệt độ môi trường. S là độ nhạy của thermocouple (40 V/ C). Như vậy là giá trị điện áp ra trên cặp nhiệt điện ngoài nhiệm vụ mang thông tin của nhiệt độ cần đo còn bị ảnh hưởng bởi nhiệt độ môi trường. Để loại trừ ảnh hưởng trên, ta cần phải có một khối tạo ra điện áp theo nhiệt độ môi trường nhưng có dấu ngược lại dùng IC cảm biến LM335A. - IC LM335A là loại cảm biến nhiệt độ bán dẫn, có độ nhạy là 10mV/ K. Ap tạo ra do LM335A cảm biến được là : V2 = K.Ta [ K] = K(273 + Ta) [ C] (2.2) = K.273 + K.Ta = C + KTa (C = K.273) với K = 10mV/ K; C = 2,73V có thể triệt tiêu ảnh hưởng của Ta, nhưng lại tạo ra một mức điện áp là 2,73V ở 0 C nên cần phải có một khối để trừ 2,73V nhằm tạo điện áp đầu ra là 0V ở 0 C. - Biến trở R1 chính là thành phần bù trừ điện áp 2,73V. - U4 (dùng OP07) đóng vai trò bộ cộng có khuếch đại, điện áp ra R 7 R 4 V 2 V 3 R 7 R 4 Vout 1 R 10 R 3 // R 9 V 1 R 6 R10 R 3 R 9 R 6 (2.3) 43
- R 7 R 4 C K .T a S .T d S .T a Vout 1 R 10 R 3 // R 9 R 6 R10 R 3 R10 R 3 R 9 R 9 R 7 R 4 V 1 R 6 (2.4) Không bị ảnh hưởng của nhiệt độ môi trường : K .T S .T R R K 10 mV a a 0 10 3 250 R10 R 3 R 9 R 9 S 40 V (2.5) Chọn R9 = 100 R10 + R3 = 25 K chọn R10 = 22K và R3 là biến trở 10K . Khi đó cần điều chỉnh R3 để triệt tiêu Ta. Triệt tiêu điện áp tĩnh (2,73V) : R 7 R 4 C R 7 R 4 1 R 10 R 3 // R 9 V 1 0 R 6 R10 R 3 R 6 (2.6) Với (R10+ R3)//R9 = (25K )//(100 ) = 99,6 R 7 R 4 2, 73 R 7 R 4 1 x 99, 6 x xV 1 R 6 25000 R 6 (2.7) R 7 R 4 2, 73 2, 73 hay : V 1 R 6 251 251 khi đó, điện áp ra là : (2.8) R R S .T V 1 7 4 R R // R d out 10 3 9 R 6 R 9 điện áp này được đưa trực tiếp vào Card Ad PCL-818 là loại Card AD 12-bit nên cần phải có một sự tương thích về độ phân giải : ADC 12-bit có 4096 mức. Điện áp vào tối đa = 4,096V 1LSB = 4,048V/4096 = 1mV Điều khiển đến 256 C : 44
- 1LSB = 256/4096 =0.0625 C tức mỗi khi tăng 0.0625 C thì điện áp ra tăng 1mV : R 7 R 4 0, 0625 . S 1 R 10 R 3 // R 9 1mV R 6 R 9 ( R R ) // R 25000 do : 10 3 9 R 9 25100 R R R R 1 7 4 401. 6 7 4 400. 6 R 6 R 6 (2.9) chọn R6 = 100 chọn R7 = 33K ; R4 là biến trở 10K . Chỉnh R4 cho độ phân giải. Thay vào (2.7) : 2, 73 2, 73 400 .6 x V 1 V 1 10. 9 mV 251 251 (2.10) V1 được tạo ra từ cầu chia điện áp R5 = 3M và R1 là biến trở 10K . cần chỉnh R1 để V1 đạt 10.9mV - Các tụ C14, C15, C16 chọn giá trị 10 F để chống nhiễu. Lƣu ý : 1. Các biến trở nên dùng loại biến trở tinh chỉnh (hay biến trở đo lường) có cấu tạo gồm nhiều vòng dây điện trở xoắn bên trong (chỉnh nhiều vòng mới hết giá trị), tránh dùng biến trở thông thường rất khó chỉnh và không ổn định (khi va chạm nhẹ bị thay đổi giá trị). 2. Các OPAMP dùng loại OP07 hoặc tương đương, có mức offset thấp để phù hợp với các đại lượng đo có giá trị nhỏ, các chân 1 và 8 dùng để chỉnh offset không dùng trong thiết kế này. 45
- CHƢƠNG 3. THIẾT KẾ PHẦN MỀM 3.1. Các phƣơng pháp điều khiển, Phƣơng pháp điều khiển PID số. 3.1.1. Các phƣơng pháp điều khiển. Do điều kiện môi trường, yêu cầu hệ thống thiết kế, ta cần điều khiển lò nhiệt thoả mãn theo yêu cầu như tính ổn định, chất lượng của hệ thống. Vì vậy hiệu chỉnh lại hệ thống là điều tất yếu. Để hệ đạt được các yêu cầu về tính ổn định, độ chính xác, đáp ứng quá độ, ta cần phải thêm vào hệ thống hồi, bổ sung phần cứng cũng như phần mềm vào hệ cơ bản nhằm thoả mản yêu cầu về tính ổn định, độ chính xác, tăng độ dự trữ pha và quá trình quá độ là quá trình thiết kế. Thuật ngử ổn định hoá thường dùng để chỉ quá trình nhằm đạt yêu cầu về tính ổn định. Khái niệm bù hay hiệu chỉnh để chỉ quá trình làm tăng độ chính xác, độ dự trữ pha và tốc độ đáp ứng. 3.1.1.1. Điều khiển On-Off. Đây là loại điều khiển đơn giản nhất, được dùng trong các loại sản phẩm phục vụ cho gia đình như máy điều hoà nhiệt độ, lò nhiệt, Khi lò nhiệt có nhiệt độ nhỏ hơn giá trị nhiệt độ đặt, bộ nhiệt sẽ bật lên với công suất cực đại. Khi lò nhiệt có nhiệt độ lớn hơn nhiệt độ đặt, bộ nhiệt sẽ tắt lò. Quá trình On-Off lò nhiệt diễn ra với giá trị sai số cho phép nhằm ngăn ngừa nhiễu trong quá trình bật tắt lò nhiệt quá nhanh khi nhiệt độ lò gần với nhiệt độ đặt. Dao động nhiệt được biểu diễn trong hình 3.1 như sau : 46
- Hình 3.1 : Biểu đồ dao động nhiệt 3.1.1.2. Điều khiển bằng khâu tỷ lệ Đây là hình thức điều khiển tốt hơn điều khiển On-Off bằng cách cung cấp năng lượng cho lò nhiệt dựa vào sự khác biệt về nhiệt độ giữa là nhiệt và nhiệt độ đặt, với Kp được xem là độ khuếch đại tỷ lệ của bộ điều khiển W=Kp(Ts – To) (3.1) Khi Kp tăng, sự đáp ứng quá độ nhanh hơn nhưng hệ thống có nhiệt độ nằm dưới mức nhiệt độ điều khiển và không ổn định. Hình 3.2 : Biểu đồ khi Kp tăng 3.1.1.3. Điều khiển bằng khâu vi phân tỷ lệ PD Vấn đề về tính ổn định và quá tầm trong điều khiển tỷ lệ với độ khuếch đại lớn , có thể được giảm đi khi thêm vào đó là khâu vi phân cho tín hiệu sai số. 47
- (3.2) Kỹ thuật đó được gọi là kỹ thuật điều khiển PD. Khâu vi phân có thể hiệu chỉnh khả năng đáp ứng sự thay đổi tại nhiệt độ đặt, đó là giảm độ vọt lố , đáp ứng ra c(t) bớt nhấp nhô hơn, được biểu diễn ở hình sau : Hình 3.3 : Khâu vi phân Bộ hiệu chỉnh PD không thể thực hiện bằng các linh kiện mạch thụ động, có thể dùng khếch đại thuật toán, điện trở và tụ điện. Nhược điểm của bộ PD này là rất nhạy về nhiễu vì bản thân bộ PD là mạch lọc thông cao, với độ lợi lớn hơn 1 sẽ làm tăng sự ảnh hưởng của tín hiệu nhiễu. Bộ PI Hàm truyền đạt của PI có dạng : d W P.((T T ) D. (T T )) (3.3) s o dt s o Hiệu chỉnh PI tương đương thêm vào nghiệm zero = -Ki/Kp và nghiệm cực s = 0 vào hàm truyền vòng hở. Hiệu quả của bậc hệ thống tăng lên 1, thêm vào một khâu tích phân vào hàm truyền hệ chưa hiệu chỉnh và điều quan trọng là loại hệ thống sẽ tăng lên 1. Sai số xác lập của 48
- hệ có khâu PI sẽ băng ) đối với tín hiệu vào là hàm nấc và bằng hằng số tỉ lệ nghịch với giá trị Kp nếu tín hiệu vào là hàm RAMP. 3.1.1.4. Điều khiển bằng khâu vi tích phân tỷ lệ PID Khâu hiệu chỉnh khuếch đại tỉ lệ (P) được đưa vào hệ thống nhằm làm giảm sai số xác lập, với đầu vào thay đổi theo hàm nấc sẽ gây ra vọt lố và trong vài trường hợp là không chấp nhận được đối với mạch động lực. Sự có mặt của khâu vi phân tỉ lệ (PD) làm giảm độ vọt lố và đáp ứng ra bớt nhấp nhô hơn và hệ thống sẽ đáp ứng nhanh hơn. Khâu tích phân tỉ lệ(PI) có mặt trong hệ thống sẽ dẩn đến sai lệch tĩnh triệt tiêu( hệ vô sai). Muốn tăng độ chính xác ta phải tăng hệ số khuếch đại, song với mọi hệ thống thực đều bị hạn chế và sự có mặt của khâu PI là bắt buộc. Khâu hiệu chỉnh vi tích phân tỉ lệ( PID ) kết hợp những ưu điểm của khâu PI và PD, có khả năng tăng độ dự trử pha ở tần số cắt, khử chậm pha. Sự có mặt PID ở vòng hồi tiếp có thể dẩn đến sự dao động trong hệ do đáp ứng quá độ bị vọt lố bởi hàm Dirac (t).Các bộ hiệu chỉnh PID được ứng dụng nhiều trong công nghiệp dưới dạng thiết bị điều khiển hay thuật toán phần mềm. Hàm truyền của bộ PID có dạng: K I Gc(s)= KP + KDs + s (3.4) Với các giá trị KP ,KD, KI là các hằng số. Phương trình vi tích phân mô tả sự tương quan giữa tín hiệu ra u(t) với tín hiệu e(t) của bộ điều khiển PID là : de(t) u(t) K .e(t) K . K e(t).dt P D dt I. (3.5) Trong đó, e(t) là sai lệch trong hệ thống e(t) = r(t) – c(t). Với r(t) và c(t) là tín hiệu vào và đáp ứng ra của hệ thống. Vấn đề thiết kế là cần xác định giá trị Kp, Ki, Kd sao cho thoả mãn các yêu cầu về chất lượng. Ta hãy xem xét sự ảnh hưởng từng khâu trong qua 1trình điều khiển chất lượng hệ thống. 49
- Hiệu quả của phương pháp này là điều khiển được năng lượng lò nhiệt cho đến khi sai số trung bình của giá trị nhiệt độ là 0. Hình 3.4 : Biểu đồ năng lượng lò nhiệt hệ thống số Khi ta thu thập những thông số của lò nhiệt, thông qua bộ biến đổi AD, DA dùng PCL 818L đưa lên máy tính để xử lý. Do vậy, để điều khiển chính xác hơn cho hệ thống, người ta sử dụng phương pháp hiệu chỉnh PID số. 3.1.2. Phƣơng pháp điều khiển PID số. Quá trình phân tích tín hiệu rời rạc : Trước tiên, tín hiệu của chúng ta là loại một chuỗi xung, không phải là một hàm liên tục theo thời gian. Vì vậy, ta thu nhận thông số của tín hiệu bằng phương pháp lượng tử hoá. Phương pháp lượng tử hoá theo thời gian là phương pháp dùng cho tín hiệu có biên độ liên tục, thời gian rời rạc. Hệ thống xử lý tín hiệu loại này được gọi là hệ thống rời rạc, ví dụ như mạch tạo xung, điều chế xung Nếu phép lượng tử hoá được tiến hành theo cả biên độ và thời gian thì kết quả nhận được là tín hiệu số. Trong hệ thống số, thông số điều khiển-biên độ của các xung chỉ xuất hiện tại các điểm rời rạc cách đều nhau đúng bằng chu kỳ lấy mẩu của 50
- tín hiệu. Việc ổn định hệ thống càng trở nên phức tạp hơn so với hệ thống liên tục. Do đó, đòi hỏi kỹ thuật phân tích và thiết kế đặt biệt. Hệ thống điều khiển số được dùng ứng dụng nhiều và đa dạng do đưa máy tính số vào trong hệ thống điều khiển, sự cải tiến về giá cả và độ tin cậy vào máy tính số. Digital Computer D/A Khâu điều Khâu điều khiển G1(s) khiển G2(s) A/D Hình 3.5 : Hệ thống điều khiển số Trong phần này, chúng ta sẽ phát triển những khái niệm về phân tích và thiết kế hệ thống liên tục cho hệ thống điều khiển số. Chúng ta sẽ tập trung vào hệ thống điều khiển số, trong đó máy tính số được nối đến các khâu diều khiển và các hệ thống được điều khiển bởi các bộ biến đổi A/D, D/A. Hệ thống này được minh hoạ ở hình trên. Như vậy, hệ thống bao gồm 2 tín hiệu : tín hiệu rời rạc [r(nT), e(nT), b(nT)] và tín hiệu tương tự [u(t), m(t), c(t)] và được định nghĩa là hệ thống dữ liệu được lấy mẫu (Sampled-Data System). Có thể mô tả hoạt động lấy mẩu tốt nhất bằng cách xét một hàm liên tục e(t) như ở hình (8.2a). Giả sử hàm này có thể lấy mẩu tại các thời điểm cách đều nhau một khoảng thời gian là T, như vậy có thể mô tả hàm đã được lấy mẩu bởi một chuổi các số sau: e(0), e(T), e(2T) e(nT) (3.6) Chuổi này cho phép mô tả có giới hạn hàm e(t) nhất là giá trị của e(t) tại các thời điểm 0, T, 2T, , nT. Giá trị của e(t) tại các thời điểm khác chỉ có thể được lấy gần đúng bằng phương pháp nội suy. 51
- Hình 3.6 : Ví dụ về lấy tín hiệu rời rạc bằng phương pháp Fourier Trên thực tế, vì khâu điều khiển và hệ thống điều khiển là tương tự, nên dử liệu rời rạc sau khi lấy mẩu phải được xây dựng lại thành dạng liên tục trong suốt thời gian giữa những lần lấy mẫu. Trong phần sau, sẽ cho chúng ta khái niệm cơ bản và các đặc tính của hệ thống dữ liệu đã được lấy mẫu, minh hoạ kỹ thuật phân tích và thiết kế hệ thống. Phân tích độ ổn định của hệ thống, khâu ngoại suy dữ liệu cũng được đề cập. Để biểu diễn biến số của hệ thống điều khiển, chúng ta sữ dụng phương pháp biến đổi mới : phương pháp biến đổi z . Việc sử dụng phương pháp biến đổi Laplace gặp nhiều trở ngại vì chúng ta đang dùng phương trình sai phân thay cho việc thiết kế các hệ thống điều khiển dữ liệu đã được lấy mẫu. 3.1.3. Thiết kế PID số Ở mục này, ta sẽ phân tích kỹ thuật thiết kế theo phương pháp đáp ứng tần số, xem xét bộ điều khiển sớm trể pha theo quan điểm khác trước. Bộ điều khiển này được gọi là PID (Proportional Integral Derivative), bộ điều khiển vi tích phân tỷ lệ. Hàm truyền của bộ điều khiển vi tích phân tỷ lệ PID cho bởi: K (3.7) D(w) K I K .w p w D 52
- Trong biểu thức này, Kp là độ lợi của khâu tỷ lệ, Ki là độ lợi của khâu tích phân còn Kd là độ lợi khâu vi phân. Đầu tiên, xem xét đến bộ điều khiển PI (tính phân tỷ lệ). Hàm truyền đạt là : K I K P .w K I (1 w/ wwo ) (3.8) D(w) K p K I w w w Với wwo = Ki/Kp. Chú ý rằng đây là bộ lọc trể pha có ưu điểm như mạch điều khiển trễ pha : tăng độ dự trữ ổn định và giảm sai số xác lập Tiếp theo, ta xét bộ điều khiển PD, hàm truyền đạt như sau w D(w) K p K D .w Kp(1 ) (3.9) wwo Với wwo = Kp/Kd. Mục đích của bộ điều khiển PD này là cải tiến sự ổn định của hệ thống, tăng băng thông hệ thống vòng kín để tăng tốc độ đáp ứng. Tác dụng của bộ điều khiển PD tại tần số cao ngược với tác dụng của bộ PI tại tần số thấp. 3.1.4. Điều khiển PID trong hệ thống điều khiển nhiệt độ. Gồm có bộ điều khiễn và lò điện có sơ đồ sau : Dây đốt Mạch động 1.1.1.1 Đ Đặt nhiệt độ Mạch điều khiển khiển lực i ề Bộ điều khiển nhiệt độ u Phản hồi Mạch đo và TC chỉ thị Hình 3.7 : Sơ đồ điều khiển 1.1.1.3 L ò đ i ệ n 53
- Bộ điều khiển gồm mạch đo nhiệt độ sử dụng cặp nhiệt điện (ThermoCouple – có điện áp ra thay đổi theo nhiệt độ), mạch điều khiển dùng khuếch đại thuật toán và bộ chấp hành (mạch động lực) dùng TRIAC đóng ngắt nguồn điện lưới cung cấp cho lò khi áp qua zero(zero switching). Với bộ điều khiển này,trong đồ án chọn nguyên tắc điều rộng xung, đảm bảo cung cấp công suất cho lò tỉ lệ với tín hiệu điều khiển tương ứng với hàm truyền là hệ số khuếch đại. Lò nhiệt có đầu vào là điện áp (hay công suất) cung cấp cho dây điện trở và ngỏ ra là nhiệt độ bên trong lò . Để thành lập hàm truyền lò nhiệt ta phải khảo sát phương trình vi phân mô tả các quan hệ nhiệt độ - năng lượng. Đây là một bài toán phức tạp nếu muốn chính xác . Một cách gần đúng , ta có thể xem môi trường nung là đồng chất , đẳng nhiệt. Từ phương trình cân bằ ng năng lượng: điện năng cung cấp sẽ được dùng để bù vào lượng nhiệt truyền ra bên ngoài và tích nhiệt vào môi trường nung, ta tính được hàm truyền lò là bậc nhất có dạng như sau : K P (3.10) Ts 1 Trong đó : P : công suất cung cấp là độ tăng nhiệt nhiệt độ ngỏ ra so với nhiệt độ môi trường K là hệ số tỉ lệ cho biết quan hệ vào ra ở chế độ xác lập T là thời hằng, thể hiện quán tính nhiệt của hệ thống. Mô hình hàm truyền này cho thấy quá trình quá độ với đầu vào hàm nấc có dạng hàm mũ. Thực tế cho thấy mô hình trên chỉ là gần đúng , hệ thống có bậc cao hơn nhưng quá trình quá độ đầu vào hàm nấc vẫn là không vọt lố , có dạng như hình sau khi cho nhiệt độ đầu bằng 0. Theo Ziegler-Nichols thì một hệ thống như vậy có thể được biểu diễn dưới dạng hàm truyền sau : 54
- Ke Ls H(s)= (3.11) Ts 1 bao gồm: Một khâu quán tính hệ số khuếch đại K Thời hằng T, và khâu trễ thời gian L Các thông số này có thể lấy được khi kẻ tiếp tuyến ở điểm uốn cho đồ thị quá độ hàm nấc như hình bên. Hệ số khuếch đại K được tính như sau: Khi nhiệt độ đầu khác không, K được tính từ độ tăng nhiệt độ ngỏ ra so với môi trường. Để áp dụng cho hệ tuyến tính, ta lấy khai triển Talor của e Ls hàm truyền trở nên: K H(s) (3.12) (Ls 1)(Ts 1) Trong lò nhiệt sử dụng trong luận văn này, các số liệu được lấy như sau K = 600; L = 2; T = 26; Vậy hàm truyền của lò nhiệt được xác định dựa trên Ziegler- Nichols là: 600 H(s)= (3.13) (2s 1)(26s 1) Quá trình phƣơng pháp điều khiển nhiệt độ: a.Điều khiển On-Off Hệ thống điều khiển nhiệt độ ở trên trở thành: e P K HC nđộ (3.14) (Ts 1)(Ls 1) là nhiệt độ đặt 55
- Chất lượng hệ thống như vậy sẽ phụ thuộc vào thông số của sơ đồ hiệu chỉnh.Một trong những nguyên lý thường dùng là PID(vi tích phân tỉ lệ) Phương pháp điều khiển công suất được dùng là điều rộng xung.Tải sẽ nhận công suất trong khoảng Ton của chu kỳ T không đổi.Công suất trên tải có thể điều khiển được bằng cách thay đổi độ rộng xung tương đối a: Ton a= (3.15) T và công suất cung cấp cho tải P=a*Pmax Pmax:công suất cực đại ứng với trường hợp a=1,khi phần tử điều khiển công suất là TRIAC đóng mạch liên tục Vì TRIAC chỉ ngắt mạch khi dòng qua nó về zero,chu kỳ T phải đủ lớn để cho TRIAC có thể dẫn điện trong nhiều chu kỳ điện áp lưới(tần số lưới điện là 50Hz),trong đồ án chọn T=1s b.Thuật toán hiệu chỉnh PID Hàm truyền liên tục PID có dạng: u(s) K H(s)= Kp I Kd *s(3.16) e(s) s Trong đó u:ngõ ra,e ngõ vào của bộ hiệu chỉnh Thuật toán PID có thể nhận được khi sai phân hàm truyền trên,tương ứng phương trình vi tích phân sau: de(t) Kp*e(t)+Ki e(t)dt +Kd* =u(t)*K (3.17) dt Gián đoạn hoá: - Khâu vi phân(dùng định nghĩa sai phân): Kd Kd* = *(e[n]-e[n-1]) (3.18) T - Khâu tích phân(theo nguyên tắc hình thang): 56
- T n e(t)dt = (e(k) e(k 1)) với e(0)=0 (3.19) 2 k 1 suy ra Kd T n u[n]*K=Kp*e[n]+ (e[n] e[n 1]) (e(k) e(k 1)) với T 2 k 1 e(0)=0 (3.20) thay[n] bằng [n-1] và trừ vào phương trình trên nhận được công thức cho phép chúng ta tính u[n] từ u[n-1] và các giá trị liên tiếp của e[n] như sau: u[n]-u[n-1]=( A 0 *e[n]+A 1 *e[n-1]+A 2 *e[n-2] )/K u[n]=u[n-1]+( A *e[n]+A *e[n-1]+A *e[n-2] )/K (3.21) Ki Kd với A =Kp+ * T + (3.22) 0 2 T 2 * Kd A = -Kp - A = (3.23) 1 T 2 Trong đó T là chu kỳ lấy mẫu 57
- 3.2. Lƣu đồ giải thuât a.Lƣu đồ đọc AD : Begin Kích OPTO để lò nhiệt hoạt động Ngắt(EOC=0)&(INT =1)? N Y Đọc AD Y[i]:= giá trị (AD)/8.192 Vẽ đặc tuyến lò nhiệt Hết chu kì? Thoát N Hình 3.8 : Lưu đồ đọc AD 58
- Do đảm bảo quá trình này diển ra trong thòi gian lấy mẫu là 1s, vì vậy, cả chương trình thu nhận thông số của lò được đặt trong bộ Timer. Khi thu nhận được các giá trị nhiệt độ từ lò nhiệt, thông qua 1 chương trình xấp xỉ bình phương cực tiểu, ta sẽ thu được các thông của lò như : độ khuếch đại, thời gian trễ, thời hằng nhiệt độ Nhiệt độ ngõ vào có giátrị từ 0 -> 409.6 oC, vì vậy, điện áp ngõ ra tương ứng từ 0 -> 4.096V. Đối với Card AD PCL – 818, điện áp chuẩn bên trong là 5V ( Internal Reference Voltage = 5V) tương ứng với giá trị toàn tầm 12bit = 4096. Vì vậy, giá trị nhiệt độ là : Nhiệt độ hiện tại = Re ad _ AD 8.192 59
- b. Lƣu đồ hiệu chỉnh lò nhiệt : Begin Kích OPTO để lò nhiệt hoạt động (EOC=0)&(INT=1)? N Y Đọc AD và vẽ đồ thị To[i]:= giá trị (AD)/8.192 Hiệu chỉnh PID U0=A0*Ekt+ A1*Ekt1+A2*Ekt2 N ess =(Tđặt- Tht)/Tđặt Y Hình 3.9 : Lƣu đồ hiệu chỉnh 60
- KẾT LUẬN Qua quá trình nghiên cứu và thiết kế Đồ Án. Em đã biết cách chọn lọc kiến thức từ các giáo trình mà em đã nghiên cứu, và quan trọng hơn là em đã tích lũy được kinh nghiệm trong khi Thiết kế một hệ thống và nguyên lý của mạch điện trong Kĩ thuật số đó cũng là sự hướng dẫn tận tình của thầy Nguyễn Trọng Thắng.Tuy nhiên, còn một số kiến thức nghiên cứu chuyên sâu vào lĩnh vực điện tử em còn chưa được nắm rõ và vẫn còn thiếu sót. Em xin chân thành cảm ơn thầy Nguyễn Trọng Thắng cùng các thầy cô khác đã hướng dẫn tận tình , cung cấp cho em những kiến thức quý báu cho em trong thời gian thực hiện Đồ Án. Em cũng chân thành cảm ơn sự hổ trợ, đóng góp ý kiến của bạn bè. Đây là lần đầu em làm Đồ Án , do đó sự thiếu sót hay khiếm khuyết là điều không tránh khỏi. Em chân thành cám ơn sự đóng góp các ý kiến chuyên môn để khả năng kỹ thuật của em được mở rộng. Chân thành cảm ơn! Sinh viên thực hiện Nguyễn Văn Trung Hải Phòng Tháng 12 / 2013 61
- Tài liệu tham khảo 1. Nguyễn Phùng Quang (2005), Điều khiển số, ĐHBK Hà Nội. 2. Nguyễn Trọng Thuần (2000), Điều khiển logic & Ứng dụng, Nhà xuất bản khoa học - Kĩ thuật. 3. Nguyễn Phương Hà (2005), Lý thuyết Điều khiển tự động, Trường ĐH Bách Khoa – ĐHQG Tp.HCM. 4. Thân Ngọc Hoàn (2004), Điện tử công suất, Nhà xuất bản xây dựng. 5. Ngô Diên Tập (2005), Kỹ thuật Ghép Nối Máy Tính, Nhà xuất bản khoa học – Kĩ thuật. 62