Đo tốc độ động cơ và hiển thị LCD

16 1.7K 16
Đo tốc độ động cơ và hiển thị LCD

Đ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

MỤC LỤC PHẦN 1:GIỚI THIỆU CÁC LINH KIỆN ĐIỆN TỬ TRONG MẠCH ĐIỆN 3 1.1 Giới thiệu về các linh kiện sử dụng trong mạch 4 1.1.1 LCD 16x2 4 1.1.2 Encoder 8 PHẦN 2: MÔ PHỎNG NGUYÊN LÝ VÀ MẠCH IN 11 2.1 Mạch nguyên lý 11 2.2 Mạch mô phỏng và mạch in 11 2.3 Nguyên lý hoạt động và phần mềm hỗ trợ 12 PHẦN 3: LƯU ĐỒ THUẬT TOÁN VÀ CODE NẠP CHO VI ĐIỀU KHIỂN 12 3.1 Lưu đồ 12 3.2 Chương trình 14 KẾT LUẬN 16

MỤC LỤC MỤC LỤC PHẦN 1:GIỚI THIỆU CÁC LINH KIỆN ĐIỆN TỬ TRONG MẠCH ĐIỆN Giới thiệu vi điều khiển PIC 16F877A .3 1.1Giới thiệu linh kiện sử dụng mạch .4 1.1.1 LCD 16x2 a/ Hình dạng kích thức Chú ý : b/ Tập lệnh 1.1.2 Encoder .8 PHẦN 2: MÔ PHỎNG NGUYÊN LÝ VÀ MẠCH IN .11 2.1 Mạch nguyên lý 11 2.2 Mạch mô mạch in 11 2.3 Nguyên lý hoạt động phần mềm hỗ trợ .12 PHẦN 3: LƯU ĐỒ THUẬT TOÁN VÀ CODE NẠP CHO VI ĐIỀU KHIỂN 12 3.1 Lưu đồ 12 3.2 Chương trình .14 KẾT LUẬN 16 MỞ ĐẦU Hiện đất nước ta thời kì đổi mới, thời kì công nghiệp hoá đại họá với phát triển công nghệ thông tin, ngành kỹ thuật điện tự động hóa phát triển lên tầm cao Điều khiển tự động ngành quan trọng trình công nghiệp hóa, đại hóa đặc biệt góp phần vào việc giải phóng sức lao động người xác người Điều khiển tự động có mặt từ trước công nguyên đồng hồ có phao điều chỉnh Ktesibios Hi Lạp Rồi sau có thêm số máy móc điều khiển tự động (như: hệ điều chỉnh nhiệt độ Cornelis drebble, hệ điều chỉnh tốc độ ứng dụng công nghiệp….) Trong chiến tranh giới thứ người hỏi điều khiển tự động để ứng dụng vào mục đích quân (như: máy bay tự động lái, điều khiển vũ khí, điều khiển đa ) Những năm 50 phương pháp toán học bắt đầu đời đưa nhanh vào ứng dụng thực tế Ở Mỹ người ta nghiên cứu dựa miền tần số Liên Xô lại dựa miền thời gian Ngày để đáp ứng nhu cầu người, giảm tải lao động tay chân, hệ thống “Đo tốc độ động hiển thị LCD” đời giúp cho việc đo tốc độ động công nghiệp trở nên dễ dàng thuận tiện nhiều, giảm thiểu sai sót vận hành hệ thống với động điện PHẦN 1:GIỚI THIỆU CÁC LINH KIỆN ĐIỆN TỬ TRONG MẠCH ĐIỆN Giới thiệu vi điều khiển PIC 16F877A Pic16f877a có độ dài lệnh 14 bit sơ đồ chân gồm 40 pin - Pic 16f877a có tập lệnh gồm 35 lệnh, lệnh thực chu kỳ xung clock Tốc độ hoạt động tối đa cho phép 20mhz với chu kỳ lệnh 200ms , nhớ chương trình 8K*14bit Số port I/O với 33 pin I/O Các đặc tính ngoaji vi bao gồm khối chức sau: +/ timer0: đếm bit với chia tần số bit +/timer1: đếm 16 bit với chia tần số ,có thể thực chức đếm dựa vào xung clock ngoại vi vi điều 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 UART với bit địa +/ Các đặc tính Analog: kênh chuyển đổi ADC 10 bit, so sánh +/ Bên cạnh vài đặc tính khác vi điều khiển: nhớ flash nạp xóa 100.000 nghìn lần, nhớ eproom ghi xóa 1.000.000 lần +/ Nạp chương trình mạch điện ICSP 1.1 Giới thiệu linh kiện sử dụng mạch 1.1.1 LCD 16x2 Màn hình tinh thể lỏng (Liquid Crystal Display, LCD) loại thiết bị hiển thị cấu tạo tế bào (các điểm ảnh) chứa tinh thể lỏng có khả thay đổi tính phân cực ánh sáng thay đổi cường độ ánh sáng truyền qua kết hợp với kính lọc phân cực Chúng có ưu điểm phẳng, cho hình ảnh sáng, chân thật tiết kiệm điện Ngày nay, thiết bị hiển thị LCD sử dụng nhiều ứng dụng VĐK LCD có nhiều ưu điểm so với dạng hiển thị khác: Nó có khả hiển thị kí tự đa dạng, trực quan (chữ, số kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn tài nguyên hệ thống giá thành rẻ a/ Hình dạng kích thức Có nhiều loại LCD với nhiều hình dáng kích thước khác nhau, hình loại LCD thông dụng Khi sản xuất LCD, nhà sản xuất tích hợp chíp điều khiển bên lớp vỏ đưa chân giao tiếp cần thiết Các chân đánh số thứ tự đặt tên hình : Chân Kí hiệu Ý nghĩa VSS Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển Vdd Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển VEE RS Điều chỉnh độ tương phản LCD Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” write) nối với đếm địa LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD 5 RW E Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E Ở chế độ ghi: Dữ liệu bus LCD chuyển vào(chấp nhận) ghi bên phát xung (high-tolow transition) tín hiệu chân E Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (low-to- high transition) chân E LCD giữ bus đến chân E xuống mức thấp 7-14 D0 – D7 Tám đường bus liệu dùng để trao đổi thông tin với MPU Có chế độ sử dụng đường bus : + Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 + Chế độ bit : Dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7 Chú ý : Ở chế độ “đọc”, nghĩa MPU đọc thông tin từ LCD thông qua chân Dx Còn chế độ “ghi”, nghĩa MPU xuất thông tin điều khiển cho LCD thông qua chân Dx Chân 15 chân 16: ghi A K Nó anot katot led dùng để sáng LCD bóng tối, k nối , sử dụng nối chân 15 với trở 220 or 330 ôm lên VCC, chân 16 nối đất Tập lệnh LCD Một số ý : Trước tìm hiểu tập lệnh LCD, sau vài ý giao tiếp với LCD : +Tuy sơ đồ khối LCD có nhiều khối khác nhau, lập trình điều khiển LCD ta tác động trực tiếp vào ghi DR IR thông qua chân DBx, ta phải thiết lập chân RS, R/W phù hợp để chuyển qua lại giữ ghi (xem bảng trên) +Với lệnh, LCD cần khoảng thời gian để hoàn tất, thời gian lâu tốc độ MPU, nên ta cần kiểm tra cờ BF đợi (delay) cho LCD thực thi xong lệnh hành lệnh +Địa RAM (AC) tự động tăng (giảm) đơn vị, có lệnh ghi vào RAM (Điều giúp chương trình gọn hơn) Các lệnh LCD chia thành nhóm sau : +Các lệnh kiểu hiển thị VD : Kiểu hiển thị (1 hàng / hàng), chiều dài liệu (8 bit / bit), … +Chỉ định địa RAM nội +Nhóm lệnh truyền liệu RAM nội b/ Tập lệnh Tập lệnh LCD tương đối đơn giản Nhưng lập trình cho mạch có LCD ta cần gọi hàm có sẵn trình biên dịch mà không cần phải đánh lệnh phức tạp 1.1.2 Encoder Encoder mục đích dùng để quản lý vị trí góc đĩa quay, đĩa quay bánh xe, trục động cơ, thiết bị quay cần xác định vị trí góc Encoder chia làm loại, absolute encoder incremental encoder Tạm gọi encoder tuyệt đối encoder tương đối Với encoder tuyệt đối với tín hiệu ta nhận được, rõ ràng vị trí encoder, không cần xử lý thêm, biết xác vị trí encoder Còn incremental encoder, loại encoder có 1, 2, tối đa vòng lỗ Ta hình dung này, bạn đục lỗ đĩa quay, lần đĩa quay vòng, ta nhận tín hiệu, biết đĩa quay vòng Nếu có nhiều lỗ hơn, ta có thông tin chi tiết hơn, có nghĩa đĩa quay 1/4 vòng, 1/8 vòng, 1/n vòng, tùy theo số lỗ nằm incremental encoder Cứ lần qua lỗ, phải lập trình để thiết bị đo đếm lên Do vậy, encoder loại có tên incremental encoder (encoder tăng lên đơn vị) Nguyên lý encoder, đĩa tròn xoay, quay quanh trục Trên đĩa có lỗ (rãnh) Người ta dùng đèn led để chiếu lên mặt đĩa Khi đĩa quay, chỗ lỗ (rãnh), đèn led không chiếu xuyên qua được, chỗ có lỗ (rãnh), đèn led chiếu xuyên qua Khi đó, phía mặt bên đĩa, người ta đặt mắt thu Với tín hiệu có, ánh sáng chiếu qua, người ta ghi nhận đèn led có chiếu qua lỗ hay không Khi trục quay, giả sử đĩa có lỗ nhất, lần mắt thu nhận tín hiệu đèn led, có nghĩa đĩa quay vòng nguyên lý hoạt động encoder Với việc sử dụng encoder để đo xung tính toán tốc độ động cơ, ta phải có công thức để tính toán tốc độ động V= 60.n N T Với :-V vận tốc động (vòng/phút) -n số xung xuất kênh 1s -N số xung đĩa động encoder -T thời gian lấy mẫu 10 PHẦN 2: MÔ PHỎNG NGUYÊN LÝ VÀ MẠCH IN 2.1 Mạch nguyên lý 2.2 Mạch mô mạch in 11 2.3 Nguyên lý hoạt động phần mềm hỗ trợ +Mạch sử dụng vi điều khiển PIC 16F877A để đếm xung xuất từ chân encoder phương pháp ngắt đếm số lần ngắt đo chân B0 Sau vi điều khiển tính toán theo công thức cho sẵn hiển thị LCD tốc độ vòng/phút động +Phần mềm thiết kế mạch in: Altium 16 +Phần mềm mô phỏng: Proteus 8.0 +Phần mềm lập trình:MikroC PHẦN 3: LƯU ĐỒ THUẬT TOÁN VÀ CODE NẠP CHO VI ĐIỀU KHIỂN 3.1 Lưu đồ 12 13 3.2 Chương trình sbit LCD_RS at RD2_bit; sbit LCD_EN at RD3_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit; sbit LCD_RS_Direction at TRISD2_bit; sbit LCD_EN_Direction at TRISD3_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit; long int dem1=0, dem2=0, xung=0, a=0, i=0, S1=0; char ht[16]; float tocdo; void interrupt(void) // GOI NGAT NGOAI { // Kiem tra xem co phai ngat ngoai hay ko if(INTCON.INTF == 1) { dem1++; //xung dem INTCON.INTF = 0; // Xoa co bao ngat ngoai } } void main() { 14 TRISC.F7=0x00; // Chan C7 output PORTC.F7=0xFF; // set gia tri cua chan C7=1 LCD_init(); LCD_Cmd(_LCD_CURSOR_OFF);// tat tro LCd_out(1,2," Cuong TDHB 58"); LCD_out(2,4,"1321060039"); delay_ms(2000); LCD_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Toc do"); LCD_out(1,7, " DC Motor"); LCD_out(2,8,"vong/phut") ; TRISB.B3 = 0xFF; // Chan B0 Input TRISD = 0x00; // PORTD Output // Cai dat ngat ngoai OPTION_REG.INTEDG = 1; INTCON.INTE = 1; INTCON.GIE = 1; // Ngat canh len // Cho phep ngat ngoai // Cho phep ngat toan cuc while(1) { for(i=0;i[...]... PHỎNG NGUYÊN LÝ VÀ MẠCH IN 2.1 Mạch nguyên lý 2.2 Mạch mô phỏng và mạch in 11 2.3 Nguyên lý hoạt động và phần mềm hỗ trợ +Mạch sử dụng vi điều khiển PIC 16F877A để đếm các xung xuất ra từ chân của encoder bằng phương pháp ngắt ngoài và đếm số lần ngắt ngoài đo được trên chân B0 Sau đó vi điều khiển sẽ tính toán theo công thức đã cho sẵn và sẽ hiển thị ra LCD tốc độ vòng/phút của động cơ +Phần mềm thiết... TOÁN VÀ CODE NẠP CHO VI ĐIỀU KHIỂN 3.1 Lưu đồ 12 13 3.2 Chương trình sbit LCD_ RS at RD2_bit; sbit LCD_ EN at RD3_bit; sbit LCD_ D4 at RD4_bit; sbit LCD_ D5 at RD5_bit; sbit LCD_ D6 at RD6_bit; sbit LCD_ D7 at RD7_bit; sbit LCD_ RS_Direction at TRISD2_bit; sbit LCD_ EN_Direction at TRISD3_bit; sbit LCD_ D4_Direction at TRISD4_bit; sbit LCD_ D5_Direction at TRISD5_bit; sbit LCD_ D6_Direction at TRISD6_bit; sbit LCD_ D7_Direction... ngoai } } void main() { 14 TRISC.F7=0x00; // Chan C7 output PORTC.F7=0xFF; // set gia tri cua chan C7=1 LCD_ init(); LCD_ Cmd( _LCD_ CURSOR_OFF);// tat con tro LCd_ out(1,2," Cuong TDHB 58"); LCD_ out(2,4,"1321060039"); delay_ms(2000); LCD_ Cmd( _LCD_ CLEAR); Lcd_ Out(1,1,"Toc do"); LCD_ out(1,7, " DC Motor"); LCD_ out(2,8,"vong/phut") ; TRISB.B3 = 0xFF; // Chan B0 Input TRISD = 0x00; // PORTD Output // Cai dat... dem2= dem1; // } 15 S1=S1/12;// tinh gia tri trung binh wordToStr(S1,ht); // doi tu gia tri word sang string LCD_ out(2,2,ht); } /*TINH TOAN TOC DO DONG CO tocdo=(xung*60)/(so xungdia*thoigianmau) so xungdia =20 ,thoigianmau =100ms tocdo=xung*30 */ } KẾT LUẬN Qua quá trình hướng dẫn của Th.s Đào Hiếu và quá trình tìm hiểu qua internet,mạch thực của sinh viên Đặng Ngọc Cường đã hoàn thành Em xin cảm ơn thầy

Ngày đăng: 11/05/2016, 15:09

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • PHẦN 1:GIỚI THIỆU CÁC LINH KIỆN ĐIỆN TỬ TRONG MẠCH ĐIỆN

    • Giới thiệu về vi điều khiển PIC 16F877A

    • 1.1 Giới thiệu về các linh kiện sử dụng trong mạch

    • 1.1.1 LCD 16x2

      • a/ Hình dạng và kích thức

      • Chú ý :

        • b/ Tập lệnh

        • 1.1.2 Encoder

        • PHẦN 2: MÔ PHỎNG NGUYÊN LÝ VÀ MẠCH IN

        • 2.1 Mạch nguyên lý

        • 2.2 Mạch mô phỏng và mạch in

        • 2.3 Nguyên lý hoạt động và phần mềm hỗ trợ

        • PHẦN 3: LƯU ĐỒ THUẬT TOÁN VÀ CODE NẠP CHO VI ĐIỀU KHIỂN

        • 3.1 Lưu đồ

        • 3.2 Chương trình

        • KẾT LUẬN

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

Tài liệu liên quan