Duy Tan University
BÁO CÁO ĐỒ ÁN CDIO CR
477
Đề tài:
“ THIẾT KẾ VÀ THI CÔNG
CÁNH TAY ROBOT ”
GVHD: ThS Nguyễn Thị Bích Hạnh
SVTH: Nguyễn Thanh Đông 2121176427
Nguyễn Vĩnh Khánh 2121154297
Nguyễn Sơn Lâm
2121158447
Trần Văn Trí
2121159384(TN)
T.Đông, V.Trí, S.Lâm, V.Khánh
Đà Nẵng, tháng 10 năm 2018
Page 1
Duy Tan University
MỤC LỤC
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 2
Duy Tan University
NHẬN XÉT ĐÁNH GIÁ CỦA HỘI ĐỒNG BẢO VỆ
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
T.Đông, V.Trí, S.Lâm, V.Khánh
.................................................................................................................................
Page 3
Duy Tan University
LỜI NÓI ĐẦU
Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước vấn đề tự động hóa sản
xuất có vai trò đặt biệt quan trọng. Như ta đã biết, ngày nay robot công nghiệp được
ứng dụng rất nhiều trong các ngành công nghiệp đòi hỏi sự tự động trong quá trình sản
xuất.
Mục tiêu ứng dụng robot trong công nghiệp là nhằm nâng cao năng sấy dây
chuyền công nghệ, nâng cao chất lượng và khả năng cạnh tranh sản phẩm, đồng thời
cải thiện điều kiện lao động.
Ở nước ngoài, robot công nghiệp đã được nghiên cứu và ứng dụng vào sản xuất
từ rất sớm. Chiếc robot công nghiệp được đưa vào ứng dụng đầu tien năm 1961 tại
Hoa Kỳ.
Ở nước ta, giai đoạn trước năm 1990 hầu như chưa du nhập về kỹ thuật robot,
thậm chí còn chưa nhận được nhiều thông tin kỹ thuật từ lĩnh vực này. Cho đến nay, ở
nước ta đã có rất nhiều cơ sở thiết kế, chế tạo và lắp ráp được robot. Trung tâm Nghên
cứu ứng dụng và Dịch vụ khoa học kỹ thuật cho biết, đến năm 2010. TP Hồ Chí Minh
sẽ đưa ra thị trường robot công nhiệp hoàn chỉnh, có khả năng cạnh tranh với các sản
phẩm ngoại nhập. Hơn nữa, mấy năm trở lại đây Việt Nam luôn đạt giải cao trong các
cuộc thi robocon Châu Á – Thái Bình Dương. Những chiến thắng này đã thổi một
luồng sinh khí mới vào phong trào sáng tạo robot của sinh viên. Hàng loạt robot mới ra
đời từ những cuộc thi này.
Ở nhiều trường đại học, cao đẳng và dạy học kỹ thuật đã bắt đầu giảng dạy về
robot công nghiệp. Với sở thích tìm hiểu về robot, mong muốn ứng dụng lý thuyết đã
được học vào thực tiễn, cũng như thúc đẩy phong trào nghiên cứu, chế tạo robot của
các bạn trong và ngoài trường, nhóm chúng em đã thực hiện đề tài : ”thiết kế, chế tạo
mô hình điều khiển tự động cánh tay robot điều khiển bằng arduino”.
Chúng em xin chân thành cảm ơn cô giáo ThS.Nguyễn Thị Bích Hạnh đã giúp
đỡ chúng em rất nhiều trong quá trình tìm hiểu ,thiết kế và hoàn thành đề tài đồ án 4
này.
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 4
Duy Tan University
CHƯƠNG I : TỔNG QUAN ĐỀ TÀI
1.1
Giới thiệu đề tài
Ngày nay, đi cùng với sự phát triển của xã hội là sự bùng nổ của ngành công
nghệ thông minh và tự động hóa. Việc ứng dụng những kỹ thuật hiện đại, những giải
pháp tốt nhất cho việc tối ưu các hoạt động của mọi người trong quá trình hoạt động
thường ngày, đến các dây chuyền sản xuất rộng lớn. Một trong những ứng dụng đó
không thể không kể đến đó là các cánh tay Robot.Công nghệ này cho phép người sử
dung có thể làm một công việc lặp đi lặp lại nhiều lần, với khối lượng công việc lớn,
tần suất làm việc lớn , từ đó có thể tiết kiệm thời gian sản xuất, tiết kiệm chi phí vận
hành và tiết kiệm chi phí nhân công. Hướng tới lợi nhuận và hiệu quả cao. Đây là một
Robot dạng tự động dựa trên việc học lại các cử chỉ mà người dùng mong muốn và tùy
ý chỉnh sửa. Chính vì thế người dùng có thể yên tâm khi dao công việc cho cánh tay
Robot này vì nó cũng hoạt động tương tự như con người.
1.2
Lý do chọn đề tài
Hiện nay các cánh tay Robot đã được sử dụng khá phổ biến đặc biệt ở các khu
công nghiệp, các dây chuyền sản xuất. So với hình thức sản xuất thông thường bằng
sức người thì hình thức sản xuất ứng dụng kỹ thuật tự động hóa mang lại sự ổn định
hiệu quả và tính năng vượt trội hơn rất nhiều. Nếu chúng ta có một dây chuyền sản
xuất khép kín thì khi đó thật sự ta không thể mang con người vào dây chuyền được,
thay vào đó với những cánh tay Robot thì hoàn toàn ngược lại. Sau khi ứng dụng nó
vào dây chuyền thì chúng ta không còn lo ngại về việc sản xuất không ổn định, không
có năng xuất cao vì chúng hoạt động dựa trên sự chỉ dẫn của con người, sau đó sẽ học
lại các hoạt động trước đó và rồi cứ thế lặp lại cho tời khi chúng ta muốn thay đổi mà
không biết mệt. Không những vậy cánh tay Robot còn có thể nâng cấp lên tùy theo
mục tiêu của con người một cách dễ dàng, như điều khiển qua thiết bị từ xa như: điện
thoại, máy tính…
Nhờ tính ứng dụng cao cũng như sự tiện lợi của cánh tay Robot nêu trên, nhóm
chúng
em quyết định thực hiện đề tài : Thiết kế cánh tay Robot tự học lại cử chỉ của
T.Đông, V.Trí, S.Lâm, V.Khánh
người sử dụng.
Page 5
Duy Tan University
Mục tiêu đề tài
Mục tiêu chính của đề tài là tạo ra cánh tay Robot có các chức năng sau:
• Tự phân tích được các cử chỉ của người dùng.
• Mô phỏng lại cử chỉ của người dùng.
• Tự động lặp lại cử chỉ của người dùng.
• Có khả năng tự nap lại chương trình khi gặp sự cố đột ngột.
1.3
Phương pháp nghiên cứu
Để tiến hành các công việc nghiên cứu, thiết kế, chế tạo cánh tay Robot nhóm
đã đưa ra các nội dung nghiên cứu theo trình tự sau đây:
•
•
•
•
•
•
1.4
Nghiên cứu một số thiết bị tương tự trên thị trường có tính năng gần
giống.
Nghiên cứu các vi điều khiển, động cơ và các linh kiện cần sử dụng.
Thiết kế hình dáng và thi công.
Lập trình các hoạt động, tìm hiểu thuật toán học lại các cử chỉ, triển khai
các giải thuật đã nghiên cứu lên cánh tay Robot.
Sau khi đã chế tạo cánh tay sẽ kiểm tra cụ thể , hiệu chỉnh lại sản phẩm.
Triển khai thử nghiệm và đánh giá hiệu quả.
Phạm vi nghiên cứu
Phạm vi nghiên cứu hệ thống khóa cửa tự động bằng RFID gồm:
• Nghiên cứu các loại cách tay Robot có trên thực tế đã được áp dụng..
• Khả năng ứng dụng của sản phẩm.
• Thuật toán xử lý và học lại hành động.
• Các loại linh kiện có thể tích hợp.
• Các loại động cơ.
• Kỹ thuật lập trình.
CHƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG
2.1
Thiết kế phần cứng
Hình 2.1 Cánh tay robot
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 6
Duy Tan University
Hình 2.2 Cánh tay điểu khiển
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 7
Duy Tan University
Hình 2.3 Nối dây và các nút bấm
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 8
Duy Tan University
2.2
Thiết kế phần mềm
2.2.1
Tính toán lấy giá trị của biến trở để quy đổi về góc:
map(A0_value, 200,823, 0, 180);
Như đã biết, giá trị trả về của hàm AnalogRead trong khoảng từ 0-1023 (tương
ứng mức điện áp 0->5v). Tuy nhiên, để thực hiện ý tưởng điều khiển tuyến tính servo
với góc từ 0->180 thì ta phải lấy khoảng giá trị sao cho góc lệch của servo phải tương
ứng với góc lệch của biến trở.
góc
Hình 2.4 chia góc tương ứng trên biến trở
2.2.2
Xử lý bộ nhớ
a) Nạp EEPROM – RAM
ATMega328
1024byte
Arduino uno r3 có 1024 bytes EEPROM
Kích thước EEPROM (số byte) trên arduino
Khai báo biến hằng:
const unsigned int SIZE_MEMORY_EEPROM = 1024;
T.Đông, V.Trí, S.Lâm, V.Khánh
Xác định số bước nhớ tối đa:
+ Giá trị nhớ của nó nằm trong khoảng 0-255(byte)
Page 9
Duy Tan University
⇒
+ Với 1024byte ta có thể chia thành 5 bước nhớ, mỗi bước là 200byte
200*5 = 1000byte
#define Step_max 200
Int step_move = 0; ( là bước di chuyển)
Nạp EEPROM Sang Ram: EEPROM.read(địa chỉ ô nhớ)
-
Gọi J là giá trị nhớ trong khoảng 0-199 của
void nap_eeprom_sang_ram()
{
step_move = EEPROM.read(SIZE_MEMORY_EEPROM - 1);
// lấy lại step_move từ rom
for (byte i = 0; i < servo_max; i++) {
for (int step_j = 0; step_j < step_max; step_j++) {
goc_servo[i][step_j] = EEPROM.read(step_j + i * step_max);
//nạp dữ liệu từ rom sang ram
}
}
T.Đông, V.Trí, S.Lâm, V.Khánh
}
Page 10
Duy Tan University
VD:
goc_servo[i][step_j] = EEPROM.read(step_j + i * step_max);
góc_servo[1][100] = [100] + (1 * 200)
= 300
Với servo i=1 và giá trị nhớ j=100
SERVO thứ 2,có giá trị góc chứa trong vùng step 300 trong ô nhớ rom
b) Ghi Dữ Liệu Vào ROM
Thực Hiện Lưu Dữ Liệu Vào ROM: EEPROM.write(địa chỉ nhớ, giá trị nhớ)
void luu_vao_eeprom(){// bước 1: lưu dữ liệu vào rom
EEPROM.write(SIZE_MEMORY_EEPROM - 1, step_move); // ghi step_move
vào rom
delay(15); // đợi 15ms để hoàn thành ghi 1 ô nhớ
for (byte i = 0; i < servo_max; i++) {
for (int step_j = 0; step_j < step_move; step_j++) {
EEPROM.write(step_j + i * step_max, goc_servo[i][step_j]);
//nạp dữ liệu từ ram vào rom
delay(15); // đợi 15ms để hoàn thành ghi 1 ô nhớ
T.Đông, V.Trí,} S.Lâm, V.Khánh
Page 11
Duy Tan University
2.3
Giới thiệu các linh kiện
Hình 2.4 Linh kiện
Tên linh kiện
arduino uno r3
Số lượng
1
Thông số
ATmega328 họ 8bit
Điện áp hoạt 5V DC (chỉ được
động
cấp qua cổng USB)
Dòng ra tối 5V-500 mA, 3.3Vđa
50mA
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
4
Giá trị 10k ôm-> 200K ôm
Biến trở xoay
Servo
Orange
4
Red
Brown
PWM
20ms (50Hz)
VCC(+)
4.8V(~5V)
Ground(-)
Button
3
2.3.1
Arduino uno:
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (do it yourseft
là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây,
gần giống với những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng
người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học
T.Đông, V.Trí, S.Lâm, V.Khánh
đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
Page 12
Duy Tan University
Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại
các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc
ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để
phát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác?
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với
các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm
nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một
ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về
điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và
tính chất nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng $30, người dùng đã
có thể sở hữu một bo Arduino có 20 cổng I/O có thể tương tác và điều khiển chừng ấy
thiết bị, như hình 20.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua
vào thế kỷ thứ 9 là King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm
2005 như là một công cụ dành cho các sinh viên của giáo sư Massimo Banzi, là một
trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea
(IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền
với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu
tiên. Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham
quan nơi đã sản sinh ra Arduino.
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 là shield. Vài shield giao tiếp 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
I²C-nhiều shield có thể được xếp chồng. Arduino chính thức thường 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 Arduino
tương thích. Hầu hết các mạch gồm một bộ mạch nguồn 5V và một thạch anh giao
động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài
thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn
T.Đông, V.Trí, S.Lâm, V.Khánh
chế về kích cỡ thiết bị. Một vi điều khiển Arduino cũng có thể được lập trình sẵn với
Page 13
Duy Tan University
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 1 máy tính gốc như
là một bộ nạp chương trình.
Hình 2.5 Bo mạch Arduino UNO
Theo nguyên tắc, tất cả các board được lập trình thông qua một kết nối RS-232,
nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board Serial Arduino
có chứa một mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện tại được
lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như
là FTDI FT232.
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 0.10-inch (2.5 mm). Nhiều shield ứng dụng
plug-in cũng được thương mại hóa. khi còn duy trì độ tương thích với các shield, đôi
khi không. Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương
thích khác nhau.
Khả năng của bo mạch Arduino:
Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip
phổ biến nhất là ATmega328 và ATmega2560. Các dòng vi xử lý này cho phép lập
T.Đông,
S.Lâm,
trình
các V.Trí,
ứng dụng
điềuV.Khánh
khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ
nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả
Page 14
Duy Tan University
năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng
như UART, SPI, TWI (I2C). xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các
chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).
Sức mạnh xử lý:
●
●
●
●
Xung nhịp: 32MHz
EEPROM: 1KB (ATmega328) và 4KB (ATmega2560)
SRAM: 2KB (Atmega328) và 8KB (Atmega2560)
Flash: 32KB (Atmega328) và 256KB (Atmega2560)
Đọc tín hiệu cảm biến ngõ vào:
Digital:
Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc
ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ
vào và ngõ ra.Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên
Atmega2560 là 54.
Analog:
Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV).Số
lượng cổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560. Với tính
năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ
ẩm, ánh sáng, gyro, accelerometer…
Xuất tín hiệu điều khiển ngõ ra:
Digital output:
Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm
để quyết định dùng ngõ digital nào là ngõ ra. Tổng số lượng cổng digital trên các mạch
dùng Atmega328 là 14, và trên Atmega2560 là 54.
PWM output:
trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín
hiệu điều chế xung PWM. Độ phân giải của các tín hiệu PWM này là 8-bit. Số lượng
cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560
là 14.
PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển
T.Đông, V.Trí, S.Lâm, V.Khánh
động cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình.
Page 15
Duy Tan University
Chuẩn Giao tiếp
Serial:
Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch
Arduino. Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng
trong chip thực hiện). Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện
giao tiếp nối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cần phải viết
code). Mức tín hiệu của các cổng này là TTL 5V. Lưu ý cổng nối tiếp RS-232 trên các
thiết bị hoặc PC có mức tín hiệu là UART 12V. Để giao tiếp được giữa hai mức tín
hiệu, cần phải có bộ chuyển mức, ví dụ như chip MAX232. Số lượng cổng Serial cứng
của Atmega328 là 1 và của Atmega2560 là 4.
Với tính năng giao tiếp nối tiếp, các bo Arduino có thể giao tiếp được với rất
nhiều thiết bị như PC, touchscreen, các game console…
USB:
Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối
với máy tính dùng cho việc tải chương trình. Tuy nhiên các chip AVR không có cổng
USB, do đó các bo Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín
hiệu UART. Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải là
cổng USB tiêu chuẩn.
SPI:
Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây. Với tính năng
này các bo Arduino có thể kết nối với các thiết bị như LCD, bộ điều khiển video game,
bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…
TWI (I2C):
Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây. Với tính
năng này, các bo Arduino có thể giao tiếp với một số loại cảm biến như thermostat của
CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âm lượng
cho một số loại loa…
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều
lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi
trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 16
Duy Tan University
nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư
viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.
Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất
hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi
trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có
kinh nghiệm. Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và
do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng
hoàn toàn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn.
2.3.2
Biến trở xoay
Hình 2.6 Cấu tạo biến trở.
Phần màu vàng là một lớp điện trở. Cây kim màu xanh được đè chặt xuống phần
điện trở này. Giả sử có dòng điện đi từ 1 đến 3 thì nó sẽ phải qua phần màu vàng (được
tô đỏ) và đó chính là điện trở hiện tại của biến trở. Bạn chỉ việc vặn cây kim để tăng
giảm độ dài của vùng màu đỏ, qua đó tăng giảm giá trị điện trở.
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 17
Duy Tan University
2.3.3
Servo
Hình 2.7 Động cơ servo.
Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường
cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM)
với góc quay nằm trong khoảng bất kì từ 0o - 180o. Mỗi loại servo có kích thước, khối
lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô
mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì
khỏe và nhông sắc chắc chắn,...
- Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của
động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ
được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động
quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong
muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác.
Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC
(radio-controlled). Trong thực tế, bản thân động cơ servo không phải được điều khiển
bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ
servo nhận tín hiệu từ máy thu này..
- ỨngV.Trí,
dụngS.Lâm,
của động
cơ servo: Động cơ điện là thiết bị chuyển đổi năng lượng
T.Đông,
V.Khánh
điện thành lực cơ học. Đối với hầu hết các dạng động cơ điện thông dụng, lực cơ học
Page 18
Duy Tan University
này là lực chuyển động quay. Lực chuyển động quay tạo ra bởi động cơ dùng để thực
hiện công việc nào đó. Các ví dụ về ứng dụng công nghiệp cho động cơ điện bao gồm:
khoan, nghiền, băng chuyền, quạt, bơm, robot…
Thông số kĩ thuật SG90-9G
•
•
•
•
•
•
•
Khối lượng : 9g
Kích thước: 22.2x11.8.32 mm
Momen xoắn: 1.8kg/cm
Tốc độ hoạt động: 60 độ trong 0.1 giây
Điện áp hoạt động: 4.8V(~5V)
Nhiệt độ hoạt động: 0 ºC – 55 ºC
Điều khiển: Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam
với chân phát xung của vi điều khiển. Ở chân xung cấp một xung từ 1ms-2ms
theo để điều khiển góc quay theo ý muốn.
Hình 2.8 Sơ đồ chân của servo
Hình 2.9 Động cơ servo.
Xung với thời gian 1ms tương ứng với vị trí 0 độ, thời gian 1,5ms đến 90
độ và 2ms đến 180 độ. Mặc dù thời gian tối thiểu và tối đa của các xung đôi khi
T.Đông,
V.Trí,
S.Lâm,
có
thể khác
nhau
với V.Khánh
các thương hiệu khác nhau và chúng có thể là 0,5ms cho 0
độ và 2,5ms cho vị trí 180 độ.
Page 19
Duy Tan University
2.3.4
Button
Để tạo thành một bộ nút nhấn hoàn chỉnh có thể sử dụng với núm tròn màu
vàng hay núm vuông màu xanh. Nút nhấn được sản xuất bởi hãng Omron có hai tiếp
điểm thường mở, bấm mềm tay, và có chu kỳ sử dụng lớn. Trên đế có 2 vấu nhựa gài
xuống mạch in làm nút bấm không bị xoay khi sử dụng.
•
Nhiệt độ hoạt động -30 ~ + 70 ℃
•
Dòng điện tối đa chạy qua khi ấn: DC 12V 0.5A
•
Điện trở cách điện (Insulation Resistance) : > = 100MΩ
•
Điện trở khi đóng = <0.03Ω
•
Lực ấn: 150 ~ 300G
•
Tuổi thọ (Life) 100.000 lần
Hình 2.10 Cấu tạo nút bấm.
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 20
Duy Tan University
CHƯƠNG III: THIẾT KẾ HỆ THỐNG
3.1
Tổng quan thiết kế
3.1.1 Lưu đồ thuật toán hệ thống và nguyên lý hoạt động
3.1.1.1
Lưu đồ thuật toán
T.Đông, V.Trí, S.Lâm, V.Khánh
Hình 3.1 Sơ đồ thuật toán
Page 21
Duy Tan University
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 22
Duy Tan University
Điều khiển tuyến tính
AV = 5v
Begin
Khai báo mảng chứa góc
Lấy giá trị góc của biến trở
S
Nhấn nút
Recodrd
Đ
Lưu giá trị góc vào mảng
( RAM )
Hình 3.2 Điều khiển tuyến tính
T.Đông, V.Trí, S.Lâm, V.Khánh
Page 23
Duy Tan University
Nạp EEPROM – RAM
SIZE_MEMORY_EEPROM =1024
Int step_move = 0;
( là bước di chuyển)
Step_max=200
EEPROM.read(SIZE_MEMORY_EEPROM - 1)
for (byte i = 0; i < servo_max; i++)
for (int step_j = 0; step_j < step_max; step_j++)
S
If(step_j < step_max)
Đ
goc_servo[i][step_j] = EEPROM.read(step_j + i * step_max)
Đ
If(i < servo_max)
T.Đông, V.Trí, S.Lâm, V.Khánh
Hình 3.3 Nạp EEPROM sang RAM
Page 24
S
Duy Tan University
Nạp dữ liệu từ RAM -> Eeprom
T.Đông, V.Trí, S.Lâm, V.Khánh
Hình 3.4 Nạp từ RAM -> Eprom
Tự động di chuyển:
Page 25