CHƯƠNG I.4 GIỚI HẠN Đề tài nghiên cứu máy ấp điều khiển nhiệt độ bằng thuật PID vì yêu cầu sai số thấp; điều khiển độ ẩm thì sử dụng phương pháp đóng ngắt do sai số cho phép lớn (khoảng 20%). Đề tài thực nghiệm trên trứng gà .Số lượng trứng ấp là 100 trứng, bao gồm 2 khay, mỗi khay chứa được 50 trứng.5 BỐ CỤC Chương II: Cơ sở lý thyết Chương này trình bày các khái quát về kỹ thuật ấp trứng, thuật toán điều khiển PID. Trình bày cấu trúc cơ bản về vi điều khiển PIC 16F887 và các tính năng của vi điều khiển được sử dụng để điều khiển nhiệt độ máy ấp. Chương III: Thiết kế mô hình Sau khi miêu ta khái quát các khối chức năng trong hệ thống ,sẽ trình bày chi tiết từ giai đoạn thiết kế các khối chức năng và trình bày sơ đồ nguyên lý.
Chương IV: Thiết kế phần mềm Trình bày , khai báo các thư viện, tập tin hỗ trợ. Giới thiệu chương trình xử lý chính. Chương V: Kết quả thực nghiệm Trình bày cách vận hành hệ thống , nêu ra ưu khyết điểm mà hệ thống có được. Chương VI: Kết luận và kiến nghị Đánh giá kết quả mô hình máy ấp đạt được, từ đó đưa ra hướng phát triển.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2 Luan van CHƯƠNG II. CƠ SỞ LÝ THUYẾT CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 HỌ VI ĐIỀU KHIỂN PIC 2.1 Giới thiệu chung Ứng dụng của vi điều khiển đã đi sâu vào đời sống sinh hoạt và sản xuất của con người. Thực tế hiện nay là hầu hết các thiết bị điện hiện nay đều có sự góp mặt của vi điều khiển và vi xử lí. Ứng dụng vi điều khiển trong thiết kế hệ thống làm giảm chi phí thiết kế và hạ giá thành sản phẩm đồng thời nâng cao tính ổn định của thiết bị và hệ thống.
Trên thị trường hiện nay có nhiều nhà sản xuất vi điều khiển để lựa chọn như: AMCC, Atmel, Intel, Microchip, …. Lý do ta chọn họ PIC của Microchip: - Họ vi điều khiển Pic phát triển và sử dụng phổ biến ở nước ta => việc tìm mua và trao đổi kinh nghiệm là hết sức thuận lợi. - Giá thành các dòng Pic là không quá mắc. - Các dòng Pic có đầy đủ tính năng để hoạt động độc lập.
- Có sự hỗ trợ cao của nhà sản xuất vềcác công cụ lập trình, trình biên dịch, mạch nạp Pic từ đơn giản tới phức tạp. Không những vậy các tính năng đa dạng của các đòng Pic không ngừng được phát triển. - Có nhiều bộ phận ngoại vi ngay trên chip, bao gồm: Cổng và/ra số, bộ biến đổi ADC, bộ nhớ EEFROM, bộ định thời, bộ điều chế độ rộng xung (PWM)… - Bộ nhớ chương trình và bộ nhớ dữ liệu được tích hợp ngay trên chip.2 Giới thiệu họ vi điều khiển PIC PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer" (Máy tính khả trình thông minh) là một sản phẩm của hãng General BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3 Luan van CHƯƠNG II.
CƠ SỞ LÝ THUYẾT Instrument đặt cho dòng sản phẩm đầu tiên của họ là PIC1650. Lúc này, PIC1650 được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy, người ta cũng gọi PIC với cái tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi). Họ vi điều khiển PIC của Microchip - PIC 8-bit (xử lý dữ liệu 8-bit, 8-bit data bus) Từ lệnh dài 12-bit (Base-line): PIC10F, PIC12F và một vài PIC16F Từ lệnh dài 14-bit (Mid-Range và Enhance Mid-Range): PIC16Fxxx, PIC16F1xxx Từ lệnh dài 16-bit (High Performance): PIC18F - PIC 16-bit (xử lý dữ liệu 16-bit) PIC điều khiển động cơ: dsPIC30F PIC có DSC: dsPIC33F Phổ thông: PIC24F, PIC24E, PIC24H - PIC 32-bit (xử lý dữ liệu 32-bit): PIC32MX 2.1 Giới thiệu Hình 2 – 1. Hình dạng thực tế của PIC 16F887 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4 Luan van CHƯƠNG II.
CƠ SỞ LÝ THUYẾT Bảng 2 – 1 Tóm tắt cấu trúc 5 loại Pic16F88x Hình 2 - 2. Cấu hình của vi điều khiển PIC16F887 Vi điều khiển PIC 16F887 có các đặc điểm cơ bản: - Cấu trúc : Bộ dao động nội chính xác Có chế độ ngủ tiết kiệm công suất. Điện áp hoạt động rộng từ 2V đến 5,5V. Có mạch Reset khi có điện.
Tầm nhiệt độ làm việc theo chuẩn công nghiệp. Có bộ định thời chờ ổn định điện áp khi mới có điện và có bộ định thời chờ dao động hoạt động ổn định mới cấp điện. Có bộ định thời giám sát dùng dao động trong chip cho phép bằng phần mềm BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5 Luan van CHƯƠNG II. CƠ SỞ LÝ THUYẾT Đa hợp ngõ vào reset với ngõ vào có điện trở kéo lên.
Cho phép đọc/ghi bộ nhớ chương trình khi mạch hoạt động. Có tích hợp mạch gỡ rối. - Kiến trúc RISC : Có 35 lệnh đơn. Thời gian thực hiện tất cả các lệnh là 1 chu kỳ máy, ngoại trừ lệnh rẽ nhánh là 2.
Tốc độ hoạt động: o Ngõ vào xung clock có tần số 20MHz o Chu kỳ lệnh 200ns. Có nhiều nguồn ngắt. Có 3 kiểu định địa chỉ trực tiếp ,gián tiếp và tức thời. - Cấu trúc bộ nhớ : 368 bytes bộ nhớ dữ liệu RAM.
8K Words bộ nhớ chương trình FLASH (trong đó mỗi word của dòng mid-range là 14 bit), cho phép xóa và lập trình 100 000 lần. 256 bytes EEPROM, cho phép xóa và lập trình 1 000 000 lần và có thể tồn tại trên 40 năm. - Cấu trúc ngoại vi: Có 35 chân I/O – 5 Port A,B,C,D,E. Có Module so sánh điện áp tương tự o 2 bộ so sánh điện áp tương tự o Có module nguồn điện áp tham chiếu có thể lập trình o Có nguồn điện áp tham chiếu cố định có giá trị bằng 0,6V.
o Có các ngõ vào và các ngõ ra của bộ so sánh điện áp. o Có chế độ chốt SR Có 14 bộ chuyển đổi tương tự với độ phân giải 10 bit. Timer0: 8 bit hoạt động định thời/ đếm xung ngoại có bộ chia trước có thể lập trình. Timer1: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6 Luan van CHƯƠNG II.
CƠ SỞ LÝ THUYẾT o 16 bit hoạt động định thời/ đếm xung ngoại có bộ chia trước có thể lập trình. o Có ngõ vào cổng của Timer1 để có thể điều khiển timer1 đếm tín hiệu từ bên ngoài o Có bộ dao động công suất thấp tần số 32KHz. Timer2: 8 bit hoạt động định thời với thanh ghi chu kỳ, có bộ chia trước và chia sau. Có module capture, compare và điều chế xung PWM+ nâng cao o Bộ capture 16 bit có thể đếm được số xung với chu kỳ cao nhất là 12,5ns.
o Bộ điều chế xung PWM với số kênh ngõ ra là 1,2 hoặc 4, có thể lập trình với tần số lớn nhất là 20KHz. o Có ngõ ra PWM điều khiển lái. Có module capture, compare và điều chế xung PWM o Bộ capture 16 bit có thể đếm được số xung với chu kỳ cao nhất là 12,5ns. o Bộ so sánh16 bit có thể so sánh xung đếm với chu kỳ lớn nhất là 200ns.
o Bộ điều chế xung PWM có thể lập trình với tần số lớn nhất là 20KHz. Có thể lập trình trên bo ISP thông qua 2 chân. Có các chuẩn giao tiếp: I2C, SPI, USART.2 Cấu trúc Theo tài liệu [2], các khối bên trong vi điều khiển bao gồm: - Khối ghi định cấu hình cho vi điều khiển. - Khối bộ nhớ chương trình có nhiều dung lượng cho 5 loại khác nhau.
- Khối bộ nhớ ngăn xếp 8 cấp (8 level stack). - Khối bộ nhớ Ram cùng với thanh ghi FSR để tính toán đìa chỉ cho 2 cách truy xuất gián tiếp và trực tiếp. - Có thanh ghi lệnh dùng để lưu mã lệnh nhận về từ bộ nhớ chương trình. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7 Luan van CHƯƠNG II.
CƠ SỞ LÝ THUYẾT - Thanh ghi bộ đếm chương trình (PC) dùng để quản lý địa chỉ của bộ nhớ chương trình. - Khối ALU cùng với thanh ghi working hay thanh ghi A để xử lý dữ liệu. - Khối các bộ định thời khi cấp điện PUT, có bộ định thời chờ dao động ổn định, có mạch reset khi có điện, có bộ định thời giám sát watchdog, có mạch reset khi phát hiện sụt giảm nguồn. - Có khối giải mã lệnh và điều khiển (Instruction Decode and Control).
- Khối giải mã dao động nội (Internal Oscillator Block). - Khối dao động kết nối với 2 ngõ vào OSC1 và OSC2 để tạo dao động. - Khối bộ dao động nội cho timer1 có tần số 32kHz kết nối với 2 ngõ vào T1OSI và T1OSO. - Có khối CCP2 và ECCP.
- Có khối mạch gỡ rối (In-Circuit Debugger IDC). - Khối timer0 với ngõ xung đếm từ bên ngoài là T0CKI. - Khối truyền dữ liệu đồng bộ/bất đồng bộ nâng cao. - Khối truyền dữ liệu đồng bộ MSSP cho SPI và I2C.
- Khối bộ nhớ Eeprom 256 byte và thanh ghi quản lý địa chỉ EEADDR và thanh ghi EEDATA. - Khối chuyển đổi tín hiệu tươn tự sang số ADC. - Khối 2 bộ so sánh với nhiều ngõ vào ra và điện áp tham chiếu. - Khối các Port A,B,C,D và E.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8 Luan van CHƯƠNG II. CƠ SỞ LÝ THUYẾT Hình 2 – 3. Cấu trúc bên trong PIC 16F887 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9 Luan van CHƯƠNG II. CƠ SỞ LÝ THUYẾT Hình 2 – 4.
Sơ đồ chân PIC 16F887 Các cổng vào ra của PIC : Port A : có 8 bit (tương ứng với 6 chân RA0 – RA7) các chân của cổng A có tích hợp một số chức năng ngoại vi, nếu một thiết bị ngoại vi được enable thì cổng này sẽ không hoạt động như một cổng vào ra. Bình thường Port A sẽ là một cổng vào ra 2 chiều. Thanh ghi xác định chiều tương ứng của các chân Port A là thanh ghi TrisA bằng 1 sẽ xác định các chân ở Port A là đầu vào và ngược lại sẽ là đầu ra. Port B : rộng 8 bit (tương ứng với chân RB0 – RB7) là một cổng vào/ra 2 chiều.
Thanh ghi quy định chiều của Port B là thanh ghi TrisB. Thiết lập các thanh ghi TrisB bằng 1 sẽ làm cho cổng B là cổng vào và ngược lại sẽ là cổng ra. Port C : rộng 8 bit (tương ứng với chân RC0 – RC7) là một cổng vào/ra 2 chiều. Thanh ghi quy định chiều của Port C là thanh ghi TrisC.