Encoder

You might also like

Download as ppsx, pdf, or txt
Download as ppsx, pdf, or txt
You are on page 1of 43

Tổng quan về encoder &

mạch gia công cho encoder.


Nguyễn Hữu Tân - 40402247
Bùi Gia Huy Đức - 40400592
Phần I: Tổng quan về encoder
Encoder là gì
* Encoder mục đích dùng để quản lý vị trí góc của một
đĩa quay, đĩa quay có thể là bánh xe, trục động cơ, hoặc
bất kỳ thiết bị quay nào cần xác định vị trí góc.

* Nguyên lý cơ bản của encoder, đó là một đĩa tròn xoay, quay


quanh trục. Trên đĩa có các lỗ (rãnh). Người ta dùng một đèn
led để chiếu lên mặt đĩa. Khi đĩa quay, chỗ không có lỗ (rãnh),
đèn led không chiếu xuyên qua được (mức 0), chỗ có lỗ (rãnh),
đèn led sẽ chiếu xuyên qua (mức 1). Khi đó, phía mặt bên kia
của đĩa, người ta đặt một con mắt thu. (Xem hình vẽ)
Encoder là gì (tt 1)

* Các bạn thấy trong hình, có một đĩa mask, không quay,
đó là đĩa cố định, thực ra là để che khe hẹp ánh sáng đi
qua, giúp cho việc đọc encoder được chính xác hơn mà
thôi.
Phân loại encoder
* Encoder được chia làm 2 loại, absolute
encoder và incremental encoder
Absolute encoder

* Tín hiệu ta nhận


được, chỉ rõ ràng vị
trí của encoder,
chúng ta không cần
xử lý gì thêm, cũng
biết chính xác vị trí
của encoder.
Absolute encoder (tt 1)

* Quay lại bài toán cơ bản về bit và số bit, chúng ta


xem xét vấn đề theo một cách hoàn toàn toán học
nhé:
* Với một số nhị phân có 2 chữ số, chúng ta sẽ có 00, 01,
10, 11, tức là 4 trạng thái. Điều đó có nghĩa là với 2 chữ số,
chúng ta có thể chia đĩa encoder thành 4 phần bằng nhau.
Và khi quay, chúng ta sẽ xác định được độ chính xác đến
1/4 vòng.

Tương tự như vậy, nếu với một số có n chữ số, chúng ta sẽ


xác định được độ chính xác đến 1/(2N) vòng.
Absolute encoder (tt 2)

* Các bạn xem hình sau:

* Ở đây, đưa ra ví dụ với đĩa


encoder có 2 vòng đĩa. Các bạn
sẽ thấy rằng, ở vòng trong cùng,
có một rãnh rộng bằng 1/2 đĩa.
Vòng phía ngoài, sẽ có 2 rãnh
nằm đối diện nhau.

Như vậy, chúng ta cần 2 đèn led


để phát xuyên qua 2 vòng lỗ, và
2 đèn thu.
Absolute encoder (tt 3)
* Giả sử ở vòng lỗ thứ nhất (trong
cùng), đèn đọc đang nằm ở vị trí
có lỗ hở, thì tín hiệu nhận được từ
con mắt thu sẽ là 1. Và ở vòng lỗ
thứ hai, thì chúng ta đang ở vị trí
không có lỗ, như vậy con mắt thu
vòng 2 sẽ đọc được giá trị 0.
Và như vậy, với số 10, chúng ta
xác định được encoder đang nằm
ở góc phần tư nào, cũng có nghĩa
là chúng ta quản lý được độ chính
xác của đĩa quay đến 1/4 vòng.
Trong ví dụ trên, nếu đèn LED đọc
được 10, thì vị trí của LED phải
nằm trong góc phần tư thứ hai,
phía trên, bên trái.
Absolute encoder (tt 4)
* Kết quả, nếu đĩa encoder có đến 10 vòng lỗ, thì
chúng ta sẽ quản lý được đến 1/(210) tức là đến
1/1024 vòng. Hay người ta nói là độ phân giải của
encoder là 1024 xung/vòng
* Khi thiết kế, chọn bit thứ N-1 (encoder có N vòng) nằm ở
trong cùng, có nghĩa là lỗ lớn nhất có góc rộng 180 độ, nằm
trong cùng. Bởi vì chúng ta thấy rằng, bit 0 (nếu xem là số
nhị phân) sẽ thay đổi liên tục mỗi 1/2N vòng quay, vì thế,
chúng ta cần rất nhiều lỗ. Nếu đặt ở trong thì không thể
nào vẽ được, vì ở trong bán kính nhỏ hơn. Ngoài ra, nếu đặt
ở trong, thì về kết cấu cơ khí, nó quá gần trục, và quá nhiều
lỗ, sẽ rất yếu. Vì hai điểm này, nên bit0 luôn đặt ở ngoài
cùng, và bit (N-1) luôn đặt trong cùng như hình trên.
Coding table for absolute encoders
Phạm vi ứng dụng
 BCD: dùng cho các thiết bị nhỏ, việc chuyển
mã sẽ gây tốn kém.
 Binary: dùng cho các loại thiết bị lớn hơn.
 Gray, Glixon, O’Brien, Tompskin, Libaw-

Craige: dùng khi tốc độ đáp ứng của hệ


thống nhỏ, không thể nhận biết sự thay đổi
của nhiều bit cùng 1 lúc.
Mã Gray

- Khi chuyển đổi trạng thái =>1 bit chuyển trang thái
- Là phản chiếu (do tính đối xứng của các số hạng trong tập
hợp mã, giống như phản chiếu qua gương). Người ta có thể
thiết lập mã Gray bằng cách dựa vào tính đối xứng này

- Nhược điểm: không thễ chuyển trạng thái từ 9 sang 0 ngay


được
=> Khắc phục bằng mã Glixon và O’Brien
Mã Glixon

Mã O’Brien
Mã Tompkins (2 code racks, 4 scanners)

Mã Libaw – Craig (1 code racks, 5 scanners)


* Encoder tuyệt đối rất có lợi khi góc quay là nhỏ, và
động cơ quay ít vòng. Khi đó, việc xử lý encoder
tuyệt đối trở nên dễ dàng cho người dùng hơn, vì chỉ
cần đọc giá trị là chúng ta biết ngay được vị trí góc
của trục quay.
Tuy nhiên, nếu động cơ quay nhiều vòng =>phải xử
lý để đếm số vòng quay của trục.

* Nhược điểm: cần quá nhiều vòng lỗ, và dẫn tới giới
hạn về kích thước của encoder, bởi vì việc gia công
chính xác các lỗ quá nhỏ là không thể thực hiện
được. Chưa kể rằng việc thiết kế một dãy đèn led và
con mắt thu cũng ảnh hưởng rất lớn đến kích thước
giới hạn này.
Incremental encoder
* Các bạn đục một lỗ trên một cái đĩa quay, thì cứ mỗi
lần đĩa quay 1 vòng, các bạn sẽ nhận được tín hiệu,
và các bạn đã biết đĩa quay một vòng

* Nếu bây giờ các bạn có nhiều lỗ hơn, các bạn sẽ


có được thông tin chi tiết hơn, có nghĩa là đĩa quay
1/4 vong, 1/8 vòng, hoặc 1/n vòng, tùy theo số lỗ
nằm trên incremental encoder.

* Cứ mỗi lần đi qua một lỗ, chúng ta phải lập trình để


thiết bị đo đếm lên 1. Do vậy, encoder loại này có tên
incremental encoder (encoder tăng lên 1 đơn vị).
Incremental encoder (tt 1)
* Các bạn thấy rằng, cứ mỗi lần quay qua một
lỗ, thì encoder sẽ tăng một đơn vị trong biến
đếm.

Tuy nhiên, một vấn đề là làm


sao để biết được encoder quay
hết một vòng?.
Incremental encoder (tt 2)
* Người ta đưa vào thêm một lỗ
định vị để đếm số vòng đã quay
của encoder.
Như vậy, cho dù có lệch xung, mà
chúng ta thấy rằng encoder đi
ngang qua lỗ định vị này, thì
chúng ta sẽ biết là encoder đã bị
đếm sai ở đâu đó. Nếu vì một
rung động nào đó, mà chúng ta
không thấy encoder đi qua lỗ định
vị, vậy thì từ số xung, và việc đi
qua lỗ định vị, chúng ta sẽ biết rõ
hiện tượng sai của encoder.
Incremental encoder (tt 3)
Làm sao chúng ta biết
encoder đang xoay theo
chiều nào?
Người ta đặt thêm một vòng lỗ ở
giữa vòng lỗ thứ 1 và lỗ định vị
như hình sau:

Chú ý rằng, vị trí góc của các lỗ


vòng 1 và các lỗ vòng 2 lệch
nhau. Các cạnh của lỗ vòng 2 nằm
ngay giữa các lỗ vòng 1 và ngược
lại. Chi tiết sẽ trình bày ở mạch
gia công.
Phần II: Maïch gia coâng
cho Encoder.
I.Maïch phaùt hieän chieàu quay
 Phaùt hieän traïng thaùi chuyeån tieáp cuûa B khi A ôû
möùc thaáp
◦ Khi A = L , B: H=>L: quaythuaän
◦ Khi A = L , B: L=>H: quay ngöôïc
Söû duïng maïch vi phaân RC + diode
ngöôïc.
 Đưa 2 tín hiệu A và B vào cổng XOR => tăng
độ phân giải gấp đôi.

 Có thể tăng độ phân giải lên gấp 4 bằng cách


lấy vi phân cạnh lên các tín hiệu sau cổng
XOR, đưa qua mạch đơn ổn để tạo xung kích
và kết hợp lại bằng cách sử dụng cổng OR
các xung kích này
Đưa 2 tín hiệu A và B vào cổng XOR => tăng độ phân giải gấp đôi.
Gấp đôi và gấp 4 độ phân giải
Lấy vi phân

Kết hợp lại bằng cách


dùng cổng OR
Sơ đồ mạch Mạch
thựcđơn ổn
hiện Kết hợp xung
Sử dụng mạch 2 xung đếm, 1 quay thuận, 1 cho quay ngược.
Tín hiệu ngõ ra của mạch 2 xung đếm
Gấp 8 độ phân giải
Dùng 4 cb quang, đặt lệch 1/8 scalse dision, (45 độ)
Gấp 16 lần độ phân giải
 Sử dụng 8 bộ cảm biến quang đặt lệch nhau
1/16 của thang đo (scale division).
Gấp 2N độ phân giải
 Dùng 2n-1 cảm biến quang, đặt lệch nhau
1/(2n-1) scale division, tín hiệu ngõ ra lệch
pha pi/2n-1.
 Tổng hợp.
1.1 Mạch phát hiện chiều quay sử
dụng bộ đếm
 Cột 20 = A xor B, 21 =B (L = 1)
Hướng chuyển động:
xét hiệu Yn +~Yn-1 (bỏ qua số nhớ)
Quay thuận

Yn Yn-1 Yn-Yn-1
21 20 21 20 22 21 20
0 0 L L 0 0 0
0 L 0 0 L 0 0
L 0 0 L L 0 0
L L 0 L L 0 0
Quay nghịch

Yn Yn-1 Yn-Yn-1
21 20 21 20 22 21 20
0 0 0 L 0 L 0
0 L L 0 0 L 0
L 0 L L 0 L 0
L L 0 0 L L 0
ầ Mạch đơn ổn
Tần số gấp 4

IC cộng 4 bit

20 = A xor B
~Yn-1 = 1 xor Yn-1
 Nhược điểm:
◦ Phải đảm bảo thời hằng nạp, xả tụ nhỏ.
◦ Có thể có sai lệch ngay lúc khởi động do trạng thái
không xác định ban đầu của các FF.
1.2 Mạch xác định chiều quay bằng
xung clock ngoài đưa vào
 Đặt vấn đề: nếu dùng 2 xung A, B
-Có sự rung lắc cơ khí, tạo ra các xung có bề
rộng rất nhỏ bên cạnh xung chính=> xác
định sai chiều.
-Sự chồng chập tín hiệu vào và nhiễu => sai
số bộ đếm=>phải lọc nhiễu bằng low-pass
filter.
 Không yêu cầu dùng các mạch RC để lấy vi

phân cạnh =>dễ tích hợp vào IC.


Đồng bộ với A, B
Dịch pha hơn A0, B0 mo chu kỉ T1
Bảng chân trị

1,3,5,7: chiều thận


9, 11, 13, 15: chiều nghịch
Ưu điểm của việc đưa xung clock
ngoài vào
 Loại bỏ được ảnh hưởng của nhiễu do không
xem xét tại các cạnh của xung A, B
 Chỉ lấy mẫu A và B tại các thời điểm xác định

chính xác bởi xung clock ngoài, chu kì T1.


 Không yêu cầu dùng các mạch RC để lấy vi

phân cạnh =>dễ tích hợp vào IC.


 Chỉ các tín hiệu A và B có chu kì > T1 mới

được phát hiện =>loại bỏ ảnh hưởng của


nhiễu ở tần số cao
Cách mạch thực hiện đơn giản
1 xung ZV (quay thuận) và 1 xung ZR (quay nghịch) cho mỗi chu kì tín hiệu.

100k

100uF
Giảm nhiễu trên đường
Nhómtínmạch
hiệu tạo
từ encoder
delay 10us Demux 4->16

You might also like