#1 Điều khiển xung trong tự động hoá (Kinh điển)

Sử dụng đầu ra xung từ PLC là một cách hiệu quả về chi phí để có được chuyển động tự động hoá đơn giản. Hầu hết, các nhà sản xuất PLC cung cấp một phương pháp để điều khiển động cơ servo và động cơ bước sử dụng tín hiệu mạch xung. Vì vậy, khi một bài toán đơn giản chỉ cần được tự động hóa trên hai hoặc ba trục trên bộ truyền động điện, đầu ra tín hiệu xung thường dễ dàng hơn trong việc cài đặt, nối dây và lập trình so với sử dụng tín hiệu analog. Nó tốn chi phí ít hơn so với sử dụng chuyển động được nối mạng như Ethernet / IP. Vì vậy, hãy cùng tìm hiểu về điều khiển một động cơ bước hoặc servo với trình điều khiển hoặc bộ khuếch đại ở giữa bộ điều khiển và động cơ với sự nhấn mạnh vào các tín hiệu xung được sử dụng từ bộ điều khiển

mạch điều khiển xung
Bài viết này nói về việc điều khiển một hệ thống điều khiển chuyển động cơ bản, động cơ bước hoặc servo với trình điều khiển hoặc bộ khuếch đại ở giữa bộ điều khiển và động cơ, sử dụng tín hiệu xung.

1/ Kiến thức cơ bản về xung điều khiển

Động cơ bước và các phiên bản điều khiển xung của động cơ servo có thể xoay theo cả hai hướng. Điều này có nghĩa là bộ điều khiển cần cấp tối thiểu hai tín hiệu điều khiển cho drive. Có hai cách để xuất các tín hiệu này và các nhà sản xuất đơn giản gọi chúng là những thứ khác nhau. Có hai cách phổ biến để tham khảo hai sơ đồ tín hiệu điều khiển mà bạn đang sử dụng: Chế độ 1P, hay còn gọi là chế độ Bước / Hướng, và chế độ 2P, hay là chế độ theo chiều kim đồng hồ (CW – clockwise) / ngược chiều kim đồng hồ (CCW – counter clockwise). Cả hai chế độ đều yêu cầu hai tín hiệu điều khiển từ bộ điều khiển đến drive.

Ở chế độ 1P, một tín hiệu điều khiển là tín hiệu xung hoặc tín hiệu bước. Các tín hiệu khác ở dạng định hướng, tức điều khiển quay theo một chiều nào đó. Nếu tín hiệu đầu vào định hướng được bật  (ON) và tín hiệu xung xuất hiện ở đầu, động cơ sẽ quay theo chiều kim đồng hồ. Ngược lại, nếu tín hiệu định hướng tắt (OFF) và có tín hiệu xung đầu vào, động cơ sẽ quay theo hướng khác hoặc ngược chiều kim đồng hồ. Dãy tín hiệu xung luôn ở cùng một dạng cho dù hướng quay nào được quyết định.

xung và hướng động cơ bước
Đây là những ví dụ về tín hiệu ở chế độ 1P cho chuyển động quay tiến và lùi.

Trong chế độ 2P, cả hai tín hiệu là một chuỗi xung. Chỉ có một đầu vào tại một thời điểm sẽ có tần số, vì vậy nếu có mạch xung CW, động cơ sẽ quay CW. Nếu có mạch xung CCW, động cơ quay CCWs. Đầu vào nào nhận được chuỗi xung phụ thuộc vào hướng mong muốn.

đảo chiều quay động cơ bước
Đây là ví dụ về tín hiệu ở chế độ 2P cho chuyển động quay tiến và lùi.

Đầu ra xung từ bộ điều khiển làm cho động cơ di chuyển. Động cơ quay một đơn vị tăng dần cho mỗi xung trên đầu vào xung của ổ đĩa. Ví dụ: nếu một động cơ bước hai pha có 200 xung trên mỗi vòng quay (ppr), thì một xung làm cho động cơ quay 1/200 của một vòng quay hoặc 1,8 độ, và 200 xung sẽ làm cho động cơ quay một vòng.

Tất nhiên, các động cơ khác nhau có độ phân giải khác nhau. Động cơ bước có thể là bước siêu nhỏ, mang lại cho chúng hàng ngàn xung mỗi vòng quay. Ngoài ra, động cơ servo thường có hàng ngàn xung trên mỗi vòng quay dưới dạng độ phân giải tối thiểu. Bất kể độ phân giải của động cơ là gì, một xung từ bộ điều khiển làm cho nó chỉ xoay một đơn vị. Tốc độ mà động cơ quay phụ thuộc vào tần số xung hay tốc độ của xung. Các xung càng nhanh, động cơ quay càng nhanh. Trong ví dụ trên, với động cơ có 200 ppr, tần số 200 xung mỗi giây (pps) sẽ quay động cơ với tốc độ một vòng / giây (rps) hoặc 60 vòng / phút (vòng / phút). Càng nhiều xung cần thiết để quay một vòng quay động cơ (ppr), các xung phải được gửi càng nhanh để có cùng tốc độ. Ví dụ, một động cơ có 1000 ppr sẽ cần phải có tần số xung cao hơn so với động cơ có 200 ppr để đi cùng tốc độ rpm. Công thức toán học khá đơn giản:

  • rps = pps/ppr ( rps – số vòng mỗi giây = số xung mỗi giây/số xung trên 1 vòng)
  • rpm = rps(60)

 

2/ Kiểm soát các xung

Hầu hết các bộ điều khiển có một phương pháp để xác định xem động cơ nên xoay CW hoặc CCW và điều khiển tín hiệu phù hợp. Nói cách khác, nó thường không yêu cầu lập trình viên tìm đầu ra nào cần bật. Ví dụ, nhiều PLC có chức năng điều khiển chuyển động bằng tín hiệu xung và chức năng đó tự động điều khiển đầu ra để có được hướng quay chính xác bất kể bộ điều khiển được cấu hình cho chế độ 1P hay 2P. Hãy xem xét một ví dụ đơn giản dùng 2 chuyển động. Cả hai động tác chuyển động đều cần 1000 xung, theo hai hướng ngược nhau. Bộ điều khiển bật các đầu ra thích hợp, cho dù 1P hay 2P được sử dụng, để làm cho động cơ quay theo hướng tích cực (thường là CW) khi số xung là 1000. Mặt khác, nếu một chương trình xuất lệnh 1000 xung, bộ điều khiển sẽ bật các đầu ra thích hợp để di chuyển theo hướng còn lại (thường là CCW). Do đó, nó không cần thiết cho lập trình viên điều khiển hướng quay của động cơ bằng cách sử dụng mã trong chương trình để chọn đầu ra nào sẽ sử dụng. Bộ điều khiển tự động làm điều đó. Bộ điều khiển và drive thường có cách để người dùng chọn loại xung, bằng cách chuyển đổi nhúng hoặc cài đặt lựa chọn phần mềm. Nó rất quan trọng để đảm bảo bộ điều khiển và drive được thiết lập giống nhau. Nếu không sẽ hoạt động sai lệch hoặc không hoạt động.

hệ trục điều khiển x,y,z

2.1/ Di chuyển tuyệt đối và tăng dần

Hai lệnh di chuyển phổ biến nhất trong lập trình điều khiển chuyển động là các lệnh di chuyển tăng dần và tuyệt đối. Khái niệm di chuyển tuyệt đối và gia tăng khiến nhiều người bối rối bất kể phương pháp điều khiển động cơ là gì. Nhưng thông tin này áp dụng cho dù động cơ được điều khiển bằng xung, tín hiệu tương tự hay mạng như Ethernet / IP hoặc Ethercat. Đầu tiên, nếu một động cơ có một bộ mã hóa (encoder) trên nó, các kiểu di chuyển của nó không liên quan gì đến encoder. Thứ hai, di chuyển tuyệt đối và gia tăng có thể được thực hiện cho dù có hay không một bộ encoder. Khi sử dụng một động cơ để di chuyển một trục tuyến tính, chẳng hạn như bộ truyền động vít bi, rõ ràng có một khoảng cách hữu hạn giữa một đầu của bộ truyền động đến đầu kia. Nói cách khác, nếu có một con trượt ở một đầu của bộ truyền động, động cơ chỉ có thể được quay để di chuyển cho đến khi con trượt đến đầu đối diện. Đây là hành trình di chuyển. Ví dụ, trên một thiết bị truyền động có hành trình 200 mm, một đầu của cơ cấu chấp hành thường là vị trí số 0 hay vị trí home.

tính toán xung điều khiển
Một PLC xuất tín hiệu của mạch xung đến drive được điều khiển bằng mạch xung.

Chuyển động tuyệt đối là di chuyển con trượt đến vị trí đích bất kể vị trí hiện tại của nó đang ở đâu. Ví dụ: nếu vị trí hiện tại bằng 0 và mục tiêu di chuyển là 100 mm, bộ điều khiển sẽ gửi đủ các xung để di chuyển bộ truyền động về phía trước đến điểm 100 mm và dừng lại.

tính toán xung
Ở bên trái, một bộ truyền động điều khiển bằng động cơ với con trượt ở vị trí 0. Ở bên phải, một bộ truyền động điều khiển bằng động cơ với con trượt đi đến vị trí 100 mm.

Nhưng nếu vị trí hiện tại của con trượt là 150 mm, thì việc di chuyển tuyệt đối 100 mm tương đương với việc bộ điều khiển gửi các xung theo hướng ngược lại để con trượt lùi 50 mm và dừng ở vị trí 100 mm.

bước vít me
Ở bên trái, bộ truyền động điều khiển động cơ di chuyển con trượt đến vị trí 150 mm. Ở bên phải, bộ truyền động điều khiển con trượt đến vị trí 100 mm.

Lưu ý rằng: dù chế độ 1P hay 2P được chọn, các lệnh di chuyển đều hoạt động như nhau.

 

3/ Điều khiển tự động trong công nghiệp

Vấn đề phổ biến nhất với việc sử dụng điều khiển xung là hệ thống dây điện. Các tín hiệu thường ngẫu nhiên có dây ngược lại. Trong chế độ 2P, điều này có nghĩa là đầu ra CCW được kết nối với đầu vào CW và ngược lại. Trong chế độ 1P, đầu ra tín hiệu xung được nối với đầu vào trực tiếp và đầu ra tín hiệu định hướng được kết nối với đầu vào xung. Ở chế độ 2P, lỗi nối dây này làm cho động cơ quay CW khi được lệnh quay CCW và CCW khi được lệnh quay CW. Ở chế độ 1P, vấn đề này thường khó chẩn đoán hơn. Nếu các tín hiệu được hoán đổi, bộ điều khiển sẽ gửi một chuỗi xung đến đầu vào trực tiếp, mà không làm gì cả. Nó cũng sẽ gửi tín hiệu thay đổi hướng (bật hoặc tắt tín hiệu tùy theo hướng) đến đầu vào bước có thể khiến động cơ quay một xung. Trong khi một xung chuyển động thường khá khó phát hiện. Sử dụng chế độ 2P giúp xử lý sự cố dễ dàng hơn và thường dễ hiểu hơn đối với những người không có nhiều kinh nghiệm trong loại điều khiển chuyển động này.

Ở đây, có một phương pháp để đảm bảo tốn ít thời gian nhất để khắc phục sự cố xung và hướng trục. Cho phép các kỹ sư tập trung vào một vấn đề tại một thời điểm. Điều này sẽ ngăn bạn tốn nhiều ngày để tìm ra lỗi dây rồi phát hiện ra chức năng đầu ra xung được cấu hình không chính xác trong PLC và bạn không thể xuất ra xung.

  1. Xác định chế độ xung được sử dụng và sử dụng cùng chế độ cho tất cả các trục.
  2. Thiết lập bộ điều khiển ở chế độ thích hợp.
  3. Thiết lập drive ở chế độ thích hợp.
  4. Tạo chương trình đơn giản nhất trong bộ điều khiển của bạn (thường là chức năng chạy thử) để động cơ có thể được ra lệnh quay theo hướng này hay hướng khác với tốc độ chậm.
  5. Điều khiển một chuyển động quay CW và theo dõi bất kỳ trạng thái nào trong bộ điều khiển để cho biết các xung đang được phát ra.
    • Đây có thể là đèn LED trên đầu ra từ bộ điều khiển hoặc cờ trạng thái như cờ bận trong PLC. Bộ đếm đầu ra xung trong bộ điều khiển cũng có thể được theo dõi để xem nó đang thay đổi giá trị.
    • Động cơ không cần kết nối với xung đầu ra.
  1. Lặp lại quá trình test với chuyển động quay CCW
  2. Nếu xuất xung theo cả hai hướng thành công, hãy tiếp tục. Nếu không, code lập trình phải được sửa đầu tiên.
  3. Đấu dây bộ điều khiển cho drive.
  4. Động cơ chạy chậm theo một hướng. Nếu nó hoạt động, hãy chuyển sang bước 10. Nếu nó không hoạt động, hãy kiểm tra hệ thống dây điện.
  5. Chạy động cơ theo hướng ngược lại. Nếu nó hoạt động, bạn đã thành công. Nếu nó không hoạt động, hãy kiểm tra hệ thống dây điện.

Khá nhiều thời giờ đã bị lãng phí ở giai đoạn đầu tiên này bởi vì tần số xung đủ thấp làm cho động cơ quay cực kỳ chậm, như 1/100 rps. Nếu cách duy nhất bạn có thể biết nó đang vận hành là bằng cách xem trục động cơ, thì nó có thể trông như quay ở tốc độ thấp, khiến người ta nghĩ rằng nó không có xung. Tốt nhất là tính toán tốc độ an toàn dựa trên độ phân giải của động cơ và các thông số ứng dụng trước khi tốc độ được  thử nghiệm. Một số người tin rằng họ có thể thiết lập tốc độ chỉ bằng cách phán đoán. Nhưng nếu động cơ cần 10000 xung để quay một vòng và tần số xung được đặt ở mức 1000 pps, động cơ sẽ mất 10 giây. để di chuyển một vòng tròn hoàn chỉnh. Ngược lại, nếu động cơ cần 1000 xung để di chuyển một vòng quay và tần số xung được đặt thành 1000, động cơ sẽ di chuyển một vòng quay mỗi giây hay 60 vòng / phút. Điều đó có thể quá nhanh khi thử nghiệm nếu động cơ được gắn vào tải như bộ truyền động vít bi với khoảng cách chuyển động giới hạn, điều này có khả năng sẽ gây va chạm. Điều quan trọng là phải kiểm tra được các xung đang được phát ra hay không (đèn LED hoặc bộ đếm xung).

4/ Tính toán cho ứng dụng thực tế

Người dùng thường chọn HMI hiển thị khoảng cách và tốc độ của máy dưới dạng xung thay vì  milimet. Thông thường các lập trình viên được yêu cầu nhanh chóng làm cho máy hoạt động và không quan tâm các đơn vị mặc định của máy và chuyển đổi chúng thành các đơn vị kỹ thuật. Sau đây là một vài lời khuyên. Nếu bạn biết độ phân giải bước động cơ (xung trên mỗi vòng quay) và chuyển động được thực hiện trên mỗi vòng quay động cơ (mm), hằng số xung lệnh được tính là độ phân giải / khoảng cách trên mỗi vòng quay hoặc xung trên mỗi vòng quay / khoảng cách trên mỗi vòng quay.

Hằng số có thể giúp xác định bao nhiêu xung cần thiết để di chuyển một khoảng cách cụ thể: Vị trí hiện tại (hoặc khoảng cách) = xung đếm /số lệnh xung không đổi.

điều khiển vít me bi
Một hệ thống vít bi điều khiển động cơ di chuyển 10 mm mỗi vòng quay.

Để chuyển đổi các đơn vị kỹ thuật thành xung, trước tiên hãy xác định hằng số số lượng xung cần thiết cho một lần di chuyển nhất định. Giả sử trong ví dụ trên, động cơ cần 500 xung để quay một vòng và một vòng là 10 mm. Tính hằng số có thể được thực hiện bằng cách chia 500 (ppr) cho 10 (mm p / r). Vậy hằng số là 500 xung / 10 mm hoặc 50 xung / 1 mm. Hằng số này sau đó có thể được sử dụng để tính toán số lượng xung cần thiết để di chuyển một khoảng cách nhất định. Ví dụ: để di chuyển 15 mm, 15 mm × 50 ppm = 750 xung. 

Để chuyển đổi bộ đếm xung thành các đơn vị kỹ thuật, chỉ cần chia giá trị bộ đếm xung cho hằng số xung lệnh. Do đó, nếu bộ đếm xung đọc 6000, chia cho hằng số xung lệnh được tính từ ví dụ trên, vị trí bộ truyền động sẽ là 6000 xung / 50 ppm = 120 mm.

Để điều khiển tốc độ tính bằng mm và yêu cầu bộ điều khiển tính tần số thích hợp bằng Hz (xung trên giây), trước tiên phải xác định hằng số tốc độ. Điều này được thực hiện bằng cách tìm hằng số xung lệnh (như được trình bày ở trên), nhưng các đơn vị được thay đổi. Nói cách khác, nếu động cơ đưa ra 500 ppr và bộ truyền động di chuyển 10 mm mỗi vòng quay, thì nếu 500 xung mỗi giây được ra lệnh, bộ truyền động sẽ di chuyển 10 mm mỗi giây. Chia 500 xung mỗi giây cho 10 mm mỗi giây cho kết quả 50 xung mỗi giây mỗi mm. Do đó, nhân tốc độ mục tiêu với 50 kết quả trong tần số xung thích hợp.

Các công thức là như nhau, nhưng các đơn vị thay đổi:

  • Tốc độ không đổi tính bằng pps = xung trên mỗi vòng quay / khoảng cách trên mỗi vòng quay
  • Tốc độ xung (pps) = (hằng số tốc độ) × tốc độ tính bằng mm

Tuy nhiên, việc thiết lập sử dụng tín hiệu mạch xung để điều khiển chuyển động lúc đầu có vẻ khó nhằn, tuy nhiên, việc chú ý đến các loại tín hiệu và cài đặt trên bộ điều khiển và các drive lúc đầu có thể giảm thời gian làm cho công đoạn này. Ngoài ra, nếu bạn dành thời gian để thực hiện một số tính toán cơ bản ngay lập tức, việc lập trình tốc độ và khoảng cách sẽ dễ dàng hơn và người vận hành máy sẽ có thông tin trực quan hơn được hiển thị trên HMI của họ.

Bài viết liên quan