1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển robot từ xa sử dụng sóng wifi,đề tài nghiên cứu khoa học sinh viên

73 0 0

Đ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

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CƠ SỞ II BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN ĐIỀU KHIỂN ROBOT TỪ XA SỬ DỤNG SĨNG WIFI Tp HCM,05/2013 TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI CƠ SỞ II BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN ĐIỀU KHIỂN ROBOT TỪ XA SỬ DỤNG SĨNG WIFI Thuộc nhóm ngành Điện- Điện tử Sinh viên thực hiện: Nguyễn Đức Thịnh Dân tộc: Kinh Lớp, khoa: Tự động hóa điều khiển, Điện- Điện tử Năm thứ: /Số năm đào tạo: Giáo viên hướng dẫn: Lê Mạnh Tuấn Tp HCM, 05/2013 TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CƠ SỞ II THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung: - Tên đề tài: ĐIỀU KHIỂN ROBOT TỪ XA SỬ DỤNG SÓNG WIFI - Sinh viên thực hiện: Nguyễn Đức Thịnh - Lớp: Tự động hóa điều khiển Khoa: Điện- Điện tử Năm thứ: Số năm đào tạo: - Người hướng dẫn: Lê Mạnh Tuấn Mục tiêu đề tài: - Tìm hiểu giao thức truyền tin qua mạng - Thiết kế phần cứng DAQ - Điều khiển từ xa sử dụng hệ DAQ Wifi Kết nghiên cứu: - Đưa sản phẩm phần cứng Card DAQ - Sử dụng Card DAQ máy tính điều khiển Robot từ xa qua sóng Wifi Đóng góp mặt kinh tế - xã hội, giáo dục đào tạo, an ninh, quốc phòng khả áp dụng đề tài: - Card DAQ giao tiếp máy tính cơng cụ để phục vụ nghiên cứu học tập sinh viên - Hướng ứng dụng điều khiển từ xa sử dụng sóng Wifi có khả áp dụng nhà máy có điều kiện làm việc khắc nghiệt, độc hại, sử dụng mục đích quân rà phá bom mìn, điều khiển xe quân sự, phục vụ công tác đào tạo, mô lái xe…vv Ngày 04 tháng 05 năm 2013 Sinh viên chịu trách nhiệm thực đề tài Nhận xét người hướng dẫn đóng góp khoa học sinh viên thực đề tài : Xác nhận trường đại học Ngày tháng năm Người hướng dẫn TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CƠ SỞ II THÔNG TIN VỀ SINH VIÊN CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI I SƠ LƯỢC VỀ SINH VIÊN: Ảnh 4x6 Họ tên: Nguyễn Đức Thịnh Sinh ngày: 29 tháng 11 năm 1990 Nơi sinh: ĐăkLăk Lớp: Tự động hóa điều khiển Khóa: 50 Khoa: Điện- Điện tử Điện thoại: 0973.702.785 Email: nguyenducthinh6789@gmail.com II Q TRÌNH HỌC TẬP (kê khai thành tích sinh viên từ năm thứ đến năm học): * Năm thứ 1: Ngành học: Tự động hóa điều khiển Khoa: Điện – Điện tử Kết xếp loại học tập: 5.4 * Năm thứ 2: Ngành học: Tự động hóa điều khiển Khoa: Điện – Điện tử Kết xếp loại học tập: 6.1 * Năm thứ 3: Ngành học: Tự động hóa điều khiển Khoa: Điện – Điện tử Kết xếp loại học tập: 7.2 Xác nhận trường đại học Ngày 04 tháng 05 năm 2013 Sinh viên chịu trách nhiệm thực đề tài Nghiên cứu khoa học sinh viên 2013 MỤC LỤC LÝ DO CHỌN ĐỀ TÀI G IỚ I H Ạ N C Ủ A Đ Ề T À I PHƯƠNG PHÁP NGHIÊN CỨU 1.1 KỸ THUẬT MẠNG KHÔNG DÂY 1.1.1 Giới thiệu 1.1.2 Chuẩn Wireless LAN – IEEE 802.11 1.1.3 Ứng dụng mạng không dây 1.1.4 Kỹ thuật truyền tín hiệu mạng khơng dây 1.1.4.1 Giới thiệu 1.1.4.2 DSSS – Direct Sequence Spread Spectrum 10 1.3 WLAN Media Access Control 11 1.3.1 CSMA/CA 11 1.3.2 RTS/CTS 12 1.4 Các mơ hình mạng khơng dây 13 1.4.1 Mơ hình Ad-Hoc 13 1.4.2 Mơ hình Infrastructure 13 1.4.3 Mơ hình Infrastructure 14 1.4.4 Roaming 15 1.4.5 Các mơ hình khác 15 1.5 Bảo mật mạng không dây 17 1.6 Các thiết bị sử dụng mạng không dây 18 1.6.1 Wireless LAN card 18 1.6.1.1 Giới thiệu 18 1.6.2 Access Point 20 1.6.2.1 Đặc tính 20 1.6.2.2 Nguyên tắc lắp đặt Access Point 20 1.6.3 Anten 20 1.2 TỔNG QUAN VỀ DAQ (DATA ACQUISITION AND CONTROL) 22 1.2.1 Định nghĩa khái niệm 22 1.2.1.1 Bộ chuyển đổi (Transducer) cảm biến (Sensor) 22 1.2.1.2 Dây nối cáp truyền thông 22 1.2.1.3 Xử lý tín hiệu (Data conditioning) 23 1.2.1.4 Phần cứng thu thập liệu 23 1.2.1.5 Phần mềm thu thập liệu 23 1.2.1.6 Máy chủ 24 1.2.2 Cấu hình hệ DAQ 24 2.1 TỔNG QUAN VI ĐIỀU KHIỂN PIC18F2455/2550/4455/4550 25 2.1.1 BỘ NHỚ 27 2.1.2 KHỐI TIMER 28 2.1.3 KHỐI CAPTURE/SO SÁNH/PWM (CCP) 29 2.1.4 KHỐI USB (Universal Serial Bus) 30 2.1.5 KHỐI BIẾN ĐỔI AD 10 BIT 31 2.1.6 NGẮT 33 2.2 CỔNG USB 35 2.2.1 CỔNG USB 35 Nghiên cứu khoa học sinh viên 2013 2.2.2 MƠ HÌNH BUS USB 36 2.2.3 CÁC KIỂU TRUYỀN USB 38 2.2.3.1 Truyền điều khiển (Control Transfers): 39 2.2.3.2 Truyền ngắt (Interrupt Transfers): 39 2.2.3.3 Truyền theo khối (Bulk Transfers): 39 2.2.3.4 Truyền đồng (Isochronous Transfers): 39 2.2.4 GIAO DIỆN VẬT LÝ BUS USB 39 2.2.5 GIAO THỨC TRUYỀN 42 2.2.5.1 Các trường truyền thông USB 42 2.2.5.2 Các loại gói truyền thông USB 44 2.2.6 CÁC QUÁ TRÌNH TRUYỀN USB 45 2.2.6.1 Truyền điều khiển 45 2.2.6.2 Truyền ngắt 47 2.2.6.3 Truyền đồng (Isochronous Transfers) 48 2.2.6.4 Truyền khối (Bulk Transfers) 48 2.2.7 ĐIỂM DANH VÀ GÓI PHẦN MỀM ĐIỀU KHIỂN 49 2.2.7.1 Điểm danh 49 2.2.7.2 Phần mềm điều khiển 54 3.1 LƯU ĐỒ GIẢI THUẬT CỦA CARD DAQ 56 3.2 PHẦN LẬP TRÌNH THU THẬP DỮ LIỆU TRÊN MÁY TÍNH VỚI LABVIEW2009 56 3.3 LẬP TRÌNH TCP/IP VỚI LABVIEW 2009 57 3.3.1 Lập trình TCP/IP truyền liệu từ máy tính Sever tới máy tính Client 57 Nghiên cứu khoa học sinh viên 2013 PHẦN GIỚI THIỆU Nghiên cứu khoa học sinh viên 2013 DANH SÁCH THỰC HIỆN ĐỀ TÀI Cao Xuân Anh Nguyễn Kỳ Việt Nguyễn Đức Thịnh Nguyễn Văn Chiến Ngô Phương Bắc Lớp : Tự động hóa điều khiển K50 Tên đề tài: ĐIỀU KHIỂN ROBOT TỪ XA SỬ DỤNG SÓNG WIFI Nhiệm vụ đề tài gồm thiết kế & chế tạo phần cứng phần mềm Robot điều khiển từ xa Phần cứng: Mạch giao tiếp máy tính (DAQ), Robot điều khiển từ xa Phần mềm: Viết phần mềm điều khiển thu thập liệu máy vi tính Cuối thử nghiệm, hiệu chỉnh phần mềm, phần cứng phù hợp với yêu cầu chức đề tài Nghiên cứu khoa học sinh viên 2013 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI LÝ DO CHỌN ĐỀ TÀI Điều khiển không dây lĩnh vực mẻ thiết bị tự động hóa ngày Có nhiều giải pháp đưa để giải toán kỹ thuật cụ thể công nghiệp thiết bị dân dụng tiện ích Kết nối mạng khơng dây giải trí điểm sơ khởi cách mạng khơng dây Giờ đây, Wi-Fi, 3G tạo nên “cách mạng tự động hóa lần thứ hai” với chi phí thấp đơn giản nhiều Nền tảng cách mạng kết nối hàng ngang thiết bị số, từ điện thoại thơng minh, máy tính, tablet đến thiết bị dân dụng Với ứng dụng thiết thực nhóm chọn đề tài “Điều khiển Robot từ xa sử dụng sóng Wifi” làm nghiên cứu khoa học GIỚI HẠN CỦA ĐỀ TÀI - Tổng quan hệ thống điều khiển qua mạng Wifi - Thiết kế phần cứng phù hợp với yêu cầu toán đặt - Xây dựng số ứng dụng tiêu biểu phần cứng phần mềm thiết kế Thiết bị điều khiển từ xa thiết bị điều khiển khơng dây sử dụng sóng radio nhằm mang lại linh hoạt, không gian vận hành hệ thống thiết bị, tăng cường hiệu sản xuất, mang đến an toàn cho người vận hành hệ thống, đảm bảo độ tin cậy cung cấp điều khiển, khơng có điểm mù u cầu phải thiết kế điều khiển phù hợp với hoàn cảnh môi trường hệ thống đặt vào Đề tài tập trung vào giải vấn đề chung tốn điều khiển lựa chọn phương án thiết kế mạch giao tiếp máy tính làm công cụ giao tiếp phần mềm phần cứng Sử dụng máy tính đề phát triển thuật tốn Đây phương pháp hướng vào cách giải chung khả thi cao nhanh chóng áp dụng lý thuyết vào thực tiễn PHƯƠNG PHÁP NGHIÊN CỨU Quá trình nghiên cứu gồm giai đoạn 3.1 Phân tích đánh giá tình hình nghiên cứu chung ngồi nước Bằng cách tham khảo nguồn thơng tin từ giảng viên, tham khảo diễn đàn nước nước ngồi Nhóm định hình nhiệm vụ phải làm thời gian nghiên cứu, cụ thể: Phương án 1: Sử dụng phương pháp xây dựng module có chức riêng (Module Wifi, Module Điều khiển, Module hiển thị) Đây phương án hướng vào sản phẩm thực tế phải tối ưu phần cứng phần mềm Trong giới hạn kiến thức kinh nghiệm làm việc nhóm phải cần có thời gian nghiên cứu kiến thức chuyên sâu để làm điều Phương án 2: Sử dụng hệ thống DAQ tự thiết kế Phương pháp áp dụng nhiều giáo dục đào tạo Nhờ trợ giúp máy tính nâng cao thời gian xử lý, trực quan dễ tối ưu phần điều khiển Phương án lề cho phương án 1, phát triển ý tưởng, trực quan hóa thuật tốn mình, sở thực sản phẩm hoàn thiện Hệ DAQ làm cầu nối phần cứng phần mềm máy tính qua cịn giải nhiều tốn điều khiển khác ngồi nội dung đề tài với chi phí thấp Do Card DAQ làm phương tiện học tập nghiên cứu hữu hiệu thiết thực cho sinh viên sau Nghiên cứu khoa học sinh viên 2013 54 Khi hệ thống điểm danh tất thông tin quan trọng thiết bị kiểm tra Khi hệ điều hành kiểm tra xem liệu tài nguyên yêu cầu như: phần mềm điều khiển, dịng tiêu thụ, dải thơng bus có mặt Sau hồn thành khâu điểm danh, ta sử dụng yêu cầu điều khiển (Control-Request) qua Endpoint Các Endpoint hoạt động khác cần phải cho phép hoạt động việc gán thông số thiết lập lớn 2.2.7.2 Phần mềm điều khiển Chức phần mềm điều khiển (driver) thiết bị nói chung, mơ tả mắt xích liên kết phần cứng phần mềm hệ thống Trong mơi trường từ Window 98 khơng có chương trình ứng dụng truy cập trực tiếp lên phần cứng Cách tốt gọi phần mềm điều khiển thiết bị, phần mềm trao đổi trực tiếp với phần cứng qua lớp đệm nằm sâu hệ thống Phần mềm điều khiển nhà sản xuất thiết bị cung cấp kèm theo viết khuôn khổ đầu tư cho thiết bị công ty Phần mềm làm việc chế độ lõi với quyền ưu tiên cao Một phần mềm điều khiển xem xét giống thiết bị ảo, nghĩa chương trình người dùng sử dụng phần mềm điều khiển giống thiết bị Tất phần mềm điều khiển USB dựa Win32-Driver-Model (WDM), mô hình sử dụng Window NT tương thích Window 98 Tất lệnh gọi phần mềm điều khiển chạy qua phềm mềm quản lý vào/ra (I/O Manager) Các chương trình người dùng khác gửi gói yêu cầu tới phần mềm quản lý vào/ra, phần mềm sau phân phối tới phần mềm điều khiển cụ thể Với mức độ người dùng cần quan tân đến hàm truy cập Windows: Mở thiết bị hàm CreateFile( ) Truy nhập để ghi sử dụng hàm WriteFile( ) Truy nhập để đọc sử dụng hàm ReadFile( ) Kết thúc trình truy nhập sử dụng CloseHadre( ) Đối với trường hợp không theo khuân mẫu trên, ta thực hàm truy cập hàm DeviceloControl( ).Trong giới hạn đề tài này, không sâu vào cách tạo Driver cho thiết bị điều khiển chúng phức tạp Nghiên cứu khoa học sinh viên 2013 55 Chương LẬP TRÌNH DAQ THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN QUA MẠNG WIFI Nội dung 3.1 SƠ ĐỒ GIẢI THUẬT CỦA CARD DAQ 3.2 PHẦN LẬP TRÌNH THU THẬP DỮ LIỆU TRÊN MÁY TÍNH VỚI LABVIEW2009 3.3 LẬP TRÌNH TCP/IP VỚI LABVIEW2009 Chương giới trình bày bước để tạo chương trình điều khiển (Firmware) vi điều khiển thực chức thu thập liệu xử lý lệnh điều khiển từ máy tính Phần thứ thiết kế giao diện điều khiển máy tính sử dụng phần mềm LabVIEW2009, phần mềm chuyên dụng thu thập xử lý liệu hãng National Instrument có tính linh hoạt cao nhờ vào ngơn ngữ lập trình đồ họa trực quan sinh động Tồn Firmware phần lập trình LabVIEW2009 đính kèm theo CD đề tài (Folder Firmware) Nghiên cứu khoa học sinh viên 2013 56 3.1 LƯU ĐỒ GIẢI THUẬT CỦA CARD DAQ START CONFIGURE PORT, STATUS FOR MICROCONTTROLLER WAIT TO FINISH INTIALIZATION USB SEND_TIMER == KBHIT()=1; True - CHECK_TIME = 250 - READ ADC_DATA - READ PIN_STATUS - READ ENCODER_DATA - PUSH ALL TO BUFFER False -DELAY MS -SEND_TIMER IS COUNTED DOWN False HAVE THE COMMAND FROM PC True PUSH DATA FROM BUFFER TO PC DATA_OUT[] GET DATA FROM PC TO BUFFER ANALYST THE DATA AND PROCESS DATA_IN[] END Hình 3.1 Sơ đồ giải thuật Vi điều khiển Phân tích lưu đồ giải thuật : - Dữ liệu truyền nhận lưu mảng Data_in[] Data_out[] - Vi điều khiển liên tục hỏi vòng nhận lệnh thực thi lệnh từ máy tính xuống có liệu đến (kbhit()=1) - Cứ khoảng thời gian Send_timer gửi liệu lên máy tính lần 3.2 PHẦN LẬP TRÌNH THU THẬP DỮ LIỆU TRÊN MÁY TÍNH VỚI LABVIEW2009 Giải thuật chương trình máy tính tương tự với vi điều khiển Chương trình tạo hai chương trình ngắt, ngắt truyền ngắt nhận Trong khoảng thời gian 250 ms khơng có kết nối tự đóng chương trình Nghiên cứu khoa học sinh viên 2013 57 Hình 3.2 Lập trình thu thập liệu điều khiển LabVIEW2009 3.3 LẬP TRÌNH TCP/IP VỚI LABVIEW 2009 3.3.1 Lập trình TCP/IP truyền liệu từ máy tính Sever tới máy tính Client Đối tượng điều khiển Robot có khả chạy tiến lùi, trái phải, tăng tốc hay giảm tốc Những tín hiệu cần tác động tín hiệu dạng Digital nút nhấn chạy tiến lùi, trái phải tín hiệu dạng Analog điều khiển tăng tốc giảm tốc Trong giao tiếp mạng, người ta thường sử dụng ba cơng cụ (cịn gọi ba giao thức hay ba chuẩn giao tiếp) sau: - IP: Internet Protocol - UDP: User Datagram Protocol - TCP: Transmission Control Protocol Công cụ giao tiếp mạng (nội mạng LAN) phổ biến TCP/IP TCP/IP kết kết hợp hai giao thức TCP IP để tạo thành TCP/IP) LabVIEW hỗ trợ hàm dễ sử dụng cho việc giao tiếp giao thức Chương trình truyền liệu từ máy tính Sever lập trình sau: Nghiên cứu khoa học sinh viên 2013 58 Hình 3.3 Lập trình cho máy Client LabVIEW2009 Hàm TCP/IP Listen làm nhiệm vụ lắng nghe mạng để biết máy tính khác cố gắng kết nối qua cổng (Port) quy định đầu vào hàm TCP/IP Listen (dạng số nguyên) Đó số cổng phải số không sử dụng phần khác hệ thống, nhóm sử dụng cổng (port) 2055 Chương trình tự động báo lỗi thời gian thời gian Timeout (ms) mà ta thiết lập, 60000(ms)=60(s) máy tính cố gắng kết nối với máy Sever qua cổng (port) 2055 Nghiên cứu khoa học sinh viên 2013 59 Đây giá trị ta cần truyền tới chương trình Client để điều khiển xe Các giá trị Left, Right , Forward, Back nút điều khiển hướng xe Giá trị Velocity để đặt vận tốc cho xe nhanh hay chậm Để cho chương trình gọn ta tạo mảng chiều gồm phần tử truyền tới chương trình Client, từ chương trình Client ta lại tách thành phần từ riêng biệt để lập trình Hàm Type Cast có chức chuyển giá trị Numeric sang giá trị String Dữ liệu truyền không gian theo chuẩn TCP/IP phải String nên hàm Type Cast giúp ta chuyển không gian giá trị Numeric Hàm TCP/IP Write: hàm dùng để ghi liệu vào tình tính khác qua mạng TCP/IP Đầu vào hàm chuỗi, số byte chuỗi chuyển Hàm TCP Close Connection: hàm tự động ngắt kết nối khơng có máy tính cố gắng kết nối với máy tính Sever thời gian Timeout (ở 60000ms) Như ta lập trình xong chương trình truyền liệu từ máy tính Sever chuẩn giao tiếp TCP/IP Tiếp theo tác sẽ trình bày chương trình nhận liệu máy tính Client Chương trình nhận liệu máy tính Client Chương trình nhận liệu máy tính Client lập trình sau: Nghiên cứu khoa học sinh viên 2013 60 Chú thích: Cấu trúc chương trình nhận liệu từ máy Client tương tự chương trình truyền liệu từ máy Sever Chỉ có vài đặc điểm khác sau đây: Trước hết ta cần nhập địa IP máy tính Sever vào Control Address hàm TCP/IP Listen Địa cho phép máy Client nhận liệu từ máy tính Sever, nhập sai giá trị máy Client không nhận giá trị mong muốn Và thời gian 60000ms kết nối với máy tính Sever chương trình Client se báo lỗi Hàm TCP/IP Read có nhiệm vụ đọc liệu hay byte từ máy tính từ xa (Sever) Hàm TCP/IP Read thơng thường có đầu vào ID kết nối tín hiệu lỗi Các đầu vào số nguyên (dòng màu xanh bên trái) số byte ta muốn đọc Đầu hàm byte đọc Nghiên cứu khoa học sinh viên 2013 61 Giá trị đọc chuỗi String, ta phải chuyển chuỗi dạng mảng để phục vụ cho việc tính toán điều khiển Ta dùng hàm Type Cast để chuyển chuỗi String mảng Tiếp theo, tín hiệu Numeric ta chuyển dạng mảng mà ta xây dựng bên trương chình Sever, để tính tốn sử dụng ta cần phải chuyển dạng mảng dạng số học thông thường Các giá trị trị Left, Right , Forward, Back giá trị mà ta nhận từ máy Server, từ ta giá trị để đưa vào thuật tốn điều khiển động để xe di chuyển mong muốn Cuối ta dùng hàm TCP/IP Close Connection để đóng kết nối Nghiên cứu khoa học sinh viên 2013 62 Chương KẾT LUẬN VÀ KIẾN NGHỊ QUÁ Điều khiển từ xa khái niệm mẻ Sử dụng sóng Wifi để điều khiển phương pháp triển khai thực tế với cơng cụ có sẵn thị trường, giá thành tương đối rẻ Dựa vào kết đạt hồn tồn sử dụng nhiều lĩnh vực: - Tự động hóa nhà thông minh - Phục vụ công tác nghiên cứu sinh viên - Sử dụng nhiệm vụ nguy hiểm độc hại - Cơng tác quốc phịng đào tạo mơ buồng lái, Robot dị mìn…vv Qua thời gian nghiên cứu đề tài nhóm phát triền cơng cụ DAQ với tính tương đương với công cụ DAQ giá rẻ hãng khác PLX, NI,ALIGENT nhiều hạn chế bước tiền đề cho phát triển hệ DAQ lớn nhiều tính TÀI LIỆU THAM KHẢO [1] Analog to digital converter 7070-CANBERRA [2] Analog to digital converter 8075-CANBERRA [4] CANBERRA 81-82, 1982, CANBERRA [5] TS.Nguyễn Bá Hải, Lập trình LabVIEW bản, 2011 NXB ĐHQG TPHCM [5] PIC18F2455/2550/4455/4550 DATA SHEET, 2004 MICROCHIP [6] SPECTROSCOPE AMPLIFIER 2021-CANBERRA [7] Website WWW.CANBERRA.COM [8] Website WWW.MICROCHIP.COM Nghiên cứu khoa học sinh viên 2013 63 PHỤ LỤC /* -Description */ /* DAQ CARD USB INTERACE DATE : 04/23/2013 AUTHOR : DUCTHINH NGUYEN This is scource code for Pic18F4550 use for DAQ device It's combine with LabVIEW 2009 We have: Logic gates Channel Output (D1, D2, D3,) Pulse Width Channel Module Output (C1, C2) Logic gates Channel Input (A4,A5,E0,E1) Analog To Digital Converter Channel Input (A0,A1,A2,A3) Encoder Reader INT0 and D7 (B0 & D7 ) Pin C7 to check out the status of USB */ /*Liblaries -*/ #include #use delay(clock=48M) #include #include #include /*Configure Hardware */ #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,VREGEN #fuses PLL5 #fuses USBDIV,CPUDIV1 /*Private Define*/ #define USB_HID_DEVICE TRUE #define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT #define USB_EP1_TX_SIZE 20 #define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT #define USB_EP1_RX_SIZE 20 #define Button_1_pressed() input(pin_a4) #define Button_2_pressed() input(pin_a5) #define Button_3_pressed() input(pin_e0) #define Button_4_pressed() input(pin_e1) #define On_SW1() output_high(pin_d1) #define On_SW2() output_high(pin_d2) #define On_SW3() output_high(pin_d3) #define On_SW4() output_high(pin_c6) Nghiên cứu khoa học sinh viên 2013 #define Off_SW1() output_low(pin_d1) #define Off_SW2() output_low(pin_d2) #define Off_SW3() output_low(pin_d3) #define Off_SW4() output_low(pin_c6) /*Global Variables */ int8 i8_data_in[6]; unsigned int8 ui8_data_out[8]; int16 i16_send_timer=0; int8 i16_encorder=0; /*Private Functions Prototype -*/ void InitPort(void); void check_data_in(void); void usb_debug_task(void); void put_data_to_pc(void); void count_encoder(void); /*Interrupt Functions*/ #int_ext1 void count_encoder(void) { if(input(pin_d7)) i16_encorder ; else i16_encorder++; enable_interrupts(INT_EXT1_l2h); } /*The main function*/ void main() { InitPort(); usb_init(); usb_task(); usb_wait_for_enumeration(); while (1) { usb_task(); usb_debug_task(); if (usb_enumerated()) // Send data to PC { if(!i16_send_timer) { i16_send_timer=250; //ng times 64 Nghiên cứu khoa học sinh viên 2013 65 put_data_to_pc();//wait to change usb_puts(1,ui8_data_out,8,10); enable_interrupts(INT_EXT1_h2l); //usb_put_packet(1, ui8_data_out, 8, USB_DTS_TOGGLE);//delay_ms(10); // if(usb_put_packet(1, ui8_data_out, 2, USB_DTS_TOGGLE))output_high(pin_b4); } if (usb_kbhit(1))// If have data from PC to MCU { usb_gets(1,i8_data_in,6,9);// byte, max ms check_data_in(); } i16_send_timer ; delay_ms(1); } } } /*Private Functions -*/ /*Configuration Port Functions*/ void InitPort(void)// Configuration Ports { set_tris_d(0b11110001);// set_tris_a(0b11111111);// Input portA set_tris_e(0b00000011); set_tris_b(0b00000001);// B0 is Input setup_timer_2(T2_DIV_BY_1,255,1); setup_ccp1(CCP_PWM);// Configure CCP1 include Timer2 setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_1 ); setup_ccp2(CCP_PWM);// Configure CCP1 include Timer1 setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(A0_A3_A1_A2); enable_interrupts(INT_EXT1_h2l);// ENT1 high to low enable_interrupts(global); } /*Checking and Processig Data from Computer put down*/ void check_data_in(void) { Nghiên cứu khoa học sinh viên 2013 if(i8_data_in[0]){On_SW1();} else {Off_SW1();}; if(i8_data_in[1]){On_SW2();} else {Off_SW2();}; if(i8_data_in[2]){On_SW3();} else {Off_SW3();}; if(i8_data_in[3]){On_SW4();} else {Off_SW4();}; set_pwm1_duty(i8_data_in[4]); // Set PWM1 duty cycle set_pwm2_duty(i8_data_in[5]); // Set PWM1 duty cycle } /*Put data include status of pin and PWM*/ void put_data_to_pc() { ui8_data_out[0]=button_1_pressed(); ui8_data_out[1]=button_2_pressed(); ui8_data_out[2]=button_3_pressed(); ui8_data_out[3]=button_4_pressed(); set_adc_channel(0); //analog input to pin A0 ui8_data_out[4] = read_adc();delay_ms(5); set_adc_channel(1); //analog input to pin A1 ui8_data_out[5] = read_adc();delay_ms(5); set_adc_channel(2); //analog input to pin A2 ui8_data_out[6] = read_adc();delay_ms(5); ui8_data_out[0] = i16_encorder; } /* Debug USB task*/ void usb_debug_task(void) { static int8 last_connected; static int8 last_enumerated; int8 new_connected; int8 new_enumerated; new_connected=usb_attached(); new_enumerated=usb_enumerated(); if (new_enumerated) output_high(pin_c7); else output_low(pin_c7); last_connected=new_connected; last_enumerated=new_enumerated; } 66 Nghiên cứu khoa học sinh viên 2013 ĐIỀU KHIỂN ROBOT TỪ XA SỬ DỤNG SÓNG WIFI (Using Wireless Fidelity to Control Robot) Nguyễn Đức Thịnh Trường Đại học Giao thông Vận tải – Cơ sở II Tóm tắt Trong bảng tóm tắt này, nhóm đưa cách nhìn tổng quan hệ thống điều khiển từ xa sử dụng sóng Wifi Nhóm đưa số lý thuyết mạng Thiết kế hệ DAQ, phương pháp lựa chọn phần cứng phù hợp số kết đạt thời gian nghiên cứu router không dây nhận tín hiệu giải mã chúng gửi thông tin tới Internet máy chủ thông qua kết nối mạng có dây Qui trình hoạt động với chiều ngược lại, router nhận thông tin từ Internet/máy chủ, chuyển chúng thành tín hiệu vơ tuyến gởi đến adapter khơng dây máy tính Chữ viết tắt DAQ WIFI Data Acquisition and Control Module Wireless Fidelity Phần mở đầu Điều khiển không dây lĩnh vực mẻ thiết bị tự động hóa ngày Có nhiều giải pháp đưa để giải toán kỹ thuật cụ thể công nghiệp thiết bị dân dụng tiện ích Kết nối mạng khơng dây giải trí điểm sơ khởi cách mạng khơng dây Giờ đây, Wi-Fi, 3G tạo nên “cách mạng tự động hóa lần thứ hai” với chi phí thấp đơn giản nhiều Nền tảng cách mạng kết nối hàng ngang thiết bị số, từ điện thoại thơng minh, máy tính, tablet đến thiết bị dân dụng Với ứng dụng thiết thực nhóm chọn đề tài “Điều khiển Robot từ xa sử dụng sóng Wifi” làm nghiên cứu khoa học Nội dung Hình - Wifi chiếm ưu việc kết nối thiệt bị ngang hàng với 2.2 Lựa chọn giải pháp cho thiết bị Phương án 1: Sử dụng phương pháp xây dựng module có chức riêng (Module Wifi, Module Điều khiển, Module hiển thị) Đây phương án hướng vào sản phẩm thực tế phải tối ưu phần cứng phần mềm Trong giới hạn kiến thức kinh nghiệm làm việc nhóm phải cần có thời gian nghiên cứu kiến thức chuyên sâu để làm điều 2.1 Kỹ thuật mạng không dây Khái niệm mạng không dây (Wireless Network) khái niệm rộng, tương tự mạng có dây mà học có điều khác quan trọng mạng khơng dây dùng sóng để làm phương tiện truyền dẫn chủ yếu Hình - Sơ đồ kết nối Wireless Fidelity Truyền thông qua mạng không dây truyền thông vô tuyến hai chiều Cụ thể: thiết bị adapter khơng dây (hay chuyển tín hiệu khơng dây) máy tính chuyển đổi liệu số sang tín hiệu analog vơ tuyến phát tín hiệu ăng-ten Thiết bị Phương án 2: Sử dụng hệ thống DAQ tự thiết kế Phương pháp áp dụng nhiều giáo dục đào tạo Nhờ trợ giúp máy tính nâng cao thời gian xử lý, trực quan dễ tối ưu phần điều khiển Phương án lề cho phương án 1, phát triển ý tưởng, trực quan hóa thuật tốn mình, sở thực sản phẩm hồn thiện Hệ DAQ làm cầu nối phần cứng phần mềm máy tính qua cịn giải nhiều tốn điều khiển khác nội dung đề tài với chi phí thấp Do Card DAQ làm phương tiện học tập nghiên cứu hữu hiệu thiết thực cho sinh viên sau - 2.3 Lựa chọn phần cứng thiết kế DAQ Vi điều khiển ngày trở nên rẻ mạnh mẽ lựa chọn DAQ sử dụng vi điều khiển làm giảm giá thành đảm bảo chất lượng hệ thống.Nhóm sử dụng PIC18F4550 dịng vi điều khiển nâng cao Microchip Một số tiêu chí để chọn lựa dòng vi điều khiển là:  USB V2.0  Tốc độ thấp (1.5 Mb/s) tốc độ toàn phần (12Mb/s)  Hỗ trợ tới 32 điểm cuối  RAM KByte cho khối USB  Mạch thu phát USB chip với mạch ổn áp 3.3V  Cổng song song streaming (SPP) cho truyền streaming USB  Hỗ trợ chế độ truyền: - Truyền điều khiển (Control transfer) - Truyền ngắt (Interrupt transfer) - Truyền đồng (Isochronous transfer) - Truyền khối (Bulk transfer) 2.4 Sơ đồ giải thuật DAQ START CONFIGURE PORT, STATUS FOR MICROCONTTROLLER WAIT TO FINISH INTIALIZATION USB SEND_TIMER == KBHIT()=1; True - CHECK_TIME = 250 - READ ADC_DATA - READ PIN_STATUS - READ ENCODER_DATA - PUSH ALL TO BUFFER False -DELAY MS -SEND_TIMER IS COUNTED DOWN False HAVE THE COMMAND FROM PC True PUSH DATA FROM BUFFER TO PC DATA_OUT[] GET DATA FROM PC TO BUFFER Cứ khoảng thời gian Send_timer gửi liệu lên máy tính lần 2.5 Lập trình TCP/IP truyền liệu từ máy tính Sever tới máy tính Client với LabVIEW2009 Đối tượng điều khiển Robot có khả chạy tiến lùi, trái phải, tăng tốc hay giảm tốc Những tín hiệu cần tác động tín hiệu dạng Digital nút nhấn chạy tiến lùi, trái phải tín hiệu dạng Analog điều khiển tăng tốc giảm tốc Trong giao tiếp mạng, người ta thường sử dụng ba cơng cụ (cịn gọi ba giao thức hay ba chuẩn giao tiếp) sau: - IP: Internet Protocol - UDP: User Datagram Protocol - TCP: Transmission Control Protocol Công cụ giao tiếp mạng (nội mạng LAN) phổ biến TCP/IP TCP/IP kết kết hợp hai giao thức TCP IP để tạo thành TCP/IP) Hình Lập trình máy Client 3.Kết luận Dựa vào kết đạt hồn tồn sử dụng nhiều lĩnh vực: - Tự động hóa nhà thơng minh - Phục vụ công tác nghiên cứu sinh viên - Sử dụng nhiệm vụ nguy hiểm độc hại - Công tác quốc phịng đào tạo mơ buồng lái, Robot dị mìn…vv Qua thời gian nghiên cứu đề tài nhóm phát triền cơng cụ DAQ với tính tương đương với công cụ DAQ giá rẻ hãng khác PLX, NI,ALIGENT nhiều hạn chế bước tiền đề cho phát triển hệ DAQ lớn nhiều tính Tài liệu tham khảo ANALYST THE DATA AND PROCESS DATA_IN[] END Hình - Sơ đồ giải thuật Vi điều khiển Phân tích lưu đồ giải thuật : - Dữ liệu truyền nhận lưu mảng Data_in[] Data_out[] - Vi điều khiển liên tục hỏi vòng nhận lệnh thực thi lệnh từ máy tính xuống có liệu đến (kbhit()=1) 05/2013 [1].PIC18F2455/2550/4455/4550 DATA SHEET, 2004 MICROCHIP [2].SPECTROSCOPE AMPLIFIER 2021CANBERRA [3] Analog to digital converter 8075-CANBERRA [4] Diễn đàn dientuvietnam.net [5] Facebook codientu.org

Ngày đăng: 31/05/2023, 07:55

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w