Đăng ký Đăng nhập

Tài liệu Tiểu luân

.DOCX
36
287
97

Mô tả:

ứng dụng arduino trên matlab
Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab LỜI GIỚI THIỆU  Từ thuở còn học cấp 1 tôi luôn mong ước có một chiếc xe điều khiển từ xa hoặc một chiếc máy bay trực thăng.khi mà giấc mơ đó thành hiện thực tôi lại thích tìm hiểu cấu tạo của nó, nhiều câu hỏi trong đầu tôi đặt ra :” sao nó có thể chạy được, cấu tạo của nó ra sao” máu công nghệ dường như đã ăn vào con người tôi ngay từ nhỏ và rồi khi lớn tôi quyết tâm theo chuyên ngành điện tử.  Và rồi sau sự tìm tòi và hướng dẫn của giáo viên tôi biết tới arduino. bây giờ, nếu bạn muốn bật tắt một bóng đèn một cách tự động, đảo hướng một mô tơ một cách dễ dàng, đọc tín hiệu của các cảm biến thì bạn cần một mạch arduino. hãy nghĩ một cách đơn giản, bạn muốn điều khiển, quản lý, ... thứ gì liên quan đến điện tử thì arduino sẽ giúp bạn rất nhiều! arduino ra đời tại thị trấn ivrea, nước ý và được đặt theo tên một vị vua vào thế kỷ thứ 9 là king arduin. nó chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ cho sinh viên học tập của giáo sư massimo banzi, một trong những người phát triển arduino tại trường interaction design instistute ivrea (idii). dù hầu như không có một sự tiếp thị hay quảng cáo nào nhưng tin tức về arduino vẫn lan truyền với tốc độ chóng mặt nhờ vô vàn lời truyền miệng tốt đẹp của những người dùng đầu tiên. arduino hiện nay đã được biết đến một cách rộng rãi tại việt nam, và trên thế giới thì nó đã quá phổ biến! sức mạnh của chúng ngày càng được chứng tỏ theo thời gian với vô vàn các ứng dụng mở (open source) độc đáo được chia sẻ rộng rãi. với arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảm biến ánh sáng bật tắt đèn, mạch điều khiển động cơ,... hoặc cao hơn nữa bạn có thể làm những sản phẩm như: máy in 3d, robot, khinh khí cầu, máy bay không người lái,...  Hiện nay arduino nổi tiếng trên toàn thế giới đến nỗi có người đã tìm đến thị trấn ivrea chỉ để tham quan nơi đã sản sinh ra nền tảng thú vị này. nếu bạn là một fan cuồng của arduino như tôi, bạn nên tới đây một lần trong đời. SINH VIÊN LÊ ĐỨC TÀI SVTH : Lê Đức Tài 3002140029 Page 1 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN --- --............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... .............................................................................................................. ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... .............................................................................................................. ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... ............................................................................................................... ngày tháng năm Giáo Viên Hướng Dẫn SVTH : Lê Đức Tài 3002140029 Page 2 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab MỤC LỤC >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Contents A PHẦN MỞ ĐẦU.............................................................................................................................3 1 Đặt Vấn Đề....................................................................................................................................3 2 Giải Quyết Vấn Đề........................................................................................................................3 3 Giới Hạn Đề Tài............................................................................................................................3 B.PHẦN NỘI DUNG............................................................................................................................5 CHƯƠNG 1 : GIỚI THIỆU CHUNG...............................................................................................5  Hướng Dẫn Cài Đặt Arduino Cho Matlab................................................................................5  Sữ Dụng Help Để Xem Ví Dụ.................................................................................................8  Viết Một Chương Trình Đơn Giản......................................................................................10 1.1 Matlab Là Gì ?....................................................................................................................10 1.2. Giới Thiệu Chung Về Arduino..............................................................................................11 1.3. Arduino Là Gì ?.....................................................................................................................12 a. Giới Thiệu Về Board Arduino Uno......................................................................................14 b. Giới Thiệu Về Board Arduino Nano...................................................................................15 1.4 ví dụ điều khiển tốc độ động cơ một chiều bằng xung pwm:..............................................17 1.5. thư viện arduinoio....................................................................................................................17 CHƯƠNG 2: HƯỚNG DẪN VỀ MATLAB/SIMULINK..............................................................20 2.1 Sử Dụng Matlab......................................................................................................................21 a/ Định Nghĩa Biến:...................................................................................................................21 b/ Làm Việc Với Mảng..............................................................................................................22 C/ M-File....................................................................................................................................24 2.2 Simulink....................................................................................................................................25 CHƯƠNG 3: SỬ DỤNG BO MẠCH ARDUINOUNO VÀ THƯ VIỆN ARDUINOIO ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ MỘT CHIỀU..................................................................................31 SVTH : Lê Đức Tài 3002140029 Page 3 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab 3.1. Thông Số Động Cơ.................................................................................................................31 3.2. Sơ Đồ Nguyên Lý Hệ Thống.................................................................................................31 3.3 Xây Dựng Cấu Trúc Điều Khiển Hệ Thống Sử Dụng Matlab/Simulink.......................32 3.4 đáp ứng tốc độ của động cơ............................................................................................32 C . Phần Kết Luận...............................................................................................................................34 I. Kết Luận.................................................................................................................................34 I. Những Hạn Chế Của Đề Tài.................................................................................................34 II. Hướng Phát Triển...............................................................................................................34  tài liệu tham khảo.....................................................................................................................34 SVTH : Lê Đức Tài 3002140029 Page 4 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab A PHẦN MỞ ĐẦU 1 Đặt Vấn Đề Ngày nay, ngành điều khiển đang trên đà phát triển mạnh và đạt được nhiều thành tựu lớn trong công nghiệp, những con robot làm việc nhà, những chiếc xe điều khiển từ xa mà khi bé ta thường chơi hay những chiếc xe lớn hơn mà trong các công ty hay sử dụng. để là được điều đó chúng ta cần nhắc tới arduino. thiết bị điều khiển cũng giống như là một bộ nào của con người. và hiện nay matlab đã hỗ trợ phần cứng khá là nhiều ( mặc dù vẫn thua xa labview). điểm sơ qua thì thấy nó đã hỗ trợ arduino, stm32, robot mindstorm của lego, fpga của xilinx hay máy tính nhúng,etc. việc kết nối phần cứng sẽ làm đơn giản hóa việc xây dựng, tính toán thuật toán , xây dựng hàm truyền rồi chạy trên phần cứng nếu làm theo truyền thống thì sẽ phải dùng matlab xây dựng hàm truyền, tính toán các hệ số rồi lại vào arduino ide code như truyền thống. nhưng việc hỗ trợ này sẽ giúp chúng ta có thể viết thuật toán và code arduino trên matlab. tất nhiên là cú pháp câu lệnh sẽ khác một chút xíu và thư viện trên matlab cũng sẽ ít hơn nhiều, nhưng sẽ cập nhật nhiều trong thời gian gần. Vì vậy nhóm chúng em đã chọn đề tài “ tìm hiểu ứng dụng arduino trên matlab” . 2 Giải Quyếết Vấến Đếề Giới thiệu về matlab và arduino nêu lên những ứng dụng cũng như là giới thiệu về thư việc arduino và matlab. cho ví dụ nhằm mô phông cách sử dụng bo mạch arduinouno và thư viện arduinoio điều khiển tốc độ động cơ một chiều 3 Giới Hạn Đề Tài Hiện nay hầu hết tất cà trường đào tạo về kĩ thuật đa số đều không hướng dẫn về arduino việc tự học arduino còn là nhiều khó khăn. thư viện matlab và arduino chưa đầy đủ so với kiến thư rộng lớn do arduino mang lại. SVTH : Lê Đức Tài 3002140029 Page 5 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình1 SVTH : Lê Đức Tài 3002140029 Page 6 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab B.PHẦN NỘI DUNG CHƯƠNG 1 : GIỚI THIỆU CHUNG  Hướng Dẫn Cài Đặt Arduino Cho Matlab  cài đặt arduino ide như bình thường ( download từ trang chủ arduino.cc )  cài đặt hardware support từ matlab hình 2b SVTH: Lê Đức Tài Page 7 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình 2b SVTH: Lê Đức Tài Page 8 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình 2c hình 2d SVTH: Lê Đức Tài Page 9 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab  Sữ Dụng Help Để Xem Ví Dụ hinh2e SVTH: Lê Đức Tài Page 10 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình 2g SVTH: Lê Đức Tài Page 11 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab  Viết Một Chương Trình Đơn Giản khi cắm arduino vào máy tính, xác định loại board, port thì viết như sau (tham khảo help phía trên) hình2h I.1 Matlab Hiện tại matlab đã hỗ trợ phần cứng khá là nhiều ( mặc dù vẫn thua xa labview). điểm sơ qua thì thấy nó đã hỗ trợ arduino, stm32, robot mindstorm của lego, fpga của xilinx hay máy tính nhúng,etc. việc kết nối phần cứng sẽ làm đơn giản hóa việc xây dựng, tính toán thuật toán , xây dựng hàm truyền rồi chạy trên phần cứng Nếu làm theo truyền thống thì sẽ phải dùng matlab xây dựng hàm truyền, tính toán các hệ số rồi lại vào arduino ide code như truyền thống. nhưng việc hỗ trợ này sẽ giúp chúng ta có thể viết thuật toán và code arduino trên matlab. tất nhiên là cú pháp câu lệnh sẽ khác một SVTH: Lê Đức Tài Page 12 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab chút xíu và thư viện trên matlab cũng sẽ ít hơn nhiều, nhưng sẽ cập nhật nhiều trong thời gian gần. matlab hỗ trợ 2 kiểu code cho arduino:   Code trên command window Code theo graphics language trên simulink Matlab là một môi trường tính toán số và lập trình, được thiết kế bởi công ty mathworks. matlab cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dung, liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác và truyền thông kết nối thiết bị thực qua các cổng kết nối nối tiếp, song song của máy tính. với thư viện toolbox, matlab cho phép mô phỏng tính toán, thực nghiệm nhiều mô hình trong thực tế và kỹ thuật. đặc biệt khi kết hợp với các bo mạch thu thập dữ liệu, matlab có thể đóng vai trò là trung tâm điều khiển trong hệ thống điều khiển số. arduino là một hệ thống sản xuất các bo mạch mã nguồn mở được hình thành và phát triển từ năm 2005. do các bo mạch là mã nguồn mở nên đến nay hệ thống này đã phát triển rất mạnh mẽ và có thư viện hỗ trợ cho người sử dụng rất đa dạng, phong phú. là một thiết bị phần cứng, arduino có thể hoạt động độc lập với chức năng thực hiện các luật điều khiển, kết nối với máy tính, hoặc một thiết bị arduino khác, các thiết bị điện tử khác... thư viện arduinoio là một thư viện trong bộ công cụ simulink hỗ trợ các bo mạch arduino làm việc với matlabsimulink. kết hợp các bo mạch arduino và thư viện arduinoio, matlab có thể tiến hành thu thập dữ liệu, thực hiện thuật toán điều khiển dễ dàng để điều khiên đối tượng thực. 1.2. Giới Thiệu Chung Về Arduino Arduino thực sự đã gây sóng gió trên thị trường người dùng diy (là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với những gì apple đã làm được trên thị trường thiết bị di động. số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến. SVTH: Lê Đức Tài Page 13 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình 3 : những thành viên khởi xướng arduino. arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như mit, stanford, carnegie mellon phải sử dụng; hoặc ngay cả google cũng muốn hỗ trợ khi cho ra đời bộ kit arduino mega adk dùng để phát triển các ứng dụng android tương tác với cảm biến và các thiết bị khác? arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. đặc điểm nổi bật của arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. và điều làm nên hiện tượng arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. chỉ với khoảng $30, người dùng đã có thể sở hữu một board arduino có 20 ngõ i/o có thể tương tác và điều khiển chừng ấy thiết bị. arduino ra đời tại thị trấn ivrea thuộc nước ý và được đặt theo tên một vị vua vào thế kỷ thứ 9 là king arduin. arduino chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư massimo banzi, là một trong những người phát triển arduino, tại trường interaction design instistute ivrea (idii). mặc dù hầu như không được tiếp thị gì cả, tin tức về arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên. hiện nay arduino nổi tiếng tới nỗi có người tìm đến thị trấn ivrea chỉ để tham quan nơi đã sản sinh ra arduino 1.3. Arduino SVTH: Lê Đức Tài Page 14 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab Arduino là một nền tảng mà mọi thiết bị phần cứng đều được làm sẵn và chuẩn hóa, người dùng chỉ việc chọn những thứ mình cần, ráp lại là có thể chạy được. bạn muốn làm xe điều khiển từ xa ? arduino cung cấp cho bạn module điều khiển động cơ có sẵn, mạch điều khiển có sẵn, mạch thu phát sóng không dây có sẵn,… bạn sẽ không cần phải động não thiết kế mạch điện cho chiếc xe bởi đơn giản là mọi thứ đều có sẵn. giống như một con người với “thể xác” đã được xây dựng sẵn, một hệ thống arduino phải có “tâm hồn” để có thể “sống”. và tôi gọi việc tạo ra “tâm hồn” ấy là “lập trình”. tuy nhiên bạn sẽ không phải lập trình từ a đến z. mỗi thứ phần cứng gắn mác “arduino” đều có những đoạn lệnh đã được viết sẵn (gọi là thư viện) do cộng đồng người dùng arduino cùng phát triển. bạn chỉ việc bưng vào và xào nấu lại theo ý muốn của mình. tới đây, bạn đã giải quyết được vấn đề thứ 2. đừng lo nếu bạn không biết gì về lập trình bởi chúng chỉ giống như những bài tập tin học lớp 11 lặt vặt ở trường thôi. chính vì tính tiện lợi và đơn giản cho người sử dụng mà arduino đã trở thành một hiện tượng trong làng điện tử thế giới. những sản phẩm của cộng đồng người dùng arduino cũng như những thiết bị hỗ trợ arduino lớn đến mức không thể thống kê được. nó phát triển đến mức mà ta có thể gọi nó là một hệ sinh thái đa dạng như tiêu đề - giống như windows hay android. tôi tin rằng nếu bạn học chữ bằng những quyển vở tập viết thì bạn sẽ cần tới arduino để đến với điện tử. SVTH: Lê Đức Tài Page 15 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab SVTH: Lê Đức Tài Page 16 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab a. Giới Thiệu Về Board Arduino Uno arduino uno là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển avr atmega328. cấu tạo chính của arduino uno bao gồm các phần sau: hình 1.3a . board arduino uno. - cổng usb: đây là loại cổng giao tiếp để ta upload code từ pc lên vi điều khiển. đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính. - jack nguồn: để chạy arduino thỉ có thể lấy nguồn từ cổng usb ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được . lúc đó ta cần một nguồn từ 9v đến 12v. - có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (gnd) và một chân điện áp tham chiếu (aref). - vi điều khiển avr: đây là bộ xử lí trung tâm của toàn bo mạch. với mỗi mẫu arduino khác nhau thì con chip là khác nhau. ở con arduino uno này thì sử dụng atmega328. - Các thông số chi tiết của arduino uno: Vi xử lý: atmega328 SVTH: Lê Đức Tài Page 17 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab Điện áp hoạt động: 5v Điện áp đầu vào: 7-12v Điện áp đầu vào (giới hạn): 6-20v Chân vào/ra (i/o) số: 14 ( 6 chân có thể cho đầu ra pwm) Chân vào tương tự: 6 Dòng điện trong mỗi chân i/o: 40ma Dòng điện chân nguồn 3.3v: 50ma Bộ nhớ trong: 32 kb (atmega328) Sram: 2 kb (atmega328) Eeprom: 1 kb (atmega328) Xung nhịp: 16mhz b. Giới Thiệu Về Board Arduino Nano Board arduino nano có cấu tạo, số lượng chân vào ra là tương tự như board arduino uno tuy nhiên đã được tối giản về kích thước cho tiện sử dụng hơn. do được tối giản rất nhiều về kích thước nên arduino nano chỉ được nạp code và cung cấp điện bằng duy nhất 1 cổng mini usb. SVTH: Lê Đức Tài Page 18 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab hình 1.3b : board arduino nano. thông số kĩ thuật chi tiết: + Vi Xử lý atmega328 (phiên bản v3.0) + Điện Áp Hoạt Động 5V + Điện Áp Đầu Vào (Khuyến Nghị) 7-12 V + Điện Áp Đầu Vào (Giới Hạn) 6-20 V + Chân Vào/Ra Số 14 (6 Chân Có Khả Năng Xuất Ra Tín Hiệu Pwm) + Chân Vào Tương Tự 8 + Dòng Điện Mỗi Chân Vào/Ra + bộ nhớ SVTH: Lê Đức Tài 40 Ma 16 kb (atmega168), 32 kb (atmega328) kb dùng để nạp bootloader Page 19 Đồồ án 1 : Tìm hiểu ứng dụng arduino trên matlab 1.4 Ví Dụ Điều Khiển Tốc Độ Động Cơ Một Chiều Bằng Xung Pwm: hình 1.4 : sơ đồ mạch mã nguồn: int potpin = 0; int transistorpin = 9; int potvalue = 0; void setup() { pinmode(transistorpin, output);} void analogread(potpin) / 4; analogwrite(transistorpin, potvalue); } loop() { potvalue = 1.5. Thư Viện Arduinoio Thư viện arduinoio gồm hai gói phần mềm mã nguồn mở: gói mã lập trình ngôn ngữ cho bo mạch arduino và gói mã lập trình .m cho các khối trong môi trường simulink. để sử dụng được thư viện này, matworks khuyến cáo sử dụng phiên bản matlab 2012a trở lên. các bước cài đặt thư viện arduinoio: - Tải và giải nén thư viện arduinoio từ trang web http://mathworks.com. - Tải gói phần mềm xuống bo mạch arduinouno. gói phần mềm trong thư mục arduinoio/pde. - Thêm thư viện arduinoio cho matlab/simulink: đưa thư mục làm việc của matlab đến thư mục arduinoio. chạy tệp install_arduino.m để thêm thư viện arduinoio cho simulink. SVTH: Lê Đức Tài Page 20
- Xem thêm -

Tài liệu liên quan