Kết luận chương

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu thực thi bộ điều khiển robot công nghiệp trên nền tảng FPGA (Trang 43)

L ỜI CAM ĐOAN

1.2.2. Kết luận chương

a) Các yêu c u bài toán ầ

Yêu cầu đặt ra cho bài toán là:

- Thực thi b ộ điều khi n chuyể ển động đối tượng s d ng Kit SoC ng d ng n n ử ụ ứ ụ ề

t ng FPGA c a Altera xây d ng mô hình gả ủ để ự ải lập xe robot.

- Kiểm th ử và đánh giá kêt quảthực thi trên mô hình xe robot gi l p ả ậ b) Giới hạn của đề tài

Bài toán ch d ng l i robot mô hình nh , không chỉ ừ ạ ỏ ịu được tải trọng lớn, chưa đầy đủ các linh kiện điệ ử đển t thi t k hoàn ch nh theo yêu c u bài toán. Và các ế ế ỉ ầ

tính toán ở đây chỉ mang tính ch t thí nghiấ ệm chưa đảm bảo được tính chính xác cao.

CHƯƠNG II: THIẾT KẾ HỆ THỐNG

2.1.Sơ đồ kh i t ng th c a h th ng ố ổ ể ủ

Hình 2. 1 Sơ đồ ấ c u chúc c a h thng

H ệ thống được xây dựng trên cơ sở 4 module l n: g m module mớ ồ ạch điều khiển động cơ, module ph n c ng c a bo mầ ứ ủ ạch điều khi n trung tâm, ph n mể ầ ềm chạy trên linux arm để điều khi n tr c ti p t i ph n c ng, module ể ự ế ớ ầ ứ cuối cùng là ph n ầ

m m xây d ng trên Máy tính PC hoề ự ặc trên điện thoạ ểi đ tương tác với người dùng.

2.2. Sơ đồ đặ ả ệ c t h thng

H ệthống ch yủ ếu được thực thi trên module điều khi n. D ể ự án này cũng chủ

y u l p trình FPGA và l p trình code C trên module này. Module này g m 2 phế ậ ậ ồ ần

chính đó là thiế ết k ph n c ng và thi t k ph n m m. D án robot có các file chính ầ ứ ế ế ầ ề ự

là lo i FPGA Bitstream: soc_system.rbf ạ và chương trình smart_car chạy trên Linux. Chức năng chính của FPGA Bitstream là cung c p b ấ ộ điều khiển PWM để điều khiển quay 2 động cơ một chi u cề ủa robot. Chương trình smart_car được ch y trên ạ

Linux nhúng trong Altera SoC. Chức năng chính của chương trình này là điều khi n ể

thông qua yêu c u cầ ủa người dùng tới các thanh địa ch ỉ được liên k t t ph n c ng ế ừ ầ ứ

Hình 2. 2 Sơ đồkhố ệi h thng

Trong hình 2.2 th hi n r t rõ các chể ệ ấ ức năng và liên kế ủt c a h ệthống. Trong

đó phần HPS/ARM là nơi hệ điều hành linux được nhúng trên đó, từ đó người thi t ế

k có th l p trình các ng dế ể ậ ứ ụng đểthực thi các lệnh điều khi n các chể ức năng thiết k t ph n c ng. Các ph n c ng này ế ừ ầ ứ ầ ứ được thi t k và th c thi trên phế ế ự ần FPGA/QSYS và thông qua b ộ điều khiển PWM để điều khiển động cơ. Đây chính

là phiên b n r t nhiả ấ ều tính năng vượt tr i s d ng công ngh k t h p gi a FPGA ộ ử ụ ệ ế ợ ữ

2.3. Sơ đồ nguyên lý và các module c a h thng2.3.1. Sơ đồ nguyên lý t ng thê 2.3.1. Sơ đồ nguyên lý t ng thê

Hình 2. 3 Sơ đồ thi t k ế ếphn cứng điều khin hthng

Hình 2.3 th ể hiện sơ đồ khố ủi c a d án Quartus FPGA c a d ự ủ ự án điều khiển

robot dò đường. D ự án này đượ ạc t o trong Qsys. B ộ điều khiển PWM được thi t k ế ế trong Qsys đượ ử ụng để ềc s d đi u khiển 2 động cơ của robot. B ộ điều khiển PIO cho

LED[6:0] và KEY[1:0] trong Qsys được bao g m và k t n i v i HPS. Vì v y mà ồ ế ố ớ ậ

HPS/ARM có th truy cể ập các thiế ịt b ngoại vi. LED[7] được k t nế ối đểđếm như một xung clock. Khi FPGA đượ ấc c u hình với dự án Quartus này thì đèn LED[7] sẽ sáng.

2.3.2. Module u khi n điề ể động cơ

u khi m v chuy i tín hi u khi n t kh

Khối điề ển động cơ có nhiệ ụ ển đổ ệu điề ể ừ ối

điều khi n trung tâm thành tín hiể ệu điện áp để thay đổ ốc đội t và chi u quay c a ề ủ động cơ. Trên thự ế ấc t , r t nhi u mề ạch điều khiển động cơ có thể đả m nh n c hai ậ ả

nhi m v ệ ụ này như: mạch c u H dùng BJT ho c FET, m ch 1 FET + 1 relay, IC 298, ầ ặ ạ IC TD18200… Tùy vào ứng d ng c th , v i các giá tr dòng áp theo yêu c u mà ụ ụ ể ớ ị ầ

l a ch n mự ọ ạch điều khiển động cơ cho phù hợ . Sơ đồp m ch nguyên lý c a khạ ủ ối

Hình 2. 4 Mạch điều khi n motor

2.3.3. Module điều khin hthng

Các thi t b SoC FPGA có cế ị ấu trúc tương tự nhau, vì v y trong ph n này s ậ ầ ẽ

mô t c ả ụ thể ề ế v ki n trúc c a thi t b Altera Cyclone V SoC. Thi t b SoC bao gủ ế ị ế ị ồm hai ph n riêng bi t, m t là b x lý c ng (HPS) lõi kép ARM Cortex A9 và hai là ầ ệ ộ ộ ử ứ

ph n FPGA. B x lý HPS tích h p nhi u lo i thi t b ngo i vi cho phép gi m kích ầ ộ ử ợ ề ạ ế ị ạ ả thước bo mạch và tăng hiệu năng hoạt động c a h th ng. ủ ệ ố Trong đó:

FPGA:

Thiết bị Altera Cyclone® V SE 5CSEMA4U23C6N Thiết vị ấ c u hình c ng Serial EPCS128ổ –

C ng USB-Blaster II onboard nổ để ạp chương trình; JTAG Mode 2 Nút ấn

4 Công tắc gạt

8 đèn LEDs màu xanh

Ba ngu n xung clock 50MHz t b t o xung ồ ừ ộ ạ clock

Hai bộ chân c m GPIO 40-pin expansion headerắ

M t Arduino expansion header (Uno R3 compatibility), có th kộ ể ết nối với Arduino shields.

Một bộ chân c m 10-pin Analog input expansion header. (chia s v i Arduino ắ ẻ ớ

Analog input)

B chuyộ ển đổi A/D, 4-wire SPI giao ti p v i FPGA ế ớ HPS (Hard Processor System, H thng x lý cng):

B vi x lý 925MHz Dual-core ARM Cortex-ộ ử A9 1GB DDR3 SDRAM (32-bit data bus)

1 Gigabit Ethernet PHY V i b k t n i RJ45ớ ộ ế ố

C ng USB OTG, B kổ ộ ết nối USB Micro-AB Chân cắm thẻ nh ớ Micro SD card

Accelerometer (I2C interface + interrupt) C ng k t n i UART to USB, USB Mini-Bổ ế ố

Nút reset nóng và nút reset ngu iộ

Một nút cho ngườ ử ụi s d ng và một nút điều khi n LED ể cho người sử ụ d ng Giao tiếp chân căm LTC 2x7

Tất cảcác kế ối đã đượt n c thiết lập theo thiết bị Cyclone V SoC FPGA để cung c p ấ

tối đa các tiện dụng cho người dùng. Người dùng có th cể ấu hình FPGA để phù h p ợ

với thiết kế ủ c a mình.

Sơ đồ kh i Kit DE0-ố Nano được mô t trong hình 2.5 bao g m các thi t b ả ồ ế ịsau:

FPGA Device

Cyclone V SoC 5CSEMA4U23C6N Device Dual-core ARM Cortex-A9 (HPS)

40K programmable logic elements 2,460 Kbits embedded memory 5 fractional PLLs

Configuration and Debug

Serial configuration device EPCS128 on FPGA–

Onboard USB-Blaster II (Mini-B USB connector)

Hình 2. 5 Sơ đồkhố ủi c a Kit DE0 Nano Memory Device (Thiết bị ộ b nh)

1GB (2x256Mx16) DDR3 SDRAM trên HPS

M t khe c m th ộ ắ ẻnhớ Micro SD trên HPS

Communication (Kết ni)

One USB 2.0 OTG (ULPI interface with USB Micro-AB connector) UART to USB (USB Mini-B connector)

10/100/1000 Ethernet

Connectors (Bộ ế k t ni)

Two 40-pin expansion headers Arduino expansion header One 10-pin ADC input header

One LTC connector (one Serial Peripheral Interface (SPI) Master ,one I2C and one GPIO interface )

ADC

12-Bit Resolution, 500Ksps Sampling Rate. SPI Interface. 8-Channel Analog Input. Input Range : 0V ~ 4.096V.

Switches, Buttons, and Indicators (Công tác, nút nhn)

3 user Keys (FPGA x2, HPS x1) 4 user switches (FPGA x4)

9 user LEDs (FPGA x8, HPS x 1)

2 HPS reset buttons (HPS_RESET_n and HPS_WARM_RST_n)

Sensors (Cm biến)

G-Sensor on HPS

Power (Ngun)

5V DC input

Trên Board này người dùng có th thi t k ph n c ng theo mể ế ế ầ ứ ục đích yêu cầu c a d ủ ự

án trên ph n FPGA, và l p trình ph n mầ ậ ầ ềm trên h ệ điều hành Linux ch y trên chip ạ

ARM của Board điều khi n các thành ph n FPGA theo thi t k thông qua các kể ầ ế ế ết nối của hệthống.

2.3.4. Module dò đường

Nguyên lý hoạt động c a m ch c m bi n thu phát quang d a trên s h p th ủ ạ ả ế ự ự ấ ụ

và ph n x ánh sáng c a các màu s c khác nhau c a nả ạ ủ ắ ủ ền và đường đi. Vạch màu trắng có kh ả năng phản x ánh sáng tạ ốt hơn vạch màu đen. Khi đó, quang tr s ở ẽ

nhận được các tia sáng ph n x ả ạ có cường độ ớ l n làm cho giá tr ị điện tr gi m khá ở ả

nhi u, dề ẫn đến điện áp trên quang tr là Vmin s ở ẽthấp. Ngượ ạc l i, vạch màu đen có

kh ả năng phản x ạ ánh sáng kém hơn vạch màu trắng. Khi đó, quang trở nhận được các tia sáng ph n x ả ạ có cường độ thấp làm cho giá tr ị điện tr c a quang tr giở ủ ở ảm

không đáng kể ẫn đến điệ, d n áp trên quang tr lúc này là Vmax s cao (hình 2.6). ở ẽ

Hình 2.6 thể ện sơ đồ ạ hi m ch nguyên lý của cảm bi n. ế (1)

Điện áp trên bi n tr Vế ở ref, được tính theo công thức (1), dùng để so sánh v i ớ điện áp t quang tr chuyừ ở để ển đổi thành các mức logic 0 tương ứng v i 0Vdc ho c ớ ặ

Hình 2. 6 Sơ đồ m ch modul e dò đường 2.4. L a ch n cu hình h thng

Để ự l a chọn được c u hình h th ng phù h p v i yêu c u bài toán, chúng tôi ấ ệ ố ợ ớ ầ đã tìm hiều các h ệ thông như trong phần 2.3 đã phân tích, và sau đó đưa ra các lựa chọn phù hợp để thi t kế ế thành mô hình như trong hình 2.7 dưới đây:

H ệ thống g m có các khồ ối như trong hình 2.7 được phân làm 3 kh i chính: ố

khối điều khi n h ể ệ thống; Khối điều khiển động cơ; khối dò đường. Và nhi u các ề

khối khác như khối ngu n, khồ ối động cơ. Tuy nhiên trong bài luận văn này chúng

tôi ch ỉ đi sâu và tìm hiều 3 kh i chínhố , và đặc biệt đi sâu phân tích khối điều khiển h ệ thống, vì t t c ấ ả nhưng thao tác thiết k , l p trình FPGA và l p trình ph n mế ậ ậ ầ ềm b ng ngôn ng ằ ữ C đều n m trên khằ ối điều khi n. ể Khối điều khi n trung tâm này là ể

m t Kit DE0-Nano s ộ ẽ được trình bày chi tiết trong ph n 2.4.1 ầ 2.4.1. Khối điều khin hthng

Hình 2. Kh8 ối điều khi n Kit DE0 Nano

Khối điều khi n h th ng là m t board DE0-ể ệ ố ộ Nano-SoC. Nó s d ng chip ử ụ

ARM/HPS ch y h ạ ệ điều hành linux. H ệ thống được c u hình sao cho khấ ởi động t ừ

thẻ nh MicroSD trên DE0-ớ Nano-SoC. Hệ điều hành linux và các file FPGA

bitstream được lưu trữ trên th nh MicroSD (file soc_system.rbf; socfpga.dtb; u-ẻ ớ

boot.scr; zImage). Để chế độ Linux boot v i MSEL[4:0]=00000 thì bootloader s ớ ẽ được c u hình FPGA khi khấ ở ội đ ng v i file soc_system.rbf. ớ

Trong c u t o kh i hình 2.8, chúng ta th y có thành ph n chính: thành phấ ạ ố ấ ầ ần

FPGA được đánh dấu và chú thích màu xanh lá cây, các thành ph n này giao ti p ầ ế

trực ti p và các thành ph n khác c a h ế ầ ủ ệthống và đã được thi t k lế ế ập trình đểthực thi các nhi m v theo yêu c u bài toán. Thành phệ ụ ầ ần HPS được đánh dấu và chú thích màu Cam, các thành phần này được thi t k c ng c ế ế ứ ố định để ế ố k t n i gi a các ữ

thiết k FPGA v i h ế ớ ệ thống (System). Thành ph n h ầ ệ thống (System) được đánh

dấu và chú thích màu xanh nước bi n g m có m t lõi x ể ồ ộ ử lý ARM trung tâm để tính toán và xử lý bài toán.

2.4.2. Khối điền khiển động cơ

Trong d án này, tác gi s dự ả ử ụng IC L298 để thiết k và ch t o cho mế ế ạ ạch

điều khiển động cơ. IC này được tích h p 2 m ch c u H, có th hoợ ạ ầ ể ạt động ở điện áp tối đa 46Vdc và dòng điện định m c t ng cứ ổ ộng là 5A. Hơn nữa, L298 có kh ả năng đảo chiều quay và thay đổ ốc đội t quay của động cơ một cách d dàng b ng cách s ễ ằ ử

dụng phương pháp PWM. L298 được thiết kế và lắp đặt như hình 2.9

Trên hình 2.9: Các chân cắm đầu vào INA, INB, INC, IND được n i v i dây ố ớ

d n sang chân c m GPIO c a SoCKit khẫ ắ ủ ối điều khi n h ể ệ thống. Các chân OUTA, OUTB, OUTC, OUTD t ng cừ ặp được nối với 2 động cơ.

2.4.3. Khối dò đường

Khối dò đường s d ng mử ụ ạch dò đường New Way với điện áp vào 5 V và

dòng điện 100mA, s dử ụng IC 74HC14D để ử x lý các thông tin của 5 đèn cảm bi n ế

màu s c và 1 cắ ảm biển gần đưa ra đầu ra là các tín hi u s ệ ố 0 và 1 đểthể ệ hi n k t qu ế ả

c a c m biủ ả ến. Khi các đèn cảm bi n màu s c tr v giá tr 1 là lúc g p dế ắ ả ề ị ặ ải màu đen

của vạch chỉ đường. Được thể ện như hình 2.10 hi

Hình 2. Kh10 ối dò đường

Trên hình 2.10: Các chân đầu ra c a c m bi n t ủ ả ế ừs1 -> s7 được n i v i dây ố ớ

d n nẫ ối đến các chân c m GPIO c a SoCkit bên khắ ủ ối điều khi n h ể ệthống. Trong đó

chân s1- 5 là chân c a các c m bi n h ng ngo>s ủ ả ế ồ ại tương ứng với các đèn LED từ U1

CHƯƠNG III: XÂY DỰNG HỆ THỐNG

3.1. Xây d ng ph n cng 3.1.1. Dự án Quartus cơ bản

D án Quartus my_first_hps-fpga_base là có sự ẵn trong thư mục DE0-Nano-

SoC trong đĩa CD đi kèm với Kit:

CD-Rom: \Demonstration\SOC_FPGA\my_first_hps_fpga_base

D án quartus này bao g m t t c các chân khai báo c n thi t cho c HPS và ự ồ ấ ả ầ ế ả

FPGA. Chú ý chân khai báo c a HPS c n ph i ch rõ t i tr c ti p các chân và ủ ầ ả ỉ ớ ự ế chân IO chu n. D ẩ ự án này cũng bao gồm các h ệ thống Qsys cơ bản và các thành ph n ầ

c a HPS. Các thành ph n củ ầ ủa HPS đã được thi k và c u hình chu n trong thi t k ết ế ấ ẩ ế ế

ph n c ng c a HPS DE0-ầ ứ ủ Nano-SoC.

Hình 3. 1 Thành ph n HPS hps_0 trong h thng Qsys

Để phát tri n chúng ta có th m h thể ể ở ệ ống Qsys trong khi đang mở ự d án Quartus, và nhấn chọn vào menu “Tools >Qsys” trong Quartus II. Khi cử- a s Qsys ổ

xu t hi n, nó s hấ ệ ẽ ỏi người dùng ch n m t file h ọ ộ ệthống Qsys. Trong trường h p này ợ

Hình 3.2 minh h a các c ng ligthweight HPS- -FPGA AXI Master cọ ổ to ủa thành phần HPS. Người phát tri n có th k t n i c ng này t i m i c ng memory-ể ể ế ố ổ ớ ọ ổ

mapped slave c a các thành phủ ần mà người phát tri n s truy xuể ẽ ất từ HPS/ARM.

Hình 3. 2 C ng AXI Master ca thành phn HPS 3.1.2. Phát trin trên nn tng dự án cơ bản

Phần này s minh h a cách th c thêm vào m t thành ph n PIO trong Qsys, ẽ ọ ứ ộ ầ

và làm th ế nào để ế ố k t n i thành ph n PIO này v i thành ph n HPS. Thành ph n PIO ầ ớ ầ ầ

này s dử ụng để điều khiển đèn LED kế ố ới FPGA. Đầt n i v u tiên hãy sao chép d ựán Quartus my_first_hps_fpga_base tới thư mục trên máy tính. M d án và m file ở ự ở Qsys “soc_system.qsys”.

Trong hộp thư viện c a công c Qsys, nh n t ủ ụ ậ ừ khóa ‘pio’ nhấn tìm ki m s ế ẽ

xu t hi n c a s ấ ệ ử ổ như hình 3.3. Khi “PIO (Parallel I/O)” xuất hi n, ch n nó và sau ệ ọ đó nhấn vào “Add …” để thêm thành ph n PIO vào h th ng Qsys. ầ ệ ố

Hình 3. 3 Tìm và thêm thành ph n PIO

Khi c a s PIO xu t hi n, chúng ta củ ổ ấ ệ ần thay đổi độ ộng Width là 8, và đả r m b o ch c ch n rả ắ ắ ằng “Output” trong thẻ Direction đượ ực l a chọn, và thay đổi giá tr ị

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu thực thi bộ điều khiển robot công nghiệp trên nền tảng FPGA (Trang 43)

Tải bản đầy đủ (PDF)

(87 trang)