You are on page 1of 23

Chương 3: Thiết kế hệ thống truyền động điện

CHƯƠNG 3
THIẾT KẾ HỆ THỐNG TRUYỀN ĐỘNG ĐIỆN
3.1 Thiết kế hệ thống điều khiển cho các động cơ điện một chiều, điều khiển ghép
nối máy tính.
3.1.1 Sơ đồ khối hệ thống điều khiển:

Máy tính

Vi điều khiển Vi điều khiển Vi điều khiển Vi điều khiển


thứ nhất thứ hai thứ ba thứ tư

Mạch cầu H Mạch cầu H Mạch cầu H Mạch cầu H

Động cơ Động cơ Động cơ Động cơ


thứ nhất thứ hai thứ ba thứ tư

Encoder Encoder Encoder Encoder

H3.1 Sơ đồ khối hệ thống điều khiển truyền động điện cho robot SCARA
Giải thích chức năng từng khối trong sơ đồ :
Máy tính: là máy tính cá nhân, có chức năng giao diện với người sử dụng, như
nhập thông số, chọn chế độ hoạt động, … Sau đó máy tính thực hiện tính toán các

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -37-


Chương 3: Thiết kế hệ thống truyền động điện

thông số vừa nhập, truyền kết quả tính toán đó xuống cho mạch phần cứng qua cổng
COM để thực hiện điều khiển.
Max232 : thiết bị chuẩn hóa tín hiệu giữa máy tính và vi điều khiển
Vi điều khiển Atmega16 : là con chip vi điều khiển, có chức năng nhận tín hiệu
từ máy tính, tín hiệu từ công tắc hành trình, phản hồi vị trí từ encoder… Sau đó thực
hiện điều khiển thông qua các mạch lực (mạch cầu H) để điều khiển động cơ (ở đây là
động cơ một chiều).
Mạch điện tử công suất : là mạch cầu H thực hiện điều khiển động cơ. Mạch vi
điều khiển chỉ có mức điện áp 5V, dòng điện bé, nên để điều khiển được đông cơ công
suất lớn, cần phải có mạch lực, nhận tín hiệu điều khiển từ vi điều khiển, khuếch đại
công suất cấp điện cho động cơ.
Encoder : thiết bị gắn vào trục động cơ để đo số vòng quay mà trục động cơ thực
hiện được, ở đây sử dụng encoder có 400 xung/ vòng. Từ thông số xung nhận được này
có thể xác định được vị trí của cánh tay robot, như vậy nâng cao tính chính xác trong
điều khiển vị trí robot.
3.1.2 Mô tả hoạt động:
Có hai dạng vận hành robot: Chạy tự động và bán tự động
Chạy tự động : Chương trình được lập sẵn và lưu vào bộ nhớ của máy tính và robot sẽ
tự động thao tác theo chu trình công nghệ cho trước.
Trong chế độ này các chuyển động cũng như thao tác của robot được lưu lại
trong bộ nhớ máy tính dưới dạng các tọa độ điểm cuối cùng các lệnh thao tác như
khoan, gắp vật, hàn,… Các thao tác này nhờ phần mềm, máy tính xác định được chính
xác góc quay của từng động cơ ( bài toán động học ngịch) và liên tục gửi xuống vi điều
khiển theo trình tự thời gian *. Nhiệm vụ của các vi điều khiển: nhận tín hiệu góc quay
của cả 4 động cơ và cả tín hiệu thao tác của bàn tay được gửi về từ máy tính theo đường
truyền nối tiếp . Và các vi điều khiển này sẽ phát xung cho mạch băm xung (PWM) của
từng động cơ để đạt được giá trị góc đặt (đã nhận), theo vận tốc chuyển động mong
muốn để có được đáp ứng trong thời gian quá độ ngắn nhất có thể. Trong quá trình điều
chỉnh vị trí cũng như tốc độ của từng động cơ giá trị thực của tốc độ,vị trí luôn được

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -38-


Chương 3: Thiết kế hệ thống truyền động điện

phản hồi nhờ encoder đến từng vi điều khiển giúp cho nhằm chính xác hóa , đồng thời
được truyền về máy tính thông qua vi điều khiển chủ. Từ các giá trị các góc nhận được
máy tính xác định được tọa độ thực tế của điểm tác động cuối của cánh tay robot ( bài
toán động học thuận), từ đó so sánh với giá trị đã gửi nếu sai lệch nhỏ dưới 3% thì sẽ
tiếp tục gửi giá trị góc tiếp theo. Nhờ đó robot sẽ chuyển động theo chu trình công nghệ
đặt trước.
* Thời gian giữa các lần gửi có thể khác nhau.
Chạy bán tự động: Robot được con người điều khiển từ máy tính, nhờ giao diện thiết kế
theo từng chế độ vận hành và hệ thống camera hỗ trợ quan sát từ xa.
Trong chế độ này, các thao tác của robot không được thiết lập từ trước, mà được
xác định bởi người điều hành. Các quĩ đạo được vẽ từ phương pháp Point – Point, nhập
tọa độ điểm cuối từ bàn phím hoặc kích chuột đồng thời xác định loại chuyển động,
chuyển động tịnh tiến, chuyển động cong (cung tròn, elip,…) từ đó hệ thống tọa độ các
điểm tác động cuối được thiết lập lưu vào bộ nhớ máy tính theo trình tự thời gian. Tiếp
đó máy tính tự động điều khiển vị trí của robot thông qua các vi điều khiển ( như trong
chạy tự động). Nhờ quan sát bởi camera người vận hành đưa robot đến đúng điểm làm
việc và ấn nút thao tác, khoan, gắp, hay hàn…
Hai chế độ này chỉ phân biệt một cách tương đối. Thật vậy trong quá trình người
vận hành điều khiển các thao tác của robot đã được ghi lại. Khi kết thúc một chu trình
công nghệ người vận hành có thể ấn nút để robot tự động chạy lại các thao tác mình đã
“hướng dẫn”, nhờ đó robot lại có thể chạy tự động theo một chu trình công nghệ mới
(Phương pháp lập trình offline cho robot).

3.2 Thiết kế sơ đồ nguyên lý mạch động lực và mạch điều khiển.


3.2.1 Sơ đồ nguyên lý mạch động lực:

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -39-


Chương 3: Thiết kế hệ thống truyền động điện

Hình 3.2.1 Sơ đồ nguyên lý mạch cầu H


Mục đích :
Cách ly quang giữa mạch lực và mạch điều khiển.
Nhận tín hiệu điều khiển băm xung để điều chỉnh tốc độ động cơ , đảo chiều quay động
cơ thông qua dừng.
Thiết kế:
Trong mạch cầu H có thiết kế các đèn LED hiển thị báo trạng thái làm việc của mạch và
động cơ :
 Hai đèn LED báo chiều quay động cơ
 Bốn đèn LED báo trạng thái làm việc của bốn IC công suất MOSFET
Cách ly quang PC521 thực hiện nhiệm vụ cách ly giữa mạch lực và mạch điều khiển, để
tránh nhiễu loạn từ mạch lực gây trục trặc mạch điều khiển.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -40-


Chương 3: Thiết kế hệ thống truyền động điện

Hoạt động : Hai đầu vào điều khiển IN1 và IN2, được nối trực tiếp với mạch vi điều
khiển. Từ hai đầu vào này, qua mạch logic chuyển đổi thành bốn đầu ra điều khiển bốn
IC công suất MOSFET. Trong bốn IC công suất này, có hai con thuận và hai con
nghịch, đó là IRF9540 và IRF540, tạo thành cặp để điều khiển động cơ một chiều.
Dưới đây là bảng sơ đồ chuyển đổi mức logic từ hai đầu vào (điều khiển từ vi điều
khiển) thành bốn đầu ra điều khiển IC công suất
IN1 IN2 Opto1 Opto2 Opto3 Opto4 Chiều quay động cơ
0 0 1 1 0 0 Dừng
0 1 1 0 0 1 Quay thuận
1 0 0 1 1 0 Quay nghịch
1 1 0 0 1 1 Dừng

3.2.2 Sơ đồ nguyên lý mạch điều khiển:


Sử dụng vi điều khiển Atmega 16
IC 1
1 4 0 K e y bo a rd 1
E n c o d e rT 1 2 P B 0 (X C K /T 0 ) P A 0 (A D C 0 ) 3 9 K e y bo a rd 2
3 P B 1 (T 1 ) P A 1 (A D C 1 ) 3 8 K e y bo a rd 3
4 P B 2 (IN T 2 /A IN 0 ) P A 2 (A D C 2 ) 3 7 K e y bo a rd 4
SS 5 P B 3 (O C 0 /A IN 1 ) P A 3 (A D C 3 ) 3 6 K e y bo a rd 5
MO SI 6 P B 4 (S S ) P A 4 (A D C 4 ) 3 5 K e y bo a rd 6
M IS O 7 P B 5 (M O S I) P A 5 (A D C 5 ) 3 4 K e y bo a rd 7
SC K 8 P B 6 [M IS O ) P A 6 (A D C 6 ) 3 3 K e y bo a rd 8 C 28
R ESET 9 P B 7 [S C K ) P A 7 (A D C 7 ) 3 2 104
1 0 R ESET AR EF 3 1
+5V VC C AG N D
1 1 3 0 +5V
XTA L1 1 2 G N D AVC C 2 9 R S
XTA L2 1 3 XTA L2 P C 7 (T O S C 2 ) 2 8 E N
R XD 1 4 XTA L1 P C 6 (T O S C 1 ) 2 7 D a ta 5
TXD 1 5 P D 0 (R X D ) PC 5 2 6 D a ta 6
K e y b o a rd _ In te rru p t 1 6 P D 1 (T X D ) PC 4 2 5 D a ta 7
1 7 P D 2 (IN T 0 ) PC 3 2 4 D a ta 8
1 8 P D 3 (IN T 1 ) PC 2 2 3 D C 11
1 9 P D 4 (O C 1 B ) P C 1 (S D A ) 2 2 D C 12
In p u tC a p tu re 2 0 P D 5 (O C 1 A ) P C 0 (S C L ) 2 1 P W M
P D 6 (IC P ) P D 7 (O C 2 )

A TM E G A 16

Hình 3.2.2 Sơ đồ nối chân vi điều khiển Atmega 16

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -41-


Chương 3: Thiết kế hệ thống truyền động điện

+5V

R 5
10K C 1 22pF
R ESET B XTA L1

R ESET
Y 4
4M H z
+ C 7 C 2 22pF
10uF XTA L2

Hình 3.2.2 Sơ đồ nối chân vi điều khiển Atmega 16

Nhiệm vụ:
Ghép nối vi điều khiển với máy tính qua cổng COM để phục vụ truyền nhận nối tiếp từ
máy tính xuống vi điều khiển.
Ghép nối vi điều khiển với máy tính qua cổng LPT để nạp chương trình từ máy
tính vào vi điều khiển.
Ghép nối với mạch lực để điều chỉnh quá trình băm xung (PWM).
Nhận tín hiệu từ Encoder về để phản hồi vị trí và tốc độ.
Có Modun ghép nối các vi điều khiển với nhau thông qua SPI.
3.3. Tính chọn thiết bị
3.3.1. Thiết bị động lực
3.3.1.1. Động cơ cho các khớp:
Trong kĩ thuật robot ta có thể sử dụng nhiều loại động cơ khác nhau: động cơ
xoay chiều, động cơ một chiều và động cơ bước. Trong công nghiệp thường sử dụng
động cơ xoay chiều, ở đồ án này chúng em sử dụng động cơ một chiều thay thế động cơ
bước do có nhiều ưu điểm nổi trội.
Sơ lược về động cơ một chiều:
Có nhiều cách để phân loại động cơ một chiều thường gặp:
Phân loại theo phương pháp kích thích cực từ chính:
- Động cơ một chiều kích từ độc lập;

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -42-


Chương 3: Thiết kế hệ thống truyền động điện

- Động cơ một chiều kích từ song song;


- Động cơ một chiều kích từ nối tiếp ;
- Động cơ một chiều kích từ hỗn hợp;
Ngoài ra còn có phân loại theo kết cấu, theo công suất của động cơ điện, …
Ta sử dụng động cơ điện một chiều kích từ nam châm vĩnh cửu thay thế động cơ bước.
Động cơ một chiều kích từ nam châm vĩnh cửu là trường hợp đặc biệt của động cơ kích
từ độc lập. Trong đó phần cảm của động cơ sử dụng nam châm vĩnh cửu để tạo từ
trường không đổi ( không sử dụng cuộn dây và lõi thép như động cơ kích từ độc lập nên
không thay đổi được từ thông kích từ cho động cơ).
Các động cơ này thường được gắn đồng trục với Encoder.

Hình 3.3.1.1a Động cơ của hãng Minertia.


Công suất 25.9W, điện áp 14.8V.
Tốc độ định mức 3000 vòng/phút.
Có gắn Encoder với 200 xung/ vòng.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -43-


Chương 3: Thiết kế hệ thống truyền động điện

Hình 3.3.1.1b động cơ HITACHI .


Công Suất 26W, điện áp 24V.
Có gắn Encoder với 400 xung/vòng.
Ngoài ra chúng em còn sử dụng một số động cơ khác có gắn liền hộp giảm tốc,
để tăng tỷ số truyền làm cho chuyển động của các khớp đỡ bị rung, động cơ chạy êm
hơn ở vùng tốc độ cao.
Ưu điểm ( So với động cơ bước):
Có phản hồi vị trí, tốc độ khép kín mạch vòng điều khiển, tăng độ chính xác của
điều chỉnh.
Công suất lớn hơn so với động cơ bước, có thể điều chỉnh được Momen,
dẫn đến rút ngắn được thời gian quá độ do đó tốc độ xử lý được tăng lên đáng kể.
Chính vì có được đáp ứng nhanh nên có thể áp dụng các phương pháp điều khiển
robot yêu cầu đến tốc độ cao, chính xác hơn trong chuyển động, cũng như tăng được
lực tác dụng.
Cùng với một loại động cơ tùy vào công suất đã lựa chọn nhưng ta có thể tăng
độ chính xác của điều khiển bằng phần cứng như thay đổi loại encoder 200 xung/vòng,
400 xung/vòng,500 xung/vòng… hoặc có thể sử dụng phần mềm đếm xung ở cả hai pha
của Encoder để tăng độ chính xác lên gấp đôi (động cơ có 400 xung/ vòng tương đương
với động cơ có 800 xung/ vòng). Nhận xét với động cơ bước thông thường góc bước là
1.8 độ,độ chính xác tương đương với động cơ một chiều có gắn encoder loại 200 xung/

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -44-


Chương 3: Thiết kế hệ thống truyền động điện

vòng. Nếu ta sử dụng động cơ có encoder loại 400 xung/ vòng thì độ chính xác điều
khiển tăng lên gấp đôi. Và nếu ta nhân đôi số xung ( sử dụng phần mềm ) thì độ chính
xác có thể tăng lên đến 4 lần, tức là tương đương với động cơ bước có góc bước là 0.45
độ ( rất khó chế tạo).
Nhược điểm:
Điều khiển khó hơn so với động cơ bước.
Sự dao động của hệ thống có quán tính lớn, và cả những rung động do tải tại đầu
trục động cơ _ shock ảnh hưởng rất lớn đến việc đọc tín hiệu của encoder ( encoder đọc
cả những xung nhiễu gây nên bởi rung ) , gây sai số lớn về vận tốc và cả vị trí. Điều
này tác động rất lớn đến mạch vòng tốc độ do sai số tốc độ thực và cả mạch vòng vị trí
do sai số về góc phản hồi. Dẫn đến những sai lệch lớn trong quá trình điều khiển.
Các phương pháp điều chỉnh tốc độ động cơ một chiều: [7,8]
- Điều chỉnh điện áp phần ứng
- Điều chỉnh từ thông ( thay đổi dòng điện kích từ ).
- Thay đổi điện trở phần ứng ( theo cấp hoặc vô cấp nhờ phương pháp xung điện
trở).
- Ta có thể kết hợp các cách điều chỉnh tốc độ với nhau tuỳ theo từng giai đoạn,
từng vùng và từng chế độ làm việc của động cơ.
Nguyên lý điều chỉnh điện áp phần ứng:
Trong phương pháp điều chỉnh tốc độ động cơ điện một chiều, bộ biến đổi cung
cấp điện áp cho mạch phần ứng. nguồn có công suất hữu hạn nên các bộ biến đổi có
điện trở trong Rb và điện cảm Lb khác không.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -45-


Chương 3: Thiết kế hệ thống truyền động điện

Hình 1-2 là sơ độ thay thế nguyên lý điều chỉnh điện áp phần ứng động cơ điện
một chiều, trong đó thành phần Eb(Uđk) được tạo ra bởi bộ biến đổi và phụ thuộc vào
Uđk.

Trong chế độ xác lập ta có các phương trình đặc tính như sau:

E b - E ­ =I ­ (R b +R ­ ®)

E R +R ­ ®
ω= b - b I­
kΦ ®m kΦ ®m

M
ω =ωo ( U ®k ) -
β

∆M ( kφ dm)
2
β= =
∆ω R b + R ­

* Nhận xét:

-Vì từ thông động cơ được giữ không đổi nên độ cứng đặc tính cơ cũng được giữ
không đổi, còn tốc độ không tải tuỳ thuộc vào điện áp Uđk của
hệ thống, do đó có thể nói phương pháp điều chỉnh này có độ cứng đạt được rất tối
ưu.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -46-


Chương 3: Thiết kế hệ thống truyền động điện

-Với một cơ cấu máy cụ thể thì các giá trị ω0max,Mđm,kM là xác định vì
vậy phạm vi điều chỉnh D phụ thuộc tuyến tính vào độ cứng β.

Ta sử dụng phương pháp băm xung điện áp _PWM để thay đổi trơn điện áp cấp
cho phần ứng động cơ:
Tốc độ của động cơ một chiều kích từ nam châm vĩnh cửu tỉ lệ với điện áp cấp
vào động cơ. Khi sử dụng điều khiển số, một tín hiệu điều chỉnh độ rộng xung (PWM)
sẽ được sử dụng để tạo ra một điện áp trung bình. Cuộn dây động cơ sẽ hoạt động như
một bộ lọc dải thấp để một chuỗi băm xung với tần số thích hợp sẽ tạo ra một dòng điện
ổn định trong các cuộn dây động cơ. Mối quan hệ giữa điện áp trung bình và vòng chu
kì được cho bởi công thức:
v trungbinh = D * v cungcap

D là hệ số tỷ lệ
Tần số của chuỗi băm xung cũng là một nhân tố quan trọng. Một tần số quá thấp sẽ gây
ra hậu quả là động cơ gây ồn ở tốc độ thấp và chập đáp ứng với sự thay đổi của vòng
chu kỳ. Một tần số quá cao làm giảm hiệu suất của hệ thống. Quy tắc điều chỉnh chuỗi
xung đầu vào là giữ tần số ở trong giải từ 4 kHz cho tới 20 kHz.
3.3.2. Encoder :

Khi động cơ quay, encoder gắn đồng trục với động cơ sẽ biến đổi chuyển động quay
này thành một chuỗi liên tục các xung điện. Nhờ đó mà vi xử lý có thể xác định được vị trí,
vận tốc và cả chiều quay của động cơ.
Nguyên lý làm việc của Encoder:

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -47-


Chương 3: Thiết kế hệ thống truyền động điện

Encoders sử dụng nhiều cách khác nhau để tạo ra tín hiệu. Các encoder thông thường sử dụng
công nghệ, cơ học, từ trường, điện trở, quang học. Ngày nay các encoder hầu hết đều sử dụng
quang học.Encoder quang có hai loại Optical Incremental Encoders và Absolute Encoders.
Sơ đồ dưới đây chỉ ra cấu tạo cơ bản của incremental encoder. Một tia sáng phát ra từ một
LED xuyên qua khe hở của đĩa kim loại. Tia sáng đó kích thích những photon, được hiểu là các
sensor ánh sáng. Các sensor này sẽ phản xạ lại một chùm sáng, sinh ra một sóng hình sin, sóng
này được biến đổi thành sóng vuông hoặc các xung truyền đi. Các xung tín hiệu này sau khi
truyền đến bộ đếm hoặc bộ điều khiển chúng sẽ cho tín hiệu để có các chức năng mong muốn.
Qua đó ta có trạng thái chuyển động của encoder.

Tín hiệu ra trên hai kênh A, B.

3.3.3 Thiết bị điều khiển


Vi điều khiển sử dụng AVR atmega16L
Đặc tính:
-Được chế tạo theo kiến trúc RISC, thực thi cao và tiêu thụ điện năng thấp.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -48-


Chương 3: Thiết kế hệ thống truyền động điện

-Bộ lệnh gồm 131 lệnh chức năng, hầu hết đều được thực thi chỉ trong 1 chu kì xung
nhịp.
-32x8 thanh ghi làm việc đa dụng.
-8 KB Flash ROM lập trình được ngay trên hệ thống, cho phép một nghìn lần ghi/xóa.
-Giao diện nối tiếp SPI cho phép lập trình ngay trên hệ thống.
-Giao diện I2C ( Inter Intergrated Circuit), do đó có thể ghép nối song song với nhiều
-thiết bị ngoại vi (tối đa 40).
-Bộ nhớ EFPROM 512 byte, cho phép 100000 ghi xóa.
-Bộ nhớ SRAM 512 byte.
-Bộ biến đổi ADC 8 kênh , 10 Bit.
-32 cổng I/O lập trình được.
-Bộ truyền nối tiếp không đồng bộ vạn năng UART.
-Tốc độ xử lý lệnh đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây.
-Bộ đếm thời gian thực RTC với bộ dao động và chế độ đếm tách biệt.
-Hai bộ Timer 8 bit và một bộ timer 16 bit với chế độ so sánh, chia tần số tách biệt và
chế độ bắt mẫu.
-Bốn kênh điều chế độ rộng xung PWM.
-Bộ định thời Watchdog lập trình được, tự động reset khi treo máy.
- Bộ so sánh tương tự.
- Sáu chế độ tiết kiệm năng lượng.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -49-


Chương 3: Thiết kế hệ thống truyền động điện

Hình 3.22. cấu trúc chân Atmega16

AVCC: cấp nguồn số


GND: đất
Cổng A: (PA7 .. PA0)
Có chức năng đầu vào cho chuyển đổi ADC
Cổng A hoạt động như một cổng vào ra 8 bit thông thường khi ADC không được sử
dụng
Cổng B:
Ngoài những chức năng thông thường đầu vào/đầu ra như cổng A, thì cổng B còn có
những chức năng phụ khác nữa.
Cổng C:
Nếu giao tiếp JTAG được kích hoạt, điện trở kéo trên các chân PC5 (TDI), PC3 (TMS),
PC2 (TCK) sẽ được kích hoạt ngay cả khi có khởi động lại (reset).
Cổng D:
Ngoài những chức năng đầu vào ra thông thường như các cổng trên, cổng D này còn có

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -50-


Chương 3: Thiết kế hệ thống truyền động điện

Chân Reset: đầu vào của reset, mức điện áp thấp ở chân này trong một khoảng thời
gian lớn hơn thời gian của 1 xung thì sẽ xảy ra reset, ngay cả khi nguồn tần số không
họat động.
XTAL1: đầu vào đảo của bộ khuếch đại dao động và đầu vào cho mạch dao động bên
trong của Atmega16.
XTAL2: đầu ra của đầu vào đảo bộ khuếch đại dao động.
AVCC: nguồn cấp cho cổng A và bộ chuyển đổi ADC, chân này nên được nối với
nguồn cấp VCC bên ngoài, ngay cả khi bộ chuyển đổi ADC không được sử dụng. Nếu
bộ chuyển đổi ADC không được sử dụng, chân AVCC nên được nối với nguồn VCC
qua qua bộ lọc.
AREF: AREF là chân chuẩn analog cho bộ chuyển đổi ADC.
Các thanh ghi, timer, counter

Tất cả các chân của cổng khi được dùng với mục đích bình thường, đều là các chân “hai
hướng” với điện trở kéo có thể sử dụng hoặc không.
Mỗi cổng đều có 3 thanh ghi (có thể lập trình theo từng bit) : DDxn, PORTxn và
PINxn. Trong đó “x” là chỉ số của cổng, còn “n” là chỉ số chân của cổng đó.
Các bit DDxn được truy cập từ địa chỉ thanh ghi vào ra DDRx, các bit PORTxn được
truy nhập từ địa chỉ của thanh ghi vào/ra PORTx và cuối cùng PINxn được truy cập từ
địa chỉ thanh ghi vào/ra PINx.
Các bit DDxn trong thanh ghi DDRx lựa chọn hướng của chân đó. Nếu DDxn được
thiết lập là 1, thì chân Pxn được cấu hình như chân đầu ra, còn nếu DDRxn được thiết
lập là 0 thì chân Pxn được cấu hình như chân đầu vào.
Nếu chân PORTxn được thiết lập mức logic 1 khi nó cấu hình như đầu vào, thì điện trở
treo được kích hoạt, để tắt điện trở treo này đi, chân PORTxn phải được thiết lập mức
logic 0 hoặc chân đó được cấu hình như đầu ra. Các chân của cổng ở chế độ trung gian
khi xảy ra reset, ngay cả khi không có xung nhịp nguồn.
Nếu chân PORTxn được thiết lập mức logic 1 khi cấu hình như đầu ra thì chân này có
mức điều khiển tích cực cao (mức logic 1). Và ngược lại, nếu thiết lập mức logic 0 thì
có mức điều khiển tích cực thấp.
Vi điều khiển Atmega16 cung cấp 3 bộ timer/counter với chức năng gần giống nhau,
như đếm thời gian, bộ đếm xung, băm xung (PWM), .. có khác nhau chỉ là số bit mà
mỗi bộ timer/counter có khả năng hoạt động và một số chức năng phụ mà không được

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -51-


Chương 3: Thiết kế hệ thống truyền động điện

sử dụng đến trong đồ án. Mỗi bộ timer/counter chúng em sử dụng với mục đích khác
nhau, và sẽ đi cụ thể vào chức năng mà bộ timer/counter đó sử dụng.
Bộ Timer/Counter0 - 8bit:
Được sử dụng như bộ định thời, đây là chức năng đơn giản nhất của timer/counter
Trong chế độ này, bộ đếm luôn đếm tiến, và không cần phải thực hiện xóa bộ đếm. Bộ
đếm chỉ đơn giản tràn khi nó đếm qua giá trị 8bit lớn nhất (0xFF) tức là 256 (hệ số 10)
và lại bắt đầu ở mức thấp nhất (0x00). Chế độ này cờ tràn của Timer/Counter (TOV0)
được thiết lập lên mức logic 1 đồng thời với thanh ghi TCNT0 nhảy về 0. TOV0 trong
trường hợp này có vai trò như là bit thứ 9, chỉ có khác là nó chỉ được thiết lập chứ
không được xóa. Tuy nhiên cùng với ngắt tràn của bộ định thời, ngắt này tự động xóa
TOV0, dải điều chỉnh bộ định thời có thể được tăng lên bởi phần mềm. Đáng chú ý là
không có bất cứ trường hợp đặc biệt nào cần quan tâm khi timer/counter hoạt động ở
chế độ này, giá trị bộ đếm mới có thể được lập trình bất cứ lúc nào.
TOIE0 điều khiển ngắt tràn của Timer/Counter0 : Khi TOIE0 thiết lập mức logic 1, và
bit I trong thanh ghi trạng thái cũng được thiết lập mức logic 1 thì ngắt tràn của
Timer/Counter0 được phép hoạt động.
Bộ định thời Timer/Counter1 – 16 bit
Bộ Timer/Counter 1 này có nhiều ưu điểm và chức năng nổi bật so với các bộ
Timer/Counter khác, như chức năng định thời thông thường, chức năng xác định sự
kiện bên ngoài, có 2 kênh PWM, … Đặc biệt là hoạt động với thanh ghi 16 bit, cung
cấp khả năng xử lý thông tin mạnh hơn, tuy nhiên hệ thống của Atmega16 vẫn là 8 bit
nên cần phải có một số lưu ý đặc biệt khi thực hiện giao tiếp với các thanh ghi này.
Truy cập thanh ghi 16 bit. Các thanh ghi 16 bit của AVR như TCNT1, OCR1A/B có thể
truy nhập được thông qua đường BUS 8 bit của vi điều khiển này. Do chỉ truy cập theo
8 bit nên cần có 2 lần truy cập để thực hiện lệnh ghi hoặc đọc thanh ghi 16 bit này.
Mỗi thanh ghi 16 bit có một thanh ghi 8 bit dùng để lưu trữ tạm thời byte cao trong quá
trình truy nhập thanh ghi 16 bit. Khi truy cập byte thấp của thanh ghi 16 bit sẽ kích hoạt
quá trình đọc/ghi, khi byte thấp được đọc/ghi, byte cao được lưu trữ trong thanh ghi tạm
thời. Tuy nhiên cần có một số chú ý trong quá trình đọc/ghi thanh ghi 16 bit, đó là khi
muốn ghi lên thanh ghi 16 bit này, byte cao phải được ghi trước byte thấp. Ngược lại
khi muốn đọc thanh ghi 16 bit thì cần đọc byte thấp trước, rồi mới thực hiện đọc byte
cao.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -52-


Chương 3: Thiết kế hệ thống truyền động điện

Quá trình đọc/ghi thanh ghi 16 bit rất quan trọng, nếu giữa thời điểm đọc/ghi này mà có
một ngắt nào đó xảy ra, thì việc điều khiển thanh ghi tạm thời có thể xảy ra lỗi, điều đó
dẫn đến lệnh đọc/ghi thanh ghi 16 bit không thực hiện được.
Bộ Timer/Counter2
Được sử dụng để thực hiện PWM.
Khối thực hiện chức năng PWM hoạt động như sau :
Khối này liên tục so sánh giá trị thanh ghi TCNT2 (thanh ghi đếm của Timer/Counter2)
và thanh ghi OCR2 (Output Compare Register 2). Khi giá trị thanh ghi TCNT2 bằng
với OCR2 thì tín hiệu bằng nhau được kích hoạt. Tín hiệu bằng nhau này sẽ thiết lập cờ
OCF2 (Output Compare Flag 2) ở chu kỳ máy tiếp sau đó. Nếu ngắt PWM được cho
phép hoạt động trước đó, thì OCF2 sẽ sinh ra một ngắt. Cờ OCF2 này tự động xóa đi
khi ngắt này được thực hiện. Các chế độ phát xung PWM được lựa chọn qua các bit
WGM21:0 và COM21:0.

Hình 3.23. sơ đồ khối thành phần so sánh đầu ra

Bộ phát xung Baud :


Thanh ghi điều khiển phát xung Baud : UBRR và thanh ghi đếm lùi hoạt động
như bộ phân chia tần số. Thanh ghi đếm lùi, hoạt động ở tần số của hệ thống (fosc),
được tải giá trị UBRR mỗi lần thanh ghi đếm lùi tới 0 hoặc khi thanh ghi UBRRL được

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -53-


Chương 3: Thiết kế hệ thống truyền động điện

ghi lại giá trị. Một xung được phát ra mỗi lần bộ đếm lùi giảm về 0. Xung này chính là
xung nhịp tốc độ Baud, được xác định theo công thức :
Tốc độ Baud = fosc / (UBRR + 1).
Bộ truyền nối tiếp chia tốc độ Baud đi 2, 4, hoặc 8 lần phụ thuộc vào chế độ hoạt động.
Còn bộ nhận nối tiếp thì sử dụng trực tiếp tốc độ Baud.
Dạng khung dữ liệu truyền nối tiếp :
Một khung dữ liệu nối tiếp được định nghĩa là một ký tự của các bit dữ liệu và các bit
đồng bộ (chính là bit start và bit stop) cùng các bit chẵn lẻ (dạng lựa chọn) kiểm tra lỗi
do truyền. Bộ truyền nhận nối tiếp có các khả năng hoạt động với dạng khung dữ liệu :
 1 bit Start
 5,6,7,8 hoặc 9 bit dữ liệu
 Không có, dạng chẵn hoặc dạng lẻ của bit chẵn lẻ.
 1 hoặc 2 bit Stop.
Khung dữ liệu bắt đầu bởi bit Start, tiếp ngay sau đó là bit có giá trị thấp nhất, tiếp đến
bit tiếp theo, cho đến khi đủ bit dữ liệu, kết thúc là bit có giá trị lớn nhất. Nếu chế độ
kiểm tra bit chẵn lẻ có hoạt động thì bit chẵn lẻ được chèn vào khung dữ liệu sau các bit
dữ liệu và trước bit Stop.
Một sô lưu ý khi khởi động USART :
USART cần phải được khổi động trước khi hoạt động, quá trình khởi động thường bao
gồm : thiết lập tốc đọ Baud, chọn khung dữ liệu, cho phép truyền hay nhận hoặc cả hai.
Trong trường hợp chọn ngắt truyền nhận nối tiếp, thì ngắt cục bộ phải được xóa đi để
đảm bảo quá trình khởi động USART hoạt động tốt.
Khi cần khởi động lại USART, cần đảm bảo không có dữ liệu nào đang trong quá trình
truyền nhận. Để thực hiện yêu cầu này, cẩn kiểm tra các cờ : cờ truyền TXC và cờ nhận
RXC.
Bộ truyền dữ liệu :
Bộ truyền USART hoạt động bằng cách thiết lập bit TXEN (Transmit Enable) trong
thanh ghi UCSRB. Khi chế độ truyền cho phép họat động, chế độ họat động bình
thường của chân TxD bị USART chiếm, và đưa vào chế độ truyền dữ liệu.
Cờ truyền và ngắt truyền : Bộ truyền có hai cờ để xác định trạng thái của nó : cờ báo
thanh ghi dữ liệu đã trống (UDRE), và cờ báo truyền xong (TXC). Cả hai cờ này đều có
thể sử dụng để kích hoạt ngắt.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -54-


Chương 3: Thiết kế hệ thống truyền động điện

Cờ báo thanh ghi dữ liệu trống : xác định hiện tại có hay không bộ truyền dữ liệu sẵn
sàng cho việc truyền dữ liệu tiếp theo. Bit này thiết lập khi bộ đệm truyền rỗng, và được
xóa đi khi bộ đệm chứa dữ liệu mà dữ liệu này chưa chuyển vào thanh ghi dịch chuyển.
Khi bit ngắt thanh ghi dữ liệu trống (UDRIE) trong thanh ghi UCSRB thiết lập lên 1,
thì ngắt thanh ghi trống USART sẽ được thực hiện chừng nào bit UDRE còn ở mức 1.
Bit này bị xóa đi khi ghi dữ liệu vào thanh ghi dữ liệu UDR.
Cờ báo truyền xong (TXC) : cờ TXC được thiết lập mức 1 khi toàn bộ khung dữ liệu
trong thanh ghi dịch chuyển (Shift Register) truyền hết dữ liệu và không có dữ liệu mới
nào trong thanh ghi dịch chuyển nữa. Cờ TXC tự động bị xóa khi ngắt truyền xong
được thực hiện.
Bộ nhận dữ liệu :
hoạt động khi bit RXEN trong thanh ghi UCSRB được thiết lập mức 1. Khi chế độ nhận
được kích hoạt, chế độ hoạt động bình thường của chân RxD bị bộ nhận USART chiếm,
đưa vào chế độ nhận dữ liệu.
Bộ nhận dữ liệu bắt đầu thực hiện nhận khi phát hiên bit Start, các bit tiếp theo bit Start
được lấy theo tần số của tốc độ Baud, chúng được chuyển đến thanh ghi dịch chuyển
nhận cho đến khi nào phát hiện được bit Stop đầu tiên. Bit Stop thứ 2 sẽ bị bỏ qua bởi
bộ nhận dữ liệu. Khi bit Stop đầu tiên được nhận, khung dữ liệu hòan thiện sẽ được đưa
vào thanh ghi dịch chuyển, nội dung thanh ghi dịch chuyển tiếp đó được đưa vào thanh
ghi đệm của bộ nhận. Sau đó là quá trình đọc dữ liệu từ chân RxD.
Bộ nhận USART chỉ có một cờ xác định trạng thái của bộ nhận : Cờ xác định nhận
xong (RXC) báo cho biết nếu có dữ liệu chưa được đọc còn trong bộ đệm nhận. Cờ này
có giá trị 1 khi còn dữ liệu chưa được đọc trong bộ đệm, và có giá trị 0 khi bộ đệm
rỗng.
Khi bit cho phép ngắt nhận nối tiếp RXCIE thiết lập mức 1, thì ngắt nhận xong sẽ được
thực hiện chừng nào cờ RXC còn ở mức cao. Khi ngắt nhận đựoc sử dụng, nhất thiết
phải đọc dữ liệu thanh ghi UDR để xóa cờ RXC và cho phép nhận dữ liệu tiếp theo.
Ưu điểm(so với 8051) : So với họ VĐK 8051 thì họ AVR có nhiều ưu điểm nổi trội hơn
như: tốc độ xử lý nhanh hơn, bộ nhớ nhiều hơn, tích hợp phần cứng nhiều hơn, có sẵn
cổng băm xung (PWM) rất thuận tiện cho điều khiển động cơ, …
Nhược điểm: Giá thành đắt hơn nhiều so với 8051.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -55-


Chương 3: Thiết kế hệ thống truyền động điện

3.4 Thiết kế mạch lắp ráp:

Hinh3.41 Tủ điều khiển cho Robot SCARA

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -56-


Chương 3: Thiết kế hệ thống truyền động điện

3.4.1 Mạch lực:

Hình3.41
a) SƠ ĐỒ MẠCH CẦU H
b) Mạch cầu H đã chế tạo

H3.41 a

H3.41 b

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -57-


Chương 3: Thiết kế hệ thống truyền động điện

Sau khi thiết kế mạch trên ORCAD ( H3.41a ) ta đi đặt làm mạch, chọn mua các linh
kiện và lắp ráp để có được mạch cầu H như hình H3.41b. Mỗi mạch cầu này là mạch
lực cho một động cơ, do đó khi ghép vào hệ thống điều khiển ta cần có 4 mạch lực cho
bốn khớp ( Robot SCARA bốn bậc tự do).

Việc sản suất theo từng modun riêng tạo điều kiện thuận lợi cho quá trình thiết
kế, mua linh kiện, lắp đặt cũng như khi vận hành dễ kiểm tra khắc phục sự cố và nhanh
chóng sửa chữa hoặc thay thế bởi mạch dự phòng.
3.4.2 Mạch điều khiển:

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -58-


Chương 3: Thiết kế hệ thống truyền động điện

Hình 3.42 Mạch vi xử lý đã chế tạo

Hình 3.42 Các mạch vi xử lý _ trong tủ điều khiển

Trong chương này em đã viết về quá trình thiết kế, chọn thiết bị và lắp ráp mạch
động lực và mạch điều khiển cho từng khớp của robot. Các mạch vi xử lý sẽ được lập
trình điều khiển cho các động cơ tại mỗi khớp của robot và các vi điều khiển cũng làm
nhiệm vụ truyền nhận số liệu với máy tính để điều khiển robot. Trong chương kế tiếp
em sẽ trình bày chi tiết về lập trình cho hệ vi điều khiển cũng như thiết kế giao diện để
người điều khiển robot thông qua máy tính.

ĐẶNG VIỆT CƯỜNG TĐH2 – K47 -59-

You might also like