Với những máy móc hiện đại như ngày nay, trong quá trình sản xuất luôn chạy với nhiều tốc độ khác nhau, tùy theo mỗi giai đoạn làm việc của nó, chính vì thế mà ta cần phải biết tốc độ độ
Trang 1LỜI NÓI ĐẦU Trong quá trình sản xuất hiện đại, đo tốc độ động cơ là việc làm không thể thiếu, nó giúp cho quá trình giám sát sản xuất nhah hơn, tốt hơn, cho ra những sản phẩm như ý, chính xác Nếu ta không đo được tốc độ của động cơ thì không thể điều khiển tốc độ chính xác được Với những máy móc hiện đại như ngày nay, trong quá trình sản xuất luôn chạy với nhiều tốc độ khác nhau, tùy theo mỗi giai đoạn làm việc của nó, chính vì thế mà ta cần phải biết tốc độ động cơ là bao nhiêu để điều chỉnh cho phù hợp.
Từ lâu con người đã nghiên cứu chế tạo ra những máy đo tốc độ và được sử dụng rộng rãi Trong các hệ truyền động kinh điển người ta dùng máy phát tốc đo tốc độ động cơ, máy phát tốc một chiều hay xoay chiều thực chất cũng chỉ là máy phát điện công suất nhỏ, có suất điện động ra tỷ
lệ với tốc độ cần đo Về sau nền sản xuất công nghiệp ngày càng phát triển hiện đại người ta bắt đầu nghiên cứu và cho ra đời các máy đo tốc độ có độ chính xác cao hơn như máy đo góc tuyệt đối, máy đo sử dụng cảm biến quang tốc độ với đĩa giải mã …
Trong quá trình ngồi trên ghế trường đại học em đã được trang bị một số kiến thức về lĩnh vực này, thấy được tầm quan trọng của nó và để tìm hiểu kỹ hơn thầy giáo đã giao cho em bài tập “ Thiết kế hệ thống
đo tốc độ động cơ sử dụng encoder hiển thị trên máy tính“ để
làm cơ sở cho sự phát triển các môn chuyên ngành Đề tài này cũng không
có gì mới mẻ nhưng em nghĩ tuy cũ mà mình chưa nghiên cứu thì với mình
nó vẫn là mới như thường,với lại tầm quan trọng của nó là rất lớn, trong quá trình làm việc sau này chắc chắn sẽ còn gặp thường xuyên nên phải nghiên cứu để nắm vững.
Với đề tài trên yêu cầu người làm phải nắm vững được các phương pháp đo tốc độ động cơ, từ đó thiết kế và thi công máy đo tốc độ không tiếp
Trang 2xúc và hiển thị được tốc độ đó, từ cơ sở đó buộc người làm đề tài phải thực hiện được những công việc sau:
- Tìn hiểu về các phương pháp đo tốc độ động cơ
- Trong thực tế sản xuất việc đo tốc độ thường là đo tốc độ quay
của máy, trong trường hợp chuyển Tìm hiểu về các linh kiện sử dụng
- Tìm hiểu về cảm biến tốc độ
- Thiết kế và thi công phần cứng
- Xây dựng lưu đồ giải thuật và tiến hành lập trình cho mạch
Trong thực động thẳng, thường người ta chuyển tốc độ dài sang đo tốc độ quay, do đó cảm biến tốc độ gốc luôn chiếm ưu thế trong lĩnh vực đo tốc độ Trong đề tài này em chọn cảm biến thu phát hồng ngoại(encoder)
để đọc tốc độ của roto động cơ Muốn làm được điều này thì trên trục roto
ta phải gắn cho nó bộ phận chiếu sáng hồng ngoại, số vòng quay của động
cơ sẽ được cảm biến mã hóa về cho vi điều khiển sử lý, chân ngắt ngoài 0(INT0) sẽ giao nhiệm vụ nhận giá trị cảm biến đọc về
Máy đo tốc độ trên thị trường ngày nay rất đa dang và hiện đại có
độ chính xác cao, những chiếc máy này được ra đời và hoàn thiện dần trong chuỗi thời gian rất lâu, các công ty sản xuât nó đã bỏ rất nhiều thời gian và tiền bạc để nghiên cứu chế tạo Với kiến thức của một sinh viên, và thời gian có hạn em không thể nào đem sản phẩm của mình so sánh được Tuy nhiên em sẽ dành tất cả kiến thức và thời gian mà mình có được để hoàn thành đề bài mà thầy giáo giao cho một cách tốt nhất, và xem đó như là một
cơ hội để học tập và kiểm tra lại kiến thức mà mình đã học, vì vậy bài làm của em vẫn còn nhiều sai sót mong quý thầy cô thông cảm Em xin chân thành cảm ơn sự giúp đỡ tận tình của các thầy các cô trong khoa, đặc biệt
là thầy PHẠM TUẤN ANH đã giúp em hoàn thành bài tập này.
Em xin chân thành cám ơn !
Trang 3
Hải phòng, ngày 29 tháng 4 năm 2011
Sinh viên
Trịnh Minh Hải
Chương 1
MÔ TẢ CHUNG VỀ HỆ THỐNG ĐO TỐC ĐỘ
1.1 Giới thiệu về động cơ điện một chiều
1 Giới thiệu về động cơ điện
a Động cơ điện xoay chiều:
+ Cấu tạo và nguyên lý hoạt động:
Động cơ gồm có hai phần chính là stator và rotor Stato gồm các cuộndây của ba pha điện quấn trên các lõi sắt bố trí trên một vành tròn để tạo ra từtrường quay Rôto hình trụ có tác dụng như một cuộn dây quấn trên lõithép.Khi mắc động cơ vào mạng điện xoay chiều, từ trường quay do stato gây
ra làm cho rôto quay trên trục Chuyển động quay của rôto được trục máytruyền ra ngoài và được sử dụng để vận hành các máy công cụ hoặc các cơ cấuchuyển động khác
+ Phân loai:
Động cơ điện xoay chiều được sản xuất với nhiều kiểu và công suất khácnhau Theo sơ đồ nối điện có thể phân ra làm 2 loại: động cơ 3 pha và 1 pha, vànếu theo tốc độ có động cơ đồng bộ và động cơ không đồng bộ
b Động cơ điện một chiều:
+ Cấu tạo:
Trang 4Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châmvĩnh cửu, hay nam châm điện, rotor có các cuộn dây quấn và được nối vớinguồn điện một chiều, 1 phần quan trọng khác của động cơ điện 1 chiều là bộphận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển độngquay của rotor là liên tục Thông thường bộ phận này gồm có một bộ cổ góp vàmột bộ chổi than tiếp xúc với cổ góp.
+ Cơ chế hoạt động:
Nếu trục của một động cơ điện một chiều được kéo bằng 1 lực ngoài,động cơ sẽ hoạt động như một máy phát điện một chiều, và tạo ra một sức điệnđộng cảm ứng Electromotive force (EMF) Khi vận hành bình thường, rotor khiquay sẽ phát ra một điện áp gọi là sức phản điện động counter-EMF (CEMF)hoặc sức điện độngđối kháng, vì nó đối kháng lại điện áp bên ngoài đặt vàođộng cơ Sức điện động này tương tự như sức điện động phát ra khi động cơđược sử dụng như một máy phát điện (như lúc ta nối một điện trở tải vào đầu racủa động cơ, và kéo trục động cơ bằng một ngẫu lực bên ngoài) Như vậy điện
áp đặt trên động cơ bao gồm 2 thành phần: sức phản điện động, và điện ápgiáng tạo ra do điện trở nội của các cuộn dây phần ứng Dòng điện chạy quađộng cơ được tính theo biều thức sau:
I = (VNguon − V PhanDienDong ) / R PhanUng
Công suất cơ mà động cơ đưa ra được, được tính bằng:
P = I * (VPhanDienDong)
1.2 Các phương pháp đo tốc độ đông cơ.
1 Đo tốc độ động cơ sử dung encoder
Trang 5*> Nguyên lý:
Đo tốc độ động cơ dùng encoder, tín hiệu từ encoder tạo ra các dạng xung vuông có tần số thay đôi phụ thuộc vào tốc độ động cơ Do đó các xung vuông này được đưa vào bộ vi xử lý để đếm số xung trong khoảng thời gian cho phép
từ đó ta có thể tính được giá trị vận tốc của động cơ Đây cũng là phương pháp
mà người ta sử dụng để ổn định tốc độ động cơ hay điều khiển nhanh chậm
*> Nguyên lý encoder
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 Số xung đếm được
và tăng lên nó tính bằng số lần ánh sáng bị cắt Như vậy là encoder sẽ tạo ra các tín hiệu xung vuông và các tín hiệu xung vuông này được cắt từ ánh sáng xuyên qua lỗ Nên tần số của xung đầu ra sẽ phụ thuộc vào tốc độ quay của tấm tròn
đó Đối với encoder người ta có thể dùng 2 bộ đặt lệch nhau 900 nó sẽ có 2 tín hiệu ra lệch pha nhau 90 Hai tín hiệu này có thể xác định được chiều quay của động cơ
Sơ đồ cấu tạo bên trong của encode
Trang 62 Đo tốc độ động cơ sử dụng máy phát tốc
Đo tốc độ động cơ dùng máy phát tốc, tín hiệu từ máy phát tốc tạo ra có điện áp thay đôi phụ thuộc vào tốc độ động cơ Do đó điện áp này được đưa qua
bộ chuyển đổi ADC tạo thành các xung vuông, các xung vuông này được đưa vào bộ vi xử lý để đếm số xung trong khoảng thời gian cho phép từ đó ta có thể tính được giá trị vận tốc của động cơ
a, Sử dụng máy phát tốc: có nhược điểm là độ chính xác không cao,
lại đòi hỏi kèm theo bộ chuyển đổi tương tự - số để số hóa tín hiệu đo nênphương pháp này không được ưa dùng nên nó dần đi vào dĩ vãng
b, Phương pháp đo sử dụng bộ cảm biến quang tốc độ: với đĩa
giải mãi để đo tốc độ động cơ có các ưu điểm: độ phân giải cao dẫn đến kết quảcực kì chính xác, ít nhiễu với sóng điện từ
c, Phương pháp sử dụng máy đo góc tuyệt đối: có ưu điểm ít bị
ảnh hưởng bởi nhiệt độ, ít nhiễu điện từ tuy nhiên chúng không đạt được độphân giải cao như bộ cảm biến quang tốc độ với tín hiệu hình sin
d, Phương pháp xác định tốc độ gián tiếp: qua phép đo dòng điện
và điện áp stato mà không cần bộ cảm biến tốc độ
Trang 7Các phương pháp sử dụng máy phát tốc hay bộ cảm biến dòng nóitrên có một số nhược điểm là : nó làm cho hệ thống truyền động không đồngnhất do phải lắp thêm vào trục động cơ các cảm biến, trong một số trường hợpkhông thực hiện được Ví dụ như trong hệ thống truyền động cao tốc hoăc khiđộng cơ làm việc trong môi trường độc hại Phương pháp xác định tốc độ giántiếp qua phép đo dòng điện và điện áp stato mà không cần dùng đến bộ cảm biếntốc độ khắc phục được các nhược điểm trên.
1.3 Giới thiệu về encoder.
a.Tổng quát về encoder:
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 ( encoder tuyệt đối ) vàincremental ( encoder tương đối ) Đối với loại encoder tuyệt đối thì tín hiệu tanhận được, chỉ rõ ràng vị trí của encoder, chúng ta không cần xử lý gì thêm cũngbiết chính xác vị trí của encoder Còn đối với encoder tương đối thì loại này chỉ
có 1, 2, hoặc 3 vòng lỗ Ta có thể hình dung như thế này, nếu bây giờ ta đụcthêm một lỗ trên một cái đĩa quay thì cứ mỗi lần quay được 1 vòng ta sẽ nhậnđược tín hiệu và ta biết được đĩa quay được 1 vòng Nếu bây giờ trên đĩa đó cónhiều lỗ hơn thì ta sẽ có được những thông tin chi tiết hơn, có nghĩa là đĩa quay1/4 vòng, 1/8 vòng hay 1/n vòng tùy theo số lỗ nằm trên encoder
Trang 8Hình 1.1 Đĩa encoder.
b, Nguyên lý hoạt động của encoder.
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ỗ 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ộtcon 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 ghinhậ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 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 tatìm hiểu về encoder
Trang 9Hinh 1.2 Nguyên lý cơ bản của hoạt động encoder.
a, Với encoder tuyệt đối:
Vấn đề chúng ta sẽ quan tâm ở đây, chính là vấn đề về độ mịn củaencoder, có nghĩa là làm thế nào biết đĩa đã quay 1/2 vòng, 1/4 vòng, 1/8 vònghay 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 đề theomột cách hoàn toàn toán học như sau:
Với một số nhị phân có 2 chữ số, chúng ta sẽ có 00, 01, 10, 11, tức là 4trạng thái Điều đó có nghĩa là với 2 chữ số, chúng ta có thể chia đĩa encoderthà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
Thế làm sao để xác định 2n trạng thái này của đĩa encoder?
Ta xét hình sau:
Hình 1.3 Đĩa encoder có 2 vòng đĩa
Ở hình trên ta 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 lỗ, và 2 đèn thu
Giả sử ở vòng lỗ thứ nhất ( trong cùng ), đèn đọc đang nằm ở hai 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ứ 2, thì
Trang 10chúng ta đang ở vị trí không có lỗ, như vậy con mắt thu vòng 2 sẽ đọc được giátrị là 0 Như vậy với đĩa có 10 vòng, 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 đĩaquay đến 1/4 vòng Trong ví dụ trên, nếu đèn LED đọc được 10, thì vị trí củaLED 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 đĩaencoder có đến 10 vòng lỗ, thì chúng ta sẽ quản lý được đến 1/(2^10) tức là đến1/1024 vòng Hay người ta nói là độ phân giải của encoder là 1024 xung trênvòng (pulse per revolution - ppr)
Hình 1.4 Đĩa encoder 8 vòng.
Cách chế tạo encoder tuyệt đối: Để thiết kế encoder tuyệt đối,
người ta luôn vẽ sao cho bit thứ N (đối với encoder có N vòng lỗ) nằm ở trongcù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, bit0 (nếu xem là số nhị phân) sẽ thay đổi liên tục mỗi 1/2N vòngquay, 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 bit 0 luônđặt ở ngoài cùng, và bit N-1 luôn đặt trong cùng như hình trên
b, encoder tương đối:
Nhận thấy một điều rằng, encoder tuyệt đối rất có lợi cho những trườnghợ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à
Trang 11chúng ta biết ngay được vị trí góc của trục quay Tuy nhiên, nếu động cơ quaynhiề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, 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 giacô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ệcthiế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ướcgiới hạn này.
Hoạt động của encoder tương đối bằng cách tăng lên 1 đơn vị khi mộtlần lên xuống của cạnh xung
Hình 1.5 Encoder tương đối.
Ta thấy cứ mỗi lần quay qua một lỗ, thì encoder sẽ tăng một đơn vị trongbiến đếm Tuy nhiên, một vấn đề là làm sao để biết được encoder quay hết 1vò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 1 vòng Để giải quyết vấn đề này, ta đưa thêm vào 1 lỗ định vị đểđếm số vòng đã quay của encoder Như vậy, cho dù có lệch xung mà chúng tavẫn thấy rằng encoder đi ngang qua lỗ định vị này thì chúng ta vẫn biết làencoder đã bị đếm sai ở đâu Nếu vì một rung động nào đó mà chúng ta khôngthấy encoder 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
Trang 12Hình 1.6 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 đangxoay theo chiều nào? Bởi vì cho dù xoay theo chiều nào, thì tín hiệu encodercũ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ìnhsau
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áccạ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ảosát tiếp vấn đề encoder trong phần tín hiệu xung để hiểu rõ hơn về encoder Tuynhiên, ta 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ì ta chỉ cần làm 1 vòng lỗ, và đặt hai đèn LED lệch nhau
c, Thuật toán đo tốc độ động cơ
Trang 13Hình 1.7 Sơ đồ cấu tạo bên trong của encoder.
DO Psoc có đủ các module : Timer 16, couter 8, LCD nên ta chỉ cần lấycác modul đó ra Sử dụng
Thuật toán đơn giản mà được dùng rất phổ biến là ngắt thời gian để đếmxung từ encoder cụ thể như sau :
+ Tạo một module thời gian ở đây là timer 16 có thời gian là 0.01s,module Cou ter 8 đếm xung từ 0 đến 255 (Nó đếm lần lượt từ 0 đến 255 và đến
255 thì lại trở về chu kì mới)
+ Sử dụng ngắt timer 16 (Có nghĩa là cứ 0.01s là chương trình lại xẩy rangắt 1 lần) Trong hàm ngắt chúng ta xử lý số liệu mà số xung từ encoder đượcđưa về vi điều khiển Vì Couter nó chỉ đếm được từ 0 đến 255 để bao gồm cảtrường hợp trong 0.01s mà số xung nó lớn hơn 255 (Hay 0.01s nó được đượctrên 255 xung) Do đó chúng ta cần phải có 2 giá trị đếm của couter : Giá trị đếmmới (newcount), giá trị đếm cũ (oldcount)
* Giá trị đếm cũ = Giá trị đếm mới:
* Khởi tạo cho newcount = 255 - giá trị xung đếm
* Nếu mà giá trị oldcount > newcount thì giá trị xung cuối cùng là :count = 255 + newcount - oldcount