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 động RG946 hãng TOWARD PRO ( Trung Quốc ) loại động có chất lượng tương đối tốt , thông số thỏa mãn yêu cầu đặt nhiều ứng dụng , giá thành chấp nhận Thông số động cơ: Bảng dòng tải đo đạc trực tiếp: (Các giá trị giá trị tương đối đo đạc thủ cơng VOM số mang tính chất dùng để ước lượng độ lớn dòng điện tiêu thụ động động hoạt động) Điều kiện đo Dịng điện trung bình Quay khơng tải 200mA – 300mA Có tải nhẹ Khoảng 400mA – 500mA Kẹt tải Khoảng 1.2A www.robotgiaoduc.com Dựa vào bảng giá trị ta nhận xét thấy dòng qua động tầm khoảng 200mA đến 500mA Khi kẹt tải dòng tăng lên khoảng 1,2A IC ổn áp tuyến tính áp phẳng IC ổn áp xung.Nhưng tổn hao lớn IC nguồn xung nhiều.Sẽ làm tỏa nhiệt lượng lớn vơ ích , đồng thời giảm thời gian hoạt động Thường IC ồn áp tuyến tính có loại ổn áp tải có dịng hoạt động nhỏ Vì tải động nên vấn đề cần nguồn có ngõ có áp phẳng khơng quan trọng việc nguồn có ngõ có dịng lớn Nên ta chọn IC nguồn xung cho việc thiết kế nguồn cho RC servo Và lý quan trọng hiệu suất loại IC cao làm tăng thời gian hoạt động ,giảm thiểu tối đa nhiệt sinh RC hoạt động Trong họ IC ổn áp nguồn xung seri LM25xx hãng National Semiconductor loại thông dụng thị trường Việt Nam Ta cần chọn IC có định mức dịng lớn tốt , tần số cao tốt để linh kiện gắn (tụ cuộn dây ) có kích thước tối thiểu Tuy nhiên ta sử dụng loại IC nguồn xung có khả chỉnh áp loại IC hãng MICREL có khả thích hợp Tập trung so sánh loại IC có dịng danh định lớn Tên IC Dịng điện (A) Tần số(Khz) Áp (V) Giá (VND) LM2576 52 ADJ 14.000 LM2596 150 ADJ 14.000 MIC29302 100 5V 28.000 Ta nhận thấy LM2596 ưu điểm loại LM2576 mà giá thành lại ngang 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 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 cách thức động hoạt động www.robotgiaoduc.com Bên RC servo 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 động servo R/C Servo bao gồm động cơ,một chuỗi bánh giảm tốc, mạch điều khiển vôn kế Động 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 động cấp nguồn DC (thường từ 4.8 – 7.2 V) Để quay động cơ, tín hiệu số gới tới mạch điều khiển Tín hiệu khởi động động , thông qua chuỗi bánh , nối với vôn kế Vị trí trục vơn kế cho biết vị trí trục servo Khi vơn kế đạt vị trí mong muốn , mạch điều khiển tắt động Động servo www.robotgiaoduc.com thiết kế để quay có giới hạn khơng phải quay liên tục động DC hay động bước Mặc dù ta chỉnh động servo R/C quay liên tục cơng dụng động servo đạt góc quay xác khoảng từ 90 – 180 độ Việc điều khiển ứng dụng để lái robot, di chuyển tay máy lên xuống, quay cảm biến để quét khắp phòng… Servo điều biến độ rộng xung Trục động servo R/C định vị nhờ vào kỹ thuật gọi điều biến độ rộng xung (PWM) Trong hệ thống này, servo đáp ứng dãy xung số ổn định Cụ thể hơn, mạch điều khiển đáp ứng tín hiệu số có xung biến đổi từ – ms Các xung gởi 50 lần/giây Chú ý số xung giây điều khiển servo mà chiều dài xung Servo đòi hỏi khoảng 30 – 60 xung/giây Nếu số qua thấp, độ xác cơng suất để trì servo giảm Với độ dài xung ms, servo điều khiển quay theo chiều (giả sử chiều kim đồng hồ ) Điều khiển vị trí trục động cách điều chế độ rộng xung Với độ dài xung xung ms, servo quay theo chiều ngược lại Kỹ thuật gọi tỉ lệ số - chuyển động servo tỉ lệ với tín hiệu số điều khiển Cơng suất cung cấp cho động bên servo tỉ lệ với độ lệch vị trí trục với vị trí cần đến Nếu servo gần vị trí đích, động truyền động với tốc độ thấp Điều đảm bảo động không vượt điểm định đến Nhưng servo xa vị trí đích truyền động với vận tốc tối đa để đến đích nhanh tốt Khi trục đến vị trí mong muốn, động giảm tốc Quá trình tưởng chừng phức tạp diễn khoảng thời gian ngắn - servo trung bình quay 60 vũng ẳ - ẵ giõy Vỡ dài xung thay đổi tùy theo hãng chế tạo nên ta phải chọn servo máy thu vô tuyến thuộc hãng để đảm bảo tương thích Đối với robot, ta phải làm vài thí nghiệm để xác định độ dài xung tối ưu Vai trị Vơn kế www.robotgiaoduc.com Vơn kế servo giữ vai trị việc cho phép định vị trí trục Vôn kế gắn vào trục (trong vài servo, Vơn kế trục ra) Bằng cách này, vị trí Vơn kế phản ánh xác vị trí trục servo Ta biết Vôn kế hoạt động nhờ cung cấp điện áp biến thiên cho mạch điều khiển, Khi cần chạy bên Vôn kế chuyển động , điện thay đổi Mạch điều khiển servo so sánh điện với độ dài xung số đưa vào phát“tín hiệu sai số” điện khơng Tín hiệu sai số tỉ lệ với độ lệch vị trí Vơn kế độ dài tín hiệu vào Mạch điều khiển kết hợp tín hiệu sai số để quay động Khi điện Vôn kế độ dài xung số nhau, tín hiệu sai số loại bỏ động ngừng Vôn kế thường dùng cầu chia áp Khi Vôn kế quay, cần chạy di chuyển dọc theo chiếu dài điện trở Tín hiệu Vôn kế điện biến thiên từ -5V Vì để điều khiển động vấn đề cốt lõi ta tạo xung có tần số 50hz có thời gian lên tầm nhỏ 2ms Ta có cách tạo xung sau: * Dùng hàm delay * Dùng biến đếm so sánh * Dùng module PWM Dùng hàm delay : chân I/O vi điều khiển xuất mức logic ,sau delay khoảng thời gian a (chính thời gian mức cao xung điều khiển động mong muốn ) Tiếp theo kéo chân I/O xuống mức Delay thêm khoảng thời gian cho đủ 20ms Đây giải thuật đơn giản , thiết kế phần cứng gọn nhẹ dùng chân I/O đủ khả điều khiển động Mỗi chân I/O tương ứng với chân điều khiển động Chi phí thi cơng mạch thấp Tuy nhiên giải thuật hầu hết thời gian vi điều khiển chẳng làm ( chắng có khả xử lý công việc ) nên muốn sử dụng phương án ta cần có thêm phần giao tiếp Tức có nghĩa thiết kế phần điều khiển RC SERVO thành module chuyên dùng để delay có thêm cổng để giao tiếp với module Bên cạnh dung nhiều động ta phải so sánh giá trị delay với để biết delay cho động trước , cho động sau Vấn đề gây khó khăn lập trình mà ta khơng thể viết thuật toán để xếp liệu (vì hàm delay sử dụng nhiều ) Dùng giải thuật đếm so sánh : ý tưởng giải thuật tạo biến đếm khoảng 10us liên tục đếm 20ms reset biến đếm Khi cho chân điều khiển RC SERVO lên Biến đếm so sánh với giá trị số giá trị độ rộng xung lên xung điều khiển động Nếu so sánh >= xảy chân điều khiển set xuống Ưu điểm giải thuật www.robotgiaoduc.com dễ dàng cập nhật số dùng để so sánh ( tức góc quay mong muốn động ) Nhưng chạy nhiều động có nhiều so sánh diễn mà hàm ngắt dùng để tăng biến đếm lại có thời gian nhỏ nên làm cho ngõ điều khiển động sai lệch , khơng xác Điều khiến động bị rung lắc vị trí mong muốn Dùng module PWM vi điều khiển : phương án cho xung ổn định đồng thời dễ dàng cho việc cập nhật 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 10 bits để đạt độ mịn tương đối chấp nhận thay đổi góc quay động Vì chất xung điều khiển xung có chu kỳ lớn mà duty cycle lại bé ( nhỏ 10%) nên độ phân giải kênh PWM phải lớn để thỏa mãn điều Điều tốc RC Servo Nguyên lý để điều tốc động thể hình vẽ sau Khi động muốn quay đến góc , khoảng góc từ góc muốn quay đến góc chia nhỏ thành n khoảng nhỏ.Động quay từ khoảng đến khoảng n Giữa khoảng động quay xong nghỉ khoảng thời gian đó.Bằng việc thay đổi khoảng thời gian nghỉ ta thay đổi vận tốc động cơ.Ở hình trên:vận tốc tương ứng hình nhỏ hình lớn , khoảng thời gian 18ms động quay đoạn nhỏ , động quay đoạn nhỏ động quay đoạn nhỏ Giải thuật: www.robotgiaoduc.com Trong giải thuật sử dụng ngắt thời gian 0.1s Khi ngắt xảy ta tăng biến đếm i và j.Biến i dùng để cập nhật kích cho động chạy , biến j dùng để tính kích động chạy lần dựa vào góc bắt đầu kết thúc.Biến i cập nhật kích cách tính số dư lấy i chia cho vận tốc Ví dụ trường hợp vận tốc=3 , trường hợp vận tốc=6 , trường hợp vận tốc=9.Một lưu ý quan trọng thực vận tốc nói đến biến dùng để cập nhật vận tốc thực (dùng để tính toán).Vận tốc thực động tỉ lệ nghịch với biến vận tốc nói đến www.robotgiaoduc.com Trong giải thuật bắt buộc mạch sử dụng để kích động chạy phải mạch dung PWM.Bởi thời gian nhảy vào ngắt lúc kích động chạy.Thời gian ngắt tương đối nhỏ nên việc chạy delay giải thuật so sánh không thực Đặc biệt sử dụng 18 động thời gian tiêu tốn ngắt tối thiểu 18*20ms.Thời gian lớn nhiều lần thời gian ngắt 1ms.Dùng PWM thời gian ta khơng quan tâm mà quan tâm đến thời gian lên xung điều khiển động PWM chạy độc lập với vi điều khiển Tất nhiên thời gian tối thiểu lần cập nhật phải >=20ms.Điều đảm bảo cách chọn biến vận tốc khoảng thời gian ngắt thích hợp.Tuy nhiên điều kiện khơng đảm bảo có lần kích chạy động bị bỏ lỡ ( thực mạch điều khiển có kích mà động khơng đáp ứng kịp) góc kích cộng dồn lại điều kiện (thời gian lần kích liên tiếp >=20ms) đảm bảo.Đây ưu điểm tốt vượt trội mà mạch sử dụng PWM có so với mạch sử dụng phương pháp so sánh delay nêu Mr Công Nghệ www.robotgiaoduc.com ... điều khiển động Chi phí thi công mạch thấp Tuy nhiên giải thuật hầu hết thời gian vi điều khiển chẳng làm ( chắng có khả xử lý công việc ) nên muốn sử dụng phương án ta cần có thêm phần giao... Nếu so sánh >= xảy chân điều khiển set xuống Ưu điểm giải thuật www.robotgiaoduc.com dễ dàng cập nhật số dùng để so sánh ( tức góc quay mong muốn động ) Nhưng chạy nhiều động có nhiều so sánh diễn... vận tốc=6 , trường hợp vận tốc=9.Một lưu ý quan trọng thực vận tốc nói đến biến dùng để cập nhật vận tốc thực (dùng để tính tốn).Vận tốc thực động tỉ lệ nghịch với biến vận tốc nói đến www.robotgiaoduc.com