Báo cáo thiết kế kỹ thuật về PIC16F877A đo nhiệt độ dùng LM35, hiển thị lên LCD

Simulation (ProSPICE/VSM) PROTEUS VSM là sự kết hợp giữa chương trình mô phỏng mạch điện theo chuẩn công nghiệp SPICE3F5 và mô hình linh kiện tương tác động (animated model). Nó cho phép người dùng tự tạo linh kiện tương tác động và thực ra có rất nhiều linh kiện loại này được tạo ra mà không cần code lập trình. Do đó, PROTEUS VSM cho phép người dùng thực hiện các “mô phỏng có tương tác” giống như hoạt động của một mạch thật.

docx30 trang | Chia sẻ: lylyngoc | Lượt xem: 8677 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Báo cáo thiết kế kỹ thuật về PIC16F877A đo nhiệt độ dùng LM35, hiển thị lên LCD, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÁO CÁO ĐỀ TÀI THIẾT KẾ KỸ THUẬT VỀ PIC16F877A ĐO NHIỆT ĐỘ DÙNG LM35, HIỂN THỊ LÊN LCD 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 hỏi để phát triển và tiến bộ. Với sự nhảy vọt của khoa học, kĩ thuật điện điện tử mà vì thế trong một thời gian ngắn nó đã đạt được những thành tựu to lớn trong hầu hết các lĩnh vực trong đời sống xã hội. Thiết bị và công nghệ ngày càng đổi mới để góp phần nâng cao chất lượng cuộc sống. Ngày nay các thiết bị vi điều khiển có ứng dụng càng rộng rãi với ưu điểm nhỏ gọn, linh hoạt và có thể điều khiển được rộng rãi. Vi điều khiển càng ngày càng chiếm lĩnh và đóng vai trò cực kì quan trọng trong kĩ thuật điều khiển và tự động hóa. 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) bao mật, tính chủ động linh hoạt trong công nghệ …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ều khiển điện tử để đáp úng các nhu cầu cấp thiết trong khoa học kĩ thuật điện – điện tử. Kĩ thuật vi điều khiển hiện nay rất phát triển, nó đáp ứng được nhu cầu của nhiều ngành, lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống …So với kĩ thuật số thì kĩ thuật vi điều khiển nhỏ gọn hơn do đó nó được tích hợp lại và có khả năng lập trình để điều khiển nên tiện dụng và cơ động.Với các tính chất ưu việt đó trong đề tài này nhóm chúng em sử dugnj vi đều khiển để đo nhiệt đọ và đòng thời hiển thị LCD. Đề tài được thiết kế dựa trên kiến thức đã học, 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 tránh khỉa những sai sót. Vì vậy mong thầy và các bạn góp ý xây dựng, giúp đỡ để hoàn thiện hơn đề tài. Chúng em xin chân thành cảm ơn! Nhóm 1 PHẦN MỞ ĐẦU TỔNG QUAN VỀ ĐIỀU KHIỂN NHIỆT ĐỘ TRONG CUỘC SỐNG. Nhiệt độ là một đại lượng vật lý gắn liền với cuộc sống của chúng ta. Nó tác động đến mọi mọi mặt của đời sống. Và trong các lĩnh vực sản xuất cũng vậy, nhiệt độ ảnh hưởng trực tiếp tới quá trình vận hành, sản xuất. Trong lĩnh vực sản xuất công nghiệp nhiệt độ có tác động trực tiếp đến chất lượng sản phẩn đầu ra như trong quá trình gia công hàn vật liệu nhiệt độ ảnh hưởng tới độ chính xác, tính giãn nở nhiệt cảu vật liệu. Trong quá trình nung, sấy như nung gạch mem thì nhiệt dộ ảnh hưởng tới chất lượng về đọ cứng,đọ dẻo,màu sắc cảu sản phẩm đầu ra. Trong y học nhiệt độ ảnh hưởng tới các kết quả nghiên cứu, chữa bệnh. Trong cuộc sống nhiệt độ ảnh hưởng tới chất lượng và bảo quản lương thực, thực phẩm. Trong nông nghiệp cũng vậy nhiệt độ ảnh hưởng trục tiếp tới thành quả và năng suất nông nghiệp…. Với các yếu cầu đó nhóm chúng em xin thiêt kế đề tài ổn định nhiệt độ với khoản nhiệt dộ ổn định và điều khiển là 0 đến 60 độ C dùng cảm biến LM35, sử dụng bộ vi điều khiển PIC16F877A =, hiển thị LCD. Ưu điểm: Cảm biến LM 35 là một loại cảm biến nhiệt có ái thành tương đối rẻ và bán nhiều trên thị trường, có khoảng đo nhiệt dộ phù hợp với yêu cầu của đề tài. PIC16F877A là một loại chip vi điều khiển khả trình có thể dùng mã nguồn mở, nó có ưu điểm về giá thành tương đối rẻ, điều khiển ổn định và khá chính xác và khá phổ biến trên thị trường. Với đề tài lò ấp trúng thì yêu cầu ẩn định nhiệt độ là rất quan trọng tới việc thành công hay không của quá trinh ấp. Theo yêu cầu thì nhiệt độ trong lò phait đảm bào chênh lệch 2°C so với nhiệt độ yêu cầu. Nguyên lý hoạt động của các máy ấp trứng trên thị trường. Các máy ấp trứ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 hoạt động 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 GTL -1000 Máy ấp trứng GTL -1000 :tự động hoàn toàn 100% , công xuất tối đa 1000 trứng,đảo trứng tự động (chế độhẹn giờ ), phun ẩm và nhiệt độ tuỳ chình tự động đóng khi 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 OXY GTL 240K Là loại máy ấp trứng đảo trứng bằng khí-Điện áp : 220VAC 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ỳ. Hình ảnh một số lò âp trên thị trường: PHẦN 1 : GIỚI THIỆU CÁC LINH KIỆN PIC16F877A PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường). Cấu trúc tổng quát của PIC 16F877A như sau: - 8 K Flash ROM. - 368 Bytes RAM. - 256 Bytes EEPROM. - 5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập. - 2 bộ định thời 8 bits (Timer 0 và Timer 2). - Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm năng lượng (SLEEP MODE) với nguồn xung Clock ngoài. - 2 bô CCP( Capture / Compare/ PWM). - 1 bộ biến đổi AD 10 bits, 8 ngõ vào. - 2 bộ so sánh tương tự (Compartor). - 1 bộ định thời giám sát (WatchDog Timer). - Một cổng song song 8 bits với các tín hiệu điều khiển. - Một cổng nối tiếp. - 15 nguồn ngắt. - Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming) - Được chế tạo bằng công nghệ CMOS - 35 tập lệnh có độ dài 14 bits. - Tần số hoạt động tối đa 20MHz. Sơ đồ chân của PIC16F877A : Để PIC hoạt động ta cần cấp nguồn cho PIC. Ngoài ra có thể thêm vào bộ dao động thạch anh, và nút nhấn reset: Các linh kiện cho nguồn 5V: Board đục lỗ Biến áp cách ly-còn gọi là tăng phô 7805- dùng để xén 5V (7806 thì xén 6V), có thêm nhôm tản nhiệt Domino Cầu diod Tụ 1000 uF 35V Tụ 10uF 50V5 Sơ đồ mạch nguồn 5V: CẢM BIẾN NHIỆT ĐỘ LM35 LM35 có 3 chân : 2 chân cấp nguồn và 1 chân xuất điện áp ra tùy theo nhiệt độ Nhiệt độ tăng 1C thì điện áp xuất ra ở chân out của LM35 tăng 10mV Các đặc tính kỹ thuật khác : Mô phỏng bằng Proteus: Nhiệt độ là 27C, điện áp xuất ra là V=0.27176 chứng tỏ sự tăng 10mV /C là khá chính xác. Khi mô phỏng Proteus, nếu khối LM35 không hoạt động, thì click chuột phải/ edit properties/ bỏ check exclude from Simulation đi. GIAO TIẾP NỐI TIẾP RS232 Cổng nối tiếp RS232 là một giao diện phổ biến rộng rãi nhất. Người ta còn gọi cổng này là cổng COM1, còn cổng COM2 để tự do cho các ứng dụng khác. Giống như cổng máy in cổng COM cũng được sử dụng một cách thuận tiện cho việc giao tiếp với thiết bị ngoại vi. Việc truyền dữ liệu qua cổng COM được tiến hành theo cách nối tiếp. Nghĩa là các bit dữ liệu được truyền đi nối tiếp nhau trên một đường dẫn. Loại truyền này có khả năng dùng cho những ứng dụng có yêu cầu truyền khoảng cách lớn hơn, bởi vì các khả năng gây nhiễu là nhỏ đáng kể hơn khi dùng một cổng song song (cổng máy in). Cổng COM không phải là một hệ thống bus nó cho phép dễ dàng tạo ra liên kết dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin với nhau, một thành viên thứ ba không thể tham gia vào cuộc trao đổi thông tin này. Các chân và đường dẫn được mô tả như sau: Phích cắm COM có tổng cộng 8 đường dẫn, chưa kể đến đường nối đất. Trên thực tế có hai loại phích cắm, một loại 9 chân và một loại 25 chân. Cả hai loại này đều có chung một đặc điểm. Việc truyền dữ liệu xảy ra ở trên hai đường dẫn. Qua chân cắm ra TXD máy tính gởi dữ liệu của nó đến KIT Vi điều khiển. Trong khi đó các dữ liệu mà máy tính nhận được, lại được dẫn đến chân RXD các tín hiệu khác đóng vai trò như là tín hiệu hổ trợ khi trao đổi thông tin, và vì thế không phải trong mọi trường hợp ứng dụng đều dùng hết. Vì tín hiệu cổng COM thường ở mức +12V, -12V nên không tương thích với điện áp TTL nên để giao tiếp KIT Vi điều khiển 8051 với máy tính qua cổng COM ta phải qua một vi mạch biến đổi điện áp cho phù hợp với mức TTL, ta chọn vi mạch MAX232 để thực hiện việc tương thích điện áp. GIỚI THIỆU VI MẠCH GIAO TIẾP MAX 232 Vi mạch MAX 232 của hãng MAXIM là một vi mạch chuyên dùng trong giao diện nối tiếp với máy tính. Chúng có nhiệm vụ chuyển đổi mức TTL ở lối vào thành mức +10V hoặc –10V ở phía truyền và các mức +3…+15V hoặc -3…-15V thành mức TTL ở phía nhận. Vi mạch MAX 232 có hai bộ đệm và hai bộ nhận. Đường dẫn điều khiển lối vào CTS, điều khiển việc xuất ra dữ liệu ở cổng nối tiếp khi cần thiết, được nối với chân 9 của vi mạch MAX 232. Còn chân RST (chân 10 của vi mạch MAX ) nối với đường dẫn bắt tay để điều khiển quá trình nhận. Thường thì các đường dẫn bắt tay được nối với cổng nối tiếp qua các cầu nối, để khi không dùng đến nữa có thể hở mạch các cầu này. Cách truyền dữ liệu đơn giản nhất là chỉ dùng ba đường dẫn TxD, RxD và GND (mass). ĐẶC ĐIỂM KỸ THUẬT VỀ ĐIỆN CỦA RS232C Qui định về chân của RS232C Mức điện áp logic của RS-232C là khoảng điện áp giữa +15V và –15V. Các đường dữ liệu sử dụng mức logic âm: logic 1 có điện thế giữa –5V và –15V, logic 0 có điện thế giữa +5V và +15V. tuy nhiên các đường điền khiển (ngoại trừ đường TDATA và RDATA) sử dụng logic dương: gía trị TRUE = +5V đến +15V và FALSE =-5V đến –15. Ở chuẩn giao tiếp này, giữa ngõ ra bộ kích phát và ngõ vào bộ thu có mức nhiễu được giới hạn là 2V. Do vậy ngưỡng lớn nhất của ngõ vào là ±3V trái lại mức ± 5V là ngưỡng nhỏ nhất với ngõ ra. Ngõ ra bộ kích phát khi không tải có điện áp là ± 25V. Các đặc điểm về điện khác bao gồm • RL (điện trở tải) được nhìn từ bộ kích phát có giá trị từ 3 ÷ 7k. • CL (điện dung tải) được nhìn từ bộ kích phát không được vượt quá 2500pF. • Để ngăn cản sự dao động quá mức, tốc độ thay đổi (Slew rate ) của điện áp không được vượt qúa 30V/µs. Đối với các đường điều khiển, thời gian chuyển của tín hiệu (từ TRUE sang FALSE, hoặc từ FALSE sang TRUE ) không được vượt qúa 1ms. Đối với các đường dữ liệu, thời gian chuyển (từ 1 sang 0 hoặc từ 0 sang 1) phải không vượt qúa 4% thời gian của 1 bit hoặc 1ms. IRF 510: Mosfet là Transistor hiệu ứng trường (Metal Oxide Semiconductor Field Effect Transistor) là một Transistor đặc biệt có cấu tạo và hoạt động khác với Transistor thông thường mà ta đã biết. Mosfet thường có công suất lớn hơn rất nhiều so với BJT. Đối với tín hiệu 1 chiều thì nó coi như là 1 khóa đóng mở. Mosfet có nguyên tắc hoạt động dựa trên hiệu ứng từ trường để tạo ra dòng điện, là linh kiện có trở kháng đầu vào lớn thích hợp cho khuyếch đại các nguồn tín hiệu yếu. Ký hiệu Qua đó ta thấy Mosfet này có chân tương đương với Transitor       + Chân G tương đương với B      + Chân D tương đương với chân C      + Chân S tương đương với E MỘT SỐ LINH KIỆN KHÁC LED 7 đoạn Tranzitor pnp A1015 Thạch anh 12MHz Tụ 33pF Điện trở Nút bấm PHẦN 2 : GIỚI THIỆU PID Định nghĩa: Bộ điều khiển PID (A proportional integral derivative controller) là bộ điều khiển sử dụng kỹ thuât điều khiển theo vòng lặp có hồi tiếp được sử dụng rộng rãi trong các hệ thống điều khiển tự động. Một bộ điều khiển PID cố gắng hiệu chỉnh sai lệch giữa tín hiệu ngõ ra và ngõ vào sau đó đưa ra một một tín hiệu điều khiển để điều chỉnh quá trình cho phù hợp 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 u(t)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ệ, Kp : giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, bù khâu tỉ lệ càng lớ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, Ki : 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: 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 trước khi tiến tới trạng thái ổn định. Độ lợi vi phân, Kd : 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ố. Trong đó hàm truyền của khâu PID là: Với : Hiệu chỉnh thông số của bộ điều khiển PI bằng phương pháp Zingler – Nichols : Một phương pháp cổ điển nhưng đơn giản và hiệu quả để chỉnh định 3 thông số KP, KI, KD của bộ điều khiển PID là phương pháp Ziegler Nichols thủ tục chỉnh định như sau: 1. Điều khiển hệ thống bằng bộ điều khiển tỉ lệ KP (đặt Ki=Kd= 0) 2. Tăng KP đến giá tri KC mà ở đó hệ thống bắt đầu bất ổn (bắt đầu xuất hiện sự dao động - điểm cực của hàm truyền kín nằm trên trục ảo jω xác định tần số ωc của dao động vừa đạt. Việc hiệu chỉnh 3 thông số KP, KI, KD sẽ làm tăng chất lượng điều khiển. Ảnh hưởng của 3 thông số này lên hệ thống như sau: 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. Khâu tỉ lệ Khâu tỉ lệ (đôi khi còn được gọi là độ lợ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, gọi là độ lợi tỉ lệ. Khâu tỉ lệ được cho bởi: 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. Ngược lại, độ lợi nhỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớ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. Khâu tích phân Phân phối của khâu tích phân 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, Ki. Thừa số tích phân được cho bởi: 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 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 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. Khâu vi phân 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 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ốc độ) 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ởi: 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 độ ổn định của bộ điều khiển hỗn hợ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. Do đó một xấp xỉ của bộ vi sai với băng thông giới hạn thường được sử dụng hơn. Chẳng hạn như mạch bù sớm pha Phương pháp Ziegler–Nichols Một phương pháp cổ điển nhưng đơn giản và hiệu quả để chỉnh định 3 thông số KP, KI, KD của bộ điều khiển PID là phương pháp Ziegler Nichols thủ tục chỉnh định như sau: 1. Chỉ điều khiển hệ thống bằng bộ điều khiển tỉ lệ KP (đặt KI=KD =0) 2. Tăng KP đến giá tri KC mà ở đó hệ thống bắt đầu bất ổn (bắt đầu xuất hiện sự dao động - điểm cực của hàm truyền kín nằm trên trục ảo jω xác định tần số ωc của dao động vừa đạt Phần 3: Tổng quan về điều chế xung 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 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 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 đặ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ơ.Bài viết này sẽ nói lên phương pháp điều khiển PWM và các thông số cơ bản của PWM. 1 ) PWM là gì? 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 pháp điều chế PWM có tên tiếng anh là Pulse Width Modulation là phương pháp điều chỉnh điện áp ra tải hay nói cách khác là phươ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 hay hoặc là sườn âm - Sơ đồ nguyên tắc điều khiển tải dùng PWM 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 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. Đây là phương pháp được thực hiện theo nguyên tắc đóng ngắt nguồn cới tải và 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 Giản đồ xung  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 (khóa mở ) còn T là thời gian của cả sườn âm và dương, Umax là điện áp nguồn cung cấp cho tải. ==> Ud = Umax.( t1/T) (V) hay Ud = Umax. 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ền. Trong phần cứng có thể tạo bằng phươ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. Tạo bằng phần mền thì độ chính xác cao hơn là tạo bằng phần cứng. Nên người ta hay sử dụng phần mền để tạo PWM a) Tạo bằng phương pháp so sánh Để tạo được bằng phương pháp so sánh thì cần 2 điều kiện sau đây : + Tín hiệu răng cưa : Xác định tần số của PWM + Tín hiệu tựa là tinshieuej 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 b) Tạo xung vuông bằng phần mền. Đâ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ền 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 : · 4) PWM trong điều khiển động cơ và trong các bộ biến đổi xung áp a ) Trong động cơ : Điều mà chúng ta dễ nhận thấy rằng là PWM rất hay được sử dụng trong động cơ để điều khiển động cơ như là nhanh , chậm, thuận ,nghịch và ổn định tốc độ cho nó. Cái này được ứng dụng nhiều trong điều khiển động cơ 1 chiều. và sơ đồ nguyên lý của mạch điều khiển động cơ DC là : Đây là mạch đơn giản điều khiển động cơ. Nếu muốn điều khiển động cơ quay thuận quay ngược thì phải dùng đến cầu H. b) Trong các bộ biến đổi xung áp Trong các bộ biến đổi xung áp thì PWM đặc biệt quan trọng trong việc điều chỉnh dòng điện và điện áp ra tải.Bộ biến đổi xung áp có nhiều loại như là biến đổi xung áp nối tiếp và bộ biến đổi xung áp song song. Lấy 1 mạch nguyên lý đơn giản trong bộ nguồn Boot đơn giản. Chú ý đây chỉ mạch nguyên lý thôi . Đây là nguyên lý của mạch nguồn Boot. Dùng xung điều khiển để tạo tích lũy năng lượng từ trường để tạo điện áp ra tải lớn hơn điện áp vào. Ngoài những cái trên thì PWM còn được sử dụng trong các bộ chuyển đổi DC -AC , hay trong biến tần, nghịch lưu. Phần 4: Mạch phần cứng và chương trình phần mềm I, Sơ lược về các phần mền sử dụng. Phần mềm proteus: Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola. Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 ... các giao tiếp I2C, SPI, CAN, USB, Ethenet,... ngòai ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ chuyên về mô phỏng mạch điện tử. Các phần mềm (công cụ) trong bộ là: ISIS Schematic Capture: - ISIS đã được nghiên cứu và phát triển trong hơn 12 năm và có hơn 12000 người dùng trên khắp thế giới. Sức mạnh của nó là có thể mô phỏng hoạt động của các hệ vi điều khiển mà không cần thêm phần mềm phụ trợ nào. Sau đó, phần mềm ISIS có thể xuất file sang ARES hoặc các phần mềm vẽ mạch in khác. - Trong lĩnh vực giáo dục, ISIS có ưu điểm là hình ảnh mạch điện đẹp, cho phép ta tùy chọn đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu (templates) Những khả năng khác của ISIS là: • Chạy trên nền Windows 98/Me/2k/XP/Win7 • Tự động sắp xếp đường mạch và vẽ điểm giao đường mạch. • Chọn đối tượng và thiết lập thông số cho đối tượng dễ dàng • Xuất file thống kê linh kiện cho mạch • Xuất ra file Netlist tương thích với các chương trình làm mạch in thông dụng. • Đối với người thiết kế mạch chuyên nghiệp, ISIS tích hợp nhiều công cụ giúp cho việc quản lý mạch điện lớn, mạch điện có thể lên đến hàng ngàn linh kiện. • Thiết kế theo cấu trúc (hierachical design) • Khả năng tự động đánh số linh kiện. ARES PCB Layout: ARES (Advanced Routing and Editing Software) là phần mềm vẽ mạch in PCB. Nó vẽ mạch dựa vào file nestlist cùng các công cụ tự động khác. + Đặc điểm chính: . Có cơ sở dữ liệu 32 bit cho phép độ chính xác đến 10nm, độ phân giải góc 0.10 và kích thước board lớn nhất là +/- 10 mét. ARES hỗ trợ mạch in 16 lớp. . Làm việc thông qua các menu ngữ cảnh tiện lợi . File netlist từ phần mềm vẽ mạch nguyên lý ISIS. . Tự động cập nhật ngược chỉ số linh kiện, sự đổi chân, đổi cổng ở mạch in sang mạch nguyên lý. . Công cụ kiểm tra lỗi thiết kế. . Thư viện đầy đủ từ lỗ khoan mạch đến linh kiện dán. Simulation (ProSPICE/VSM) PROTEUS VSM là sự kết hợp giữa chương trình mô phỏng mạch điện theo chuẩn công nghiệp SPICE3F5 và mô hình linh kiện tương tác động (animated model). Nó cho phép người dùng tự tạo linh kiện tương tác động và thực ra có rất nhiều linh kiện loại này được tạo ra mà không cần code lập trình. Do đó, PROTEUS VSM cho phép người dùng thực hiện các “mô phỏng có tương tác” giống như hoạt động của một mạch thật. Phầm mềm orcard: Phầm mềm orcard là phần mèm thiết kế mạch và vè mạch in thông dụng. Tronh đó phần mềm có cung cấp các linh kiện điện tử có bản dể thuận tiện cho thiết kế, ngoài ra người dùng có thể tạo thêm linh kiện như mong muốn hoặc update linh kiện mới. Phần mềm ccs. phần mềm CCS lập trình cho họ vi điều khiển PIC bằng ngôn ngữ C. CCS là một trình biên dịch hỗ trợ ngôn ngữ C cho hầu hết các dòng vi điều khiển PIC. Sử dụng CCS, có thể tạo 1 project , viết source code, xây dựng, debug và lập trình cho PIC một cách nhanh chóng Tổng quan về các mạch phần cứng sử dụng trong đề tài: Mạch diều khiển: Mạch khuếch đại. Mạch mô phỏng proteus. Chương trình viết trên ccs: #include #fuses HS,NOLVP,NOWDT #device *=16 ADC=10 #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) #include #include #bit rc2=0x07.2 //------KHAI BAO BIEN------------- int8 t_dat,t_thuc,t_bandau,pre_error,tttttt; signed int16 OUT,sum_error; signed int16 P,D,I; int8 Kp=10; int8 Ki=3; int8 Kd=100; signed int8 error; int16 analog; void send_to_pc(); //--------------------------NGAT TIMER_0-------------------------------- #INT_TIMER0 VOID NGAT_TIMER0() { CLEAR_INTERRUPT(INT_TIMER0); DISABLE_INTERRUPTS(GLOBAL); analog=READ_ADC(); t_thuc=(signed int8)(analog*0.156439); putc(tttttt); error =(signed int8)(t_dat-t_thuc); //if(error<0) { SETUP_CCP1(ccp_off);rc2=0;} //if(error>0) {SETUP_CCP1(ccp_pwm);SETUP_TIMER_2(T2_DIV_BY_16,255,1);} P = Kp*error; D = Kd*(error-pre_error); pre_error = error; sum_error=sum_error+error; I=Ki*sum_error; OUT=(signed int16)(P); if(OUT<0) OUT=0; if(OUT>255) OUT=255; set_pwm1_duty(OUT); ENABLE_INTERRUPTS(GLOBAL); SET_TIMER0(100); } //----------------------------NGAT RB0-------------------------- #INT_EXT VOID RB0_TANG() { t_dat=t_dat+1; delay_ms(300); } //----------------------------NGAT RB---------------------------------- #INT_RB VOID RB_GIAM() { t_dat=t_dat-1; delay_ms(300); } //---------------------------CHUONG TRINH CHINH----------------------------------- VOID MAIN() { set_tris_a(0xFF); set_tris_b(0x1F); set_tris_c(0x00); set_tris_d(0x00); t_dat=39; tttttt=70; //---------------------------KHOI TAO LCD ---------------------------------- LCD_INIT(); //KHOI TAO LCD LCD_PUTCMD(CLEAR_SCR); //XOA MAN HINH HIEN THI LCD_PUTCMD(LINE_1); //DAT CON TRO TAI DONG 1 LCD_PUTCHAR("KHOI TAO........"); //IN DONG CHU "KHOI TAO....." DELAY_MS(2000); //------------------------------KHOI TAO ADC-------------------------------- SETUP_ADC(ADC_CLOCK_INTERNAL); //CAI DAT THOI GIAN LAY MAU ADC BANG XUNG CLOCK IC SETUP_ADC_PORTS(AN0); //DAT CHAN ANALOG LA AN0 SET_ADC_CHANNEL(0); //CHON CHAN DOC ANALOG DELAY_US(10); //--------------------------CAI DAT NGAT ------------------------------ SETUP_TIMER_0(RTCC_INTERNAL|RTCC_DIV_64); //TIMER0 LAM VIEC CHE DO DINH THOI,TI LE CHIA 32 SET_TIMER0(100); //DAT GIA TRI TIMER0 (10MS LAY MAU 1 LAN) ENABLE_INTERRUPTS(INT_TIMER0); //CHO NGAT TIMER0 ENABLE_INTERRUPTS(INT_EXT); ENABLE_INTERRUPTS(INT_RB); ENABLE_INTERRUPTS(GLOBAL); //CHO PHEP NGAT TOAN CUC //---------------------------PWM------------------------------------- SETUP_CCP1(ccp_pwm); SETUP_TIMER_2(T2_DIV_BY_4,255,1); //-------------------------GIOI THIEU MACH---------------------------------- LCD_PUTCMD(CLEAR_SCR); LCD_PUTCHAR("OK !!!!!!!!....."); DELAY_MS(3000); LCD_PUTCMD(CLEAR_SCR); LCD_PUTCMD(LINE_1); LCD_PUTCHAR("DE TAI:"); DELAY_MS(500); LCD_PUTCMD(LINE_2); LCD_PUTCHAR("DO NHIET DO"); DELAY_MS(1000); LCD_PUTCMD(CLEAR_SCR); LCD_PUTCMD(LINE_1); LCD_PUTCHAR("NHOM 1:"); DELAY_MS(1000); LCD_PUTCMD(CLEAR_SCR); LCD_PUTCMD(LINE_1); LCD_PUTCHAR("THANH - TAN"); DELAY_MS(500); LCD_PUTCMD(LINE_2); LCD_PUTCHAR("NGHIA - TRINH"); DELAY_MS(2000); LCD_PUTCMD(CLEAR_SCR); LCD_PUTCMD(LINE_1); LCD_PUTCMD(CLEAR_SCR); PRINTF(LCD_PUTCHAR,"Nhiet Do dat:%u",t_dat); LCD_PUTCMD(LINE_2); PRINTF(LCD_PUTCHAR,"Nhiet Do thuc:%u",t_thuc); DELAY_MS(500); WHILE(true) { //---------GUI DU LIEU RA PC---------------- //---------GUI DU LIEU RA LCD---------------- LCD_PUTCMD(CLEAR_SCR); PRINTF(LCD_PUTCHAR,"out:%Lx",OUT); lcd_setposition(9); PRINTF(LCD_PUTCHAR,"tdat:%u",t_dat); LCD_PUTCMD(LINE_2); PRINTF(LCD_PUTCHAR,"Nh.Do thuc:%u",t_thuc); DELAY_MS(100); } }

Các file đính kèm theo tài liệu này:

  • docxbao_cao_ket_noi_thiet_bi_ngoai_vi_9129.docx