1. Trang chủ
  2. » Luận Văn - Báo Cáo

PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview

102 125 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 102
Dung lượng 4,14 MB

Cấu trúc

  • 1.1 Tổng quan đề tài

  • 1.2 Mục tiêu của đề tài

  • 1.3 Cấu trúc quyển đồ án

  • 1.4 Kế hoạch thực hiện

    • Bảng 1.1 Phân chia công việc thực hiện

  • 2.1 Vi điều khiển PIC16F877A

    • 2.1.1 Giới thiệu

      • Hình 2.1 Hình PIC16F877A trong thực tế

      • Hình 2.2 Sơ đồ chân PIC16F877A

  • 2.2 Nguyên lý về Timer

    • 2.2.1 Timer 1

      • Hình 2.3 Cấu trúc thanh ghi T1CON điều khiển hoạt động của Timer 1

    • 2.2.2 Cách tính thông số cài đặt TIMER 1

  • 2.3 Xung PWM

    • 2.3.1 Giới thiệu

    • 2.3.2 Phương pháp điều chế xung

      • Hình 0.4 Đồ thị dạng xung điều chế PWM

    • 2.3.3 Cách tính thông số cài đặt PWM

  • 2.4 Bộ điều khiển PID

    • 2.4.1 Giới thiệu

    • 2.4.2 Lý thuyết điều khiển PID

      • Hình 2.6 Quá trình điều khiển với các hệ số Kp khác nhau

    • 2.4.3 Phương pháp điều chỉnh thông số bộ điều khiển

      • Bảng 4.1 Sự tác động đến hệ thống khi tăng Kp,Ki,Kd

      • Bảng 4.2 Điều chỉnh thông số phương pháp Ziegler–Nichols

  • 2.5 Giao tiếp UART

    • 2.5.1 Khái niệm UART

    • 2.5.2 Truyền thông nối tiếp và song song

    • 2.5.3 Truyền thông UART

      • Hình 0.7 Truyền thông UART

  • 2.6 Các công cụ và thiết bị

    • 2.6.1 Encoder

      • 2.6.1.1 Phân loại

        • Hình 2.8 Encoder tuyệt đối

        • Hình 2.9 Encoder tương đối

        • Hình 2.10 Cấu tạo Encoder tương đối

        • Hình 2.11 Tín hiệu lệnh pha nhau của 2 kênh Encoder

    • 2.6.2 Mạch cầu H XY-160D L298

      • Hình 2.12 Hình ảnh của XY-160D L298

      • Hình 2.13 Nguyên lý hoạt động mạch cầu H

    • 2.6.3 Động cơ DC

      • Hình 2.14 Động cơ DC 24V

      • 2.6.3.1 Phân loại động cơ DC

      • 2.6.3.2 Cấu tạo và nguyên lí hoạt động

        • Hình 2.15 Cấu tạo động cơ DC

      • 2.6.3.3 Ưu, nhược điểm của động cơ điện một chiều

    • 2.6.4 Nguồn tổ ong

      • Hình 2.16 Nguồn tổ ong 24V

    • 2.6.5 LCD

    • 2.6.6 Bộ đếm CT6S-1P4

      • Hình 0.18 Bộ đếm Counter Autonics CT6S-1P4

      • Hình 0.19 Sơ đồ kết nối CT6S-1P4

    • 2.6.7 Đèn DC 24V

      • Hình 0.20 Đèn DC 24V

  • 2.7 Phần Mềm

    • 2.7.1 Phần mềm Labview

      • 2.7.1.1 Giới thiệu

        • Hình 2.21 Biểu tượng Labview

      • 2.7.1.2 Các thành phần chính của Labview

        • Hình 2.22 Giao diện Front Panel

        • Hình 2.23 Giao diện Block Diagram

    • 2.7.2 Phần mềm CCS

      • 2.7.2.1 Giới thiệu

        • Hình 2.24 Phần mềm CCS

      • 2.7.2.2 Khái quát về CCS

  • 3.1 Sơ đồ đấu dây

  • 3.2 Sơ đồ khối của hệ thống

  • 3.3 Sơ đồ khối chi tiết

    • 3.3.1 Khối công suất

      • Hình 3.3 Sơ đồ khối công suất

    • 3.3.2 Khối nguồn

      • Hình 3.4 Sơ đồ nguyên lý khối nguồn

    • 3.3.3 Khối điều khiển

      • Hình 3.5 Sơ đồ nguyên lý khối điều khiển

    • 3.3.4 Khối hiển thị

    • 3.3.5 Khối nút nhấn

      • Hình 3.7 Sơ đồ nguyên lý khối nút nhấn

    • 3.3.6 Khối Encoder

      • Hình 3.8 Sơ đồ nguyên lý khối Encoder

  • 3.4 Bản vẽ mặt trên KIT thực tập

    • Hình 3.9 Bản vẽ mặt trên kit thực tập Encoder

  • 4.1 Lưu đồ giải thuật chương trình chính

    • Hình 4.1 Lưu đồ giải thuật chương trình chính

  • 4.2 Lưu đồ giải thuật chương trình con ngắt ngoài đọc xung Encoder

    • Hình 4.2 Lưu đồ giải thuật chương trình con ngắt ngoài đọc xung encoder

  • 4.2 Lưu đồ giải thuật chương trình con ngắt Timer 1

    • Hình 4.3 Lưu đồ giải thuật chương trình con ngắt Timer 1

  • 4.3 Lưu đồ giải thuật chương trình nút nhấn chạy

    • Hình 4.4 Lưu đồ giải thuật chương trình nút nhấn chạy

  • 4.4 Lưu đồ giải thuật chương trình nút nhấn chuyển

    • Hình 4.5 Lưu đồ giải thuật nút nhấn chuyển

  • 4.5 Lưu đồ giải thuật chương trình nút nhấn tăng

    • Hình 4.6 Lưu đồ giải thuật chương trình nút nhấn tăng

  • 4.6 Lưu đồ giải thuật chương trình nút nhấn giảm

    • Hình 4.7 Lưu đồ giải thuật nút nhấn giảm

  • 4.7 Lưu đồ giải thuật chương trình giao tiếp

    • Hình 4.8 Lưu đồ giải thuật chương trình giao tiếp

  • 4.8 Lưu đồ giải thuật LCD tốc độ

    • Hình 4.9 Lưu đồ giải thuật LCD tốc độ

  • 4.9 Lưu đồ giải thuật LCD vị trí

    • Hình 4.10 Lưu đồ giải thuật LCD vị trí

  • 4.10 Lưu đồ giải thuật tính PID

    • Hình 4.11 Lưu đồ giải thuật tính PID

  • 5.1 Kết quả đạt được

    • 5.1.1 Kết quả thi công phần cứng

      • Hình 5.1 Mô hình kit thực tập và hộp điều khiển

    • 5.1.2 Kết quả

    • 5.1.3 Quá trình hoạt động

  • 5.2 Ưu và nhược điểm

    • 5.2.1 Ưu điểm

    • 5.2.2 Nhược điểm

  • 5.3 Hướng phát triển

Nội dung

Đồ Án Tốt nghiệp Cao Đẳng Kit Thực Tập Encoder Người Thực Hiện Bộ Môn Tự Động Hóa Khoa Điện Điện tử Trường Cao Đẳng Kỹ Thuật Cao Thắng Tháng 1 năm 2022 Kit Thực Tập Encoder Người thực hiện Kit Thực Tập Encoder Người thực hiện Hội Đồng Chấm Bảo Vệ (Trưởng Ban ) (Thành Viên) (Thành Viên) (Thành Viên) (Thành Viên) (Thành Viên) (Thành Viên) Tháng 1 năm 2022 Nhận xét của giảng viên hướng dẫn Ký tên Nhận xét của giảng viên phản biện Ký tên Lời cảm ơn Trong thời gian làm đồ án tốt nghiệp, em đã nhận đư.

T ỔNG QUAN ĐỀ TÀI

Trong thời đại công nghiệp hóa và hiện đại hóa, phương pháp thủ công đang dần được thay thế bởi máy móc hiện đại, thúc đẩy sự phát triển của lĩnh vực điều khiển tự động Điều khiển không chỉ đòi hỏi sự chính xác và tốc độ xử lý mà còn cần các thuật toán phù hợp, trở thành yếu tố thiết yếu trong nền công nghiệp hiện đại Hầu hết các thiết bị công nghiệp, như máy CNC và dây chuyền sản xuất, sử dụng động cơ điện một chiều, trong đó yêu cầu quan trọng là điều khiển ổn định và trơn tru tốc độ cũng như vị trí của động cơ trong quá trình vận hành.

Hìn h 1.1 Dây chuyền sản xuất mỹ phẩm

M ỤC TIÊU CỦA ĐỀ TÀI

Thông qua đề tài “Kit cảm biến Encoder”, nhóm nghiên cứu sẽ khám phá sâu về phương pháp hiệu chỉnh PID, cấu trúc và nguyên lý hoạt động của Encoder, từ đó phát triển các ứng dụng thực tiễn trong cuộc sống.

 Đề tài này có mục đích là điều khiển và hiển thị tốc độ và vị trí động cơ

Bài viết này trình bày việc điều khiển DC bằng máy tính sử dụng vi điều khiển PIC16F877A, giao tiếp với máy tính thông qua giao thức truyền thông UART Dữ liệu được hiển thị trên phần mềm LabVIEW, và quá trình điều khiển được thực hiện bằng thuật toán PID.

 Thiết kế được mô hình Kit thực tập.

 Hiểu và sử dụng được thuật toán PID.

C ẤU TRÚC QUYỂN ĐỒ ÁN

+ Mục tiêu của đề tài

+ Cấu trúc quyển báo cáo

+ Các công cụ và thiết bị

Chương 3: Sơ đồ khối và lưu đồ giải thuật

Chương 4: Chương trình điều khiển

+ Trình bày các lưu đồ giải thuật và chương trình điều khiển

Chương 5: Kết luận và hướng phát triển

+ Trình bày kết quả đạt được, rút ra nhận xét ưu, nhược điểm và hướng phát triển của đồ án

K Ế HOẠCH THỰC HIỆN

Bảng 1.1 Phân chia công việc thực hiện

Chương 2 Lý Thuyết Cơ Bản

V I ĐIỀU KHIỂN PIC16F877A

G IỚI THIỆU

Hình 2.1 Hình PIC16F877A trong thực tế PIC là tên viết tắt của “Programmable Intelligent Computer”

PIC16F877A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hết tất cả các ứng dụng thực tế

PIC16F877A thuộc họ vi điều khiển 16Fxxx có các đặt tính sau:

 Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit.

 Bộ nhớ chương trình Flash 8Kx14 words, với khả năng ghi xoá khoảng 100 ngàn lần.

 Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài).

 Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp

Bài viết đề cập đến ba loại timer trong hệ thống: Timer0, một timer 8 bit có chức năng định thời và bộ đếm với hệ số tỷ lệ trước; Timer1, một timer 16 bit cũng có chức năng bộ định thời và bộ đếm với hệ số tỷ lệ trước, đồng thời hỗ trợ kích hoạt chế độ Sleep; và Timer2, một timer 8 bit với chức năng định thời và bộ đếm, sử dụng cả hệ số tỷ lệ trước và sau.

 Có 2 kênh Capture/ so sánh điện áp (Compare)/điều chế độ rộng xung PWM 10 bit / (CCP).

 Có 8 kênh chuyển đổi ADC 10 bit.

Một vài tính năng của PIC16F877A được ứng dụng trong đồ án:

 Tổ chức bộ nhớ của PIC16F877A.

 Chức năng của các Port I/O.

 Chức năng và cách thiết lập các tham số của 3 Timer 0,1,2.

 Chức năng và cách thiết lập bộ điều chế độ rộng xung PWM.

 Định nghĩa ngắt, các nguồn ngắt và tìm hiểu sâu về ngắt timer và ngắt ngoài

2.1.2 Sơ đồ chân của PIC16F877A

Hình 2.2 Sơ đồ chân PIC16F877A

Từ sơ đồ chân ở trên, ta rút ra các nhận xét ban đầu như sau :

- PIC16F877A có tất cả 40 chân

- 40 chân trên được chia thành 5 PORT, 2 chân cấp nguồn, 2 chân GND, 2 chân thạch anh và một chân dùng để RESET vi điều khiển.

N GUYÊN LÝ VỀ T IMER

T IMER 1

Các thanh ghi liên quan đến Timer 1 bao gồm:

 INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động

 PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF).

 PIE1 (địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE)

 Hai thanh ghi TMR1L và TMR1H là 2 thanh ghi chứa dữ liệu 16 bit (lần lượt chứa 4 bit thấp và 4 bit cao) của bộ đếm Timer1

 T1CON (địa chỉ 10h): xác lập các thông số chia Timer

Hình 2.3 Cấu trúc thanh ghi T1CON điều khiển hoạt động của Timer 1

 Bit 5,4 T1CKPS1: T1CKPS0 lựa chọn hệ số chia xung vào

 Bit 3 T1OSCEN bit điều khiển bộ dao động Timer 1

1= Bộ dao động hoạt động

0= Bộ dao động không hoạt động

 Bit 2 bit điều khiển xung clock ngoài đồng bộ khi TMR1CS=1

Bit 2= 0 có đồng bộ clock ngoài

=1 không đồng bộ clock ngoài

Khi TMR1CS=0 bit này không có tác dụng

 Bit 1 TMR1CS bit lựa chọn nguồn xung clock vào

TMR1CS=1 clock từ chân RC0/T1OSO/T1CKI (sườn lên)

TMR1CS=0 clock trong Fosc/4

 Bit 0 bit bật tắt Timer

C ÁCH TÍNH THÔNG SỐ CÀI ĐẶT TIMER 1

Chọn bộ chia tần cho timer 1 có tỉ số 1:8

Timer 1 đếm xung có tần số được xác định theo công thức:

Thời gian Timer 1 đếm đến 1 xung là chu kì của xung:

Tổng số xung Timer 1 đếm trong thời gian delay ms

Giá trị timer cần cài:

 Để đếm được 6250 xung timer 1 sẽ bị tràn giá trị khởi tạo ban đầu cho Timer 1 là 59285

X UNG PWM

G IỚI THIỆU

Xung là các trạng thái điện áp cao/thấp (HIGH/LOW) lặp đi lặp lại, được đặc trưng bởi tần số (frequency) và chu kỳ xung (duty cycle) trong kỹ thuật điều chế độ rộng xung (PWM - Pulse Width Modulation).

Tần số: để tính toán thời gian của 1 xung.

Chu kì: bao nhiêu thời gian xung ở mức cao, bao nhiêu thời gian xung ở mức thấp.

P HƯƠNG PHÁP ĐIỀU CHẾ XUNG

Phương pháp điều xung PWM (Điều chế độ rộng xung) là kỹ thuật điều chỉnh điện áp đầu ra cho tải, thông qua việc thay đổi độ rộng của các xung vuông Sự thay đổi này dẫn đến việc điều chỉnh điện áp đầu ra một cách hiệu quả.

Các PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay sườn âm.

Hình 0.4 Đồ thị dạng xung điều chế PWM

C ÁCH TÍNH THÔNG SỐ CÀI ĐẶT PWM

Xác định Mode và period:

B Ộ ĐIỀU KHIỂN PID

G IỚI THIỆU

Bộ điều khiển vi tích phân tỉ lệ (PID) là một cơ chế phản hồi quan trọng trong vòng điều khiển, được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp PID là loại bộ điều khiển phản hồi phổ biến nhất, giúp tối ưu hóa hiệu suất và độ ổn định của hệ thống.

Bộ điều khiển PID tính toán sai số bằng cách lấy hiệu số giữa giá trị đo và giá trị đặt mong muốn Để giảm thiểu sai số, bộ điều khiển điều chỉnh giá trị điều khiển đầu vào một cách tối ưu.

Bộ điều khiển PID sử dụng ba thông số riêng biệt, được gọi là điều khiển ba khâu, bao gồm giá trị tỉ lệ (P), tích phân (I) và đạo hàm (D) Giá trị tỉ lệ xác định ảnh hưởng của sai số hiện tại, giá trị tích phân phản ánh tác động của tổng các sai số trong quá khứ, và giá trị vi phân đánh giá ảnh hưởng của tốc độ biến đổi sai số.

Hình 2.5 Sơ đồ khối bộ điều khiển PID

L Ý THUYẾT ĐIỀU KHIỂN PID

Sơ đồ điều khiển PID được đặt tên theo ba khâu hiệu chỉnh của nó, tổng của ba khâu này tạo thành biến điều khiển u(t) Ta có:

P out , I out , D out: là các thành phần đầu ra của ba khâu của bộ điều khiển PID

Khâu tỉ lệ, hay còn gọi là độ lợi, có tác dụng điều chỉnh giá trị đầu ra dựa trên giá trị sai số hiện tại Để điều chỉnh đáp ứng tỉ lệ, ta nhân sai số với hằng số Kp, được biết đến là hệ số tỉ lệ.

Khâu tỉ lệ được cho bởi:

P out : đầu ra khâu điều khiển tỉ lệ

K p : Hệ số tỉ lệ, thông số điều chỉnh e : Sai số ( SV – PV ) t: thời gian hay thời gian tức thời

Hệ số của khâu tỉ lệ lớn phản ánh sự thay đổi lớn ở đầu ra với sai số đầu vào nhỏ, nhưng nếu hệ số này quá cao, hệ thống sẽ trở nên không ổn định Ngược lại, hệ số nhỏ dẫn đến đầu ra hạn chế trong khi sai số đầu vào lớn, khiến bộ điều khiển kém nhạy và phản ứng chậm Nếu hệ số khâu tỉ lệ quá thấp, tác động điều khiển sẽ không đủ mạnh để ứng phó với các nhiễu trong hệ thống.

Hình 2.6 Quá trình điều khiển với các hệ số Kp khác nhau

Phân phối của khâu tích phân, hay còn gọi là reset, tỉ lệ thuận với biên độ sai số và thời gian xảy ra sai số Tổng sai số tức thời theo thời gian (tích phân sai số) giúp ta tích lũy bù đã được hiệu chỉnh Sai số tích lũy sau đó được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển Biên độ phân phối của khâu tích phân trên tất cả các tác động điều chỉnh được xác định bởi độ lợi tích phân.

Thừa số tích phân được cho bởi:

I out : thừa số tích phân của đầu ra

Ki: độ lợi tích phân ( thông số dùng để điều chỉnh ) e : Sai số ( SV – PV ) t: thời gian hoặc thời gian tức thời

: một biến tích phân trung gian

Khâu tích phân, khi kết hợp với khâu tỉ lệ, giúp tăng tốc độ chuyển động tới điểm đặt và loại bỏ sai số ổn định với tỷ lệ phụ thuộc vào bộ điều khiển Tuy nhiên, do khâu tích phân phản ánh sai số tích lũy trong quá khứ, nó có thể dẫn đến việc giá trị hiện tại vượt quá giá trị đặt, gây ra độ lệch và dao động qua điểm đặt.

Tốc độ thay đổi của sai số được xác định thông qua độ dốc của sai số theo thời gian, tương ứng với đạo hàm bậc một Tốc độ này sau đó được nhân với độ lợi tỉ lệ Kd Biên độ của phân phối khâu vi phân, thường gọi là tốc độ, trên tất cả các hành vi điều khiển bị giới hạn bởi độ lợi vi phân Thừa số vi phân được xác định bởi các yếu tố liên quan đến sai số.

D out : thừa số vi phân của đầu ra

Kd: độ lợi vi phân ( thông số dùng để điều chỉnh ) e : sai số ( SV – PV ) t: thời gian tức thời ( hiện tại )

Khâu vi phân làm giảm tốc độ thay đổi của đầu ra bộ điều khiển, ảnh hưởng lớn đến điểm đặt của nó Việc sử dụng điều khiển vi phân giúp giảm biên độ vọt lố do thành phần tích phân gây ra và tăng cường độ ổn định cho bộ điều khiển hỗn hợp Tuy nhiên, việc vi phân tín hiệu có thể khuếch đại nhiễu, làm cho khâu này nhạy cảm hơn với nhiễu trong sai số, dẫn đến khả năng gây ra sự không ổn định nếu nhiễu và độ lợi vi phân quá lớn.

P HƯƠNG PHÁP ĐIỀU CHỈNH THÔNG SỐ BỘ ĐIỀU KHIỂN

Để duy trì trạng thái online cho hệ thống, có thể điều chỉnh PID bằng cách thiết lập Ki và Kd ban đầu bằng không, sau đó tăng dần Kp cho đến khi đầu ra dao động Kp sau đó được điều chỉnh về khoảng một nửa giá trị dao động để đạt được đáp ứng "1/4 giá trị suy giảm biên độ" Tiếp theo, Ki được tăng đến mức phù hợp để đảm bảo thời gian xử lý, nhưng cần chú ý rằng Ki quá lớn có thể gây mất ổn định Cuối cùng, Kd có thể được tăng nếu cần thiết để vòng điều khiển nhanh chóng phục hồi giá trị đặt sau khi bị nhiễu, tuy nhiên, Kd quá lớn sẽ dẫn đến đáp ứng dư và vọt lố Đối với những hệ thống không chấp nhận vọt lố, cần thiết lập giá trị Kp nhỏ hơn một nửa giá trị Kp gây dao động Tác động của việc điều chỉnh các thông số Kp, Ki, Kd được tóm tắt trong bảng.

Bảng 4.1 Sự tác động đến hệ thống khi tăng Kp,Ki,Kd

Khâu Thời gian khởi động Quá độ Thời gian xác lập Sai số ổn định

Kp Giảm Tăng Ít thay đổi Giảm

Ki Giảm Tăng Tăng Triệt tiêu

Kd Giảm ít Gỉảm ít Giảm ít Ít thay đổi

 Đặt Ki = Kd = 0 Tăng Kp đến khi hệ thống dao động tuần hoàn.

 Đặt giá trị Kp này = K

 Đo chu kỳ dao động P

Bảng 4.2 Điều chỉnh thông số phương pháp Ziegler–Nichols

Dạng điều khiển Kp Ki Kd

G IAO TIẾP UART

K HÁI NIỆM UART

UART, viết tắt của "Universal Asynchronous Receiver / Transmitter", là một vi mạch tích hợp trong vi điều khiển, khác với các giao thức truyền thông như I2C và SPI Chức năng chính của UART là truyền dữ liệu nối tiếp, cho phép giao tiếp giữa hai thiết bị thông qua hai phương thức: giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song.

T RUYỀN THÔNG NỐI TIẾP VÀ SONG SONG

Giao tiếp dữ liệu nối tiếp cho phép truyền dữ liệu qua cáp hoặc đường dây dưới dạng bit-bit, chỉ cần hai cáp So với giao tiếp song song, truyền thông dữ liệu nối tiếp có chi phí thấp hơn, yêu cầu ít mạch và dây hơn Vì vậy, giao tiếp nối tiếp rất hữu ích trong các mạch ghép.

Giao tiếp dữ liệu song song cho phép truyền tải dữ liệu qua nhiều cáp đồng thời, mang lại tốc độ nhanh chóng nhưng tốn kém do yêu cầu về phần cứng và cáp bổ sung Những thiết bị tiêu biểu cho loại giao tiếp này bao gồm máy in cũ, PCI và RAM.

T RUYỀN THÔNG UART

Trong giao tiếp UART, có hai loại chính là truyền UART và nhận UART, cho phép giao tiếp trực tiếp giữa chúng Để thực hiện điều này, chỉ cần hai cáp kết nối giữa hai UART Dữ liệu được truyền từ chân Tx của UART này sang chân Rx của UART kia Đặc biệt, quá trình truyền dữ liệu giữa Tx và Rx UART diễn ra không đồng bộ, không cần tín hiệu CLK để đồng bộ hóa các bit đầu ra.

Start-bit, hay còn gọi là bit đồng bộ hóa, được sử dụng để đánh dấu sự bắt đầu của quá trình truyền dữ liệu Trong một đường truyền dữ liệu, mức điện áp cao được sử dụng để duy trì trạng thái không hoạt động Khi bắt đầu truyền dữ liệu, UART sẽ kéo đường dữ liệu từ mức điện áp cao (1) xuống mức điện áp thấp (0), từ đó nhận diện sự chuyển đổi này và bắt đầu giải mã dữ liệu thực Thông thường, chỉ có một start-bit được sử dụng trong quá trình này.

Bit dừng được đặt ở phần cuối của gói dữ liệu Thông thường, bit này dài

2 bit nhưng thường chỉ sử dụng 1 bit Để dừng sóng, UART giữ đường dữ liệu ở mức điện áp cao.

Bit chẵn lẻ giúp người nhận xác nhận tính chính xác của dữ liệu thu thập Đây là một phương pháp kiểm tra lỗi đơn giản, với hai loại là chẵn lẻ – chẵn lẻ và chẵn lẻ – lẻ Mặc dù có tính năng hữu ích, nhưng bit chẵn lẻ không được áp dụng phổ biến và không phải là yêu cầu bắt buộc.

Dữ liệu bit hoặc khung dữ liệu

Các bit dữ liệu bao gồm thông tin thực được gửi từ người gửi đến người nhận Độ dài khung dữ liệu thường nằm trong khoảng từ 5 đến 8 bit, nhưng nếu không sử dụng bit chẵn lẻ, chiều dài có thể lên đến 9 bit.

LSB của dữ liệu được truyền trước tiên sau đó nó rất hữu ích cho việc truyền.

C ÁC CÔNG CỤ VÀ THIẾT BỊ

E NCODER

Bộ mã hóa, hay còn gọi là encoder, là một thiết bị cảm biến chuyển động cơ học có khả năng chuyển đổi chuyển động thành tín hiệu kỹ thuật số Nó hoạt động như một thiết bị cơ điện, tạo ra các tín hiệu số hoặc xung để phản ánh sự chuyển động.

Bộ mã hóa Encoder đóng vai trò quan trọng trong cấu trúc của máy công nghiệp, giúp đo lường và hiển thị các thông số liên quan đến tốc độ hoạt động của máy.

Có hai loại bộ mã hóa chính: bộ mã hóa tuyến tính và bộ mã hóa quay Bộ mã hóa tuyến tính được thiết kế để theo dõi chuyển động dọc theo một đường dẫn nhất định, trong khi bộ mã hóa quay chuyên dụng cho việc nhận diện chuyển động quay.

2.6.1.1 Phân loại a) Encoder tuyệt đối

Encoder tuyệt đối (Absolute Encoder) cung cấp tín hiệu chính xác về vị trí của nó mà không cần xử lý thêm từ người sử dụng.

Một số đặc điểm của Encoder tuyệt đối:

 Sử dụng đĩa theo mã nhị phân hoặc mã Gray.

Bộ thiết bị này bao gồm ba thành phần chính: một bộ phát ánh sáng LED, một đĩa mã hóa chứa dải băng mang tín hiệu, và một bộ thu ánh sáng nhạy với ánh sáng phát ra.

 Đĩa mã hóa ở Encoder được chế tạo từ vật liệu trong suốt, người ta đã chia mặt đĩa thành các góc đều nhau cùng các đường tròn đồng tâm.

Encoder tuyệt đối nổi bật với khả năng duy trì giá trị tuyệt đối ngay cả khi mất nguồn, tuy nhiên, chi phí sản xuất cao do quy trình chế tạo phức tạp và phương pháp đọc tín hiệu cũng gặp nhiều khó khăn.

Hình 2.8 Encoder tuyệt đối b/ Encoder tương đối

Một số đặc điểm của Encoder tương đối (Incremental Encoder) :

 Đĩa mã hóa bao gồm một dãi băng tạo xung, thường được chia thành nhiều lỗ bằng nhau và được cách đều nhau.

 Là Encoder chỉ có 1,2 hoặc tối đa 3 vòng lỗ, và thường có thêm một lỗ định vị.

 Ưu điểm: giá thành rẻ, chế tạo đơn giản, xử lý tín hiệu trả về dễ dàng.

 Nhược điểm: dễ bị sai lệch về xung khi trả về Sẽ tích lũy sai số khi hoạt động lâu dài.

Encoder hoạt động dựa trên nguyên lý đĩa quay quanh trục, với các rãnh cho phép tín hiệu quang chiếu qua Khi có rãnh, ánh sáng từ đèn LED có thể xuyên qua, trong khi ở những vị trí không có rãnh, ánh sáng không thể đi qua Nhờ vào sự hiện diện hoặc vắng mặt của ánh sáng, người ta có thể ghi nhận được tín hiệu từ đèn LED.

Số xung của Encoder được xác định dựa trên số lần ánh sáng đi qua các khe trên đĩa Chẳng hạn, nếu đĩa có 100 khe, mỗi vòng quay sẽ tạo ra 100 tín hiệu được Encoder ghi nhận Nguyên lý này áp dụng cho các loại Encoder cơ bản, trong khi các loại khác có thể có nhiều lỗ hơn trên đĩa, dẫn đến sự khác biệt trong tín hiệu thu nhận.

Cảm biến thu ánh sáng sẽ bật tắt liên tục, từ đó:

 Tạo ra các tín hiệu dạng xung vuông.

 Tín hiệu dạng xung sẽ được truyền về bộ xử lý trung tâm để đo đạc, xác định vị trí/ tốc độ của động cơ.

Hình 2.10 Cấu tạo Encoder tương đối

Cách xác định chiều quay của động cơ:

Encoder thường có 3 kênh (3 ngõ ra) bao gồm kênh A, kênh B và kênh Z.

Mỗi khi motor quay một vòng, một lỗ nhỏ xuất hiện tại vị trí của cặp phát-thu, cho phép hồng ngoại từ nguồn phát xuyên qua và đến cảm biến quang Điều này tạo ra một tín hiệu trên cảm biến, dẫn đến việc kênh Z ghi nhận một “xung” cho mỗi vòng quay của motor.

Bên ngoài đĩa quay được thiết kế với các rãnh nhỏ, trong đó có một cặp thu-phát dành riêng cho các rãnh này Đây chính là kênh A của Encoder, đảm bảo hoạt động hiệu quả cho kênh.

A cũng tương tự kênh Z, điểm khác nhau là trong 1 vòng quay của motor, có

N “xung” xuất hiện trên kênh A N là số rãnh trên đĩa và được gọi là độ phân giải (resolution) của Encoder.

Trên các Encoder, có một cặp thu phát được đặt trên cùng đường tròn với kênh A, tạo thành kênh B Tín hiệu xung của kênh B có tần số tương tự như kênh A nhưng lệch pha Việc phối hợp tín hiệu từ kênh A và B giúp xác định chiều quay của động cơ.

Hình 2.11 Tín hiệu lệnh pha nhau của 2 kênh Encoder

Cảm biến kênh A và B được bố trí lệch pha, cho phép xác định góc quay và chiều quay của động cơ Khi cảm biến A bị che, cảm biến B nhận hồng ngoại hoàn toàn và ngược lại Nếu động cơ quay theo chiều kim đồng hồ, tín hiệu A giảm từ mức cao xuống thấp trong khi B ở mức thấp Ngược lại, khi động cơ quay ngược chiều kim đồng hồ, tín hiệu A giảm nhưng B lại ở mức cao Nhờ sự phối hợp giữa hai kênh A và B, chúng ta có thể theo dõi cả số xung và chiều quay của động cơ một cách chính xác.

M ẠCH CẦU H XY-160D L298

Mạch cầu H là một mạch điện thiết yếu để đảo chiều dòng điện qua động cơ DC, cho phép điều khiển dòng điện chạy từ A đến B hoặc ngược lại từ B đến A.

A Từ đó giúp đổi chiều quay của động cơ

Hình 2.12 Hình ảnh của XY-160D L298 Chức năng các chân của module XY-160D L298 :

 4 chân INPUT: IN1, IN2, IN3, IN4 Đây là các chân nhận tín hiệu điều khiển.

 4 chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT) Các chân này dùng để xuất tín hiệu điều khiển động cơ

Hai chân ENA và ENB trong mạch L298 được sử dụng để điều khiển hoạt động của mạch cầu H Khi chân ENA hoặc ENB ở mức logic “1” (kết nối với nguồn 5V), mạch cầu H sẽ hoạt động, ngược lại, nếu ở mức logic “0”, mạch cầu H sẽ không hoạt động.

+ Điện áp cung cấp động lưc: tiêu chuẩn 7 - 24VDC (giới hạn 6.5 ~ 27VDC)

+ Mức tín hiệu logic: sử dụng được cho 2 mức logic 3.3V hoặc 5V + Logic High (H): DC 3.0 ~ 6.5V

+ Dòng điện tín hiệu điều khiển: 3 ~ 11 mA cho mỗi kênh.

+ Dòng điện tối đa hoạt động liên tục: 7A.

+ Độ rộng xung tối thiểu: 5us.

Hình 2.13 Nguyên lý hoạt động mạch cầu H

- Khi ENA = 0: Động cơ không quay với mọi đầu vào.

+ INT1 = 1; INT2 = 0: Động cơ quay thuận.

+ INT1 = 0; INT2 = 1: Động cơ quay nghịch.

+ INT1 = INT2: Động cơ dùng ngay tức thì.

Với ENB tương tự với INT3, INT4.

Đ ỘNG CƠ DC

Động cơ một chiều DC (DC là viết tắt của "Direct Current Motors") là loại động cơ hoạt động bằng dòng điện một chiều, tức là nguồn điện áp DC Đầu dây ra của động cơ thường bao gồm hai dây, một dây nguồn (VCC) và một dây tiếp đất (GND).

DC motor là một động cơ một chiều với cơ năng quay liên tục.

 Tốc độ quay tối đa: 960rpm.

 Điện áp hoạt động: 24VDC.

 Chiều dài động cơ: 41mm.

 Đường kính động cơ: 37mm.

2.6.3.1 Phân loại động cơ DC Động cơ điện 1 chiều phân loại theo kích từ thành những loại sau:

Mỗi loại động cơ điện một chiều có những ứng dụng riêng, nhưng chủ yếu chúng ta thường gặp động cơ DC công suất thấp với Stator sử dụng nam châm vĩnh cửu Khi nói đến động cơ DC công suất lớn, chúng ta chỉ quan tâm đến quá trình kích từ, trong đó Stator không phải là nam châm vĩnh cửu mà là nam châm điện Nam châm điện này bao gồm lõi thép kỹ thuật và các bó dây, và để Stator hoạt động như một nam châm điện, chúng ta cần cấp điện cho phần Stator, quá trình này được gọi là kích từ.

2.6.3.2 Cấu tạo và nguyên lí hoạt động a/ Cấu tạo

Gồm có 3 phần chính stator( phần cảm), rotor ( phần ứng), và phần cổ góp- chỉnh lưu

Hình 2.15 Cấu tạo động cơ DC Trong đó:

 Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện.

 Rotor có các cuộn dây quấn và được nối với nguồn điện một chiều.

Bộ phận chỉnh lưu có vai trò quan trọng trong việc đổi chiều dòng điện trong quá trình rotor quay liên tục Thông thường, bộ phận này bao gồm một cổ góp và một bộ chổi than tiếp xúc với cổ góp, giúp duy trì sự ổn định của dòng điện.

Khi áp dụng điện áp một chiều U vào hai chổi điện, dòng điện Iư sẽ chạy qua dây quấn phần ứng Các thanh dẫn mang dòng điện trong từ trường sẽ bị tác động bởi lực Fdt, khiến Roto quay Chiều của lực này được xác định theo quy tắc bàn tay trái.

R ư : Điện trở dây quấn phần ứng

I ư : Dòng điện dây quấn phần ứng Điều chỉnh tốc độ

Ta có phương trình sau: U=E ư + R ư I ư

Thay trị số: với R ư nhỏ, ta có E ư  U

Mắc điện trở điều chỉnh vào mạch phần ứng

Các phương pháp điều chỉnh tốc độ động cơ

 Điều chỉnh các thông số ở mạch của máy điện (ví dụ: gắn thêm trở,

 Thay đổi tốc độ bằng cách thay đổi điện áp nguồn cung cấp cho phần ứng động cơ

 Phương pháp điều rộng xung.

2.6.3.3 Ưu, nhược điểm của động cơ điện một chiều Ưu điểm của động cơ điện 1 chiều

 Moment mở máy lớn, do đó sẽ kéo được tải nặng khi khởi động.

 Khả năng điều chỉnh tốc độ và quá tải tốt.

 Bền bỉ, tuổi thọ lớn

Nhược điểm của động cơ điện 1 chiều

Bộ phận cổ góp có cấu trúc phức tạp và chi phí cao, nhưng thường xuyên gặp phải hư hỏng trong quá trình hoạt động Do đó, việc bảo dưỡng và sửa chữa bộ phận này cần được thực hiện cẩn thận và thường xuyên để đảm bảo hiệu suất hoạt động ổn định.

 Tia lửa điện phát sinh trên cổ góp và chổi than có thể sẽ gây nguy hiểm, nhất là trong điều kiện môi trường dễ cháy nổ.

 Giá thành đắt mà công suất không cao.

Động cơ điện một chiều có ứng dụng đa dạng trong nhiều lĩnh vực của đời sống, bao gồm tivi, máy công nghiệp, đài FM, ổ đĩa DC, và máy in-photocopy Đặc biệt, chúng đóng vai trò quan trọng trong ngành giao thông vận tải và các thiết bị yêu cầu điều khiển tốc độ quay liên tục với phạm vi lớn.

N GUỒN TỔ ONG

Nguồn tổ ong, hay còn gọi là nguồn xung, được đặt tên dựa trên hình dạng các lỗ thông hơi thoát nhiệt của nó Những lỗ này được thiết kế theo dạng lục giác, tương tự như cấu trúc của tổ ong, do đó được gọi là nguồn tổ ong.

Trong nghiên cứu này, nhóm chúng em sử dụng bộ nguồn tổ ong 24V để cung cấp điện cho động cơ, sau đó áp dụng các mạch giảm áp nhằm cung cấp nguồn 5V cho mô hình động cơ.

 Điện áp đầu vào : 220 VAC ( L và N )

 Điện áp đầu ra : 24VDC ( 24V: V+, Mass – Gnd: V-)

 Điện áp ra điều chỉnh :10%

LCD

Màn hình LCD1602 xanh lá, sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự Màn hình này nổi bật với độ bền cao và tính phổ biến, đi kèm với nhiều mã mẫu dễ sử dụng, phù hợp cho người mới học và thực hiện các dự án.

 Điện áp hoạt động là 5 V

 Chữ đen, nền xanh lá

 Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard

 Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện

 Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn

 Có thể được điều khiển với 6 dây tín hiệu

 Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật

 Trong 16 chân của LCD được chia ra làm 3 dạng tín hiệu như sau:

 Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vcc nối với nguồn +5V Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở

Các chân điều khiển của mạch gồm chân RS (chân số 4) để lựa chọn thanh ghi, chân RW để điều khiển quá trình đọc và ghi, và chân EN để cho phép dạng xung chốt.

 Các chân dữ liệu D0 đến D7: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD

B Ộ ĐẾM CT6S-1P4

Hình 0.18 Bộ đếm Counter Autonics CT6S-1P4

 Phương pháp hiển thị: 6 chữ số 4 chữ số

 Phương thức hoạt động => Bộ đếm: Đếm xuôi, đếm ngược, đếm xuôi/ngược

 Bộ định thời: Đếm xuôi, Đếm ngược

 Hoạt động ngõ ra: tín hiệu ON Delay, nguồn ON Delay, FLICKER, INTERVAL, tín hiệu OFF Delay, ON-OFF Delay, INTEGRATION TIME

 Thời gian hoạt động: POWER ON START; SIGNAL ON START

 Nguồn cấp bên ngoài: Max 12VDC ±10%, 100mA

 Phương pháp ngõ vào tín hiệu: Ngõ vào điện áp (PNP), Không có ngõ vào điện áp (NPN)

 Tốc độ đếm tối đa: 1, 30, 1k, 5k, 10k [cps]

 Độ rộng tín hiệu tối thiểu: 1ms/20ms

 Bảo vệ bộ nhớ: Xấp xỉ 10 năm

Dải cài đặt thời gian đa dạng từ 0.001 giây đến 9999 giờ, bao gồm các khoảng thời gian cụ thể như 0.01 giây đến 99.99 giây, 0.1 giây đến 999.9 giây, 1 giây đến 9999 giây, 1 giây đến 99 phút 59 giây, 0.1 phút đến 999.9 phút, 1 phút đến 9999 phút, và 1 giờ đến 9999 giờ.

 Ngõ ra điều khiển_Loại: 1 bước preset

 Ngõ ra điều khiển_Relay SPDT (1c): 1

 Ngõ ra điều khiển_NPN mạch thu hở: 1

 Cấu trúc bảo vệ: IP65 (bảng điều khiển phía trước)

 Bộ đếm_Phạm vi đếm: -99999 đến 999999

 Bộ đếm_Tỷ lệ: Điểm thập phân đến chữ số thứ năm

 Bộ đếm_Độ rộng tối thiểu của tín hiệu ngõ vào RESET: Tùy chọn 1ms/20ms

 Bộ định thời_Độ rộng tín hiệu ngõ vào INA, INH, RESET: Tùy chọn 1ms/20ms

 Môi trường_Nhiệt độ xung quanh: -10 đến 55℃, bảo quản: -25 đến 65℃

 Môi trường_Độ ẩm xung quanh: 35 đến 85%RH, bảo quản : 35 đến 85%RH

 Trọng lượng:Xấp xỉ 212g (Xấp xỉ 159g)

Hình 0.19 Sơ đồ kết nối CT6S-1P4

Đ ÈN DC 24V

 Dòng điện tiêu thụ:< mA.

P HẦN M ỀM

P HẦN MỀM L ABVIEW

LabVIEW, short for Laboratory Virtual Instrumentation Engineering Workbench, is a powerful software developed by National Instruments It is recognized as a unique programming language that differs significantly from traditional programming languages such as C and Pascal.

LabVIEW là một nền tảng phát triển sử dụng ngôn ngữ lập trình đồ họa, phổ biến trong các ứng dụng đo lường, kiểm tra và đánh giá Nó cho phép người dùng xử lý và điều khiển các tham số của thiết bị một cách hiệu quả.

LabVIEW khác biệt so với các ngôn ngữ lập trình thông thường ở chỗ nó sử dụng ngôn ngữ lập trình đồ họa, cho phép người dùng tạo ra các chương trình dưới dạng sơ đồ khối, trong khi các ngôn ngữ khác thường dựa trên cơ chế dòng lệnh.

2.7.1.2 Các thành phần chính của Labview a/ Front Panel

Front Panel là giao diện người dùng, cho phép người sử dụng tương tác thông qua các bộ điều khiển dữ liệu (Control) và các dụng cụ hiển thị dữ liệu đã được xử lý (Indicator).

Hình 2.22 Giao diện Front Panel b/ Block Diagram

Hình 2.23 Giao diện Block Diagram Block Diagram là cửa sổ chứa mã source đồ hoạ, được biết như là mã

G hoặc mã Block Diagram, giúp cho VI chạy

Sơ đồ khối sử dụng các biểu tượng đồ họa để liên kết các khối điều khiển và khối hiển thị, tạo thành chương trình phục vụ cho mục đích của lập trình viên Các điều khiển và hiển thị trong sơ đồ khối tương ứng với các thành phần trên bảng điều khiển phía trước.

Trong Block Diagram gồm các thiết bị đầu cuối (Terminal), nút (Node) và các dây nối (wire)

 Terminal: Là mã biểu tượng cho các điều khiển hay hiển thị trong Front Panel Nó dùng để thay đổi dữ liệu giữa Front Panel và Block

Diagram Khi ta nhập dữ liệu từ các điều khiển trong Front Panel nó sẽ được truyền đến thiết bị đầu cuối

Các nút (Nodes) trong sơ đồ khối (Block Diagram) là các phần tử thực hiện chương trình, bao gồm đầu vào và đầu ra Chúng tương tự như các lệnh toán tử, logic, hàm và chương trình con trong các ngôn ngữ lập trình dạng văn bản.

Dây nối, hay còn gọi là wires, là các dây kết nối dữ liệu giữa các nút (node) với các thiết bị điều khiển và hiển thị, nhằm mục đích truyền tải thông tin Mỗi màu sắc của dây sẽ đại diện cho một loại dữ liệu riêng biệt, giúp phân biệt và quản lý dữ liệu hiệu quả hơn.

P HẦN MỀM CCS

Sự phát triển của vi điều khiển luôn gắn liền với việc tạo ra phần mềm lập trình tương ứng Vi điều khiển hoạt động dựa trên hai giá trị 0 và 1, nhưng khi kiến trúc trở nên phức tạp hơn, cần có một ngôn ngữ lập trình mới Điều này đã dẫn đến sự ra đời của ngôn ngữ C, một công cụ lập trình quan trọng trong lĩnh vực này.

C cho vi điều khiển PIC mạnh nhất chính là phần mềm CCS

CCS là một trình biên dịch ngôn ngữ C dành cho vi điều khiển PIC của Microchip, bao gồm ba trình biên dịch riêng biệt cho các dòng PIC khác nhau.

 PCB cho dòng PIC 12-bit opcodes

 PCM cho dòng PIC 14-bit opcodes

 PCH cho dòng PIC 16 và 18 bit

CCS là một trình biên dịch C cho vi điều khiển PIC, giúp người dùng nhanh chóng làm quen và áp dụng vào các dự án Tài liệu hướng dẫn sử dụng phong phú, cung cấp nhiều thông tin hữu ích cho việc tham khảo.

Chương 3 Sơ Đồ Đấu Dây Và Sơ Đồ Khối

S Ơ ĐỒ ĐẤU DÂY

Hình 3.1 Sơ đồ đấu dây

S Ơ ĐỒ KHỐI CỦA HỆ THỐNG

Hình 3.2 Sơ đồ khối tổng quát của hệ thống

S Ơ ĐỒ KHỐI CHI TIẾT

K HỐI CÔNG SUẤT

Hình 3.3 Sơ đồ khối công suất

Chức năng: Nhận nguồn 24VDC từ khối nguồn, nhận tín hiệu xuất xung PWM từ khối điều khiển, điều khiển động cơ hoạt động.

K HỐI NGUỒN

Hình 3.4 Sơ đồ nguyên lý khối nguồn

Chức năng: Nguồn 220V cung cấp cho đồng hồ Counter và nguồn tổ ong

24VDC Từ nguồn 24V cung cấp cho khối công suất, bộ điều tốc, EncoderMạch điều khiển nhận nguồn 5V thông qua Adapter

K HỐI ĐIỀU KHIỂN

Hình 3.5 Sơ đồ nguyên lý khối điều khiển

Chức năng: Khối điều khiển trung tâm nhận nguồn 5VDC từ nguồn

Adapter nhận tín hiệu từ Encoder để tính toán PID cho tốc độ và vị trí, đồng thời lấy tín hiệu từ nút nhấn hoặc máy tính để thiết lập các giá trị điều khiển động cơ Nó cũng gửi các giá trị cài đặt và giá trị đọc đến khối hiển thị và máy tính qua giao thức truyền thông UART.

K HỐI HIỂN THỊ

Hình 3.6 Sơ đồ nguyên lý khối hiển thị

Chức năng: Nhận giá trị cài đặt, giá trị hiển thị từ khối điều khiển trung tâm sau đó hiển thị lên

K HỐI NÚT NHẤN

Hình 3.7 Sơ đồ nguyên lý khối nút nhấn

Chức năng của thiết bị bao gồm việc nhận nguồn 5V từ khối nguồn và gửi tín hiệu số về khối điều khiển để điều chỉnh giá trị cài đặt Thiết bị được trang bị 4 nút nhấn, mỗi nút đảm nhận những chức năng riêng biệt.

 Nút Star/Stop: nhấn chạy hoặc dừng động cơ

 Nút Tăng: khi nhấn nút giá trị cài đặt tăng dần theo từng đơn vị cài.

 Nút Giảm: khi nhấn nút giá trị cài đặt giảm dần theo từng đơn vị cài.

 Nút Chuyển: dùng để chuyển đổi giữa chế độ điều khiển tốc độ hoặc điều khiển vị trí.

K HỐI E NCODER

Hình 3.8 Sơ đồ nguyên lý khối Encoder

Chức năng: Được cấp nguồn 24V, khi động cơ hoạt động kéo Encoder quay theo xung sẽ được gửi về khối điều khiển

B ẢN VẼ MẶT TRÊN KIT THỰC TẬP

Hình 3.9 Bản vẽ mặt trên kit thực tập Encoder Kích thước Kit cảm biến Encoder

Chương 4 Chương Trình Điều Khiển

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH CHÍNH

Hình 4.1 Lưu đồ giải thuật chương trình chính

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH CON NGẮT NGOÀI ĐỌC XUNG

Hình 4.2 Lưu đồ giải thuật chương trình con ngắt ngoài đọc xung encoder

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH CON NGẮT T IMER 1

0Hình 4.3 Lưu đồ giải thuật chương trình con ngắt Timer 1

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH NÚT NHẤN CHẠY

Hình 4.4 Lưu đồ giải thuật chương trình nút nhấn chạy

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH NÚT NHẤN CHUYỂN

Hình 4.5 Lưu đồ giải thuật nút nhấn chuyển

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH NÚT NHẤN TĂNG

Hình 4.6 Lưu đồ giải thuật chương trình nút nhấn tăng

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH NÚT NHẤN GIẢM

Hình 4.7 Lưu đồ giải thuật nút nhấn giảm

L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH GIAO TIẾP

Hình 4.8 Lưu đồ giải thuật chương trình giao tiếp

L ƯU ĐỒ GIẢI THUẬT LCD TỐC ĐỘ

Hình 4.9 Lưu đồ giải thuật LCD tốc độ

L ƯU ĐỒ GIẢI THUẬT LCD VỊ TRÍ

Hình 4.10 Lưu đồ giải thuật LCD vị trí

L ƯU ĐỒ GIẢI THUẬT TÍNH PID

Hình 4.11 Lưu đồ giải thuật tính PID

Chương 5 Kết Luận Và Hướng Phát Triển

K ẾT QUẢ ĐẠT ĐƯỢC

K ẾT QUẢ THI CÔNG PHẦN CỨNG

Hình 5.1 Mô hình kit thực tập và hộp điều khiển

K ẾT QUẢ

Sau thời gian thực hiện đồ án, nhóm em đã áp dụng kiến thức từ các buổi thực nghiệm trên mô hình, qua đó mở rộng hiểu biết và học hỏi nhiều kiến thức mới Nhóm em đã đạt được những kết quả tích cực từ dự án này.

 Tìm hiểu về cấu tạo, phương pháp điều khiển tốc độ, vị trí của động cơ điện một chiều.

 Tìm hiểu bộ điều khiển PID và tìm bộ điều khiển cho động cơ điện một chiều.

 Thiết kế mạch hỗ trợ giao tiếp thu thập vị trí và tốc độ sử dụng vi điều khiển PIC16F877A

 Sử dụng bộ điền khiển PID rời rạc và sử dụng phương pháp dò PID thủ công thử sai.

 Mô hình thực nghiệm đạt được

 Đáp ứng của hệ thống tương đối chính xác, còn sai số nhỏ

 Độ ổn định của hệ thống tương đối tốt.

 Tốc độ đáp ứng nhanh.

Q UÁ TRÌNH HOẠT ĐỘNG

Cấp nguồn 220VAC vào mô hình Kit, bậc công tắc khởi động thấy đèn công tắc sáng, đồng hồ hiển thị là Kit đã sẵn sàng hoạt động.

Kit thực tập hoạt động với hai chế độ: chế độ điều khiển trực tiếp trên Kit và chế độ điều khiển qua mạch điều khiển Việc chuyển đổi giữa hai chế độ này được thực hiện thông qua công tắc gạt 3 trạng thái, với các chức năng được mô tả chi tiết.

Công tắc gạt ở trạng thái giữa: cách ly nguồn với động cơ, có thể cài đặt giá trị bộ đếm CT6S.

Công tắc gạt ở trạng thái trái:

 Kết nối Encoder với bộ đếm và kết nối ngõ Output của bộ đếm từ các ngõ ra được thiết kế dạng chân cắm trên mặt Kit.

 Điều chỉnh biến trở để cấp điện áp vào động cơ.

 Động cơ quay kéo theo Encoder quay, Encoder suất xung về bộ đếm.

 Cài đặt thông số bộ đếm để hiển thị vị trí của động cơ và xuất ngõ ra làm đèn sáng.

Công tắc gạt ở trạng thái phải: Kết nối các ngõ ra của mạch điều khiển vào Kit

Hoạt động chủ yếu dựa vào 4 nút nhấn:

 Nhấn nút Start/Stop để bắt đầu hoạt động hoặc dừng.

 Sử dụng nút tăng giảm để cài đặt tốc độ/ vị trí cần đọc.

 Nhấn nút chuyển để chuyển sang chế độ đọc vị trí/ tốc độ.

Giao diện Labview bao gồm ba nút nhấn chính: Start/Stop, Send và Mode, cùng với hai bảng đồ thị thể hiện tốc độ và vị trí hiện tại Ngoài ra, còn có các thanh hiển thị giá trị cài đặt và giá trị hiện tại.

Ư U VÀ NHƯỢC ĐIỂM

Ư U ĐIỂM

Mô hình hoàn thiện gọn gàng

Thao tác điều khiển dễ dàng phục vụ cho học tập và nghiên cứu.

N HƯỢC ĐIỂM

Mô hình hiện tại còn nhiều hạn chế do thời gian nghiên cứu có hạn Mặc dù hoạt động tương đối ổn định, các thông số tính toán PID vẫn chưa đạt yêu cầu, dẫn đến một số sai số nhỏ trong quá trình vận hành của hệ thống.

H ƯỚNG PHÁT TRIỂN

Để đáp ứng nhu cầu điều khiển thực tế trong ngành công nghiệp, việc nghiên cứu và phát triển thêm về Khoa học kỹ thuật là rất cần thiết trong bối cảnh hiện nay.

Sử dụng nhiều thuật toán tính toán PID nâng cao có độ chính xác cao giùp điều khiển động cơ 1 cách tối ưu hơn.

Phát triển thêm có thể giám sát không dây trên điện thoại hoặc giám sát ở khoảng cách xa.

Có thể điều khiển nhiều thiết bị tự động khác.

PHỤ LỤC Tài liệu tham khảo

[1] Th.S Cù Minh Phước, “Giáo trình Ngôn Ngữ Lập Trình”, Trường CĐKT Cao Thắng, 2018

[2] TS Đặng Đắc Chi – Th.S Cù Minh Phước, “Giáo trình Vi Xử Lý PIC16F877A”, Trường CĐKT Cao Thắng, tháng 9/2018

[3] Đặng Đắc Chi – Nguyễn Văn Tính – Võ Ngọc Thi – Nguyễn Thủy Đăng Thanh, “Lý thuyết điều khiển tự động”, Trường CĐKT Cao Thắng, tháng 8/2017

[4] Hướng dẫn sử dụng Encoder, https://codienhaiau.com/wp- content/uploads/2021/02/Huong-dan-su-dung-Encoder-Autonics-E40- Series.pdf

[5] https://congnghedoluong.com/2020/05/27/Encoder-la-gi/

[6] https://daihoaphu.vn/san-pham/ct6s1p2-bo-dem-counter-autonics

[7] Bộ điều khiển PID, https://vi.wikipedia.org/wiki/Bộ_điều_khiển_PID

T Tên vật tư- thiết bị

Số lượng Đơn giá Tổng

1 Mô hình Kit thực tập 1

HS,NOWDT,NOLVP,NOBROWNOUT,NOPROTECT,NOPUT,N ODEBUG

#use rs232(baud00,parity=N,xmit=PIN_C6,rcv=PIN_C7)

#define LCD_ENABLE_PIN PIN_D3

#define LCD_RS_PIN PIN_D1

#define LCD_RW_PIN PIN_D2

The provided code snippet initializes several signed integers and floating-point variables for use in a program, including variables for position, speed, and control parameters It defines data types for managing input and output, as well as control logic flags This setup is essential for handling tasks related to signal processing or control systems effectively.

#INT_RDA void xu_ly_ngat()

{ if (data_1=='a') // Kiem tra ki tu bat dau gt=0; if (data_1!='b') gt=gt*10+(data_1-48); // Kiem tra ki tu khac chu 'b' if (data_1=='b') chuyen=gt; if (data_1=='c') gt1=0; else

{ if (data_1!='d') gt1=(gt1*10)+(data_1-48); if(data_1=='d') dat=gt1;

} if (data_1=='e') gt2=0; if (data_1!='f') gt2=(gt2*10)+(data_1-48); if(data_1=='f') tt_ss=gt2;

#int_ext void ngat_ngoai()

{ if(input(pin_b1)==0) xung++; else xung ;

#int_timer1 void ngat_timer()

{ dem++; tt=1; disable_interrupts(int_ext); set_timer1(59285); soxung=xung; enable_interrupts(int_ext);

// -NUT START STOP -// void nn_ss()

{ tt_ss=~tt_ss; set_timer1(59285); xung=0; while(!input(pin_a0));

// -NUT CHUYEN CHE DO -// void nn_chuyen()

{ chuyen=~chuyen; duty=0; set_pwm2_duty(duty); output_low(pin_c2); output_low(pin_c3); set_timer1(59285); dem=0; xung=0; tt_ss=0; vitriht=0; vitri=0; tocdo=0; output=0; tt=0; soxung=0; e=0; e1=0; e2=0; lastout=0; if(chuyen==0)

{ dat=0; // thong so kp ki kd toc do kp=3.3; kd=0.015; ki=0.007;

{ dat=0; // thong so kp ki kd vi tri kp$; kd=1.0; ki=0.005;

// -NUT TANG -// void nn_up()

// -NUT GIAM -// void nn_dw()

// -TINH PID -// void tinh_pid()

A2=kd/t; output*e+A1*e1+A2*e2+lastout; lastout=output; e2 e1=e; if(output>255) output%5; if(output160) output0; if(output0)

{ dutys(output); set_pwm2_duty(duty); output_high(pin_c2); output_low(pin_c3);

{ dutys(output); set_pwm2_duty(duty); output_high(pin_c3); output_low(pin_c2);

{ output_low(pin_c3); output_low(pin_c2);

// -LCD TD -// void lcd_td()

The code snippet displays temperature and humidity readings on an LCD screen It initializes variables for temperature (datht) and humidity (vitriht), then formats and outputs these values in a user-friendly manner The temperature is shown as "TD DAT" and the humidity as "TOC DO," both followed by the respective values in volts per pulse (v/p) Additionally, the code includes delays for stability and outputs formatted data for further processing.

// -LCD VT -// void lcd_vt()

The code snippet displays the values of "vitri" and "datht" on an LCD screen It formats the "vitri" value into hundreds, tens, and units before printing it, followed by a degree symbol Similarly, it formats and displays the "datht" value A short delay is incorporated between the displays, and the code also sends formatted output to the console, including the "vitri" value prefixed with "b" and suffixed with "eM".

The code initializes the microcontroller's GPIO settings by configuring TRIS registers for ports A, B, C, and D It sets the duty cycle to zero and initializes the LCD display External interrupts are enabled with a high-to-low edge trigger, and Timer 2 is set up for PWM operation with a specific period Additionally, Timer 1 is configured for internal clock operation with a division factor, and its value is set for precise timing.

ENABLE_INTERRUPTS(INT_TIMER1); enable_interrupts(int_rda); enable_interrupts(global); tt=0; xung=0; soxung=0; tocdo=0; e=0; e1=0; e2=0; output=0; lastout=0; dat=0; t=0.01; kp=3.75; kd=0.016; ki=0.035; dem=0; tt_ss=0; chuyen=0; while(true)

{ nn_ss(); if(tt_ss==0)

{ nn_chuyen(); nn_up(); nn_dw(); duty=0; tt=0; tocdo=0; set_pwm2_duty(duty); output_low(pin_c2); output_low(pin_c3);

Ngày đăng: 12/04/2022, 07:43

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Hình PIC16F877A trong thực tế  PIC là tên viết tắt của “Programmable I ntelligent  C omputer” - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.1 Hình PIC16F877A trong thực tế PIC là tên viết tắt của “Programmable I ntelligent C omputer” (Trang 21)
Hình 2.2 Sơ đồ chân PIC16F877A - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.2 Sơ đồ chân PIC16F877A (Trang 23)
Hình 2.6 Quá trình điều khiển với các hệ số Kp khác nhau - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.6 Quá trình điều khiển với các hệ số Kp khác nhau (Trang 29)
Bảng 4.2 Điều chỉnh thông số phương pháp Ziegler–Nichols - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Bảng 4.2 Điều chỉnh thông số phương pháp Ziegler–Nichols (Trang 32)
Hình 2.11 Tín hiệu lệnh pha nhau củ a2 kênh Encoder - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.11 Tín hiệu lệnh pha nhau củ a2 kênh Encoder (Trang 38)
Hình 2.13 Nguyên lý hoạt động mạch cầu H - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.13 Nguyên lý hoạt động mạch cầu H (Trang 41)
Hình 0.18 Bộ đếm Counter Autonics CT6S-1P4 - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 0.18 Bộ đếm Counter Autonics CT6S-1P4 (Trang 48)
Hình 0.19 Sơ đồ kết nối CT6S-1P4 - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 0.19 Sơ đồ kết nối CT6S-1P4 (Trang 50)
Hình 2.23 Giao diện Block Diagram - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.23 Giao diện Block Diagram (Trang 53)
Hình 2.22 Giao diện Front Panel - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 2.22 Giao diện Front Panel (Trang 53)
Hình 3.1 Sơ đồ đấu dây - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 3.1 Sơ đồ đấu dây (Trang 56)
Hình 3.2 Sơ đồ khối tổng quát của hệ thống - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 3.2 Sơ đồ khối tổng quát của hệ thống (Trang 57)
Hình 3.4 Sơ đồ nguyên lý khối nguồn - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 3.4 Sơ đồ nguyên lý khối nguồn (Trang 58)
Hình 3.3 Sơ đồ khối công suất - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 3.3 Sơ đồ khối công suất (Trang 58)
Hình 3.5 Sơ đồ nguyên lý khối điều khiển - PIC 16F877A điều khiển tốc độ vị trí động cơ encoder dùng PID hiển thị lên giao diện Labview
Hình 3.5 Sơ đồ nguyên lý khối điều khiển (Trang 59)
w