Thiết kế hệ thống điều khiển động cơ một chiều theo kĩ thuật PWM có phản hồi dòng điện trên nền vi điều khiển ATmega16

83 852 14
Thiết kế hệ thống điều khiển động cơ một chiều theo kĩ thuật PWM có phản hồi dòng điện trên nền vi điều khiển  ATmega16

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thiết kế hệ thống điều khiển động cơ một chiều theo kĩ thuật PWM có phản hồi dòng điện trên nền vi điều khiển ATmega16

MỤC LỤC Trang Lời mở đầu Chương Đặt vấn đề 1.1 Bài toán điều khiển động chiều 1.1.1 Động điện chiều kích từ nam châm vĩnh cửu 1.1.2 Mô hình hóa động chiều 1.1.3 Cấu trúc điều khiển phản hồi dòng điện 1.1.4 Giải pháp thiết kế điều khiển số 10 1.2 Kĩ thuật điều chế độ rộng xung PWM mạch cầu H 11 1.2.1 Kĩ thuật điều chế độ rộng xung PWM 11 1.2.2 Mạch cầu H 12 1.3 Đề xuất thành phần hệ thống điều khiển động chiều 13 Chương Giới thiệu chung thành phần hệ thống 15 2.1 Nguồn adapter 15 2.2 Động có gắn encoder 15 2.2.1 Động thực nghiệm 15 2.2.2 Encoder 16 2.3 Driver L298 17 2.4 Điện trở shunt 19 2.5 Opamp LM324 20 2.6 Các thiết bị nhập/xuất liệu 21 2.6.1 Màn hình LCD 16x2 21 2.6.2 Bàn phím nút nhấn 23 2.6.3 Cổng truyền thông RS232 25 2.6.4 Chuẩn giao tiếp SPI mạch nạp ISP 28 2.7 Vi điều khiển ATmega16 30 2.7.1 Giới thiệu họ vi điều khiển AVR 30 2.7.2 Kiến trúc AVR 31 2.7.3 ATmega16 35 Chương Thiết kế mạch phần cứng 39 3.1 Các cổng vào/ra mạch phần cứng 39 3.2 Mạch driver L298 39 3.3 Đo tốc độ động 40 Trang 3.4 Mạch đo dòng phản hồi 41 3.5 Mạch bảo vệ dòng 42 3.6 Khối nút nhấn hiển thị 43 3.7 Mạch tạo dao động thạch anh 44 3.8 Sơ đồ nguyên lý tổng hợp 44 Chương Thiết kế phần mềm 45 4.1 Tìm hiểu module ATmega16 sử dụng 45 4.1.1 Các ngắt ATmega16 45 4.1.2 Điều chế độ rộng xung (PWM) với Timer/Counter1 (T/C1) 47 4.1.3 Tạo chu kỳ trích mẫu với Timer đếm xung với Counter0 53 4.1.4 Bộ chuyển đổi tương tự - số (ADC) 56 4.1.5 Đo tần số tín hiệu dạng xung với Input Capture 61 4.1.6 Giao tiếp truyền thông SPI UART 63 4.2 Xây dựng giao diện đồ họa người dùng MATLAB 68 4.3 Cài đặt phần mềm cho vi điều khiển 72 4.3.1 Thuật toán điều chế điện áp 72 4.3.2 Lưu đồ thuật toán điều khiển 72 4.3.3 Lập trình C cho AVR với phần mềm CodeVision AVR 73 Chương Kết đạt 75 5.1 Thực nghiệm 75 5.1.1 Phương án thực nghiệm 75 5.1.2 Thí nghiệm - Kiểm tra phép đo dòng 76 5.1.3 Thí nghiệm - Nhận dạng hàm truyền đối tượng vòng 76 5.1.4 Thí nghiệm - Nhận dạng hàm truyền đối tượng vòng 77 5.1.5 Kết thực nghiệm 78 5.2 Đánh giá bàn luận 79 5.2.1 Các kết đạt 79 5.2.2 Hạn chế 79 5.3 Tổng kết đồ án 80 Tài liệu tham khảo 81 PHỤ LỤC 82 Sản phẩm mạch phần cứng 82 Trang Lời mở đầu Ngày nay, dòng điện xoay chiều sử dụng rộng rãi, với xuất ngày phổ biến loại máy điện xoay chiều pha sản xuất đại Mặc dù vậy, động điện chiều (ĐCMC) đóng vai trò quan trọng nhờ ưu điểm bật đặc tính làm việc, khả điều chỉnh tốc độ phẳng phạm vi rộng, khả mở máy lớn đặc biệt khả tải Trên góc độ nghiên cứu, phương pháp điều khiển truyền động loại máy điện xoay chiều sử dụng chủ yếu điều khiển vector theo nguyên lý tựa từ thông rotor, dựa sở nguyên lý điều khiển ĐCMC Chính vậy, điều khiển ĐCMC toán quan trọng nhất, bước đệm để nhà nghiên cứu ứng dụng tiếp cận với toán điều khiển hệ thống truyền động phức tạp Nguyên tắc điều chỉnh động cơ điều chỉnh điện áp đặt lên đầu mạch phần ứng (tạo dòng điện sinh mômen) Với phát triển nhanh chóng công nghệ bán dẫn, phương pháp điều chỉnh điện áp đầu tải sử dụng phổ biến kĩ thuật điều chế độ rộng xung (PWM) nhằm tận dụng khả ưu việt hệ thống điều khiển số đại so với cấu điều áp cổ điển Nhiệm vụ người kĩ sư thiết kế giải thuật để điều khiển tính toán giá trị điện áp cần điều chế Với toán điều khiển ĐCMC, nhiều luật điều khiển nghiên cứu áp dụng, dù PID phương pháp ưa chuộng tính đơn giản hiệu Chính lí trên, sinh viên ngành điều khiển tự động xác định hướng nghiên cứu năm học cuối tập trung vào lĩnh vực điều khiển loại máy điện, chúng em định thực Đồ án với đề tài “Thiết kế hệ thống điều khiển động chiều theo kĩ thuật PWM có phản hồi dòng điện vi điều khiển ATmega16” với mong muốn có kiến thức kĩ thực tế phục vụ cho trình học tập nghiên cứu ứng dụng, vận dụng tổng hợp lý thuyết học để tạo sản phẩm hoàn chỉnh, đáp ứng yêu cầu kĩ thuật với chi phí thấp Quyển đồ án tổng hợp nội dung cần thiết đóng vai trò quan trọng việc định hướng thiết kế, tổng hợp trình tìm hiểu, trao đổi, phân tích giải vấn đề thành viên nhóm, ghi nhận đóng góp cá nhân vào công việc chung Quyển báo cáo đồ án chia thành chương: - Chương Đặt vấn đề Chương đề cập đến trọng tâm toán điều khiển động cơ, trả lời câu hỏi phải phản hồi dòng điện, phải điều chế độ rộng xung, lý thuyết áp dụng với toán điều khiển mômen tốc độ quay, từ đề xuất cấu hình hệ thống cần thiết kế - Chương Giới thiệu chung thành phần hệ thống Trên sở cấu hình đề xuất, tìm hiểu đặc tính kĩ thuật giải pháp sử dụng chúng thiết kế - Chương Thiết kế mạch phần cứng Trang Với tìm hiểu trình bày Chương 2, thiết bị kết nối với vào mạch phần cứng tổng hợp mà kết cuối thể sơ đồ nguyên lý trước chuyển sang thiết kế mạch in - Chương Thiết kế phần mềm Nhiệm vụ chương lập trình, cài đặt thuật toán điều khiển động vào vi điều khiển ATmega16, với tính hỗ trợ giao diện đồ họa người dùng, nạp qua ISP truyền tin qua cổng UART - Chương Kết đạt Nội dung chương trình bày tiến trình thực nghiệm kết quả, từ đưa đánh giá bàn luận, số hạn chế đồ án Để có thực thành công đồ án, chúng em xin gửi lời cảm ơn chân thành đến TS Vũ Vân Hà, người có hướng dẫn, giúp đỡ tận tình cho chúng em hiểu biết thực tế hỗ trợ trình làm mạch phần cứng Mặc dù nhóm nỗ lực thực đồ án với thái độ nghiêm túc để tạo kết tốt nhất, mạch thành phẩm báo cáo đồ án khó tránh khỏi thiết sót, hạn chế Chúng em mong nhận thêm góp ý, bảo quý báu từ thầy cô để làm tốt với sản phẩm sau Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực hiện, Đặng Đức Công, Đinh Văn Hòa, Trần Vũ Trung, KSTN ĐKTĐ K55 Trang Chương Đặt vấn đề 1.1 Bài toán điều khiển động chiều 1.1.1 Động điện chiều kích từ nam châm vĩnh cửu Động điện chiều (ĐCMC) kích từ nam châm vĩnh cửu loại động chiều kích từ độc lập mà phần cảm stator nam châm vĩnh cửu Phần ứng rotor có cuộn dây quấn xung quanh lõi thép nối với nguồn điện chiều Một phần quan trọng khác ĐCMC phận chỉnh lưu, có nhiệm vụ đổi chiều dòng điện giúp cho chuyển động quay rotor liên tục, thông thường phận gồm có cổ góp chổi than tiếp xúc với cổ góp Cấu tạo nguyên tắc hoạt động ĐCMC minh họa Hình Pha 1: Pha 2: Pha 3: Dòng điện chạy mạch phần ứng sinh từ trường rotor, từ trường tương tác với từ trường nam châm sinh mômen làm rotor quay Khi mặt cuộn dây song song với đường sức từ, mômen 0, rotor tiếp tục quay theo quán tính Sau vị trí mà mômen 0, phận chỉnh lưu đảo chiều dòng điện dây quấn để mômen quay liên tục chiều Hình Cấu tạo chu trình pha làm việc ĐCMC Tốc độ quay mục tiêu điều khiển toán điều khiển động Các kĩ thuật điều khiển tốc độ quay ĐCMC thường tập trung vào việc tác động đến điện áp đặt đầu điện trở mạch phần ứng Trong đó, kĩ thuật điều chế độ rộng xung điện áp sử dụng biến đổi điện tử công suất phổ biến nhờ khả tác động nhanh đặc biệt điều khiển mềm vi xử lý (điều khiển số) Trang 1.1.2 Mô hình hóa động chiều Theo [1] phương trình toán học mô tả ĐCMC cho công thức: u A = e A + RAiA + LA di A dt - Điện áp phần ứng: - Mômen quay: - Phương trình chuyển động: - Sức điện động cảm ứng: eA = keψ n (4) - Hằng số động cơ: ke = 2π kM (5) - Hằng số thời gian phần ứng: LA RA (6) mM = kMψ iA dn = ( mM − mT ) dt 2π J TA = (1) (2) (3) Biến đổi Laplace phương trình trên, ta thu mô hình dạng sơ đồ khối mô tả ĐCMC sau: Hình Mô hình toán học động chiều Hàm truyền đối tượng tốc độ động cơ: 1 n ( s) RA + sTA 2π Js GĐC ( s ) = = 1 uA ( s ) + k k ψ e M RA + sTA 2π Js kMψ = keψ kMψ = 2π RA J 2π RATA J 2π RATA Js + 2π RA Js + ke k Mψ 1+ s+ s ke k Mψ ke k Mψ 2 Do mô hình đối tượng tốc độ ĐCMC có hàm truyền dạng khâu bậc hai Dựa hiểu biết đầy đủ thông số mô hình, ta dễ dàng thiết kế điều khiển PID cho chất lượng điều khiển tốt Trong thực tế, động chiều bán thị trường kèm theo bảng thông số chi tiết, có sơ sài Do việc xác định đầy đủ tất tham số mô hình việc làm khó Ta thường dễ dàng đo giá trị điện trở, điện cảm phần ứng, việc nhận dạng mô hình đầy đủ phục vụ cho công việc tổng hợp Trang điều khiển tiến hành phương pháp khảo sát đáp ứng xung thực nghiệm, với hỗ trợ công cụ System Identification Toolbox Matlab Khi đó, cần thiết phải có thêm cổng truyền thông để hệ thống giao tiếp với máy tính 1.1.3 Cấu trúc điều khiển phản hồi dòng điện Phương trình chuyển động (3) cho thấy quan hệ trực tiếp mômen quay tốc độ Phương trình (2) cho thấy mối quan hệ tỉ lệ mômen quay mM dòng điện phần ứng i A ĐCMC kích thích nam cham vĩnh cửu với từ thông kích từ ψ số Như việc điều khiển i A cho phép ta áp đặt tức thời mômen quay mM qua đáp ứng tốc độ n nhanh Đây ý tưởng cấu trúc điều khiển tầng (cascade control) kinh điển hệ truyền động: gồm hai vòng phân cấp với khâu điều chỉnh tốc độ quay vòng khâu điều chỉnh dòng phần (Hình 3) Hình Sơ đồ cấu trúc điều khiển động chiều Cả khâu điều chỉnh Hình thiết kế theo cấu trúc PI để đảm bảo đáp ứng nhanh triệt tiêu sai lệch tĩnh Các thiết kế điều khiển cho ĐCMC thường dựa vào phương pháp (tiêu chuẩn tối ưu) tối ưu module tối ưu đối xứng Trong mục tiêu phương pháp tối ưu module giá trị thực (đo được) bám theo giá trị đặt xác (trong dải tần rộng nhất) có thể, phương pháp tối ưu đối xứng mong muốn đưa giá trị thực trở lại với giá trị đặt nhanh sau bị đánh bật khỏi vị trí cân (nâng cao độ trữ ổn định cho hệ kín) Vòng điều chỉnh bên trong, đối tượng phần điện có động học biến đổi nhanh, điều khiển vòng thường thiết kế theo phương pháp tối ưu module Vòng điều chỉnh bên ngoài, đối tượng phần có động học biến đổi chậm hơn, lại thường chịu ảnh hưởng thay đổi đột ngột nhiễu tải, ta sử dụng phương pháp tối ưu đối xứng cho điều khiển tốc độ quay Lưu ý rằng, tham số điều khiển tính toán theo hai phương pháp dựa mô hình thu từ liệu đo đạc phép ước lượng, bên cạnh đặc tính cơ-điện hệ thống không hoàn hảo lý thuyết có sai khác tùy vào ứng dụng cụ thể Do đó, thông số điều khiển thu giá trị đáng tin cậy cài đặt ban đầu, giá trị cần chỉnh định thêm trình thực nghiệm Để thiết kế điều khiển dòng, sức điện động cảm ứng eA thường bỏ qua, đó, từ (1) Hình 3, hàm truyền mạch điện phần ứng khâu quán tính bậc hai: Trang Gi ( s ) = Trong đó, iA ( s ) 1 1/ RA = = * u A ( s) + sTt RA + sTA (1 + sTt )(1 + sTA ) (7) hàm truyền biến đổi Đối với biến đổi sử dụng van tần + sTt số đóng cắt cao, động học khâu nhanh bỏ qua, tức coi Tt ≈ , u A = u*A Khi đó, hàm truyền mạch phần ứng xấp xỉ khâu quán tính bậc nhất: Gi ( s) = iA ( s ) iA ( s ) 1/ RA = = u *A ( s ) u A ( s ) + sTA (8) Bộ điều khiển dòng thiết kế theo phương pháp tối ưu module khâu tích phân I: K Pi = K 1 R = = A ; Gic ( s ) = Pi KT T 2TA s A RA (9) Với điều khiển dòng Gic ( s ) thiết kế trên, vòng điều chỉnh dòng (vòng kín) có hàm truyền sau: Giscl = iA ( s ) 1 = ≈ * 2 iA ( s ) + 2TA s + 2TA s + 2TA s (10) Cùng với hàm truyền đạt phần cơ, đối tượng điều khiển tổng quát lúc khâu quán tính-tích phân bậc nhất: Gn ( s ) = Trong đó, TM = kM ψ 1 = 2π Js + 2TA s TM s (1 + Tσ s ) (11) 2π J số thời gian phần cơ, Tσ = 2TA số thời gian thay kM ψ vòng Áp dụng phương pháp tối ưu đối xứng, ta thu tham số điều khiển tốc độ: TIn = 4Tσ K Pn = TM 2Tσ (12)    Gnc ( s) = K Pn 1 +  TIn s  Trang 1.1.4 Giải pháp thiết kế điều khiển số 1.1.4.1 Thuật toán PID số PID coi điều khiển chuẩn công nghiệp tính đơn giản hiệu làm việc Luật PID miền thời gian (liên tục) mô tả công thức dạng chuẩn tắc:  u (t ) = K p e (t ) +  Ti e (τ ) d τ + Td de (t )  dt  (13) u (t ) = K p e (t ) + K i ∫ e (τ ) d τ + K d de (t ) dt (14) t ∫ Hoặc dạng song song: t Do điều khiển số làm việc với tín hiệu gián đoạn (discrete-time) theo thời gian trích mẫu, nên để cài đặt luật PID vào vi điều khiển, ta phải chuyển công thức (13) dạng công thức sai phân phép xấp xỉ khâu tích phân (I) khâu vi phân (D) Các thuật toán PID sử dụng điều khiển số khác nỗ lực thực phép xấp xỉ thành phần này, tức khác độ xác Thuật toán PID số đơn giản sử dụng công thức sai phân sau [2]: uk = uk −1 + r0 ek + r1ek −1 + r2 ek −2 (15)  2T  T  T T Trong đó, r0 = K p 1 + d  , r1 = −K p 1 + d −  , r2 = K p d , với T chu kỳ trích    T Ti  T T  mẫu tín hiệu Công thức cho số trường hợp riêng: - Bộ điều khiển I: uk = uk −1 + r1ek −1 (16) r1 = TK i - Bộ điều khiển PI: uk = uk −1 + r0ek + r1ek −1  T r0 = K p , r1 = −K p 1−   Ti  (17) 1.1.4.2 Giải pháp điều khiển số thời gian mạch điện phần ứng nhỏ Bộ điều khiển thực tế khoảng thời gian để xử lí tín hiệu tính toán trước đưa tín hiệu điều khiển, tức tác động điều khiển chậm so với thời điểm bắt đầu trích mẫu Nếu khoảng thời gian trễ điều khiển nhỏ 1/10 số thời gian bé đối tượng điều khiển, ta bỏ qua thuật toán điều khiển số đảm bảo cho chất lượng mong muốn Nhưng đối tượng có thành phần động học biến đổi Trang 10 nhanh so với khả tính toán vi điều khiển, số thời gian nhỏ tương ứng bỏ qua thiết kế điều khiển, ta khả tổng hợp vòng điều chỉnh kín mà động học lại nhanh chu kỳ lấy mẫu Trong nhiều ứng dụng điều khiển động cơ, mạch phần ứng có điện cảm nhỏ so với điện trở, dẫn đến số thời gian điện nhỏ cỡ vài trăm μs, thời gian để thực thi lệnh tính toán trước đưa tín hiệu điều khiển (cụ thể duty cycle PWM) lớn đáng kể (cỡ vài ms) Khi đó, cấu trúc điều khiển dòng lựa chọn khâu tích phân (I), công thức (9) không sử dụng để tính hệ số K i nữa, mà thay vào đó, hàm truyền đạt vòng điều chỉnh dòng trở thành khâu quán tính bậc với số thời gian tỉ lệ nghịch với K i , nghĩa K i lớn dòng điện bám tín hiệu đặt nhanh Tuy nhiên, K i lớn dẫn đến nguy đưa điện áp điều khiển nhanh chóng vào vũng bão hòa (giá trị giới hạn điện áp), tức vùng mà đối tượng điều khiển không tuyến tính nữa, tính ổn định hệ kín không đảm bảo Do đó, K i nên chọn vừa phải không yêu cầu đáp ứng điều khiển mômen nhanh Hàm truyền đạt tổng hợp đối tượng vòng khâu quán tính – tích phân bậc nhất, điều khiển tốc độ lựa chọn theo cấu trúc PI thiết kế theo nguyên lý tối ưu đối xứng công thức (12) 1.2 Kĩ thuật điều chế độ rộng xung PWM mạch cầu H 1.2.1 Kĩ thuật điều chế độ rộng xung PWM Một phương pháp đơn giản mà hiệu để thay đổi điện áp đặt lên phần ứng động sử dụng kĩ thuật điều chế độ rộng xung (PWM – Pulse Width Modulation) Hình Nguyên lí điều chế độ rộng xung PWM Nhận thấy Hình 4, giá trị trung bình điện áp tải: U t = U max Ton Duty cycle = Amplitude * Ton + Toff period (18) Trang 11 Hình 50 Cửa sổ Property Inspector Việc xử lý thao tác điều khiển tác động vào đối tượng thực qua lập trình m-file với hàm Callback, tương tự hàm phục vụ ngắt vi điều khiển Ví dụ hàm Callback Hình 51 Hình 51 Minh họa hàm Callback Trang 70 Hàm có số tham số quan trọng, là: • hObject: handle điều khiển txt_sp, dùng để truy xuất liệu đối tượng txt_sp • eventdata: liệu kiện, tham số để dự trữ cho số mục đích khác • handles: cấu trúc toàn cục chứa tất điều khiển liệu người dùng, truy xuất liệu tất đối tượng biến toàn cục khác Thông qua việc sử dụng handles thuộc tính tag đối tượng, ta sử dụng để truy xuất đến liệu String đối tượng đưa vào đối tượng khác lệnh get set Trong ứng dụng này, ta sử dụng công cụ GUIDE MATLAB để thiết kế giao diện nhằm giao tiếp với mạch vi điều khiển, đồng thời thực nhận dạng đối tượng, hiển thị phân tích, đánh giá chất lượng điều khiển Hình 52 Giao diện chương trình phục vụ nhận dạng đánh giá kết Giao diện GUI thiết kế bao gồm phần: • • • Cấu hình kết nối RS232 với vi điều khiển Hiển thị thông tin nhận gửi với vi điều khiển Cài đặt tham số cho điều khiển truyền xuống Khi kết nối cổng COM vào máy tính, ta ấn nút Scan để tìm cổng COM tương ứng, tùy chỉnh cấu hình cho kết nối ấn Connect Sau kết nối thành công, GUI báo Connected cho phép ấn nút Start để khởi động động bắt đầu thu thập liệu để phục vụ mục đích nhận dạng đánh giá chất lượng điều khiển Dữ liệu ghi lại vào file text xử lý với m-file kèm với GUI Thuật toán nhận dạng tính tham số điều khiển ta sử dụng công cụ MATLAB Identification Toolbox PID Tuner Việc hiển thị kết quả, đánh giá kết thực thông qua m-file hiển thị lên figure Trang 71 4.3 Cài đặt phần mềm cho vi điều khiển 4.3.1 Thuật toán điều chế điện áp Ta có kênh dùng để xuất xung điều chế, OCA1 OCB1, tương ứng với tín hiệu DIn1 DIn2 điều khiển L298 Từ sơ đồ kết nối phần cứng L298 (Hình 12 Hình 34), ta có quan hệ trạng thái lôgic tín hiệu DIn1 DIn2 với điện áp đặt vào đầu động (DC+ DC-): Bảng 19 Quan hệ trạng thái lôgic DIn1 DIn2 với điện áp đặt vào đầu động DIn1 DIn2 DC+ DC- UA 0 GND GND 0V +12V GND +12V 1 +12V +12V 0V GND +12V –12V DEn = Từ bảng trên, ta có phương án điều chế chia theo trường hợp: • Nếu điện áp cần điều chế có giá trị dương, ta cần sử dụng mức điện áp 0V +12V, tín hiệu DIn2 gán 0, DIn1 tín hiệu PWM với tỉ lệ duty UA cycle U max • Nếu điện áp cần điều chế có giá trị âm, ta cần sử dụng mức điện áp 0V –12V, tín hiệu DIn2 gán 1, DIn1 tín hiệu PWM với tỉ lệ duty U cycle 1− A U max Như vậy, chân OCB1 sử dụng đầu thông thường xuất tín hiệu logic DIn2, chân OCA1 cấu hình để xuất tín hiệu xung điều chế DIn1 4.3.2 Lưu đồ thuật toán điều khiển Chương trình điều khiển gồm chương trình bản: - Chương trình phục vụ ngắt Timer2: Đây chương trình quan trọng chứa thuật toán điều khiển Nhiệm vụ chương trình tính toán điện áp cần điều chế theo luật PID từ giá trị đặt giá trị đo dòng điện tốc độ quay, sau gán giá trị phù hợp cho ghi OCRA1 để điều chế điện áp - Chương trình phục vụ ngắt 2: Trang 72 Mỗi có xung Encoder A, chương trình gọi để tăng giảm biến đếm xung tùy theo chiều quay động thuận hay ngược (kiếm tra mức lôgic kênh B) - Chương trình chính: Phần quan trọng chương trình vòng lặp vô tận mà công việc CPU vòng lặp kiểm tra nút nhấn theo kiểu hỏi dò (polling) hiển thị kết cần thiết lên LCD Hình 53 Lưu đồ giải thuật điều khiển động chiều 4.3.3 Lập trình C cho AVR với phần mềm CodeVision AVR CodeVisionAVR (CVAVR) công cụ phần mềm sử dụng cho việc soạn thảo biên dịch chương trình dành cho vi điều khiển thuộc họ AVR ngôn ngữ C Phần mềm viết chuyên nghiệp hướng tới người sử dụng đơn giản, hỗ trợ cao thư viện có sẵn Ngoài việc hỗ trợ lập trình biên dịch, CVAVR cung cấp thêm công cụ gỡ rối (Debugger), Terminal phục vụ cho kiểm tra truyền thông, LCD Vision phục vụ việc thiết kế font, chữ, đồ họa hiên thị hình LCD Ngoài CVAVR hỗ trợ nạp chip trực tiếp từ phần mềm thông qua số loại mạch nạp thông dụng STK500, AVRISP… Dưới ta tìm hiểu cách sử dụng CVAVR cho việc lập trình C cho AVR Tạo Project CodeVisionAVR Sau cài đặt CodeVision, desktop xuất icon phần mềm, bạn mở lên tiến hành làm theo bước sau đây: Trang 73 - Tạo Project Chọn menu File chọn New, chọn Project chọn Yes để sử dụng CodeWizardAVR - Tiếp theo, chọn loại chip sử dụng Project Ở ta sử dụng chip ATmega nên chọn dòng - Sau ấn OK cửa sổ CodeWizardAVR xuất bao gồm cài đặt sau Ta thực thiết lập thông số mạch phần cứng sử dụng Project Đầu tiên ta lựa chọn tên chip sử dụng, tần số thạch anh Thông thường, ta thiết lập thông số khác như: Cài đặt cổng (Port) làm cổng vào cổng trạng thái cổng theo sơ đồ nguyên lý, Cài đặt ngắt ngoài, Các định thời, Chuyển đổi ADC, Các giao thức truyền thông, hiển thị LCD Ngoài số thiết lập mà Wizard hỗ trợ thêm, sử dụng cho mục đích đặc biệt Thiết lập xong ta lựa chọn Save and Generate code Chương trình tự động lưu sinh code hỗ trợ trình lập trình - Sau tạo xong Project mới, ta tiến hành lập trình cho AVR ngôn ngữ C số IDE hỗ trợ lập trình khác Trang 74 Chương Kết đạt 5.1 Thực nghiệm 5.1.1 Phương án thực nghiệm So với cấu trúc có vòng điều khiển tốc độ, cấu trúc điều khiển tầng có phản hồi dòng điện hứa hẹn đem lại chất lượng điều khiển tốt nhờ khả áp đặt nhanh mômen quay cách trực tiếp, đòi hỏi trình tổng hợp điều khiển phức tạp hơn, với vòng điều khiển dòng bên đóng vai trò then chốt Đầu tiên, ta cần kiểm tra độ tin cậy phép đo, đảm bảo giá trị phản hồi xác trước bàn đến vấn đề tổng hợp điều khiển Tiếp theo tiến hành đo giá trị điện trở điện cảm mạch phần ứng để xác định hàm truyền đối tượng dòng Bộ điều khiển dòng khâu tích phân đưa hàm truyền vòng điều chỉnh dòng điện thành khâu quán tính bậc nhất, với khâu tích phân phần (bỏ qua ma sát ổ trục) tạo thành đối tượng điều khiển vòng có dạng khâu quán tính - tích phân bậc Hàm truyền đối tượng vòng nhận dạng từ đáp ứng xung thực nghiệm tốc độ cho tín hiệu đặt dòng thay đổi dạng bước nhảy Sau cùng, điều khiển vòng có cấu trúc PI xác định theo phương pháp tối ưu đối xứng sở kết nhận dạng thu Như vậy, trình tổng hợp điều khiển cần thí nghiệm sau: - Thí nghiệm 1: Kiểm tra phép đo dòng - Thí nghiệm 2: Nhận dạng hàm truyền đối tượng vòng - Thí nghiệm 3: Nhận dạng hàm truyền đối tượng vòng Cách thức tiến hành kết đạt thí nghiệm trình bày mục Trang 75 5.1.2 Thí nghiệm - Kiểm tra phép đo dòng Trị số dòng điện thực tế liên hệ với trị số đọc từ ADC công thức: I real = aI ADC + b (21) Trong đó, a hệ số quy đổi tỉ lệ tạo điện trở shunt tầng khuếch đại, b sai số phép khuếch đại gây độ lệch offset cực đầu vào OPAMP thực tế Để kiểm tra tính xác phép đo dòng xác định hệ số quy đổi (21) phục vụ cho công tác tính toán điều khiển, nhóm thay tải động tải điện trở khác điện áp rơi đầu điện trở tải để tính giá trị dòng tải thực sự, sau đối chiếu với liệu mà ADC đọc tương ứng Kết phép đo thực nghiệm ghi lại Bảng 20 Bảng 20 Bảng số liệu đo dòng thực nghiệm Điện áp tải Tải Dòng tải (UR [V]) (R [Ω]) (IR [A]= UR/R) 11.3 100 0.113 71 8.0 100 0.080 56 7.2 50 0.144 92 6.6 33.3 0.198 124 6.2 25 0.248 152 STT Số đọc từ ADC Bằng phương pháp toán học, từ số liệu thực nghiệm ta xác định tham số: a = 1.71⋅10−3 b = −13.1⋅10−3 (22) Nhận xét: Độ lệch offset vào khoảng 15mA OPAMP chọn LM324 loại OPAMP có độ xác cao hệ số khuếch đại mạch tương đối lớn, nhiên trị số nhỏ không ảnh hưởng đáng kể đến tính toán Phép đo dòng nói chung xác phù hợp với mạch thực tế 5.1.3 Thí nghiệm - Nhận dạng hàm truyền đối tượng vòng Kết đo điện trở điện cảm mạch điện phần ứng: RA = 10Ω LA = 3mH Hằng số thời gian điện: TA = LA = 0.3ms , trị số nhỏ so với chu kỳ trích mẫu RA nhỏ tạo để tính toán điều khiển với ATmega16 Do vậy, việc thiết kế điều khiển vòng thiết kế mục 1.1.4.2 đề cập Trang 76 5.1.4 Thí nghiệm - Nhận dạng hàm truyền đối tượng vòng Sau tổng hợp vòng với điều khiển khâu tích phân có hệ số ri1 = , ta nhận dạng vòng thông qua đồ thị đáp ứng xung kích thích dạng bước nhảy i*A = 20 (trị số ADC), kết thu Hình 54 450 400 350 300 250 200 150 100 50 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 Hình 54 Đồ thị đáp ứng xung vòng (hở) Đối tượng tổng hợp vòng khâu tích phân – quán tính bậc nhất: Gn ( s ) = Kn s (1 + Tn s) Bằng phương pháp kẻ tiếp tuyến, ta xác định (một cách gần đúng) hệ số: K n = 75 , Tn = 0.1 Chu kỳ trích mẫu chọn: Ts = 18.048 ms Bộ điều khiển tốc độ (vòng ngoài) thiết kế theo luật PI tối ưu đối xứng: Kp = 1 = = 0.067 K nTn ⋅ 75 ⋅ 0.1 Ti = 4Tn = ⋅ 0.1 = 0.4 rn = K p = 0.067  T rn1 = −K p 1− s  = −0.064  Ti  Trang 77 5.1.5 Kết thực nghiệm Bộ điều khiển với thông số tính toán cài đặt vi điều khiển ATmega16 theo thuật toán trình bày lưu đồ Hình 53 Số liệu đo tốc độ động trình nhận dạng vòng hở điều khiển vòng kín hiển thị LCD truyền lên máy tính thông qua cổng UART, với giao diện người dùng xây dựng mục 4.2 Hình 55 thể đồ thị tốc độ quay động điều khiển bám giá trị đặt 800 xung/Ts = 3000 vòng/phút, kết thu thời gian xác lập nhanh T5% = 0.46s, độ điều chỉnh khoảng 10% Motor Speed 3500 3000 [rpm] 2500 2000 1500 1000 500 0 Time [s] Settling Time = 0.46s Overshoot = 10.75% Hình 55 Đồ thị tốc độ động với điều khiển thiết kế Các số liệu quan sát LCD cho thấy chất lượng điều khiển mômen tốc độ quay tương đối tốt, bám nhanh với thay đổi lượng đặt không tải có tải Trang 78 5.2 Đánh giá bàn luận 5.2.1 Các kết đạt Đồ án đạt mục tiêu đặt ban đầu: - - Xây dựng mạch phần cứng phục vụ cho toán điều khiển mômen tốc độ quay động cơ, với tính giao tiếp phần cứng với nút bấm hiển thị LCD, giao tiếp phần mềm với máy tính thông qua cổng UART, nạp trực tiếp vi điều khiển qua ISP, Xây dựng thuật toán điều khiển chương trình cài đặt thuật toán vi điều khiển ATmega16 Xây dựng giao diện đồ họa MATLAB phục vụ cho công tác nhận dạng, thiết kế điều khiển đánh giá trực quan chất lượng điều khiển Chất lượng điều khiển mômen tốc độ động tốt, có đáp ứng nhanh, sai lệch nhỏ, dải tốc độ rộng, chạy không tải có tải Các kết cho thấy độ tin cậy tính toán tham số điều khiển theo lý thuyết học Quá trình làm đồ án giúp nhóm thu nhiều kiến thức bổ ích kĩ quan trọng, tóm tắt số điểm: - Hiểu biết đặc điểm kỹ thuật loại linh kiện thiết bị sử dụng Kĩ thiết kế mạch in với phần mềm Altium Designer Đi sâu vào thuật toán điều khiển PID số giải pháp ứng dụng thực tế Các kĩ phần mềm với MATLAB, CodeVisionAVR 5.2.2 Hạn chế Trong giai đoạn làm đồ án, nhóm cố gắng nghiên cứu, thiết kế để có sản phẩm tốt nhất, eo hẹp mặt thời gian điều kiện mặt thiết bị không cho phép mà đồ án nhiều điểm hạn chế: - - - Encoder sử dụng có độ phân giải cao, 888 xung/vòng, điều khiến thời gian xảy ngắt gọi chương trình đếm xung ngắn động quay nhanh, có câu lệnh có thời gian thực thi dài xuất chương trình phục vụ ngắt Timer2, số xung đếm không xác ATmega16 vi điều khiển 8-bit có tốc độ tính toán không cao nên khó điều khiển đối tượng nhanh mạch vòng dòng điện với chất lượng cao lý thuyết mong muốn Opamp LM324 phục vụ khuếch đại tín hiệu shunt loại có độ xác cao, phép đo có sai số offset, ảnh hưởng đến chất lượng điều khiển dòng, đặc biệt dòng nhỏ Trang 79 - - Một số tính chưa khai thác triệt để, giao diện đồ họa sơ sài, dừng lại nhiệm vụ bản, chưa hiển thị online đồ thị động chạy giải toán nhận dạng trực tuyến Các vấn đề khó điều khiển truyền động chưa đề cập sâu để giải điều khiển vùng tốc độ thấp, chế độ chạy tải hay điều khiển chế độ giảm từ thông, v.v 5.3 Tổng kết đồ án Đồ án trình bày thiết kế hệ thống điều khiển động chiều có phản hồi dòng điện, giải toán điều khiển mômen tốc độ quay theo cấu trúc phân tầng Đồ án có sản phẩm mạch phần cứng thuật toán điều khiển cài đặt vi điều khiển ATmega16 Sản phẩm thiết kế đạt mục tiêu đề ra, chất lượng điều khiển động thí nghiệm thu khả quan Đồ án sản phẩm trình thực nghiêm túc nhóm sinh viên lớp KSTN ĐKTĐ K55 hướng dẫn TS Vũ Vân Hà, nhiên hạn chế kinh nghiệm, kiến thức điều kiện eo hẹp thời gian thực thiết bị nên nhiều điểm cần khắc phục Nhóm chúng em mong nhận góp ý quý báu từ thầy cô để tạo sản phẩm tốt tương lai Một lần nữa, nhóm tác giả xin chân thành cảm ơn thầy giáo Vũ Vân Hà hướng dẫn tận tình chúng em trình thực đồ án o0o Trang 80 Tài liệu tham khảo [1] N P Quang, MATLAB & Simulink dành cho kỹ sư Điều khiển tự động, NXB Khoa học Kỹ thuật, 2008 [2] N P Quang, Bài giảng hệ thống điều khiển số, Đại học Bách Khoa Hà Nội, 2014 [3] N D Phước, Lý thuyết Điều khiển tuyến tính, NXB Khoa học Kỹ thuật, 2009 [4] Datasheet thiết bị liên quan [5] Website học AVR: www.hocavr.com [6] Ngô Diên Tập, Kỹ thuật Vi điều khiển với AVR, NXB Khoa học Kỹ thuật, 2003 [7] Lennart Ljung, System Identification Toolbox User's Guide, The MathWorks Inc, 2013 Trang 81 PHỤ LỤC Sản phẩm mạch phần cứng Hình 56 Hình ảnh thực tế sản phẩm mạch in Hình 57 Bản thiết kế mạch in – Top Overlay Trang 82 Hình 58 Bản thiết kế mạch in – Top Layer Hình 59 Bản thiết kế mạch in – Bottom Layer Trang 83 Hình 60 Bản thiết kế mạch - Sơ đồ mạch nguyên lý Trang 84 [...]... đơn - Bộ điều khiển: Thuật toán điều khiển phải được cài đặt trên một vi điều khiển đáp ứng được các yêu cầu: + Có module PWM chuyên dụng để điều khiển động cơ; + Có thêm 2 Timer/Counter và 1 chân ngắt ngoài để xử lí tín hiệu xung encoder và tạo chu kỳ trích mẫu + Có Module ADC để chuyển đổi tín hiệu tương tự thu được từ điện trở shunt sang tín hiệu số, phục vụ cho vi c lấy giá trị dòng phản hồi; + Bên... án hướng đến là giải quyết bài toán điều khiển động cơ, vì vậy sẽ không thiết kế mạch nguồn adapter mà sử dụng mạch nguồn có sẵn Thông số của nguồn được sử dụng: - Điện áp đầu vào: 220VAC - Điện áp đầu ra: 12VDC, 5VDC, 3.3VDC - Dòng đầu ra: 1A 2.2 Động cơ có gắn encoder 2.2.1 Động cơ thực nghiệm Động cơ một chiều được sử dụng trong đồ án là Servo Motor C6680 – 60025 có trong máy in HP Scanjet 8250 do... giữ nhịp từ một bộ dao động RC riêng biệt trên chip Khoảng thời gian reset mạch watchdog được điều chỉnh thông qua điều khiển mạch chia tần số watchdog timer 2.7.3 ATmega16 ATmega16 là vi điều khiển 8-bit được thiết kế theo phương pháp RISC Với khả năng thực hiện mỗi lệnh trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHz (1 triệu lệnh/s/MHz) Atmega16 có các đặc điểm... ứng để điện cảm trong mạch thực sự có tác dụng làm cho dòng điện không bị gián đoạn 1.2.2 Mạch cầu H Tín hiệu PWM xuất từ vi xử lí không đủ dòng để cấp trực tiếp cho động cơ được, vì vậy ta cần sử dụng một mạch trung gian để có thể cung cấp đủ áp và dòng cho động cơ Mặt khác chiều quay của ĐCMC phụ thuộc vào cực âm và dương của nguồn được nối vào phía nào trên phần ứng của động cơ, do đó muốn đổi chiều. .. bên ngoài: Đặc tính này chỉ có ở các bộ xử lý cỡ lớn trong họ vi điều khiển AVR Các bộ xử lý này có các cổng để truy nhập bộ nhớ và dữ liệu bên ngoài có thể sử dụng bất kỳ bộ hớ SRAM ngoài nào mà người dùng có thể tùy ý quyết định khi thiết kế Hình 30 Bản đồ bộ nhớ của vi điều khiển AVR • EEPROM Bộ nhớ EEPROM có sẵn trên hầu hết các bộ điều khiển AVR và được truy nhập theo một bản đồ bộ nhớ tách biệt... ngoài để đo dòng, điện trở này (cùng với 2 tụ 100nF chống nhiễu nguồn) được khuyến nghị đặt gần với chân GND của IC Trong những ứng dụng không cần đến phản hồi dòng, các chân cực emitter nối chung sẽ được nối trực tiếp với GND Trong ứng dụng cho điều khiển ĐCMC (Hình 12), với mục tiêu bảo vệ động cơ quá áp và điều khiển động cơ chạy theo cả 2 chiều thuận nghịch và có hãm, ta sử dụng thêm một mạch cầu... phục hồi nhanh (trr ≤ 200ns) và chịu được dòng 1A Khi cần dòng tải lên tới trên 2A, có thể sử dụng cấu hình song song (Hình 13) để tăng dòng cho động cơ Hình 11 Sơ đồ cấu trúc của L298 Hình 12 Ứng dụng L298 trong điều khiển ĐCMC Trang 18 Hình 13 Cấu hình kết nối song song để tăng dòng của L298 2.4 Điện trở shunt Điện trở shunt là loại điện trở đặc biệt được dùng rộng rãi trong các ứng dụng đo dòng điện. .. Duty cycle trong chu kì period , như vậy điện áp trung bình được đặt lên đầu động cơ sẽ là: Ut = V * Duty cycle period Các khóa L1, L2, R1, R2 phải chịu tần số đóng cắt PWM lên tới hàng KHz nên chúng thường là các van bán dẫn có điều khiển loại FET, MOSFET, IGBT, BJT công suất Trang 12 1.3 Đề xuất các thành phần của hệ thống điều khiển động cơ một chiều - Cơ cấu chấp hành: Mạch cầu H thực chất là... một số thiết bị logic khả trình, vi điều khiển hay một số thiết bị nhúng có thể được lập trình khi đã cài đặt trong một hệ thống hoàn chỉnh thay vì phải lập trình trước khi cài đặt nó vào hệ thống ISP cho phép lập trình (nạp) hoặc lập trình lại cho hầu hết các loại vi điều khiển AVR, sử dụng giao tiếp chuẩn 3 dây SPI, giúp tiết kiệm thời gian, tiền bạc trong cả thiết kế lẫn lập trình Hình 26 Sơ đồ chân... thông số cơ bản như sau: - Điện áp làm vi c: 3 – 24V DC Định mức 12V DC - Dòng điện không tải định mức: 80mA - Tốc độ không tải định mức: 4000 vòng/phút - Incremental Encoder: 888 xung/vòng Động cơ được cấp điện và điều khiển thông qua 6 dây nối với header 2.0mm – 6P của board mạch động cơ, bao gồm 4 dây tín hiệu mạch điều khiển và 2 dây mạch động lực được phân biệt bởi các màu sắc khác nhau theo thứ

Ngày đăng: 06/06/2016, 21:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan