Tải bản đầy đủ (.pdf) (40 trang)

TÀI LIỆU HƯỚNG DẪN THỰC HÀNH ĐIỆN TỬ VIỄN THÔNG CƠ SỞ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 40 trang )

ĐẠI HỌC HUẾ
TRƢỜNG ĐẠI HỌC KHOA HỌC
Khoa Điện tử - Viễn thông
Bộ môn Kỹ thuật Máy tính
-----------------

TÀI LIỆU HƢỚNG DẪN THỰC HÀNH
ĐIỆN TỬ- VIỄN THÔNG CƠ SỞ 2

Huế, 08/2016


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

MỤC LỤC
PHẦN 1: TỔNG QUAN VỀ KIT PHÁT TRIỂN ARDUINO INTEL GALILEO ....................................... 2
PHẦN 2: NỘI DUNG CÁC BÀI THỰC HÀNH ....................................................................................... 10
BÀI 1: ĐIỀU KHIỂN HOẠT ĐỘNG LED BẰNG MÁY TÍNH ........................................................... 10
1.

Mục đích và yêu cầu ................................................................................................................... 10

2.

Thiết bị và phần mềm cần thiết ................................................................................................... 10

3.

Tổng quan lý thuyết .................................................................................................................... 10



4.

Trình tự thực hành....................................................................................................................... 13

BÀI 2: HIỂN THỊ LCD 16x2 THEO NỘI DUNG NHẬP TỪ MÁY TÍNH .......................................... 15
1.

Mục đích và yêu cầu ................................................................................................................... 15

2.

Thiết bị cần thiết ......................................................................................................................... 15

3.

Tổng quan lý thuyết .................................................................................................................... 15

4.

Trình tự thực hành....................................................................................................................... 18

BÀI 3: ĐIỀU KHIỂN HOẠT ĐỘNG ĐỘNG CƠ MỘT CHIỀU VÀ ĐỘNG CƠ BƢỚC BẰNG MÁY
TÍNH ....................................................................................................................................................... 20
1.

Mục đích và yêu cầu ................................................................................................................... 20

2.


Thiết bị cần thiết ......................................................................................................................... 20

3.

Tổng quan lý thuyết .................................................................................................................... 20

4.

Trình tự thực hành....................................................................................................................... 27

BÀI 4: GIAO TIẾP GIỮA CẢM BIẾN ĐO NHIỆT ĐỘ - ĐỘ ẨM VÀ MÁY TÍNH ........................... 29
1.

Mục đích và yêu cầu ................................................................................................................... 29

2.

Thiết bị cần thiết ......................................................................................................................... 29

3.

Tổng quan lý thuyết .................................................................................................................... 29

4.

Trình tự thực hành....................................................................................................................... 32

PHẦN 3: PHỤ LỤC CÁC CHƢƠNG TRÌNH MẪU VIẾT TRÊN PHẦN MỀM IDE ............................ 34

1



Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

PHẦN 1: TỔNG QUAN VỀ KIT PHÁT TRIỂN ARDUINO INTEL
GALILEO
1.1 Mô tả phần cứng
Intel Galileo do Intel trực tiếp phát triển và là sản phẩm đầu tiên đƣợc đội ngũ phát triển
Arduino chứng nhận đạt chuẩn tƣơng thích với nền tảng Arduino. Intel Galileo là một board ứng
dụng đầu tiên sử dụng vi xử lý Intel Quark SoC X1000, một vi xử lý 32 bit đầu tiên thuộc dòng
“Santa Clara” sản xuất trên công nghệ System on Chip lớp Petium 32nm với mức độ tiêu thụ
điện rất thấp. Vi xử lý X1000 hoạt động với xung nhịp 400Mhz dựa trên nền tảng Intel Pentium
x86 với bộ nhớ L1 cache 16Kb. Galileo đƣợc thiết kế thích với chuẩn board Arduino Uno R3.
Tƣơng tự nhƣ những board Arduino khác, board Intel Galileo tuân theo những tiêu chuẩn
nhất định của nền tảng Arduino. Các chân Digital đƣợc đánh số từ chân 0 tới 13 (kề cận là chân
AREF và GND), các chân Analog từ chân 0 tới 5, header nguồn, header ICSP và 2 chân truyền
UART là tất cả những điểm giống nhau với Arduino Uno R3. Tất cả các chân của Galileo đều
tuân theo chuẩn Arduino pinout 1.0.

Hình 0. Minh họa sơ đồ khối và hình ảnh thực tế board Intel Galileo Gen 2
Sức mạnh của board Galileo tạo ra chủ yếu từ vi xử lý Intel Quark Soc X1000, ngoài khả
năng tƣơng thích với chuẩn Arduino thì việc nhận đƣợc sự hỗ trợ từ nhà sản xuất vi xử lý lớn
nhất thế giới Intel cũng góp phần nào tạo ra một board phát triển đầy tiềm năng. Vi xử lý
400Mhz tƣơng thích với tập lệnh 32 bit Intel Pentium với các đặc điểm nhƣ sau.
-

Bộ nhớ cache L1 16Kb.
2



Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

-

Đơn lõi, đơn luồng, tốc độ không đổi.

-

Hỗ trợ trạng thái ngủ ACPI.

-

Một đồng hồ thời gian thực đƣợc tích hợp, sử dụng một pin 3V không có sẵn trên board,
cấp nguồn thông qua header.

-

11 Kb EEPROM có thể đƣợc lập trình thông qua thƣ viện EEPROM.

-

Bộ nhớ flash Legacy SPI 8Mb để lƣu trữ firmware (hay bộ nạp khởi động) hoặc Sketch
mới nhất. Ở giữa 256 Kb và 512 Kb đƣợc dành riêng cho việc lƣu chƣơng trình Sketch.
Việc upload diễn ra một cách tự động trừ khi có một bản nâng cấp đƣợc thêm vào
firmware.


-

512 Kb SRAM và 256 Mb DRAM đƣợc cho phép bởi firmware mặc định.

-

Tùy chọn thêm vào thẻ nhớ micro SD cho phép không gian lƣu trữ lên tới 32 Gb.

-

Lƣu trữ thông qua USB tƣơng thích với chuẩn USB 2.0.
Galileo đƣợc thiết kế để hỗ trợ các Shield có điện áp hoạt động 3,3V hoặc 5V. Điện áp

hoạt động lõi của Galileo là 3,3V. Tuy nhiên, 1 jumper trên board cho phép chuyển đổi thành 5V
trên các chân I/O. Sự cung cấp này hỗ trợ cho các Shield Uno 5V và đây là thiết lập mặc định.
Nếu jumper bị chuyển vị trí, bộ chuyển đổi điện áp có thể không hoạt động và cung cấp điện áp
3,3V ở các chân I/O. Những đầu vào Analog còn lại có điện áp từ 0V tới 5V bất kể vị trí của
jumper. Sự đa năng trong cách sử dụng các chân trên board Galileo nhƣ sau.
- Chức năng vào/ra dữ liệu số/tƣơng tự.


14 chân vào ra kỹ thuật số đƣợc đánh số từ D0 đến D13, trong đó có 6 chân có thể đƣợc

sử dụng nhƣ đầu ra PWM với độ phẩn giải 8/12 bit. Mỗi chân trong số đó đều có thể đƣợc sử
dụng nhƣ input hay là output. Điều đó thực hiện đƣợc nhờ vào các hàm pinMode(),
digitalWrite() và digitalRead() trong quá trình lập trình.Các chân hoạt động ở mức điện áp 3.3V
hoặc 5V. Mỗi chân chịu đƣợc dòng vào 10mA hoặc tối đa là 25mA và có điện trở kéo bên trong
( không kết nối theo mặc định ) từ 5,6kOhm tới 10kOhm.



6 chân đầu vào analog là A0 tới A5, thông qua một IC chuyển đổi Analog to Digital

AD7298. Mỗi chân trong số chúng đƣợc cung cấp một độ phân giải ADC 10 bit hoặc 12 bit và
điện áp đầu vào từ 0V tới 5V, điện áp tham chiếu là 5V.
- Chức năng hỗ trợ chuẩn giao tiếp.


Bus I2C, TWI với chân SDA và SCL, cạnh đó là chân AREF.
3


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2



BM. Kỹ thuật máy tính

TWI: Chân A4 hay là chân SDA và chân A5 hay là chân SCL. Hỗ trợ giao tiếp TWI với

thƣ viện hỗ trợ là Wire Library.

Hình 2. Minh họa ký hiệu các chân vào/ra của Intel Galileo


SPI mặc định ở 4Mhz, có thể lập trình lên đến 25Mhz. Galileo sẽ không làm một SPI

slave mà chỉ có thể là SPI master, nó có thể hoạt động nhƣ một slave nhƣng phải thông qua kết
nối USB client.



Giao tiếp UART có thể cấu hình tốc độ baud, và giao tiếp thông qua 3 chân là 0 (RX) và

1(TX).


ICSP: 6 chân trong mạch, phần cứng là 6 header có thể cắm vào.
-

Chân Vin: khi sử dụng nguồn bên ngoài thì có thể cung cấp cho Galileo thông qua chân
này.

-

Chân output 5V: đƣợc cung cấp bởi nguồn bên ngoài hoặc qua cổng USB. Dòng tối đa
cung cấp cho ngoại vi là 800mA.

-

Chân output 3,3V: Cung cấp 3,3V qua bộ điều chỉnh trên mạch, dòng tối đa cung cấp cho
ngoại vi là 800mA.

-

Chân GND là chân nối đất, sử dụng với mục đích tạo mạch kín khi cấp nguồn cho ngoại
vi.

4


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2


-

BM. Kỹ thuật máy tính

IOREF: Các chân IOREF trên Galileo cho phép 1 shield đính kèm với cấu hình thích ứng
với các điện áp cung cấp bởi board. Điện áp trên các chân IOREF đƣợc điều khiển bởi
một jumper trên board cho phép lựa chọn mức điện áp 3,3V hay 5V.

-

Chân hay nút RESET, mức tích cực thấp để khởi động chạy lại phần mềm đã nạp từ đầu.

-

Chân AREF không đƣợc sử dụng trên board Galileo. Việc cung cấp một điện áp tham
chiều từ bên ngoài không đƣợc hỗ trợ cho Galileo, mặc định điện áp tham chiều của
Galileo là 5V để đo điện áp đầu vào từ các Analog Input.
Ngoài ra board này còn hỗ trợ các khối chức năng thể hiện các nhiệm vụ mở rộng nhƣ

sau.
-

Kết nối Ethernet 10/100.

-

Khe cắm PCI Express đầy đủ, với những tính năng PCIe phù hợp.

-


Kết nối USB Host 2.0. Hỗ trợ lên đến 128 thiết bị kết cuối.

-

Kết nối USB Client. Sử dụng để nạp chƣơng trình Sketch.

-

10 chân JTAG tiêu chuẩn sử dụng để gỡ rối (debug).

-

Nút Reboot để khởi động lại vi xử lý.

-

Các tùy chọn lƣu trữ.
1.2 Phƣơng pháp lập trình bằng trình biên dịch IDE
Chúng ta truy cập vào trang web và tải về chƣơng

trình Arduino IDE phù hợp với hệ điều hành của máy mình bao gồm Windown, Mac OS hay
Linux. Đối với Windown có bản cài đặt (.exe) và bản Zip, đối với Zip thì chỉ cần giải nén và
chạy chƣơng trình không cần cài đặt. Môi trƣờng phát triển tích hợp (IDE) của Arduino là một
ứng dụng đa nền tảng đƣợc viết bằng Java.Nó đƣợc thiết kế để dành cho các nhà phát triển và
những ngƣời mới tập tành làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một trình
biên tập mã nguồn (code editor) với các chức năng nhƣ đánh dấu cú pháp, tự động kiểm tra phù
hợp dấu ngoặc và tự động canh lề, cũng nhƣ biên dịch (complie) và tải (upload) chƣơng trình lên
bo. Một chƣơng trình hoặc mã nguồn viết cho Arduino đƣợc gọi là một sketch.


5


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

Hình 3. Minh họa giao diện lập trình Arduino IDE
Các chƣơng trình Arduino đƣợc viết bằng C hoặc C++. Arduino IDE đi kèm với một thƣ
viện phần mềm đƣợc gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao tác
input/output đƣợc dễ dàng hơn. Ngƣời dùng chỉ cần định nghĩa 2 hàm để tạo ra một chƣơng trình
vòng thực thi (cyclic executive) có thể chạy đƣợc.
Arduino IDE là nơi để soạn thảo chƣơng trình, kiểm tra lỗi và nạp chƣơng trình cho
Arduino. Giao diện này gồm có 3 vùng rõ ràng
- Vùng Toolbar có chứa các phím lệnh nhƣ kiểm tra chƣơng trình, nạp chƣơng trình, lƣu,
mở hay tạo mới chƣơng trình.

Hình 4. Minh họa vùng Toolbar trên giao diện Arduino IDE
Các nút chức năng có nhiệm vụ nhƣ sau.
-

Kiểm tra chƣơng trình viết có đúng cú pháp hay không- Verify Sketch
6


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

-

BM. Kỹ thuật máy tính


Biên dịch chƣơng trình và nạp vào board Arduino- Complie and upload sketch to

arduino
-

Tạo một sketch mới- New Sketch

-

Mở một sketch đã lƣu trƣớc đó- Open Sketch

-

Lƣu chƣơng trình lại- Save Sketch

-

Mở màn hình hiển thị Serial Monitor sử dụng cài này khi trong Sketch có lệnh in ra

màn hình hay gửi ký tự thông qua chuẩn RS232 - Open Serial Monitor
-Current tab: Sketch đang đƣợc mở hiện tại, có thể đồng thời có nhiều tab tƣơng ứng với
nhiều sketch hiện trên thanh tab.
-Tab menu: Vào menu để chọn các chỉ dẫn.
Ngoài ra, trong Tool menu ta quan tâm các mục mạch và cổng nối tiếp nhƣ mục Board. Ở
đây việc lựa chọn bo mạch cho phù hợp với loại bo mà chúng ta đang sử dụng đóng vai trò hết
sức quan trọng. Nếu sử dụng loại bo mạch khác thì phải chọn đúng loại bo mạch, nếu chọn sai
thì nạp chƣơng trình vào chip sẽ bị báo lỗi.

Hình 5. Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp

Cổng giao tiếp giữa máy tính và Board đƣợc thiết lập thông qua tab Serial Port: đây là nơi
lựa chọn cổng COM của Arduino. Khi chúng ta cài đặt driver thì máy tính sẽ hiện thông báo tên
7


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

cổng COM của Arduino là bao nhiêu( xem ở phần Device Manager), ta chỉ việc vào Serial Port
chọn đúng cổng COM để nạp chƣơng trình, nếu chọn sai thì không thể nạp chƣơng trình cho
Arduino đƣợc.
- Vùng viết chƣơng trình đƣợc đánh số dòng nhƣ hình vẽ. Đây là nơi để viết các dòng lệnh
điều khiển hoạt động của VĐK.

Hình 6. Minh họa vùng viết chương trình.
Nội dung trong void setup() {……} là các khai báo ban đầu nhƣ cấu hình ngõ vào ra, có sử
dụng cảm biến hay không…
Nội dung trong void loop(){……} là các dòng lệnh thực hiện một cách liên tục nhƣ đặt các
chân ở logic cao/thấp, tạo xung PWM…..
- Vùng thông báo chính là vùng có giao diện Đen và nằm ở cuối của Giao diện, các quá
trình nạp chƣơng trình thành công hay các lỗi, vị trí lƣu file đều đƣợc thông báo ở vùng này.

8


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính


Hình 7. Minh họa vùng thông báo.
- Current line number: Dòng của con trỏ hiện tại (Ví dụ 33)
- Current arduino model: Dòng board Arduino đang sử dụng (Ví dụ Intel Galile Gen2)
- Your system’s name for current USB port: Tên cổng giao tiếp giữa máy tính và VĐK ( Ví
dụ COM1)

9


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

PHẦN 2: NỘI DUNG CÁC BÀI THỰC HÀNH
BÀI 1: ĐIỀU KHIỂN HOẠT ĐỘNG LED BẰNG MÁY TÍNH

1. Mục đích và yêu cầu
Qua bài thực hành này sinh viên sẽ nắm rõ quá trình trao đổi dữ liệu giữa máy tính (PC)
và vi điều khiển trong Kit phát triển Arduino Intel Galileo nhằm điểu khiển hoạt động của LED.
Yêu cầu sinh viên cần nắm những kiến thức nhƣ sau.
- Kiến thức về cấu trúc máy tính (PC).
- Kiến thức về cấu trúc vi điều khiển(VĐK) trong Kit phát triển Arduino Intel Gallileo.
- Kiến thức về cấu trúc LED đơn và LED RGB.
- Lập trình giao diện trên PC bằng các phần mềm nhƣ Visual basic, Visual C…..
- Mô phỏng hoạt động giao tiếp giữa VĐK và PC bằng các phần mềm nhƣ Proteus ISIS
Professional…

2. Thiết bị và phần mềm cần thiết
- Máy tính cá nhân hoặc laptop…
- Kit Arduino Intel Galileo Gen 1 hoặc 2 và board tích hợp LED….

- Trình IDE cho Arduino Intel Galileo.
- Trình thiết kế giao tiếp Visual C++ hay Visual Basic.

3. Tổng quan lý thuyết
3.1 LED đơn và LED RGB
LED đơn là linh kiện phát quang dựa trên hiện tƣợng tái hợp lỗ trống/eletron ở chân bán dẫn.
Ngõ ra của LED gồm hai chân Anode và Cathode có màu sắc hoàn toàn khác nhau tùy vào
10


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

phƣơng pháp chế tạo Bằng cách ghép tổ hợp các LED nối tiếp hay song song chúng ta sẽ tạo ra
mạch điện phát ra màu sắc nhƣ ý. LED này sẽ phát sáng khi điện áp đầu Anode cao hơn Cathode
với một giá trị hoàn toàn xác định tùy theo từng loại.
LED RGB là loại LED siêu sáng đƣợc tích hợp 3 màu trong một con LED duy nhất (R = red
= đỏ; G = Green = xanh lá; B = Blue = Xanh dƣơng). Loại này gồm 4 chân, trong đó có một
chân nối dƣơng nguồn(Anode chung) hoặc âm nguồn (Cathode chung) và 3 chân RGB. Bằng
cách điều khiển các chân R,G hay B của LED, chúng ta sẽ tạo ra màu sắc phát ra tùy ý. Phƣơng
pháp đƣợc sử dụng trong điều khiển loại LED này là phát xung có độ rộng thay đổi PWM.

Hình 8. Minh họa hình dạng và sơ đồ chân LED RGB
Trong sơ đồ mạch thông thƣờng, các LED này đều đƣợc đấu thêm điện trở để hạn chế tác
dụng đánh thủng của dòng điện.(xem thêm phụ lục)

3.2 Kỹ thuật điều chế độ rộng xung PWM
Kỹ thuật điều chế độ rộng xung(PWM - Pulse Width Modulation) là kỹ thuật cho phép
điều chỉnh điện áp ra tải hay nói cách khác là phƣơng pháp điều chế dựa trên sự thay đổi độ rộng

của chuỗi xung vuông dẫn đến sự thay đổi điện áp trung bình. Các xung PWM khi biến đổi thì có
cùng 1 tần số và khác nhau về độ rộng của sƣờn dƣơng hay hoặc là sƣờn âm. Đồ thị dạng sóng
ứng với các tỷ lệ phần trăm điều chế. Cụ thể PWM là phƣơng pháp đƣợc thực hiện theo nguyên
tắc đóng ngắt nguồn của tải và một cách có chu kì theo luật điều chỉnh thời gian đóng cắt.

11


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

Hình . Minh họa phần trăm điều chế xung PWM.
Với các đặc điểm nhƣ trên, PWM đƣợc ứng dụng nhiều trong điều khiển hoạt động của các
thiết bị. Ứng dụng điển hình nhất là điều khiển tốc độ động cơ và các bộ xung áp, điều áp... Ở
đây bằng cách điều khiển xung PWM thích hợp chúng ta hoàn toàn có thể thực hiện phối màu
LED RGB một cách túy ý.
Lưu ý độ phân giải PWM của Kit Intel Galileo Gen 2 là 8/12 bit với chế độ mặc định là 8
bit. Bằng cách sử dụng hàm analogWriteResolution() chúng ta có thể thay đổi độ phân giải
tương ứng. Trong khi đó độ phân giải PWM của Kit Intel Galileo chỉ là 8 bit.

3.3 Mã hóa bằng mã Morse
Mã Morse hay mã Moóc-xơ là một loại mã hóa ký tự dùng để truyền các thông tin điện
báo. Mã Morse dùng một chuỗi đã đƣợc chuẩn hóa gồm các phần tử dài và ngắn để biểu diễn các
chữ cái, chữ số, dấu chấm, và các kí tự đặc biệt của một thông điệp. Các phần từ ngắn và dài có
thể đƣợc thể hiện bằng âm thanh, các dấu hay gạch, hoặc các xung, hoặc các kí hiệu thƣờng đƣợc
gọi là "chấm" và "gạch" hay "dot" và "dash" trong tiếng Anh.
Quy tắc phát mã Morse đƣợc mô tả nhƣ sau.
-


Thời gian 01 chấm tƣơng đƣơng 01 đơn vị thời gian chuẩn.

-

Thời gian 01 gạch tƣơng đƣơng 03 đơn vị thời gian chuẩn.

-

Thời gian giữa các chấm và gạch trong một chữ cái là 01 đơn vị thời gian chuẩn.

-

Thời gian giữa các chữ cái là 03 đơn vị thời gian chuẩn.

-

Thời gian giữa các từ là 07 đơn vị thời gian chuẩn.
12


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

Hình 10. Bảng mã Morse quốc tế.
Lƣu ý: Nếu phát mã Morse bằng ánh sáng thì 01 đơn vị thời gian chuẩn phải đƣợc
quy định trƣớc.

3.4 Sơ đồ mạch và nguyên tắc hoạt động mạch tích hợp các LED


Hình 10. Minh họa kết nối giữa khối chỉ thị LED và Arduino Intel Galileo 2
Lưu ý: Lập trình viên cần quan sát và nắm rõ trạng thái đấu nối giữa các thiết bị và
board Intel Galileo trong thực tế nhằm hạn chế các sai sót trong lập trình.
4. Trình tự thực hành
- Bƣớc 1: Xây dựng chƣơng trình tạo giao diện bảng điều khiển hoạt động của các LED bằng
phần mềm Visual Studio hay Delphi…
13


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

Hình 11. Minh họa chương trình giao diện điều khiển LED đơn

- Bƣớc 2: Lập trình điều khiển các LED đơn và LED RGB bằng phần mềm IDE (Lệnh điều
khiển mức cao thấp của các cổng) và giao tiếp giữa VĐK và PC (Tập lệnh giao tiếp vào ra…. ).
Hoạt động của các LED này đƣợc xây dựng theo chủ ý riêng của tác giả.
- Bƣớc 3: Mô phỏng hoạt động giao tiếp cổng COM giữa PC và VĐK bằng phần mềm Proteous
và COM ảo (Bƣớc này có thể bỏ qua).
- Bƣớc 5: Cấp nguồn cho Board Intel Galileo và kết nối USB với PC.
- Bƣớc 6: Thực hiện các bài tập nhƣ sau.
Bài 1. Sử dụng bảng điều khiển trên máy tính để điều khiển hoạt động của LED đơn.
Bài 2. Sử dụng bảng điều khiển trên máy tính để điều khiể hoạt động LED RGB.
Bài 3. Nhập ký tự bằng bàn phím máy tính và phát ra mã Morse tƣơng ứng trên cơ sở đóng/ngắt
01 LED đơn.

14



Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

BÀI 2: HIỂN THỊ LCD 16x2 THEO NỘI DUNG NHẬP TỪ MÁY TÍNH

1. Mục đích và yêu cầu
Qua bài thực hành này sinh viên sẽ nắm rõ quá trình trao đổi dữ liệu giữa máy tính (PC)
và vi điều khiển trong Kit phát triển Arduino nhằm điểu khiển hoạt động của màn hình LCD
16x2.
Yêu cầu sinh viên cần nắm những kiến thức nhƣ sau.
- Kiến thức về cấu trúc máy tính (PC).
- Kiến thức về cấu trúc vi điều khiển(VĐK) trong Kit phát triển Arduino Intel Gallileo.
- Kiến thức về cấu trúc phần cứng và nguyên tắc hoạt động màn hình LCD 16x2.
- Lập trình giao diện trên PC bằng các phần mềm nhƣ Visual basic, Visual C…..
- Mô phỏng hoạt động giao tiếp giữa VĐK và PC bằng các phần mềm nhƣ Proteus ISIS
Professional…

2. Thiết bị cần thiết
- Máy tính cá nhân hoặc laptop…
- Kit Arduino Intel Galileo Gen 1 hoặc 2 và board tích hợp LCD 16x2
- Phần mềm IDE cho Arduino Intel Galileo cũng nhƣ Visual Studio….

3. Tổng quan lý thuyết

15


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2


BM. Kỹ thuật máy tính

Hình 12 Sơ đồ chân và minh họa đấu nối giữa LCD và Arduino
Bảng Chức năng của các chân LCD
Chân

Ký hiệu

1

Vss

Mô tả
Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND
của mạch điều khiển.

2

VDD

Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển.

3

VEE

Điều chỉnh độ tƣơng phản của LCD.
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.


4

RS



Logic “0”: bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của

LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của
LCD (ở chế độ “đọc” - read).


Logic “1”: bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR

bên trong LCD.
Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0”
để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở
16


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

5

R/W

BM. Kỹ thuật máy tính

chế độ đọc.

Chân cho phép (Enable). Sau khi các tín hiệu đƣợc đặt lên bus DB0DB7, các lệnh chỉ đƣợc chấp nhận khi có 1 xung cho phép của chân
E.


6

E

Ở chế độ ghi: dữ liệu ở bus sẽ đƣợc LCD chuyển vào(chấp

nhận) thanh ghi bên trong nó khi phát hiện một xung (high-tolow transition) của tín hiệu chân E.


Ở chế độ đọc: dữ liệu sẽ đƣợc LCD xuất ra DB0-DB7 khi

phát hiện cạnh lên (low-to-high transition) ở chân E và đƣợc
LCD giữ ở bus đến khi nào chân E xuống mức thấp.
Tám đƣờng của bus dữ liệu dùng để trao đổi thông tin với MPU. Có
DB0 đến
7 - 14

DB7

2 chế độ sử dụng 8 đƣờng bus này:


Chế độ 8 bit: dữ liệu đƣợc truyền trên cả 8 đƣờng, với bit

MSB là bit DB7.



Chế độ 4 bit: dữ liệu đƣợc truyền trên 4 đƣờng từ DB4 tới

DB7, bit MSB là DB7.
15

-

Nguồn dƣơng cho đèn nền.

16

-

GND cho đèn nền.

Hoạt động của LCD đƣợc điều khiển thông qua 3 tín hiệu E, RS, R/W.
Tín hiệu E là tín hiệu cho phép gửi dữ liệu. Để gửi dữ liệu đến LCD, chƣơng trình phải
thiết lập E=1, sau đó đặt các trạng thái điều khiển thích hợp lên RS, R/W và bus dữ liệu, cuối
cùng là đƣa E về 0. Hoạt động chuyển đổi từ cao-xuống-thấp cho phép LCD nhận dữ liệu hiện
thời trên các đƣờng điều khiển cũng nhƣ trên bus dữ liệu.
Tín hiệu RS là tín hiệu cho phép chọn thanh ghi (Register Select). Khi RS=0, dữ liệu
đƣợc coi nhƣ là một lệnh hay một chỉ thị đặc biệt (nhƣ là xóa màn hình, đặt vị trí con trỏ…). Khi
RS=1, dữ liệu đƣợc coi là dữ liệu dạng văn bản và sẽ đƣợc hiển thị trên màn hình.
17


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính


Tín hiệu R/W là tín hiệu “Đọc/Ghi”. Khi R/W=1, thông tin trên bus dữ liệu đƣợc ghi vào
LCD. Khi R/W=0, chƣơng trình sẽ đọc LCD.
Bus dữ liệu gồm 4 hoặc 8 đƣờng tùy thuộc vào chế độ hoạt động mà ngƣời sử dụng lựa
chọn.
Chú ý: Trong bài thực hành, chúng ta sử dụng chế độ Bus 4 bit để gửi dữ liệu đến LCD.

3.1 Sơ đồ và nguyên tắc hoạt động của mạch tích hợp LCD 16x2 và HC-SRF05

Hình 16: Minh họa kết nối giữa Arduino Intel Galileo 2 và board tích hợp LCD
Lưu ý: Lập trình viên cần quan sát và nắm rõ trạng thái đấu nối giữa các thiết bị và
board Intel Galileo trong thực tế nhằm hạn chế các sai sót trong lập trình.
4. Trình tự thực hành
- Bƣớc 1: Xây dựng chƣơng trình tạo giao diện nhập ký tự từ bàn phím PC và hiển thị giá trên
LCD …

18


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

Hình 17. Minh họa chương trình giao diện nhập ký tự từ bàn phím
- Bƣớc 2: Sử dụng phần mềm IDE xây dựng chƣơng trình hiển thị trên LCD các ký tự nhập từ
bàn phím PC cho VĐK.
- Bƣớc 3: Mô phỏng hoạt động giao tiếp cổng COM giữa PC và VĐK bằng phần mềm Proteous
và COM ảo (Bƣớc này có thể bỏ qua).
- Bƣớc 4: Cấp nguồn cho Board Intel Galileo và kết nối USB với PC.
- Bƣớc 5: Thực hiện các bài nhƣ sau.

Nhập ký tự từ bàn phím PC. Kiểm tra hiển thị trên phần mềm giao diện cũng nhƣ màn
hình LCD 16x2.

19


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

BÀI 3: ĐIỀU KHIỂN HOẠT ĐỘNG ĐỘNG CƠ MỘT CHIỀU
VÀ ĐỘNG CƠ BƢỚC BẰNG MÁY TÍNH

1. Mục đích và yêu cầu
Qua bài thực hành này sinh viên sẽ nắm rõ quá trình trao đổi dữ liệu giữa máy tính (PC)
và vi điều khiển trong Kit phát triển Arduino nhằm điểu khiển hoạt động của động cơ DC và
động cơ bƣớc.
Yêu cầu sinh viên cần nắm những kiến thức nhƣ sau.
- Kiến thức về cấu trúc máy tính .
- Kiến thức về cấu trúc vi điều khiển trong Kit phát triển Arduino Intel Gallileo.
- Kiến thức về cấu trúc phần cứng động cơ DC và động cơ bƣớc
- Lập trình giao diện trên PC bằng các phần mềm nhƣ Visual basic, Visual C…..
- Mô phỏng hoạt động giao tiếp giữa VĐK và PC bằng các phần mềm nhƣ Proteus ISIS
Professional…

2. Thiết bị cần thiết
- Máy tính cá nhân hoặc laptop…
- Kit Arduino Intel Galileo Gen 1 hoặc 2, board tích hợp động cơ DC - động cơ bƣớcEncoder.
- Giao diện lập trình IDE cho Arduino Intel Galileo.
3. Tổng quan lý thuyết

3.1 Tổng quan về động cơ bƣớc
Động cơ bƣớc đƣợc phân loại gồm động cơ nam châm vĩnh cửu, động cơ từ trở biến thiên và
động cơ hỗn hợp. Động cơ bƣớc có nhiều loại góc quay phân biệt từ 90 độ đến 0.72 độ hoặc nhỏ
hơn.

20


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính

- Động cơ nam châm vĩnh cửu có cấu trúc gồm các cuộn dây quấn trên roto, stato là các nam
châm vĩnh cửu. Loại này có cấu trúc gần giống với động cơ AC đồng bộ.

Hình 18. Minh họa động cơ bước BYJ28 và sơ đồ nguyên lý bên trong động cơ
- Động cơ có từ trở biến thiên có cấu trúc là roto làm bằng sắt nhẹ, số cực của roto ít hơn
số cực của stato, mỗi cuộn dây đƣợc quấn trên hai cực của stato đối diện nhau. Loại này còn
đƣợc gọi là động cơ phản kháng, động cơ phản kháng có góc quay giới hạn từ 1.8 0 đến 300 trong
chế độ điều khiển bƣớc đủ, moment hãm từ 1 đến 50Ncm, tần số khởi động lớn nhất là 1 Khz và
tần số làm việc lớn nhất trong điều kiện không tải là 20Khz.
- Động cơ bƣớc hỗn hợp: Đây là loại động cơ cảm ứng, có góc bƣớc thay đổi trong
khoảng 0.36 độ đến 15 độ trong chế độ moment đủ, moment hãm từ 3 đến 1000Ncm, tần số khởi
động lớn nhất là 40Khz. Đây là loại động cơ đƣợc sử dụng nhiều hơn cả vì nó kết hợp đƣợc ƣu
điểm của cả hai loại động cơ nam châm vĩnh cửu và động cơ biến từ trở.

21


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2


BM. Kỹ thuật máy tính

Hình 19. Minh họa động cơ bước loại hỗn hợp và loại nam châm vĩnh cữu
Phƣơng pháp điều khiển động cơ bƣớc gồm điều khiển ba đối tƣợng: Góc quay, chiều quay và tốc
độ quay.

- Điều khiển góc quay: Động cơ bƣớc có thể điều khiển đƣợc góc quay một cách rất chính xác,
góc quay nhỏ nhất mà động cơ bƣớc quay đƣợc hiểu nhƣ là một bƣớc. Có hai phƣơng pháp điều
khiển phổ biến: phƣơng pháp điều khiển đủ bƣớc và phƣơng pháp điều khiển nửa bƣớc. Điều
khiển bƣớc đủ là phƣơng pháp điều khiển mà số bƣớc tối đa trong một chu kỳ bằng số cặp cực.
Phƣơng pháp này đƣợc thực hiện bằng cách kích dẫn cùng lúc hai cực đối xứng tạo moment
quay cùng chiều.

Hình 20. Phương pháp điều khiển bước đủ.
Phƣơng pháp nửa bƣớc là phƣơng pháp điều khiển mà số bƣớc tối đa trong một chu kỳ
nhỏ hơn số cặp cực. Cách thức đơn giản nhất của phƣơng pháp này là kích dẫn lần lƣợt các cực
từ của stator. Khi đó số bƣớc quay bằng với số cực stator. Ngoài ra, ta cũng có thể kích dẫn hai
cực liên tiếp để tạo thành bƣớc nhỏ hơn.
Nhƣ vậy nếu sử dụng mạch điều khiển tự động, ta cần xuất một chuỗi xung đƣa đến các
cuộn dây của động cơ, với tần số hợp lý thì động cơ sẽ quay với tốc độ hợp lý và theo yêu cầu
thiết kế. Qua đó ta xác định đƣợc tốc độ thực thế của động cơ. Thông qua việc điều khiển các
dãy xung đƣa đến các cuộn dây của động cơ thì ta hoàn toàn có thể điều khiển cho động cơ quay
đƣợc các góc nhƣ ý muốn và dựng lại ở vị trí mong muốn.
22


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính


- Điều khiển chiều quay: Việc cấp chuỗi xung vào các cực động cơ bƣớc giúp động cơ
quay một góc xác định. Để đổi chiều quay của động cơ ta chỉ việc đảo thứ tự các bit của xung
cấp vào các cực từ của động cơ bƣớc.
- Điều khiển tốc độ quay: Điều khiển tốc độ quay của động cơ bƣớc bằng cách tăng hoặc
giảm thời gian cách nhau giữa các lần cấp xung, hay nói cách khác là thay đổi tần số cấp xung
điện cho các cực từ của động cơ bƣớc.

3.2 Tổng quan về động cơ điện DC
Động cơ điện một chiều DC gồm hai phần chính:
- Stato (phần đứng yên) với các cực từ bằng nam châm vĩnh cửu hoặc nam châm điện.
- Roto (phần chuyển động) với các cuộn dây quấn, cổ góp cùng chổi điện.
Chức năng của chổi than – vành góp là để đƣa điện áp một chiều vào cuộn dây phần ứng
và đổi chiều dòng điện một chiều trong cuộn dây phần ứng. Số lƣợng chổi than bằng số lƣợng
cực từ (một nửa có cực tính dƣơng và một nửa có cực tính âm).

Hình 21. Minh họa cấu tạo động cơ điện một chiều
Để động cơ điện một chiều hoạt động, ta cần cung cấp cho nó một dòng điện một chiều.
Điều khiển động cơ điện một chiều là điều khiển chiều quay hoặc điều khiển tốc độ quay của
động cơ.
Chiều quay đƣợc điều khiển chiều một cách đơn giản bằng việc thay đổi cực tính trên 2
cực của động cơ một chiều. Thông qua phần mềm và sự truyển tải điện qua mạch công suất ta dễ
dàng thay đổi chiều quay của động cơ điện một chiều.
23


Tài liệu hƣớng dẫn Thực hành ĐTVT cơ sở 2

BM. Kỹ thuật máy tính


Hình 22. Minh họa thay đổi chiều quay động cơ điện một chiều.
Để điều khiển tốc độ quay động cơ điện một chiều ta phải thay đổi điện áp đặt lên hai cực
của động cơ. Ở khía cạnh kỹ thuật số chúng ta không thể thay đổi điện áp một cách trực tiếp mà
phải thông qua phƣơng pháp điều chế độ rộng xung PWM (Pulse Width Modulation). Việc thay
đổi tỷ lệ thời gian phát xung mức 1 và mức 0 làm thay đổi điện áp trung bình Vtb. Độ rộng xung
sẽ quyết định Vtb từ đó điều khiển đƣợc tốc độ quay của động cơ, Vtb càng lớn thì động cơ quay
càng nhanh và tốc độ tối đa khi độ rộng xung là toàn chu kỳ xung (100%) tƣơng đƣơng với điện
áp vào động cơ là điện áp một chiều liên tục.

3.3 Sơ đồ mạch và nguyên tắc hoạt động board điều khiển hoạt động của các động cơ

Hình 25. Minh họa đấu nối giữa Arduino Intel Galileo 2
và board tích hợp điều khiển động cơ

24


×