Thứ Tư, 23 tháng 11, 2011

thủ thuật bỏ màn hình "to begin,click your user"

Máy tính bạn đang sử dụng bình thường bây giờ các bạn cài thêm .Net frameword thì tự nhiên sinh ra một màn hình đăng nhập “to begin click your user” bắt các bạn phải click vào với có thể vào windows. Làm thế nào để có thể loại bỏ được màn hình đó.
Đầu tiên các bạn vào “Start” -> “run…” nhập vào lệnh control userpasswords2 một cửa sổ “User Accounts” mở lên các bạn sẽ thấy các Accounts trong windows của bạn.Khi cài đặt Net frameword thì nó sinh ra 1 account là”APNET”.
Công việc bây giờ là các bạn loại bỏ account đó đi là máy có thể khởi động ngay vào windows được rồi.
Các bạn nhấp chuột chọn vào account cần xóa và nhấn vào “Remove” hệ thống sẽ hỏi bạn có muốn remove hay không.
Chọn Yes.
Checked. okkkkkkkkkkkkkkkk



Chủ Nhật, 13 tháng 11, 2011

TUT-Động cơ servo

-Trước hết từ servo-bắt nguồn từ tiếng Hi Lạp-servus(servant-slave-nô lệ)-1 hệ thống hay 1 đối tượng gắn với từ servo-nghĩa là nó sẽ chấp hành mọi mệnh lệnh của người điều khiển
dùng trong hệ thống điều khiển từ xa Diesel,trong các hệ điều khiển vị trí và tốc độ
-Động cơ servo dùng trong ứng dụng đòi hỏi đáp ứng tốc độ nhanh mà động cơ thường không thể làm được
Ví dụ trong 1 úng dụng muốn dừng chính xác đối tượng tại 1 ví trí nào đó (bàn máy bào giường) ,ở động cơ bình thường do tác dụng của momen quán tính nên rất khó để dừng chính xác động cơ,rất dễ bị vọt lố về vị trí.Muốn như vậy cần phải giảm momen quán tính và tăng dòng giới hạn (???) cho động cơ.Động cơ servo làm những việc này như sau:Để giảm J ===>giảm đường kính rotor(?)-giảm nhưng vẫn phải đảm bảo thể tích động cơ (do y/c về công suất và tỏa nhiệt) nên giảm đường kính thì phải tăng chiều dài---->>> đây cũng là 1 đặc điểm nhận biết của DC servo là dài hơn các  ĐC thông thường và loại bỏ các cơ cấu sắt không cần thiết.Để tăng I giới hạn ,mạch từ của ĐC servo được làm bằng sắt ferit,lõi sắt được chế tạo phù hợp (??)
-Trong 1 số ứng dụng như truyền động của thang máy,băng truyền yêu cầu sự tăng giảm tốc  độ phải mềm (tức là gia tốc phải gần như là hằng số để độ giật bằng  0,hay quá trình quá độ của vận tốc phải tuyến tính,tăng giảm 1 cách từ từ).Để làm được điều này thì điện cảm trong động cơ phải nhỏ(?)nhằm loại bỏ khả năng chống lại sự biến đổi dòng do mạch điều khiển yêu cầu (e=Ldi/dt). Do đó người ta chế tạo động cơ servo giảm số cuộn dây trong mạch và có khả năng thu hẹp các vòng từ trong mạch từ khe hở không khí.
-Trong các ứng dụng  muốn mở rộng dải tốc độ làm việc của động cơ,vượt xa tốc độ định mức (động cơ thường chỉ tăng tốc độ đến tối đa là Điện áp phần ứng bằng điện áp chịu đựng của động cơ) với ĐC servo để tăng điện áp chịu đựng hoặc tăng khả năng bão hòa mạch từ trong động cơ( nghĩa là động cơ làm việc ở phía dưới gần điểm cùi chỏ (knee point) và điểm cùi chỏ được thiết kế cách xa lên phía trên so với của ĐC thường).Động cơ đc tăng cường cách điện và mạch từ làm bằng sắt ferit hoặc nam châm đất hiếm (rare eather)
-Nói tóm lại là động cơ servo được chế tạo hết sức đặc biệt (cả về phần cơ và điện )để đáp ứng 1 số yêu cầu truyền động mà 1 ĐC bình thường không đáp ứng được

(trích webdien.com)
Túm lại là cũng rút ra được 1 vài thứ bổ ích/////pause ở đây đã. Làm phần khác

So sánh sự khác nhau giữa động cơ bước và động cơ servo

So sánh sự khác nhau giữa động cơ bước và động cơ servo

Động cơ bước và động cơ servo là hai loại động cơ thông dụng để điều khiển chính xác góc quay. Bài viết này sẽ so sánh một số đặc điểm của hai loại động cơ trên.
Động cơ bước:
Ưu điểm:
- Có thể điều khiển chính xác góc quay.
- Giá thành thấp.
Nhược điểm:
- Về cơ bản dòng từ driver tới cuộn dây động cơ không thể tăng hoặc giảm trong lúc hoạt động. Do đó, nếu bị quá tải động cơ sẽ bị trượt bước gây sai lệch trong điều khiển.
- Đông cơ bước gây ra nhiều nhiễu và rung động hơn động cơ servo.
- Động cơ bước không thích hợp cho các ứng dụng cần tốc độ cao.
Động cơ servo:
Ưu điểm:
- Nếu tải đặt vào động cơ tăng, bộ điều khiển sẽ tăng dòng tới cuộn dây động cơ giúp tiếp tục quay. Tránh hiện tượng trượt bước như trong động cơ bước.
- Có thể hoạt động ở tốc độ cao.
Nhược điểm:
- Đông cơ servo hoạt động không trùng khớp với lệnh điều khiển bằng động cơ bước.
- Giá thành cao.
- Khi dừng lại, động cơ servo thường dao động tại vị trí dừng gây rung lắc.
Cả hai loại động cơ có những ưu khuyết điểm riêng. Việc lựa chọn loại động cơ nào là tùy thuộc vào từng ứng dụng cụ thể.
Dưới đây là bảng so sánh những đặc điểm cơ bản giữa hai loại động cơ:
Động cơ bước Động cơ servo
Mạch driver Đơn giản. Người dùng có thể chế tạo chúng Mạch phức tạp. Thông thường người sử dụng phải mua mạch driver từ các nhà sản xuất
Nhiễu và rung động Đáng kể Rất ít
Tốc độ Chậm (tối đa 1000-2000 rpm) Nhanh hơn (tối đa 3000-5000 rpm)
Hiện tượng trượt bước Có thể xảy ra (Nếu tải quá lớn) Khó xảy ra Khó xảy ra (Động cơ vẫn chạy trơn tru nếu tải đặt vào tăng)
Phương pháp điều khiển Vòng hở (không encoder) Vòng kín (có encoder)
Giá thành (Động cơ + driver) Rẻ Đắt
Độ phân giải

2 pha PM: 7.5° (48 ppr)
2 pha HB: 1.8° (200 ppr) hoặc 0.9° (400 ppr)
5 pha HB: 0.72° (500 ppr) hoặc 0.36° (1000 ppr)
Phụ thuộc độ phân giải của encoder.
Thông thường vào khoảng 0.36° (1000ppr) – 0.036° (10000ppr)
* ppr : Pulses per revolution
(http://www.robotonline.net/vi/articles/529/so-sanh-su-khac-nhau-giua-dong-co-buoc-va-dong-co-servo)

Thứ Năm, 10 tháng 11, 2011

cơ bản 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 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ị).



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.



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.


Hoạt động của hai loại encoder này như thế nào?

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.

Thế làm sao để xác định 2^n trạng thái này của đĩa encoder?

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



Ở đâ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 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ỗ:





Vậy cách thiết kế absolute encoder như thế nào?

Các bạn luôn chú ý rằng, để 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 ở 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, bit0 (nếu xem là số nhị phân) sẽ thay đổi liên tục mỗi 1/2^N 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à bitN-1 luôn đặt trong cùng như hình trên.

Rất nhiều người thắc mắc về cách thực tế để vẽ encoder như thế nào. Tuy nhiên, kể từ khi có chương trình thiết kế encoder này, tôi cho rằng chúng ta không nên quan tâm đến vấn đề đó nữa. Chỉ cần hiểu nó hoạt động ra sao, rồi sau đó chúng ta dùng chương trình này để vẽ.
Kết quả, nếu đĩa encoder có đến 10 vòng lỗ, thì chúng ta sẽ quản lý được đến 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).
2) Incremental encoder

Nhận thấy một điều rằng, 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.

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:



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:



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.



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.
nguồn :http://www.academia.edu/7154971/S%C6%A1_l%C6%B0%E1%BB%A3c_v%E1%BB%81_encoder