1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỒ án CÔNG NGHỆ THỰC PHẨM (20)

8 16 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 903,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu RC SERVO Giải pháp Điều Khiển Tốc Độ cho RC SERVO không can thiệp phần cứng Khảo sát trên động cơ RG946 của hãng TOWARD PRO Trung Quốc là loại động cơ có chất lượng tương đố

Trang 1

Tìm hiểu RC SERVO Giải pháp Điều Khiển Tốc Độ cho RC SERVO (không

can thiệp phần cứng)

Khảo sát trên động cơ RG946 của hãng TOWARD PRO ( Trung Quốc ) là loại động cơ có chất lượng tương đối tốt , các thông số thỏa mãn các yêu cầu đặt ra đối với nhiều ứng dụng này , giá thành chấp nhận được

Thông số của động cơ:

Bảng dòng tải đo đạc trực tiếp:

(Các giá trị này là giá trị tương đối được đo đạc thủ công bằng VOM số mang tính chất dùng để ước lượng độ lớn của dòng điện tiêu thụ của động cơ khi động cơ hoạt động)

Trang 2

Dựa vào bảng các giá trị trên ta nhận xét thấy rằng dòng qua động cơ tầm khoảng 200mA đến 500mA Khi kẹt tải dòng sẽ tăng lên khoảng 1,2A

IC ổn áp tuyến tính áp ra phẳng hơn IC ổn áp xung.Nhưng tổn hao lớn hơn IC nguồn xung rất nhiều.Sẽ làm tỏa nhiệt lượng lớn rất vô ích , đồng thời giảm thời gian hoạt động Thường các IC

ồn áp tuyến tính chỉ có các loại ổn áp được các tải có dòng hoạt động nhỏ Vì tải là động cơ nên vấn đề cần nguồn có ngõ ra có áp phẳng không quan trọng bằng việc nguồn có ngõ ra có dòng lớn Nên ta sẽ chọn IC nguồn xung cho việc thiết kế nguồn cho RC servo Và một lý do quan trọng hơn cả là hiệu suất của loại IC này cao làm tăng thời gian hoạt động ,giảm thiểu tối đa nhiệt năng sinh ra khi RC hoạt động

Trong các họ IC ổn áp nguồn xung hiện nay seri LM25xx của hãng National

Semiconductor là loại khá thông dụng tại thị trường Việt Nam hiện nay Ta cần chọn các IC có định mức dòng càng lớn càng tốt , tần số càng cao càng tốt để các linh kiện gắn ngoài (tụ và cuộn dây ) có kích thước tối thiểu Tuy nhiên nếu ta sử dụng loại IC nguồn xung có khả năng chỉnh được áp ra thì loại IC của hãng MICREL cũng có khả năng thích hợp

Tập trung so sánh 3 loại IC có dòng danh định lớn

Tên IC Dòng điện (A) Tần số(Khz) Áp ra (V) Giá (VND)

Ta nhận thấy LM2596 ưu điểm hơn loại LM2576 mà giá thành lại ngang nhau nên ta sử dụng LM2596 cho vấn đề thiết kế mạch nguồn

Đối với mạch điều khiển RC SERVO: Để lựa chọn được phương án thiết kế mạch điều khiển RC SERVO ta cần tìm hiểu sơ qua cấu tạo và cách thức động cơ hoạt động

Trang 3

Bên trong RC servo

1 Motor 2.Electronics Board 3.Positive Power Wire (Red) 4.Signal Wire (Yellow or White) 5.Negative or Ground Wire (Black) 6.Potentiometer

7.Output Shaft/Gear 8.Servo Attachment Horn/Wheel/Arm 9.Servo Case

10.Integrated Control Chip

Bên trong của một động cơ servo R/C Servo bao gồm một động cơ,một chuỗi các bánh răng giảm tốc, một mạch điều khiển và một vôn kế

Động cơ và vôn kế nối với mạch điều khiển tạo thành mạch hồi tiếp vòng kín Cả mạch điều khiển và động cơ đều được cấp nguồn DC (thường từ 4.8 – 7.2 V)

Để quay động cơ, tín hiệu số được gới tới mạch điều khiển Tín hiệu này khởi động động

cơ , thông qua chuỗi bánh răng , nối với vôn kế Vị trí của trục vôn kế cho biết vị trí trục ra của servo Khi vôn kế đạt được vị trí mong muốn , mạch điều khiển sẽ tắt động cơ Động cơ servo

Trang 4

được thiết kế để quay có giới hạn chứ không phải quay liên tục như động cơ DC hay động cơ bước Mặc dù ta có thể chỉnh động cơ servo R/C quay liên tục nhưng công dụng chính của động

cơ servo là đạt được góc quay chính xác trong khoảng từ 90 – 180 độ Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…

Servo và điều biến độ rộng xung

Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ rộng xung (PWM) Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn định Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi từ 1 – 2 ms Các xung này được gởi đi 50 lần/giây Chú ý rằng không phải số xung trong một giây điều khiển servo mà là chiều dài của các xung Servo đòi hỏi khoảng 30 – 60 xung/giây Nếu số này qua thấp, độ chính xác và công suất để duy trì servo sẽ giảm Với độ dài xung 1 ms, servo được điều khiển quay theo một chiều (giả sử là chiều kim đồng hồ )

Điều khiển vị trí của trục ra của động cơ bằng cách điều chế độ rộng xung

Với độ dài xung xung 2 ms, servo quay theo chiều ngược lại Kỹ thuật này còn được gọi

là tỉ lệ số - chuyển động của servo tỉ lệ với tín hiệu số điều khiển

Công suất cung cấp cho động cơ bên trong servo cũng tỉ lệ với độ lệch giữa vị trí hiện tại của trục ra với vị trí nó cần đến Nếu servo ở gần vị trí đích, động cơ được truyền động với tốc

độ thấp Điều này đảm bảo rằng động cơ không vượt quá điểm định đến Nhưng nếu servo ở xa

vị trí đích nó sẽ được truyền động với vận tốc tối đa để đến đích càng nhanh càng tốt Khi trục ra đến vị trí mong muốn, động cơ giảm tốc Quá trình tưởng chừng như phức tạp này diễn ra trong khoảng thời gian rất ngắn - một servo trung bình có thể quay 60 độ trong vòng ¼ - ½ giây

Vì độ dài xung có thể thay đổi tùy theo hãng chế tạo nên ta phải chọn servo và máy thu

vô tuyến thuộc cùng một hãng để đảm bảo sự tương thích Đối với robot, ta phải làm một vài thí nghiệm để xác định độ dài xung tối ưu

Vai trò của Vôn kế

Trang 5

Vôn kế trong servo giữ vai trò chính trong việc cho phép định vị trí của trục ra Vôn kế được gắn vào trục ra (trong một vài servo, Vôn kế chính là trục ra) Bằng cách này, vị trí của Vôn kế phản ánh chính xác vị trí trục ra của servo Ta đã biết Vôn kế hoạt động nhờ cung cấp một điện áp biến thiên cho mạch điều khiển,

Khi cần chạy bên trong Vôn kế chuyển động , điện thế sẽ thay đổi Mạch điều khiển trong servo

so sánh điện thế này với độ dài các xung số đưa vào và

phát“tín hiệu sai số” nếu điện thế không đúng Tín hiệu sai số này tỉ lệ với độ lệch giữa vị trí của Vôn kế và độ dài của tín hiệu vào Mạch điều khiển sẽ kết hợp tín hiệu sai số này để quay động

cơ Khi điện thế của Vôn kế và độ dài các xung số bằng nhau, tín hiệu sai số được loại bỏ và động cơ ngừng

Vôn kế thường được dùng như một cầu chia áp

Khi Vôn kế quay, cần chạy di chuyển dọc theo chiếu dài thanh điện trở

Tín hiệu ra của Vôn kế là một điện thế biến thiên từ 0 -5V

Vì vậy để điều khiển được động cơ thì vấn đề cốt lõi chính là làm sao ta tạo ra được các xung có tần số 50hz và có thời gian lên trong tầm nhỏ hơn 2ms Ta có 3 cách tạo xung như sau:

* Dùng hàm delay

* Dùng biến đếm và so sánh

* Dùng module PWM

Dùng hàm delay : một chân I/O của vi điều khiển xuất ra mức logic 1 ,sau đó delay 1 khoảng thời gian a (chính là thời gian mức cao của xung điều khiển động cơ mong muốn ) Tiếp theo đó kéo chân I/O đó xuống mức 0 Delay thêm 1 khoảng thời gian nữa cho đủ 20ms Đây là giải thuật đơn giản , thiết kế phần cứng sẽ gọn nhẹ vì chỉ dùng các chân I/O là đủ khả năng điều khiển được động cơ Mỗi chân I/O tương ứng với 1 chân điều khiển động cơ Chi phí thi công mạch rất thấp Tuy nhiên trong giải thuật này hầu hết thời gian vi điều khiển chẳng làm gì cả ( và cũng chắng có khả năng

xử lý công việc nào cả ) nên muốn sử dụng phương án này ta cần có thêm phần giao tiếp nó Tức có nghĩa là thiết kế phần điều khiển RC SERVO thành 1 module chuyên dùng để delay và có thêm 1 cổng để giao tiếp với module này Bên cạnh đó nếu dung nhiều động cơ ta phải so sánh các giá trị delay với nhau để biết được delay cho động

cơ nào trước , cho động cơ nào sau Vấn đề này gây khó khăn khi lập trình khi mà ta không thể viết thuật toán để sắp xếp được dữ liệu (vì hàm delay sử dụng quá nhiều )

Dùng giải thuật đếm và so sánh : ý tưởng của giải thuật này là tạo 1 biến đếm

khoảng 10us và liên tục đếm cho đến 20ms thì reset biến đếm Khi đó sẽ cho chân điều khiển RC SERVO lên 1 Biến đếm này sẽ được so sánh với các giá trị chính là các số chính là các giá trị các độ rộng xung lên của các xung điều khiển động cơ Nếu

1 so sánh >= xảy ra chân điều khiển sẽ được set xuống 0 Ưu điểm của giải thuật này

Trang 6

là dễ dàng cập nhật các số dùng để so sánh ( tức các góc quay mong muốn của động

cơ ) Nhưng khi chạy nhiều động cơ vì có nhiều so sánh diễn ra mà hàm ngắt dùng để tăng biến đếm lại có thời gian khá nhỏ nên sẽ làm cho ngõ ra điều khiển động cơ sai lệch , không chính xác Điều này khiến các động cơ sẽ bị rung lắc tại vị trí mong muốn

Dùng module PWM của vi điều khiển : đây là phương án cho ra xung ổn định nhất

đồng thời dễ dàng cho việc cập nhật các giá trị điều khiển Nhưng bắt buộc ta phải sử dụng kênh PWM với độ phân giải tối thiểu là 10 bits để đạt độ mịn tương đối chấp nhận được khi thay đổi các góc quay của động cơ Vì bản chất xung điều khiển là các xung có chu kỳ lớn mà duty cycle lại bé ( nhỏ hơn 10%) nên độ phân giải của kênh PWM phải lớn để mới thỏa mãn được 2 điều trên

Điều tốc RC Servo

Nguyên lý để điều tốc động cơ được thể hiện trên hình vẽ sau

Khi động cơ muốn quay đến 1 góc nào đó , khoảng góc từ góc muốn quay đến góc hiện tại sẽ được chia nhỏ thành n khoảng nhỏ.Động cơ quay từ khoảng 1 đến khoảng n Giữa mỗi khoảng khi động cơ quay xong nó sẽ nghỉ 1 khoảng thời gian nào đó.Bằng việc thay đổi khoảng thời gian nghỉ đó ta thay đổi được vận tốc của động cơ.Ở hình trên:vận tốc tương ứng của hình trên cùng là nhỏ nhất và của hình dưới cùng là lớn nhất , trong khoảng thời gian 18ms động cơ trên quay được 1 đoạn nhỏ , động cơ giữa quay được 2 đoạn nhỏ và động cơ dưới quay được 5 đoạn nhỏ

Giải thuật:

Trang 7

Trong giải thuật này sử dụng 1 ngắt thời gian 0.1s Khi ngắt xảy ra ta tăng biến đếm i và

và j.Biến i dùng để cập nhật khi nào thì kích cho động cơ chạy , biến j dùng để tính được kích động cơ chạy bao nhiêu lần dựa vào góc bắt đầu và kết thúc.Biến i sẽ cập nhật khi nào kích bằng cách tính số dư khi lấy i chia cho vận tốc

Ví dụ như trường hợp dưới cùng vận tốc=3 , trường hợp giữa vận tốc=6 , trường hợp trên cùng vận tốc=9.Một lưu ý quan trọng là thực ra vận tốc nói đến ở đây chỉ là biến dùng để cập nhật vận tốc thực sự (dùng để tính toán).Vận tốc thực sự của động cơ sẽ tỉ lệ nghịch với biến vận tốc được nói đến ở trên

Trang 8

Trong giải thuật này bắt buộc mạch sử dụng để kích động cơ chạy phải là mạch dung PWM.Bởi vì trong thời gian nhảy vào ngắt lúc đó sẽ kích động cơ chạy.Thời gian ngắt tương đối nhỏ nên việc chạy bằng delay và giải thuật so sánh không thực hiện được Đặc biệt nếu sử dụng

18 động cơ thì thời gian tiêu tốn trong ngắt tối thiểu là 18*20ms.Thời gian này lớn hơn rất nhiều lần thời gian ngắt 1ms.Dùng PWM thì thời gian này ta không quan tâm mà chỉ quan tâm đến thời gian lên của xung điều khiển của động cơ vì PWM chạy độc lập với vi điều khiển Tất nhiên thời gian tối thiểu giữa 2 lần cập nhật phải >=20ms.Điều đó được đảm bảo bằng cách chọn các biến vận tốc và khoảng thời gian ngắt thích hợp.Tuy nhiên nếu điều kiện này không đảm bảo thì

sẽ có những lần kích chạy động cơ bị bỏ lỡ ( thực ra là mạch điều khiển có kích nhưng mà động cơ không đáp ứng kịp) và góc kích sẽ được cộng dồn lại khi nào điều kiện này (thời gian 2 lần kích liên tiếp >=20ms) đảm bảo.Đây chính là ưu điểm tốt vượt trội mà mạch sử dụng PWM

có được so với mạch sử dụng 2 phương pháp so sánh và delay nêu ra ở trên

Mr Công Nghệ

Ngày đăng: 19/01/2022, 15:46

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w