Giá trị momen điện từ được tính như sau: = 2 =Trong đó: p: số đôi cặp cực của động cơ n: số thanh dẫn phần ứng dưới một cực từ a: số mạch nhánh song song của dây quấn phần ứng k: hệ số k
Trang 1VIỆN KỸ THUẬT HẠT NHÂN VÀ VẬT LÝ MÔI TRƯỜNG
Trang 2MỤC LỤC
MỤC LỤC
DANH MỤC HÌNH VẼ
LỜI MỞ ĐẦU 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4
1.1 Động cơ điện một chiều 4
1.1.1 Cấu tạo của động cơ điện một chiều 4
1.1.2 Nguyên lý làm việc của động cơ điện một chiều 5
1.2 Thuật toán điều khiển PID 5
1.2.1 Lý thuyết PID 5
1.2.2 Xác định các tham số của bộ điều khiển PID 10
1.3 Encoder 10
1.4 Mạch cầu H 11
1.5 Tổng quan về Arduino 13
1.5.1 Lịch sử phát triển 14
1.5.2 Phần cứng 14
1.5.3 Phần mềm 15
1.6 Lập trình trong môi trường Labview 16
1.6.1 Khái quát chung về phần mềm Labview 16
1.6.2 Kỹ thuật lập trình Labview 18
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 22
2.1 Phương án thiết kế 22
2.1.1 Yêu cầu thiết bị 22
2.1.2 Thiết kế 22
2.1.3 Động cơ DC sử dụng cho mạch phần cứng 23
2.1.4 Phương pháp điều khiển 23
Trang 32.2 Kết nối mạch phần cứng 24
2.3 Giao diện chương trình điều khiển 25
2.4 Cách thức hoạt động 256
CHƯƠNG 3: ĐÁNH GIÁ KẾT QUẢ 27
3.1 Tiến hành đo đạc 27
3.2 Kết quả 27
KẾT LUẬN 31
TÀI LIỆU THAM KHẢO 32
PHỤ LỤC 33
Phụ lục 1: Chương trình viết cho Arduino 33
Phụ lục 2: Chương trình Labview 38
Phụ lục 3: Kết quả đo 39
Trang 4DANH MỤC HÌNH VẼ
Hình 1.1 Hình ảnh động cơ một chiều 5
Hình 1.2 Sơ đồ khối của bộ điều khiển PID 6
Hình 1.3 Điều khiển với bộ điều khiển PID 7
Hình 1.4 Sự phụ thuộc của hệ thống khi KP thay đổi 7
Hình 1.5 Sự phụ thuộc của hệ thống khi KI thay đổi 8
Hình 1.6 Sự phụ thuộc của hệ thống khi KD thay đổi 9
Hình 1.7 Nguyên lý hoạt động của encoder 11
Hình 1.8 Dạng xung thu nhận được từ 2 kênh của encoder 11
Hình 1.9 Sơ đồ nguyên lý của mạch cầu H 12
Hình 1.10 Sơ đồ nguyên lý của mạch cầu H sử dụng Tranzito BJT 12
Hình 1.11 Đường đi của dòng điện trong trường hợp A ở mức LOW và B ở mức HIGH 13
Hình 1.12 Đường đi của dòng điện trong trường hợp A ở mức HIGH và B ở mức LOW 13
Hình 1.13 Hình ảnh Board Arduino UNO 14
Hình 1.14 Một ví dụ về Front Panel 17
Hình 1.15 Ví dụ của một Block Diagram và Front Panel tương ứng 18
Hình 1.16 Giao diện chương trình Labview 19
Hình 1.17 Môi trường lập trình Labview 19
Hình 1.18 Tool palett 19
Hình 1.19 Bảng điều khiển 20
Hình 1.20 Bảng Functions palette 21
Hình 2.1 Module L298 22
Hình 2.2 Xung khi sử dụng với hàm analogWrite trong Arduino 24
Hình 2.3 Kết nối các modul 25
Hình 2.4 Giao diện chương trình điều khiển 25
Trang 5Hình 3.1 Sự thay đổi vận tốc động cơ khi KP =1, KI =0.5, KD = 0.01 27
Hình 3.2 Sự thay đổi vận tốc động cơ khi tăng KP 28
Hình 3.3 Sự thay đổi vận tốc động cơ khi tăng KD 28
Hình 3.4 Sự thay đổi vận tốc động cơ khi tăng KI lên 0.8 29
Hình 3.5 Sự thay đổi vận tốc động cơ khi tăng KI lên 1.0 29
Hình 3.6 Đồ thị so sánh tốc độ động cơ khi KP giảm 30
Trang 63
LỜI MỞ ĐẦU
Ngày nay với sự phát triển không ngừng của nên khoa học kỹ thuật đã tạo ra những thành tựu to lớn, trong đó ngành tự động hóa cũng góp phần không nhỏ vào thành công đó Một trong những vấn đề quan trọng trong các dây chuyền tự động hóa sản xuất hiện đại là việc điều khiển động cơ Từ trước đến nay, động cơ một chiều vẫn luôn là loại động cơ được sử dụng rộng rãi kể cả trong những hệ thống yêu cầu cao Vì
vậy em đã đi tìm hiểu đề tài là: “ Điều khiển động cơ một chiều sử dụng Arduino-
Labview” Nội dung đề tài được chia làm 3 chương:
Chương 1 Cơ sở lý thuyết
Chương 2 Thiết kế phần cứng và chương trình điều khiển
Chương 3 Đánh giá kết quả
Trong quá trình làm đề tài này, em luôn nhận được sự hướng dẫn, chỉ bảo tận
tính và cung cấp những tài liệu cần thiết của thầy Th.S Bùi Ngọc Hà Em xin gửi tới
thầy lời cảm ơn chân thành Tuy nhiên, do thời gian và giới hạn của đồ án cùng với phạm vi nghiên cứu tài liệu với kinh nghiệm và kiến thức còn hạn chế nên bản đồ án này không tránh khỏi những thiếu sót rất mong sự đóng góp ý kiến của thầy để bản đồ
án của em được hoàn thiện hơn
Sinh viên thực hiện
Bùi Tiến Hưng
Trang 7CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1 Động cơ điện một chiều
Động cơ điện là máy điện dùng để chuyển đổi năng lượng điện năng sang năng lượng cơ Máy điện dùng để chuyển đổi ngược lại( từ cơ sang điện) được gọi là máy phát điện hay dynamo Các động cơ điện thường gặp dùng trong gia đình như quạt điện, tủ lạnh, máy giặt, máy bơm nước, máy hút bụi…
Ngày nay động cơ điện được dùng trong hầu hết mọi lĩnh vực, từ các động cơ nhỏ dùng trong lò vi song để chuyển động đĩa quay, hay trong các máy đọc đĩa (máy chơi
nhiều nước động cơ điện được dùng trong các phương tiện vận chuyển, đặc biệt trong các đầu máy xe lửa Trong công nghệ máy tính: Động cơ điện được sử dụng trong các
ổ cứng, ổ quang (chúng là các động cơ bước rất nhỏ)
1.1.1 Cấu tạo của động cơ điện một chiều
Cấu tạo của động cơ điện gồm stator, rotor và hệ thống chổi than- vành góp Stator bao gồm vỏ máy, cực từ chính, cực từ phụ, dây quấn phần cảm( dây quấn kích thích) gồm các bối dây đặt trong rãnh của lõi sắt Số lượng cực từ chính phụ thuộc tốc độ quay Đối với động cơ công suất nhỏ người ta có thể kích từ bằng nam châm vĩnh cửu
Rotor( còn gọi là phần ứng) gồm các lá thép kỹ thuật điện ghép lại các rãnh để đặt các phần tử của dây quấn phần ứng Điện áp một chiều được đưa vào phần ứng qua
hệ thống chổi than- vành góp Kết cấu của giá đỡ chổi than có khả năng điều chỉnh áp lực tiếp xúc và tự động duy trì áp lực tùy theo độ mòn của chổi than
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ộng dây phần ứng và đỏi dòng điện trong cuộng 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)
Trang 85
Hình 1.1 Hình ảnh động cơ một chiều
1.1.2 Nguyên lý làm việc của động cơ điện một chiều
Khi đặt dây quấn kích từ một điện áp kích từ Uk nào đó thì trong dây quấn kích
từ sẽ xuất hiện dòng kích từ ik và do đó mạch từ của máy sẽ có từ thông Tiếp đó đặt một giá trị điện áp U lên mạch phần ứng thì trong dây quấn phần ứng sẽ có một dòng điện I chạy qua Tương tác giữa dòng điện phần ứng và từ thông kích thích tạo thành momen điện từ Giá trị momen điện từ được tính như sau:
=
2 =Trong đó: p: số đôi cặp cực của động cơ
n: số thanh dẫn phần ứng dưới một cực từ a: số mạch nhánh song song của dây quấn phần ứng k: hệ số kết cấu của máy
1.2 Thuật toán điều khiển PID
1.2.1 Lý thuyết PID
Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID- Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi Bộ điều khiển PID sẽ tính toán giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh
Trang 9giá trị điều khiển đầu vào Trong trường hợp không có kiến thức cơ bản (mô hình toán học) về hệ thống điều khiển thì bộ điều khiển PID là sẽ bộ điều khiển tốt nhất Tuy nhiên, để đạt được kết quả tốt nhất, các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống
Hình 1.2 Sơ đồ khối của bộ điều khiển PID
Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn được gọi là điều khiển ba khâu: các giá trị tỉ lệ, tích phân và đạo hàm, viết
tắt là P, I, và D Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác định tác động của tốc
độ biến đổi sai số Tổng chập của ba tác động này dùng để điều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điều khiển hay bộ nguồn của phần tử gia
nhiệt Nhờ vậy, những giá trị này có thể làm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộc vào tích lũy các sai số quá khứ, và D dự đoán các sai
số tương lai, dựa vào tốc độ thay đổi hiện tại
Bằng cách điều chỉnh 3 hằng số trong giải thuật của bộ điều khiển PID, bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt Đáp ứng của bộ điều khiển
có thể được mô tả dưới dạng độ nhạy sai số của bộ điều khiển, giá trị mà bộ điều khiển vọt lố điểm đặt và giá trị dao động của hệ thống Lưu ý là công dụng của giải
thuật PID trong điều khiển không đảm bảo tính tối ưu hoặc ổn định cho hệ thống
Vài ứng dụng có thể yêu cầu chỉ sử dụng một hoặc hai khâu tùy theo hệ thống Điều này đạt được bằng cách thiết đặt đội lợi của các đầu ra không mong muốn về 0
Trang 107
Một bộ điều khiển PID sẽ được gọi là bộ điều khiển PI, PD, P hoặc I nếu vắng mặt các tác động bị khuyết Bộ điều khiển PI khá phổ biến, do đáp ứng vi phân khá nhạy đối với các nhiễu đo lường, trái lại nếu thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mong muốn
Hình 1.3 Điều khiển với bộ điều khiển PID
Khâu tỉ lệ: Đôi khi còn được gọi là độ lợi làm thay đổi giá trị đầu ra, tỉ lệ với
giá trị sai số hiệ tại Đáp ứng tỉ lệ có thể được điều chỉnh bằng cách nhân sai số đó với hằng số Kp, được gọi là độ lợi tỉ lệ
Khâu tỉ lệ cho bởi:
= ( ) Trong đó: Uo là thừa số tỉ lệ của đầu ra
KP là độ lợi tỉ lệ, thông số điều chỉnh e(t) là sai số
t là thời gian
Hình 1.4 Sự phụ thuộc của hệ thống khi K p thay đổi
Trang 11Độ lợi của khâu tỉ lệ lớn là do thay đổi lớn ở đầu ra mà sai số thay đổi nhỏ Nếu
độ lợi của khâu tỉ lệ quá cao, hệ thống sẽ không ổn định Ngược lại, độ lợi nhỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớn, và làm cho bộ điều khiển này kém nhạy, hoặc đáp ứng chậm Nếu độ lợi của khâu tỉ lệ quá thấp, tác động điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống
Khâu tích phân: Phân phối của khâu tích phân tỉ lệ thuận với cả biên độ sai số
lẫn quãng thời gian xảy ra sai số Tổng sai số tức thời theo thời gian( tích phân sai số) cho ta tích lũy bù đã được hiệu chỉnh trước đó Tích lũy sai số sau đó được nhân với
độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển Biên độ phân phối của khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi độ lợi tích phân KI
Khâu tích phân được cho bởi:
= ( )Trong đó: Uo là thừa số tích phân của đầu ra
KI là độ lợi tích phân Khâu tích phân( khi cộng thêm khâu tỉ lệ) sẽ tăng tốc chuyển động của quá trình tới điểm đặt và khử số dư sai số ổn định với một tỉ lệ chỉ phụ thuộc vào bộ điều khiển Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó có thể khiến giá trị hiện tại vọt lố qua giá trị đặt( ngang qua điểm đặt và tạo ra một độ lệch với các hướng khác)
Hình 1.5 Sự phụ thuộc của hệ thống khi K i thay đổi
Trang 129
Khâu vi phân: Tốc độ thay đổi của sai số quá trình được tính toán bằng cách
xác định độ dốc của sai số theo thời gian( tức đạo hàm bậc một theo thời gian) và nhân tốc độ này với độ lợi tỉ lệ Kd Biên đọ của phân phối khâu vi phân( đôi khi được gọi là tốc độ) trên tất cả các hành vi điều khiển được giới hạn bởi độ lợi vi phân Kd
Khâu tích phân cho bởi:
= ( )Trong đó: Uo là thừa số vi phân của đầu ra
KD là độ lợi vi phân Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này là đang chú ý nhất để đạt tới điểm đặt của bộ điều khiển Từ đó, điều khiển vi phân được sử dụng để làm giảm biên độ lọt vố được tạo ra bởi thành phần tích phân và tăng cường độ ổn định của bộ điều khiển hỗn hợp Tuy nhiên, phép vi phân của một tín hiệu sẽ khuếch đại nhiễu và do đó khâu này sẽ nhạy hơn đối với nhiễu trong sai số, và
có thể khiến quá trình trở nên không ổn định nếu nhiễu và độ lợi vi phân đủ lớn
Hình 1.6 Sự phụ thuộc của hệ thống khi K d thay đổi
Trang 13Biểu thức của PID:
( ) = ( ) + ( ) + ( )
Độ lợi tỉ lệ, K P
Giá trị càng lớn thì thời gian đáp ứng càng nhanh do đó sai số càng lớn, bù khâu
tỉ lệ càng lớn Một giá trị độ lợi tỉ lệ quá lớn sẽ dẫn đến quá trình mất ổn định và dao động
Độ lợi tích phân, K I
Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh Đổi lại là độ vọt lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái ổn định
Độ lợi vi phân, K D
Giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số
1.2.2 Xác định các tham số của bộ điều khiển PID
Sử dụng phương pháp thử sai, thay đổi các giá trị KP, KI, KD theo hướng đã biết đến khi chọn được bộ số KP, KI, KD thích hợp nhất
1.3 Encoder
Cấu tạo của encoder:
+ Đĩa quay được khoét lỗ gắn vào trục động cơ + Một đèn Led làm nguồn phát sáng và mắt thu quang điện được bố trí thẳng hàng
Trang 1411
Hình 1.7 Nguyên lý hoạt động của encoder
Nguyên lý hoạt động: Trên đĩa có các lỗ người ta dùng đèn led để chiếu lên mặt
đĩa Khi đĩa quay chỗ có đèn Led sẽ chiếu xuyên qua còn phia mặt bên kia của đĩa người ta đặt một mắt thu, cứ mỗi lần mắt thu nhận được tín hiệu từ đèn led thì Encoder trả về một xung Bằng cách ghi nhận và xử lý các xung này người ta có thể xác định được chiều quay cũng như tốc độ của động cơ có gắn encoder
Hình 1.8 Dạng xung thu nhận được từ 2 kênh của encoder
1.4 Mạch cầu H
Mạch cầu H là mạch gồm 4 “ công tắc” được mắc theo hình chữ H Bằng cách điều khiển 4 “công tắc” này đóng mở, ta có thể điểu khiển được dòng điện qua động cơ cũng như các thiết bị tương tự khác Bốn “công tắc này” thường là Tranzito BJT, MOSFT hay relay
Trang 15Hình 1.9 Sơ đồ nguyên lý của mạch cầu H
Mạch cầu H dùng Tranzito BJT là loại mạch được sử dụng khá thông dụng, được dùng để điều khiển động cơ công suất thấp Có giá thành rẻ, dễ tìm mua, sử dụng khác đơn giản
Hình 1.10 Sơ đồ nguyên lý của mạch cầu H sử dụng Tranzito BJT
A, B là hai cực điều khiển mắc nối tiếp với hai điện trở hạn dòng có tác dụng đảm bảo dòng điện qua cực Base của các Tranzito không quá lớn để làm hỏng nó Để điều khiển hai cực này người ta cấp cấp các mức tín hiệu HIGH, LOW tương ứng 12V
và 0V Lúc này có 4 trường hợp xảy ra:
+ A ở mức LOW và B ở mức HIGH: Tranzito Q1, Q4 lúc này mở đồng thời Tranzito Q3, Q2 đóng Dòng điện trong mạch có thể chạy từ nguồn 12V đến Tranzito Q1, qua động cơ đến Tranzito Q4 để về GND( Hình 1.7) Động cơ sẽ quay theo chiều thuận
Trang 1613
Hình 1.11 Đường đi của dòng điện trong trường hợp A ở mức LOW và B ở mức HIGH
+ A ở mức HIGH và B ở mức LOW: Tranzito Q1, Q4 đóng và Tranzito Q3, Q2
mở Dòng điện trong mạch có thể chạy từ nguồn 12V đến Tranzito Q2, qua động cơ đến Tranzito Q3 để về GND( Hình 1.8) Động cơ lúc này quay theo chiều ngược lại
Hình 1.12 Đường đi của dòng điện trong trường hợp A ở mức HIGH và B ở mức LOW
+ A và B cùng ở mức LOW: Tranzito Q1 và Q2 mở nhưng Tranzito Q3 và Q4 đóng dẫn đến dóng điện không có đường về GND do đó không có dòng điện qua động cơ nên động cơ không hoạt động
+ A và B cùng ở mức HIGH: Tranzito Q1 và Q2 đóng nhưng Tranzito Q3 và Q4 mở do đó không có dòng điện qua động cơ nên động cơ cũng không hoạt động
Từ các phân tích trên ta có thể ứng dụng mạch cầu H để bật tắt và thay đổi chiều quay của động cơ
1.5 Tổng quan về Arduino
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác
với nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân
Trang 17đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau.
Hình 1.13 Hình ảnh Board Arduino UNO
1.5.1 Lịch sử phát triển
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy Vào thời điểm đó các sinh viên sử dụng một "BASIC Stamp" (con tem Cơ Bản) có giá khoảng $100, xem như giá dành cho sinh viên Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt Bản thân quán bar này
có được lấy tên là Arduino, Bá tước của Ivrea, và là vua của Italy từ năm 1002 đến
1014
Lý thuyết phần cứng được đóng góp bởi một sinh viên người Colombia tên là Hernando Barragan Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn
mở Trường này cuối cùng bị đóng cửa, vì vậy các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã phổ biến ý tưởng này
1.5.2 Phần cứng
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễn dàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào đó có thể dễ dàng chuyển đổi, được gọi
Trang 1815
là Shield Vài shield truyền thông với board Arduino trực tiếp thông qua các chân khác
nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I2C- nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song
Arduino chính thức sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16MHz( hoặc bộ cộng hưởng ceramic trong một vài biến thể)
Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng một máy tính gốc như là một bộ nạp chương trình
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM( điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng để như là 6 chân I/O số Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch( 2,5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, và Arduino-compatible Bare Boness Board và Boarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để cắm vào các breadboard
1.5.3 Phần mềm
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng platform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) và project Wiring Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm
cross-Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload
Trang 19chương trình lên board chỉ với 1 cú nhấp chuột Một chương trình hoặc code viết cho
Arduino được gọi là một sketch
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:
setup() : hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt
loop() : hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED và điện trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng dụng đơn giản Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch chương trình, và sử dụng avrdude để upload chương trình lên board
Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi trường phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng có thể được sử dụng để làm phần mềm phát triển cho Arduino
1.6 Lập trình trong môi trường Labview
1.6.1 Khái quát chung về phần mềm Labview
a Giới thiệu
Labview( Virtual Instrument Engineering Wordbech) là môi trường phát triển dựa trên ngôn ngữ lập trình đồ họa, thường được sử dụng cho mục đích: Đo lường,
kiểm tra xử lý và điều khiển các tham số của thiết bị
Labview là một ngôn ngữ lập trình đa năng, giống như các ngôn ngữ lập trình hiện đại khác Labview gồm có các thư viện thu nhận dữ liệu, một loạt các thiết bị điều khiển, phân tích dữ liệu, biểu diễn và lưu trữ dữ liệu Nó còn có các công cụ phát triển được thiết kế riêng cho việc ghép nối và điều khiển thiết bị
Labview khác với các ngôn ngữ thông thường ở điểm cơ bản là : Các ngôn ngữ lập trình khác thường dùng trên cơ chế dòng lệnh, trong khi đó Labview dùng ngôn ngữ lập trình Graphical để tạo ra các chương trình ở dạng sơ đồ khối
Trang 2017
b Thiết bị ảo( VI- Vitual Instrument)
Lập trình Labview trên cơ sở thiết bị ảo Các đối tượng trong thiết bị ảo được sử dụng để mô phỏng các thiết bị thực, nhưng chúng được đưa vào bởi phần mềm Các VI( thiết bị ảo) tương tự như các hàm trong các ngôn ngữ lập trình khác
c Front Panel
Một chương trình chung trong Labview gồm 3 phần chính: một là giao diện với người sử dụng( Front Panel), hai là giao diện dạng sơ đồ khối cung cấp mã nguồn( Block Diagram) và biểu tượng kết nối( Icon/ Connector) Front Panel là một Panel tương tự như panel của thiết bị thực tế ví dụ các nút bấm, nút bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùng chạy và quan sát kết quả có thể dùng chuột, bàn phím để đưa dữ liệu vào sau đó cho chương trình chạy và quan sát
Front Panel thường gồm các bộ điều khiển( control) và các bộ chỉ thị( indicator):
+ Control là các đối tượng đặt trên Front Panel để cung cấp dữ liệu cho chương trình Nó tương tự như đầu vào cung cấp dữ liệu
+ Indicator là đối tượng được đặt trên Front Panel dùng để hiển thị kết quả,
nó tương tự như bộ phận đầu vào của chương trình
Hình 1.14 Một ví dụ về Front Panel
d Block Diagram
Block Diagram của một VI là một sơ đồ được xây dựng trên môi trường Labview, nó có thể gồm nhiều đối tượng và các hàm khác nhau để tạo các câu lệnh để
Trang 21chương trình thực hiện Block Diagram là một mã nguồn đồ hoạc của một VI Các đối tượng trên Front Panel được thể hiện bằng các thiết bị đầu cuối trên Block Diagram Các thiết bị đầu cuối chỉ mất đi sau khi loại bỏ đối tượng tương ứng trên Front Panel
Cấu trúc của một Block Diagram gồm các thiết bị đầu cuối( Terminal), nút( Node) và các dây nối( Wire)
+ Terminal: là các cổng mà dữ liệu truyền qua giữa Block Diagram và Front Panel, và giữa các Node trong Block Diagram Các Terminal nằm
ở dưới dạng các Icon của các Function + Node: Là các phần tử thực thi chương trình, chúng tương tự như các mệnh đề, toán tử, hàm và các chương trình con trong các ngôn ngữ lập trình thông thường
+ Wire: Là các dây nối dữ liệu giữa các node
Hình 1.15 Ví dụ của một Block Diagram và Front Panel tương ứng
1.6.2 Kỹ thuật lập trình Labview
a Khởi động chương trình
Nhấp vào biểu Labview Giao diện chương trình(Hình 1.12) sẽ xuất hiện