Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
3,05 MB
Nội dung
LỜI CẢM ƠN Do kiến thức khả em nhiều hạn chế, nên báo cáo đồ án tốt nghiệp không tránh khỏi sai sót Em mong nhận góp ý Thầy, Cô bạn để nội dung báo cáo hoàn thiện Em xin gửi lời cảm ơn chân thành tới Thầy Nguyễn Thế Dũng , Giảng viên môn Thực Hành, Khoa Công nghệ Điện tử Truyền thông, tận tình hướng dẫn em chuyên môn, phương pháp làm việc để em xây dựng hoàn thành nội dung báo cáo đồ án tốt nghiệp theo kế hoạch Em xin gửi lời cảm ơn gia đình, Thầy, Cô bạn Khoa Công nghệ Điện tử Truyền thông, Trường Đại Học Công nghệ thông tin Truyền thông giúp đỡ tạo điều kiện cho em suốt trình làm đồ án hoàn thiện báo cáo đồ án tốt nghiệp Sau cùng, em xin chúc Thầy, Cô Khoa Công nghệ Điện tử Truyền thông Thầy, Cô Trường dồi sức khỏe niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho bạn khóa học Em xin chân thành cảm ơn! Thái Nguyên, Tháng 05 năm 2016 Đinh Gia Lễ LỜI CAM ĐOAN Em xin cam đoan toàn nội dung báo cáo em tự tìm hiểu nghiên cứu định hướng thầy giáo Nguyễn Thế Dũng hướng dẫn Nội dung báo cáo không chép vi phạm quyền từ công trình nghiên cứu Nếu lời cam đoan không đúng, em xin chịu hoàn toàn trách nhiệm trước pháp luật Thái Nguyên, tháng năm 2016 Sinh viên thực Đinh Gia Lễ MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU CHƯƠNG I GIỚI THIỆU PHẦN CỨNG INTEL GALILEO GEN 1.1 Giới thiệu phần cứng INTEL GALILEO GEN 1.2 Cấu trúc phần cứng 1.3 Khối xử lý trung tâm Quark SoC X1000 11 1.3.1 Mạch tích hợp SoC 11 1.3.2 Bộ xử lý Quark SoC X1000 400MHz 12 1.4 Lập trình cho IntelGalileo Gen2 cài đặt hệ điều hành 13 1.4.1 Lập trình 13 1.4.2 Cài đặt hệ điều hành 16 1.5 Ứng dụng Board IntelGalileo Gen2 22 1.5.1 Thiết lập phần cứng 22 1.5.2 Setting up AWS IoT 23 1.5.3 Cấu hình Intel Galileo cho AWS 24 1.5.4 Kết nối Intel Galileo tới AWS IOT 25 CHƯƠNG TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH LabVIEW 31 2.1 Giới thiệu ngôn ngữ lập trình LabVIEW 31 2.2 Các thành phần VI 32 2.2.1 Cửa sổ Front Panel 32 2.2.2 Cửa sổ Block Diagram 34 2.3 Các Control Indicator thường dùng 36 2.3.1 Các Control thường dùng 36 2.3.2 Các Indicator thường dùng 37 2.4 Các kiểu liệu LabVIEW 38 2.5 Các phép toán LabVIEW 39 2.6 Các phép so sánh LabVEW 40 2.7 Các vòng lặp, cấu trúc, công cụ thường sử dụng 40 2.7.1 Vòng lặp While (While Loop) 40 2.7.2 Vòng lặp For (For Loop) 41 2.7.3 Thời gian thực thi vòng lặp hàm Delay 42 2.7.4 Shift Register 43 2.7.5 Feedback Node 44 2.7.6 Cấu trúc Case 45 2.8 SubVI cách tạo SubVI 47 2.8.1 Khái niệm SubVI 47 2.8.2 Tạo SubVI từ VI 47 2.9 So sánh LabVIEW với ngôn ngữ lập trình truyền thống 49 CHƯƠNG III THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 51 3.1 Mô tả toán 51 3.2 Thiết kế phần cứng 51 3.2.1 Giao diện nối tiếp RS232 52 3.2.2 Những đặc điểm cần lưu ý chuẩn RS232 52 3.2.3 Các mức điện áp đường truyền 52 3.3 Thiết kế phần mềm 53 3.3.1 Giao diện Front Panel 53 3.3.2 Giao diện Block Diagram 54 3.4 Linh kiện sử dụng mạch 58 3.4.1 Module rơle 58 CHƯƠNG IV KẾT QUẢ THỰC NGHIỆM 65 4.1 Kết thực nghiệm 65 4.2 Đánh giá hoạt động 68 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 69 TÀI LIỆU THAM KHẢO 70 DANH MỤC HÌNH ẢNH Hình 1.1 KIT intel galileo gen Hình 1.2 Khối xử lý trung tâm Quark SoC X1000 11 Hình 1.3 : Kiểm tra kết nối với Board Intel Galileo 14 Hình 1.4: Kiểm tra cổng kết nối PC với Intel Galileo 14 Hình 1.5 : kiểm tra cổng kết nối PC với Intel Galileo 14 Hình 1.6: Kiểm tra upload chương trình lên Galileo .15 Hình 1.7: Kiểm tra chương trình upload thành công 15 Hình 1.8 : Chương trình upload thành công 15 Hình 1.9: So sánh kiến trúc RTOS OS chuẩn 17 Hình 1.10: Cấu trúc Hệ điều hành thời gian thực 18 Hình 1.11 :Sơ đồ cho thấy tất thành phần Linux cho người dùng, nhân phần cứng .19 Hình 1.12: Win32 Disk Imager 21 Hình 1.13: Format thẻ nhớ 21 Hình 1.14: Ghi file image tải lên thẻ 21 Hình Giao diện LabVIEW 31 Hình 2.2 Cửa sổ Front Panel .32 Hình 2.3 Bảng điều khiển Front Panel 34 Hình 2.4 Cửa sổ Block Diagram 35 Hình 2.5 Các kiểu liệu 38 Hình 2.6 Kiểu mảng LabVIEW 38 Hình 2.7 Các hàm sử dụng mảng 39 Hình 2.8 Các phép toán LabVIEW 40 Hình 2.9 Các phép so sánh LabVIEW 40 Hình 2.10 Vòng lặp While 41 Hình 2.11 Ví dụ vòng lặp While 41 Hình 2.12 Ví dụ vòng lặp For 42 Hình 2.13 Các hàm Delay 43 Hình 2.14 Shift Register 43 Hình 2.15 Feedback Node .44 Hình 2.16 Ví dụ sử dụng Feedback Node 45 Hình 2.17 Cấu trúc Case .45 Hình 2.18 Chương trình điều kiện đầu vào True 46 Hình 2.19 Chương trình điều kiện đầu vào False .46 Hình 2.20 Icon mặc định Icon sau tạo 48 Hình 2.21 Cách thức tạo Connector VI 49 Hình 3.1 : Sơ đồ khối 51 Hình 3.2 Khối hiển thị chương trình điều khiển thiết bị 54 Hình 3.3 Giao diện Block Diagram chương trình 54 Hình 3.4 Khối cầu hình cổng COM .55 Hình 3.5 Khối điều khiển 56 Hình 3.6 Cấu trúc Case 57 Hình 3.7 Khối hàm VISA Write 57 Hình 3.8 Khối Hàm VISA Read 58 Hình 3.9 Một module relay kiểu mẫu 58 Hình 3.10 Module relay kích mức cao 59 Hình 3.11 Module relay kích mức thấp .59 Hình 3.12 Module rơle 60 Hình 3.13 FT232LR 61 Hình 3.14 Sơ đồ nguyên lý FT232RL 62 Hình 3.15 Sơ đồ chân FT232RL 62 Hình 4.1 Mạch cứng sau hoàn thiện .66 Hình 4.2 Kết nối máy tính với KIT Intel Galileo Gen 66 Hình 4.4 Kết nối chân cho Module replay 67 LỜI NÓI ĐẦU Hiện nay, ngành kỹ thuật điện tử công nghệ thông tin tiến không ngừng Chúng ngày phát triển ứng dụng tất mặt đời sống Các thiết bị điện tử dùng Vi Điều Khiển sử dụng rộng rãi khắp ứng dụng tự động Các Vi Điều Khiển ngày đại, tốc độ xử lý nhanh hơn, ứng dụng rộng Intel Galileo bo mạch vi điều khiển chuyên dùng cho việc phát triển phần mềm phần cứng tương tự Andruino hay Raspberry Pi Và giống giải pháp nhà thông minh hay Internet of Things Intel Galileo đóng vai trò điều khiển trung tâm, kết nối với thiết bị điện tử, kết nối với điện thoại máy tính bảng có chạy ứng dụng đặc biệt LabVIEW ngôn ngữ/phần mềm sử dụng rộng rãi khoa học, kỹ thuật, giáo dục nhằm nhanh chóng dễ dàng tạo ứng dụng giao tiếp máy tính, đo lường, mô hệ thống, kết nối thiết bị ngoại vi với máy tính theo thời gian thực Và từ vấn đề nêu trên, thời gian thực đồ án tốt nghiệp em đưa đến định thực đề tài “Nghiên cứu tìm hiểu giao tiếp phần mềm Labview vi xử lý Intel Galelio Gen 2.0.” Đề tài gồm phần: - Chương 1: GIỚI THIỆU PHẦN CỨNG INTEL GALILEO GEN - Chương 2: GIỚI THIỆU PHẦN CỨNG INTEL GALILEO GEN - Chương 3: THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH - Chương 4: KẾT QUẢ THỰC NGHIỆM Sản phẩm mang tính chất thử nghiệm để học hỏi, trao đổi kinh nghiệm làm quen với thực tế Em kính mong quý Thầy cô bạn bè thông cảm góp ý cho em hoàn thiện đề tài để đạt hiệu cao Em xin chân thành cảm ơn thầy Nguyễn Thế Dũng hết lòng giúp đỡ, bảo để em hoàn thành đồ án Sinh viên thực Đinh Gia Lễ CHƯƠNG I GIỚI THIỆU PHẦN CỨNG INTEL GALILEO GEN 1.1 Giới thiệu phần cứng INTEL GALILEO GEN Intel Galileo bo mạch vi điều khiển chuyên dùng cho việc phát triển phần mềm phần cứng tương tự Andruino hay Raspberry Pi Intel Galileo Intel trưc tiếp phát triển sản phẩm đội ngũ phát triển Arduino chứng nhận đạt chuẩn tương thích với tảng Arduino Tại CES 2014, Intel trình diễn Intel Galileo với hệ thống điều khiển thiết bị điện tử qua kết nối không dây Và giống giải pháp nhà thông minh hay Internet of Things Intel Galileo đóng vai trò điều khiển trung tâm, kết nối với thiết bị điện tử, kết nối với điện thoại máy tính bảng có chạy ứng dụng đặc biệt Từ ứng dụng này, người dùng lệnh đến thiết bị nhờ Intel Galileo 1.2 Cấu trúc phần cứng Intel Galileo sản phẩm sử dụng chip Intel Quark X1000 - SoC thuộc dòng "Santa Clara" Intel sản xuất dựa dây chuyền công nghệ 32nm với mức độ tiêu thụ điện thấp Hình 1.1 KIT intel galileo gen Ethernet: Giúp mạch Intel Galileo kết nối với modem/router để kết nối với Internet (tốc độ tối đa lên đến 10/100 Mb/s) USB Client: Cổng cổng Micro USB (uUSB) lấy dây sạc điện thoại thông minh để sử dụng Cổng dùng để lập trình với chương trình Arduino từ máy tính Cổng cổng serial ảo Intel Galileo, thiết kế để lập trình với chương trình Arduino Khi người sử dụng cài hệ điều hành Linux khác (ví dụ debian) lập trình viên sử dụng Arduino để lập trình cho Galileo, mà phải dùng kiến thức điều khiển chân GPIO vi xử lý Quark USB 2.0 Host: Đây cổng USB dùng cho việc nhận tín hiệu thiết bị ngoại vi webcam, usb micro, usb, Ở Gen1 cổng có dạng MiniA sang Gen chuyển sang chuẩn TypeA, giúp cho việc kết nối với thiết bị ngoại vi thuận tiện Jack nguồn chuẩn 5.5: Được dùng để cấp điện áp cho board, từ 7-15VDC, Gen1 cấp mức điện áp 5V Khe cắm thẻ nhớ Reset Button: Nút bấm có chức reset lại chương trình nạp vào board Reboot Button: Nút bấm có chức khởi động lại toàn board, bao gồm hệ điều hành chương trình nạp vào board Không sử dụng nút không thực cần thiết trình khởi động hệ điều hành tốn không thời gian PCIe (Peripheral Component Interconnect Express): Cổng Intel Galileo sử dụng để gắn card Wifi vào Với card Wifi này, lập trình viên dễ dàng cài đặt Galileo truy cập vào Access Point (router Wifi) mà không cần sử dụng cục thu wifi (router Client) qua cổng LAN (Ethernet) Intel Galileo Gen2 thiết kế để phù hợp với Arduino Shiled, Intel Galileo Gen2 có: 14 chân Digital I/O, chân phát xung PWM Chúng sử dụng chế độ INPUT OUTPUT, sử dụng với hàm pinMode(), digitalWrite() digitalRead() mạch Arduino Các chân giao tiếp hoạt động mức điện áp 3.3V 5V Dòng cấp tối đa 10mA, dòng đỉnh 25 mA Mỗi chân có điện trở pull-up có trị số khoảng 5.6k đến 10k ohm chân Analog từ A0 đến A5 giao tiếp qua chip AD7298 Mỗi chân Analog cung cấp độ phân giải 12bit với 4096 giá trị khác I2C bus, TWI với chân SDA SLC nằm cạnh chân AREF TWI: gồm chân SDA (A4) SCL (A5) Hỗ trợ giao tiếp TWI thông qua thư viện Wire tương tự tảng Arduino SPI: Chạy xung mặc định 4Mhz để làm việc với Arduino shield, lập trình lên đến mức 25Mhz Dù Galileo có SPI Controler riêng hoạt động SPI Master, SPI Slave Do đó, Galileo SPI Slave cho SPI Master khác Galileo thiết bị slave kết nối với máy tính qua cổng USB Client UART (cổng Serial): Là cổng UART với tốc độ lập trình được, chân giao tiếp (RX) chân (TX) ICSP (SPI): Gồm chân tích hợp Serial Programming dùng để kết nối với shield Các chân hỗ trợ giao tiếp SPI thông qua thư viện SPI VIN: Chân cấp nguồn cho Galileo sử dụng nguồn (trái ngược với điện áp chuẩn 5V từ chân cắm nguồn) Bạn cấp nguồn cho Galileo từ chân này, hoặc, cấp nguồn từ chân cắm nguồn phía trước, bạn lấy điện áp chuẩn 5V từ chân Chân 5V output: Chân cấp nguồn 5V từ nguồn cấp cho Galileo hay từ nguồn USB Dòng tối đa chân cho shield 800mA Chân 3.3V output: Cấp điện áp 3.3V điều chế từ mạch điều áp Galileo Dòng tối đa chân cho shield 800mA GND: Chân nối cực âm nguồn điện IOREF: Cho phép shield điều chỉnh hoạt động phù hợp với điện áp hoạt động Galileo Chân IOREF kiểm soát chân mạch để lựa chọn mức điện áp làm việc shield 3.3V 5V 10 module Chính transistor nên sinh loại module rơ-le (có loại transistor NPN - kích mức cao, PNP - kích mức thấp) Kiểm tra module rơle cách thử cấp nguồn vào chân điều khiển (các chân điều khiển kiểm tra nào, diễn giải dưới) Kiểm tra loại transistor mà module rơ-le dùng, loại NPN module rơ-le kích mức cao, PNP module rơ-le loại kích mức thấp Hình 3.10 Module relay kích mức cao Hình 3.11 Module relay kích mức thấp 3.4.1.3 Thông số module rơ le Một module rơ-le tạo nên linh kiện thụ động rơ-le transistor, nên module rơ-le có thông số : Hiệu điện kích tối ưu Chẳng hạn, cần module relay làm nhiệm vụ bật tắt bóng đèn (220V) trời tối từ cảm biến ánh sáng hoạt động mức 5-12V ta cần loại module relay 5V (5 volt) module relay 12V (12 volt) kích mức cao (bạn 59 xem viết cảm biến ánh sáng để xem cách hoạt động cảm biến suy lại dùng module relay kích mức cao) Các mức hiệu điện tối đa cường độ dòng điện tối đa đồ dùng điện nối vào module rơ-le Hình 3.12 Module rơle 10A - 250VAC: Cường độ dòng điện tối đa qua tiếp điểm rơ-le với hiệu điện