NGHIÊN CỨU ỨNG DỤNG VI ĐIỀU KHIỂN PIC16F877A VÀO TRONG DÂY CHUYỀN TỰ ĐỘNG HOÁ. Từ các thông tin trên các diễn đàn Internet và các trung tâm học tập thực hành, cho thấy nhu cầu học tập và nghiên cứu cũng như tự tìm hiểu về nhiều lĩnh vực trong ngành điện tử nói chung, tự động hoá nói riêng là rất cao.
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG NGUYỄN VĂN PHƢƠNG NGHIÊN CỨU ỨNG DỤNG VI ĐIỀU KHIỂN PIC16F877A VÀO TRONG DÂY CHUYỀN TỰ ĐỘNG HOÁ Chuyên nghành : Kỹ thuật viễn thông Mã số : 60.52.02.08 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - NĂM 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS.NGUYỄN NGỌC MINH (Ghi rõ học hàm, học vị) Phản biện 1: …………………………………………………………………… Phản biện 2: …………………………………………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS.NGUYỄN NGỌC MINH (Ghi rõ học hàm, học vị) Phản biện 1: …………………………………………………………………… Phản biện 2: …………………………………………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông -1- LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Quá trình làm luận văn tôi đã đọc, tìm hiểu, tham khảo nhiều báo cáo luận văn của các khóa trước và internet, tuy nhiên tôi không sao chép hoàn toàn, nguyên mẫu bất cứ một tài liệu, một luận văn nào. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Học viên Nguyễn Văn Phƣơng -2- MỞ ĐẦU 1. Lý do chọn đề tài. Từ các thông tin trên các diễn đàn Internet và các trung tâm học tập thực hành, cho thấy nhu cầu học tập và nghiên cứu cũng như tự tìm hiểu về nhiều lĩnh vực trong ngành điện tử nói chung, tự động hoá nói riêng là rất cao. Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được quan tâm rất nhiều hiện nay đó là vi điều khiển PIC. Việc tìm hiểu và ứng dụng hết khả năng của nhiều loại PIC là cả một quá trình dài lý thú và hữu ích, vì sự thuận tiện, tinh gọn, khả năng phát triển cũng như sự đa dạng các dịng sản phẩm phù hợp nhiều quy mơ ứng dụng của nó. Chính điều này em đã chọn đề tài “NGHIÊN CỨU ỨNG DỤNG CỦA PIC 16F877A VÀO TRONG DÂY CHUYỀN TỰ ĐỘNG HÓA”. Nhằm giới thiệu cho mọi người cách sử dụng và các ứng dụng, sự thuận tiện của PIC trong thực tế. 2. Mục đích nghiên cứu - Tìm hiểu chung về cấu trúc và thuật toán vi điều khiển PIC16F877A - Ứng dụng vi điều khiển PIC16F877A trên thực tế 3. Đối tƣợng và phạm vi nghiên cứu Đối tượng nghiên cứu: PIC16F877A. 4. Phƣơng pháp nghiên cứu - Khảo sát các nghiên cứu, tài liệu liên quan để thu thập thông tin về cơ sở lý thuyết từ nhiều nguồn (tài liệu, sách giáo trình, Internet… ) - Tổng hợp các kết quả nghiên cứu các bài ví dụ, mô phỏng để thu nhập dữ liệu. -3- Chương 1 - TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN PIC 1.1 Tổng quan về PIC PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ. PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển CP1600. Vi điềukhiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay. Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR, …. Tuy nhiên tôi chon PIC vì . - Có đầy đủ các tính năng như các họ vi điều khiển khác . - Rất dễ mua ở Việt Nam - Giá thành rẻ . -4- 1.2 Sơ đồ chân vi điều khiển PIC16F877A Hình 1.2 Sơ đồ chân vi điều khiển PIC16F877A -5- 1.2.1 Một vài thông số về vi điều khiển PIC16F877A Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O. Các đặc tính ngoại vi bao gồm các khối chức năng sau: Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit. Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep. Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler. Hai bộ Capture/so sánh/điều chế độ rông xung. Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C. Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ. Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên ngoài. Các đặc tính Analog 8 kênh chuyển đổi ADC 10 bit. Hai bộ so sánh. Bên cạnh đó là một vài đặc tính khác của vi điều khiển như: Bộ nhớ flash với khả năng ghi xóa được 100.000 lần. Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần. Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm. Khả năng tự nạp chương trình với sự điều khiển của phần mềm. Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2 chân. Watchdog Timer với bộ dao động trong. Chức năng bảo mật mã chương trình. Chế độ Sleep. Có thể hoạt động với nhiều dạng Oscillator khác nhau. -6- 1.2.2 Các cổng xuất nhập của PIC16F877A PORTA PORTA gồm có 6 chân. Các chân của PortA ta lập trình để có thể thực hiện được chức năng “hai chiều” xuất dữ liệu từ vi điều khiển ra ngoại vi và nhập dữ liệu từ ngoại vi vào vi điều khiển. Ngoài ra, PORTA còn có các chức năng quan trọng sau : - Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sang Digital. - Ngõ vào điện thế so sánh. - Ngõ vào xung Clock của Timer0 trong kiến trúc phần cứng: thực hiện các nhiệm vụ đếm xung thông qua Timer0… - Ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port) PORTB PORTB có 8 chân. Cũng như PORTA, các chân PORTB cũng thực hiện được 2 chức năng input và output. Hai chức năng trên được điều khiển bới thanh ghi TRISB. Khi muốn chân nào của PORTB là input thì ta set bit tương ứng trong thanh ghi TRISB, ngược lại muốn chân nào là output thì ta clear bit tương ứng trong TRISB. Thanh ghi TRISB còn được tích hợp bộ điện trở kéo lên có thể điều khiển được bằng chương trình. PORTC PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên. Ngoài ra PORTC còn có các chức năng quan trọng sau : - Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng - Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng trong điều khiển tốc độ và vị trí của động cơ vv…. - Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART PORTD -7- PORTD có 8 chân. Thanh ghi TRISD điều khiển 2 chức năng input và output của PORTD tương tự như trên. PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếp song song PSP (Parallel Slave Port). PORTE PORTE có 3 chân. Thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của PORTE có ngõ vào analog. Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP. 1.2.3 Timer 1 Sơ đồ khối của Timer1: Hình 2.4. Sơ đồ khối của Timer1. 1.2.4 Timer 2 Timer 2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler va postscaler. Thanh ghi chứa giá trị đếm của Timer 2 là TMR2. Bit cho phép ngắt Timer 2 tác động là TMR2ON (T2CON<2>). -8- Hình 2.5. Sơ đồ khối Timer2. Timer2 còn được hỗ trợ bởi thanh ghi PR2. Giá trị đếm trong thanh ghi TMR2 sẽ tăng từ 00h đến giá trị chứa trong thanh ghi PR2, sau đó được reset về 00h. Khi reset thanh ghi PR2 được nhận giá trị mặc định FFh. 1.2.5 ADC ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự và số.PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0). Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩn được xác lập trên hai chân RA2 và RA3. 1.2.5.1 Thiết lập các thông số cho bộ chuyển đổi ADC Chọn ngõ vào analog, chọn điện áp mẫu (dựa trên các thông số của thanh ghi ADCON1). Chọn kênh chuyển đổi AD (thanh ghi ADCON0). Chọn xung clock cho kênh chuyển đổi AD (thanh ghi ADCON0). Cho phép bộ chuyển đổi AD hoạt động (thanh ghi ADCON0). 1.2.5.2 Thiết lập các cờ ngắt cho bộ AD Clear bit ADIF. [...]... trong vi c giao tiếp -11- Hình 1.3.3 Truyền nhận dữ liệu giữa chủ/tớ Chƣơng 2 - VI ĐIỀU KHIỂN TRONG DÂY CHUYỀN TỰ ĐỘNG HÓA 2.1 Giới Thiệu dây chuyền Dây chuyền tự động hóa được giới thiệu trong bài là dây chuyền sản xuất loa điện thoại, trước khi đi vào giới thiệu về dây chuyền tôi xin giới thiệu qua về sản phẩm mà dây chuyền làm ra 2.1.1 Giới thiệu về loa Loa được cấu tạo từ 5 linh kiện cơ bản là... thì tốc độ quay của động cơ đều khác nhau, chính vì vậy họ cần sử dụng vi điều khiển Pic để điều khiển các lại động cơ này -24- Với vi điều khiển PIC 16F877A chúng ta có thể sử dụng 2 chân PCC1 và PCC2 phát xung PWM để điều khiển tốc độ động cơ Cụ thể phần lập trình, bố trí mạch và mô phỏng được thực hiện trong chương 3 2.3.3 Công nghệ xử lý ảnh Một công nghệ khá hiện đại được sử dụng để thay thế hoàn... sử dụng ngắt ngoài int để điều khiển cho led sáng nhiều chế độ.khi nhấn button thì led sẽ sáng theo nhiều chế độ khác nhau Hình 3.3 Led nháy nhiều chế độ Ví dụ 5: điều khiển tốc độ và đảo chiều động cơ sử dụng PWM Nhấn nút Star/stop lần 1 thì động cơ quay, lần 2 thì động cơ dừng lại Hình 3.3.2 Điều chế PWM điều khiển động cơ -34- Ví dụ 6 Giao tiếp rs232, Pc chuyền 1 kí tự xuống PIC Pic hiển thị kí tự. .. 2.2.1.5 Công đoạn cắt màng đai -23- 2.3 Vai trò của Pic trong dây chuyền tự động hóa 2.3.1 Chuyển đổi các tín hiệu điện - Trong dây chuyền tự động hóa có rất nhiều loại sensor khác nhau, có loại đầu ra 12 (Vol), có loại đầu ra là 0 (vol ) có loại đầu ra là 5 (Vol ), thậm chí đầu ra sensor là 1 chuỗi xung dạng 0101001011 …… Tuy nhiên thì đầu vào bộ điều khiển chính PLC thì chỉ có 1 dạng điện áp là 0 ( vol)... các tín hiệu Sensor đưa về sau đó mới đưa về vi mạch chính để sử lý dữ liệu Ví dụ: Chuyển đổi tín hiệu sensor đầu ra là 5V thành 0 Vol Hình 2.3.1 Sơ đồ chuyển đổi tín hiệu điện 2.3.2 Điều khiển tốc độ động cơ Bất cứ dây chuyền nào cũng cần phải có động cơ để tạo momen quay, họ có thể sử dụng động cơ bước, động cơ secvo, hay động cơ điện 1 chiều … Sử dụng trong hệ thống băng tải, máy nghiền, máy gắn... phần mềm vi t code cho PIC đó là CCSC và các ví dụ, các tính năng của PIC trong dây chuyền sẽ được mô phỏng đầy đủ qua chương trình Proteus 3.2 Giới thiệu phần mềm vi t code cho Pic 3.2.1 Giới thiệu CCS - CCS là trình biên dịch dùng ngôn ngữ C lập trình cho vi điều khiển Đây là ngôn ngữ lập trình đầy sức mạnh, giúp bạn nhanh chóng trong vi c vi t chương trình hơn so với ngôn ngữ Assembly 3.2.2 Sử dụng. .. dữ liệu trong 1 ca làm vi c tất cả được PIC ghi lại và truyền về hệ thống PC để lưu dữ liệu hàng ngày, hàng tuần … Tất cả các ứng dụng đều được mô phỏng ở chương 3 -25- Chƣơng 3 – GIỚI THIỆU PHẦN MỀM VI T CODE VÀ CÁC VÍ DỤ MÔ PHỎNG 3.1 Giới thiệu Như ở chương 2 chúng ta đã thấy được chức năng cụ thể của từng máy trên dây chuyền tự động hóa, vai trò của PIC trong các chức năng chính của dây chuyền, ... độ cứng, không bị méo khi dao động. Ngoài ra nó còn ngăn cách giữa hai lớp không khí bên trong và bên ngoài của loa 2.1.2 Nguyên lý hoạt động của Loa Qui tắc bàn tay trái Cuộn dây tiếng I(Dòng điện) Hướng lực tác động H(Từ trường F(Lực) ) Mạch từ tính H(Từ trường) Hƣớng dòng điện I(Dòng điện) Hình 2.1.2 Mô phỏng nguyên lý hoạt động của loa Loa động hoạt động dựa trên nguyên tắc một cuộn dây đặt trong. .. là tất cả hàm cần dùng chứa trong file x sẽ được biên dịch vào file hex chung Các ví dụ trong thư mục của CCS nếu có sử dụng LCD sẽ chèn 1 dòng #include < lcd.c> và do đó sẽ gọi được các hàm trong file này mà không cần phải vi t lại điều này có nghĩa là ta có -30- thể vi t các file c chứa mã tổng quát có thể dùng chung cho nhiều project, tức là tái sử dụng mã, thay vì phải vi t lại chuyên biệt cho từng... đưa vào -17- 2.2 Sơ đồ dây chuyền tự động hóa Máy quấn Voil Coil Máy quấn Voil Coil Máy quấn Voil Coil Máy quấn Voil Coil Máy ghép Top Plate + Magnet Máy ghép (Top Plate + Magnet) + Frame Máy ghép (Top Plate + Magnet + Frame) +VoilCoil Máy Hàn Máy Phủ Thiếc Máy hàn laze Máy tạo màng đai Máy kiểm tra màng đai Máy cắt màng đai Thành phẩm OK Hình 2.2 Sơ đồ dây chuyền tự động hóa -18- Hình 2.2.1 Sơ đồ dây