ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

38 1.7K 19
ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ) ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

ĐỒ ÁN ĐO TỐC ĐỘ ĐỘNG DÙNG VI ĐIỀU KHIỂN MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT PIC Peripheral Interface Controller PWM Pulse Width Modulation EEPROM Electrically Eraseble Programmable Read Only Memory PWM Pulse Width Modulation PCB Printed Circuit Board LCD Liquid Crystal Display RAM Random Access Memory ROM Read Only Memory EEPROM Electrically Erasable Programmable Read Only Memory PDIP Plastic Dual Inline Package MOSFET Metal-Oxide Semiconductor Field-Effect Transistor GND Ground DC Direct Current AC AC PSP Parallel Slave Port SSP Synchronous Serial Port ĐỒ ÁN Trang 6/33 CHƯƠNG GIỚI THIỆU CHUNG VỀ ĐO TỐC ĐỘ ĐỘNG DÙNG VI ĐIỀU KHIỂN PIC 16F877A - 1.1 Giới thiệu Trong ngành công nghiêp, công tác điều khiển, vận hành, đo đạc thiết bị theo quy trình nhằm nâng cao hiệu sản xuất, nâng cao chất lượng sản phẩm đồng thời tiết kiệm chi phí sản xuất giữ vị trí quan trọng Trong công nghiệp động chiều sử dụng phổ biến như: truyền động cho số máy máy nghiền, máy nâng, vận chuyển, điều khiển băng tải, điều khiển robot…, điều quan trọng phải tốc độ xác động phù hợp với nhiệm vụ - Để đo tốc độ động chiều nhiều phương pháp, đồ án chúng em xin trình bày đo tốc độ động dùng họ vi điều khiển PIC16F877A phương pháp đếm xung PWM - 1.1.1 Nhiệm vụ đề tài Thiết kế mạch đo tốc độ động dùng vi điều khiển PIC 16F877A Tìm hiểu sơ đồ nguyên lý, chức nhiệm vụ linh kiện liên quan mạch Giải thích nguyên lý hoạt động mô hoạt động mạch Thiết kế PCB phần cứng mạch - 1.1.1 Hướng giải đề tài Thiết kế mạch nguyên lý đo tốc độ động Tìm hiểu linh kiện mạch Giải thích nguyên lý hoạt động - Tiến hành mô mạch phần mềm Protues Vẽ mạch in PCB thi công phần cứng - 1.1.2 Hướng nghiên cứu Tìm hiểu vi điều khiển PIC 16F877A, tìm hiểu phương pháp lập trình CCS cho PIC, phương pháp điều khiển xử lý liệu LCD16x02 - Xây dựng chương trình điều khiển cho vi xử lý để đo tốc độ động thông qua encoder Giao tiếp cảm biến đo tốc độ encoder PIC ĐỒ ÁN Trang 7/33 - Mô mạch Protues, vẽ PCB tiến hành thi công mạch - 1.2 Nguyên lý chung Khi cho động chạy, encoder tiến hành nhận xung truyền liệu cho PIC Vi điều khiển PIC tiến hành xử lý liệu, liệu xử lý xong xuất hình LCD ĐỒ ÁN Trang 8/33 CHƯƠNG GIỚI THIỆU LINH KIỆN CỦA ĐỀ TÀI 1.3 Vi xử lý PIC 16F877A  Đây vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh độ dài 14 bit Mỗi lệnh thực thi chu kì xung clock Tốc độ hoạt động tối đa cho phép 20 MHz với chu kì lệnh 200ns Bộ nhớ chương trình 8Kx14 bit, nhớ liệu 368 byte RAM nhớ liệu EEPROM với dung lượng 256 byte Số PORT I/O với 33 pin I/O Hình 2.1: Vi điều khiển PIC 16F877A[1]  1.1.3 Đặc điểm kỹ thuật vi điều khiển PIC 16F877A Các đặc tính vi điều khiển PIC 16f877a - Timer0: đếm 8bit - Timer1: đếm 16bit với chia tần số - Timner2: đếm 8bit ĐỒ ÁN Trang 9/33 - Capture/Compare/PWM - biến đổi Analog -> Digital 10bit, ngõ vào - so sánh tương tự Compartor - định giám sát Watchdog Timer - 15 nguồn ngắt Interrupts - Cổng giao tiếp song song PSP với chân điều khiển RD, WR, CS bên - Các chuẩn giao tiếp nối tiếp SSP,SPI I2C - Chuẩn giao tiếp nối tiếp USART với bit địa - Nạp chương trình mạch điện ICSP (In Circuit Serial Programming) Tần số hoạt động Reset Delay Bộ nhớ chương trình Flash (14bit word) Bộ nhớ liệu (byte) Bộ nhớ liệu EEPROM (byte) Các ngắt Các Port xuất/nhập Timer Module Capture/Compare/PWM Giao tiếp nối tiếp Giao tiếp song song Module A/D 10-bit Bộ so sánh tương tự Tập lệnh Số chân DC-20MHz POR, BOR (PWRT, OST) 8K 368 256 15 Port A, B, C, D, E MSSP, USART PSP kênh ngõ vào 35 lệnh 40 chân PDIP ĐỒ ÁN Trang 10/33 44 chân PLCC 44 chân TQFP 44 chân QFN Bảng 2.1: Tóm tắt đặc điểm PIC16F877A[1] 1.1.2 Sơ đồ chân ,cấu trúc chức PIC 16F877A loại 40 chân PDIP Hình 2.2: Sơ đồ chân HC-06[1] - Sơ đồ khối Pic16F877A ĐỒ ÁN Trang 24/33 Hình 2.15: Thạch anh 20MHz[3] CHƯƠNG THIẾT KẾ THI CÔNG MẠCH 1.6 Sơ đồ khối ĐỒ ÁN Trang 25/33 Hình 3.1: Sơ đồ khối 1.7 Khối nguồn Hình 3.2: Khối nguồn - Khối nguồn nhiệm vụ cung cấp điện áp 5V cho toàn mạch hoạt động - Nguồn 12VDC đưa vào IC ổn áp 7805 cho điện áp ngõ 5VDC Các tụ C2, C1 dùng để lọc tin hiệu, C3 dùng để ổn định điện áp chiều ĐỒ ÁN Trang 26/33 thêm phẳng không gây nhiễu mạch Trong mạch, ta sử dụng nguồn điện áp 5V để sử dụng cung cấp cho PIC16F877A LCD 1.8 Khối hiển thị Hình 3.3: Khối hiển thị LCD 1.9 Khối thay đổi tốc độ động ĐỒ ÁN Trang 27/33 Hình 3.4: Khối thay đổi tốc độ động - Khối IRF640N dùng để Pam xung cho động chạy - Khối volum dùng để điều chỉnh tốc độ động 1.10 Khối vi xử lý 16F877A ĐỒ ÁN Trang 28/33 Hình 3.5: Khối vi xử lý 16F877A - Nguồn cấp cho khối điều khiển PIC 5V - Thành phần khối điều khiển PIC 16F77A đóng vai trò khối xử lý trung tâm, điều khiển tất hoạt động khối khác - Nhận tín hiệu từ khối cảm biến encoder - Điều khiển đọc liệu từ encoder cấp tín hiệu giải mã cho LCD khối hiển thị 1.11 Sơ đồ thuật toán xử lý ĐỒ ÁN Trang 29/33 Hình 3.6: Sơ đồ thuật toán xử lý - 1.12 Nguyên lý hoạt động Khi bật nguồn, mạch khởi động Động dừng, encoder không nhận xung chuyển liệu PIC PIC nhận tín hiệu xử lý chuyển tín hiệu giải mã sang LCD hiển thị “Toc la: 000” ĐỒ ÁN Trang 30/33 - Khi ta xoay biến trở, động bắt đầu chạy, encoder nhận xung chuyển liệu PIC PIC nhận liệu xử lý chuyển tín hiệu giải mã cho LCD hiển thị “Toc la: xxx” 1.13 Kết mô Hình 3.7: Kết mô 1.14 Sơ đồ mạch in ĐỒ ÁN Trang 31/33 Hình 3.8: Sơ đồ mạch in PCB Hình 3.9: Sơ đồ mach in PCB PDF 1.15 Thi công mạch ĐỒ ÁN Trang 32/33 Hình 3.10: Mạch thực tế ĐỒ ÁN Trang 33/33 Hình 3.11: Mặt sau mạch ĐỒ ÁN Trang 34/33 CHƯƠNG KẾT LUẬN - 1.5 Kết luận Qua thời gian nghiên cứu, tìm hiểu, thi công, đồ án hoàn thành Đồ án hoàn thành thời gian quy định đạt kết sau: • Mạch điện sau hoàn thành hoạt động tốt • Tốc độ đo tương đối xác • Đã tìm hiểu Pic 16F877A, biết cách xây dựng mạch in thi công mạch - 1.6 Hướng phát triển Do thời gian thực đề tài hạn lượng kiến thức cá nhân định - nên mạch nhiều hạn chế Ngoài việc đo tốc độ động cơ, ta điều khiển thay đổi tốc tộc - động thay đổi chiều quay thể đo thêm nhiều động Mở rộng đo thêm nhiệt độ động ĐỒ ÁN Trang 35/33 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] http://www.picvietnam.com [2] http://hshop.vn/ [3] http://google.com.vn Tiếng Anh: [4] http://alltransistors.com [5] http://www.alldatasheet.com [6] http://www.microchip.com ĐỒ ÁN Trang 36/33 PHỤ LỤC CODE CHƯƠNG TRÌNH #include #include #use delay(clock=20000000) #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9) #include #bit TMR1IF = 0x0C.0 //Khai bao file giao tiep LCD int16 CCP1Value,count1,count2=0; //Gia tri CCP hien tai int16 CCP1OldValue; //Gia tri CCP truoc BOOLEAN CCP1Captured; float Freq; int32 temp; int8 ngan,tram,chuc,donvi; int8 value,count; //Khai bao don vi void hien_thi(); void Convert_CCP1(); // -#int_CCP1 //Ngat nhan xung CCP1_isr() { if(TMR1IF) { CCP1Value = CCP_1 +(65535-CCP1OldValue); CCP1OldValue = CCP_1; TMR1IF=0; } else { CCP1Value = CCP_1 - CCP1OldValue; CCP1OldValue = CCP_1; } CCP1Captured = TRUE; } // #INT_TIMER0 //Ngat timer de pam xung dong co o chan ccp2 VOID NGAT_TIMER0() { SET_TIMER0(240); count++; count1++; ĐỒ ÁN Trang 37/33 count2++; if(count>100) { value=read_adc(); value=value/2; set_pwm2_duty(value); count=0; } if(count1>800) { Convert_CCP1(); count1=0; } } // void Init_ccp(void) { setup_ccp2(CCP_PWM); //Dung ccp2 de bam xung dieu khien dong co setup_ccp1(CCP_CAPTURE_RE);//Ccp1 la chan dung de nhan tin hieu tu encoder setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);//Khoi tao che hoat dong timer1 setup_timer_0(T1_INTERNAL);//Khoi tao che hoat dong cua timer0 setup_timer_2(T2_DIV_BY_1, 127, 1);//Khoi tao che hoat dong cua timer0 SET_TIMER0(240); CCP1Value = 0; //Gia tri hien tai CCP1OldValue = 0; //Gia tri cu CCP1Captured = TRUE; enable_interrupts(INT_CCP1); //Ngat nhan tin hieu ccp1 //enable_interrupts(INT_TIMER1); enable_interrupts(INT_TIMER0); //Bat che ngoai cua encoder enable_interrupts(GLOBAL); //Ngat toan cuc setup_adc_ports(sAN0); //Su dung ngo vao adc cua chan an0 setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); //Chon kenh adc cho chan(an0) delay_us(20); } // -void Convert_CCP1() //Chuyen doi xung tu ccp1 cua pic { Freq = (1.0/((float)CCP1Value*2e-7)); //For Time_Div_1 { temp = freq/8; //Doc adc if(temp2000){ hien_thi(); count2=0;temp = 0;} } } ... đo tốc độ động chiều có nhiều phương pháp, đồ án chúng em xin trình bày đo tốc độ động dùng họ vi điều khiển PIC1 6F877A phương pháp đếm xung PWM - 1.1.1 Nhiệm vụ đề tài Thiết kế mạch đo tốc độ. .. 1.1.1 Hướng giải đề tài Thiết kế mạch nguyên lý đo tốc độ động Tìm hiểu linh kiện mạch Giải thích nguyên lý hoạt động - Tiến hành mô mạch phần mềm Protues Vẽ mạch in PCB thi công phần cứng - 1.1.2... đo tốc độ động dùng vi điều khiển PIC 16F877A Tìm hiểu sơ đồ nguyên lý, chức nhiệm vụ linh kiện liên quan mạch Giải thích nguyên lý hoạt động mô hoạt động mạch Thiết kế PCB phần cứng mạch - 1.1.1

Ngày đăng: 19/09/2017, 21:02

Hình ảnh liên quan

Hình 2.1: Vi điều khiển PIC16F877A[1] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.1.

Vi điều khiển PIC16F877A[1] Xem tại trang 8 của tài liệu.
Bảng 2.1: Tóm tắt đặc điểm của PIC16F877A[1] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Bảng 2.1.

Tóm tắt đặc điểm của PIC16F877A[1] Xem tại trang 10 của tài liệu.
Hình 2.3: Sơ đồ khối vi điều khiển PIC16F877A[1] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.3.

Sơ đồ khối vi điều khiển PIC16F877A[1] Xem tại trang 11 của tài liệu.
Hình 2.4: Ngăn xếp và bản đồ bộ nhớ chương trình [1] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.4.

Ngăn xếp và bản đồ bộ nhớ chương trình [1] Xem tại trang 12 của tài liệu.
Hình 2.5: Sơ đồ bộ nhớ dữ liệu PIC16F877A[1] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.5.

Sơ đồ bộ nhớ dữ liệu PIC16F877A[1] Xem tại trang 13 của tài liệu.
Bảng 2.2: Thông số kỹ thuật Module Encoder 20xung[2] 1.3Màn hình LCD 16x2 - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Bảng 2.2.

Thông số kỹ thuật Module Encoder 20xung[2] 1.3Màn hình LCD 16x2 Xem tại trang 17 của tài liệu.
Hình 2.6: Module Encoder 20xung[2] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.6.

Module Encoder 20xung[2] Xem tại trang 17 của tài liệu.
Hình 2.7: Màn hình LCD16x2 [2] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.7.

Màn hình LCD16x2 [2] Xem tại trang 18 của tài liệu.
Hình 2.8: IC ổn áp KA7805 [3] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.8.

IC ổn áp KA7805 [3] Xem tại trang 19 của tài liệu.
Hình 2.9: Hình dạng và sơ đồ chân của KA7805 [5] 1.4Mosfet IRF640 - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.9.

Hình dạng và sơ đồ chân của KA7805 [5] 1.4Mosfet IRF640 Xem tại trang 20 của tài liệu.
Hình 2.10: Hình dạng và sơ đồ chân của IRF640[5] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.10.

Hình dạng và sơ đồ chân của IRF640[5] Xem tại trang 21 của tài liệu.
Hình 2.11: Điện trở[3] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.11.

Điện trở[3] Xem tại trang 22 của tài liệu.
Hình 2.13: Tụ điện [3] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.13.

Tụ điện [3] Xem tại trang 23 của tài liệu.
Hình 2.15: Thạch anh 20MHz[3] - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 2.15.

Thạch anh 20MHz[3] Xem tại trang 24 của tài liệu.
Hình 3.2: Khối nguồn - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.2.

Khối nguồn Xem tại trang 25 của tài liệu.
Hình 3.1: Sơ đồ khối 1.7Khối nguồn - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.1.

Sơ đồ khối 1.7Khối nguồn Xem tại trang 25 của tài liệu.
Hình 3.3: Khối hiển thị LCD 1.9 Khối thay đổi tốc độ động cơ - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.3.

Khối hiển thị LCD 1.9 Khối thay đổi tốc độ động cơ Xem tại trang 26 của tài liệu.
Hình 3.4: Khối thay đổi tốc độ động cơ - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.4.

Khối thay đổi tốc độ động cơ Xem tại trang 27 của tài liệu.
1.10 Khối vi xử lý 16F877A - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

1.10.

Khối vi xử lý 16F877A Xem tại trang 27 của tài liệu.
Hình 3.6: Sơ đồ thuật toán xử lý 1.12Nguyên lý hoạt động - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.6.

Sơ đồ thuật toán xử lý 1.12Nguyên lý hoạt động Xem tại trang 29 của tài liệu.
Hình 3.7: Kết quả mô phỏng 1.14Sơ đồ mạch in - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.7.

Kết quả mô phỏng 1.14Sơ đồ mạch in Xem tại trang 30 của tài liệu.
Hình 3.8: Sơ đồ mạch in PCB - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.8.

Sơ đồ mạch in PCB Xem tại trang 31 của tài liệu.
Hình 3.10: Mạch thực tế - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.10.

Mạch thực tế Xem tại trang 32 của tài liệu.
Hình 3.11: Mặt sau của mạch - ĐO tốc độ ĐỘNG cơ DÙNG PIC (code và mạch in đầy đủ)

Hình 3.11.

Mặt sau của mạch Xem tại trang 33 của tài liệu.

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC BẢNG BIỂU

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ ĐO TỐC ĐỘ ĐỘNG CƠ DÙNG VI ĐIỀU KHIỂN PIC 16F877A

    • 1.1 Giới thiệu

      • 1.1.1 Nhiệm vụ của đề tài

      • 1.1.1 Hướng giải quyết đề tài

      • 1.1.2 Hướng nghiên cứu

      • 1.2 Nguyên lý chung

      • CHƯƠNG 1. GIỚI THIỆU LINH KIỆN CỦA ĐỀ TÀI

        • 1.3 Vi xử lý PIC 16F877A

          • 1.1.3 Đặc điểm kỹ thuật vi điều khiển PIC 16F877A

          • 1.1.2 Sơ đồ chân ,cấu trúc và chức năng PIC 16F877A loại 40 chân PDIP

          • 1.1.3 Tổ chức bộ nhớ

            • 1.1.1.1 Tổ chức của bộ nhớ chương trình

            • 1.1.1.2 Tổ chức của bộ nhớ dữ liệu

            • 1.1.1.3 Bộ nhớ dữ liệu EEPROM và bộ nhớ chương trình FLASH:

            • 1.1.1.4 Quá trình đọc bộ nhớ dữ liệu EEPROM

            • 1.1.1.5 Quá trình ghi vào bộ nhớ dữ liệu EEPROM

            • 1.1.1.6 Quá trình đọc bộ nhớ chương trình FLASH

            • 1.1.1.7 Quá trình ghi dữ liệu vào bộ nhớ chương trình FLASH

            • 1.2 Module Encoder 20 xung

              • 1.2.1 Thông số kỹ thuật

              • 1.3 Màn hình LCD 16x2

              • 1.4 IC Ổn áp KA7805

              • 1.4 Mosfet IRF640

Tài liệu cùng người dùng

Tài liệu liên quan