Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lập trình PIC16F877A điều khiển tốc độ động cơ DC
PREMIUM
Số trang
63
Kích thước
2.5 MB
Định dạng
PDF
Lượt xem
1395

Lập trình PIC16F877A điều khiển tốc độ động cơ DC

Nội dung xem thử

Mô tả chi tiết

LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI

Lập trình PIC16F877A

điều khiển tốc độ

động cơ DC

Đồ án 2 GVHD: Nguyễn Thanh Thảo

MỤC LỤC

Chương I: KHÁI QUÁT ĐỀ TÀI

I/ Tóm tắt đề tài:

1/ Giới thiệu sơ lược các modul của mạch:

-Tên đề tài đồ án 2:“Lập trình PIC16F877A điều khiển tốc độ động cơ DC”

-Yêu cầu đặt ra: Lập trình C cho Pic 16F877A điều khiển tốc độ cho động cơ DC có

gắn encoder hồi tiếp tốc độ.Tốc độ được cài đặt từ bàn phím và tốc độ tức thời hồi tiếp

từ encoder được hiển thị trên màn hình LCD 16x2.

-Tóm tắt hướng thực hiện đề tài:

 Sử dụng Pic 16F877A là vi điều khiển trung tâm. Dùng chương trình CCS lập

trình C và biên dịch chương trình.

 Xây dựng khối bàn phím gồm 16 phím để nhập tốc độ và điều khiển động cơ

DC:

• 10 phím từ 0 đến 9 để cài đặt tốc độ (vòng /phúc).

• 1 phím SET (hay ENTER) để lưu tốc độ cài đặt.

• 1 phím CLEAR để xóa tốc độ cài đặt.

• 1 phím SAVE để lưu tốc độ vào epprom.

• 3 phím điều điều khiển: quay thuận (FORWARD), quay nghich

(REVERSE), dừng (STOP).

SVTH: Trần Tường Băng

Võ Văn Chính

2

Đồ án 2 GVHD: Nguyễn Thanh Thảo

 Hiền thị tốc độ dùng màn hình LCD 16x2, lập trình ở chế độ 4 bit (sử dụng 4

chân để nhận dữ liệu từ Pic).

 Sử dụng mạch cầu H là IC L298N để đảo chiều động cơ.

 Sử dụng 2 kênh PWM của vi điều khiển Pic thay đổi giá trị áp trung bình đặt

vào động cơ để điều khiển tốc độ.

 Đối tượng điểu khiển là động cơ DC 12V có gắn Encoder.

 Ngoài ra trên mạch còn có 1 phím nguồn (POWER) cấp điện từ adapter cho

mạch và 1 phím RESET cho pic 16F877A.

 Để cấp nguồn cho mạch ta dùng adapter AC/DC (220V/12V) và khối nguồn sử

dụng IC 7805 để ổn áp điện áp 5V cung cấp cho Pic.

2/ Sơ đồ nguyên lí mạch:

SVTH: Trần Tường Băng

Võ Văn Chính

3

b2

a7

b0

b1

a4

a5

a6

p0

p1

p2

p3

p0

p3

p1

p2

a7

a4

a5

a6

b0

b2

b1

CCP2

CCP1

RA0/AN0 2

RA1/AN1 3

RA2/AN2/VREF-/CVREF 4

RA4/T0CKI/C1OUT 6

RA5/AN4/SS/C2OUT 7

RE0/AN5/RD 8

RE1/AN6/WR 9

RE2/AN7/CS 10

OSC1/CLKIN 13

OSC2/CLKOUT 14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33

RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21

RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23

RA3/AN3/VREF+ 5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV 1

U1

PIC16F877A

C1

30pF

C2

30pF

X1

CRYSTAL

R9

10k

R1

5k

R2

5k

R3

5k

R4

5k

VCC

VCC

C3

10uF

R5

2k2

CCP1

CCP2

CLK

1 2 3

4 5 6

7 8 9

0 (10)

FW(16) RV(15) STOP (14)

CLEAR (11)

set (12)

13

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9

D1

8

D0

7

E

6

RW

5

RS

4

VSS

1

VDD

2

VEE

3

LCD1

16_X_2_LCD

RV1

1K

VI 1

VO 3

GND

2

U2

7805

3

2

1

J1

JACK C4

100uF

C5

100nF

C6

100uF

C7

100nF

D8

LED

R26

1k

+12V +5V

1

2

J2

TERMINAL2

IN1 5

IN2 7

ENA 6

OUT1 2

OUT2 3

ENB 11 OUT3 13

OUT4 14

IN3 10

IN4 12

SENSA 1

SENSB 15 GND

8

VS

4

VCC

9 U1

L298

+12V

R1

0.5

R2

0.5

M1

M2

CLK 1

2

3

4

5

J3

SIL-100-05

+88.8

D1

1N4007

D2

1N4007 D3

1N4007

D4

1N4007

+12V

M1 M2

CLK

RESET

Hình 1: Sơ đồ nguyên lí mạch

Đồ án 2 GVHD: Nguyễn Thanh Thảo

3/Cách vận hành mạch:

 Bước 1:

Bật nguồn (nhấn nút POWER), chờ cho Pic và màn hình LCD khởi động, màn hình

hiển thị: “CHỌN CHẾ ĐỘ:”

Chương trính có 2 chế độ làm việc: chế độ1 là bám tốc độ đặt, có lưu tốc độ vào

epprom; chế độ 2 là bám tốc độ có định thời gian để thay đổi chiều quay.

 Bước 2:

Nhập tốc độ từ bàn phím các phím từ 0 đến 9.Nếu nhập sai ta nhấn phím CLEAR con

trỏ trên LCD sẽ xóa hết các số đã nhập, ta phải nhập lại từ đầu.Sau khi nhập xong,

nhấn phím ENTER để lưu tốc độ đặt, tốc độ đặt được tính theo đơn vị vòng/phút.

Nếu là chế độ 2 thì ta phải nhập them thời gian, sau đó nhấn phím ENTER

 Bước 3:

Để điều khiển động cơ ta nhấn phím: quay thuận (FORWARD), quay nghịch

(REVERSE), dừng (STOP).

 Bước 4:

Để nhập lại tốc độ ta nhấn phím CLEAR rồi tiến hành đăt tốc độ như bước 2.

-Tốc độ tức thời của động cơ sẽ đươc cập nhật mỗi 0,5s và sẽ được so sánh với tốc độ

đặt để đưa ra tính hiệu điều khiển, đồng thời cứ mỗi 0,5s tốc độ sẽ hiển thị trên màn

hình LCD.

4/ Khuyết điểm của mạch:

-Do không áp dụng các phương pháp điều khiển (ví dụ như: PID, điều khiển mờ,…)

nên tốc độ động cơ chưa được ổn định.

-Mạch cầu H sử dụng IC L298 chỉ điều khiển được động cơ DC có công suất nhỏ.

-Đối với khối hiển thị, do tính chất của màn hình LCD nên bị hạn chế quan sát giá trị

hiển thị ở khoảng cách xa.

5/ Hướng phát triển đề tài:

- Cải thiện ổn định tốc độ động cơ bằng phương pháp PID hay điều khiển mờ.

- Tính toán thiết kế mạch công suất để có thể điều khiển được động cơ có công suất

lớn hơn.

- Sử dụng led 7 đoạn để tăng khả năng quan sát của khối hiển thị.

SVTH: Trần Tường Băng

Võ Văn Chính

4

Đồ án 2 GVHD: Nguyễn Thanh Thảo

- Kết nối với máy tính, sử dung visual basic lập trình để điều khiển tốc độ động cơ

DC.

CHƯƠNG II:

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

I.Vi điều khiển PIC16F877A

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

a/ Khái quát:

- PIC là tên viết tắt của “Programmable Intelligent computer” do hãng General

Instrument đặt tên cho con vi điều khiển đầu tiên của họ.Hãng Micrchip tiếp tục

phát triển sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác

nhau.

- PIC16F887A 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ế. Đây là dòng PIC khá dễ cho người mới làm quen với

PIC có thể học tập và tạo nền tản về họ vi điều khiển PIC của mình.

- PIC 16F877A 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.

SVTH: Trần Tường Băng

Võ Văn Chính

5

Đồ án 2 GVHD: Nguyễn Thanh Thảo

 Tất cả các câu lệnh thực hiện trong 1 chu kì lệnh ngoại trừ 1 số câu lệnh rẽ

nhánh thực hiện trong 2 chu kì lệnh. Chu kì lệnh bằng 4 lần chu kì dao động

của thạch anh.

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

ngàn lần.

 Bộ nhớ Ram 368x8bytes.

 Bộ nhớ EFPROM 256x8 bytes.

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

 Ngăn nhớ Stack được chia làm 8 mức.

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

 Dải điện thế hoạt động rộng: 2.0V đến 5.5V.

 Nguồn sử dụng 25mA.

 Công suất tiêu thụ thấp:

<0.6mA với 5V, 4MHz

20uA với nguồn 3V, 32 kHz.

 Có 3 timer: timer0, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệ

trước.Timer1, 16 bit chức năng bộ định thời, bộ đếm với hệ số tỷ lệ trước, kích

hoạt chế độ Sleep.Timer2, 8 bit chức năng định thời và bộ đếm với 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.

 Cổng truyền thong nối tiếp SSP với SPI phương thức chủ và I2C (chủ/phụ).Bộ

truyền nhận thông tin đồng bộ, dị bộ (USART/SCL) có khả năng phát hiện 9 bit

địa chỉ.

 Cổng phụ song song (PSP) với 8 bít mở rộng, với RD, WR và CS điều khiển.

 Do thời gian làm đồ án có hạn nên chúng em chỉ tập trung tìm hiểu các tính

năng của PIC 16F877A có liên quan đến đề tài, dưới đây là 1 vài tính năng của

PIC 16F877A được ứng dụng trong đồ án như:

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

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

SVTH: Trần Tường Băng

Võ Văn Chính

6

Tải ngay đi em, còn do dự, trời tối mất!