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

MÔ HÌNH KHỞI ĐỘNG và điều CHỈNH tốc độ ĐỘNG cơ điện một CHIỀU

49 367 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 49
Dung lượng 2,99 MB

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

Nội dung

Trong đó nó đòi hỏi động cơ cần phải đáp ứng đầy đủ các yêu cầu đề ranhư ngừng, đảo chiều, cũng như thay đổi tôc độ.Vậy vấn đề đặt ra là làm saogiải quyết được những yêu cầu đó, bằng vi

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đồ án nghiên cứu: “ MÔ HÌNH KHỞI ĐỘNG VÀ ĐIỀUCHỈNH TỐC ĐỘ ĐỘNG CƠ ĐIỆN MỘT CHIỀU ” là của riêng tôi Mọi thôngtin đồ án chưa được đăng tải trên bất kì tài liệu nào

Hải phòng, ngày…tháng…năm 2015 Sinh viên thực hiện

PHẠM PHÚ TIỆP

Trang 2

MỤC LỤC

LỜI CAM ĐOAN 1

MỤC LỤC HÌNH VẼ 4

LỜI NÓI ĐẦU 6

TÓM TẮT ĐỒ ÁN 7

CHƯƠNG 1: GIỚI THIỆU VỀ CÁC LINH KIỆN PHẦN TỬ SỬ DỤNG TRONG MẠCH 8

1.1 Vi điều khiển PIC16F877A 8

1.1.1 Khái quát về vi điều khiển PIC16F877A 8

1.1.2 Bộ nhớ của PIC 12

1.1.3 Khái quát về công dụng của các cổng trong vi điều khiển PIC16F877A .14

1.1.4 Các vấn đề về Timer 14

1.2 Thuật toán điều khiển PID sô 16

1.2.1 Giải thuật điều khiển PID 16

1.2.2 Giải thuật điều khiển PID sô 17

1.3 Phương pháp điều chế xung PWM 20

1.3.1 Điều chế PWM 20

1.3.2 Nguyên lí của PWM 20

1.4 Mạch cầu H ( H-Bridge Circuit ) 21

1.4.1 Công dụng và nguyên lí hoạt động 21

1.4.2 Khảo sát hoạt động của mạch cầu H 22

CHƯƠNG 2: NGHIÊN CỨU PHẦN CỨNG VÀ PHẦN MỀM 24

2.1 Một sô linh kiện được sử dụng trong mạch cầu H 24

2.2 Các phần mềm được sử dụng 25

Trang 3

2.2.1 Phần mềm mô phỏng 25

2.2.2 Phần mềm lập trình 27

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN VÀ MÔ PHỎNG 32

3.1 Sơ đồ tổng thể của của mạch 32

3.1.1 Khôi ổn áp nguồn 33

3.1.3 Khôi điều khiển động cơ 34

3.2 Lưu đồ thuật toán và code chương trình 35

3.2.1 Lưu đồ thuật toán 35

3.2.2 Code chương trình 37

3.3 Mạch mô phỏng 40

3.3.1 Khi sai lệch = dead_band 40

3.3.2 Khi sai lệch > dead_band 41

3.3.3 Khi sai lệch < dead_band 42

KẾT LUẬN VÀ KIẾN NGHỊ 44

1 Kết luận 44

2 Kiến nghị 44

TÀI LIỆU THAM KHẢO 45

Trang 4

MỤC LỤC HÌNH VẼ

Hình 1.1 Sơ đồ chân của PIC 16F877A (Trang 8)

Hình 1.2 Sơ đồ nguyên lí của PIC (Trang 9)

Hình 1.3 Sơ đồ nguyên lí các Port của PIC 16F877A (Trang 10).Hình 1.4 Tổ chức bộ nhớ chương trình của PIC16F877A (Trang 11).Hình 1.5 Tổ chức bộ nhớ dữ liệu của PIC 16F877A (Trang 12)Hình 1.6 Sơ đồ khôi Timer2 (Trang 15)

Hình 1.7 Xấp xỉ đạo hàm của biến sai sô e (Trang 17)

Hình 1.8 Xấp xỉ tích phân của biến sai sô e (Trang 17)

Hình 1.9: Sơ đồ dùng PWM điều khiển điện áp tải (trái) (Trang 19).Hình 1.10 Sơ đồ xung điện áp đầu ra (phải) (Trang 19)

Hình 3.1 Mạch mô phỏng chương trình (Trang 36)

Hình 3.2 Khi sai lệch = dead_band (Trang 37)

Hình 3.3 Khi sai lệch > dead_band (Trang 37)

Hình 3.4 Khi sai lệch < dead_band (Trang 38)

Hình 3.1 Sơ đồ tổng thể của của mạch (Trang 28)

Hình 3.2 Sơ đồ khôi ổn áp nguồn (Trang 29)

Trang 5

Hình 3.3 Sơ đồ khôi cộng tín hiệu từ vi điều khiển và cách li quang (Trang29).

Hình 3.4 Khôi điều khiển động cơ (Trang 30)

Trang 6

LỜI NÓI ĐẦU

Ngày nay khi khoa học công nghệ ngày càng phát triển mạnh mẽ Động cơmột chiều được ứng dụng rất nhiều trong sản xuất nông nghiệp cũng như côngnghiệp Trong đó nó đòi hỏi động cơ cần phải đáp ứng đầy đủ các yêu cầu đề ranhư ngừng, đảo chiều, cũng như thay đổi tôc độ.Vậy vấn đề đặt ra là làm saogiải quyết được những yêu cầu đó, bằng việc được học qua môn vi xử lí trongquá trình ngồi trên ghế nhà trường, em thấy vi xử lí đáp ứng đầy đủ những yêucầu đó và việc điều khiển động cơ điện một chiều được giải quyết Đây chính là

ý tưởng để em thực hiện đề tài nghiên cứu “ Mô hình khởi động và điều khiểnđộng cơ điện một chiều ” Em xin được nói lời cảm ơn chân thành nhất đến cácThầy cô trong Khoa Điện - Điện Tử đã giảng dạy và truyền đạt kiến thức cho

em trong thời gian vừa qua Đặc biệt em xin gửi lời cảm ơn sâu sắc tới Thầy Th.s Đồng Xuân Thìn với sự chỉ dẫn tận tình cũng như đã tạo những điều kiện

tôt nhất cho em để em có thể thực hiện và hoàn thành tôt đề tài này Trong quátrình thực hiện em đã rất nỗ lực và cô gắng, nhưng do kiến thức và hiểu biết củabản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể tránhkhỏi những sai phạm, thiếu sót… Rất mong được sự chỉ dẫn của thầy cô

Em xin chân thành cảm ơn!

Trang 7

TÓM TẮT ĐỒ ÁN

Vận dụng những kiến thức đã học trong quá trình học tập ở nhà trường emthực hiện đồ án nghiên cứu: Mô hình khởi động và điều khiển tôc độ động cơđiện một chiều

Sử dụng động cơ điện một chiều có gắn cảm biến tôc độ dạng xung dùng đểđưa tín hiệu tôc độ dưới dạng xung về vi điều khiển sau đó so sánh với tín hiệuđặt để điều khiển tôc độ động cơ

Mục tiêu của đồ án đặt ra: dừng, quay thuận, quay ngược, giảm tôc, tăng tôc.Trong đồ án của mình em xin trình bày phương pháp điều khiển động cơ dùng

vi điều khiển PIC16F877A bằng phương pháp điều chế độ rộng xung PWM sửdụng PIC16F877A để lập trình

Trang 8

CHƯƠNG 1: GIỚI THIỆU VỀ CÁC LINH KIỆN PHẦN TỬ SỬ DỤNG

TRONG MẠCH 1.1 Vi điều khiển PIC16F877A

1.1.1 Khái quát về vi điều khiển PIC16F877A

a Khái quát

PIC (Programmable Intelligent) là vi điều khiển đầu tiên của hãng GeneralInstrument Từ đó tới nay họ không ngừng phát triển và tạo ra trên 100 loại sảnphẩm với sự đa dạng và nhiều ứng dụng hơn

PIC16F877A là dòng PIC khá phổ biến, đáp ứng hầu như đầy đủ các yêu cầumang tính chất ứng dụng thực tế Ngoài ra dòng PIC rất dễ tiếp cận, tạo nền tảng đisâu nghiên cứu về PIC

PIC 16F877A thuộc họ vi điều khiển 16Fxxx gồm có các đặc điểm như sau:Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit

Hầu hết các câu lệnh được thực hiện trong 1 chu kì máy, chỉ có câu lệnh rẽnhánh mới thực hiện trong 2 chu kì máy, 4 lần chu kì máy được tính bằng 1 chu kìlệnh

Bộ nhớ chương trình Flash 8Kx14word, có khả năng ngắt trong cũng như ngắtngoài

Hoạt động bộ nhớ bằng cách truy nhập trực tiếp hay gián tiếp vào địa chỉ trênthanh ghi

Có 3 timer

Timer0 (8 bit) có nhiệm vụ là bộ định thời với hệ sô tỉ lệ trước

Timer1 (16 bit) có nhiệm vụ là bộ định thời và có chế độ nghỉ (sleep)

Timer2 (8 bit) có nhiệm vụ gần giông timer0 khác là bộ định thời với hệ sô tỉ lệ

cả trước và sau

Trang 9

Có 2 kênh tạo xung PWM cho bộ điều chế xung CCP và xuất xung điều chế ra 2chân: chân CCP1 (16) và chân CCP2 (17)

Có 8 bộ chuyển đổi ADC 10 bit nằm ở cổng A và cổng E

Do thời gian làm đồ án có hạn, dưới đây là một vài tính năng của PIC 16F877Ađược ứng dụng trong đồ án:

Tổ chức bộ nhớ của PIC 16F877A

Chức năng vào/ra của các cổng

Chức năng và các thiết lập chế độ ngắt cho các bộ Timer

Kênh chuyển đổi ADC

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

b Sơ đồ chân và sơ đồ nguyên lý của PIC16F877A

Hình 1.1 Sơ đồ chân của PIC 16F877A

Trang 12

Hình 1.3 Sơ đồ nguyên lý các Port của PIC 16F877A

Trang 13

+ Cổng E: 3 chân

Hai chân 13, 14 là chân thạch anh

Hai chân 11, 32 là chân cấp nguồn

Hai chân 12, 31 là 2 chân nôi mát

Chân sô 1 dùng để RESET vi điều khiển

1.1.2 Bộ nhớ của PIC

Bộ nhớ PIC16F877A bao gồm 2 bộ nhớ:

- Nhớ chương trình (Program memory)

- Nhớ dữ liệu (Data Memory)

a Bộ nhớ chương trình

Hình 1.4 Tổ chức bộ nhớ chương trình của PIC16F877A

Trang 14

Bộ nhớ của vi điều khiển PIC16F877A là bộ nhớ flash, có khả năng nhớ tới 8Kword (1 word = 14 bit)

Vậy bộ nhớ chương trình trong PIC16f877 có khả năng nhớ lên tới 8*1024 =

8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit)

b Bộ nhớ dữ liệu

Bộ nhớ dữ liệu của PIC16F877A gồm 4 bank (1 bank =128 byte) Vậy tổng bộnhớ dữ liệu có khả năng nhớ lên tới (4*128)byte

Trang 15

* Chú ý: Khi xuất nhập dữ liệu của PIC16F877A phải khai báo đúngbank.Thanh ghi nào chứa bank chung thì ta được phép bỏ qua bước chuyển bank.

Trang 16

Ngõ vào Analog của bộ ADC thực hiện chức năng chuyển từ tín hiệu tương tự(Analog) sang tín hiệu sô (Digital) trong đồ án của em sử dụng ADC kênh 10 bit.

Cổng E có 3 chân có chức năng xuất nhập dữ liệu

Ngoài ra chân của cổng E có ngõ vào analog chức năng biến đổi tín hiệu tương

tự sang sô

1.1.4 Các vấn đề về Timer

PIC16F877A có tất cả 3 timer: timer0 (8 bit), timer1 (16 bit) và timer2 (8 bit)

Vì trong đồ án chỉ sử dụng tới timer0, timer2 lên ta chỉ đề cập tới nó mà thôi

a Timer 0

Trong đề tài của em, em sử dụng timer để thực hiện việc ngắt Để thực hiện việctính toán cho bộ PID thì phải dùng lệnh ngắt cho timer chứ không thể dùng lệnhdelay được, sở dĩ như vậy là do

Nếu ta dùng lệnh delay cho chương trình thì khi chương trình thực hiện lệnhdelay để tính bộ PID thì toàn bộ chương trình sẽ ngừng hoạt động dẫn tới việcđộng cơ cũng sẽ ngừng hoạt động vậy sẽ không hợp lí

Trang 17

Vì vậy ta phải dùng ngắt trong timer.

Ngắt timer có đăc điểm khi tới lệnh ngắt thì việc tính toán bộ PID vẫn sẽ xảy ratrong khi đó chương trình chính vẫn hoạt động, vậy thõa mãn vẫn đề đặt ra

Trong chương trình ta tạo trễ 10ms cho bộ PID

Thời_gian_trễ = 2^số bit của timer -1 - timer*9 (fosc/ (4*prescaler))

Prescaler là tham sô bộ chia của timer, tham sô này được người dùng tùy chọnphù hợp với yêu cầu ( bài của em lấy prescaler = 256)

Lệnh tạo trễ trong PIC

set_timer0 (thời gian trễ);

b Timer 2

Ta dùng timer2 với mục đích tạo xung pwm cho chân CCP1 và CCP2

Lệnh sử dụng timer2 cho chương trình điều chế xung cho bộ CCP

setup_timer_2 (t2_div_by_16,1023,1);

Hình 1.6 Sơ đồ khôi Timer 2

Trang 18

1.2 Thuật toán điều khiển PID số

1.2.1 Giải thuật điều khiển PID

PID gồm 3 khâu Propotional (tỉ lệ), Integral (tích phân) và Derivative (đạo hàm).Thuật điều khiển PID đã xuất hiện từ rất lâu nhưng đến nay PID vẫn là giải thuậtđiều khiển kinh điển trong điều khiển tự động

Khâu tỉ lệ có chức năng đưa đôi tượng về vị trí ổn định ban đầu.

F = Kp.e

Do quán tính nên đôi tượng không thể ổn định ngay ở vị trí ban đầu, vấn đề đặt

ra là làm sao ổn định đôi tượng ở vị trí xác lập vậy ta đưa thêm khâu vi phân vàođiều khiển ( có nhiệm vụ hãm) Vậy ta được khâu PD

F = Kp.e + Kd (de/dt)

Lại một vấn đề xảy ra khi đưa khâu hãm vào chương trình Nếu hãm quá lớn thì

có trường hợp khi đôi tượng chưa về vị trí ổn định đã bị ngừng lại vậy cần phảigiải quyết bằng cách đưa thêm khâu tích phân vào chương trình có nhiệm vụ cộngdồn làm cho lực tác động của khâu tỉ lệ tới đôi tượng thắng lực ma sát do khâu viphân gây ra vậy ta co khâu PID

F=Kp.e + Kd (de/dt)+Ki∫edt

1.2.2 Giải thuật điều khiển PID số

Như ta đã biết bộ điều khiển PID có cả thành phần tuyến tính, tích phân và đạohàm là 1 dạng hàm liên tục theo thời gian Mà ta muôn xây dưng bộ PID trên vi xử

lí ( vi xử lí thì lại là 1 hệ thông điều khiển sô ), vậy làm thế nào để chuyển từ dạngliên tục sang dạng sô để điều khiển được trên vi xử lí Chúng ta có thể thực hiện nóbằng cách xấp xỉ hàm liên tục thành dạng rời rạc

Thực hiện cách chuyển từ dạng liên tục thành dạng rời dạng để xây dựng bộ PID

sô trên PIC, ta thay bộ khuyếch đại thành 1 vi điều khiển trên PIC Một khi chúng

ta đã thay bộ khuyếch đại thành vi điều khiển PIC thì quá trình hiệu chỉnh không

Trang 19

còn liên tục theo chu kì nữa mà thay vào đó cứ sau khoảng thời gian nhất định giữa

2 lần tính sai sô liên tiếp ( khoảng thời gian này là khoảng thời gian cắt mẫu dongười lập trình đặt ) thì chúng sẽ đọc giá trị phản hồi và đi tính sai lệch để thựchiện quá trình tính bộ PID và xuất ra giá trị điều khiển đôi tượng, như vậy thì thờigian cắt mẫu càng nhỏ thì chất lượng điều khiển sẽ càng tôt Tuy nhiên không nênchọn thời gian nhỏ quá sẽ ảnh hưởng tới thời gian làm việc của vi điều khiển, dẫntới hao phí thời gian

Vì bộ điều khiển PID trong PIC là bộ điều khiển sô nên ta phải xấp xỉ chúngtheo khoảng thời gian rời rạc

Đầu tiên là thành phần tỉ lệ, thành phần này khá đơn giản nên ta áp dụng ngaycông thức:

dP = Kp.e

Tiếp đến là xấp xỉ cho đạo hàm của biến e Vì thời gian lấy mẫu cho các bộ điềukhiển thường rất bé nên có thể xấp xỉ đạo hàm bằng sự thay đổi sai lệch e trongkhoảng thời gian cắt mẫu ( 2 lần lấy mẫu liên tiếp)

Trang 20

Không yêu cầu tính toán quá chính xác nên thành phần tích phân được xấp xỉbằng diện tích vùng giới hạn bởi đường biểu diễn của e và trục thời gian Ý tưởngđược trình bày trong hình vẽ dưới đây:

Hình 1.8 Xấp xỉ tích phân của biến sai sô eTích phân của biến e được tính bằng tổng diện tích các hình chữ nhật tại mỗithời điểm đang xét Sô đo của hình chữ nhật tương ứng

Chiều rộng bằng thời gian lấy mẫu h

Chiều cao là giá trị sai sô e tại thời điểm đang xét

Trang 21

Với I (k) là thành phần tích phân hiện tại và I (k-1) là thành phần tích phân trướcđó.

Kết luận: Từ những phân tích trên ta sẽ xây dựng thuật toán PID sô cho sai lệchtôc độ theo các công thức sau

Thành phần tỉ lệ là

dP = kp.errTrong đó: kp là hệ sô khuyếch đại của thành phần tỉ lệ sai lệch tôc độ; err là sailệch tôc độ

Thành phần tích phân là

dI = ki.sampling_time.err / 1000Trong đó: ki là hệ sô khuyếch đại của khâu tích phân sai lệch tôc độ

Sampling_time là khoảng thời gian lấy mẫu

Thành phần vi phân là

dD = kd (err – err_1) / sampling_timeTrong đó: kd là hệ sô khuyếch đại của khâu vi phân sai lệch tôc độ

err_1 là sai lệch tôc độ trước đó

* Vậy tín hiệu đầu ra điều khiển sẽ là

y = dP+dI+dD

Trang 22

1.3 Phương pháp điều chế xung PWM

1.3.1 Điều chế PWM

Điều chế xung PWM là hương pháp phân chia độ rộng xung PWM (Pulse WidthModulation) là phương pháp điều chỉnh sự thay đổi điện áp ra trung bình cấp chotải

1.3.2 Nguyên lí của PWM

Hình 1.9 Sơ đồ dùng PWM điều khiển điện áp tải (trái)Hình 1.10 Sơ đồ xung điện áp đầu ra (phải)Trong khoảng thời gian 0 tới to có cấp xung cho Q1, vậy Q1 mở có điện áp cấpcho tải, nhưng trong khoảng từ t0 tới T thì lại không có xung cấp cho Q1, vậy Q1ngắt không có điện áp cấp cho tải Vậy tính tổng trong khoảng thời gian từ 0 tới Tứng 1 chu kì ta sẽ có điện áp trung bình ra tải thay đổi

Giá trị trung bình của điện áp ra tải tính theo công thức

Ud = Umax (t0/T) hay Ud = Umax.DTrong đó Ud: là điện áp trung bình ra tải

Umax: là điện áp nguồn

T0: là thời gian van mở khóa

Trang 23

PWM period = [ (PR2) +1]*4*TOSC* (giá trị của bộ chia tần TMR2)

PWM duty cycle = (CCPRxL:CCPxCON<5:4>)*TOSC* (giá trị của bộ chia tần TIMER2)

T: thời gian chu kì xung

D = t0/T: hệ sô tạo xung hay PWM được tính bằng %

Trong đề tài của em: “Mô hình khởi động và điều khiển động cơ điện một chiều”

để thay đổi được tôc độ động cơ bằng cách thay đổi điện áp trung bình ra cấp chotải ( động cơ DC 24V ) em đã sử dụng phương pháp điều chế độ rộng xung PWM.Đôi với PIC16F877A đã có sẵn 2 chân CCP1 (17) và CCP2 (16) cho việc điều chếxung Tại các chân này có nhiệm vụ cấp xung đóng ngắt các Mosfet trong mạchđộng lực, đồng thời cấp điện áp cho tải làm thay đổi tôc độ động cơ

Công thức tính giá trị 1 chu kì (period) của xung điều chế:

Công thức tính độ rộng xung điều chế (duty cycle) :

1.4 Mạch cầu H ( H-Bridge Circuit )

1.4.1 Công dụng và nguyên lí hoạt động

Dùng đảo chiều quay của động cơ bằng cách đảo chiều dòng điện qua động cơbằng cách cấp nguồn cho mosfet đóng mở làm sao để nguồn cấp cho tải là hợp lí(Hình 1.11)

Trang 24

Hình 1.11 Mạch cầu H

1.4.2 Khảo sát hoạt động của mạch cầu H

Hình 1.12 Ví dụ mạch cầu H đảo chiềuNhư ví dụ hình 1.12 Nếu cấp xung điện áp đủ để mở cho L1 và R2 thì nguồn24V sẽ qua L1, A, B, R2 về âm nguồn, giả sử động cơ quay thuận (trái) Muôn đảo

Trang 25

chiều động cơ ta cấp nguồn xung đủ để mở cho R1 và L2 thì nguồn 24V sẽ qua R1

B, A, về âm nguồn dẫn tới dòng điện cấp động cơ đảo chiều dẫn tới động cơ đảochiều (phải)

** Chú ý: Cấp nguồn không để xảy ra ngắn mạch, ví dụ như ta cấp nguồn đồngthời cho L1 và L2 thì nguồn từ dương sẽ xung thẳng xuông âm ngây hỏng mạch

Ngày đăng: 09/03/2018, 13:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w