1. Trang chủ
  2. » Công Nghệ Thông Tin

Ứng dụng vi xử lý galileo 2 0 trong đo và hiển thị tốc độ động cơ bước trên LCDc

71 473 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 2,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Như chúng ta đã biết động cơ bước là một loại động cơ không quay theo chế độ thông thường mà nó quay theo bước nên có độ chính xác rất cao về mặt điều khiển học, hiện nay động cơ bước đa

Trang 1

LỜI CẢM ƠN

Trước hết em xin chân thành gửi lời cảm ơn tới thầy giáo Nguyễn Anh Tuấn đã tận tình chỉ bảo, hướng dẫn và giúp em có những kiến thức cũng như kinh nghiệp quý báu

Em xin bày tỏ lòng biết ơn sâu sắc tới các thầy cô giáo trường đại học CNTT&TT và đặc biệt là các thầy cô giáo trong bọ môn điện tử viễn thông đã luôn nhiệt tình giảng dạy và giúp đỡ chúng em trong thời gian qua

Mặc dù có nhiều cố gắng nhưng thời gian thực hiện đồ án có hạn, vốn kiến thức nắm chưa được nhiều nên đồ án còn nhiều hạn chế Em rất mong được

sự góp ý, chỉ bảo của các thầy, cô để hoàn thành bài viết của mình

Em xin chân thành cảm ơn !

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan đây là công trình nghiên cứu của riêng em và được sự hướng dẫn khoa học của Ths Nguyễn Anh Tuấn Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo

Ngoài ra, trong đề tài còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc

Nếu phát hiện có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm về nội dung đề tài của mình Trường đại học CNTT&TT không liên quan đến những

vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

Thái Nguyên, tháng 6 năm 2016

Sinh viên Triệu Anh Tuấn

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 5

DANH MỤC CÁC CHỮ VIẾT TẮT 7

LỜI MỞ ĐẦU 1

CHƯƠNG 1: GIƠI THIỆU VỀ INTEL GALILEO 2.0 2

1.1 Tổng quan 2

1.2 Kết nối ngoại vi 3

1.3 Khối xử lý trung tâm Quark SoC X1000 6

1.3.1 Giới thiệu về SoC 6

1.3.2 Bộ xử lý Quark SoC X1000 400MHz 7

1.4 Lập trình cho Intel Galileo 2.0 và cài đặt hệ điều hành 9

1.5 Cài đặt hệ điều hành cho Intel Galileo 2.0 14

1.5.1 Hệ điều hành nhúng 14

1.5.2 Hệ điều hành Linux 17

1.6 Ứng dụng của Board Intel Galileo 2.0 22

1.7 Ưu nhược điểm của Board Intel Galileo 2.0 22

1.7.1 Ưu điểm 22

1.7.2 Nhược điểm 23

CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN 24

2.1 Yêu cầu bài toán 24

2.2 Giải pháp thiết kế 24

2.2.1 Sơ đồ khối 24

2.2.2 chức năng các khối 24

2.3 Một số linh kiện sử dụng trong mạch 25

2.3.1 Động cơ bước 25

2.3.2 LCD 16x2 51

2.3.3 ULN2003 53

Trang 4

2.3.4 Module Chuyển Đổi I2C cho LCD1602 54

CHƯƠNG 3: THIẾT KẾ VÀ THỰC THI 55

3.1 Sơ đồ nguyên lý 55

3.2 Thiết kế trên phần mêm corel 55

3.3 Lưu đồ thuật toán 57

3.4 Lắp đặt phần cứng 58

KẾT LUẬN 60

TÀI LIỆU THAM KHẢO 61

PHỤ LỤC 62

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Board Intel Galileo 2.0 2

Hình 1.2 Các cổng kết nối ngoại vi 3

Hình 1.3 Kết nối với card wifi 4

Hình 1.4 Cấu trúc của Intel Galileo 2.0 6

Hình 1.5 Arduino IDE 9

Hình 1.6 Kiểm tra cổng COM 10

Hình 1.7 Kiểm tra trong Devices Manager 10

Hình 1.8 Kiểm tra và upload chương trình lên Galileo 2.0 11

Hình 1.9 Thông báo đã up load thành công 11

Hình 1.10 Đèn báo trên board 12

Hình 1.11 Cấu trúc Hệ điều hành thời gian thực 17

Hình 1.12 Các thành phần của HDH linux 17

Hình 1.14 Hỉnh ảnh khi tải file image 19

Hình 1.15 Mở file để cài đặt 20

Hình 1.16 Format thẻ nhớ 21

Hình 1.17 Ghi file image 21

Hình 2.1 Sơ đồ khối của mạch 24

Hình 2.2 Một số mẫu động cơ bước trong thực tế .25

Hình 2.3 Cơ chế lái tờ giấy sử dụng động cơ bước được ứng dụng trong máy in.26 Hình 2.4 Các bộ phận cấu thành nên động cơ bước 26

Hình 2.5 Động cơ bước từ trở .27

Hình 2.6 Động cơ bước nam châm vĩnh cửu 28

Hình 2.7 Động cơ bước lai 29

Hình 2.8 Động cơ bước lưỡng cực 29

Hình 2.9 a) Sơ đồ quấn dây đơn cực .31

b) Ký hiệu trên sơ đồ nguyên lý .31

Hình 2.10 Ký hiệu động cơ bước đa năng trên sơ đồ nguyên lý .31

Hình 2.11 Cơ chế lái lưỡng cực điều khiển dòng điện và hướng từ thông trong cuộn dây 33

Hình 2.12 Cơ chế lái đơn cực điều khiển dòng điện và hướng từ thông trong cuộn dây 34 Hình 2.13 Động cơ bước đơn cực và lưỡng cực 35

Hình 2.14 Mạch nguyên lý điều khiển động cơ bước từ trở biến thiên .37

Trang 6

Hình 2.15 Các mạch nguyên lý triệt EMF ngược .38

Hình 2.16 Mạch nguyên lý điều khiển động cơ bước nam châm vĩnh cửu và lai đơn cực 39

Hình 2.17 Mạch nguyên lý điều khiển động cơ bước nam châm vĩnh cửu 40

và lai đơn cực có triệt EMF ngược bằng các diode 40

Hình 2.18 Mạch nguyên lý điều khiển động cơ bước nam châm vĩnh cửu 40

và lai đơn cực có triệt EMF ngược bằng tụ điện 40

Hình 2.19 Đường cong mô tả quan hệ giữa mô men và tốc độ cộng hưởng 41

Hình 2.20 Một số cách mắc công tắc 42

Hình 2.21 Sơ đồ ngõ vào ra của chíp ULN2003 43

Hình 2.22 Một mạch cầu H 44

Hình 2.23 Mạch cầu H ở chế độ thuận 44

Hình 2.24 Dòng điện khi chuyển chế độ thuận sang suy giảm nhanh 45

Hình 2.25: Một chế độ suy giảm chậm có ích 45

Hình 2.26 Mạch cầu có tích hợp mạch logic 46

Hình 2.27 Hai nửa cầu H 46

Hình 2.28 Sơ đồ chân chíp S244 47

Hình 2.29 Các ngõ vào ra chíp 293B/D 49

Hinh 2.30 Hình dạng một LCD 51

Hình 2.31 Sơ đồ chân LCD 51

Hình 2.32 Cấu tạo của ULN2003A 53

Hình 2.33 I2C 54

Hình 3.1 Sơ đồ nguyên lý 55

Hình 3.2 Mạch điều khiển động cơ bước trên corel 56

Hình 3.3 Hình ảnh thiết kế tổng thể 56

Hình 3.4 Lưu đồ thuật toán 57

Hình 3.5 Các khối trong mạch 58

Hình 3.6 Màn hình LCD 16x2 và module I2C 58

Hình 3.7 Tổng thể sản phẩm 59

Trang 7

DANH MỤC CÁC CHỮ VIẾT TẮT

CNTT&TT: Trường đại học công nghệ thông tin và truyền thông

RTOS: Hệ điều hành thời gian thực –RealTime Operating Systems

PCI: Peripheral Component Interconnection - Kết nối các thành phần ngoại vi

HDH: hệ điều hành

PWM: Pulse Width Modulation)

SoC: System on Chip

Trang 8

LỜI MỞ ĐẦU

Với sự phát triển ngày càng mạnh mẽ và rộng lớn của nền khoa học kỹ thuật Các công nghệ mới thuộc các lĩnh vực khác nhau cũng nhờ đó đã ra đời để đáp ứng những nhu cầu của xã hội Đặc biệt trong lĩnh vực điều khiển ngày càng phát triển mạnh mẽ với mức độ tự động hóa ngày càng cao Trong số đó phải nói đến vi điều khiển một thiết bị có tính tự động hoá cao và đang được ứng dụng rất rộng rãi trong đời sống hiện đại ngày nay, nhưng mức độ tự động hoá càng cao đòi hỏi thiết bị đi kèm phải có độ chính xác lớn Như chúng ta đã biết động cơ bước là một loại động cơ không quay theo chế độ thông thường mà nó quay theo bước nên có độ chính xác rất cao về mặt điều khiển học, hiện nay động cơ bước đang được ứng dụng rất rộng rãi trong thực tế như: điều khiển băng chuyền, sử dụng trong máy in, trong robot, trong máy CNC Trên tinh thần học đi đôi với hành, gắn liền với lao động sản xuất và đời sống, em một sinh viên nghành kỹ thuật đã gần 5 năm ngồi trên ghế nhà trường chúng em đang đi dần vào thực tế

Để củng cố và mở rộng kiến thức em đã được học cũng như đánh giá kết quả học tập của mình Được sự giúp đỡ của các thầy trong bộ môn đặc biệt là thầy

Nguyễn Anh Tuấn, em đã xin nhận đề tài tốt nghiệp “Ứng dụng vi xử lý Galileo 2.0 trong đo và hiển thị tốc độ động cơ bước trên LCD” Mục tiêu của đề tài

này là em muốn tìm hiểu rõ hơn cấu tạo cũng như hoạt động của board Intel Galileo 2.0, nắm được các phương pháp điều khiển động cơ bước Nội dung cụ thể của đề tài như sau:

Chương 1: Giới thiệu về board Intel Galileo 2.0

Chương 2: Phân tích bài toán

Chương 3: Thiết kế và thực thi

Mặc dù đã cố gắng rất nhiều để hoàn thành đề tài này, xong do giới hạn về thời gian cũng như kiến thức nên nội dung còn nhiều thiếu sót Rất mong được sự đóng góp ý kiến của thầy cô để bài báo cáo được hoàn thiện hơn

Trang 9

CHƯƠNG 1: GIỚI THIỆU VỀ INTEL GALILEO 2.0

1.1 Tổng quan

Hình 1.1 Board Intel Galileo 2.0

Galileo là một bo mạch vi điều khiển dựa trên bộ xử lí ứng dụng Intel Quark SoC X1000 - một bộ xử lí thuộc dòng Pentium 32bit system-on-chip (datasheet) (tích hợp tất cả các thành phần hệ thống vào trong 1 chip xử lí duy nhất) Galileo là bo mạch tương thích với Arduino đầu tiên dựa trên Intel Architecture Cả phần cứng lẫn phần mềm của Galileo đều tương thích với các Arduino Shield vốn được thiết kế cho Arduino UNO R3 với chuẩn chân cắm Arduino 1.0 pinout

Galileo có thể chạy được các shield của Arduino ở cả 2 mức điện áp 3.3V

và 5V mặc dù điện áp hệ thống của nó chỉ là 3.3V Galileo có được điều này là nhờ các bộ chuyển đổi điện áp được tích hợp ngay trên bo mạch Theo mặc định, Galileo chạy shield ở mức 5V và có thể chuyển xuống 3.3V bằng cách thay đổi các chân cắm (jumper) trên mạch

Ngoài các tương thích về mặt phần mềm lẫn phần cứng với nền tảng Arduino, Galileo cũng hỗ trợ các chuẩn giao tiếp trên máy tính cá nhân hiện nay

Trang 10

Vì vậy, Galileo có thể giao tiếp với nhiều thiết bị khác ngoài các shield trong hệ sinh thái Arduino Mặc định, trên bo mạch Galileo hỗ trợ:

 Cổng full sized mini-PCI Express

 Cổng Ethernet 100Mb

 Khe cắm thẻ nhớ Micro-SD

 Cổng Serial RS-232

 Cổng USB Host và USB Client

 8MB bộ nhớ NOR Flash mặc định trên mạch

Đây là bo mạch đầu tiên trong họ hàng của Arduino có khe cắm mini-PCI Express half-sized lẫn full-sized

sử dụng cài một hệ điều hành Linux khác (ví dụ debian) thì lúc bấy giờ lập trình

Trang 11

viên không thể sử dụng Arduino để lập trình cho Galileo, mà phải dùng các kiến thức điều khiển các chân GPIO của vi xử lý Quark

 USB 2.0 Host: đây là cổng USB dùng cho việc nhận tín hiệu các thiết bị ngoại vi như webcam, usb micro, usb, Ở Gen1 thì cổng này có dạng MiniA còn sang Gen đã chuyển sang chuẩn TypeA, giúp cho việc kết nối với các thiết bị ngoại vi thuận tiện hơn

 Jack nguồn chuẩn 5.5: được dùng để cấp điện áp cho board, từ 15VDC, Gen1 chỉ có thể cấp mức điện áp 5V

 PCIe (Peripheral Component Interconnect Express): Cổng này được Intel Galileo sử dụng để gắn card Wifi vào Nghĩa là với card Wifi này, lập trình viên sẽ dễ dàng cài đặt Galileo truy cập vào một Access Point (router Wifi) nào

đó mà không cần sử dụng một cục thu wifi (router Client) qua cổng LAN (Ethernet)

Hình 1.3 Kết nối với card wifi

Trang 12

 Intel Galileo 2.0 được thiết kế để phù hợp với các Arduino Shiled, vì vậy Intel Galileo Gen2 có:

o 14 chân Digital I/O, trong đó 6 chân có thể phát xung PWM Chúng có thể được sử dụng ở cả 2 chế độ INPUT và OUTPUT, sử dụng được với các hàm pinMode(), digitalWrite() và digitalRead() như trên các mạch Arduino

o Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V Dòng cấp tối đa là 10mA, dòng đỉnh là 25 mA

o Mỗi chân đều có một điện trở pull-up trong có trị số khoảng 5.6k đến 10k ohms Mặc định, các điện trở này bị ngắt

o 6 chân Analog từ A0 đến A5 giao tiếp qua chip AD7298 Mỗi chân Analog có thể cung cấp độ phân giải 12bit với 4096 giá trị khác nhau

o I2C bus, TWI với 2 chân SDA và SLC nằm cạnh chân AREF TWI: gồm 2 chân SDA (A4) và SCL (A5) Hỗ trợ giao tiếp TWI thông qua thư viện Wire tương tự như trên Arduino

o SPI: chạy ở xung mặc định là 4Mhz để làm việc với các Arduino shield,

có thể lập trình lên đến mức 25Mhz

Dù Galileo có SPI Controler riêng nhưng nó chỉ hoạt động như là một SPI Master, không phải SPI Slave Do đó, Galileo không thể là một SPI Slave cho một SPI Master khác Galileo chỉ có thể là một thiết bị slave khi được kết nối với máy tín qua cổng USB Client

o UART (cổng Serial): là một cổng UART với tốc độ có thể lập trình được, 2 chân giao tiếp là 0 (RX) và chân 1 (TX)

o ICSP (SPI): gồm 6 chân tích hợp Serial Programming dùng để kết nối với các shield Các chân này hỗ trợ giao tiếp SPI thông qua thư viện SPI

o VIN: chân cấp nguồn cho Galileo khi nó sử dụng nguồn ngoài (trái ngược với điện áp chuẩn 5V từ chân cắm nguồn) Bạn có thể cấp nguồn cho Galileo từ chân này, hoặc, nếu cấp nguồn từ chân cắm nguồn phía trước, bạn có thể lấy ra điện áp chuẩn 5V từ chân này

o Chân 5V output: chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Galileo hay từ nguồn USB Dòng ra tối đa ở chân này cho các shield là 800mA

Trang 13

o Chân 3.3V output: cấp điện áp ra 3.3V được điều chế từ các mạch điều

áp trên Galileo Dòng ra tối đa ở chân này cho các shield là 800mA

o GND: chân nối cực âm của nguồn điện

o IOREF: cho phép các shield điều chỉnh hoạt động phù hợp với điện áp hoạt động trên Galileo Chân IOREF được kiểm soát bởi các jumper trên mạch

để lựa chọn 2 mức điện áp làm việc của shield là 3.3V và 5V

1.3 Khối xử lý trung tâm Quark SoC X1000

Hình 1.4 Cấu trúc của Intel Galileo 2.0

1.3.1 Giới thiệu về SoC

 SoC là chữ viết tắt cho System on a chip, hay System on Chip SoC là một mạch tích hợp (mà người ta thường gọi là IC), trong đó tất cả những thành phần quan trọng của một chiếc máy tính hay một thiết bị điện tử đều được đặt trên một con chip duy nhất

 Một SoC cơ bản thường có những thành phần sau:

 Một vi điều khiển, vi xử lí, hay nhân xử lí tín hiệu Vài SoC thì có thể có nhiều hơn một nhân xử lí, khi đó người ta gọi nó là MPSoC, tức Multiprocessor

Trang 14

 Các khối bộ nhớ, có thể là RAM, ROM, EEPROM hay bộ nhớ flash

 Nguồn canh thời gian, chẳng hạn như mạch dao động

 Một số giao diện như USB, FireWire, Ethernet

 Bộ chuyển đổi tín hiệu số sang tín hiệu tương tự và ngược lại

 Mạch quản lí năng lượng, mạch kiểm soát điện áp

 Những SoC hiện đại còn có bộ xử lí đồ họa, chip cầu bắc, chip cầu nam, bộ kiểm soát bộ nhớ,

Mô tả 32 bit, single core, single thread,

Pentium ISA compatable

Trang 15

Cấu hình PCI Express ‡ x1

Dung lượng bộ nhớ tối đa và băng thông tối đa lần lượt là 2GB và 1.6GB/s cho phép CPU xử lý gói thông tin lớn Kết hợp với bộ nhớ DDR3 với tần số làm việc 800MHz, có khả năng chuyển 8 từ dữ liệu trong một chu kỳ đồng hồ

Các công nghệ tích hợp bên trong:

o Idle States (Trạng thái không hoạt động) (Trạng thái C) được dùng để tiết kiệm điện khi bộ xử lý không hoạt động C0 là trạng thái hoạt động, có nghĩa

là CPU đang làm những công việc hữu ích C1 là trạng thái không hoạt động thứ nhất, C2 là trạng thái không hoạt động thứ 2, v.v khi có nhiều tác vụ tiết kiệm điện hơn được thực hiện cho các trạng thái C cao hơn

Trang 16

o (Execute Disable Bit) Bít vô hiệu hoá thực thi là tính năng bảo mật dựa trên phần cứng có thể giảm khả năng bị nhiễm vi rút và các cuộc tấn công bằng

mã độc hại cũng như ngăn chặn phần mềm có hại từ việc thi hành và phổ biến trên máy chủ hoặc mạng

1.4 Lập trình cho Intel Galileo 2.0 và cài đặt hệ điều hành

Do Intel Galileo 2.0 tương thích với board Arduino uno nên chúng ta có thể dùng Arduino IDE để lập trình cho Galileo bằng ngôn ngữ C

Đầu tiên chưa yêu cầu Insert MicroSD card Intel galileo 2 đã có sẵn bộ nhớ trong và có thể chạy một số chương trình ngay

Mở Arduino IDE 1.6.0 Kiểm tra kết nối với Board Intel Galileo 2

Hình 1.5 Arduino IDE

Tiếp theo kiểm tra cổng kết nối của PC với Intel Galileo 2 Thường nó sẽ

là COM3 hoặc cao hơn

Trang 17

Hình 1.6 Kiểm tra cổng COM

Có thể kiểm tra cổng này trong mục Devices Manager> Ports (Click chuột phải vào biểu tượng Computer, chọn Manage) Nếu lỗi chưa hiện cổng thì có thể phải cài driver Serial cho máy tính

Hình 1.7 Kiểm tra trong Devices Manager

Mở chương trình Blink trong File> Examples> 01.Basics> Blink:

Kiểm tra và upload chương trình lên Galileo 2

Trang 18

Hình 1.8 Kiểm tra và upload chương trình lên Galileo 2.0

Cuối cùng kiểm tra chương trình upload thành công

Hình 1.9 Thông báo đã up load thành công

Và đèn Led tích hợp trên Board Galileo 2.0 sẽ nhấp nháy

Trang 19

Hình 1.10 Đèn báo trên board

Chương trình Arduino có thể được chia làm 3 phần: cấu trúc (structure), biến số (variable) và hằng số (constant), hàm và thủ tục (function) Chuyên mục này sẽ giúp bạn tìm hiểu về 3 phần này qua sự diễn giải các khái niệm và mô tả các hàm thao tác/thủ tục

Trang 20

 Phạm vi hiệu lực của biến

 analogRead()

 analogWrite() –PWM – PPM

Trang 21

 detachInterrupt()

Có thể tìm thấy RTOS bất kỳ nơi nào Chúng cũng phổ biến như những hệ điều hành mà bạn đã quen thuộc như Windows, Mac OS và Unix RTOS âm thầm làm việc bên trong các bộ định tuyến và chuyển mạch trên mạng, động cơ

xe, máy nhắn tin, điện thoại di động, thiết bị y tế, thiết bị đo lường và điều khiển công nghiệp và các vô số ứng dụng khác

Một thuộc tính quan trọng của RTOS là khả năng tách biệt với ứng dụng,

vì vậy nếu có một chương trình bị "chết" hay hoạt động không hợp lệ, RTOS có thể nhanh chóng cô lập chương trình này, kích hoạt cơ chế phục hồi và bảo vệ

Trang 22

lệnh sai Cơ chế bảo vệ tương tự cũng được áp dụng để tránh tình trạng tràn bộ nhớ do bất kỳ chương trình nào gây ra RTOS xuất hiện ở hai dạng: cứng và mềm Nếu tính năng xử lý ứng với một sự kiện nào đó không xảy ra hay xảy ra không đủ nhanh, RTOS cứng sẽ chấm dứt hoạt động này và giữ không gây ảnh hưởng đến độ tin cậy và tính sẵn sàng của phần còn lại của hệ thống

Vì RTOS và máy tính nhúng trở nên phổ biến trong các ứng dụng quan trọng, các nhà phát triển thương mại đang tạo nên những RTOS mới với tính sẵn sàng cao Những sản phẩm này có một thành phần phần mềm chuyên dụng làm chức năng cảnh báo, chạy các chương trình chẩn đoán hệ thống để giúp xác định chính xác vấn đề trục trặc hay tự động chuyển đổi sang hệ thống dự phòng Hiện

thời RTOS sẵn sàng cao hỗ trợ bus Compact PCI của tổ chức PCI Industrial Computer Manufacturers Group, bus này dùng cho phần cứng có thể trao đổi

nóng

RTOS có rất nhiều dạng Sản phẩm thương mại như VxWorks và VxWorks AE, đều của Wind River Systems Inc; VxWorks AE được thiết kế với tính sẵn sàng cao, hỗ trợ khả năng gửi thông điệp phân tán và có thể chịu lỗi RTOS cho phép lập trình viên tách biệt thư viện dùng chung, dữ liệu và phần mềm hệ thống cũng như ứng dụng

LynxOS là loại RTOS cứng, làm việc với Unix và Java QNX chạy trên

bộ xử lý Intel x86 với nhân chỉ có 10 KB

RTOS của giới nghiên cứu gồm có Chimera của Đại học Carnegie Mellon Đây là hệ thống đa nhiệm, đa bộ xử lý thời gian thực, được thiết kế để tạo sự dễ dàng cho các nhà lập trình trong việc tái cấu hình và tái sử dụng mã Chimera nhắm vào các hệ thống rô bô và tự động RTOS của Đại học Maryland, có tên là Maruti, hỗ trợ cho cả ứng dụng thời gian thực cứng và mềm

Trong nhiều năm, ứng dụng dựa trên RTOS chủ yếu là trong các hệ thống nhúng và mới gần đây thì chúng đã có mặt khắp nơi, từ thiết bị y tế được điều khiển bằng máy ảnh cho đến máy pha cà phê, những ứng dụng tính toán phân tán đang thúc đẩy các nhà phát triển hệ điều hành thực hiện nghiên cứu và phát triển chuẩn Chính phủ Mỹ cũng có một số chương trình về lĩnh vực này như công

Trang 23

nghệ quản lý tài nguyên thời gian thực, mạng, quản lý dữ liệu và phần mềm điều khiển trung gian Mục đích của chương trình là làm cho các hệ thống cộng tác, phân tán có thể giao tiếp và chia sẻ tài nguyên với nhau Một uỷ ban chuyên trách đang đẩy mạnh việc tạo ra khung công nghệ cho tính toán phân tán thời gian thực, áp dụng cho cả ứng dụng quân sự và thương mại Khung công nghệ này sẽ

hỗ trợ các giao tiếp và thành phần liên tác chuẩn

Cho dù ai là người tạo ra môi trường tính toán phân tán thời gian thực, phổ dụng thì RTOS vẫn sẽ là một trong những công nghệ quan trọng nhất mà người dùng cuối chưa từng nghe đến

So sánh kiến trúc RTOS và OS chuẩn

Hệ thống điều hành với phần lõi là hạt nhân phải đảm nhiệm các tác vụ chính như sau:

Trang 24

Hình 1.11 Cấu trúc Hệ điều hành thời gian thực

1.5.2 Hệ điều hành Linux

Nhìn bề ngoài, Linux là một hệ điều hành Như thể hiện trong hình, Linux gồm có một nhân kernel (mã cốt lõi quản lý các tài nguyên phần cứng và phần mềm) và một bộ sưu tập các ứng dụng của người dùng (chẳng hạn như các thư viện, các trình quản lý cửa sổ và các ứng dụng)

Hình 1.12 Các thành phần của HDH linux

Trang 25

Sơ đồ cho thấy tất cả các thành phần của Linux cho những người dùng, nhân và phần cứng

Sơ đồ trên chỉ ra các thành phần quan trọng Tầng cuối cùng chính là một tập hợp mã kiến trúc giúp Linux có thể hỗ trợ đa nền tảng phần cứng (ARM, PowerPC, Tilera TILE v.v ) Tất nhiên, chức năng này được đăng ký theo giấy phép GNU, tạo nên tính di động của Linux

Linux theo phong cách riêng của mình trong lĩnh vực về tính di động Hệ thống con của trình điều khiển (là rất lớn về khả năng của nó) hỗ trợ động các mô đun được nạp mà không ảnh hưởng đến hiệu năng, tạo nên tính mô đun (thêm vào một nền tảng động hơn) Linux cũng bảo mật ở mức nhân kernel (trong một

số lược đồ) tạo nên một nền tảng bảo mật Trong miền hệ thống tệp bên ngoài, Linux tạo nên một mảng lớn nhất về hỗ trợ hệ thống tệp của bất kỳ hệ điều hành nào, như là một ví dụ, tạo nên tính linh hoạt thông qua tính mô đun thiết kế Linux thực hiện không chỉ các tính năng lên lịch trình tiêu chuẩn mà còn lên lịch trình thời gian thực bao gồm các bảo đảm về độ trễ ngắt)

Trong các thiết bị nhúng, với các mức ràng buộc khác nhau (hiệu năng của

bộ xử lý, các tài nguyên như bộ nhớ và v.v) Linux là lý tưởng trong hầu hết các trường hợp này vì khả năng thu hẹp quy mô của nó và sử dụng bất kỳ các bộ vi

xử lý nhúng nào có sẵn trên thị trường Tính linh hoạt này làm cho Linux trở thành một nền tảng được sử dụng rất nhiều trong truyền hình, giải trí trong xe hơi, các hệ thống định vị và nhiều kiểu thiết bị khác

Linux có khả năng tùy chỉnh cao và tập trung vào mức tiêu thụ điện năng thấp Để bảo đảm sự tập trung vào điện năng, sáng kiến Less Watts (Wát thấp hơn) theo dõi sự tiêu thụ điện năng của các bản phát hành nhân Linux Dự án này chủ yếu tập trung vào các nền tảng của Intel, nhưng cũng có thể có ích với các bộ xử lý khác

Linux là một đề xuất khá chuẩn cho các thiết bị nhúng và có thể xác định

sự thành công hay thất bại của thiết bị (hỗ trợ phát triển và xuất hiện nhanh)

Trong phần này, xin phép được giới thiệu cách cài đặt hệ điều hành linux yocto lên Board Galileo

Trang 26

https://software.Intel.com/sites/landingpage/iotdk/board-boot-image.html (Direct link)

Dung lượng file là 232.89MB

Hình 1.14 Hỉnh ảnh khi tải file image

Trang 27

Khi tải xong, ta sẽ được một file là iot-devkit-1.5-i586-galileo.bz2

(iot-devkit phiên bản 1.5 dành cho Intel Galileo)

Giải nén file này, ta sẽ được một file tên là galileo (file này không có đuôi) dung lượng 1.32GB

iot-devkit-1.5-i586-Bước3: Tải phần mềm hỗ trợ ghi dữ liệu

Tải Win32 Disk Imager

tại http://sourceforge.net/projects/win32diskimager/ (Direct link bản Portable)

Để chạy phần mềm, giải nén file vừa tải về và chạy file

Win32DiskImager.exe Bạn cũng có thể chạy ngay trong file nén bằng cách

double-click vào file này

Trang 28

Hình 1.16 Format thẻ nhớ Bước5 Ghi file image đã tải về lên thẻ

Chạy Win32 Disk Imager, chọn Image File là file image 1.32GB đã giải nén ở bước 2 và chọn Device là thẻ nhớ đã chuẩn bị của mình

Hình 1.17 Ghi file image

Chú ý chọn Device để ghi dữ liệu chính xác Vì đây là hành động ghi đè

dữ liệu mới lên thẻ nhớ nên nếu bạn ghi nhầm dữ liệu sang USB của mình, khả năng phục hồi gần như bằng 0

Trang 29

1.6 Ứng dụng của Board Intel Galileo 2.0

Một số ứng dụng của Intel Galileo 2.0

o Làm bộ xử lý cho máy bay điều khiển từ xa (drone)

o Kết nối với máy tính qua cổng Enthernet hỗ trợ những dự án IoT

o Thông báo qua email khi có thư đường bưu điện gửi tới hộp thư của bạn

o Hệ thống chống trộm trong gia đình thông báo qua internet…

1.7 Ưu nhược điểm của Board Intel Galileo 2.0

1.7.1 Ưu điểm

Galileo chạy hệ điều hành Linux

 Bạn có thể dễ dàng triển khai các dự án lớn trên Galileo Linux không phải là một hạt đậu nhỏ như MS-DOS

 Bạn có thể tạo ra một bản Linux thích hợp cho mình

 Bạn có thể thoải mái lập trình Galileo trên nhiều ngôn ngữ như Python, PHP, C++, miễn là Galileo có cài các trình biên dịch cho những ngôn ngữ ấy

Galileo mô phỏng các chức năng để giống hệt như Arduino

 Galileo có thể dễ dàng tham gia vào các dự án Arduino mà không gặp nhiều khó khăn về tương thích

 Nếu bạn đã làm việc với Arduino rồi thì có thể dễ dàng chuyển qua làm với Galileo

Galileo hỗ trợ chuẩn chân cắm Arduino pinout 1.0

 Bạn có thể tận dụng các shield sẵn có của Arduino để mở rộng các chức năng của Galileo

Galileo có cổng Ethernet tích hợp

 Chỉ cần cắm dây vào là Galileo sẽ sẵn sàng kết nối vào mạng Internet Tôi không nghĩ rằng bạn không thích điều này

Galileo có khe cắm thẻ nhớ microSD

 Nếu bạn cần lưu nhiều dữ liệu thì đây là một điểm cộng tuyệt vời cho Galileo

Galileo có cổng mini-PCI Express

Trang 30

 Ngoài việc mở rộng chức năng bằng các shield qua hàng chân cắm Arduino pinout 1.0, Galileo còn có thể mở rộng thêm nhiều chức năng như kết nối WiFi, Bluetooth, GSM, GPRS/3G, bằng các loại card hỗ trợ giao tiếp qua cổng mPCIe

Galileo có cổng USB Host

 Điều này giúp Galileo có thể kết nối với hàng tá thiết bị ngoại vi khác

sử dụng cổng USB

Bạn có thể dễ dàng dùng Galileo như một web server

 Bạn có thể dễ dàng xây dựng các dự án chạy trên nền web

 Bạn có thể dùng Galileo để lưu trữ trang web của mình thay vì phải tốn tiền đi thuê các dịch vụ bên ngoài

1.7.2 Nhược điểm

Galileo vẫn chưa thực sự giống Arduino hoàn toàn

 Các hàm PusleIn(), Servo() chưa được hỗ trợ

 Timer1, mills(), micro() gặp một số trục trặc và không hoạt động hoàn hảo như trên Arduino

 Một số shield có thể chạy trên Arduino nhưng có thể sẽ không như thế nếu chúng được chạy trên Galileo

Các chân I/O trên Galileo có tần số hoạt động chậm hơn trên Arduino khoảng từ 100 - 1000 lần

 Galileo gặp khó khăn khi giao tiếp với một số cảm biến hay thiết bị ngoại vi Cảm biến nhiệt độ - độ ẩm DHT11 là một ví dụ

 Bạn không thể dùng Galileo để điều khiển những thứ kiểu như Quadcopter Những thứ như Quadcopter đòi hỏi tần số hoạt động của các chân I/O khá cao để giữ được thăng bằng

Các thư viện Arduino có sử dụng các chức năng của chip AVR sẽ không hoạt động trên Galileo

 Kiến trúc Arduino gắn liền với vi xử lí họ AVR (ATmega8/168/328),

do vậy bộ xử lí Intel Quark X1000 trên Galileo sẽ không thể mô phỏng được những chức năng như vậy

Galileo có mức tiêu thụ điện năng lớn

 Để đánh đổi sức mạnh của bộ xử lí, Galileo cần có một nguồn điện với công suất đến 10W (5V - 2A) Đa phần các dự án chạy bằng pin không thể kham nổi mức tiêu thụ năng lượng này

Trang 31

CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN 2.1 Yêu cầu bài toán

Trước tiên chúng ta phải xác định rõ mục đích và yêu cầu của bài toán

Mục đích:

- Hệ thống có khả năng điều khiển tốc độ của động cơ bước

- Thông số được hiển thị lên LCD

- Sử dụng board Intel Galileo 2.0

Yêu cầu:

- Hệ thống làm việc ổn định

- Thiết kế trực quan, dễ quan sát

- Có khả năng đưa vào ứng dụng trong giảng dạy và thực tế

 Khối nguồn; cung cấp điện áp ổn định cho tất cả các khối trong mạch

cụ thể là trong mạch sử dụng nguồn 5V cung cấp cho các IC và cho động cơ

 Board Intel Galileo 2.0: Nhận tín hiệu điều khiển được đưa lên và xử lý

BIẾN TRỞ

Trang 32

- Hiển thị lên LCD tốc độ quay của động cơ

- Điều khiển độ rộng xung PWM để điều khiển tốc độ và hường quay của động cơ cho phù hợp

Khối vi xử lý là trái tim là khối óc của hệ thống là phần quan trọng nhất điều khiển mọi hoạt động của mạch

 Khối điều khiển: điều khiển hướng quay của động cơ bước ở đây sử dụng IC ULN2003 để điều khiển hướng quay của động cơ

2.3 Một số linh kiện sử dụng trong mạch

2.3.1 Động cơ bước

2.3.1.1 Khái niệm về động cơ bước

Động cơ bước là một thiết bị cơ điện chuyển đổi các xung điện thành những chuyển động cơ học rời rạc Trục của động cơ bước quay những bước tăng rời rạc khi các xung điện điều khiển được áp đến nó theo một trình tự hợp lí Sự quay của các động cơ liên hệ trực tiếp với các xung được áp vào Trình tự của các xung áp vào quan hệ trực tiếp với hướng quay của trục động cơ Tốc độ quay của trục động cơ quan hệ trực tiếp với tần số các xung vào và chiều dài vòng quay thì liên hệ trực tiếp với số lượng các xung được áp vào

Hình 2.2 Một số mẫu động cơ bước trong thực tế

Ứng dụng đầu tiên của động cơ bước là vào năm 1935 Các mô hình động cơ bước trước đây có hiệu suất kém và không hiệu quả lắm Các động cơ bước ngày nay đã được cải tiến rất nhiều và có thể được tìm thấy trong các thiết bị ngoại vi máy tính, các robot, các máy ghi biểu đồ, các máy vẽ x-y, các máy bơm, các đồng hồ, các bàn vẽ, các van, các máy công cụ, các thiết bị y khoa, các thiết bị ôtô, các máy bán hàng nhỏ, và các máy quét, …

Động cơ

bước

Bộ lái

Dây ra từ động cơ

Trang 33

Hình 2.3 Cơ chế lái tờ giấy sử dụng động cơ bước được ứng dụng trong máy in

Nguyên lý hoạt động:

Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào starto theo thứ

tự và một tần số nhất định Tổng số góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi

2.3.1.2 Phân loại động cơ bước

Động cơ bước có thể được phân loại dựa theo cấu trúc hoặc cách quấn các cuộn dây trên stator

Dựa theo cấu trúc rotor, động cơ bước được chia thành 3 loại:

- Động cơ bước từ trở biến thiên

- Động cơ bước nam châm vĩnh cửu

- Động cơ bước lai

Dựa theo cách quấn dây trên stator, động cơ bước được chia thành 2 loại:

- Động cơ bước đơn cực

- Động cơ bước lưỡng cực

Trang 34

Động cơ bước từ trở biến thiên

Nếu motor của bạn có 3 cuộn dây, được nối như trong biểu đồ hình 2.4, với một đầu nối chung cho tất cả các cuộn, thì nó chắc hẳn là một động cơ biến

từ trở Khi sử dụng, dây nối chung (C) thường được nối vào cực dương của nguồn và các cuộn được kích theo thứ tự liên tục

Dấu thập trong hình 4.4 là rotor của động cơ biến từ trở quay 30 độ mỗi bước Rotor trong động cơ này có 4 răng và stator có 6 cực, mỗi cuộn quấn quanh hai cực đối diện Khi cuộn 1 được kích điện, răng X của rotor bị hút vào cực 1 Nếu dòng qua cuộn 1 bị ngắt và đóng dòng qua cuộn 2, rotor sẽ quay 30

độ theo chiều kim đồng hồ và răng Y sẽ hút vào cực 2

Để quay động cơ này một cách liên tục, chúng ta chỉ cần cấp điện liên tục luân phiên cho 3 cuộn Theo logic đặt ra, trong bảng dưới đây 1 có nghĩa là có dòng điện đi qua các cuộn, và chuỗi điều khiển sau sẽ quay động cơ theo chiều kim đồng hồ 24 bước hoặc 2 vòng:

Hình dạng động cơ được mô tả trong hình 1.4, quay 30 độ mỗi bước, dùng

số răng rotor và số cực stator tối thiểu Sử dụng nhiều cực và nhiều răng hơn cho phép động cơ quay với góc nhỏ hơn Tạo mặt răng trên bề mặt các cực và các răng trên rotor một cách phù hợp cho phép các bước nhỏ đến vài độ

Trang 35

Động cơ bước nam châm vĩnh cửu

Các động cơ bước nam châm vĩnh cửu chứa rotor nam châm vĩnh cửu có

mô men duy trì khi động cơ không còn được cấp điện Mỗi răng nam châm vĩnh cửu được định hướng theo trục với các cực nam và bắc thay đổi

Hình 2.6 Động cơ bước nam châm vĩnh cửu

Một số động cơ bước có các nam châm được chèn vào stator để cải thiện trường điện từ và cung cấp mô men cao hơn Các nam châm được làm bằng hợp kim (gồm nhôm, nickel, và cobalt) hoặc các chất thuộc đất hiếm (samarium-cobalt) Các động cơ bước nam châm vĩnh cửu đòi hỏi công suất vận hành nhỏ hơn các loại khác Chúng cũng có đặc tính chống rung đáp ứng tốt hơn Các góc bước có thể được tìm thấy trên toàn phạm vi các góc chuẩn, bao gồm 1,8o; 7,5o,

30o; 45o; và 90o

Động cơ bước lai

Các động cơ bước lai kết hợp các đặc điểm rotor của động cơ bước từ trở biến thiên và động cơ nam châm vĩnh cửu Một nam châm vĩnh cửu nhỏ hơn được bọc xung quanh trục động cơ Nó khác với động cơ bước nam châm vĩnh cửu ở chổ có một đầu rotor là cực bắc còn đầu rotor đối diện là cực nam Răng rotor được cắt thành hai chén lõi thép được gắn chặt trên mỗi đầu Động cơ bước lai chỉ sử dụng phương pháp cấu tạo thứ hai Các động cơ bước lai có nhiều răng hơn và có mô men lớn hơn Các góc bước tiêu biểu là 0,9o và 1,8o

Ngày đăng: 23/04/2017, 16:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w