1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ThuyetMinh DoAN VDK

53 14 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

Tiêu đề Điều Khiển Động Cơ Bước
Người hướng dẫn TS. Đặng Phước Vinh
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Điều Khiển Tự Động
Thể loại Đồ án
Định dạng
Số trang 53
Dung lượng 1,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Chương 1: Tổng quan về điều khiển động cơ bước (4)
    • 1.1. Động cơ bước (4)
      • 1.1.1. Cấu tạo động cơ bước (0)
      • 1.1.2. Các phương pháp điều khiển động cơ bước (7)
    • 1.2. Ưu, nhược điểm và ứng dụng động cơ bước (0)
  • Chương 2: Thiết kế phần cứng (9)
    • 2.1. Giới thiệu về vi điều khiển Pic16f877a (9)
      • 2.1.1. Giới thiệu chung (9)
        • 2.1.1.1. Pic là gì (9)
        • 2.1.1.2. Đặc điểm của Pic (9)
        • 2.1.1.3. Các loai chip Pic (0)
        • 2.1.1.4. Trình biên dịch ccs (10)
      • 2.1.2. Tổng quan về Pic16f877a (10)
        • 2.1.2.1. Giới thiệu về vi điều khiển Pic16f877a (10)
        • 2.1.2.2. Sơ đồ chân và chức năng các chân của Pic16f877a (11)
        • 2.1.2.3. Các đặc tính ngoại vi (15)
        • 2.1.2.4. Giao tiếp USART (16)
        • 2.1.2.5. Giao tiếp UART (0)
    • 2.2. Giới thiệu driver TB6560 điều khiển động cơ bước (22)
      • 2.2.1. Giới thiệu chung (22)
      • 2.2.2. Cấu trúc modul điều khiển động cơ bước TB6560 (0)
        • 2.2.2.1. Sơ đồ khối (22)
        • 2.2.2.2. Chức năng các khối (23)
      • 2.2.3. Sơ đồ ghép nối với mạch điều khiển (23)
    • 2.3. Thiết kế mạch điều khiển và sơ đồ nguyên lý mạch (24)
  • Chương 3: Thiết kế và xây dựng chương trình điều khiển (26)
    • 3.1. Yêu cầu thiết kế (26)
    • 3.2. Tính toán các thông số (26)
    • 3.3. Lưu đò thuật toán (0)
  • Chương 4: Kết luận và hướng phát triển đề tài (43)
    • 4.1. Kết luận (43)
    • 4.2. Hướng phát triển đề tài (44)
  • Tài liệu tham khảo (46)
  • Phụ Lục (47)

Nội dung

Tổng quan về điều khiển động cơ bước

Động cơ bước

1.1.1 Cấu tạo đông cơ bước a) Nguyên lý cấu tạo

Động cơ bước khác biệt so với động cơ điện một chiều và xoay chiều, với nguyên lý hoạt động dựa trên việc dịch chuyển tải theo một góc khi nhận xung điện vào cuộn dây Có nhiều loại động cơ bước, nhưng loại phổ biến nhất là động cơ có roto là nam châm vĩnh cửu.

Hình 1.1: Cấu tạo động cơ bước [1]

Khi điều khiển động cơ bước, điện áp có thể được cấp cho từng cuộn dây stator riêng biệt hoặc tổ hợp các cuộn dây, tạo ra sức từ động phụ thuộc vào chiều điện áp Vị trí roto được xác định bởi chiều suất từ động tổng Để tăng số bước của động cơ, cần tăng số cuộn dây trên stato hoặc số cặp cực, nhưng việc này gặp khó khăn và làm tăng kích thước động cơ, cũng như độ phức tạp trong điều khiển Do đó, động cơ thường được chế tạo với số lượng pha là 2, 4 hoặc 5, trong đó 2 pha và 4 pha là phổ biến nhất.

Để tăng số bước của động cơ, cần tăng số cặp cực roto, được chế tạo từ vật liệu có độ từ hóa cao và khả năng chịu tải lớn Động cơ bước thường có góc bước từ 0,45° đến 15°, với loại phổ biến nhất hiện nay là 1,8° (tương ứng với 200 xung cho một vòng quay 360°) Động cơ bước được phân loại thành hai loại chính.

• Động cơ bước nam châm vĩnh cữu: Có cấu tạo stato dạng hình móng được từ hóa N, S xen kẽ nhau; roto là nam châm vĩnh cửu

Hình 1.2: Cấu tạo động cơ bước nam châm vĩnh cửu [3]

Động cơ có từ trở thay đổi là loại động cơ có răng ở cả stato và roto, với roto được chế tạo từ vật liệu từ có từ trở thay đổi theo góc quay Mỗi răng của stato và roto tạo thành một cặp cực, trong khi mỗi cặp pha stato được quấn thành hai cuộn dây nối tiếp và đối xứng nhau qua tâm.

Hình 1.3: Cấu tạo động cơ bước biến từ trở

Ngoài hai loại động cơ chính, hiện nay còn có động cơ bước hỗn hợp (động cơ bước lai) kết hợp cấu trúc của động cơ nam châm vĩnh cửu và động cơ bước biến từ trở Cả stato và roto của động cơ này có cấu tạo tương tự động cơ bước biến từ trở, nhưng số răng của chúng không bằng nhau Roto của động cơ bước hỗn hợp thường bao gồm hai phần: phần trong là nam châm vĩnh cửu gắn chặt lên trục động cơ, trong khi phần ngoài gồm hai đoạn roto được chế tạo từ lá thép non với răng của chúng được đặt lệch nhau.

Hình 1.4: Cấu tạo động cơ bước hỗn hợp [4]

Ngoài cách phân loại như trên, ta cũng có thể phân loại theo số cực động cơ bước:

Động cơ bước đơn cực bao gồm động cơ bước nam châm vĩnh cửu và động cơ bước loại hỗn hợp, với các cuộn dây có đầu trung tâm nối ra từ giữa mỗi cuộn dây.

Động cơ bước lưỡng cực bao gồm động cơ bước sử dụng nam châm vĩnh cửu và động cơ bước biến từ trở Đặc điểm nổi bật của loại động cơ này là các cuộn dây không có đầu dây nối từ chính giữa mỗi cuộn.

Hình 1.5: Phân loại theo số cực và số dây động cơ bước [5]

1.1.2 Các phương pháp điều khiển động cơ bước Để điều khiển động cơ bước, người ta dùng bốn phương pháp như sau:

Điều khiển dạng sóng (Wave Drive hay 1-phase On) là phương pháp điều khiển động cơ bước theo kiểu full step, trong đó xung điều khiển được cấp lần lượt theo thứ tự cho từng cuộn dây pha.

Điều khiển 2-phase On, hay còn gọi là phương pháp full step, là kỹ thuật cấp xung đồng thời cho hai cuộn dây pha kế tiếp nhau Phương pháp này mang lại moment lớn hơn so với kiểu 1-phase On.

Điều khiển nửa bước (1-2 Phase On) là phương pháp kết hợp giữa hai kiểu điều khiển, giúp giảm giá trị góc bước xuống một nửa và tăng số bước của động cơ lên gấp đôi.

Điều khiển vi bước (Microstep) cho phép động cơ bước quay với góc bước nhỏ, mang lại độ chính xác cao và giúp động cơ hoạt động êm ái hơn.

Hình 1.6: Các phương pháp điều khiển động cơ bước [6] a) Kiểu wave drive b) Kiểu 2-phase On c) Kiểu 1-2 phase On

1.2 Ưu, nhược điểm và ứng dụng của động cơ bước a) Ưu điểm

Một số ưu điểm của động cơ bước đó là:

✓ Giá thành không quá đắt

✓ Có thể điều khiển vòng hở

✓ Moment xoắn cao ở tốc độ thấp

✓ Chi phí bảo dưỡng thấp

✓ Có khả năng định vị vị trí b) Nhược điểm

Bên cảnh những ưu điểm kể trên, động cơ bước có những nhược điểm như:

✓ Động cơ làm việc không đều đặc biệt ở tốc độ thấp

✓ Làm việc ồn (ở chế độ full step và tốc độ thấp)

✓ Moment giảm theo tốc độ

✓ Không có phản hồi nên có thể xảy ra hiện tượng trượt bước, mất bước c) Ứng dụng

Động cơ bước được ứng dụng rộng rãi trong công nghiệp nhờ vào các đặc điểm và ưu điểm nổi bật của chúng Chúng thường được sử dụng trong các thiết bị yêu cầu điều khiển chính xác, bao gồm robot, thiết bị gia công cắt gọt, quy trình sản xuất tự động, cũng như trong các ứng dụng học tập và nghiên cứu.

Ưu, nhược điểm và ứng dụng động cơ bước

2.1 Giới thiệu về vi điều khiển PIC 16F877A

PIC, viết tắt của "Programable Intelligent Computer", có nghĩa là "máy tính thông minh khả trình", là tên gọi do hãng General Instrument đặt cho vi điều khiển đầu tiên của họ.

PIC1650 được phát triển để làm thiết bị ngoại vi cho vi điều khiển CP1600, và từ đó, nó đã dẫn đến sự ra đời của dòng vi điều khiển PIC hiện nay.

- PIC được sản xuất bởi công ty Microchip Technology

- Có thể tìm mua dễ dàng tại thị trường Việt Nam

- Giá thành không quá cao

- Có đầy đủ tính năng của một VĐK khi hoạt động độc lập

- Số lượng người dùng lớn => Số lượng tài liệu lớn, mã nguồn mở, dễ dàng trao đổi học tập, thảo luận

- Sự hổ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình…

- Các tính năng đa dạng của VĐK luôn được cập nhật

PIC12xxxx: độ dài lệnh 12 bit

PIC16xxxx: độ dài lệnh 14 bit

PIC18xxxx: độ dài lệnh 16 bit

Thiết kế phần cứng

Giới thiệu về vi điều khiển Pic16f877a

PIC, viết tắt của "Programable Intelligent Computer", có thể hiểu là "máy tính thông minh khả trình", là tên gọi do hãng General Instrument đặt cho vi điều khiển đầu tiên của họ.

PIC1650 được phát triển để hỗ trợ các thiết bị ngoại vi cho vi điều khiển CP1600 Qua quá trình nghiên cứu và phát triển, PIC1650 đã góp phần hình thành nên dòng vi điều khiển PIC hiện nay.

- PIC được sản xuất bởi công ty Microchip Technology

- Có thể tìm mua dễ dàng tại thị trường Việt Nam

- Giá thành không quá cao

- Có đầy đủ tính năng của một VĐK khi hoạt động độc lập

- Số lượng người dùng lớn => Số lượng tài liệu lớn, mã nguồn mở, dễ dàng trao đổi học tập, thảo luận

- Sự hổ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình…

- Các tính năng đa dạng của VĐK luôn được cập nhật

PIC12xxxx: độ dài lệnh 12 bit

PIC16xxxx: độ dài lệnh 14 bit

PIC18xxxx: độ dài lệnh 16 bit

C: PIC có bộ nhớ chương trình là EPROM( chỉ có 16C84 là EEPROM)

F: PIC có bộ nhớ chương trình là flash

LF: PIC có bộ nhớ chương trình là flash hoạt động ở điện áp thấp

LV: tương tự như LF, đây là tín hiệu cũ

Một số vi điều khiển có ký hiệu xxFxxx sử dụng bộ nhớ chương trình là EEPROM, trong khi nếu có chữ A ở cuối ký hiệu thì bộ nhớ chương trình là flash Ví dụ, PIC16F877 là EEPROM, còn PIC16F877A là flash.

- Kế thừa tất cả đặc điểm của ngôn ngữ C – là ngôn ngữ cơ bản, quen thuộc mà sinh viên đã được đào tạo

- Xây dựng sẵn các hàm phục vụ cho việc sử dụng dễ dàng các khối chức năng đặc biệt của Vi điều khiển PIC như: ADC, PWM, RS232, SPI

- Có khả năng kết hợp với ngôn ngữ hợp ngữ, tạo sự mềm dẻo trong sự phát triển ứng dụng

- Khả năng phát triển, nâng cấp ứng dụng là dễ dàng

- Ngày càng được cập nhật với nhiều tính năng ưu việt và hiệu quả hơn

- Thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit

- Tất cả các lệnh là 1 chu kỳ máy, ngoại trừ chương trình con là 2 chu kỳ máy

- Một chu kỳ lệnh của vi điều khiển bào gồm 4 xung clock (sử dụng thạch anh 4MHz

=> Xung lệnh cú tần số 1MHz(1às) )

- Bộ nhớ chương trình flash với dung lượng 8K x 14 bit, với khả năng ghi/xóa 100000 lần

- Bộ nhớ dữ liệu RAM: 368 type

- Bộ nhớ EEPROM với dung lượng 256 type, với khả năng ghi/xóa 1.000.000 lần Có thể lưu trữ dữ liệu hơn 40 năm

2.1.2.2 Sơ đồ chân và chức năng các chân của PIC 16F877A

Hình 2.1: Sơ đồ chân PIC 16F877A [7]

- MCRL: là ngõ vào reset tích cực ở mức thấp

- Vpp: Khi lập trình cho PIC thì đóng vai trò là ngõ vào nhận diện áp lập trình

- AN0(1): ngõ vào tương tự của kênh thứ 0 (1)

* Chân RA2/AN2/VREF-/CVREF(4)

- AN2: ngõ vào tương tự của kênh thứ 2

- VREF-: ngõ vào điện áp chuẩn (thấp) của bộ A/D

- CVREF: điện áp tham chiếu VREF ngõ ra bộ so sánh

- AN3: ngõ vào tương tự của kênh thứ 3

- VREF+: ngõ vào điện áp chuẩn (cao) của bộ A/D

- TOCKI: ngõ vào xung clock bên ngoài cho Timer 0

- C1OUT: ngõ ra bộ so sánh 1

* Chân RA5/AN4/SS/C2OUT(7)

- AN4: ngõ vào tương tự của kênh thứ 4

- SS: ngõ vào chọn lựa SPI phụ

- C2OUT: ngõ ra bộ so sánh 2

- RD: điều khiển đọc port slave song song

- AN5: ngõ vào tương tự của kênh thứ 5

- WR: điều khiển ghi port slave song song

- AN6: ngõ vào tương tự của kênh thứ 6

- CS: chip chọn lựa điều khiển port slave song song

- AN7: ngõ vào tương tự của kênh thứ 7

=> là các chân nguồn của PIC

* Chân OSC1/CLKIN (13), Chân OSC2/CLKOUT (14)

- Là các chân nối với thạch anh để tạo ra xung dao động cho PIC

- T1OSO: ngõ ra bộ dao động Timer 1

- T1CKI: ngõ vào xung clock bên ngoài Timer 1

- T1OSI: ngõ vào bộ dao động Timer 1

- CCP2: ngõ vào Capture 2, ngõ ra Compare 2, ngõ ra PWM 2

- CCP1: ngõ vào Capture 1, ngõ ra Compare 1, ngõ ra PWM1

- SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI

- SCL: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra chế độ I2C

- PSPx: dữ liệu port slave song song

- TX: truyền bất đồng bộ USART

- CK: xung đồng bộ USART

- RX: nhận bất đồng bộ USART

- DT: dữ liệu đồng bộ USART

- SDO: dữ liệu ra SPI

- INT: ngõ vào nhận tín hiệu ngắt ngoài

* Chân RB1, RB2, RB4, RB5 (34, 35, 37, 38)

- PGM: chân cho phép lập trình điện áp thấp ICSP

- PGC: mạch gỡ rối và xung clock lập trình ICSP

- PGD: mạch gỡ rối và xung clock lập trình ICSP

2.1.2.3 Các đặc tính ngoại vi

+ Timer 0: timer/counter 8 bit, có bộ chia trước

+ Timer 1: timer/counter 16 bit, có bộ chia trước có thể đếm khi CPU ở chế độ sleep với nguồn xung từ thạch anh hoặc nguồn xung bên ngoài

+ Timer 2: timer/counter 8 bit, có bộ chia trước và postscale

- 2 bộ CCP (Capture/Compare/PWM):

+ Capture có độ rộng 16 bit, độ phân giải 12.5 ns + Compare có độ rộng 16 bit, độ phân giải 200ms + Độ phân giải lớn nhất của PWM là 10 bit

- Các chuẩn giao tiếp nối tiếp MSSP

+ Giao tiếp SPI + Giao tiếp I2C

- Chuẩn giao tiếp nối tiếp USART

- Chuẩn giao tiếp song song PSP

- Bộ chuyển đổi ADC với 8 kênh có độ phân giải 10 bit

- Có khả năng hoạt động với nhiều dạng Oscillator khác nhau

- USART (Universal Synchronous Asynchronous Receiver Transmitter) là một trong hai module I/O nối tiếp

- Còn được gọi là giao tiếp truyền thông nối tiếp (Serial Communication Interface – SCI)

- Hai chân dùng cho USART:

- Các dạng giao tiếp nối tiếp

+ Giao tiếp chỉ theo một chiều

+ Giao tiếp 2 chiều Có thể giao tiếp cùng thời điểm

+ Giao tiếp 2 chiều Không thể giao tiếp cùng thời điểm

- Truyền một khối dữ liệu (ký tự) trong cùng một thời điểm

- Giao tiếp theo chế độ half – duplex

- Một chân tạo xung clock ngoại từ master đến salve

- Chỉ sử dụng trong phạm vi ngắn

- Có thể thêm bit START, STOP, và tín hiệu chọn chip

- Truyền một byte dữ liệu trong một thời điểm

- Giao tiếp theo chế độ full – duplex

- Không có chân tạo xung clock

- Có bit START và bit STOP, bit chẳn lẻ…

- Hoạt động theo chuẩn NRZ (None – Return – to – Zero)

=> 1 bit START(0) + 8 bit DATA + 1 bit STOP (1)

- Bit LSB được truyền đi trước

- Các khối truyền và nhận dữ liệu độc lập với nhau sẽ dùng chung tần số tương ứng với tốc độ baud

- Khối truyền và nhận phải dùng chung một định dạng dữ liệu

* Thanh ghi TXSTA: Tranmit status and control register

Hình 2.2: Cấu trúc thanh ghi TXSTA [8]

- bit 5 TXEN: Transmit Enable Bit

1: cho phép truyền 0: không cho phép truyền

- bit 4 SYNC: USART Mode Select bit

1: dạng đồng bộ 0: dạng bất đồng bộ

- bit 2 BRGH: High Baud Rate Select Bit

Chỉ có tác dụng ở chế độ bất đồng bộ 1: tốc độ cao

- bit 1: TRMT: Transmit Shift Register Status bit

1: thanh ghi TSR không có dữ liệu 0: thanh ghi TSR có dữ liệu

- bit 7 SPEN: Serial Port Enable Bit

1: cho phép cổng nối tiếp hoạt động 0: không cho phép cổng nối tiếp hoạt động

- Thành phần quan trọng nhất: Thanh ghi dịch TSR (Transmit Shift Register)

- Dữ liệu cần truyền sẽ được đưa trước vào thanh ghi TXREG

- TSR sẽ lấy dữ liệu từ thanh ghi đệm TXREG

Khi thanh ghi TXREG bị rỗng, cờ TXIF (PIRI ) sẽ được đặt lên giá trị 1 Cần lưu ý rằng cờ TXIF không thể bị xóa bằng phần mềm và chỉ có thể được xóa khi có dữ liệu mới được đưa vào thanh ghi TXREG.

- Trạng thái thanh ghi TSR => cờ TRMT (TXSTA )

- TMRT = 1 => thanh ghi TSR rỗng

- Thanh ghi TSR không có trong bộ nhớ dữ liệu và chỉ được điều khiển bởi CPU

- TXEN = 1: cho phép khối truyền dữ liệu hoạt động

- Quá trình truyền chỉ bắt đầu khi:

+ Có dữ liệu trong thanh ghi TXREG + Xung truyền baud được tạo ra

* Thanh ghi RCSTA: Receive status and control register

Hình 2.3: Cấu trúc thanh ghi RCSTA [8]

- bit 7 SPEN: Serial Port Enable Bit

1: cho phép cổng nối tiếp hoạt động

0: không cho phép cổng nối tiếp hoạt động

- bit 4 CREN: Continous Receive Enable bit

1: cho phép nhận một chuỗi dữ liệu liên tục 0: không cho phép nhận

- bit 2 FERR: Framing Error Bit

1: xuất hiện lỗi “framing” trong quá trình nhận dữ liệu 0: không xuất hiện lỗi

Phải kiểm tra bit FERR trước khi đọc dữ liệu mới

- bit 1 OERR: Overrun Error bit

1: Lỗi tràn dữ liệu (Có thể xóa bằng cách xóa bit CREN) 0: không có lỗi tràn dữ liệu

- Dữ liệu được nhận từ chân RC7/RX/DT và đi qua khối phục hồi dữ liệu

- Thực chất là một thanh ghi dịch tốc độ cao(gấp 16 hoặc 64 lần tốc độ baud)

- Thành phần quan trọng nhất: thanh ghi dịch RSR (Receive Shift Register)

- Bit điều khiển cho phép nhận dữ liệu: CREN (RCSTA )

- Dữ liệu nhận được trong thanh ghi RSR sẽ được đưa vào thanh ghi RCREG => cờ RCIF = 1 (RCIF = 0 khi dữ liệu tại RCREG đã được đọc)

- RCREG là thanh ghi có bộ đếm kép hoạt động theo cơ chế FIFO (First In First Out)

+ RCREG có thể nhận 2 byte dữ liệu + Byte thứ 3 tiếp tục đưa vào thanh ghi RSR

- Nếu bit STOP của byte thứ 3 đã được nhận mà thanh ghi RCREG vẫn đầy:

+ Cờ báo tràn OERR sẽ được set + Dữ liệu trong thanh ghi RSR sẽ bị mất + Quá trình đưa dữ liệu từ RSR đến RCREG sẽ bị gián đoạn

=> Phải lấy hết dữ liệu của thanh ghi RCREG trước khi nhận dữ liệu tiếp theo

- Nếu OERR = 1 => quá trình chuyển dữ liệu từ RSR đến RCREG sẽ bị cấm

- Bit OERR phải được xóa bằng phần mềm: xóa bit CREN rồi set lại

- Bit FERR và bit dữ liệu thứ 9 (RX9D) được đưa vào bộ đệm như 8 bit dữ liệu

- Đọc thanh ghi RCREG => Cập nhật giá trị mới cho FERR và RX9D

=> Đọc thanh ghi RCSTA trước khi đọc thanh ghi RCREG

2.1.2.5 Giới thiệu về giao tiếp UART:

- Chuyển 1 bit trong một đơn vị thời gian theo một tốc độ truyền nhận dữ liệu quy định

Giới thiệu driver TB6560 điều khiển động cơ bước

Hình 2.5: Driver điều khiển động cơ bước TB6560 [10]

Module TB6560 là thiết bị chuyên dụng để điều khiển động cơ bước lưỡng cực, hỗ trợ các chế độ điều khiển full bước, nửa bước và vi bước.

- Phương pháp điều khiển đơn giản, cho phép tùy chọn dòng ra điều khiển động cơ từ 0.3A đến 3A

2.2.2 Cấu trúc module điều khiển động cơ bước TB6560

Hình 2.6: Sơ đồ khối Driver TB6560 [11]

Driver động cơ bước TB6560

Cách ly quang Động cơ bước

Tín hiệu điều khiển Thiết lập chế độ

- Module TB6560 sử dụng nguồn cấp 12V DC hoặc 24V DC cấp cho động cơ bước hoạt động Tạo ra điện áp 5V DC cấp cho các khối còn lại

- Cách ly tín hiệu điều khiển với khối driver động cơ

2.2.2.2.3 Khối tín hiệu điều khiển

- Gồm 6 chân : EN-, EN+, CW-, CW+, CLK-, CLK+

EN-, EN+: Tín hiệu cho phép/không cho phép modul hoạt động

CW-,CW+: Tín hiệu điều khiển chiều quay của động cơ

CLK-, CLK+: Tín hiệu xung điều khiển bước quay động cơ

- Với thiết kế 2 chân điều khiển 1 chức năng như thế này, modul TB6560 cho phép người dùng tùy chọn tín hiệu điều khiển là 0 hoặc 1

- Ví dụ khi nối các chân EN+, CW+, CLK+ lên +5V-DC thì ta sẽ đưa tín hiệu điều khiển 0V vào các chân EN-, CW-, CLK-

2.2.2.2.4 Khối thiết lập chế độ

- Gồm các switch cho phép người dùng thiết lập các chế độ tự chọn như: chọn dòng điện qua động cơ, điều chỉnh độ rộng góc bước

- Gồm 4 chân: A+, A-, B+, B- cho phép kết nối với 4 đầu dây của động cơ bước lưỡng cực

2.2.3 Sơ đồ ghép nối với mạch điều khiển

Hình 2.7: Sơ đồ ghép nối mạch điều khiển [11]

Thiết kế mạch điều khiển và sơ đồ nguyên lý mạch

- Nhóm thiết kế sử dụng vi điều khiển PIC 16F877A để điều khiển các thiết bị: driver TB6560, truyền thông cổng COM RS232

Thiết kế và xây dựng chương trình điều khiển

Yêu cầu thiết kế

Xây dựng chương trình dựa trên các thông số đầu vào từ màn hình điều khiển, nhằm tính toán và thiết kế chương trình cung cấp dữ liệu đầu ra phù hợp để điều khiển động cơ bước theo yêu cầu.

• Góc quay của động cơ

• Số vi bước b) Đầu ra:

• Tần số xung điều khiển

Hình 3.1: Sơ đồ khối chương trình điều khiển.

Tính toán các thông số

a) Tính toán số xung điều khiển

Từ giá trị góc quay và số vi bước được nhập, tính toán giá trị số xung điều khiển như sau:

Số xung này cần được làm tròn thành số nguyên

Tần số xung điều khiển b) Tính toán tần số xung phát

Từ giá trị tốc độ quay và số vi bước được nhập, tính toán giá trị tần số xung phát như sau:

Suy ra chu kỳ T là:

Chu kỳ xung này được chia ra làm 2 phần là thời gian xung ở mức cao (Ton) và thời gian xung ở mức thấp (Toff)

4 × 𝑇 Chọn thời gian Ton lớn hơn Toff để quá trình hoạt động động cơ chạy mượt hơn

Hình 3.2: Giản đồ xung điều khiển

Trong đồ án này nhóm sử dụng bộ định thời timer 1 của vi điều khiển Pic16f877a để tạo xung điều khiển với tần số đã tính toán

Hình 3.3: Lưu đồ thuật toán điều khiển

Code mô tả thuật toán điều khiển

//… unsigned int8 ViBuoc; // So Vi Buoc chon o driver

Unsigned int16 On_delaye530; // Gia tri nap cho timer de tinh thoi gian T_on unsigned int16 Off_delaye534; // Gia tri nap cho timer de tinh thoi gian T_off

Signed int32 GocQuay0; // Gia tri goc quay unsigned int1 check; unsigned int32 SoXung; int32 Dem=0;

#int_TIMER1 // ngat timer1 void Tao_Xung() // Ham tao xung cho tan so f, T_on, T-off

{ output_low(PULSE_1); set_timer1(Off_delay);

{ output_high(PULSE_1); set_timer1(On_delay);

// Tat cac chan tao xung

Set_tris_b(0b00001000); set_tris_c(0b00000110); set_tris_d(0);

// Khoa dong co output_high(ENB_1);

Setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); set_timer1(Off_delay); enable_interrupts(GLOBAL);

// Mo chan xuat xung set_tris_c(0); output_low(PULSE_1); check = 0;

{ output_low(ENB_1); delay_ms(60); output_low(DIR_1); delay_us(10);

{ output_low(ENB_1); delay_ms(60); output_high(DIR_1); delay_us(10);

SoXung = ViBuoc*ceil(GocQuay/1.8); enable_interrupts(INT_TIMER1); set_tris_c(0x00); while(Dem

Ngày đăng: 04/06/2021, 23:16

w