1.Sơ lược về encodor
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.
Encoder được chia làm 2 loại:
absolute encoder và incremental encoder.
Tạm dịch là encoder tuyệt đối v{ encoder tương đối. Chữ encoder tuyệt đối dịch theo nguyên văn, nhưng vì tiếng Việt mình cái gì có 2 loại, thì loại còn lại được dịch ngược lại với loại kia. Cho nen dịch l{ encoder tương đối cho
incremental encoder.
Nếu dịch s|t nghĩa, khi ta đọc absolute encoder, có nghĩa l{ encoder tuyệt đối, tức là 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.
Còn incremental encoder, là loại encoder chỉ có 1, 2 hoặc tối đa l{ 3 vòng lỗ.
Các bạn hình dung thế này, nếu bây giờ 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ị).
32
33
3.Khái niệm:
- Encoder còn gọi là thiết bị mã hóa vòng – xung, hay thiết bị chuyển đổi vòng – xung. Là thiết bị dùng để chuyển đổi từ số vòng quay thành tín hiệu điện
Phân loại:
- Encoder được chia làm 2 loại, absolute encoder và incremental encoder. Tạm dịch là
encoder tuyệt đối v{ encoder tương đối (tăng dần). Chữ encoder tuyệt đối dịch theo nguyên
văn, nhưng vì tiếng Việt mình cái gì có 2 loại, thì loại còn lại được dịch ngược lại với loại
kia. Cho nên dịch l{ encoder tương đối cho incremental encoder.
- Nếu dịch s|t nghĩa, khi ta đọc absolute encoder, có nghĩa l{ encoder tuyệt đối, tức là 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.
34
2.Nguyên lý hoạt động của encodor
Nguyên lý hoạt động cơ bản của encoder, LED và lỗ
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, chỗ có lỗ (r~nh), đèn led sẽ chiếu xuyên qua. Khi đó, phía mặt bên kia của đĩa, người ta đặt một con mắt thu. Với các tín hiệu có, hoặc không có ánh sáng chiếu qua, người ta ghi nhận được đèn led có chiếu qua lỗ hay không.
Khi trục quay, giả sử trên đĩa chỉ có một lỗ duy nhất, cứ mỗi lần con mắt thu nhận được tín hiệu đèn led, thì có nghĩa l{ đĩa đ~ quay được một vòng.
Đ}y l{ nguyên lý rất cơ bản của encoder.
Tuy nhiên, những vấn đề được đặt ra l{, l{m sao để x|c định chính x|c hơn vị trí của đĩa quay (mịn hơn) v{ l{m thế n{o để xác định được đĩa đang quay theo chiều n{o? Đó chính l{ vấn đề để chúng ta tìm hiểu về encoder.
Hình sau sẽ minh họa nguyên lý cơ bản của hoạt động encoder.
35
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. Chúng tôi không để cập đến đĩa mặt nạ này ở đ}y.
1)Absolute encoder
Vấn đề chúng ta sẽ quan tâm ở đ}y, chính l{ vấn đề về độ mịn của encoder, có nghĩa l{ l{m thế nào biết đĩa đ~ quay 1/2 vòng, 1/4 vòng, 1/8 vòng hay 1/n vòng, chứ không phải chỉ biết đĩa đ~ quay được một vòng.
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/(2^n) vòng.
L{m sao để x|c định trạng thái này của đĩa encoder?
Các bạn xem hình sau:
36
Ở đ}y, tôi đư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.
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.
Kết quả, nếu đĩa encoder có đến 10 vòng lỗ, thì chúng ta sẽ quản lý được đến
37
1/(2^10) 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 trên vòng (pulse per revolution - ppr).
Sau đ}y l{ ví dụ abosulte encoder 8 vòng lỗ
2) Incremental encoder
Encoder tuyệt đối rất có lợi cho những trường hợp khi góc quay là nhỏ, và động cơ không quay nhiều 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, điều này không có lợi, bởi vì khi đó, chúng ta phải xử lý để đếm số vòng quay của trục.
Ngo{i ra, như c|c bạn thấy đó, nếu thiết kế encoder tuyệt đối, chúng ta 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.
38
Theo kinh nghiệm của cá nhân tôi, tôi thấy encoder 8 bit l{ đ~ rất chi tiết rồi, và ở trường DHBKHCM có loại encoder 12bit đ~ l{ loại tốt nhất mà tôi biết. Tôi chưa thấy loại encoder tuyệt đối nào 16 bit cả, v{ cũng không có ý định tìm nó trên internet.
Độ chính xác của encoder 12 bit đ~ l{ 1/4096 rồi.
Tuy nhiên, điều n{y được khắc phục bằng incremental encoder một cách khá đơn giản. Chính vì vậy, ng{y nay, đa số người ta sử dụng incremental encoder trong những ứng dụng hiện đại.
Hoạt động của incremental encoder
Thật đơn giản, incremental encoder, sẽ tăng 1 đơn vị khi một lần lên xuống của cạnh xung.
Các bạn xem hình encoder sau:
39
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?
Nếu cứ đếm vô hạn như thế này, thì chúng ta không thể biết được khi nào nó quay hết một vòng. Nếu bây giờ các bạn đếm số lỗ encoder để biết nó đ~ quay một vòng, thì nếu với encoder 1000 lỗ chắc các bạn sẽ đếm đến sáng luôn.
Chưa kể, mỗi lần có những rung động n{o đó m{ ta không quản lý được,
encoder sẽ bị sai một xung. Khi đó, nếu hoạt động lâu dài, sai số này sẽ tích lũy, ngày hôm nay sai một xung, ngày hôm sau sai một xung. Đến cuối cùng, có thể động cơ quay 2 vòng rồi các bạn mới đếm được 1 vòng.
Để tr|nh điều tai hại này xảy ra, 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.
Đây là hình encoder có lỗ định vị:
Tuy nhiên, một vấn đề lớn nữa là, làm sao chúng ta biết encoder đang xoay theo chiều nào? Bởi vì cho dù xoay theo chiều nào, thì tín hiệu encoder cũng chỉ l{ c|c xung đơn lẻ và xoay theo hai chiều đều giống nhau.
Chính vì vậy, 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:
40
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.
Chúng ta sẽ khảo sát tiếp vấn đề encoder trong phần tín hiệu xung để hiểu rõ hơn về encoder. Tuy nhiên, các bạn sẽ thấy một điều rằng, thay vì làm 2 vòng encoder, v{ dùng 2 đèn LED đặt thẳng h{ng, thì người ta chỉ cần làm 1 vòng lỗ, và đặt hai đèn LED lệch nhau.
Kết quả, các bạn sẽ thường thấy các encoder có dạng như hình 2:
Đ}y l{ dạng encoder phổ biến nhất hiện nay.
41
Hình trên là hình xung incremental encoder.
Các bạn thấy rằng nếu như khi xung A đang từ mức cao xuống mức thấp, mà lúc đó B đang ở mức thấp, thì chúng ta sẽ x|c định được chiều chuyển động của encoder theo chiều mũi tên m{u cam.
Nếu A đang từ mức cao xuống mức thấp, m{ B đang ở mức cao, thì chúng ta sẽ biết encoder đang quay theo chiều màu nâu.
Encodor xung 1)cấu tạo
-một đĩa xẻ r~nh được gắn trên trục -Đầu đọc gồm 1-3 bộ thu phát quang -Đầu ra là xung vuông
2)Độ phân giải
phụ thuộc rãnh trên vòng 1 vd:100P/R ,360P/R,1000P/R 3)Ưu nhược điểm
Ưu:Đầu ra dạng xung,nên trong hệ thống điều khiển số không cần bộ chuyển đổi ADC.Dễ sử dụng dễ đọc tín hiệu
42
Nhược:Có thể cần mạch giải mã và mạch đếm.Không lưu được giá trị khi bị mất điện
4)C|ch đọc thông số của một encodor tuyệt đối
các dây của encodor thường có 4 màu:
-dây đỏ là dây cấp 5v -dây xanh là GND
-dây trắn dây vàng là kênh A kênh B(có thể có thêm dây nâu kênh Z) ngược pha nhau 90 độ
43