Đồ án tốt nghiệp điều khiển tốc độ động cơ DC

99 1.1K 8
Đồ án tốt nghiệp   điều khiển tốc độ động cơ DC

Đ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

Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC -o0o - ĐỒ ÁN TỐT NGHIỆP Đề tài: ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG DC GVDH: SVTH: Nguyễn Hữu Phước Trần Công Danh Trần Vũ Phi Long Tp.Hồ Chí Minh-Tháng 7-2010 trang2 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Nhận xét giáo viên hướng dẫn -o0o - ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… …………………………… ……………………………………………………………………………… Tp HCM, ngày … tháng … năm 2010 Giáo viên hướng dẫn Nguyễn Hữu Phước trang3 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Nhận xét giáo viên phản biện -o0o - Tp.HCM, ngày … tháng… năm 2010 Giáo viên phản biện trang4 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Lời cảm ơn Trong suốt thời gian học tập trường Cao Đẳng Kỹ Thuật Cao Thắng, chúng em nhận giảng dạy dẫn cách tận tình quí thầy kiến thức học tập sống Chúng em xin chân thành cảm ơn quí thầy khoa Điện Tử_ Tin Học giảng dạy cho chúng em kiến thức chuyên môn tạo điều kiện cho chúng em hoàn thành tốt khóa học, qua giúp chúng em định hướng việc lựa chọn thực đề tài “Điều khiển tốc độ động DC” khả Chúng em xin chân thành cảm ơn Nguyễn Hữu Phước, tận tình theo dõi, giúp đỡ hướng dẫn chúng em suốt thời gian chúng em thực hoàn thành đồ án Nhóm sinh viên thực Trần Công Danh Trần Vũ Phi Long trang5 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Lời nói đầu Ngày nay, khoa học công nghệ đạt trình độ phát triển nhanh mạnh mẽ, với phát triển ngành kỹ thuật nói chung công nghệ điện tử nói riêng Những thành tựu đạt ứng dụng công nghệ kỹ thuật điện tử ngày sử dụng nhiều sống hàng ngày người ngành công nghiệp sản xuất chế biến Đặc biệt lĩnh vực vi xử lý, ứng dụng mang lại hiệu thiết thực cho sống quang báo điện tử, đồng hồ số, điều khiển tốc độ động cơ, hệ thông đếm sản phẩm, nhà thông minh… Nắm tầm quan trọng đó, nhóm chúng em định chọn đề tài “Điều khiển tốc độ động DC” để làm đồ án tốt nghiệp Để qua thể phần mô hình hệ thống điều khiển tự động nhà máy sản xuất ngành công nghiệp khác Bằng kiến thức đạt trình học tập nhà trường tìm hiểu nghiên cứu bên với nỗ lực thân sinh viên nhóm chúng em đánh giá qua đợt bảo vệ đồ án lần So với thời gian học tập trường kết mang lại đề tài không lớn thành trình học tập nhà trường, thành công ban đầu trước tốt nghiệp Nhóm chúng em cố gắng nỗ lực suốt thời gian thực đề tài với lượng kiến thức hạn hẹp thời gian cho phép hạn chế nên đồ án nhiều thiếu xót Nhóm chúng em mong nhận nhiều nhận xét ý kiến đóng góp quý thầy bạn đề tài phương hướng phát triển mở rộng để đề tài hoàn thiện Nhóm chúng em xin chân thành cảm ơn trang6 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước CHƯƠNG DẪN NHẬP 1.1/ Đặt vấn đề: Với thành tựu khoa học kỹ thuật nhu cầu người ngày cao Vì đòi hỏi nhiều ứng dụng khoa học kỹ thuật vào ngành công nghệp nói chung kỹ thuật điện tử nói riêng ứng dụng vào sống Nó giúp cho ngành công nghiệp liên quan phát triển, đồng thời giúp cho sống người ngày nâng cao Một ứng dụng sử dụng rộng rãi công nghiệp hệ thống điều khiển tự động Đồ án nhóm chúng em xin trình bày mạch điều khiển tốc độ động để phần thấy rõ nguyên tắc làm việc hệ thống điều khiển tự động 1.2/ Các yêu cầu cần đạt giới hạn đề tài: Một mạch điều khiển tốc độ động yêu cầu tối thiểu mà đề tài cần đạt đếm led 7-đoạn tốc độ động cơ, cho động chạy thuận nghịch cuối cho động chạy theo số vòng định trước Nhưng khó khăn giới hạn thời gian trình độ cho phép, mạch chúng em dừng lai điều khiển tốc độ động DC Vấn đề cho động chạy theosố vòng định trước sai xót 1.3/ Mục đích nghiên cứu: Trong trình nghiên cứu thực đề tài giúp cho người thực hiện: - Tăng khả tự học, tự nghiên cứu giải vấn đề - Tiếp xúc trực tiếp với thực tế, nâng cao kinh nghiệm nghề nghiệp chuyên ngành - Phải nắm vững vận dụng kiến thức chuyên ngành, tìm hiểu nghiên cứu tài liệu qua sách vở, giáo trình nước mạch điện mô hình thực tế liên quan để thi công phần cứng 1.4/ Đối tượng nghiên cứu, ứng dụng hướng phát triển đề tài: Lập trình vi xử lý cho hoạt động mạch nên đối tượng nghiên cứu vi điều khiển Pic16F877A, IC số cho vấn đề điều khiển thị Đề tài ứng dụng rộng rãi phổ biến nhà máy, khu công nghiệp, ngành công nghiệp sản xuất chế biến Hướng phát triển đề tài xem xét nghiên cứu ứng dụng thực tế để mở rộng phát triển đề tài lên thành hệ thống hoạt động nhà máy trang7 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Chương 2: GIỚI THIỆU MỘT SỐ IC ĐƯỢC SỬ DỤNG TRONG MẠCH 2.1/ Giới thiệu PIC: 2.1.1/Tổng quan họ vi điều khiển: Dòng PIC PIC1650 phát triển Microelectronics Division thuộc General_Instrument PIC bắt nguồn từ chữ viết tắc “Programmable Intelligent Computer” (Máy tính khả trình thông minh) sản phẩm hãng General Instruments đặt cho dong2san3 phẩm họ PIC1650 Lúc này, PIC 1650 Pic ho vi điều khiển RISC san xuất công ty Mirochip Technology dùng để giao tiếp với thiết bị ngoại vi cho máy chủ 15 bit CP1600, vậy, người ta gọi PIC “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi) CP1600 CPU tốt, lại hoạt động xuất nhập, PIC 8_bit phất triển vào khoảng năm 1975 để hộ trợ hoạt động xuất nhập cho CP1600 PIC sử dụng microcode đơn giản đặt ROM, cụm từ RISC chưa sử dủng thời giờ, PIC thật vi điều khiển với kiến trúc RISC, chạy lệnh chu kỳ máy (4 chu kỳ dao động) Năm 1985 General Instruments bán phận vi điện tử họ, chủ sở hữu hũy bỏ hầu hết dự ánlúc lỗi thời Tuy nhiên, PIC bổ xung EPROM để tạo thành điều khiển vào khả trình Ngày nhiều dòng PIC sản xuất với hàng loạt modele ngoại vi tích hợp sẵn (như USART,PWM,ADC….), với nhớ chương trình từ 512 Word đến 32k Word 2.1.1.1/Một số đặc tính Vi điều khiển PIC: Hiện nhiều dòng PIC nhiều khác biệt phần cứng điểm qua vài nét sau:  8/16 bit CPU, xây dựng theo kiến trúc Harward co sữa đổi  Flsah ROM tùy chọn từ 256 byte đến 256 Kbyte  Các cổng xuất/nhập (I/O) mức logic thường từ 0V đến 5.5V, ứng với logic  8/16 bit timer  Các chuẩn giao tiếp nối tiếp đồng bộ, khung đồng USART  Bộ chuyển đổi ADC Analog_to_digital converters, 10/12 bit  Bộ so sánh điện áp  Các module Capture/Cmpare/PWM  LCD  MSSP Peripheral dựng cho giao tiếp IC2,SPI  Bộ nhớ nội EPROM-có thể ghi/xóa lên tới triệu lần trang8 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước  Moudle điều khiển động cơ,d0oc5 encoder  Hỗ trợ giao tiếp USB  Hỗ trợ giao tiếp CAN  Hỗ trợ giao tiếp LIN  Hỗ trợ giao tiếp IRDA  Một số dòng tích hop7675bo65 RF (PIC16f639,và RFPIC)  KEELOQ mã hóa giải mã  DSP tính xử lý tín hiệu số (dsPIC) đặc điểm thực thi tốc độ cao RISC CPU họ vi điều khiển PIC16F87XA  Chỉ gồm 35 lệnh đơn  Tất lệnh chu kỳ ngoại trừ chương trình hai chu kỳ  Tốc độ hoạt động: • DC_20MHz ngõ vào xung clock • DC_200ns chu kỳ lệnh 2.1.1.2/Những đặc tính ngoại vi:  Timer0 : 8_bit định thời/điếm với 8_bit, prescaler  Timer1 : 16_bit định thời/điếm với prescaler, tăng lên suốt chế độ Sleep qua thạch anh/xung clock bên  Timer2 : 8_bit định thời/điếm với 8_bit, prescaler, postscaler  Hai module Capture, Compare,PWM: • Capture độ rộng 16 bit, độ phân giải 12,5ns • Compare độ rộng 16 bit, độ phân giải 200ns • Độ phân giải lớn PWM 10bit  13 ngõ I/O điều khiển trực tiếp  Dòng vào lớn: • 25mA dòng vào cho chân • 20mA dòng cho mõi chan 2.1.1.3/Đặc điểm tương tự: 10 bit, với kênh chuyển đổi tương tự sang số (A/D) Brown_out Reset(BOR) Module sosanh tương tự: • Hai so sánh tương tự • Module điện ap chuẩn VREF lập trình PIC thể lập trình ngõ vào đến từ ngõ vào PIC điện áp bên Những ngõ so sánh sử dụng cho bên 2.1.1.4/Các đặc điểm đặc biệt:  thề ghi/xóa tới 100000 lần với kiểu nhớ chương trình Enhanced Flash  1000000 lần ghi/xóa với kiểu nhớ EPROM  EPROM lưu trữ dư liệu 40 năm  thể lập trình lại điều khiển phần mền,  Mạch lập trình nối tiếp qua hai chân  Nguồn đơn 5V cấp cho mạch lập trình nối tiếp trang9 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước  Watchdog Timer (WDT) với dao dộng RC tích hợp sẵn Chip cho hoạt động đáng tin cậy  thể lập trình màng bảo vệ  Tiết kiệm lượng với chế độ Sleep  thể lựa chọn dao động 2.1.1.5/Công nghệ CMOS:  Năng lượng thấp, tốc độ caoFlash/cong nghệ EPROM  Việc thiết kế hoàn toàn tĩnh  Khỏang điện áp hoạt động từ 2V đến 5,5V  Tiêu tốn lượng thấp 2.1.2 / Giới thiệu PIC16F8XX PIC16F877A:  PIC16F8XX lò nhóm PIC họ PIC16FXX họ vi điều khiển 8_bit, tiêu tốn lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tĩnh điện tuyệt đối Bao gồm nhóm sau: • PIC16F83 • PIC16CR83 • PIC16F84 • PIC16CR84  Tất PIC16/17 điều cấu trúc RICS PIC16CXX đặc tính nỗi bậc, mắc ngăn xếp tack, nhiều nguồn ngắt tích hợp bên lẫn bên cấu trúc Haward với bus liệu bus thực thi chương trình riêng biệt cho phép độ dài lệnh 14_bit bus liệu 8_bit cách biệt Tất lệnh điều chu kỳ lệnh ngoại trừ lệnh rẽ nhánh chương trình hai chu kỳ lệnh Chỉ 35 lệnh lượng lớn ghi cho phép đáp ứng cao ứng dụng  Họ PIC16F8XX nhiều tính đặc biệt làm giảm thiết bị ngoại vi, kinh tế cao, hệ thống nỗi bật đáng tin cậy tiêu thụ lượng thấp Ở dây bốn lựa chon5bo65 dao động chân kết nối dao dộng RC nên giải pháp tiết kiệm cao Chế độ SLEEP tiết kiệm nguồn dánh thức nguồn reset Và nhiều phần khác giới thiệu bên nói phần  PIC 16F877A dòng PIC phổ biến (đủ mạnh tính năng, 40 chân, nhớ đủ cho hầu hết ứng dụng thông thường) Cấu trúc tổng quát PIC16F877A sau:  K Flash ROM  368 Bytes RAM  256 Bytes EEPROM  ports (A, B, C, D, E) vào với tín hiệu điều khiển độc lập  định thời bits (Timer Timer 2)  Một định thời 16 bits (Timer 1) hoạt động chế độ tiết kiệm lượng (SLEEP MODE) với nguồn xung Clock  bô CCP( Capture / Compare/ PWM)  biến đổi AD 10 bits, ngõ vào  so sánh tương tự (Compartor)  định thời giám sát (WatchDog Timer) trang10 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010         GVHD: Nguyễn Hữu Phước Một cổng song song bits với tín hiệu điều khiển Một cổng nối tiếp 15 nguồn ngắt chế độ tiết kiệm lượng Nạp chương trình cổng nối tiếp ICSP(In-Circuit Serial Programming) Được chế tạo công nghệ CMOS 35 tập lệnh độ dài 14 bits Tần số hoạt động tối đa 20MHz 2.1.2.1/các đặc tính ngoại vi bao gồm khối chức :  Timer0: đếm bit với chia tần số bit  Timer1: đếm 16 bit với chia tần số, thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ sleep  Timer2: đếm bit với chia tần số, postcaler  Hai 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 I2C  Chuẩn giao tiếp nối tiếp USART với bit địa  Cổng giao tiếp song song PSP (Parallel Slave Port) với chân điều khiển RD, WR,  CS bên  Các đặc tính Analog:  kênh chuyển đổi ADC 10 bit  Hai so sánh  Bên cạnh vài đặc tính khác vi điều khiển như:  Bộ nhớ flash với khả ghi xóa 100.000 lần  Bộ Timer0: đếm bit với chia tần số bit  Timer1: đếm 16 bit với chia tần số, thực chức đếm dựa vào xung clock ngoại vi vi điều khiển hoạt động chế độ sleep  Timer2: đếm bit với chia tần số, postcaler  Hai 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 I2C  Chuẩn giao tiếp nối tiếp USART với bit địa  Cổng nhớ EEPROM với khả ghi xóa 1.000.000 lần  Dữ liệu nhớ EEPROM lưu trữ 40 năm  Khả tự nạp chương trình với điều khiển phần mềm Nạp chương trình mạch điện ICSP (In Circuit Serial Programming) thông qua chân Watchdog Timer với dao động  Chức bảo mật mã chương trình  Chế độ Sleep  thể hoạt động với nhiều dạng Oscillator khác 2.1.2.2/ Sơ lược vi điều khiển PIC 16F877A: Sơ đồ chân : trang11 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 Symbol GVHD: Nguyễn Hữu Phước Parameter Min Typ Max Unit VCC Nguồn điện 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Nhiệt độ cho phép 54 74 – 55 25 25 125 70 °C IOH Output Current — High 54, 74 – 0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA Hoạt động IC 74LS04: Hoạt động IC số cổng NOT hoạt cổng NOT bình thường nhà sản xuất tích hợp cổng NOT để người sử dụng sử dụng cách dễ dàng Bảng trạng thái hoạt động IC 74LS04: 2.3/ IC cầu H L293D: L293D IC cầu H dùng để điều khiển động nhỏ ( Với điện áp đầu vào 36V dòng điện đỉnh qua 1.2A) Ở IC L293D thiết kế để điều khiển lúc hai động nhỏ.(Nếu muốn điều khiển động lớn dùng L298: Với điện áp đầu vào 46V dòng điện đỉnh qua 4A) Sau hình dáng thực tế L293D: Hình hình dạng L293D trang86 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Hình 2, phần cấu tạo bên L293D L293D 16 chân với chân cấp nguồn Vss(16), Vcc(8), GND (4, 5, 13, 12), chân ngõ vào (2, 7, 10, 15), chan6 ngo4 (3, 6, 11, 14) chân cho phép (1, 9) Hinh2 : sơ đồ chân L293D trang87 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Hoạt động L293D: Điều khiển với chế độ thuận Ở chế độ thuận cấp tín hiệu điều điều khiển chân L293D sau để dòng thuận chạy qua tải thời điểm : + Chân cho phép mức cao + Tín hiệu = (Tức chân Pin 1) + Tín hiệu = (Tức chân Pin 2) Và dạng đường mô tả dạng transistor hình vẽ sau: Hình mô dòng điện điều khiển động chạy thuận L293D Đấy dạng chiều thuận : Dòng điện từ nguồn qua Q1 sau qua tải qua Q2 xuống GND * Điều khiển chế độ nghịch Ở chế độ ta cấp tín hiệu điều khiển vào transitor Và tín hiệu điều khiển phải thỏa mãn điều kiển sau : + Tín hiệu = (Tức khóa transitor Q1) + Tín hiệu = ( Tức mở transitor Q2) + Tín hiệu = (Tức mở transitor Q3) + Tín hiệu = (Tức đóng transitor Q4) Và dạng đường chúng thể hình vẽ sau : trang88 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 Hình GVHD: Nguyễn Hữu Phước mô dòng điện điều khiển động chạy nghịch L293D Nhìn vào mũi tên thấy dạng đường cấp chiều nghịch Dòng điện từ Vcc qua Q3 qua tải qua Q2 xuống GND Hình sơ đồ hoạt động L293D trang89 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Bảng trạng thái hoạt dộng IC L293D ENABLE High High High Low DIRA High low Low/high X DIRB low high Low/high X Function Quay phải Quay trái Đóng nhanh Đóng chậm Ưu nhược điểm cầu H Ưu điểm : Sử dụng cầu H làm cho mạch trở nên đơn giản cần nguồn điện Nhược điểm : Nếu mạch điều khiển bật công tắc nửa cầu mạch động lực bị ngắn mạch nguồn Nếu tượng xảy thời gian ngắn (Quá độ ) Sẽ xuất dòng trùng dẫn qua van công suất làm tăng công suất tiêu tán van Nếu thời gian trùng dẫn đủ dài, dòng trùng dẫn lớn làm cháy van công suất trang90 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước trang91 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Chương 4: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH CCS COMPLITE CCS trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC hãng Microchip Chương trình tích hợp trình biên dich riêng biết cho dòng PIC khác là: ‐ PCB cho dòng PIC 12‐bit opcodes ‐ PCM cho dòng PIC 14‐bit opcodes ‐ PCH cho dòng PIC 16 18‐bit Tất trình biên dich đuợc tích hợp lại vào chương trình bao gồm trình soạn thảo biên dịch CCS, phiên PCWH Compiler Version 3.227 Giống nhiều trình biên dich C khác cho PIC, CCS giúp cho người sử dụng nắm bắt nhanh vi điều khiển PIC sử dụng PIC dự án Các chương trình diều khiển thực nhanh chóng đạt hiệu cao thông qua việc sử dụng ngôn ngữ lạp trình cấp cao – Ngôn ngữ C 4.1/ Khai báo sử dụng biến mảng 4.1.1/ Kiểu liệu Là tập hợp giá trị mà biến, số nhận Kiểu số nguyên char: kiểu ký tự, giá trị từ đến 255 Mỗi biến chiếm byte int8: giá trị từ -128 đến 127 Mỗi biến chiếm byte int16: giá trị từ -32768 đến 32767 Mỗi biến chiếm byte long int: tỉ Mỗi biến chiếm byte Kiểu số thực Float: số thực giá trị lên đến hàng tỉ Lưu ý định dạng: Theo hệ thập phân: viết bình thường, vd: 123, 25 Theo hệ nhị phân: viết 0b đầu, vd: 0b01001010, 0b11111111 Theo hệ thập lục phân: viết 0x đầu, vd: 0x10 (hiểu 16), 0xa0 (hiểu 160) 4.1.2/ Biến Là đối tượng tên cụ thể, kiểu liệu cụ thể, giá trị thay đổi Khai báo biến Kiểu liệu tên biến 1, tên biến 2,…; trang92 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 VD: GVHD: Nguyễn Hữu Phước int8 a,b; a,b hai biến kiểu số nguyên byte, a,b nhận giá trị từ -128 đến 127 float mang[5]={1.2, 2.0, 3.5, 23,20.4}; mảng biến số thực gồm: mang[0] = 1.2 mang[1] = 2.0 mảng[2] = 3.5 mang[3] = 23.0 mang[4] = 20.4 4.1.3/ Giá trị không đổi suốt chương trình, tên riêng thể khai báo mảng hằng, khai báo thường dùng CCS tiết kiệm nhớ thay khai báo mảng biến Khai báo const kiểu liệu tên biến = giá trị hằng; VD: const int16 sodem=100;//kể từ đây, sodem hiểu 100 const char kytu[10]={0,1,2,3,4,5,6,7,8,9}; 4.1.4/ hàm Hàm đoạn chương trình thực thi việc Hàm tên riêng, hàm lưu thành file khai báo để sử dụng thủ tục include Hàm trả giá trị, không trả giá trị, lúc ta dùng từ khóa void ( kiểu không kiểu) Khai báo hàm Kiểu liệu trả tên hàm(kiểu liệu đối số); Định nghĩa hàm Kiểu liệu trả tên hàm(kiểu liệu đối số tên đối số) { thân hàm; return (trị trả cho hàm); } 4.2/ Các cấu trúc 4.2.1/ Cấu trúc if… else Dạng 1: Cú pháp: if (điều kiện) { lệnh; } Nếu thực lệnh, không bỏ qua Dang 2: Cú pháp: if (điều kiện) { lệnh 1; } else { lệnh 2; } trang93 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước Nếu thực lệnh 1, không thực lệnh 4.2.2/ Cấu trúc Switch… Case Cú pháp switch (biểu thức) { case giá trị 1: { lệnh 1; break; } case giá trị 2: { lệnh 2; break; } … default: { lệnh ; break ; } Biểu thức tính giá trị, giá trị 1, giá trị 2,…là giá trị mà biểu thức khả nhận Biểu thức nhận giá trị lệnh tương ứng giá trị thực thi Lưu ý lệnh break; nghĩa thoát khỏi vòng điều khiển (ở cấu trúc switch) Nếu biểu thức không nhận giá trị trùng với giá trị kể lệnh default thực thi 4.2.3/ Cấu trúc for Cú pháp: for(biểu thức khởi tạo; biểu thức điều kiện; biểu thức tác động) { lệnh; } Ban đầu biểu thức khởi tạo thực thi, biểu thức thực thi lần vào đầu vòng lặp Kế tiếp biểu thức điều kiện thực thi, biểu thức ( khác 0) lệnh thực thi, sau thực thi xong lệnh biểu thức tác động thực thi Các giá trị bị tác động mang vào tính toán biểu thức điều kiện, điều kiện tthì lệnh thực thi lần Nếu điều kiện sai lệnh không thực thi mà thoát khỏi vòng lặp for 4.2.4/ Cấu trúc while Cú pháp: while(biểu thức điều kiện) { lệnh; } Đầu tiên biểu thức điều kiện tính, (khác 0) lệnh thực thi, lệnh cần lệnh tác động lên biến gây ảnh hưởng đến kết biểu thức điều kiện Sau thực thi xong kiểm tra lại điều kiện Nếu biểu thức điều kiện lệnh thực thi tiếp tục Cấu trúc dùng nhiều CCS tính ngắn gọn Khi điều kiện gán true ta vòng lặp không điều kiện trang94 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước 4.2.5/ Cấu trúc do… while Cú pháp { lệnh; } while(biểu thức điều kiện); Đầu tiên lệnh thực thi, bất chấp biểu thức điều kiện Sau biểu thức điều kiện tính, khác lệnh tiếp tục thực thi lần Sau lần thực thi lệnh biểu thức điều kiện tính toán lại Tronhg lệnh phải lệnh tác động lên biến nhằm gay ảnh hưởng kết biểu thức điều kiện, tránh vòng lặp vô tận 4.3/ Các hàm 4.3.1/ delay 4.3.1.1/ Delay Cycles (Count) -Cú pháp :delay_cycles(count) -Tham số : count – số 0~255 -Trị trả : không -Chức : Tạo code để thực delay số xung lệnh (instruction clock) định trước Một xung lệnh xung dao động -Yêu cầu :không -Ví dụ : delay_cycles(25); //Với xung clock dao động 20MHz, chương trình delay 5us 4.3.1.2/ Delay_ms (time) -Cú pháp: delay_ms(time) -Tham số: time - 0~255 time biến số, 0~65535 time số -Trị trả về: không -Chức năng: Tạo code để thực delay thời gian định trước Thới gian tính milisecond Hàm thực số lệnh nhằm delay thời gian yêu cầu Hàm không sử dụng timer Nếu sử dụng ngắt (interupt), thời gian thực lệnh ngắt không tính vào thới gian delay -Yêu cầu: #uses delay 4.3.1.3/ Delay_ us (time) -Cú pháp : delay_us(time) -Tham số: time ~255 time biến số, ~65535 time số -Trị trả : không -Chức năng: Tạo code để thực delay thời gian định trước Thới gian tính microsecond Shorter delays will be INLINE code and longer delays and variable delays are calls to a function Hàm thực số lệnh nhằm delay thời gian yêu cầu Hàm không sử dụng timer Nếu sử dụng ngắt (interupt), thời gian thực lệnh ngắt không tính vào thới gian delay -Yêu cầu: #uses delay 4.3.2/ ADC 4.3.2.1/ setup_adc -Cú pháp: setup_adc(mode) -Tham số: mode – mode chuyển đổi Analog Digital bao gồm trang95 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước ADC_OFF : tắt chức sử dụng A/D ADC_CLOCK_INTERNAL : thời gian lấy mẫu clock, clock thời gian clock IC ADC_CLOCK_DIV_2 : thời gian lấy mẫu clock/2 ADC_CLOCK_DIV_8 : thời gian lấy mẫu clock/8 ADC_CLOCK_DIV_32 : thời gian lấy mẫu clock/32 -Trị trả :không -Chức :Định cấu hình cho biến đổi A/D -Yêu cầu :các số phải định nghĩa device file PIC16F876.h 4.3.2.2/ setup_adc_port() -Cú pháp: setup_adc_ports(value) -Tham số: value – số định nghĩa sau NO_ANALOGS : không sử dụng cổng analog ALL_ANALOG : RA0 RA1 RA2 RA3 RA5 RE0 RE1 RE2 Ref=Vdd ANALOG_RA3_REF : RA0 RA1 RA2 RA5 RE0 RE1 RE2 Ref=RA3 A_ANALOG : RA0 RA1 RA2 RA3 RA5 Ref=Vdd A_ANALOG_RA3_REF : RA0 RA1 RA2 RA5 Ref=RA3 RA0_RA1_RA3_ANALOG : RA0 RA1 RA3 Ref=Vdd RA0_RA1_ANALOG_RA3_REF : RA0 RA1 Ref=RA3 ANALOG_RA3_RA2_REF : RA0 RA1 RA5 RE0 RE1 RE2 Ref=RA2,RA3 ANALOG_NOT_RE1_RE2 : RA0 RA1 RA2 RA3 RA5 RE0 Ref=Vdd ANALOG_NOT_RE1_RE2_REF_RA3 : RA0 RA1 RA2 RA5 RE0 Ref=RA3 ANALOG_NOT_RE1_RE2_REF_RA3_RA2 : RA0 RA1 RA5 RE0 Ref=RA2,RA3 A_ANALOG_RA3_RA2_REF : RA0 RA1 RA5 Ref=RA2,RA3 RA0_RA1_ANALOG_RA3_RA2_REF : RA0 RA1 Ref=RA2,RA3 RA0_ANALOG : RA0 RA0_ANALOG_RA3_RA2_REF : RA0 Ref=RA2,RA3 -Trị trả :không -Chức :Xác định cổng dùng để nhận tín hiệu analog -Yêu cầu :các số phải định nghĩa device file PIC16F876.h -Ví dụ : setup_adc_ports(ALL_ANALOG) : dùng tất pins để nhận tín hiệu analog setup_adc_ports(RA0_RA1_RA3_ANALOG) : dùng pin A0, A1 A3 để nhận tín hiệu analog Điện áp nguồn cấp cho IC dùng làm điện áp chuẩn setup_adc_ports(A0_RA1_ANALOGRA3_REF) : dùng pin A0 A1 để nhận tín hiệu analog Điện áp cấp vào pin A3 dùng làm điện áp chuẩn 4.3.2.3/ setup_adc_channel() -Cú pháp: setup_adc_channel(chan) -Tham số : chn : 0~7 – chọn pin để lấy tín hiệu -Analog bao gồm : pin A0 : pin A1 : pin A2 : pin A5 : pin E0 : pin E1 trang96 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước : pin E2 -Trị trả : không -Chức : Xác định pin để đọc giá trị Analog lệnh READ_ADC() -Yêu cầu : không 4.3.2.4/ value = read_adc() -Cú pháp : value = read_adc() -Tham số : không -Trị trả : 10 bit value = ~255 dùng A/D bit (int) value = ~1023 dùng A/D 10 bit (long int) -Chức : Đọc giá trị Digital từ biến đổi A/D Các hàm setup_adc(), setup_adc_ports() set_adc_channel() phải dùng trước dùng hàm read_adc() Đối với PIC16F877, A/D mặc định bit Để sử dụng A/D 10 bit ta phải dùng thêm lệnh #device PIC16F877 *=16 ADC=10 từ đầu chương trình -Yêu cầu : không 4.3.3/ Capture compare pwm (ccp) Các ngõ PWM: C1 C2 Capture Mode Compare Mode PWM1 PWM2 PWM Mode (Pulse Width Modulation) 4.3.3.1/ SET_PWM1_DUTY(value) SET_PWM2_DUTY(value) -Cú pháp : set_pwm1_duty(value) -Tham số : value biến hay số với hay 16 bit -Trị trả : không -Chức : Xác định % thời gian chu kỳ, PWM mức cao -Yêu cầu : không -Ví dụ : set_pwm1_duty(512): đặt 50% mức cao (50% duty) 4.3.3.2/ setup_ccp1 Setup_ccp2 -C php : setup_ccp1(mode) setup_ccp2(mode) -Tham số : mode số sau long CCP_1; #byte CCP_1 = 0x15 #byte CCP_1_LOW = 0x15 #byte CCP_1_HIGH = 0x16 long CCP_2; #byte CCP_2 = 0x1B #byte CCP_2_LOW = 0x1B trang97 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước #byte CCP_2_HIGH = 0x1C Tắt CCP CCP_OFF Đặt CCP chế độ capture CCP_CAPTURE_FE : Nhận cạnh xuống xung CCP_CAPTURE_RE : Nhận cạnh lên xung CCP_CAPTURE_DIV_4 : Nhận xung sau xung vào CCP_CAPTURE_DIV_16 : Nhận xung sau 16 xung vào Đặt CCP chế độ compare CCP_COMPARE_SET_ON_MATCH Output high on compare CP_COMPARE_CLR_ON_MATCH Output low on compare CP_COMPARE_INT : Interrupt on compare CCP_COMPARE_RESET_TIMER : Reset timer on compare Đặt CCP chế độ PWM CCP_PWM Mở PWM CCP_PWM_PLUS_1 CCP_PWM_PLUS_2 CCP_PWM_PLUS_3 -Trị trả : không -Chức : Khởi động CCP Bộ đếm CCP thực thông qua vịec sử dụng CCP_1 CCP_2 CCP hoạt động mode Ở capture mode, CCP copy giá trị đếm timer vào CCP_x cổng vào nhận xung Ở compare mode, CCP thực tác vụ định trước timer CCP_x Ở chế độ PWM, CCP tạo xung vuông -Yêu cầu : số phải định nghĩa device file PIC16F876.h 4.3.3.3/ setup_timer1() -Cú pháp :setup_timer_1(mode) -Tham số :mode - tham số sau T1_DISABLED : tắt timer1 T1_INTERNAL : xung clock timer1 ¼ xung clock nội IC (OSC/4) T1_EXTERNAL : T1_EXTERNAL_SYNC: T1_CLK_OUT : enable xung clock T1_DIV_BY_1 :65536-(samplingtime(s)/(4/20000000)) timemax=13.1ms T1_DIV_BY_2 :65536-(samplingtime(s)/(8/20000000)) timemax=26.2ms T1_DIV_BY_4 :65536-(samplingtime(s)/ (16/20000000))timemax=52.4ms T1_DIV_BY_8 :65536-(samplingtime(s)/(32/20000000)) timemax=104.8ms -Trị trả : không -Chức : Khởi động timer Sau timer ghi hay đọc dùng lệnh set_timer1() hay get_timer1() Timer 16 bit timer Với xung clock 20MHz, timer tăng đơn vị sau 1,6us tràn sau 104,8576ms -Yêu cầu : số phải định nghĩa device file PIC16F876.h 4.3.4/ interrupts 3.3.4.1/ Ext_int_edge trang98 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước -Cú pháp : ext_int_edge(source,edge) -Tham số : source: giá trị mặc định cho PIC16F877 edge: H_TO_L cạnh xuống 5V → 0V L_TO_H cạnh lên 0V → 5V -Trị trả : không -Chức : Qui định thời điểm ngắt tác động: cạnh lên hay xuống -Yêu cầu : số phải định nghĩa device file PIC16F876.h 4.3.4.2/ #INT_xxx -Cú pháp : #INT_AD Kết thúc biến đổi A/D #INT_BUSCOL Xung đột bus #INT_CCP1 Capture or Compare on unit #INT_CCP2 Capture or Compare on unit #INT_EEPROM Kết thúc viết vào EEPROM #INT_EXT Ngắt #INT_LOWVOLT Low voltage detected #INT_PSP Parallel Slave Port data in #INT_RB Port B any change on B4-B7 #INT_RDA RS232 receive data available #INT_RTCC Timer (RTCC) overflow #INT_SSP SPI or I2C activity #INT_TBE RS232 transmit buffer empty #INT_TIMER1 Timer overflow #INT_TIMER2 Timer overflow - Mục đích : Khởi tạo hàm ngắt Hàm ngắt tham số Trình biên dịch tạo code để nhảy đến hàm ngắt lệnh ngắt thực Trình biên dịch tạo nên code để lưu trữ trạng thái CPU xóa cờ ngắt Dùng lệnh NOCLEAR sau #INT_xxx để không xóa cờ ngắt Trong chương trình , phải dùng lệnh ENABLE_INTERRUPTS(INT_xxxx) với lệnh ENABLE_INTERRUPTS (GLOBAL) để khởi tạo ngắt 4.1.3.5 value = get_timer1() -Cú pháp : value = get_timer1() -Tham số : không -Trị trả : 16 bit int 0~65535 -Chức : Trả giá trị biến đếm real time clock/counter Khi giá trị timer vượt 65535, value đặt trở lại đếm tiếp tục (…, 65534, 65535, 0, 1, 2, …) -Yêu cầu : không 4.1.3.6 set_timer1() -Cú pháp : set_timer1() -Tham số : 16 bit, value = 0~65535 -Trị trả : không -Chức : Đặt giá trị ban đầu cho real time clock/counter Tất biến đếm tăng Khi giá trị timer vượt 65535, value đặt trở lại đếm tiếp tục (…, 65534, 65535, 0, 1, 2, …) -Yêu cầu : không 4.1.3.7 enabel_interrupts -Cú pháp : enable_interrupts(level) -Tham số : level - số sau trang99 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long Đồ án tốt nghiệp khóa 2007-2010 GVHD: Nguyễn Hữu Phước GLOBAL INT_RTCC INT_RB INT_EXT INT_AD INT_TBE INT_RDA INT_TIMER1 INT_TIMER2 INT_CCP1 INT_CCP2 INT_SSP INT_PSP INT_BUSCOL INT_LOWVOLT INT_EEPROM -Trị trả : không -Chức : Khởi tạo ngắt mức quy định level Một thủ tục ngắt (interrupt procedure) cần định nghĩa Mức toàn cục (GLOBAL level) không khởi tạo ngắt định mà khởi tạo biến ngắt đươc khởi tạo trước -Yêu cầu : phải dùng với #int_xxx trang100 Khoa ĐT-TH SVTH: Trần Công Danh – Trần Vũ Phi Long ... 7-đoạn tốc độ động cơ, cho động chạy thuận nghịch cuối cho động chạy theo số vòng định trước Nhưng khó khăn giới hạn thời gian trình độ cho phép, mạch chúng em dừng lai điều khiển tốc độ động DC. .. nhóm chúng em định chọn đề tài Điều khiển tốc độ động DC để làm đồ án tốt nghiệp Để qua thể phần mô hình hệ thống điều khiển tự động nhà máy sản xuất ngành công nghiệp khác Bằng kiến thức đạt... trình bày mạch điều khiển tốc độ động để phần thấy rõ nguyên tắc làm việc hệ thống điều khiển tự động 1.2/ Các yêu cầu cần đạt giới hạn đề tài: Một mạch điều khiển tốc độ động yêu cầu tối thiểu

Ngày đăng: 07/09/2017, 10:55

Từ khóa liên quan

Mục lục

  • Nhận xét:

  • Mạch giải mã 3 đường sang 8 đường bao gồm 3 ngõ vào tạo nên 8 tổ hợp trạng thái, ứng với mỗi tổ hợp trạng thái được áp vào sẽ có 1 ngõ ra được tác động.

  • Ứng dụng mạch giải mã rút gọn hàm logic:

    • -Yêu cầu :không

    • Capture Mode

    • Compare Mode

    • PWM Mode (Pulse Width Modulation)

    • -C php : setup_ccp1(mode)

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

Tài liệu liên quan