Chế tạo modul giao tiếp một chiều với máy tính qua cổng com, hiển thị lcd

70 3 0
Chế tạo modul  giao tiếp một chiều với máy tính qua cổng com, 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

Động cơ một chiều được sử dụng từ lâu trong các hệ truyền động có điều khiển tốc độ yêu cầu dải điều chỉnh lớn, độ ổn định tốc độ cao và các hệ thường xuyên hoạt động ở chế độ khởi động, hãm và đảo chiều. Nhờ có đặc tính điều chỉnh tốc độ tốt nên được sử dụng rất phổ biến trong công nghiệp. Một số ứng dụng quan trọng của động cơ 1 chiều như truyền động cho xe điện, máy công cụ, máy nâng vận chuyển, máy cán, máy nghiền....

Thiết kế chế tạo modul giao tiếp chiều với máy tính qua cổng COM, hiển thị LCD Nội dung: 1, Điều khiển tốc độ đảo chiều 2,Hiển Thị LCD 3, Sử dụng VĐK 89S52 4, Sử dụng encoder 3pha (ABC) 5, Thiết kế sử dụng Visual Basic Thời gian thực hiện: Từ ngày: .Đến ngày Page LỜI NÓI ĐẦU Trong thập niên gần cơng nghiệp hố đại hố ngày phát triển mạnh mẽ Kỹ thuật điện tử có bước phát triển mạnh đặc biệt kỹ thuật điều khiển tự động, kỹ thuật vi điều khiển Ở nước ta nay, việc lập trình ghép nối máy tính sử dụng vi điều khiển công cụ ứng dụng rộng rãi lĩnh vực tự động hố Nó phát triển nhanh chóng, mang lại thay đổi to lớn công nghệ đời sống hàng ngày Việc tạo công nghệ truyền thông không dây tiết kiệm nhiều mặt kinh tế tốn dây dẫn, việc lắp đặt trở nên gọn nhẹ hơn, dễ dàng hơn… Động chiều sử dụng từ lâu hệ truyền động có điều khiển tốc độ yêu cầu dải điều chỉnh lớn, độ ổn định tốc độ cao hệ thường xuyên hoạt động chế độ khởi động, hãm đảo chiều Nhờ có đặc tính điều chỉnh tốc độ tốt nên sử dụng phổ biến công nghiệp Một số ứng dụng quan trọng động chiều truyền động cho xe điện, máy công cụ, máy nâng vận chuyển, máy cán, máy nghiền Từ vấn đề Thầy/Cơ đưa cho nhóm đồ án chúng em đề tài “Thiết kế chế tạo modul giao tiếp chiều với máy tính qua cổng COM, hiển thị LCD” Sau thời gian tìm hiểu nghiên cứu, với lời đóng góp ý kiến chân thành từ Thầy/Cơ giáo bạn sinh viên, đặc biệt hướng dẫn nhiệt tình thầy Đào Văn Đã nhóm đồ án chúng em định chọn thực đề tài: “Thiết kế chế tạo modul giao tiếp động chiêu với máy tính qua cổng COM, hiển thị LCD “ Tuy nhiên, để có sản phẩm có tính ổn định cao, đảm bảo chất lượng tương đối khó khăn Vì thời gian để hồn thành đồ án có hạn, tầm hiểu biết nhóm thực cịn hạn chế… nên đề tài khó tránh khỏi thiếu sót, khuyết điểm khơng mong muốn Nhóm đồ án chúng em mong có ý kiến đóng góp quý báu, chân thành quý thầy cô bạn sinh viên để đề tài hoàn thiện Page LỜI CẢM ƠN Nhóm thực đề tài xin chân thành bày tỏ lịng biết ơn đến Thầy, Cơ Trường Đại Học Sư Phạm Kỹ Thuật Hưng yên đặc biệt Thầy, Cô Khoa Điện - Điện Tử truyền lại kiến thức kinh nghiệm quý báu cho nhóm em thực đề tài thời gian qua Nhóm thực đề tài xin chân thành cảm ơn Thầy Đào Văn Đã giảng viên Trường ĐHSP Kỹ Thuật Hưng tận tâm hướng dẫn, cung cấp tài liệu tạo điều kiện thuận lợi để nhóm thực đề tài hồn thành đề tài Nhóm thực đề tài xin chân thành cảm ơn người bạn, giúp đỡ động viên suốt trình học tập thực đề tài Page MỤC LỤC LỜI NÓI ĐẦU LỜI CẢM ƠN CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀ I 1.1 Lý chọn đề tài • 1.1.1 Cơ sở khoa học • 1.1.2 Cơ sở thực tiễn 1.2 Mục tiêu nghiên cứu 1.3 Mục đích nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Phương tiện nghiên cứu 1.6 Ý nghĩa đề tài 10 CHƯƠNG II: CƠ SỞ LÝ THUYẾT 11 2.1 Truyền thông nối tiếp với 89S52 11 • 2.1.1 Các sở truyền thông nối tiếp 11 • 2.1.2 Ghép nối 89S52 tới RS232 19 • 2.1.3 Lập trình truyền thơng nối tiếp cho 89S52 21 2.2 Vi điều khiển 89S52 24 2.3 Động chiều 36 2.3.1 Khái niệm .36 2.3.2 Nguyên tác hoạt động 36 2.3.3 Điều khiển tốc độ 36 2.4 Phương pháp điều chế độ rộng xung 38 2.5 Khối thị LCD .39 CHƯƠNG III: THI CÔNG PHẦN CỨNG VÀ THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN TRÊ N MÁ Y TÍNH 41 3.1 Sơ đồ khối hệ thống 41 3.2 Thi công phần cứng 42Error! Bookmark not defined • 3.2.1 nguồn 43Error! Bookmark not defined • 3.2.2 Khối xử tâm .44Error! defined • 3.2.3 Khối điều khiển động cơ……………………………………………… 44 Khối lý trung Bookmark not Page • 3.2.4 Khối hiển thị LCD 46Error! Bookmark not defined 3.3 Thiết kế giao diện điều khiển máy tính 46 • 3.3.1 Các yêu cầu giao diện 46 • 3.3.2 Giới thiệu Visual Basic……………………………………… …… 46 • 3.3.3 Chương trình Visual Basic 48 3.4 Lưu đồ thuật toán 57 • 3.4.1 Lưu đồ thuật tốn máy tính với vi điều khiển 57 • 3.4.2 Lưu đồ thuật tốn vi điều khiển với máy tính…………………… 58 3.5 Chương trình vi điều khiển 60 KẾT LUẬN VÀ KIẾN NGHỊ 71 Kết đạt 71 Hướng phát triển đề tài 72 Page CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀ I 1.1 Lý chọn đề tài 1.1.1 Cơ sở khoa học Với phát triển mạnh mẽ khoa học công nghệ ngày nay, đem lại nhiều ứng dụng thành to lớn phục vụ nhu cầu đời sống thiết thực người Đặc biệt hai lĩnh vực Máy tính điện tử trở nên quen thuộc phục vụ phần lớn cho mặt đời sống người Sự kết hợp hai lĩnh vực mang lại nhiều ứng dụng thiết thực cho kinh tế đời sống người 1.1.2 Cơ sở thực tiễn Động chiều sử dụng từ lâu hệ truyền động có điều khiển tốc độ yêu cầu dải điều chỉnh lớn, độ ổn định tốc độ cao hệ thường xuyên hoạt động chế độ khởi động, hãm đảo chiều Nhờ có đặc tính điều chỉnh tốc độ tốt nên sử dụng phổ biến công nghiệp Một số ứng dụng quan trọng động chiều truyền động cho xe điện, máy công cụ, máy nâng vận chuyển, máy cán, máy nghiền Sẽ đơn giản tiện dụng ta điều khiển giám sát thiết bị điện cơng ty hay xí nghiệp Từ ý tưởng với nhu cầu từ thực tiễn, nhóm đồ án chúng em định chọn đề tài: “Thiết kế chế tạo modul giao tiếp động chiêu với máy tính qua cổng COM, hiển thị LCD “ Nội dung đề tài sau : - Điều khiển động dựa vào giao diện viết máy tính sử dụng phần mềm Visual Basic 6.0 để thiết kế giao diện Page - Tín hiệu điều khiển người sử dụng tác động từ máy tính chuyển đổi thành tín hiệu số nhị phân thông qua mạch giao tiếp với máy tính - Mạch điều khiển nhận lệnh từ máy tính điều khiển tốc độ đảo chiều động - Hiển thị tốc độ số vòng/phút LCD 1.2 Mục tiêu nghiên cứu - Thiết kế, chế tạo mô hình điều khiển giám sát động chiều giao tiếp máy tính qua cổng COM - Giao tiếp modul VĐK với máy tính thơng qua chuẩn RS232 - Tính tốc độ số vịng/phút hiển thị LCD - Hồn thành sản phẩm với độ xác cao, ứng dụng thực tế 1.3 Mục đích nghiên cứu Dựa vào kiến thức học vể điện tử cơng suất, kỹ thuật giao tiếp máy tính, kết hợp với kiến thức Kỹ thuật điện tử để nghiên cứu giải pháp điều khiển giám sát thiết bị điện thông qua mạch điện tử Nhằm ôn lại kiến thức học nâng cao trình độ chuyên môn để phục vụ cho công việc sau trường Xây dựng phát triển hệ thống điều khiển, hệ thống giám sát thu thập liệu qua đường truyền khơng dây lên máy tính 1.4 Phương pháp nghiên cứu Tham khảo tài liệu hướng dẫn lập trrình visual basic, kỹ thuật đa xử lý vi điều khiển, giao tiếp máy tính với thiết bị qua cổng COM Tìm hiểu hoạt động IC sử dụng đề tài qua datasheet nhà sản xuất cung cấp Bằng cách vận dụng kiến thức đạt trình học tập, tham khảo tài liệu Nhóm thực tiến hành tìm hiểu, thiết kế, thi cơng, thử nghiệm mơ hình nhiều tình điều kiện khác Quá trình thực nghiệm giúp nhóm thực tự hồn thiện bổ sung dần kiến thức Đặc biệt tìm hướng nghiên cứu thích hợp để hồn chỉnh tối ưu đề tài Page 1.5 Phương tiện nghiên cứu - Giáo trình liên quan đến đề tài - Máy vi tính - Các linh kiện điện tử để thi công mạch điện: Bộ xử lý trung tâm (Vi điều khiển 89C51/89C52), động chiều, Cổng truyền thông giám sát thiết bị (chuẩn truyền thông nối tiếp RS232 IC Max 232) - Các phần mềm hỗ trợ : eagle 5.6, Visual Basic 6.0, Proteus 7.4, HM-TR, driver USB to COM 1.6 Ý nghĩa đề tài Trong thực tế có nhiều loại truyền thơng khơng dây dụng rộng rãi, song nhóm đồ án chúng em thiết kế mô hình điều khiển giám sát động giúp người sử dụng dễ dàng điều khiển quan sát tốc độ, chiều quay động trực tiếp máy vi tính với giao diện Visua Basic, không cồng kềnh, không tốn dây dợ, nút bấm, cơng tắc mà lại an tồn cho người sử dụng làm việc nhà máy xínghiệp Page CHƯƠNG II: CƠ SỞ LÝ THUYẾT 2.1 Truyền thơng nối tiếp với 89S52 Máy tính truyền liệu theo hai phương pháp: Song song nối tiếp Truyền liệu song song thường cần nhiều đường dây dẫn để truyền liệu đến thiết bị cách xa vài mét Ví dụ truyền liệu song song máy in ổ cứng Phương pháp cho phép truyền liệu với tốc độ cao với nhiều dây dẫn để truyền liệu đồng thời, khoảng cách truyền bị hạn chế Để truyền liệu xa thì cần sử dụng phương pháp truyền nối tiếp Phương pháp truyền liệu theo bit 2.1.1 Các sở truyền thông nối tiếp Khi vi xử lý truyền thơng với giới bên ngồi cấp liệu dạng byte (8 bít) Trong số trường hợp chẳng hạn máy in thì thông tin lấy từ bus liệu bít máy tính gửi tới bus liệu bit máy in Phương pháp thực đường cáp khơng q dài cáp dài làm suy giảm chí làm méo tín hiệu Ngồi ra, đường liệu bít giá thành cao Vì lý đó, trường hợp hai hệ thống cách xa hàng trăm đến hang triệu kilomet thì người ta sử dụng truyền thông nối tiếp Hình 2.1 sơ đồ truyền nối tiếp so với sơ đồ truyền song song Truyền nối tiếp Máy phát Máy thu Truyền song song Máy phát D0 Máy thu D7 Page Hình 2.1: Truyền liệu song song nối tiếp Thực tế truyền thông nối tiếp đường liệu dùng thay cho đường liệu bít truyền thơng song song làm cho khơng rẻ nhiều mà cịn mở khả để hai máy tính cách xa truyền thông qua đường thoại Đối với truyền thông nối tiếp thì để làm byte liệu phải chuyển đổi thành bít nối tiếp sử dụng ghi giao dịch vào - song song - - nối tiếp Sau truyền qua đường liệu đơn Điều có nghĩa đầu thu phải có ghi vào - nối tiếp - - song song để nhận liệu nối tiếp sau gói chúng thành byte Tất nhiên, liệu truyền qua đường thoại phải chuyển đổi từ số sang âm dạng sóng hình sin Việc chuyển đổi thực thi thiết bị có tên gọi Modem chữ viết tắt “Modulator/ demodulator” (điều chế/ giải điều chế) Khi cự ly truyền ngắn tín hiệu số truyền nói trên, dây dẫn đơn giản không cần điều chế Đây cách máy bàn PC IBM truyền liệu đến bo mạch mẹ Tuy nhiên, để truyền liệu xa dùng đường truyền chẳng hạn đường thoại việc truyền thơng liệu nối tiếp yêu cầu modem để điều chế (chuyển số tín hiệu âm thanh) sau giải điều chế (chuyển tín hiệu âm số 1) Bộ phát Bộ thu Bộ phát Bộ thu Bộ thu Bộ phát Bộ phát Bộ thu Bộ thu Bộ phát Bán đơn công Song cơng Hình 2.2: Các chế độ thu phát liệu Truyền thông liệu nối tiếp sử dụng hai phương pháp đồng dị Phương pháp đồng truyền khối liệu (các ký tự) thời điểm Page 10 3.4.2 Lưu đồ thuật vi điều khiển với máy tính: Begin + Thực truyền Byte1: MODE Đ Byte2: Tx Báo truyền=1 Byte3: Vận Tốc(V/S) + Byte_nhận = S Đ Byte_nhân Đ MODE=SBUF RI=1 =0 S S Đ Byte_nhận Tx=SBUF =1 S RI=0 Byte_nhận=Byte_nhận+1 End Page 56 3.4.3 Lưu đồ chương trình VĐK: Begin Thiết lập ban đầu Phím ấn Giao tiếp máy tính Đ Chương trình Mode =0 Dừng S Đ ĐK Quay Thuận Mode =1 S Đ Mode =2 ĐK Quay Ngược S Chương trình Hiển thị end Page 57 3.5 Chương trình Vi điều khiển: #include #include #define tx_buffer_size #define rx_buffer_size unsigned char tx_index,tx_counter; unsigned char rx_index; unsigned char tx_data,rx_data; unsigned char tx_buffer[tx_buffer_size]; // thiet la chieu dai byte truyen unsigned char rx_buffer[rx_buffer_size]; // thet lap chieu dai byte nhan bit rx_over=0; bit rx=0; void serial_init(void) { EA=1; // thuc hien cho phep ngat toan cuc ES=1; // cho phep ngat noi tiep SCON=0x50; // thiet lap cong noi tiep o cho va PS=1; // thiet lap ngat uu tien cho ngat noi tiep TCLK=1;RCLK=1; //DISABLE BAUD RATE GENERATOR TI=1; TH2=0xff; TL2=-36; RCAP2H=0xff; RCAP2L=-36; // thiet lap che bau 9600 TR2=1; //TIMER2 RUN } void serial_interrupt(void) interrupt { Page 58 if(RI==1) // thuc hien ngat nhan { RI=0; rx_data=SBUF; // nhan du lieu tu ghi dem if(rx==1) // thuc hien ghi du leiu vso o nho { rx_buffer[rx_index]=rx_data; if(++rx_index==rx_buffer_size) { rx_index=0; rx_over=1; rx=0; }; }; if(rx_data=='@')rx=1; }; if(TI==1) // thuc hien ngat truyen { TI=0; if(tx_counter==1) { SBUF=tx_buffer[tx_index]; if(++tx_index==tx_buffer_size) { tx_index=0; tx_counter=0; }; }; }; } void serial_sent(unsigned char sent_data) // thuc hien truyen ma gui du lieu toi may tinh Page 59 { tx_buffer[tx_index]=sent_data; if(++tx_index==tx_buffer_size) { tx_index=0; SBUF='@'; // truyen ma tx_counter=1; // thuc hien thuc hien ghi bat co truyen }; } // - sbit dung =0x90; sbit trai =0x91; sbit phai =0x92; sbit giam_toc =0x93; sbit tang_toc =0x94; bit k_dung =1; bit k_trai =1; bit k_phai =1; bit k_tang_toc =1; bit k_giam_toc =1; bit co_chuyen =0; sbit encoder_A =0xb2; sbit test =0xb4; sbit encoder_B =0xa0; sbit kenh1 =0xa4; sbit kenh2 =0xa3; bit bao_truyen =0; unsigned char xoa // thuc hien ngat =0; Page 60 char value_pwm =12; unsigned int value_timer0=-100; unsigned long toc_do =0; unsigned long toc_doL =0; unsigned long toc_doH =0; unsigned long xung_encoder=0; unsigned int van_toc unsigned int van_toc2 =0; =0; unsigned char quay_trai =0; unsigned char quay_phai =0; unsigned char MODE =0; unsigned char bien1; unsigned char i,j,k; void phim_an(void); void thuc_hien(void); void hien_thi(void); void T0_init(void); void T1_init(void); void delay(unsigned int); void int0_init(void); void connec_computer(void); void main(void) { T0_init(); int0_init(); T1_init(); serial_init(); lcd_init(); lcd_clean(); test=0; while(1) { Page 61 phim_an(); connec_computer(); if(MODE==0) { if(xoa==1) { xoa=0; lcd_clean(); }; kenh1=1; kenh2=1; TR0=1; lcd_gotoxy(0,1); lcd_putsf("DC DUNG"); lcd_gotoxy(9,1); lcd_putsf("Tx="); lcd_number2(value_pwm,3); lcd_putsf("%"); if(quay_trai>8) { lcd_gotoxy(3,0); lcd_putsf("Q_TRAI"); delay(5000); quay_trai=0; quay_phai=0; }; if(quay_phai>8) { lcd_gotoxy(3,0); lcd_putsf("Q_PHAI"); delay(5000); quay_trai=0; Page 62 quay_phai=0; }; lcd_gotoxy(3,0); lcd_putsf(" "); }; if(MODE==1) // thuc hien quay trai { if(xoa==1) { xoa=0; lcd_clean(); }; lcd_gotoxy(0,1); lcd_putsf("Q TRAI"); lcd_gotoxy(9,1); lcd_putsf("Tx="); lcd_number2(value_pwm,3); lcd_putsf("%"); lcd_gotoxy(0,0); lcd_putsf("TOC DO:"); lcd_number2(van_toc,6); lcd_putsf("V/P"); }; if(MODE==2) // thuc hien quay phai { if(xoa==1) { xoa=0; lcd_clean(); }; TR0=1; lcd_gotoxy(0,1); Page 63 lcd_putsf("Q PHAI"); lcd_gotoxy(9,1); lcd_putsf("Tx="); lcd_number2(value_pwm,3); lcd_putsf("%"); lcd_gotoxy(0,0); lcd_putsf("TOC DO:"); lcd_number2(van_toc,6); lcd_putsf("V/P"); }; }; } void connec_computer(void) { if(rx_over==1) { rx_over =0; MODE =rx_buffer[0]; value_pwm =rx_buffer[1]; xoa =rx_buffer[2]; }; if(bao_truyen==1) { bao_truyen =0; serial_sent(MODE); serial_sent(value_pwm); serial_sent(toc_do); }; } void phim_an(void) { Page 64 if(dung==0&k_dung==1) { MODE=0; delay(1000); lcd_clean(); }; k_dung=dung; if(trai==0&k_trai==1&MODE==0) { MODE=1; lcd_clean(); }; k_trai=trai; if(phai==0&k_phai==1&MODE==0) { MODE=2; lcd_clean(); } k_phai=phai; if(tang_toc==0&k_tang_toc==1) { value_pwm++; if(value_pwm>100)value_pwm=100; }; k_tang_toc=tang_toc; if(giam_toc==0&k_giam_toc==1) { value_pwm ; if(value_pwm30)&(MODE==0))EX0=1; if(index2>50) { EX0=0; index2=0; bao_truyen=1; }; }; } void int0_init(void) { EA=1; // cho phep nhat toan cuc // EX0=1; // cho phep ngat hoat dong IE0=1; // cho phep ngat theo suon() IT0=1; Page 67 PX0=1; } void INT0_interrypt(void)interrupt { if(encoder_B==0) { quay_trai++; quay_phai=0; } else { quay_phai++; quay_trai=0; }; } void delay(unsigned int d) { while(d>0)d ; } Page 68 KẾT LUẬN VÀ KIẾN NGHỊ Kết đạt Quá trình nghiên cứu thi cơng, nhóm hồn thành nội dung đề tài nêu ra: - Điều khiển giám sát động qua giao diện viết máy tính sử dụng phần mềm Visual Basic 6.0 - Nhận liệu từ vi điều khiển - Hiển thị giao diện trạng thái động cơ: tốc độ, chiều quay động sử dụng trượt - Nhận thay đổi điều khiển giao diện (trạng thái động cơ: tốc độ, chiều quay…) xuất xuống vi điều khiển Với cá nhân nhóm, sau thực xong đề tài có thêm nhiều kiến thức truyền thơng nối tiếp, việc ứng dụng tiện ích số phần mềm phục vụ sống sinh hoạt cơng nghiệp Đồng thời có thêm kinh nghiệm việc thiết kế lập trình ứng dụng cho vi điều khiển Hướng phát triển đề tài Trong trình thực đề tài nhóm nỗ lực vừa nghiên cứu vừa mở hướng cho đề tài phong phú, song thời gian, kiến thức kinh tế có hạn nên đề tài nhiều hướng mở mà chúng em đưa để sau phát triển đề tài Sau nhóm có số hướng phát triển thêm để hồn thiện ứng dụng đề tài thực tế sau: - Sử dụng chế độ bảo mật sử dụng phần mềm, có cài đặt password, lưu trạng thái hoạt động tất gì xảy động hoạt động vào file, cần kiểm tra - Thêm chức dùng điều khiển từ xa để điều khiển hệ thống Page 69 Kiến nghị Một hệ thống muốn hồn thiện ứng dụng vào thực tế thì đòi hỏi phải trải qua thời gian thử nghiệm phần cứng phần mềm Tuy nhiên, điều kiện thời gian ngắn cộng với trình độ nhóm thực cịn hạn chế, kiến thức học chúng em chưa có nhiều ứng dụng vào thực tế nên hệ thống giải số vấn đề không tránh khỏi thiếu sót Hy vọng đồ án tài liệu tham khảo cho bạn sinh viên khóa sau quan tâm để hoàn thiện cho hệ thống bước đưa vào ứng dụng thực tế Page 70 ... khiển giám sát động chiều giao tiếp máy tính qua cổng COM - Giao tiếp modul VĐK với máy tính thơng qua chuẩn RS232 - Tính tốc độ số vịng/phút hiển thị LCD - Hồn thành sản phẩm với độ xác cao, ứng... máy cán, máy nghiền Từ vấn đề Thầy/Cơ đưa cho nhóm đồ án chúng em đề tài “Thiết kế chế tạo modul giao tiếp chiều với máy tính qua cổng COM, hiển thị LCD? ?? Sau thời gian tìm hiểu nghiên cứu, với. .. giao tiếp với máy tính - Mạch điều khiển nhận lệnh từ máy tính điều khiển tốc độ đảo chiều động - Hiển thị tốc độ số vòng/phút LCD 1.2 Mục tiêu nghiên cứu - Thiết kế, chế tạo mô hình điều khiển

Ngày đăng: 18/02/2023, 23:06

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

Tài liệu liên quan