27
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÀI TẬP LỚN Môn: Vi xử lý, vi điều khiển Đề bài: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều GVHD: PGS.TS Phạm Mạnh Thắng ThS. Hoàng Văn Mạnh Nhóm sinh viên: Nhóm 18 Lớp: K57M Khoa Cơ học kỹ thuật và Tự động hóa Hà Nội, ngày 21/11/2015

Điều khiển động cơ sử dụng IC MCP4921

Embed Size (px)

Citation preview

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BÀI TẬP LỚN Môn: Vi xử lý, vi điều khiển

Đề bài: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều

GVHD: PGS.TS Phạm Mạnh Thắng

ThS. Hoàng Văn Mạnh

Nhóm sinh viên: Nhóm 18

Lớp: K57M

Khoa Cơ học kỹ thuật và Tự động hóa

Hà Nội, ngày 21/11/2015

Bài tập lớn

Vi xử lý, vi điều khiển Trang 1

Lời mở đầu

Nước ta đang đang trong công cuộc công nghiệp hóa, tự động hóa, đổi mới phát

triền toàn diện. Phục vụ cho công cuộc đổi mới này đó là các máy móc hiện đại được điều

khiển vô cùng phức tạp; nhưng cũng vì thế mà làm giảm được tối đa sự góp mặt của con

người vào các quá trình sản xuất đó. Tự động hóa phát triển kéo theo những công nghệ

điều khiển tiên tiến cũng phát triển và đóng góp vai trò vô cùng quan trọng trong sản xuất.

Có thể kể đến đó là những rô bốt công nghiệp, tay máy hay các dây chuyền tự động được

lập trình sẵn đó là những quá trình lớn. Ở trong một phạm vi nhỏ hơn, việc điều khiển được

thực hiện một cách dễ dàng với những vi xử lý hoặc những vi điều khiển được lập trình sẵn

cũng góp mặt vô cùng nhiều trong các ứng dụng thực tế trong cuộc sống.

Trong các ứng dụng liên quan đến truyền động, một thành phần gần như không thể

thiếu đó là các động cơ điện, nó có tác dụng gây ra các lực làm các cơ cấu chấp hành hoạt

động. Động cơ điện có rất nhiều ứng dụng trong cuộc sống, nhất là trong sản xuất công

nghiệp. Việc điều khiển được tốc độ cũng như chiều quay của nó cũng là một vấn đề cần

giải quyết. Kết hợp với vi điều khiển, việc điều khiển động cơ trở lên dễ dàng hơn rất

nhiều.

Xuất phát từ yêu cầu đó, nhóm chúng em đã nghiên cứu và làm một bài tập về điều

khiển động cơ điện một chiều đó là “thiết kế bộ điều khiển tốc độ động cơ điện một chiều”

với yêu cầu là điều khiển quay nhanh, quay chậm, quay thuận, quay ngược và dừng sử

dụng vi điều khiển PIC16F877A.

Các thành viên nhóm:

- Phạm Trần Hoàng

- Vũ Đình Ngọc

- Nguyễn Viết Bình

Bài tập lớn

Vi xử lý, vi điều khiển Trang 2

Mục lục

Phần I. Cơ sở lý thuyết ........................................ 3

I. Vi điều khiển PIC16F877A .............................. 3

1. Tổng quan về dòng vi điều khiển PIC ....................... 3

2. Vi điều khiển PIC16F877A .............................. 4

II. IC MCP4921 ........................................ 8

1. Sơ đồ chân ......................................... 8

2. Giao tiếp vi điều khiển với MCP4921. ....................... 9

3. Giao tiếp SPI giữa PIC và MCP4921 ....................... 9

4. Thanh ghi lệnh của MCP4921 .......................... 10

III. Động cơ điện một chiều ............................... 10

1. Cấu tạo .......................................... 10

2. Nguyên lý làm việc .................................. 11

3. Phân loại ......................................... 11

IV. Các phương pháp điều khiển động cơ điện một chiều .......... 12

1. Điều khiển chiều quay của động cơ điện một chiều ............ 12

2. Điều khiển tốc độ động cơ điện một chiều ................... 13

Phần II. Nội dung .......................................... 19

I. Thiết kế và thi công phần cứng ........................... 19

1. Sơ đồ nguyên lý và mạch in ............................ 19

2. Mô phỏng trên Proteus ............................... 21

3. Hình ảnh mạch thực tế. ............................... 21

II. Viết code cho vi điều khiển. ............................. 22

1. Trình biên dịch ..................................... 23

2. Chương trình điều khiển .............................. 23

Phần III. Kết luận .......................................... 26

Bài tập lớn

Vi xử lý, vi điều khiển Trang 3

Phần I. Cơ sở lý thuyết

I. Vi điều khiển PIC16F877A

1. Tổng quan về dòng vi điều khiển PIC

PIC là viết tắt của từ “Programmable Intelligent Computer” là một họ vi điều khiển RISC

được sản xuất bởi công ty Microchip Technology. Thế hệ đầu tiên là PIC1650 được phát triển bởi

Microelectronics Division thuộc General – Intrument.

Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng, nhưng cơ bản

chúng có những đặc điểm như:

- Là CPU 8 bit hoặc 16 bit được xây dựng theo kiến trúc Harvard có sửa đổi

- Có bộ nhớ Flash và ROM có thể tùy chọn từ 256 byte đến 256Kbyte.

- Có các cổng xuất – nhập (I/O port).

- Có timer 8 bit hoặc 16 bit

- Có các chuẩn giao tiếp nối tiếp đồng bộ, không đồng bộ USART

- Có các bộ chuyển đổi ADC 10 bit hoặt 12 bit.

- Có các bộ so sánh điện áp.

- Có các khối capture/compare/PWM

- Có hỗ trợ giao tiếp LCD

- Có MSSP Peripheral dùng cho các giao tiếp I2C, SPI, I2S.

- Có bộ nhớ nội EEPROM có thể ghi/xóa lên tới 1 triệu lần.

- Có khối điều khiển động cơ, đọc encoder.

- Có hỗ trợ giao tiếp USB.

- Có hỗ trợ điều khiển Ethernet và giao tiếp CAN.

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

- Timer0: là bộ định thời timer/counter 8 bit có bộ chia trước.

- Timer1: là bộ định thời timer/counter 16 bit có bộ chia trước, có thể đếm khi CPU đang

ở chế độ ngủ với nguồn xung từ tụ thạch anh hoặc nguồn xung bên ngoài

- Timer2: bộ định thời timer/counter 8 bit với thanh ghi 8 bit, chia trước và postscaler.

- Hai khối Capture, Compare, PWM

Capture có độ rộng 16 bit, độ phân giải 12,5ns.

Compare có độ rộng 16 bit có độ phân giải 200ns.

Độ phân giải lớn nhất của PWM là 10 bit

Các đặc tính về tương tự

- Có 8 kênh chuyển đổi tín hiệu tương tự thành tín hiệu số ADC 10 bit.

- Có reset BOR (Brown – Out Reset)

- Khối so sánh điện áp tương tự.

- Hai bộ so sánh tương tự

Khối tạo điện áp chuẩn VREF tích hợp bên trong có thể lập trình

Đa hợp ngõ vào lập trình từ ngõ vào của CPU với điện áp chuẩn bên trong.

Các ngõ ra của bộ so sánh có thể truy xuất từ bên ngoài.

Các đặc tính đặc biệt

- Bộ nhớ chương trình Enhanced Flash cho phép xóa và ghi 100000 lần

- Bộ nhớ dữ liệu EEPROM cho phép xóa và ghi 1000000 lần.

- Bộ nhớ EEPROM có thể lưu giữ dữ liệu hơn 40 năm và có thể tự lập trình lại dưới sự

điều khiển của phần mềm.

- Mạch lập trình nối tiếp ICSP thông qua 2 chân.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 4

- Nguồn sử dụng là nguồn đơn 5V cấp cho mạch lập trình nối tiếp

- Có bộ Watchdog Timer (WDT) với bộ dao động RC tích hợp sẵn trên chip.

- Có thể lập trình mã bảo mật

- Có thể hoạt động ở chế độ Sleep để tiết kiệm năng lượng.

- Có thể lựa chọn bộ dao động.

- Có mạch điện gỡ rối ICD thông qua 2 chân.

2. Vi điều khiển PIC16F877A

Hình 1. Hình ảnh thực tế và sơ đồ chân của PIC16F877A.

Vi điều khiển PIC16F877A có 40 chân với các đặc điểm là có 5 cổng xuất nhập là A, B, C,

D, E. Tần số hoạt động không quá 20MHz, bô nhớ chương trình Flash là 8Kbyte, bộ nhớ dữ liệu la

368 byte, bộ nhớ dữ liệu EEPROM la 256 byte, có 15 nguồn ngắt, 3 bộ Timer, 8 kênh chuyển đổi

A/D 10 bit, 2 module capture/compare/PWM. Giao tiếp nối tiếp USART, MSSP, giao tiếp song

song PSP, …

Sơ đồ khối

Hình 2 trình bày sơ đồ khối của PIC16F877A, gồm các khối:

- Khối ALU – Arithmetic Logic Unit

- Khối bộ nhớ chứa chương trình chính – Flash Program Memory

- Khối bộ nhớ chứa dữ liệu EEPROM – Data EPROM

- Khối bộ nhớ file thanh ghi RAM – RAM file Register.

- Khối giải mã lệnh và điều khiển – Instruction Decode & Control

- Khối thanh ghi đặc biệt

- Khối giao tiếp nối tiếp

- Khối chuyển đổi tín hiệu tương tự sang số - ADC

- Khối các cổng xuất nhập.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 5

Hình 2. Sơ đồ khối PIC16F877A

Chức năng các chân

- Chân 1: nối với mạch RESET.

- Chân 2 – 7: PORTA

- Chân 8 – 10: PORTE

- Chân 11, 32: nối nguồn 5V

- Chân 12, 31: nối đất

- Chân 13, 14 nối bộ tạo xung dao động cho vi điều khiển

- Chân 15 – 18: PORTC (PORTC0 – PORTC3)

- Chân 23 – 25: PORTC (PORTC4 – PORTC7)

Bài tập lớn

Vi xử lý, vi điều khiển Trang 6

- Chân 19 – 22: PORTD (PORTD0 – PORTD3)

- Chân 27 – 30: PORTD (PORTD4 – PORTD7)

- Chân 33 – 40: PORTB

Các port xuất nhập

PORTA và thanh ghi TRISA

PORTA là port hai chiều chỉ có 6 bit, thanh ghi định hướng tương ứng là TRISA. Khi bit

TRISA bằng 1 thì PORTA là port nhập, khi bit TRISA bằng 0 thì PORTA là port xuất dữ liệu.

Đọc thanh ghi PORTA là đọc trạng thái ở các chân, nhưng ngược lại khi ghi thì dữ liệu sẽ

vào mạch chốt port. Tất cả hoạt động gồm 3 giai đoạn: đọc – hiệu chỉnh – ghi. Do đó ghi dữ liệu

vào 1 port được hiểu ngầm là đọc dữ liệu từ port rồi hiệu chỉnh và sau cùng là ghi dữ liệu vào

mạch chốt dữ liệu.

Chân RA4 được đa hợp với ngõ vào xung clock của module timer0 có cấu hình Schmitt

trigger và cực máng để hở. Tất cả các chân còn lại của PORTA ở chuẩn TTL khi nó là ngõ vào và

khi xuất dữ liệu thì theo chuẩn CMOS.

Những chân khác của PORTA được đa hợp với các ngõ vào tương tự và ngõ vào tương tự

VREF cho các bộ chuyển đổi A/D và các bộ so sánh. Hoạt động của mỗi chân được lựa chọn bằng

cách xóa/lập các bit điều khiển cho phù hợp trong thanh ghi ADCON1 hoặc thanh ghi CMCON.

Thanh ghi TRISA điều khiển hướng các chân của port ngay cả khi chúng được sử dụng như

là ngõ vào tương tự.

PORTB và thanh ghi TRISB

PORTB là port hai chiều 8 bit với thanh ghi định hướng tương ứng là TRISB. Khi bit

TRISB bằng 1 thì PORTB là port nhập, khi bit TRISB bằng 0 thì PORTB là port xuất dữ liệu.

Ba chân của PORTB được đa hợp với mạch điện gỡ rối bên trong và chức năng lập trình

điện áp thấp: RB3/PGM, RB6/PGC, RB7/PGD.

Mỗi chân của PORTB có điện trở kéo lên. Bit điều khiển RBPU = 1 thì có thể mở tất cả

các điện trở kéo lên. Khi PORTB được thiết lập là các ngõ ra thì sẽ tự động tắt chức năng điện trở

kéo lên cũng tương tự khi CPU bị reset lúc mới cấp điện.

Bốn chân của PORTB RB4 – RB7 có cấu trúc ngắt thay đổi. Chỉ những chân được thiết lập

ở cấu hình là ngõ vào thì mới có chức năng ngắt. Các chân ngõ vào được so sánh với giá trị cũ đã

được chốt trong lần đọc trước của PORTB. Các ngõ ra không trùng nhau của các chân RB4 – RB7

được OR lại với nhau để tạo ra ngắt ở PORTB với bit cờ báo ngắt RBIF.

Ngắt này có thể kích hoạt vi điều khiển trở lại trạng thái hoạt động khi nó đang ở chế độ

sleep. Trong chương trình phục vụ ngắt, có thể xóa ngắt bằng cách:

- Bất kỳ lệnh đọc hay ghi PORTB sẽ kết thúc điều kiện không thích ứng.

- Xóa bit cờ RBIF.

Điều kiện không tương thích sẽ tiếp tục làm cờ báo ngắt RBIF bằng 1. Khi đọc PORTB sẽ

chấm dứt điều kiện không tương thích và cho phép xóa bit cờ báo ngắt RBIF.

PORTC và thanh ghi TRISC

PORTC là port hai chiều 8 bit có thanh ghi định hướng là TRISC. Khi TRISC = 1 thì

PORTC là port nhập, khi TRISC = 0 thì portC là port xuất.

PORTC được đa hợp với vài chức năng ngoại vi, các chân của PORTC có mạch đệm

Schmitt trigger ở ngõ vào.

Khi khối I2C được cho phép thì các chân PORTC<4:3> có thể được định cấu hình ở các

mức I2C hoặc mức SMBUS bằng cách sử dụng bit CKE

Khi cho phép các chức năng ngoại VI, nên chú ý đến các bit TRIS cho mỗi chân của

PORTC. Một vài thiết vị ngoại vi ghi nên bit TRIS để làm một chân như là 1 ngõ ra, trong khi đó

Bài tập lớn

Vi xử lý, vi điều khiển Trang 7

các thiết bị ngoại vi khác ghi nên bit TRIS để làm một chân như là 1 ngõ vào. Khi ghi đè bit TRIS

thì không ảnh hưởng đến các thiết bị đã cho phép, các lệnh đọc – hiệu chỉnh – ghi với TRISC là

đích đến tránh phải dùng.

PORTD và thanh ghi TRISD

PORTD là port 8 bit với ngõ vào có mạch Schmitt trigger, mỗi chân có thể được cấu hình

độc lập là ngõ vào hoặc ngõ ra.

PORTD có thể định cấu hình như port của vi xử lý 8 bit bằng cách thiết lập bit điều khiển

PSPMODE. Trong mode này thì các bộ đệm ngõ vào dạng TTL.

PORTE và thanh ghi TRISE

PORTE có 3 chân RE0, RE1, RE2 có cấu hình độc lập để thiết lập ngõ vào hoặc ngõ ra.

Những chân này có mạch điện schmitt trigger ở ngõ vào.

PORTE trở thành các ngõ vào điều khiển xuất/nhập của vi xử lý khi bit PSPMODE = 1.

Khi dùng chế độ này phải chắc chắn rằng các bit TRISE<0:2> phải bằng 11 và chắc chắn rằng các

chân đó được thiết lập là các ngõ vào số. Các ngõ vào tương tự (thanh ghi ADCON1) cũng phải

được thiết lập như những ngõ xuất/nhập số.

Các chân PORTE cũng được đa hợp với các ngõ vào tương tự. Khi được chọn là ngõ vào

tương tự thì đọc các chân này sẽ có giá trị là 0.

TRISE điều khiển định hướng các chân RE ngay cả khi chúng được dùng như những ngõ

vào tương tự.

Mạch reset CPU

Hình 3. Mạch reset

PIC16F877A có bộ lọc nhiễu cho ngõ vào của chân reset MCLR . Bộ lọc nhiễu sẽ tách và

hủy các xung nhỏ.

Giá trị điện trở R1 chọn thường nhỏ hơn 40kΩ để đảm bảo điện áp rơi trên điện trở không

vượt quá các thông số chỉ định.

Giá trị điện trở R2 chọn lớn hơn 1kΩ để hạn chế dòng điện chạy vào chân MCLR từ tụ C

bên ngoài, trong trường hợp chân reset sụt áp liên quan đến phóng tĩnh điện.

Cấu hình bộ dao động

Mạch dao động sử dụng thạch anh và tụ lọc nhiễu được sử dụng cho mạch như hình dưới:

Bài tập lớn

Vi xử lý, vi điều khiển Trang 8

Hình 3. Mạch tạo dao động

Bảng chọn giá trị tụ điện với tần số thạch anh:

Loại mạch dao

động

Tần số thạch

anh sử dụng

Giá trị tụ điện

C1

Giá trị tụ điện

C2

Thạch anh năng

lượng thấp (LP)

32kHz 33pF 33pF

200kHz 15pF 15pF

Thạch anh / cộng

hưởng (XT)

200kHz 47 – 68 pF 47 – 68 pF

1 MHz 15pF 15pF

4MHz 15pF 15pF

Thạch anh / cộng

hưởng tốc độ cao

(HS)

4MHz 15pF 15pF

8MHz 15 – 33 pF 15 – 33 pF

20MHz 15 – 33 pF 15 – 33 pF

II. IC MCP4921

PIC16F877A không hỗ trợ chức năng DAC nên để dùng chức năng này thì phải ghép nối

thêm IC phụ có chức năng DAC. DAC là chức năng ngược của ADC tức là biến đổi tín hiệu từ

dạng số sang tương tự, nó nhận vào một chuỗi số nhị phân và xuất sang tín hiệu điện áp tương tự.

Có nhiều loại IC có chức năng DAC và MCP4921 cũng nằm trong số đó. IC MCP4921 có

độ phân giải 12 bit, hoạt động trong dải điện áp từ 2,7 – 5V, sử dụng giao tiếp SPI với vi điều

khiển. IC MCP4921 có chân điện áp tham chiếu ngoài, một ngõ ra điện áp tương tự, có bộ khuếch

đại hai lần điện áp ngõ ra, thời gian xác lập ngõ ra là 4,5us, dòng tiêu thụ la 175uA, có cấu trúc 2

hàng chân với mỗi bên 4 chân và hoạt động trong dải nhiệt độ -400C – 125

0C.

1. Sơ đồ chân

Hình 5. Sơ đồ chân IC MCP4921

Bài tập lớn

Vi xử lý, vi điều khiển Trang 9

Chân 1: VDD: cấp nguồn dương

Chân 2: CS: Chip Select

Chân 3: SCK: Clock

Chân 4: SDI: Serial Data In

Chân 5: LDAC: chốt ngõ vào.

Chân 6: VREFA: điện áp tham chiếu

Chân 7: AVSS: nguồn 0V

Chân 8: VOUTA: ngõ ra analog.

2. Giao tiếp vi điều khiển với MCP4921.

Sơ đồ kết nối

Hình 6. Sơ đồ kết nối PIC16F877A và MCP4921

Chân SCK của DAC nối chân SCK của PIC

Chân SDI của DAC nối chân SDO của PIC chân CS của DAC nối vào một chân I/O bất kỳ

trừ chân SDO của PIC.

Chân LDAC nối GND, khi gửi dữ liệu số sang cho DAC thì ngay lập tức chuyển đổi thành

điện áp ngõ ra.

Chân VREFA nối nguồn VCC hoặc nối nguồn điện áp ổn định.

Cấp nguồn dương cho DAC ở chân 1 và nối đất vào chân 7.

3. Giao tiếp SPI giữa PIC và MCP4921

Để DAC tạo được điện áp ngõ ra thì phải gửi lệnh sang cho DAC. Chiều dài của lệnh là 16

bit, trong đó:

- 4 bit cao là 4 bit cấu hình, dùng để tùy chỉnh các chế độ hoạt động của DAC

- 12 bit thấp còn lại là các số nhị phân cần chuyển đổi sang điện áp tương tự

Bài tập lớn

Vi xử lý, vi điều khiển Trang 10

Hình 7: giản đồ xung mô tà gửi lệnh từ vi điều khiển sang DAC.

Để gửi lệnh qua thì phải kéo chân CS xuống mức thấp, sau đó gửi 8 bit cao trước (vì mỗi

lần gửi trong giao tiếp SPI chỉ gửi được 8 bit) sau đó gửi tiếp 8 bit thấp rồi kéo chân CS lên mức 1.

Chân LDAC phải kéo xuống mức thấp thì khi đó sẽ xuất giá trị điện áp ra rồi sau đó kéo LDAC

lên mức 1 và kết thúc một chu kỳ ghi lệnh cho DAC. Nếu LDAC đã nối đất rồi thì không cần quan

tâm đến điều khiển LDAC nữa, khi đó điện áp ngõ ra sẽ được xuất ra luôn.

4.Thanh ghi lệnh của MCP4921

8 bit cao:

15 14 13 12 10 10 9 8

~A/B BUF ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ D11 D10 D9 D8

8 bit thấp:

7 6 5 4 3 2 1 0

D7 D6 D5 D4 D3 D2 D1 D0

A/B: chọn DAC: nếu là 0 thì là DACA, là 1 thì là DACB (chỉ áp dụng cho MCP4922).

BUF: bộ đệm VREF: nếu là 0 thì không đệm, là 1 thì có đệm.

GA: Chọn hệ số khuếch đại:

- 1: x1: 4096

OUT REF

DV V

- 0: x2: 24096

OUT REF

DV V

SHDN: Shutdown: nếu là 0 thì ngõ ra tổng trở cao, là 1 thì ngõ ra điện áp DAC.

III. Động cơ điện một chiều

1. Cấu tạo

Cấu tạo của động cơ điện gồm stator, rotor và hệ thống chổi than – vành góp.

Stator bao gồm vỏ máy, cực từ chính, cực từ phụ, dây quấn phần cảm (dây quấn kích thích)

gồm các bối dây đặt trong rãnh của lõi sắt. Số lượng cực từ chính phụ thuộc tốc độ quay. Đối với

động cơ công suất nhỏ, người ta có thể kích từ bằng nam châm vĩnh cửu.

Rotor (còn gọi là phần ứng) gồm các lá thép kỹ thuật điện ghép lại có rãnh để đặt các phần

tử của dây quấn phần ứng. Điện áp một chiều được đưa vào phần ứng qua hệ thống chổi than –

Bài tập lớn

Vi xử lý, vi điều khiển Trang 11

vành góp. Kết cấu của giá đỡ chổi than có khả năng điều chỉnh áp lực tiếp xúc và tự động duy trì

áp lực tùy theo độ mòn của chổi than.

Chổi than – vành góp có chức năng đưa điện áp một chiều vào cuộn dây phần ứng và đổi

chiều dòng điện trong cuộn dây phần ứng. Số lượng chổi than bằng số lượng cực từ (một nửa có

cực tính dương và một nửa có cực tính âm).

2. Nguyên lý làm việc

Khi đặt lên dây quấn kích từ một điện áp kích từ Uk nào đó thì trong dây quấn kích từ sẽ

xuất hiện dòng kích từ ik và do đó mạch từ của mách sẽ có từ thông Φ. Tiếp đó đặt một giá trị điện

áp U lên mạch phần ứng thì trong dây quấn phần ứng sẽ có một dòng điện I chạy qua. Tương tác

giữa dòng điện phần ứng và từ thông kích thích tạo thành moment điện từ. Moment điện từ này

kéo cho phần ứng quay quanh trục. Giá trị của moment điện từ được tính bằng công thức:

.

2

p nm I k I

a

Trong đó: p là số đôi cực của động cơ điện; n là số thanh dẫn phần ứng dưới một cực từ; a

là số mạch nhánh song song của dây quấn phần ứng; k là hệ số kết cấu của máy.

Cơ chế sinh lực quay của động cơ điện một chiều

Khi có một dòng điện chạy qua cuộn dây quấn xung quanh một lõi sắt non, cạnh phía bên

cực dương sẽ bị tác động bởi một lực hướng lên, trong khi cạnh đối diện lại bị tác động bằng một

lực hướng xuống theo nguyên lý bàn tay trái của Fleming. Các lực này gây tác động quay lên cuộn

dây, và làm cho rotor quay. Để làm cho rotor quay liên tục và đúng chiều, một bộ cổ góp điện sẽ

làm chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ. Chỉ có vấn đề là khi mặt của cuộn

dây song song với các đường sức từ trường. Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây

lệch 900 so với phương ban đầu của nó, khi đó rotor sẽ quay theo quán tính.

Trong các máy điện một chiều lớn, người ta có nhiều cuộn dây nối ra nhiều phiến góp khác

nhau trên cổ góp. Nhờ vậy dòng điện và lực quay được liên tục và hầu như không bị thay đổi theo

các vị trí khác nhau của rotor.

Phương trình cơ bản của động cơ 1 chiều:

u u

u

E K

V E R I

M K I

Với: Φ: Từ thông trên mỗi cực (Wb)

Iu: dòng điện phản ứng (A)

V: điện áp phản ứng (V)

Ru: điện trở phản ứng (Ω)

ω: tốc độ của động cơ (rad/s)

M: moment động cơ (N/m)

K: hằng số, phụ thuộc cấu trúc động cơ.

3. Phân loại

- Động cơ một chiều kích từ bằng nam châm vĩnh cửu.

- Động cơ một chiều kích từ độc lập (phần ứng và phần kích từ được cung cấp bởi hai

nguồn riêng rẽ).

- Động cơ một chiều kích từ nối tiếp: cuộn dây kích thích được mắc nối tiếp với phần ứng.

- Động cơ một chiều kích từ song song: cuộn dây kích thích được mắc song song với phần

ứng.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 12

- Động cơ một chiều kích từ hỗn hợp: gồm có 2 cuộn dây kích thích, một cuộn mắc nối

tiếp với phần ứng, cuộn còn lại mắc song song với phần ứng.

IV. Các phương pháp điều khiển động cơ điện một chiều

1. Điều khiển chiều quay của động cơ điện một chiều

Đảo chiều quay của động cơ điện một chiều được thực hiện dễ dàng bằng cách thay đổi

chiều dòng điện cấp vào động cơ điện là có thể thay đổi được chiều quay của động cơ.

Một số phương pháp điều khiển chiều quay của động cơ điện một chiều:

- Sử dụng công tắc: nối vào một công tắc có 3 nấc, khi gạt công tắc sang phải thì động cơ

quay theo chiều thuận, gạt về giữa thì động cơ dừng, gạt sang trái thì động cơ quay ngược lại.

Nguyên tắc đó là đảo chiều của nguồn cung cấp vào động cơ.

- Sử dụng mạch cầu H điều khiển: linh kiện sử dụng trong mạch cầu có thể là diode,

transistor BJT, transistor trường.

Hình 8. Mạch cầu H sử dụng: a/ transistor PNP – NPN; b/ MOSFET; c/ Relay

Nguyên tắc hoạt động: (phân tích với hình a, các hình khác tương tự) ở chế độ quay thuận,

tín hiệu điều khiển cấp vào 4 transistor với điều kiện là vào Q1 = 0, Q2 = 1; Q3 = 0; Q4 = 1, dòng

điện sẽ đi theo chiều từ nguồn cấp vào Q1, qua động cơ vào Q4 xuống đất.

Hình 9. Dòng điện chạy trong mạch cầu H ở chế độ quay thuận.

Ở chế độ quay ngược, Q1 = 1, Q2 = 0; Q3 = 1; Q4 = 0, dòng điện sẽ đi từ Q2 qua động cơ

về Q3 xuống đất. Như vậy là đã làm cho động cơ quay theo chiều ngược lại. Muốn cho động cơ

dừng không quay thì cho Q1, Q3 và Q2, Q4 cùng mức là được.

- Sử dụng các IC chuyên dụng: các IC chuyên dụng dùng để điều khiển động cơ có thể dễ

dàng tìm thấy như L293, L293D, L298, L298N, …

Bài tập lớn

Vi xử lý, vi điều khiển Trang 13

Hình 10. IC L298 và sơ đồ chân.

IC L298 được tích hợp sẵn bên trong hai mạch cầu H do đó có thể điều khiển được hai

động cơ một chiều với chỉ một IC L298. Hai chân OUTPUT1 và OUTPUT2 cho động cơ 1 và hai

chân OUTPUT3 và OUTPUT4 là cho động cơ thứ 2. Chân INPUT1 đưa tín hiệu điều khiển động

cơ 1, chân INPUT2 đưa tín hiệu điều khiển động cơ 2. Để điều khiển chiều quay của động cơ một

chiều thì cần đưa chân INPUT lên mức 1, khi đó, với 1 động cơ, giả sử ở chân OUT1 và OUT2, đề

điều khiển quay thuận thì cho OUT1 = 1, OUT2 = 0; điều khiển quay ngược thì cho OUT1 = 0,

OUT2 = 1; dừng động cơ thì cho đồng thời OUT1 = OUT2 = 1 hoặc OUT1 = OUT2 = 0. Với hai

chân OUT3 và OUT4 thì làm tương tự sau khi đã đưa INPUT2 lên mức 1.

2. Điều khiển tốc độ động cơ điện một chiều

Điều khiển tốc độ động cơ điện là một yêu cầu cần thiết vì có những máy móc hoạt động

với những tốc độ khác nhau, nhanh chậm tùy loại, tùy công việc và điều kiện làm việc. Điều chỉnh

tốc độ động cơ bằng cách điều chỉnh điện áp nguồn cung cấp có thể sử dụng cho các động cơ một

chiều và động cơ không đồng bộ. Tuy vậy thì nó được sử dụng chủ yếu cho động cơ một chiều

kích từ độc lập. Phương trình đặc tính cơ của động cơ điện một chiều kích từ độc lập:

2( )

u puR RUM

k k

Trong đó:

Ru và Rpu là điện trở phần ứng và điện trở phụ mắc nối tiếp trong phần ứng.

K: hằng số

M: moment của động cơ

Φ: từ thông trên mỗi cực

U: điện áp cung cấp.

Như vậy, khi Ru, Rpu, M, k, Φ không đổi, nếu thay đổi U thì tốc độ góc ω của động cơ sẽ

thay đổi.

Điều chỉnh tốc độ động cơ sử dụng các bộ chỉnh lưu bán dẫn

Để thực hiện phương pháp điều chỉnh này, cần phải có một nguồn cung cấp mà điện áp của

nó có thể thay đổi được để cung cấp cho phần ứng của động cơ. Các nguồn điện áp này thường

được tạo ra bởi một bộ chỉnh lưu bán dẫn có điều khiển (dùng thyristor) hoặc không có điều khiển

(dùng diode).

Bài tập lớn

Vi xử lý, vi điều khiển Trang 14

Hình 11. Điều chỉnh điện áp phần ứng bằng bộ chỉnh lưu: a/ không có điều khiển; b/ có điều khiển

Hình a: thay đổi điện áp đặt lên phần ứng động cơ bằng sử dụng bộ điều chỉnh điện áp.

Hình b: điện áp đặt lên phần ứng động cơ phụ thuộc góc mở của thyristor của bộ chỉnh lưu

có điều khiển.

Điều chỉnh tốc độ động cơ khi sử dụng thiết bị điều chỉnh xung áp

Phương pháp điều chỉnh này là đóng ngắt động cơ vào nguồn cung cấp một cách có chu kỳ.

Khi đóng động cơ vào nguồn cung cấp, năng lượng được đưa từ nguồn vào động cơ. Năng lượng

này phần chủ yếu được truyền qua trục của động cơ, phần còn lại được tích ở dạng động năng và

năng lượng điện từ. Khi ngắt động cơ ra khỏi nguồn thì hệ truyền động vẫn tiếp tục làm việc nhờ

năng lượng tích lũy đó.

Hình 12. Sơ đồ nguyên lý và tương đương của bộ điều chỉnh xung áp.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 15

Hình 13. Biểu đồ thời gian điện áp và dòng điện.

Nhờ một khóa chuyển đổi K mà phần ứng động cơ được đóng, ngắt một cách có chu kỳ

vào nguồn điện một chiều có điện áp không đổi. Trong khoảng thời gian t1 khóa K đóng, động cơ

được cấp nguồn, nếu bỏ qua sự sụt áp trên khóa K thì Ut = U. Trong khoảng thời gian t2 khóa K

ngắt. Do ảnh hưởng của các điện cảm phía một chiều, dòng điện cảm ứng iu tiếp tục chạy qua

diode D. Điện áp Ut ở giai đoạn này bằng sụt áp thuận trên diode nhưng ngược dấu Ut = UD.

Từ đồ thị, nhận thấy trị số trung bình của dòng điện trong phần ứng itb quyết định tốc độ

động cơ. Do đó để thay đổi tốc độ động cơ chỉ cần thay đổi trị số của dòng điện trung bình trong

phần ứng itb. Để thay đổi dòng điện trung bình itb có thể thay đổi t1 hoặc t2 hoặc cả t1 và t2. Nếu

giữ nguyên chu kỳ đóng cắt của khóa (Tck = const) thay đổi t1 thì có phương pháp điều chỉnh xung

theo độ rộng. Nếu giữ nguyên thời gian đóng khóa (t1 = const) và thay đổi t2 thì có phương pháp

điều chỉnh tần số xung. Phương pháp biến đổi độ rộng xung được xử dụng phổ biến hơn vì nó cho

phạm vi điều chỉnh rộng hơn. Phương pháp điều chỉnh tần số xung có sơ đồ đơn giản hơn nhưng

phạm vi điều chỉnh hẹp vì nếu tăng t2 quá lớn thì Tck sẽ tiến đến vô cực, nghĩa là về thực chất ý

nghĩa điều chỉnh xung không còn tác dụng.

Điều chỉnh tốc độ động cơ bằng điều chỉnh điện áp một chiều và có đổi chiều quay

Sơ đồ nguyên lý thực hiện đảo chiều động cơ điện một chiều kích từ độc lập theo phương

pháp thay đổi cực tính điện áp đặt vào phần ứng động cơ:

Bài tập lớn

Vi xử lý, vi điều khiển Trang 16

Hình 14. Điều chỉnh điện áp đặt vào động cơ

Các cặp van K1 và K3, K2 và K4 thay nhau đóng, ngắt. Thực hiện đảo chiều bằng cách:

trong thời gian t1 cho K1 và K3 đóng (K2 và K4 ngắt) đầu A của phần ứng được nối với dương

nguồn, đầu B được nối âm nguồn. Trong khoảng thời gian t2 cho K2 và K4 đóng (K1 và K3 ngắt)

thì đầu B của phần ứng được nối với dương nguồn còn đầu A của phần ứng được nối với âm

nguồn. Khi đó điện áp trung bình trên phần ứng động cơ được tính bằng công thức:

1 2( )tb

ck

U t tU

T

Như vậy bằng cách biến đổi t1 và t2 thì có thể biến đổi được trị số của Utb và còn thay đổi

được dấu của nó, như vậy là có thể điều chỉnh được cùng lúc tốc độ và chiều quay.

Điều chỉnh tốc độ động cơ một chiều không đảo chiều dùng transistor

Hình 15. Sơ đồ nguyên lý điều khiển tốc độ động cơ một chiều không đảo chiều dùng transistor

T1 đóng vai trò tầng khuếch đại sơ bộ mắc theo kiểu Collector chung (mạch lặp Emiter).

T2 và T3 là tầng khuếch đại công suất mắc theo kiểu Darlington để có công suất lớn. Chức năng

của mchj do T2 quyết định còn T3 có tác dụng khuếch đại dòng điện ra.

Nguyên lý hoạt động: khi có xung điều khiển Uv đưa vào bazor của T1 sẽ tạo thiên áp cho

T1 do đó T1 mở. Tín hiệu ra trên emitor của T1 đưa vào bazor của T2 làm cho T2 và T3 làm việc

dẫn đến điện áp phần ứng của động cơ được khuếch đại lên. Xung điều khiển có thể thay đổi bằng

cách điều chỉnh tần số xung dẫn đến Ube của T1 thay đổi làm cho Uce của T1 thay đổi theo, qua

khuếch đại công suất T2 và T3 làm cho điện áp đặt vào phần ứng của động cơ một chiều thay đổi

do đó tốc độ thay đổi.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 17

Điều chỉnh tốc độ động cơ một chiều có đảo chiều dùng transistor và OPAM

Hình 16. Mạch đảo chiều động cơ dùng transistor và khuếch đại thuật toán.

Mạch gồm 2 tầng khuếch đại:

- Tầng 1 là khuếch đại điện áp đầu vào sử dụng khuếch đại thuật toán uA741.

- Tầng 2 là tầng khuếch đại công suất dùng T1, T2, T3, T4 ghép kiểu darlington. Điện áp

cung cấp cho tầng khuếch đại công suất là ±12V. Mạch phản hồi âm được báo từ đầu ra cuối cùng

của khuếch đại thuật toán. D1, D2 là 2 diode ổn định điện áp cho khuếch đại thuật toán. Tụ C1 và

C2 cùng với R10 có tác dụng lọc thành phần xoay chiều do động cơ làm việc ở chế độ máy phát

phát ra khi đổi chiều quay. Rf là điện trở mạch phản hồi.

Nguyên lý làm việc:

Khi Udk có cực tính dương thì ở chân 6 của KĐTT có điện áp âm đặt vào bazor của T1 và

T2 do T1 là loại NPN và T2 là loại PNP do đó T1 khóa còn T2 dẫn. Khi T2 dẫn thì nguồn âm (-

12V) qua R5, qua T2 (đang dẫn) đặt vào bazor của T3 và T4. Do T3 cũng là loại NPN, T4 là PNP

do đó T3 bị khóa còn T4 dẫn.. Do T2 và T4 dẫn nên có dùng điện đi từ 0 qua động cơ, qua T4 rồi

về nguồn âm (-12V), động cơ quay theo một chiều nhất định.

Nguyên tắc giữ ổn định tốc độ động cơ: giả sử tốc độ động cơ giảm dòng điện Id tăng làm

điện áp tại đầu ra là UR giảm. Thông qua điện trở phàn hổi Rf, điện thế ở đầu vào chân 2 của

khuếch đại thuật toán tăng lên vì U2 = Udk – UR và Udk = const nên UR giảm thì U2 tăng. Khi điện

áp ở đầu vào 2 của khuếch đại thuật toán tăng lên thì điện áp ở đầu ra 6 cũng tăng theo làm cho UR

tăng làm tốc độ động cơ tăng. Ngược lại khi Udk có cực tính âm thì đầu ra 6 có điện áp dương đặt

vào bazo của T1 và T2. Lúc này T1 và T3 dẫn còn T2 và T4 khóa, do đó sẽ có dòng đi từ nguồn

(+12V) qua T3 qua động cơ rồi về 0 làm động cơ quay chiều ngược lại.

Điều chỉnh tốc độ động cơ dùng thyristor.

Thyristor được dùng trong điều khiển động cơ công suất lớn và điện áp phần ứng cao.

Trong điều khiển động cơ công suất thấp thì ít dùng vì giá thành cao.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 18

Hình 17. Sơ đồ điều chỉnh tốc độ động cơ một chiều dùng diode và thyristor.

D1, D2, D3, D4 phối hợp tạo thành mạch cầu chỉnh lưu hai nửa chu kỳ.

L và D5 có tác dụng san bằng dòng điện.

Thyristor T có tác dụng điều chỉnh điện áp ra của bộ chỉnh lưu.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 19

Phần II. Nội dung

I. Thiết kế và thi công phần cứng

1. Sơ đồ nguyên lý và mạch in

a. Mạch nguồn

Hình 18. Sơ đồ nguyên lý mạch nguồn dùng IC LM2576

Hình 19. PCB mạch nguồn

b. Mạch điều khiển

Bài tập lớn

Vi xử lý, vi điều khiển Trang 20

Hình 20. Sơ đồ nguyên lý mạch điều khiển dùng VĐK PIC16F877A

Bài tập lớn

Vi xử lý, vi điều khiển Trang 21

Hình 21. PCB mạch điều khiển

2. Mô phỏng trên Proteus

Hình 22. Mạch mô phỏng trên Proteus

3. Hình ảnh mạch thực tế.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 22

Hình 23. Mạch công suất

II. Viết code cho vi điều khiển.

Bài tập lớn

Vi xử lý, vi điều khiển Trang 23

1. Trình biên dịch

Trong bài tập, chúng em sử dụng phần mềm mikroC for PIC để viết code cho vi điều khiển

PIC16F877A.

Ưu điểm của mikroC for PIC là dễ sử dụng, chỗ trợ lập trình bằng ngôn ngữ C với nhiều

hàm xử lý sẵn giúp tiết kiệm thời gian và làm cho chương trình gọn gàng hơn.

Nhược điểm của mikroC for PIC là khó áp dụng cho các project lớn.

2. Chương trình điều khiển

#define IN1 PORTB.B0

#define IN2 PORTB.B1

#define LED1 PORTB.B2

#define LED2 PORTB.B3

#define LED3 PORTB.B4

#define CS PORTD.B1

void DAC4921(unsigned int dat)

{

CS = 0;

SPI1_Write(dat>>8 | 0x30);

SPI1_Write(dat & 0x00ff);

CS = 1;

}

void main()

{

unsigned int dat = 0;

ADCON1|= 0x07; // Khong su dung ADC

PORTA = 0xFF;

TRISA.B0 = 1; // RA0 la ngo vao

TRISA.B1 = 1; // RA1 la ngo vao

TRISA.B2 = 1; // RA2 la ngo vao

Bài tập lớn

Vi xử lý, vi điều khiển Trang 24

TRISA.B3 = 1; // RA3 la ngo vao

TRISA.B4 = 1; // RA4 la ngo vao

PORTB = 0xF8;

TRISB.B0 = 0; // RB0 la ngo ra

TRISB.B1 = 0;

TRISB.B2 = 0;

TRISB.B3 = 0;

TRISB.B4 = 0;

TRISD.B1 = 0; //RD1 la ngo ra

// Khoi tao SPI

SPI1_Init();

while(1)

{

if(button(&PORTA,0,20,0)) // NUT DUNG

{

{

IN1 = 0;

IN2 = 0;

LED1 = 0;

LED2 = 1;

LED3 = 1;

}

}

if(button(&PORTA,1,20,0)) // NUT QUAY THUAN

{

{

IN1 = 0;

IN2 = 1;

LED1 = 1;

LED2 = 0;

LED3 = 1;

}

}

if(button(&PORTA,2,20,0)) // NUT QUAY NGUOC

{

{

IN2 = 0;

IN1 = 1;

LED1 = 1;

LED2 = 1;

Bài tập lớn

Vi xử lý, vi điều khiển Trang 25

LED3 = 0;

}

}

if(button(&PORTA,3,20,0)) // NUT TANG TOC DO

{

dat += 50;

if(dat > 4095)

{

dat = 4095;

}

}

if(button(&PORTA,4,20,0)) // NUT GIAM TOC DO

{

dat -= 50;

if(dat < 0)

{

dat = 50;

}

}

DAC4921(dat);

Delay_ms(100);

}

}

Bài tập lớn

Vi xử lý, vi điều khiển Trang 26

Phần III. Kết luận

1. Đánh giá sản phẩm

- Ưu điểm: mạch chạy đúng yêu cầu, thiết kế nhỏ gọn, chi phí phù hợp.

- Nhược điểm: gồm nhiều module nên phải sử dụng dây kết nối làm giảm tính thống nhất.

2. Tính thực tế của sản phẩm

Với mô hình này, có thể ứng dụng trong các ứng dụng đóng mở cửa nơi công cộng như nhà

hàng, khách sạn.

Mạch điện có thể áp dụng cho ứng dụng điều khiển góc quay của pin mặt trời, hoặc các

ứng dụng có điều khiển quay.

Có thể ứng dụng trong các đồ chơi cho trẻ em như các ô tô đồ chơi dùng điều khiển cầm

tay.

3. Đề xuất cải tiến và hướng phát triển

- Hướng cải tiến: phát triển các module trên cùng một board mạch để sản phẩm được

thống nhất, không bị rối mắt vì phải câu nhiều dây.

- Hướng phát triển: có thể tích hợp thêm bộ điều khiển từ xa thay cho các nút nhấn để

điều khiển được thuận lợi hoặc kết hợp với các ứng dụng thông minh trên các điện thoại thông

minh để có được bộ điều khiển hoàn hảo.

4. Tài liệu tham khảo

- Giáo trình vi điều khiển 2 – Nguyễn Đình Phú

- Datasheet PIC16F877A, L298, MCP4921, LM2576.

- Google.com

- Alldatasheet.com