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

THIẾT KẾ, CHẾ TẠO HỆ THỐNG ĐIỀU KHIỂN TAY MÁY PHỤC VỤ ĐÀO TẠO NGHỀ SỬ DỤNG VI ĐIỀU KHIỂN AVR ATmel pot

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 (352.53 KB, 6 trang )


THIẾT KẾ, CHẾ TẠO HỆ THỐNG ĐIỀU KHIỂN
TAY MÁY PHỤC VỤ ĐÀO TẠO NGHỀ SỬ DỤNG
VI ĐIỀU KHIỂN AVR ATmel

KS. ĐÀO ANH TUẤN
Học viên cao học lớp KTĐT K13
PGS. TS. LÊ HÙNG LÂN
Bộ môn Điều khiển học
Khoa Điện - Điện tử
Trường Đại học Giao thông Vận tải



Tóm tắt: Bài báo giới thiệu một số kinh nghiệm trong nghiên cứu chế tạo bộ điều khiển
cho tay máy 3 bậc tự do sử dụng vi điều khiển AVR. Điều này góp phần làm sáng tỏ khả năng
tự thiết kế, chế tạo trong nước các loại robot sử dụng trong đào tạo và sản xuất.
Summary: The paper presents some experiences in the design of a controller for robot-
arm with 3 degrees of freedom using AVR microcontroller. This helps to prove the possibility
of robot self designing and manufacturing in Viet Nam.

ĐT

I. ĐẶT VẤN ĐỀ
Hơn nửa thế kỷ qua kể từ khi ra đời, robot đã phát triển mạnh mẽ và đã góp phần đáng kể
làm thay đổi bộ mặt của nền sản xuất – xã hội. Trong ứng dụng công nghiệp, từ những tay máy
điều khiển từ xa cho ngành hoá phóng xạ ban đầu, ngày nay robot đã được sử dụng rộng khắp
trong các lĩnh vực gia công, lắp ráp của nhiều ngành sản xuất như năng lượng, ô tô, máy bay,
sản phẩm điện - điện tử,…
Ở các nước tiên tiến (G8), số lượng robot công nghiệp được ứng dụng trong thập niên qua
tăng gấp đôi (từ 400.000 /1991 đến 800.000 chiếc/2000). Các nước phát triển khác cũng có mức


tăng tương ứng nhưng với số lượng ít hơn 1 bậc. Điều này cho thấy sự đầu tư nghiên cứu, sản
xuất và ứng dụng robot ở các nước đã rất được chú trọng và hiệu quả.
Trong những năm gần đây, xu hướng mới là chế tạo các robot thông minh và thân thiện với
con người như: Robot y khoa, robot giúp việc, giúp người … Mặc dù có nhiều nỗ lực để phát
triển robot thông minh, nhưng các loại robot có thể mô phỏng nhiều chức năng của con người
vẫn còn những hạn chế nhất định, do đòi hỏi sự phát triển của công nghệ về trí tuệ nhân tạo.
Ở nước ta, trong thập niên qua, tình hình ứng dụng robot có những sự thay đổi lớn. Nhu
cầu tự động hoá để nâng cao năng suất, chất lượng và giảm giá thành sản phẩm đã buộc nhiều


doanh nghiệp phải nhập các thiết bị robot trong dây chuyền sản xuất. Điều này cũng tạo điều
kiện cho các đề tài nghiên cứu trước đây được đưa ra ứng dụng. Đồng thời cũng đặt ra yêu cầu
to lớn cho nghiên cứu và đào tạo về các hệ thống robot để phát triển ngành này ở nước ta.
Hiện nay, tại các trường đại học, các mô hình tay máy đều phải nhập ngoại, giá thành cao
và rất khó khăn để hiệu chỉnh hay sửa chữa. Trong bài báo này trình bày việc nghiên cứu sử
dụng vi điều khiển AVR để thiết kế, chế tạo bộ điều khiển cho tay máy 3 bậc tự do MENTOR
của mô hình nhập ngoại đã hỏng trong phòng thí nghiệm bộ môn Điều khiển học trường Đại
học GTVT. Điều này ngoài việc giúp cho hồi phục mô hình thí nghiệm phục vụ đào tạo, nghiên
cứu còn góp phần làm sáng tỏ khả năng làm chủ công nghệ chế tạo robot, tay máy trong nước.
II. NGHIÊN CỨU SỬ DỤNG VI ĐIỀU KHIỂN THIẾT KẾ CHẾ TẠO BỘ ĐIỀU KHIỂN
TAY MÁY
Đ
ầu cơ khí MENTOR của phòng thí nghiệm là kiểu quay có motor đặt trực tiếp trên từng
kh
ớp, vì vậy khi vận hành góc quay tuyệt đối là độc lập. Điều này cho phép khảo sát những bài
tập cơ bản sử dụng cho mục đích đào tạo. Kiểu quay có khớp quay, có khả năng mô phỏng hoạt
động của tay người. Thiết bị có thể được ứng dụng trong nhiều lĩnh vực như cung cấp phôi hoặc
linh kiện, vận chuyển hàng hoá, hàn,…
Phần điều khiển tay máy cần phải đáp ứng các yêu cầu sau:
- Phần cứng: Thiết bị có 3 kênh điều khiển riêng cho các động cơ DC của mỗi bậc tự do và

3 kênh cho tay gắp, được kết nối với bộ điều khiển chung có ghép nối với máy tính.
ĐT
- Phần mềm bao gồm:
+ Phần mềm điều khiển vận hành tay máy từ máy tính hoặc từ thiết bị điều khiển trực tiếp.
+ Phần mềm ứng dụng phục vụ đào tạo – huấn luyện, xây dựng theo các kiểu thuật toán
điều khiển: PID, PIV.
Hệ thống cho phép thực hành và giám sát hoạt động của tay máy (bằng biểu đồ và bảng số)
theo các giá trị điều khiển và trạng thái điều khiển, cung cấp các phương tiện phần cứng và phần
mềm cho phép phát triển các nghiên cứu ứng dụng và thực hành (Điều khiển theo thuật toán của
người sử dụng (trên nền C# cho hệ thống mở).
Để thiết kế phần cứng bộ điều khiển về nguyên tắc có thế sử dụng các phương án: vi xử lý,
PLC hay thủy lực, nhưng ở đây vi điều khiển AVR của ATmel, cụ thể là vi mạch ATmega 32
của Atmel Corporation được lựa chọn.
ATmega 32 thuộc loại vi điều khiển 8 bit, có kiến trúc
RISC (Reduced Intruction Set Computer) tiên tiến. Đây là kiến trúc phổ biến của các bộ vi điều
khiển hiện đại. ATmega 32 còn nổi bật với cấu trúc Hardvard cải tiến là cấu trúc có bộ nhớ
chương trình và bộ nhớ dữ liệu riêng, có hiệu suất cao, công suất thấp, có tốc độ xử lý lên đến
16 MIPS (million instructions per second) tại 16MHz, …
Các công cụ phục vụ công tác thiết kế được sử dụng gồm có: AVR Studio và KIT phát
triển STK500 (hình 1) của hãng ATmel. AVR Studio, version 4.14 là công cụ đang được sử


dụng hiệu quả nhất để gỡ rối các chương trình dùng cho tất cả các vi điều khiển AVR còn KIT
phát triển STK 500 là thiết bị hoàn hảo cho phép lập trình cho tất cả vi điều khiển AVR. KIT
STK500 có một vi điều khiển chủ, đóng vai trò điều khiển tất cả quá trình trên bản mạch và
truyền thông với máy tính qua cổng RS232. Một cổng RS232 thứ 2 chờ đón người dùng đưa
vào sử dụng. Phần mềm AVR Studio và vi điều khiển chủ người dùng có thể thiết lập điện áp
làm việc, điện áp so sánh hay điện áp chuẩn và tần số xung cklock trong một phạm vi rộng. KIT
STK500 có khả năng đặt chế độ hoạt động cho vi điều khiển AVR cần nạp chương trình đ63
đưa vào ứng dụng (khác với các vi điều khiển khác) hoặc bằng chu kỳ xng clock được thiết lập

qua AVR Studio, một bộ cộng hưởng thạch anh ngoài với đế cắm đặt ngay trên bản mạch hoặc
đưa vào dây một tín hiệu giữ nhịp từ bên ngoài. KIT STK500 còn có 8 LED và 8 phím nhấn
dùng cho các chức năng thử nghiệm cụ thể. Một bộ nhớ FLASH loại EEPROM với dung lượng
2Mbit dùng để đấu thêm vào một AVR cần nạp chương trình nhờ giao tiếp SPI nối tiếp có sẳn
trên mạch. Tất cả các cổng của bản mạch mẫu được nối với các mạch mở rộng qua jack cắm hai
hàng chân.

ĐT
Hình 1. KIT STK500
KIT STK500 hỗ trợ cả chế độ lập trình song song cũng như chế độ lập trình nối tiếp với
điện áp cao cho các vi điều khiển AVR (dạng vỏ 8 chân), chế độ này cũng cho phép lập trình
với các Lock - bit.
Hệ điều khiển tay máy được thiết kế bao gồm 6 kênh điều khiển cho 6 động cơ DC. Dựa
vào kiến trúc của vi điều khiển AVR ATmega 32, người thực hiện sử dụng 3 vi mạch
ATmega32, trong đó: một cho 3 động cơ DC khớp quay, một cho 3 động cơ DC tay gắp và một
làm vi điều khiển chính & giao tiếp máy tính. Sơ đồ khối của hệ điều khiển như sau (hình 2):



















ĐT













Bộ V Đ K chính AVR3
Chỉ thịBàn phím
Máy tính
Bus nối tiếp
(serial bus)
Bus nối tiếp
(serial bus / RS-232)
µC - MAIN µC - PC
Tầng
Công suất
Tầng
Công suất

Tầng
Công suất
Tầng
Công suất
Tầng
Công suất
Tầng
Công suất
Động cơ DC 1
& biến trở vị trí
Động cơ DC 2
& biến trở vị trí
Động cơ DC 3
& biến trở vị trí
Động cơ DC 4
& biến trở vị trí
Động cơ DC 5
& biến trở vị trí
Động cơ DC 6
& biến trở vị trí
Bộ V Đ K 1.1
µC-DRIVER1.1
Bộ V Đ K 1.2
µC-DRIVER1.2
Bộ V Đ K 1.3
µC-DRIVER1.3



µC-DRIVER2.1

µC-DRIVER2.2
µC-DRIVER2.3
Bộ V Đ K
2.3
Bộ V Đ K 2.2
Bộ V Đ K 2.1
AVR2
AVR1
Hình 2. Sơ đồ khối hệ điều khiển tay máy MENTOR
- Cấu hình cho mỗi kênh:
+ Mỗi bậc tự do và tay kẹp được điều khiển bởi một bộ vi điều khiển riêng, tạo xung điều


rộng (PWM) qua tầng công suất ra cho motor DC.
+ Các biến tr
ở vị trí được phản hồi về bộ vi điều khiển tương ứng.
+ Cấu hình này cho phép thực hành điều khiển từ mức thấp nhất đến mức cao nhất, cho
phép phân đoạn các mức thực hành.
- Cấu hình hệ thống:
+ Hệ thống sử dụng 1 bộ vi điều khiển chính kết nối bus nối tiếp với 6 bộ vi điều khiển
cho mỗi kênh riêng (tốc độ 625 Kbit/s) và liên kết bus nối tiếp với máy tính qua ổ RS-232 ( tốc
độ 115 Kbit/s). Việc tổ chức liên kết bus nối tiếp cho phép đơn giản phần cứng.
+ Bộ vi điều khiển chính có bộ LED chỉ thị và có thể phát triển thêm bàn phím để vận hành
toạ độ ở mức thấp.

Hình 3. Mạch công suất điều khiển động cơ
ĐT
Nguyên lý của các bộ Vi điều khiển 1.1 – 2.3 hoạt động trên cơ sở mạch ADC của vi điều
khiển AVR. Mỗi kênh sử dụng một cặp ADC của vi điều khiển AVR, trong đó một ADC biến
đổi giá trị đặt được điều khiển bằng tay hoặc nhập trực tiếp từ máy tính, một ADC biến đổi giá

trị đọc về từ biến trở vị trí đặt đồng trục với động cơ DC của tay máy. Hai giá trị này được thanh
ghi chức năng trong vi điều khiển AVR sẽ thực hiện so sánh và xuất xung điều rộng qua tầng
công suất để điều khiển động cơ DC. Sơ đồ nguyên lý của mạch công suất điều khiển động cơ
DC được trình bày trên hình 3 với các ngõ vào OCRx (thanh ghi chức năng của vi điều khiển
AVR) và ngõ vào cho phép.
Chương trình điều khiển các kênh cho động cơ DC với thuật toán PID được viết trên ngôn ngữ C.
III. KẾT LUẬN
Trên thị trường có rất nhiều loại vi điều khiển, do vậy việc lựa chọn một loại vi điều khiển
cụ thể cho phù hợp với ứng dụng của người thiết kế trở thành một công việc khó khăn. Tuỳ
thuộc vào nội dung của các ứng dụng cụ thể, người thiết kế nên dành thời gian cân nhắc và cụ
thể hoá các bước phát triển để có được một mạch điện với các tính năng đáp ứng những yêu cầu
mà ứng dụng cần có.
Nhìn chung các vi điều khiển AVR có đặc điểm nổi bật là giá thành thấp và có nhiều tính
năng hấp dẫn. Toàn bộ các vi điều khiển AVR đều dùng chung một tập lệnh và cùng có một
kiến trúc cơ sở nên người thiết kế không phải học thêm một kiến trúc mới.


Tất cả các vi điều khiển AVR đều có khả năng lập trình trong hệ thống (ISP) qua giao tiếp
nối tiếp. Ta có thể lập trình bộ nhớ chương trình trên chíp cũng như bộ nhớ EEPROM bằng
cách sử dụng một phần mềm đơn giản và một cáp ISP với 4 đường dẫn nối với bản mạch có gắn
vi điều khiển AVR. Khả năng này làm cho việc thay đổi chương trình trong giai đoạn phát triển
cũnh như khi nâng cấp về sau trở nên dễ dàng.
Kiến trúc của vi điều khiển AVR tỏ ra rất thích hợp với các chương trình viết bằng ngôn
ngữ C, có thể nói C là một ngôn ngữ lập trình bậc cao được sử dụng rộng rãi và đa năng,
chương trình viết ra rất hiệu quả và chặt chẽ, đồng thời cho phép thể hiện rõ tính có cấu trúc của
chương trình.
Tài liệu tham khảo
[1].
www.atmel.com
[2]. Biên dịch: Trần Thế San, Hiệu đính: TS Nguyễn Tiến Dũng. Cơ sở nghiên cứu, sáng tạo ROBOT.

Nhà xuất bản Thống Kê.
[3]. Lê Hoài Quốc. Kỹ thuật người máy, Tập 1, NXB Đại học quốc gia TP. Hồ Chí Minh, 2003.
[4]. Nguyễn Tăng Cường, Phạm Quốc Thắng. Cấu trúc và lập trình họ vi điều khiển 8051. NXB Khoa
học và Kỹ thuật, 2004.
[5]. Ngô Diện Tập. Vi điều khiển với lập trình C, NXB KHKT Hà Nội, 2006



ĐT

×