Tải bản đầy đủ (.pdf) (54 trang)

Thiết kế chế tạo mạch điều khiển tốc độ động cơ bước sử dụng pic 16f877a

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 54 trang )

TRƯỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ - VIỄN THÔNG

621.381

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

THIẾT KẾ CHẾ TẠO MẠCH ĐIỀU KHIỂN TỐC
ĐỘ ĐỘNG CƠ BƯỚC SỬ DỤNG PIC 16F877A

GV hướng dẫn

:

ThS. Hồ Sỹ Phương

SV thực hiện

:

Võ Minh Chiến

Lớp

:

51K1 - ĐTVT


Khóa học

:

2010 - 2015

NGHỆ AN - 05/2015


LỜI CẢM ƠN
Trong suốt q trình học tập và hồn thành đồ án tốt nghiệp này, em đã nhận
được sự hướng dẫn, giúp đỡ của thầy cô, các anh chị và các bạn. Với lịng kính
trọng và biết ơn sâu sắc em xin bày tỏ lời cảm ơn chân thành tới:
Ban giám hiệu trường Đại Học Vinh, Khoa Điện tử Viễn Thông và các thầy cô
đã giảng dạy và đã tạo mọi điều kiện thuận lợi cho em trong suốt q trình học tập
và hồn thành đồ án tốt nghiệp.
Đặc biệt, em xin chân thành gửi lời cảm ơn đến ThS. Hồ Sỹ Phương đã hết lòng
giúp đỡ, dạy bảo, động viên và tạo mọi điều kiện thuận lợi cho em trong suốt q
trình học tập và hồn thành đồ án tốt nghiệp.
Cuối cùng, là lời cảm ơn chân thành đến những người thân và toàn thể
bạn bè đã giúp đỡ, động viên em trong suốt thời gian học tập và thực hiện đồ án
tốt nghiệp.
Em xin chúc các thầy cơ, các anh chị và tồn thể bạn bè sức khỏe dồi dào, đạt
nhiều thành công trong công việc, học tập và nghiên cứu.
Nghệ An, ngày 23 tháng 05 năm 2015
Sinh viên thực hiện
Võ Minh Chiến

2



MỤC LỤC
LỜI CẢM ƠN .............................................................................................................1
MỤC LỤC ...................................................................................................................3
LỜI NÓI ĐẦU ............................................................................................................5
TÓM TẮT ĐỒ ÁN......................................................................................................6
ABSTRACT ................................................................................................................6
DANH MỤC CÁC BẢNG BIỂU ...............................................................................7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .....................................................................8
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT .........................................................................9
1.1. Tổng quan về đề tài ..........................................................................................9
1.2 Vi điều khiển PIC 16F877A ...........................................................................10
1.2.1. Kiến trúc chung của PIC .........................................................................10
1.2.2. Các cổng ra vào của PIC 16F877A. .......................................................11
1.2.3. TIMER .....................................................................................................14
1.2.4. Các nguồn ngắt trong PIC........................................................................19
1.2.5. Tập Lệnh của vi điều khiển PIC ..............................................................21
1.2.6. Giao tiếp nối tiếp .....................................................................................21
1.3.Kết luận ...........................................................................................................24
CHƯƠNG 2. PHÂN TÍCH,LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ ................25
2.1. Sơ đồ khối .......................................................................................................25
2.2.Phân tích bài tốn. ...........................................................................................25
2.2.1.Mục đích thiết kế mơ hình. .......................................................................25
2.2.2.Các u cầu của đề tài ..............................................................................25
2.3. Phân tích lựa chọn phương án thiết kế ...........................................................26
2.4. Nguyên tắc hoạt động .....................................................................................33
2.5.Động cơ bước lưỡng cực 4 pha (28BYJ-48) ...................................................37
2.6. Kết luận ..........................................................................................................38
CHƯƠNG 3. THIẾT KẾ CHẾ TẠO MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC
3.1. Các module trong hệ thống ............................................................................39

3.1.1. Khối điều khiển trung tâm .......................................................................39
3.1.2. Khối nguồn ..............................................................................................39
3


3.1.3. Khối phím nhấn .......................................................................................40
3.1.4. IC đệm dịng ULN2803 ...........................................................................41
3.1.5. Khối LCD ................................................................................................42
3.1.6. Sơ đồ mạch điều khiển động cơ bước......................................................44
3.2. Sơ đồ mạch nguyên lý ....................................................................................44
3.3. Lưu đồ thuật tốn chương trình điều khiển ....................................................46
3.4. Kết quả và thảo luận .......................................................................................46
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................48
TÀI LIỆU THAM KHẢO ......................................................................................49
PHỤ LỤC .................................................................................................................50

4


LỜI NÓI ĐẦU
Ngày nay trong điều khiển chuyển động kỹ thuật số, động cơ bước là một cơ
cấu chấp hành đặc biệt hữu hiệu bởi nó có thể thực hiện trung thành các lệnh đưa ra
dưới dạng số
Động cơ bước được ứng dụng nhiều trong ngành Tự động hoá, chúng được
ứng dụng trong các thiết bị cần điều khiển chính xác,như: Điều khiển robot, điều
khiển tiêu cự trong các hệ quang học, điều khiển định vị trong các hệ quan trắc, điểu
khiển bắt, bám mục tiêu trong các khí tài quan sát, điều khiển lập trình trong các
thiết bị gia công cắt gọt, các cơ cấu lái phương và chiều trong máy bay.
Đối với một sinh viên sắp ra trường, bước vào cuộc sống mới thì đồ án tốt
nghiệp là một bước nhảy quan trọng. Đồ án tốt nghiệp không chỉ mang lại kinh

nghiệm thực tế về chuyên môn mà còn bổ sung nhiều kỹ năng cuộc sống như giao
tiếp, đàm phán, khả năng làm việc nhóm, làm việc độc lập,…
Dưới sự hướng dẫn tận tình của Thạc sỹ Hồ Sỹ Phương em đã lựa chọn đề tài
“Thiết kế chế tạo mạch điều khiển tốc độ động cơ bước sử dụng pic 16F877A”. Với
đề tại này em đã hiểu rõ được các nguyên lý điều khiển động cơ bước Đặc biệt, đề
tài đã mang lại khả năng tư duy tổng quan hệ thống và kinh nghiệm thực tế có ích
cho sinh viên chuyên ngành cơ điện tử để làm hành trang vững bước vào đời.
Tuy nhiên, do thời gian có hạn và sự hiểu biết của em còn nhiều hạn chế, nên
khơng thể tránh được những sai sót. Rất mong sẽ nhận được sự chỉ bảo của các thầy
cô và các bạn để em có thể hồn thiện tốt hơn đề tài của mình
Nghệ An, ngày 23 tháng 05 năm 2015
Sinh viên thực hiện
Võ Minh Chiến

5


TĨM TẮT ĐỒ ÁN
Đồ án này tìm hiểu,thiết kế và thi công mạch điều khiển động cơ bước sử dụng
Pic 16F877A. Động cơ bước sử dụng trong bài toán này là động cơ bước 4 pha,5
dây điều khiển. 4 trong năm dây này được kết nối với 4 cuộn dây. Mỗi bước của
động cơ quét 1 góc 5.625 độ, vậy để quay 1 vòng động cơ cần phải thực hiện 64
bước. Do đấu chung nguồn nên khi đặt mức điện áp 0V(mức logic 0) thì sẽ có dịng
chạy qua các cuộn dây và ngược lại khi đặt mức điện áp 5V (mức logic 1) thì khơng
có dịng điện qua các cuộn dây.
Khi cấp 1 xung điện áp lên 1 cuộn dây stato (phần ứng) thì roto (phần cảm)
của động cơ sẽ quay đi 1 góc nhất định,góc ây là bước quay của động cơ. Vậy để
điều khiển động cơ quay lien tục thì chúng ta chỉ việc cấp xung lần lượt cho các
cuộn dây


ABSTRACT
This project research, design and construction of the stepper motor controller
using pic 16F877A. stepper motor used in this problem is the 4-phase stepper motor,
5 year khien.4 wire rope which is the 4 coil connected. Each step of the scan engine
1 5,625 degrees angle, so to shoot one round engine must perform 64 steps. Due to
the common fight so when placed source voltage level 0V (logic 0), there will be
lines running through the coil and vice versa when setting voltage 5V (logic level 1)
there is no current through the coil.
When the voltage level 1 pulse 1 stator winding (armature), the rotor (the part
left) of the engine 1 will turn away certain angle, angle of rotation This is a step
motor. So to control the rotary motor continuously, we just turn the pulse level for
the coil.

6


DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 : Tóm lược các thanh ghi trong PORT A .................................................12
Bảng 1.2 : Tóm lược các thanh ghi trong PORT B ..................................................12
Bảng 1.3 : Tóm lược các thanh ghi trong PORT C ..................................................13
Bảng 1.4 : Tóm lược các thanh ghi trong PORT D .................................................13
Bảng 1.5 : Tóm lược các thanh ghi trong PORT E ..................................................14
Bảng 1.6 : Bảng lựa chọn hệ số chia xung ................................................................15
Bảng 1.7 : Bảng cơng thức tính tốc độ baud .............................................................22
Bảng 2.1: Các góc bước tiêu biểu của các loại động cơ bước ..................................32

7


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2.1. Sơ đồ khối .................................................................................................25
Hình 2.2: Động cơ bước ............................................................................................26
Hình 2.3. Một số mẫu động cơ bước trong thực tế ...................................................26
Hình 2.4: Cơ chế lái tờ giấy sử dụng động cơ bước được ứng dụng trong máy in .........27
Hình 2.5: Cấu tạo động cơ bước ...............................................................................27
Hình 2.6 : Các bộ phận cấu thành nên động cơ bước ...............................................29
Hình 2.7 : Động cơ bước từ trở. ................................................................................30
Hình 2.8: Động cơ bước nam châm vĩnh cửu ...........................................................30
Hình 2.9 : Động cơ bước lai ......................................................................................31
Hình 2.10 : Động cơ bước đơn cực ...........................................................................32
Hình 2.11 : Ký hiệu động cơ bước đa năng trên sơ đồ nguyên lý. ...........................33
Hình 2.12 : Động cơ bước lưỡng cực ........................................................................33
Hình 2.13: Cơ cấu quay của roto...............................................................................34
Hình 2.14 : Hình dáng bên ngoài và sơ đồ các cuộn dây bên trong motor ...............37
Hình 3.1 : Giao tiếp vi điều khiển với các khối trong sơ đồ mạch ..........................39
Hình 3.2. Sơ đồ ngun lý nguồn ni của mạch .....................................................40
Hình 3.3. Sơ đồ ngun lý từng phím nhấn ..............................................................40
Hình 3.4: Mơ phỏng bộ khuếch đại dịng ULN 2803 ...............................................41
Hình 3.5: IC đệm dịng ULN2803.............................................................................41
Hình 3.6 : Mơ phỏng LCD trên proteus ....................................................................42
Hình 3.7.Sơ đồ mạch nguyên lý ................................................................................44
Hình 3.8 : Sơ đồ mạch được mơ phỏng bằng proteus ...............................................45
Hình 3.9 : Mạch sau khi hoàn thành .........................................................................45

8


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về đề tài
Động cơ bước vai trò rất quan trọng trong điều khiển kỹ thuật số, tự động

hóa…vì nó là cơ cấu chấp hành trung thành với những lệnh đưa ra dưới dạng số, nó
chấp hành chính xác. Vì vậy nó được ứng dụng nhiều trong tự động hóa và điều
khiển số. Trong đề tài này của em gồm 3 chương, dưới đây là phần tổng quan chi
tiết về đề tài này
Chương 1 tìm hiểu các kiến thức tơng quan về dịng vi điều khiển PIC, các
điểm vượt trội và các cơ chế xử lý lệnh trong PIC. Các dòng PIC và cách lựa chọn
PIC phù hợp cho ứng dụng nghiên cứu của người dùng cũng sẽ được giới thiệu. Nội
dung chương này cũng đề cập đến vi điều khiển PIC 16F877A làm tiền đề cho việc
thiết kế thi công sản phẩm được trình bày ở chương 3. Ngồi ra, nội dung khác quan
trọng trong chương này đó là giới thiệu về động cơ bước. Trong điều khiển chuyển
động kỹ thuật số,động cơ bước là một cơ cấu chấp hành đặc biệt hữu hiện bởi nó có
thể thực hiện trung thành các lệnh đưa ra dưới dạng số, động cơ bước được ứng
dụng nhiều trong nghành Tự động hóa,chúng được ứng dụng trong các thiết bị cần
điều khiển chính xác như: Điều khiển robot, điều khiển tiêu cự trong các hệ quang
học,… ở đây các khái niệm về động cơ bước sẽ được đưa ra giới thiệu cũng như cấu
tạo, vai trò, phân loại động cơ, so sánh giữa các loại động cơ đó.
Chương 2 là phần thiết kế của đề tài,trước tiên bài toán được đặt ra của đề tài
sẽ được phân tích cụ thể để tìm ra các mụch đích chính và u cầu thiết kế đối với
bài tốn. Sau đó sẽ phân tích ngun lí hoạt động của loại động cơ bước đề tài này
chọn thiết kế, đó là động cơ bước lưỡng cực,và tiến hành thiết kế ra sản phẩm qua
sử dụng các phần mềm như proteus để vẽ mạch in và mô phỏng để tiến tới chế tạo
sản phẩm thực tế.
Chương 3 là phần chính, phần thiết kế chi tiết và thi công, các thành phần của
mạch như là khối điều khiển trung tâm, khối nguồn,khối phím nhấn,khối LCD được
thiết kế cụ thể và đưa ra sơ đồ mạch điều khiển động cơ bước, chương trình điều
khiển được tham khảo ở một số tài liệu. Cuối cùng đưa ra sản phẩm được chế tạo
thành công và nhận xét về sự ổn định trong khi hoạt động

9



1.2 Vi điều khiển pic 16f877A
1.2.1. Kiến trúc chung của PIC
Tổ chức của PIC được thiết kế theo kiến trúc Havard còn được gọi là vi điều khiển
RISC ( reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn.

Hình 1.1 : Cấu trúc tổ chức bộ nhớ và sơ đồ chân
Bên trong kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình được tác ra
thành hai bộ nhớ riêng biệt. Do vậy trong cùng một thời điểm CPU có thể tương tác với
cả hai bộ nhớ. Nhờ vậy, tốc độ xử lí của vi điều khiển được cải thiện đáng kể.
Bộ nhớ chương trình của PIC là bộ nhớ flash.
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia làm nhiều bank.
Tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc
của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu.
Trong đó, PIC16F877 thuộc về một họ của microcontrollers 8- bít của kiến
trúc RISC

10


Hình 1.2: Các cổng vào ra của pic16f877A
1.2.2. Các cổng ra vào của PIC 16F877A.
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORT A, PORT B,
PORT C, PORT D, PORT E.
 PORT A
PORT A (RPA) bao gồm 6 I/O pin. Các chân này là chân 2 chiều (
bidirectional pin) , vừa có thể xuất, vừa có thể nhập được. Chức năng I/O này được
điều khiển bởi thanh ghi TRISA( địa chỉ 85h).
PORT A còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào ANALOG, ngõ vào
xung clock của Time0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous

Serial Port).
Các thanh ghi SFR liên quan đến PORT A bao gồm:
PORTA ( địa chỉ 05h)

: chứa các giá trị các pin trong PORT A.

TRISA (địa chỉ 85h)

: điều khiển xuất nhập.
11


CMCON(địa chỉ 9Ch)

: thanh ghi điều khiển bộ so sánh.

CVRCON (địa chỉ 9Dh)

: thanh ghi điều khiển bộ so sánh điện áp.

ADCON1(địa chỉ 9Fh)

: thanh ghi điều khiển bộ ADC.

Bảng 1.1 : Tóm lược các thanh ghi trong PORT A

 PORT B
PORT B (RPB) gồm 8 I/O pin. Thanh ghi điều khiển xuất nhập tương ứng là
TRISB.
Bảng 1.2 : Tóm lược các thanh ghi trong PORT B


PORT B còn được sử dụng trong quá trình nạp quá trình nạp chương trình cho
vi điều khiển với các chế độ nạp khác nhau. PORT B còn liên quan đến ngắt ngoại
vi và bộ Timer0. PORT B cịn được tích hợp chức năng điện trờ kéo lên được điều
khiển bởi chương trình.
Các thanh ghi SFR liên quan đến PORTB bao gồm:
PORTB (địa chỉ 06h, 106h)

: chứa giá trị các pin trong PORT B.

TRISB (địa chỉ 86h, 186h)

: điều khiển xuất nhập.

OPTION_NEG (địa chỉ 81h, 181h) : điều khiển ngắt ngoại vi và bộ Timer0.
 PORT C
12


PORT C (RPC) gồm 8 I/O pin. Thanh ghi điều khiển xuất nhập tương ứng là
TRISC.
PORT C chứa các chân chắc năng của bộ so sánh, bộ Timer1, bộ PWM và các
chuẩn giao tiếp nối tiếp 12C, SPI, SSP, USART.
Bảng 1.3 : Tóm lược các thanh ghi trong PORT C

Các thanh ghi điều khiển liên qua đến PORT C bao gồm:
PORTC (địa chỉ 07h)

: chứa giá trị các pin trong PORT C.


TRISC (địa chỉ 87h)

: điều khiển xuất nhập.

 PORT D
PORT D (RPD) gồm 8 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là
TRISD.
PORT D là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel slave Port).
Bảng 1.4 : Tóm lược các thanh ghi trong PORT D

Các thanh ghi liên quan đến PORT D bao gồm:
PORTD : chứa giá trị các pin trong PORT D.
TRISD : điều khiển xuất nhập.
TRISE : điều khiển xuất nhập PORT E và chuẩn giao tiếp PSP.
 PORT E
PORT E (RPE) gồm 3 I/O pin. Các chân này có ngõ vào analog. Thanh ghi
điều khiển xuất nhập tương ứng là TRISE.
PORT E còn là các chân điều khiển của chuẩn giao tiếp PSP.
13


Bảng 1.5 : Tóm lược các thanh ghi trong PORT E

Các thanh ghi liên quan đên PORT E bao gồm:
PORTE : chứa giá trị các pin trong PORT E.
TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP.
ADCON1

: thanh ghi điều khiển khối ADC.


1.2.3. TIMER
 Timer 0
Timer 0 Là bộ định thời hoặc bộ đếm có đặc điểm nổi bật:
+ 8 bit.
+ Có khả năng đọc và viết.
+ Có thể dung địng hồ trong hoặc ngồi.
+ Có thể chọn cạnh xung của xung đồng hồ.
+ Có hệ số chia cho xung đầu vào và có thể lập trình lại bằng phần mềm.
+ Ngắt tràn.
Hoạt động của timer 0
RBP0

INTEDG TOCS

TOSE

PSA

PS2

Bit 7
bit 0
Bit 5: TOCS :lựa chọn nguồn clock
1=Clock ngoài từ chân TOCKI
0=Clock trong Focs/4
Bit 4: TOSE :lựa chọn sườn sung cloxk
1=Timer 0 khi chân Tock từ cao xuống thấp
0=Timer 0 khi chân Tock từ thấp lên cao
Bit 3: PSA bít gắn bộ chia xung đầu vào
1=gán bộ chia Prescaler cho WDT


14

PS1

PS0


0=gán bộ chia cho Timer 0
Bit2:0 PS2:PS1 lựa chọn hệ số chia xung vào theo bảng 2.6 sau
Bảng 1.6 : Bảng lựa chọn hệ số chia xung
PS2:PS0

Timer 0

WDT

000

1:2

1:1

001

1:4

1:2

010


1:8

1:4

011

1:16

1:8

100

1:32

1:16

101

1:64

1:32

110

1:128

1:64

111


1:256

1:128

 Ngắt trong Timer 0 :Ngắt trong Timer 0 xảy ra khi thanh ghi TMR0 bị
tràn tức là từ FFh quay về 00h. Khi đó bit TOIF của thanh ghi
INTCON<2> sẽ được đặt. Bít này phải được xóa bằng phần mềm nếu
cho phép ngắt bít TOIE của thanh ghi INTCON<5> được set. Timer )
15


bị dừng hoạt động ở chế độ SLEEP ngắt Timer 0 khơng đánh thức
được bộ vi xử lí ở chế độ SLEEP.
 Timer 1
Timer 1 có thể là bộ đếm hoặc là bộ định thời:
+ 16bit :gồm 2 thanh ghi TMR1H ,TMR1H
+ Có khả năng đọc và viết
+ Có thể chọ xung đồng hồ trong hoặc ngồi
+ Có thể ngắt khi tràn
Timer 1 có 1 thanh ghi điều khiển là T1CON. Bộ Timer 1 có hoạt động hay
khơng là do việc đặt hay xóa bít TMR1ON(T1CON<0>).
 Hoạt động của timer 1
Nó có thể hoạt động ở 1 trong các chế độ sau:
+ Là 1 bộ định thời 16bit
+ Là 1 bộ đếm địng bộ
+ Là 1 bộ đếm khơng đồng bộ
Phương thức hoạt động của được xác định bởi việc chọn nguồn xung vào
Timer 1. Nguồn xung đồng hồ được chọn bởi việc đặt hoặc xóa bit TMR1 CS
(T1CON<1>).

+ Chế độ bộ định thời: đầu vào là clock trong Fosc/4, bit đồng bộ
T1SYNC(T1CON<2>) khơng có tác dụng vì xung trong clock luôn đồng bộ.
+ Chế độ bộ đếm đồng bộ: xung vào xóa bit T1SYNC(T1CON<2>): tăng mỗi
khi sườn lên ở chân RCO hoặc RC1 nếu bit T1OSCEN xóa và xung vào đồng bộ
với clock trong, bộ đếm không tăng trong trạng thái sleep.
+ Chế độ đếm không đồng bộ: xung vào set bit T1SYNC(T1CON<2>): tăng
mỗi khi sườn lên ở chân RCO hoặc RC1 nếu bit T1OSCEN xóa, ở chế độ này bộ
đếm tiếp tục tăng trong trạng thái SLEEP và có khả năng tràn gây ra ngắt, khi đó bộ
vi xử lí được đánh thức.
+ Dao động trong Timer 1: mạch dao động được xây dựng giữa 2 chân T1OSI
và T1OSO. Khi mạch được cung cấp với công suất thấp thì tần số cực đại sẽ là
200kHz và trong chế độ SLEEP là 32kHz.

16


+ Ngắt trong Timer 1: Cặp thanh ghi TMR1H và TMR1L tăng từ giá trị 0000h
đến FFFFh, nếu tiếp tục tăng thì sẽ tràn và quay lại 0000h. Và ngắt xuất hiện khi
tràn quá giá trị FFFFh, lúc này cờ ngắt TMR1IF sẽ được đặt. Ngắt có thể hoạt động
hoặc khơng hoạt động nhờ việc đặt hoặc xoa bit TMR11E

Hình 1.3 : Sơ đồ khối Timer 1
 Timer 2
Bộ Timer 2 có các dặc tính:
+ 8 bit cho bộ định thời (thanh ghi TMR2)
+ 8 bit cho vòng lặp (thanh ghi PR2)
+ Có khả năng đọc và viết
+ Có khả năng lập trình bang phần mềm tỷ lệ trước
+ Có khả năng lập trình bang phần mềm tỷ lệ sau
Chế độ SSP dung đầu ra của TMR2 để tạo xung clock. Timer 2 có thanh ghi

điều khiển là T2CON. Timer 2 có thể tắt bằng việc xóa bit TMR2CON của thanh
ghi T2CON.

17


Hình 1.4: Sơ đồ khối Timer 2
+ Hoạt động của Timer 2: chủ yếu ở phần điều chế xung của bộ CCp, thanh
ghi TMR2 có hkar năng đọc và viết, nó có thể xóa bằng việc reset lại thiết bị. Đầu
vào của xung có thể chọ các tỉ lệ sau 1:1, 1:2, 1:16 việc chọn các tỉ lệ điều khiển bởi
bít T2CKPS1 và T2CKPS2.
+ Ngắt của Timer 2: Bộ Timer 2 có thanh ghi 8 bit PR2. Timer 2 tăng từ 00h
đến khớp với PR2 thì sẽ seset lại giá trị 00h và lệnh kế tiếp thực hiện. Thanh ghi
PR2 bắt đầu từ giá trị đầu ra của TMR2 là đường dẫ truyền thơng của cổng đồng bộ,
nó được dung để phát các xung đồng bộ.

18


1.2.4. Các nguồn ngắt trong PIC

Hình 1.5 : Sơ đồ nguồn ngắt trong PIC
IE :là cho phép kích hoạt một loại ngắt nào đó xảy ra hay khơng.
IF :là các cờ ngắt.
 Các lớp ngắt :
+ Ngắt ngoại vi :Thực chất lớp này vì có q nhiều nguồn ngắt, và các nguồn
ngắt này đều là một số chuẩn giao tiếp, hoặc chức năng đặc biệt của PIC, cho nên
người ta phân ra làm lớp ngắt ngoại vi. Để các ngắt ngoại vi hoạt động, trước tiên
chúng ta phải cho phép ngắt ngoại vi, tức là bật bit PIE lên. Còn cụ thể muốn cho


19


ngắt ngoại vi nào hoạt động, thì chúng ta bật ngắt đó lên. Trên sơ đồ các bạn cũng
thấy rõ thông qua các cổng AND và OR.
+ Ngắt phổ thông : Khi muốn dùng các nguồn ngắt phổ thông, chúng ta chỉ
việc bật các bit IE của nguồn ngắt này. Tất nhiên, cuối cùng, chúng ta phải bật ngắt
toàn cục GIE thì ngắt mới được phép xảy ra (kể cả ngắt ngoại vi và ngắt phổ thơng.
Khi đó, PIE được coi là một nguồn ngắt phổ thông).
 Vector ngắt
+ Vectơ ngắt của PIC nằm ở vị trí 0x0004h.
+ Sau khi thực hiện ngắt xong thì chương trình sẽ trở về trạng thái trước khi
ngắt và tiếp tục công việc.
 Các cơ chế ngắt
 Ngắt INT
Ngắt này dựa trên sự thay đổi trạng thái của pin RB0/INT. Cạnh tác động gây
ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bit INTEDG
(thanh ghi OPTION_REG <6>). Khi có cạnh tác động thích hợp xuất hiện tại pin
TB0/INT, cờ ngắt INTF được set bất chấp trạng thái các bit điều khiển GIE và
PEIE. Ngắt ngày có khả năng đánh thức vi điều khiển từ chế độ sleep nếu bit cho
phép ngắt được set trước khi lệnh sleep được thực thi.
 Ngắt RMR0
Sự tràn bộ nhớ (FFh → 00h) trong thanh ghi TMR0 sẽ được điều khiển bởi bit
TMR0IF (thanh ghi INTCON <2>). Sự ngắt này có thể được mở/đóng bởi sự thiết
lập/xóa bit TMR0IE (INTCON<5>).
 Ngắt do sự thay đội trạng thái các pin trong Port B
Các pin PortB<7:4> được dùng cho ngắt ngày và được điều khiển bởi bit
RBIE (thanh ghi INTCON<4>). Cờ ngắt của ngắt ngày là bit RBIF (INTCON <0>).
 Chương trình ngắt
Chương trình ngắt được chia làm 3 phần chính:

+ Phần thứ nhất là phần bắt đầu vào ngắt.
+ Phần thứ hai là phần chương trình ngắt.
+ Phần thứ ba là phần kết thúc ngắt.

20


1.2.5. Tập Lệnh của vi điều khiển PIC
+ Tổng quan
PIC là vi điều khiển có tập lệnh rút gọn RISC ( Reduced Instuction Set
Computer), gồm 35 lệnh và chia thành 3 nhóm:
- Nhóm lệnh thao tác trên byte
Đối với nhóm lệnh thao tác trên byte, ta có 2 tham số f( xác định địa chỉ byte
cân thao tác) và d( xác định nơi chứa kết quả thực thi lệnh). Nếu d=0, kết quả đcược
đưa vào thanh ghi được mô tả bởi tham số f.
- Nhóm lệnh thao tác trên byte
Đối với nhóm lênh thao tác trên bit, ta có hai tham số b (xác định bit nào cần
thao tác) và f (xác định địa chỉ byte dữ liệu cần thao tác).
- Nhóm lệnh điều khiển
Đối với nhóm lệnh điều khiển chỉ có một tham số duy nhất là k (k có thể là 8
bit trong trường hợp các lệnh bình thường hay 11 bit trong trương hợp là lênh CaLL
và lệnh GOTO) dùng để mô tả đối tượng tác động của vi điều khiển (một label, một
hằng số nào đó)
Mỗi lệnh sẽ được vi điều khiển thực thi trong vòng một chu kì lệnh, ngoại trừ
các lệnh làm thay đổi giá trị bộ đếm chương trình PC cần 2 chu kì lệnh,. Một chu kì
lệnh gồm 4 xung clock của oscillator. Ví dụ ta sử dụng oscillator có tần số 4 MHz
thì tần số thực thi lệnh sẽ là 4MHz/4 = 1 MHz, như vậy một chu kì lệnh có thời gian
1uS.
Các Lệnh thao tác trên một thanh ghi bất kì đều thực hiện cơ chế ReadModify-Write, tức là thanh ghi sẽ được đọc, dữ liệu được thao tác và kết quả được
đưa vào thah ghi chứa kết quả (nơi chứa kết quả tùy thuộc vào lệnh thực thi và tham

số d).
1.2.6. Giao tiếp nối tiếp
 USART
USART (Universal Synchronous Asynchronous Receiver Transmitter) là một
trong hai chuẩn giao tiếp nối tiếp. USART còn được gọi là giao diện giao tiếp nối
tiếp SCI (Serial Communication Interface). Có thể sử dụng giao diện này cho các

21


giao tiếp với các thiết bị ngoại vi, với các vi điều khiển khác hay với máy tính. Các
dạng của giao diện USART ngoại vi bao gồm:
 Bất đồng bộ (full-duplex)
 Đồng bộ-Master mode (half-duplex)
 Đồng bộ-Slave mode (half-duplex)
Hai pin dùng cho giao diện này là RC6/TX/CK và RC7/RX/DT,
PIC16F877A được tích hợp sẵn bộ tạo tốc độ baud BRG (Baud Rate
Geretator) 8 bit dùng cho giao diện USART. Tốc độ baud do BRG tạo ra được tính
theo cơng thức
Bảng 1.7 : Bảng cơng thức tính tốc độ baud
SYNC BRGH = 0 (Low Speed)

BRGH = 1 (High Speed)

0

(Asynchronous) Baud Rate = FOSC/(64 (X + 1)) Baud Rate = FOSC/(16 (X + 1))

1


(Synchronous) Baud Rate = FOSC/(4 (X + 1))

N/A

Trong đó X là giá trị của thanh ghi RSBRG (X – số nguyên và 0Các thành ghi liên quan đến BRG bao gồm:
 TXSTA (địa chỉ 98h): chọn chế độ đồng bộ hay bất đồng bộ (bit SYNC) và
chọn mức tốc độ baud (bit BRGH).
 RCSTA (địa chỉ 18h): cho phép hoạt động cổng nối tiếp (bit SPEN).
 RSBRG (địa chỉ 99h): quyết định tốc độ baud.
 MSSP.
MSSP ( Master Synchronous Serial Port) là giao diện đồng bộ nối tiếp dùng để
giao tiếp với các thiết bị ngoại vi nhu EEPROM, ghi dịch, chuyển đổi ADC,… và
các vi điều khiển khác. MSSP có thể họa động dưới hai dạng giao tiếp:
 SPI (Serial Pheripheral Interface).
 I2C (Inter-Intergrated Circuit)
Các thanh ghi điều khiển chuẩn giao tiếp này bao gồm thanh ghi trạng thái
SSPSTAT và 2 thanh ghi điều khiển SSPSON và SSPSON2.

22


Hình 1.6: Cấu trúc giao diện MSSP
 SPI
Thiết bị giao tiếp sử dụng quan hệ master/slave, trong đó master quy định
trạng thái dữ liệu. thực ra, cấu trúc SPI có nghĩa là dữ liệu ln được truyền theo 2
hướng.
SPI có 4 tín hiệu: đồng hồ (SCLK), master ra slave vào(MOSI), master vào
slave ra(MISO) và chọn slave (SS). SCLK được tạo bởi master rồi gửi đến tất cả
các slave. MOSI mang dữ liệu từ master đến slave. MISO mang dữ liệu từ slave về

master. Thiết bị slave được chon khi master xác nhận tín hiệu SS của nó.
 I2C
I2C là một bus nối tiếp 2 dây, không cần chân CS cũng như phân biệt logic.
Hai tín hiệu đó là dữ liệu nối tiếp và xung đồng hồ nối tiếp. hai tín hiệu này là đủ
cho ta có thể tiến hành truyền dữ liệu 8 bit của thiết bị 7 bit địa chỉ + bit điều khiển
thông qua bus nối tiếp 2 dây.
Thiết bị khởi xướng giao dịch trên bus I2C gọi là master. Master thường điều
khiển cả tín hiệu đồng hồ, thiết bị được định địa chỉ bởi master gọi là slave.
Trong giao dịch ghi (slave nhận) khi master đã phát xong tất cả các byte cần
phát, nó phát thêm sau bit ACK cuối cùng một bit Stop(P).
23


1.2.

Kết luận
Trong chương 1 này, em đã trình bày tổng quan về vi điều khiển pic, tính năng
của dịng pic 16FXX, ưu nhược điểm, hình thức hoạt động, tổ chức thanh ghi
ngăn xếp, cũng như các chân vào ra của dịng Pic này. Sau khi tìm hiểu thì em
nhận thấy PIC là dịng vi điều khiển thơng dụng vì nó khá dễ cho việc làm
quen tiếp cận và nắm bắt để từ đó có thể lập trình ra các chương trình điều
khiển.
Bên cạnh đó thì chương này cịn trình bày về động cơ bước,vai trò của
động cơ bước

24


CHƯƠNG 2
PHÂN TÍCH,LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ

2.1. Sơ đồ khối

Hình 2.1. Sơ đồ khối
-Khối hiển thị: hiển thị thơng tin tới người sử dụng, tạo giao diện phù hợp cho người
sử dụng
-Khối bàn phím: thực hiện chức năng nhập các dữ liệu đưa đến vi điều khiển
-Khối vi xử lý: xử lý các thông tin, nhận thông tin từ bàn phím, đưa đến điều khiển
động cơ bước và đưa thông tin hiển thị ra LCD. Thông báo cho người dùng.
-Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống.
-Động cơ: hoạt động theo đúng tín hiệu điều khiển qua mạch driver
2.2.Phân tích bài tốn.
2.2.1.Mục đích bài tốn.
- Thiết kế, chế tạo thành công mạch điều khiển động cơ bước hoạt động chính
xác, ổn định, từ đó có thể điều khiển các động cơ bước khác trong các hệ thống thực
tế.
- Tăng cường khả năng nghiên cứu, tự nghiên cứu cho bản thân tác giả, tạo
điều kiện cho cơ hội học tập và nghiên cứu môn học một cách thực tế.
2.2.2. Các yêu cầu của đề tài
- Sử dụng vi điều khiển PIC16F877A làm trung tâm xử lý.
- Chương trình điều khiển được viết trên một thuật toán được xây dựng một
cách tối ưu.

25


×