PHÂN TÍCH NGUYÊN LÝ LÀM VIỆC MẠCH ĐIỀU KHIỂN SERVO DC DÙNG IC LM629

19 434 0
PHÂN TÍCH NGUYÊN LÝ LÀM VIỆC MẠCH ĐIỀU KHIỂN SERVO DC DÙNG IC LM629

Đ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

TRƯỜNG CAO ĐẲNG KỸ THUẬT LÝ TỰ TRỌNG KHOA ĐIỆN – ĐIỆN TỬ ** PHÂN TÍCH NGUYÊN LÝ LÀM VIỆC MẠCH ĐIỀU KHIỂN SERVO DC DÙNG IC LM629 BÁO CÁO TIỂU LUẬN ĐIỆN TỬ CÔNG NGHIỆP NHÓM: BÙI THIÊN ÁI NGUYỄN TRUNG TRỰC HOÀNG TRƯỜNG KHANH TP HỒ CHÍ MINH – 2014  ĐẶC TÍNH CỦA LM629N: I.GIỚI THIỆU CHUNG: IC LM629 vi xử lý chuyên dụng hãng điện tử National, dùng để điều khiển chuyển động loại động DC servo cấu servo khác có tín hiệu hồi tiếp trả lệnh pha 900 Với khả tính toán 32bit tập lệnh hỗ trợ mạnh, LM629 sử dụng ứng dụng phức tạp mà đảm bảo thời gian thực độ phân giải cao.LM629 hoạt động tần số tối đa hay MHz Hình Sơ đồ khối điều khiển dùng IC LM629 II Khảo sát LM629N Giới thiệu về LM629N : Hình 2.IC LM629N LM629N cũng có đặc tính giống LM 629, LM629N có tất 28 chân + Chân IN ngõ vào: nhận lựa chọn dẫn xung ngõ vào encoder Phải đặt mức không dùng Chỉ dẫn đọc chân 1, 2, mức thấp + Chân 2, ngõ vào tín hiệu encoder A, B: nhận tín hiệu pha vuông góc tạo encoder incremental Khi motor quay, tín hiệu pha lệch 90 độ Chú ý chân thay đổi trạng thái sau kỳ xung clock Vì trạng thái sở để giải mã encoder + Chân đến chân 11 Port tiếp nhận I/O D0-D7: port liệu hướng tiếp nhận xử lý Dùng để viết lệnh hay liệu vào LM629 đọc byte trạng thái hay liệu từ nó, điều khiển CS (chân 12), PS (chân 16), RD (chân 13), WR (chân 15) + Chân 12 ngõ vào chân chọn chip CS: dùng để chọn LM629 cho hoạt động đọc viết + Chân 13 ngõ vào đọc RD: dùng để đọc trạng thái hay liệu + Chân 14 Gnd + Chân 15 ngõ vào viết WR: dùng để viết lệnh hay liệu + Chân 16 ngõ vào chọn Port PS: dùng để chọn lệnh hay liệu Chọn lệnh mức thấp Theo mode điều khiển từ chân 16: • Lệnh viết đến port lệnh chân 16 = • Byte trạng thái đọc từ port lệnh chân 16 = • Viết đọc liệu chân 16 = + Chân 17 ngõ ngắt HI: hoạt động mức cao có báo động điều kiện ngắt xảy + Chân reset RST: phải đặt mức thấp tối thiểu chu kỳ Khi bị reset: • Hệ số lọc thông số • Set sai số vị trí cao 7FFF kết thi hành lệnh LPEI • Ngắt SBBA/SBPR bị vô hiệu hóa • Cho phép ngắt khác • Đưa vị trí ban đầu zero hay vị trí home • Được set trở lại thời gian 2048/fCLK Tuy nhiên, sau reset nên đọc port trạng thái 00 Nếu reset hoàn thành từ trạng thái 84h hay C4h Nguyên lý hoạt động: 2.1 Giới thiệu: Sơ đồ khối hình biểu thị hệ servo sử dụng LM629 Vi xử lý chủ giao tiếp với LM629 qua port I/O để lập trình quỹ đạo vận tốc hình thang lọc bù số Ngõ PWM bit giao tiếp với mạch cầu H để cung cấp lượng cho động hoạt động tín hiệu hồi tiếp cho vọng điều khiển vị trí lấy từ encoder loại tương đối Khối tạo biên dạng vận tốc hình thang tính toán quỹ đạo cần thiết hoạt động kiểu vận tốc kiểu vị trí Khi hoạt động, LM629 tính toán sai số vị trí cách lấy vị trí mong muốn trừ vị trí thực (hiện tại), sai số đưa vào lọc số để điều khiển Bảng vài thông số LM629 Hình Bảng thông số LM629 2.2 Hồi tiếp vị trí: LM629 giao tiếp với encoder tương đối loại pha A, B, Z để kiểm soát vị trí động Mỗi có tín hiệu chuyển mạch xung A hoặc B, ghi vị trí LM629 tăng giảm tương ứng Điều giúp nâng cao độ phân giải encoder lên lần Tín hiệu từ encoder đồng với xung clock LM629 Hình Tín hiệu hồi tiếp từ Encoder Tín hiệu từ xung Index dùng để nhận biết động quay vòng Khi lập trình, LM629 ghi lại vị trí tuyệt đối động vào ghi Index tín hiệu encoder xuống mức logic thấp Nếu encoder pha Index ngõ vào Index LM629 dùng để ghi lại vị trí Home động Trong trường hợp này, người ta bố trí cho động đến điểm Home làm công tắc xuống mức logic thấp nối công tắc vào chân Index Khi LM629 ghi lại vị trí động vào ghi Index gây ngắt vi xử lý chủ Nếu không sử dụng, chân Index nên nối lên mức logic cao 2.3 Khối tạo biên dạng vận tốc : LM629 điều khiển vị trí với biên dạng vận tốc di chuyển hình thang Trong kiểu điều khiển vị trí, vi xử lý chủ xác định gia tốc, vận tốc tối đa vị trí đích LM629 dùng thông tin để tạo chuyển động cách gia tốc đạt vận tốc tối đa giảm dần cho không đạt vị trí Giá trị gia tốc vận tốc Trong suốt thời gian di chuyển, vận tốc cực đại vị trí đích thay đổi động tăng hay giảm gia tốc cho phù hợp Hình 5(a) hình thang đơn giản lý tưởng, hình 5(b) hình thang, có vận tốc thay đổi thời gian khác lúc chuyển động Hình Profile hình thang mẫu biểu diễn biên dạng vận tốc Khi hoạt động kiểu vận tốc, động tăng đến vận tốc xác định ứng với gia tốc đặt trước giữ vận tốc ổn định có lệnh dừng Nếu có nhiễu lúc hoạt động vận tốc trung bình không đổi LM629 tính toán bù trừ cần thiết Nếu động không đạt vận tốc đặt (ví dụ động bị kẹt hoặc công suất không đảm bảo) vị trí yêu cầu từ LM629 tiếp tục tăng dẫn đến sai lệch vị trí ngày lớn Nếu ngẫu nhiên lỗi khắc phục động nhanh chóng đạt vận tốc cao để đạt vị trí yêu cầu Lỗi phát cách dùng lệnh LPEI, LPES Tất thông số quỹ đạo có số dạng 32 bit Thông số vị trí giá trị có dấu Giá trị gia tốc vận tốc số dương gồm 16 bit biểu thị phần nguyên 16 bit biểu thị phần thập phân Cách xác định thông số yêu cầu sau: Ví dụ động có encoder 500 xung, yêu cầu tăng vận tốc từ đến 600 v/ph sau giảm vận tốc dừng xác vị trí 100 vòng kể từ lúc bắt đầu Cách tính thông số sau: P = vị trí đích (đơn vị = số đếm encoder) R = encoder * (độ phân giải hệ thống) R = 500 * = 2000 P = 2000 * số vòng yêu cầu = 2000 * 100 = 200000 = 30D40h (số Hex ghi vào LM629) V = vận tốc (số xung encoder/mẫu) T = thời gian lấy mẫu = 341 us (6MHz) C = hệ số chuyển đổi = phút/60 giây V = R * T * C * vận tốc yêu cầu V = 2000 * 341E-6 * 1/60 * 600 = 6.82 xung/mẫu V (nhân số) = 6.82 * 65536 = 446,955.52 = 446,956 = 6D1ECh cho A = số đếm/ tgian * tgian A = R * T * T * gia tốc yêu cầu = 2000 * 341E-6 * 341E-6 * = 2.33E-4 (xung/sample/sample) A (nhân số) = 2.33E-4 * 65536 = 15.24 = 15 = 0Fh Vận tốc, vị trí, gia tốc phải chuyển thành số nhị phân trước load vào LM629 Giá trị vận tốc gia tốc phải nhân lên với 65536 để đảm bảo giá trị số nguyên Chú ý giá trị phải làm tròn 2.4 Bộ lọc bù PID : LM629 dùng PID số để điều khiển vòng kín Biểu thức minh họa cho PID: n u (n) = kp.e( n) + ki.∑ e(n) + kd [e(n' ) − e(n'−1)] N =0 Ki, Kp, Kd thông số rời rạc load người dùng, giới hạn 16 bit Tinh chỉnh lọc PID: Việc tinh chỉnh lọc PID thực qua hai bước Bước điều chỉnh thô quan sát đáp ứng để giới hạn khoảng giá trị tham số Bước dùng LM629 kết hợp với mạch điện ghép thêm dao động ký để quan sát đáp ứng độ, tinh chỉnh tham số cho đạt đáp ứng tốt Xác định hệ số vi phân Thành phần vi phân lọc làm giảm dao động vọt lố, tăng độ ổn định hệ thống, thành phần tạo lực tỉ lệ với độ biến thiên vị trí động hệ số có giá trị Kd x ds 10 Tham số Kd tăng dần trục bắt đầu dao động với tần số cao, sau tăng dần ds đạt đáp ứng thích hợp Thời gian lấy mẫu vi phân số nguyên lần chu kỳ tính toán LM629 có giá trị nhỏ số khí hệ thống từ đến 10 lần Điều có nghĩa đa số hệ thống cần giá trị nhỏ ds, nhiên nhìn chung Kd ds điều chỉnh cho đạt giá trị lớn mà không làm hệ thống dao động Xác định hệ số tỉ lệ Thành phần tỉ lệ cung cấp tín hiệu điều khiển tỉ lệ tuyến tính với sai số vị trí Nếu Kp thấp, hệ đáp ứng chậm có sai số vị trí Ngược lại, Kp lớn làm hệ đáp ứng nhanh làm hệ vọt lố dao động Điều chỉnh Kp cách tăng dần hệ bắt đầu dao động Xác định hệ số tích phân Thành phần tỉ lệ làm giảm sai số hệ thống triệt tiêu nó, nhiên khâu Ki khử sai số xác lập Thành phần tích phân tạo tín hiệu điều khiển tỉ lệ với sai số vị trí tăng tuyến tính theo thời gian Giá trị Ki lớn làm tăng đáp ứng gây vọt lố dao động Do điều chỉnh Ki cho đạt giá trị nhỏ thỏa đặc tính: độ vọt lố, thời gian xác lập, thời gian khử sai số xác lập Thành phần giới hạn tích phân có tác dụng đặt giới hạn ngưỡng giá trị cho thành phần tích phân Nếu giá trị tích phân vượt giới hạn Il bị xén giá trị Il Trong nhiều hệ thống, Il thiết lập tới giá trị cao 7FFFH mà không gây tác dụng ngược Nếu Il 0, khâu tích phân tác dụng điều khiển 2.5 Hoạt động đọc và ghi của LM629: 11 Vi xử lý chủ ghi lệnh vào chân LM629 qua ngõ I/O port chân PS\ = Mã lệnh truyền song song qua port giao tiếp chân WR\ tích cực, byte lệnh chốt vào nhờ cạnh xuống chân Khi ghi lệnh cần phải đọc trạng thái kiểm tra cờ trạng thái, gọi cờ bận (bit 0) Nếu bit báo bận mức logic cao không ghi lệnh Bit báo bận không mức logic cao thời gian 100us, thường 15us khoảng đến 25us Vi xử lý chủ đọc byte trạng thái theo tương tự, cho PS\ = đọc liệu từ cạnh xuống chân RD, thông tin trạng thái giữ thời gian RD\ mức logic thấp Ghi đọc liệu hay trạng thái LM629 kết thúc chân PS\ = Việc đọc ghi thực theo byte, byte byte có trọng số cao Khi truyền liệu theo word (2byte), thiết phải kiểm tra bit bận Khi bit bận mức logic thấp truyền tiếp Nếu bit bận mức logic cao phải kiểm tra lại liên tục bit xóa tiếp tục truyền, không lệnh bị bỏ qua báo lỗi Bit bận lên cao sau ghi byte lệnh, hoặc đọc, ghi byte thứ 12 Hình Hoạt động đọc Byte trạng thái 13 Hình Hoạt động ghi Byte lệnh 14 Hình Hoạt động đọc liệu Hình Hoạt động ghi liệu 15 2.6 Ngõ điều khiển động : LM629 cung cấp ngõ PWM bit chân tín hiệu điều khiển chiều quay động Tương ứng chiều dương PWM tối đa 127/128, chiều âm 128/128 Hình 10 Ngõ PWM LM629 với tần số hoạt động 8MHz Một số ý lập trình với LM629 Bắt tay truyền liệu với vi xử lý chủ: Các ứng dụng LM629 đòi hỏi việc bắt tay truyền nhận liệu xác với vi xử lý chủ Có hai cách thực việc này: thông qua ngắt với vi xử lý chủ hoặc liên tục hỏi vòng kiểm tra byte trạng thái Hai 16 cách phải đọc byte trạng thái để xác định nguyên nhân ngắt cụ thể Nếu thực cách gây ngắt vi xử lý chủ, lỗi xảy trình phục vụ ngắt chứa lệnh truyền liệu với LM629, chương trình thực truyền Điều gây lỗi lệnh (command error) byte trạng thái LM629 bỏ qua lệnh Vì để an toàn, cấm ngắt trước thực lệnh giao tiếp với LM629 cho phép ngắt trở lại sau thực xong Giới hạn tốc độ đọc Encoder: Tần số đọc trạng thái Encoder lớn định số chu kỳ nhỏ cần thiết để giải mã trạng thái eEcoder LM629 cần chu kỳ để thực lệnh tức với thạch anh 8MHz ta có tần số đọc Encoder lớn 1MHz (750 KHz sử dụng thạch anh MHz) Ví dụ: Động có Encoder 500 xung quay với vận tốc 30000 vòng/phút có tần số chuyển mạch Encoder MHz Cập nhật gia tốc lúc chuyển động: Không giống vận tốc vị trí, LM629 không cho phép cập nhật gia tốc cập nhật lúc chuyển động Muốn làm điều này, lúc động chuyển động ta dùng lệnh tắt động lệnh LTRJ Sau lại dùng lệnh LTRJ để nạp lại gia tốc nạp lệnh STT để cập nhật gia tốc Khi sử dụng phương pháp này, LM629 coi động đứng yên Nếu động có quán tính lớn di chuyển lúc thực lệnh STT vòng điều khiển cố gắng đưa động đạt quỹ đạo gây sai số lớn ngõ vào lọc PID gây bão hòa tính hiệu ngõ vận tốc đạt biên dạng yêu cầu Đây trường hợp tải điển hình hệ hồi tiếp Nó hoạt động kiểu vòng hở sai số ngõ vào nằm khoảng điều khiển vòng hồi tiếp đóng lại Điều khiển theo cách có đáp ứng khó lường trước LM629 không thiết kế cho kiểu điều khiển 17 Tần số cập nhật lệnh: Nếu LM629 cập nhật thường xuyên vi xử lý chủ, không đảm bảo thực lệnh yêu cầu Khi nhận lệnh STT, LM629 dừng việc thực tính toán quỹ đạo giữ nguyên giá trị ngõ Vì vậy, quỹ đạo không cập nhật 10ms lần Độ phân giải quỹ đạo chuyển động Độ phân giải vị trí động giá trị tích lũy Sau chu kỳ, thuật toán tính toán quỹ đạo cần thiết, cộng vận tốc vào vị trí yêu cầu tính toán vị trí Muốn điều khiển động vận tốc thấp vận tốc tính theo xung encoder/chu kì lấy mẫu phải dạng số thập phân LM629 hỗ trợ việc cách cung cấp 16 bit thấp ghi vận tốc 32 bit để chứa phần giá trị thập phân Một ví dụ với động 500 xung (2000 lần đếm sau vòng quay) nối với LM629 hoạt động tần số Mhz (tức chu kì lấy mẫu 256us), độ phân giải nhỏ xung encoder/chu kì lấy mẫu vận tốc tương ứng nhỏ vòng/giây hay 120 vòng/phút Thực tế nhiều ứng dụng yêu cầu điều khiển vận tốc thấp điều giải cách nạp giá trị thập phân cho gia tốc vận tốc Độ phân giải vi trí, vận tốc gia tốc Sau chu kì tính toán, cần tăng tốc ghi gia tốc cộng vào ghi vận tốc, ghi vận tốc lại cộng vào ghi vị trí Thanh ghi vị trí chứa giá trị nguyên nên phần thập phân vị trí tích lũy sau nhiều chu kì đạt giá trị nguyên 18 Khoảng giá trị vận tốc tính toán từ ghi vị trí 32 bit Bit 31 dùng để hướng, bit 30 để báo tràn khoảng giá trị vị trí Nếu bit 30 set (hay reset động chuyển động theo chiều ngược) hoạt động, bit ghi set gây ngắt đến vi xử lý chủ 30 bit lại cung cấp không gian lưu vị trí theo chiều dương âm (1 073 741 824 xung chiều) Vận tốc có độ phân giải 1/216 xung/chu kì gia tốc có độ phân giải 1/216 xung/chu kì/chu kì khoảng giá trị cũng số 30 bit Hai bit lại, bit dùng để phát tràn giá trị bit lại không sử dụng vi vận tốc gia tốc số dương Vì có 14 bit (16383) chứa phần nguyên 16 bit chứa phần thập phân 19

Ngày đăng: 13/06/2016, 17:03

Từ khóa liên quan

Mục lục

  • + Chân 1 IN ngõ vào: nhận lựa chọn chỉ dẫn xung ngõ vào encoder. Phải đặt mức 1 nếu không dùng. Chỉ dẫn được đọc khi các chân 1, 2, 3 ở mức thấp.

  • + Chân 2, 3 ngõ vào tín hiệu encoder A, B: nhận tín hiệu 2 pha vuông góc được tạo ra bởi encoder incremental. Khi motor quay, tín hiệu 2 pha lệch 90 độ. Chú ý chân 2 và 3 chỉ được thay đổi trạng thái ít nhất là sau 8 kỳ xung clock. Vì 4 trạng thái là cơ sở để giải mã encoder.

  • + Chân 4 đến chân 11 Port tiếp nhận I/O D0-D7: port dữ liệu 2 hướng tiếp nhận xử lý. Dùng để viết lệnh hay dữ liệu vào LM629 và đọc byte trạng thái hay dữ liệu từ nó, được điều khiển bởi CS (chân 12), PS (chân 16), RD (chân 13), WR (chân 15).

  • + Chân 12 ngõ vào chân chọn chip CS: dùng để chọn LM629 cho hoạt động đọc và viết.

  • + Chân 13 ngõ vào đọc RD: dùng để đọc trạng thái hay dữ liệu.

  • + Chân 14 Gnd.

  • + Chân 15 ngõ vào viết WR: dùng để viết lệnh hay dữ liệu.

  • + Chân 16 ngõ vào chọn Port PS: dùng để chọn lệnh hay dữ liệu. Chọn lệnh khi ở mức thấp. Theo mode được điều khiển từ chân 16:

  • Lệnh được viết đến port lệnh khi chân 16 = 0

  • Byte trạng thái được đọc từ port lệnh khi chân 16 = 0

  • Viết và đọc dữ liệu khi chân 16 = 1

    • + Chân 17 ngõ ra ngắt HI: hoạt động mức cao khi có báo động một điều kiện ngắt xảy ra.

    • + Chân reset RST: phải được đặt ở mức thấp tối thiểu 8 chu kỳ. Khi bị reset:

    • Hệ số bộ lọc và các thông số đều bằng 0

    • Set sai số vị trí cao nhất 7FFF và kết quả là thi hành lệnh LPEI

    • Ngắt SBBA/SBPR bị vô hiệu hóa

    • Cho phép 5 ngắt khác

    • Đưa về vị trí ban đầu zero hay vị trí home

    • Được set trở lại trong thời gian 2048/fCLK

      • Tuy nhiên, sau reset nên đọc port trạng thái là 00. Nếu reset hoàn thành thì từ trạng thái sẽ là 84h hay C4h.

      • Tất cả các thông số quỹ đạo có là số dạng 32 bit. Thông số vị trí là giá trị có dấu. Giá trị gia tốc và vận tốc là số dương gồm 16 bit biểu thị phần nguyên và 16 bit biểu thị phần thập phân.

        • P = vị trí đích (đơn vị = số đếm encoder)

        • R = 500 * 4 = 2000

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

Tài liệu liên quan