Thiết kế mạch Break-Out Board

Một phần của tài liệu Thiết kế máy gia công cam phẳng điều khiển số (Trang 83)

Hình 5.5 Sơ đồ mạch Break-Out Board. 5.1.5. Giải thuật điều khiển của mạch Break-Out Board.

75

Start

Đọc dữ liệu gửi xuống

Xử lí lệnh G,M,F,S... End USB Interrupt ? Switch ? Y N Y N

Hình 5.6 Sơ đồ giải thuật mạch Break-Out Board. 5.2. Mạch Driver động cơ di chuyển.

Tùy theo mục đích sử dụng mà driver s đi từ đơn giản cho đến phức tạp. Tuy nhiên, ta có thể chia driver thành hai dạng chính theo cách điều khiển đó là : Driver không có vi điều khiển và Driver có vi điều khiển.

5.2.1. Lựa chọn dạng điều khiển cho Driver.

76

Hình 5.7 Driver không có vi điều khiển.

Đây là dạng driver thƣờng gặp trong các điều khiển đơn giản, hệ thống có rất ít động cơ.

Ƣu điểm :

 Đơn giản khi chế tạo.

 Mạch sau khi hàn có thể dùng ngay mà không cần qua bƣớc lập trình. Nhƣợc điểm:

 Không phù hợp cho hệ thống nhiều động cơ do giới hạn về khả năng điều khiển đồng thời và tốc độ bắn xung.

 Khi điều khiển nhiều động cơ servo, vi điều khiển trung tâm s rất khó để xử lí đồng thời nhiều tín hiệu encoder đồng thời.

 Driver có vi điều khiển.

77

Là dạng driver hiện đại, đƣợc dùng trong hầu hết các điều khiển công nghiệp hiện nay nhƣ máy CNC, Robot công nghiệp, ... .

Đối với các hệ thống điều khiển dùng driver dạng này, vi điều khiển trên driver có thể đƣợc coi nhƣ là một slave. Nó nhận tín hiệu từ Master ( vi điều khiển chính của hệ thống ) thông qua các cổng xuất nhập và tiến hành tính toán và điều khiển các động cơ đến đúng vị trí chính xác. Việc chính xác vị trí này đƣợc đảm bảo thông qua các tín hiệu Encoder đọc từ động cơ và thuật toán điều khiển của vi điều khiển.

Ƣu điểm :

 Khả năng xử lí nhanh.

 Tăng tốc độ và giảm tải cho vi điều khiển trung tâm.

 Do mỗi driver có một vi điều khiển riêng nên khả năng xử lí các tín hiệu encoder cũng dễ dàng hơn.

 Do Driver đã đƣợc module hóa nên lập trình cho vi điều khiển trung tâm cũng đơn giản và dễ dàng hơn rất nhiều lần.

Nhƣợc điểm :

 Chế tạo mạch phức tạp.

 Chi phí tăng cao.

Do đề tài dùng ít nhất ba động cơ và đòi hỏi độ chính xác về vị trí cao, chọn phƣơng án Driver có vi điều khiển.

5.2.2. Thiết kế mạch Driver.

Từ phƣơng án lựa chọn cho driver, ta có thể thấy để driver hoạt động chính xác đúng nhƣ mong muốn thì mạch phải có đầy đủ các module :

 Nguồn 5V cho mạch hoạt động.

 Vi điều khiển.

 Mạch đọc tín hiệu Step/Dir từ Break-Out Board.

 Mạch đọc tín hiệu encoder.

 Mạch giao tiếp với máy tính để cài đặt thông số PID.

Phƣơng án thiết kế và chức năng của mỗi mạch s đƣợc trình bày sau đây. 5.2.2.1. Mạch nguồn 5V.

78

Do dùng laptop làm máy chủ để xử lí giải thuật và xuất G-code, sau đó truyền xuống bằng cổng USB, nên ta có thể dùng laptop nhƣ là nguồn cung cấp 5V. Tuy nhiên, để đảm bảo an toàn cho máy tính trƣớc các nguy cơ có thể xảy ra từ driver nhƣ dòng ngƣợc, chập mạch,.. , ta s phải tạo một mạch nguồn 5V riêng cho driver.

5.2.2.1.1. Lựa chọn IC cho nguồn 5V.

Hiện nay, có rất nhiều nhà sản xuất linh kiện đã tích hợp các chức năng ổn áp trên một con IC với các đặc tính đa dạng. Tùy theo yêu cầu mà ta s chọn loại IC phù hợp. Một số IC thông dụng:

 LM7805.

 Dòng ra lên đến 1.5A.

 Hiệu điện thế ngõ ra là 5V.

 Bảo vệ quá nhiệt.

 Bảo vệ ngắn mạch.

 Sai số điện áp ngõ ra là 2%.

 LM2576 ADJ.

 Điện áp ngõ ra điều chỉnh đƣợc.

 Dòng điện danh định là 3A.

 Điện áp vào lên tới 40V.

 Chỉ cần thêm 4 linh kiện ngoài.

 Đặc tính tải tốt.

 Tần số dao động nội là 150 kHz.

 Dòng thấp ở chế độ tiết kiệm IQ = 80 µA.

 Hiệu suất cao.

 Bảo vệ quá dòng, quá nhiệt.

 IC nguồn tuyến tính AMS1117-5.0.

 Dòng ra lên đến 1A.

 Điện áp rơi thấp 1V.

Với yêu cầu về mạch nguồn cho driver không quá khắt khe, và tối thiểu hóa chi phí, ta chọn IC LM7805.

79

Từ datasheet của IC LM7805, và mục đích sử dụng ta thiết kế mạch nguồn 5V cho Driver nhƣ sau. Trong mạch này, các tụ có giá trị lớn hơn đƣợc gọi là tụ nguồn, đƣợc dùng để nâng áp, nâng dòng, ổn định dòng. Ngoài ra nó còn có tác dụng lọc nguồn, lọc nhiễu tần số thấp, lọc thành phần dợn sóng. Các tụ 104 ( .1uF) có tác dụng lọc nhiễu tần số cao.

Hình 5.9 Mạch nguồn 5V cho driver. 5.2.2.2. Mạch vi điều khiển của Driver.

Trong mạch Driver này, vi điều khiển đóng vai trò quan trọng nhất. Nó nhận tín hiệu điều khiển từ Break-Out Board, tín hiệu hồi tiếp từ động cơ thông qua incremental encoder để tính toán PID và xuất ra giá trị PWM cần thiết xuất ra cho bộ khuếch đại công suất điều khiển động cơ đạt tốc độ/vị trí mong muốn. PID là thuật toán điều khiển khá đơn giản, do đó, ta có thể sử dụng các vi điều khiển từ dòng 8bit (8051, VR, PIC16, PIC18) đến những dòng cao cấp hơn nhƣ dòng 16bit (dsPIC, PIC24) hoặc 32bit (ARM, PIC 32bit, AVR 32bit). Ở đây ta chọn vi điều khiển T90S2313 do độ phổ biến, dễ lập trình, giá thành rẻ và khả năng đáp ứng các yêu cầu đặt ra.

80

Hình 5.10 Mạch vi điều khiển cho driver. 5.2.2.3. Mạch nhận tín hiệu điều khiển từ mạch Break-Out Board. 5.2.2.3.1. Đặt vấn đề.

Để nhận tín hiệu từ Break-Out Board, không đơn giản là ta cứ nối trực tiếp. Nếu nối trực tiếp, khi xảy ra sự cố ở driver thì mạch Break-Out Board cũng s bị ảnh hƣởng. Vì vậy, để đảm bảo an toàn ta dùng thêm một mạch cách li, có rất nhiều cách để làm điều này, nhƣ :

 Dùng biến áp xung.

Gồm một cuộn dây sơ cấp và có thể có nhiều cuộn thứ cấp. Với nhiều cuộn thứ cấp ta có thể đóng ngắt nhiều transistor nối tiếp hoặc song song. Biến áp xung có cảm kháng tản nhỏ và đáp ứng nhanh. Tuy nhiên trƣờng hợp xung điều khiển có cạnh tác động kéo dài hoặc tần số thấp thì biến áp xung nhanh đạt đến trạng thái bão hòa và ngõ ra của nó không phù hợp với yêu cầu điều khiển.

81

Hình 5.11 Sơ đồ cấu tạo và chân của một opto.

Đây là phƣơng pháp khá phổ biến, và đƣợc sử dụng rất nhiều trong các thiết bị đo lƣờng điện tử, thiết bị PLC, các thết bị truyền thông công nghiệp,...

Nguyên lý của phƣơng pháp này dựa trên hai led thu và nhận ở cự li ngắn. Khi có dòng nhỏ di qua 2 đầu của led (chân 1 và 2) có trong opto làm cho led phát sáng. Khi led phát sáng làm thông 2 cực của photo diot ( chân 3 và 4), mở cho dòng điện chạy qua.

Ƣu điểm :

 Đảm bảo cách li về điện.

 Đáp ứng opto tốt hơn biến áp xung.

 Dễ dàng tìm mua và giá cả phải chăng. Từ đó, chọn thiết kế mạch cách li bằng opto. 5.2.2.3.2. Thiết kế mạch nhận tín hiệu có cách li.

Do việc dùng nhiều opto đơn lẻ làm cho mạch thêm rối, nên ta dùng IC chuyên dụng HCPL-2530 có tích hợp hai opto trong một để cách li với IC cổng đảo 74HC14 để sửa lại dạng tín hiệu vuông.

82

Hình 5.12 Mạch nhận tín hiệu xung từ Break-Out Board. 5.2.2.4. Mạch nhận tín hiệu Encoder.

Encoder cũng là bộ phận không thể thiếu trong hệ thống, nó cung cấp thông tin về trạng thái hiện thời của hệ thống cho vi điều khiển. Encoder có độ phân giải càng cao thì cho chất lƣợng điều khiển càng tốt. Tuy nhiên, encoder có độ phân giải cao thì cũng yêu cầu khả năng xử lý của vi điều khiển cao hơn. Ta sử dụng IC 74HC14 là cổng not và smith trigger, có tác dụng sửa lại dạng tín hiệu cho vuông.

Hình 5.13 Mạch đọc tín hiệu Encoder. 5.2.2.5. Mạch cài đặt thông số PID.

83

Thực tế, mỗi động cơ s có một bộ thông số PID để đảm bảo cho nó hoạt động chính xác.Việc cài đặt này thƣờng tốn khá nhiều thời gian và yêu cầu phải có kinh nghiệm. Có một số cách để cài PID nhƣ :

 Dùng biến trở điều chỉnh. Ƣu điểm :

 Đơn giản.

 Dễ thiết kế và lắp đặt. Nhƣợc điểm :

 Để đảm bảo chính xác phải có thêm mạch hiển thị.

 Tầm giá trị điều chỉnh s bị giới hạn.

 Không linh động.

 Điều chỉnh qua giao diện từ máy tính. Ƣu điểm :

 Linh động.

 Dãi giá trị có thể điều chỉnh rộng.

 Có thể lập trình để xem dạng đáp ứng của từng thông số. Nhƣợc điểm :

 Tốn công và thời gian lập trình giao diện.

 Khi cài đặt thông số, phải dừng máy hoàn toàn, và cài đặt từng động cơ một.

Để tránh phải sửa code và nhập lại code cho mạch driver, chọn phƣơng án cài đặt thông số qua cổng nối tiếp, cụ thể là cổng RS232. Việc cài đặt s đƣợc thực hiện qua một giao diện, việc này đảm bảo việc nhanh gọn cũng nhƣ dễ dàng và linh động khi thay đổi động cơ.

5.2.2.5.2. Thiết kế mạch.

Khi ghép nối cổng máy tính với vi điều khiển hay mạch TTL cần phải có mạch chuyển mức TTL sang RS232 và ngƣợc lại. Quy định về mức tín hiệu của hai chuẩn

84

này không giống nhau do đó cần có mạch chuyển đổi để hai thiết bị làm việc theo hai chuẩn trên có thể giao tiếp với nhau.

Vi mạch chuyển đổi thƣờng đƣợc sử dụng là MAX232(maxim) hoặc DS275(dallas). MAX232 thông dụng hơn cả vì chỉ cần nguồn 5V, mạch ± 10V do mạch dao động 16kHz bên trong cung cấp.

Hình 5.14 Mạch cài đặt thông số PID. 5.2.2.5.3. Giao diện cài đặt thông số PID.

Hình 5.15 Giao diện cài đặt thông số PID. 5.2.2.6. Mạch công suất.

85

Khối công suất nhằm cung cấp điện áp chính xác điều khiển động cơ hoạt động dựa trên việc xử lý, tính toán của vi điều khiển. Do công suất của động cơ khá lớn nên quyết định lựa chọn mosfet FDP15N40, với áp lớn nhất là 400V và dòng chịu đƣợc là 15A cho mạch cầu H. Mạch gồm 4 con MOSFET, có tác dụng đóng cắt để điều khiển chiều động cơ.Ta dùng hai tín hiệu PWM vào để điều khiển từ chân PB3 và PB4 của vi điều khiển. PB3 điều khiển M1 và M3. PB4 điều khiển M2 và M4. Tức là PB3 điều khiển cho động cơ quay thuận và PB4 điều khiển động cơ quay nghịch. Để hãm động năng và chống hiện tƣợng trùng dẫn, dùng IC IR2184 để kích cho Mosfet.

Hình 5.16 Mạch công suất cho driver. 5.2.3. Lập trình mạch Driver.

86

Có rất nhiều thuật toán điều khiển chính xác đã đƣợc dùng nhƣng vì tính đơn giản và dễ triển khai trên những vi xử lí nhỏ với hiệu năng tính toán thấp, chọn thuật toán PID.

PID tuy không phải là kỹ thuật điều khiển mới, nhƣng lại là kỹ thuật phổ biến nhất chuyên dùng để điều khiển các hệ thống trong công nghiệp nhƣ hệ thống lò nhiệt, điều khiển tốc độ, vị trí, mô men động cơ C và DC.

PID là cách viết tắc của các từ Propotional (tỉ lệ), Integral (tích phân), Derivative (đạo hàm) và là giải thuật điều khiểnđƣợc dùng nhiều nhất trong các ứng dụng điều khiển tự động với yêu cầu chính xác (accurate), nhanh (fast response), ổn định (small overshot).

Một điều rất tự nhiên, với yêu cầu nhanh thì một cách đơn giản để công thức hóa ý tƣởng này là dùng quan hệ tuyến tính:

Trong đó Kp là một hằng số dƣơng nào đó mà chúng ta gọi là hệ số P (Propotional gain), e là sai số cần điều khiển. Mục tiêu điều khiển là đƣa e (sai số) tiến về 0 càng nhanh càng tốt. Rõ ràng nếu Kp lớn thì tác động nhanh của điều khiển cũng càng lớn. Tuy nhiên, do quán tính mà việc điều khiển càng nhanh càng gây ra tính mất ổn định (do lực quán tính và lực điều khiển tạo ra cặp đối lực xuất hiện ở hai khoảng thời gian liên tiếp nhau => chúng tạo ra dao động không kiểm soát đƣợc). Nhƣ vậy, ta s sử dụng đạo hàm của sai số e để làm tăng giá trị nhƣng ngƣợc chiều của lực F (vì e đang giảm nhanh dần). Nếu sử dụng đạo hàm làm thành phần “thắng” thì có thể giảm đƣợc overshot của xe. Thành phần “thắng” này chính là thành phần D (Derivative) trong bộ điều khiển PID mà chúng ta đang khảo sát. Thêm thành phần D này vào bộ điều khiển P hiện tại, chúng ta thu đƣợc bộ điều khiển PD nhƣ sau:

( )

Trong đó (de/dt) là vận tốc thay đổi của sai số e và Kd là một hằng số không âm

gọi là hệ số D (Derivative gain).

Sự hiện diện của thành phần D làm giảm overshot vật thể điều khiển khi nó tiến gần về vị trí cân bằng (vị trí ổn định), lực F gồm 2 thành phần Kp.e > =0 (P) và Kd.(de/dt)

87

<=0 (D). Trong một số trƣờng hợp thành phần D có giá trị lớn hơn thành phần P và lực F đổi chiều, “thắng” (hãm tốc) lại, yếu tố cần điều khiển (ví dụ vận tốc, vị trí...) của vật thể giảm mạnh ở gần vị trí cân bằng. Một vấn đề nảy sinh là nếu thành phần D quá lớn so với thành phần P hoặc bản thân thành phần P nhỏ thì khi tiến gần điểm cân bằng (chƣa thật sự đến vị trí này), vật thể có thể dừng hẳn, thành phần D bằng 0 (vì sai số e không thay đổi nữa), lực F = Kp.e. Trong khi Kp và e lúc này đều nhỏ nên lực F cũng nhỏ và có thể không thắng đƣợc lực ma sát tĩnh. Sai số e trong tình huống này gọi là steady state error (tạm dịch là sai số trạng thái tĩnh). Để tránh steady state error, ngƣời ta thêm vào bộ điều khiển một thành phần có chức năng “cộng dồn” sai số. Khi steady state error xảy ra, 2 thành phần P và D mất tác dụng, thành phần điều khiển mới s “cộng dồn” sai số theo thời gian và làm tăng lực F theo thời gian. Đến một lúc nào đó, lực F đủ lớn để thắng ma sát tĩnh và đẩy vật tiến tiếp về điểm cân bằng. Thành phần “cộng dồn” này chính là thành phần I (Integral - tích phân) trong bộ điều khiển PID. Vì chúng ta điều biết, tích phân một đại lƣợng theo thời gian chính là tổng của đại lƣợng đó theo thời gian. Bộ điều khiển đến thời điểm này đã đầy đủ là PID :

( ) ∫

Nhƣ vậy, chức năng của từng thành phần trong bộ điều khiển PID giờ đã rõ. Tùy vào mục đích và đối tƣợng điều khiển mà bộ điều khiển PID có thể đƣợc lƣợc bớt để trở thành bộ điều khiển P, PI hoặc PD. Công việc chính của ngƣời thiết kế bộ điều khiển PID là chọn các hệ số Kp, Kd và Ki sao cho bộ điều khiển hoạt động tốt và ổn định (quá trình này gọi là PID gain tuning). Đây không phải là việc dễ dàng vì nó phụ thuộc vào nhiều yếu tố. Để cài đặt thông số PID đúng, ta có thể làm nhƣ sau :

 Chọn Kp trƣớc: thử bộ điều khiển P với đối tƣợng thật (hoặc mô phỏng), điều chỉnh Kp sao cho thời gian đáp ứng đủ nhanh, chấp nhận overshot nhỏ.

 Thêm thành phần D để loại overshot, tăng Kd từ từ, thử nghiệm và chọn giá trị thích hợp. Steady state error có thể s xuất hiện.

 Thêm thành phần I để giảm steady state error. Nên tăng Ki từ bé đến lớn để giảm steady state error đồng thời không để cho overshot xuất hiện trở lại.

88

Vi điều khiển trên Driver s thực hiện hai chƣơng trình song song. Chƣơng trình chính và chƣơng trình ngắt. Chƣơng trình chính thực hiện các lệnh điều khiển chuyển động nhận từ máy tính. Chƣơng trình ngắt thực hiện quá trình so sánh vị trí và điều khiển vị trí động cơ servo.

RESET

Thiết lập ban đầu

Nhận lệnh từ máy tính Thực thi lệnh từ mày tính INTERRUPT Đọc và so sánh vị trí CtDiv-- =0 ? CtDiv=52; Enable Interrupt Sub: Điều khiển Servo

RETURN

Y

N

Hình 5.17 Sơ đồ giải thuật cho mạch Driver.

 Đọc vị trí hiện tại.

Tùy theo đại lƣợng điều khiển (vị trí hay vận tốc) và đặc điểm encoder (độ phân

Một phần của tài liệu Thiết kế máy gia công cam phẳng điều khiển số (Trang 83)

Tải bản đầy đủ (PDF)

(124 trang)