ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout) ĐIỀU KHIỂN ĐỘNG cơ DC DÙNG PIC (có code và layout)
Trang 2MỤC LỤC
DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC BẢNG BIỂU VI DANH MỤC CÁC TỪ VIẾT TẮT VII
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 GIỚI THIỆU ĐỀ TÀI : 1
1.2 LỊCH SỬ RA ĐỜI ĐỘNG CƠ DC VÀ PIC : 1
1.2.1 Động cơ DC : 1
1.2.2 Vi Điều Khiển PIC 16F877a 3
1.3 ỨNG DỤNG CỦA ĐỀ TÀI: 4
CHƯƠNG 2 NỘI DUNG ĐỀ TÀI 5
2.1 SƠ ĐỒ GIẢI THUẬT CỦA MẠCH: 5
2.2 CÁC LINH KIỆN CHÍNH SỬ DỤNG TRONG MẠCH: 6
2.2.1 Vi Điều Khiển PIC 16F877A: 6
2.2.2 Module L298D: 7
2.2.3 Động Cơ DC: 9
2.3 MỘT SỐ PHƯƠNG PHÁP SỬ DỤNG TRONG MẠCH: 10
2.3.1 Điều Chế Độ Rộng Xung (PWM): 10
2.3.2 Mạch Cầu H 12
CHƯƠNG 3 MÔ PHỎNG MẠCH 14
3.1 MÔ PHỎNG MẠCH NGUYÊN LÝ TRÊN PROTUES: 14
3.1.1 Khối nguồn 14
3.1.2 Khối mạch điều khiển: 15
3.1.3 Khối L298D và Động Cơ DC 16
3.2 MẠCH IN PCB 17
CHƯƠNG 4 KẾT LUẬN 18
4.1 KẾT LUẬN 18
Trang 4DANH MỤC CÁC HÌNH
Hình 1 1: Động Cơ Điện Một Chiều 2
Hình 1 2: Cấu tạo Động Cơ DC 3
Hình 1 3: Vi Điều Khiển PIC 16F877A 4
Y Hình 2 1: Sơ Đồ Khối Mạch Điều Khiển Động Cơ DC 5
Hình 2 2: Sơ Đồ Chân PIC 16F877A 6
Hình 2 3: Module Mạch Điều Khiển L298D 8
Hình 2 4: Nguyên Lý Hoạt Động Động Cơ DC 9
Hình 2 5: Điều Chế Xung PWM 11
Hình 2 6 : Mạch Cầu H trong L298D 12
Hình 3 1: Khối Mạch Nguồn 14
Hình 3 2: Khối Mạch Điều Khiển 15
Hình 3 3: Khối Mạch L298D và Động Cơ 16
Hình 3 4: Mạch PCB thiết kế trong Protues 17
Hình 3 5: Mạch PCB thiết kế tích hợp mạch nguồn 17
Trang 6DANH MỤC CÁC TỪ VIẾT TẮTEMF (Electromotive force) Sức Điện Động
PWM (Pulse-width modulation) Điều chế độ rộng xung
DC ( Direct current motor) Động Cơ Điện một chiềuPIC (Programmable Intelligent Computer) Máy tính khả trình thông minh
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới Thiệu Đề Tài :
Đề tài “Điều khiển Động Cơ DC bằng PIC” là một đề tài khá phổ biến về mặtứng dụng của động cơ DC vào cuộc sống , động cơ DC xuất hiện khắp nơi trên mọilĩnh vực công nghệ , tự động , sản xuất và vâng vâng Đề tài này dùng vi điều khiểnPIC 16f877a là loại vi điều khiển khá phổ biến trên thị trường
Đề tài với mục đích tìm hiểu nguyên lý hoạt động của động cơ DC và vi điềukhiển PIC 16f877a trong việc điều khiển Tốc Độ + Chiều Quay của Động Cơ DC.Yêu Cầu đặt ra : Lập Trình Pic 16F877A điều khiển tốc độ cho động cơ DC , tốc
độ được điều khiển bằng nút nhận phản hồi , tăng tốc , giảm tốc , thay đổi chiềuquay động cơ
1.2 Lịch Sử ra đời Động Cơ DC và PIC :
1.2.1 Động cơ DC :
Động cơ điện một chiều (DC) được ra đời khoảng cuối thế kỷ thứ XIX ,động cơđiện là một trong những phát minh vĩ đại của nhân loại , động cơ điện là máy điệndùng để chuyển đổi năng lượng điện sang năng lượng cơ
Hình 1 1: Động Cơ Điện Một Chiều
Trang 8ĐỒ ÁN 2 Trang 2/22
Động cơ điện DC ( DC viết tắt là “ Direct current motor”) là động cơ điều khiểntrực tiếp có cấu tạo gồm hai dây ( dây nguồn và dây tiếp đất ) DC motor là mộtđộng cơ một chiều với cơ năng quay liên tục
Khi cung cấp năng lương động cơ DC sẽ bắt đầu quay Chuyển điện năng thành cơnăng Các động cơ DC sẽ quay với cường độ RPM rất cao ( số vòng/phút ) và cácđộng cơ DC đều được ứng dụng để làm quạt máy tính kiểm soát tốc độ của bánhxe
Hình 1 2: Cấu tạo Động Cơ DC
Để điều khiển tốc độ quay của động cơ DC, ta dùng điều biến độ rộng xung (kíhiệu là PWM), là kỹ thuật điều khiển tốc độ bằng việc bật và tắt các xung điện Tỷ
lệ phần trăm vận tốc với thời gian của thiết bị được điều khiển bằng cơ chế bật tắtmột mức độ cơ số vòng quay xác định của động cơ
1.2.2 Vi Điều Khiển PIC 16F877a
PIC là một họ vi điều khiển RISC sản xuất bởi công tyMicrochipTechnology Dòng PIC đầu tiên là PIC 1650 phát triển bởiMicroelectronics Division sở hữu bởi General Instrument
Điều Khiển Động Cơ DC dùng PIC
Trang 9PIC là chữ viết tắt của "Programmable Intelligent Computer" (Máy tínhkhả trình thông minh) là sản phẩm của hãng General Instruments đặt cho dòngsản phẩm đầu tiên của họ là PIC1650 Lúc này, PIC1650 được dùng để giao tiếp vớicác thiết bị ngoại vi cho máy chủ 16bit CP1600, vì vậy, người ta cũng gọi PIC vớicái tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi).
Hình 1 3: Vi Điều Khiển PIC 16F877A
1.3 Ứng Dụng Của Đề Tài:
Động cơ điện một chiều được ứng dụng rộng rãi trong đời sống , trong nền sảnxuất hiện đại , nó có thể làm động cơ điện , máy phát điện trong các trường hợp làmviệc khác nhau
Động cơ điện một chiều có đặc tính điều chỉnh tốc độ rất tốt, vì vậy được sửdụng trong các ngành công nghiệp cần yêu cầu cao về điều chỉnh tốc độ như : cánthép , hầm mỏ , giao thông vận tải
Vi Điều Khiển PIC được ứng dụng trong các lập trình về tự động , điều khiển ,robot và các lĩnh vực công nghệ cao khác
Trang 10ĐỒ ÁN 2 Trang 4/22
CHƯƠNG 2 NỘI
DU NG ĐỀ TÀI 2.1 Sơ Đồ Giải Thuật của Mạch:
Hình 2 1: Sơ Đồ Khối Mạch Điều Khiển Động Cơ DC
Sơ đồ Giải Thuật của mạch “Điều khiển động cơ DC dùng PIC” bao gồm các khối
module:
Khối Nguồn DC : để cung cấp điện cho mạch với ngõ ra là 12VDC cấp cho
khối mudule L298D và 5VDC cấp cho PIC 16F877A
Khối Điều Khiển : bao gồm các nút nhấn thay đổi tốc độ và chiều quay động
cơ
Điều Khiển Động Cơ DC dùng PIC
Trang 11 Khối Vi Điều Khiển PIC : là khối điều khiển trung tâm có nhiệm vụ tính toánđiều khiển xung PWM và tín hiệu ngõ ra cấp cho khối L298D.
Khối Module L298D : có nhiệm vụ điều khiển tốc độ chiều quay động cơ
Khối Động Cơ : được điều khiển qua khối module L298D thể hiện tốc độ chiều quay
2.2 Các linh kiện chính sử dụng trong mạch:
2.2.1 Vi Điều Khiển PIC 16F877A:
Hình 2 2: Sơ Đồ Chân PIC 16F877A
Một số thông số kỹ thuật PIC 16F877A
Cấu trúc I/O (input/output) :
PIC 16F877A có 5 port có chức năng I/O :
Port A : (RA0 - RA5), port A được điều khiển bởi thanh ghi trisA Ngoài ra port A còn là ngõ ra cũa bộ chuyễn đỗi ADC, bộ so sánh điện áp và là ngõ vào cũa xung Clock cho Timer 0 hoạt động
Port B : (RB0 - RB7) 8 bit I/O cũng được điều khiển bỡi thanh ghi trisB, ngoài ra Port B còn liên quan đến tính năng ngắt ngoại vi
Trang 12ĐỒ ÁN 2 Trang 6/22
Port C : (RC0 - RC7) 8 bit I/O cũng được điều khiển bỡi thanh ghi trisC, bên cạnh đó port C còn có các chân có tính năng so sánh, đồng thời là ngõ vào xung Clock của bộ Timer 1 và các chuẩn giao tiếp nối tiếp
Port D : (RD0 - RD7) : 8 bit I/O được điều khiển bỡi thanh ghi trisD
Port E : (RE0 - RE2) : 3 bit I/O được điều khiển bởi thanh ghi trisE, ngoài ra còn có tính năng nhận ngõ vào Analog để thực hiện chuyễn đỗi ADC
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
Timer0: bộ đếm 8 bit với bộ chia tần số 8bit
Timer1: bộ đếm 16 bit với bộ chia tần số , có thể thực hiện chức năng đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
Timer2: bộ đếm 8 bit với bộ chia tần số , bộ postcaler
Hai bộ capture/so sánh/ điều chế độ rộng xung
Các chuẩn giao tiếp nối tiếp SSP ( synchronous serial port ) , SPI vaf I2C
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
2.2.2 Module L298D:
Module L298D là mạch tích hợp IC L298D còn gọi là IC cầu H thường được dùngtrong các mạch điều khiển tốc độ động cơ xe điều khiển , là một module thông dụngvới đầy đủ chức năng nó có thể điều khiển cùng lúc 2 động cơ
Thông số kỹ thuật:
Drive: L298N tích hợp hai mạch cầu H
Dòng tối đa cho mỗi cầu H là: 2A (2A cho mỗi motor)
Điện áp điều khiển: +5 V ~ +12 V
Công suất hao phí: 20W
Điện áp của tín hiệu điều khiển: +5 V ~ +7 V
Dòng của tín hiệu điều khiển: 0 ~ 36mA
Nhiệt độ bảo quản: -25 đến khoảng 130 ℃ đến khoảng 130 ℃ ℃ đến khoảng 130 ℃
Điều Khiển Động Cơ DC dùng PIC
Trang 13Các chức năng chính của module L298D:
Hình 2 3: Module Mạch Điều Khiển L298D
INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 củaL298 Đây là các chân nhận tín hiệu điều khiển
OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT)được nối với các chân 2, 3,13,14 của L298 Các chân này sẽ được nối vớiđộng cơ
Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298 Nếu ởmức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ởmức logic “0” thì mạch cầu H không hoạt động
Power : ở module này ta có thể cấp nguồn 12VDC vào +12VPower thì ta sẽđược +5V Power như hình để cấp cho vi điều khiển nếu cần
Trang 14ĐỒ ÁN 2 Trang 8/22
cổ góp
Nguyên Tắc Hoạt Động:
- Pha 1: Từ trường của rotor cùng cực với stator, sẽ đẩy nhau tạo ra chuyểnđộng quay của rotor
- Pha 2: Rotor tiếp tục quay
- Pha 3: Bộ phận chỉnh điện sẽ đổi cực sao cho từ trường giữa stator và rotorcùng dấu, trở lại pha 1
Điều Khiển Động Cơ DC dùng PIC
Trang 15Nếu động cơ điện được quay(kéo) với 1 lực tác động bên ngoài , thì động cơđiện sẽ hoạt động như máy phát điện 1 chiều , tạo ra một sức điện động cảm ứngEMF.
Đặc tính cơ của động cơ điện là hàm có dạng M=f(w) hoặc w=f(M) trong đó w
Nguyên tắc cơ ản của phương pháp điều khiển PWM là giữ nguyên giá trịđiện áp và thay đổi thời gian đặt điện áp vào động cơ Điều này có nghĩa, với tần sốđóng ngắt công tắc đủ lớn, thời gian cấp điện áp vào động cơ càng lâu thì điện áptrung ình càng cao, ngược lại thời gian cấp điện vào động cơ ngắn điện áp trungbình giảm Như vậy, PWM là một kỹ thuật so sánh tỷ lệ phần trăm điện áp nguồnbằng cách đóng ngắt nhanh nguồn điện cấp vào động cơ tạo ra một tín hiệu xung,với độ rộng xung (thời gian cấp điện áp) xác định sẽ tạo ra một điện áp trung bìnhxác định (được minh họa như hình 1) Khi tần số đóng ngắt đủ lớn (thường từ 1 ÷
20 kHz), động cơ sẽ chạy với một tốc độ ổn định nhờ moment quay
Đại lượng mô tả mối quan hệ giữa khoảng thời gian T-on và T-off được gọi
là độ rộng xung (duty cycle )
Trang 16ĐỒ ÁN 2 Trang 10/22
Hình 2 5 Điều Chế Xung PWM
Phương Pháp tạo xung PWM bằng VĐK PIC 16F877A
Vi điều khiển PIC16F877A có hỗ trợ kênh điều xung bằng phần cứng ở 2 chân
C1 (CCP2) và C2(CCP1) sử dụng TIMER2 Khi khai áo điều xung PWM ở một
tần số và độ rộng xung cụ thể nào đó thì vi điều khiển sẽ thực hiện công việc xuấtxung một cách liên tục và tự động cho đến khi có sự thay đổi các giá trị độ rộngxung mới
Các hàm hỗ trợ tạo xung PWM trong CCS:
setup_timer_2 (mode, period, postscale) // hàm thiết lập timer 2
- mode: T2_DIV_BY_1, T2_DIV_BY_4, T2_DIV_BY_16
Trang 17Nếu value là giá trị long int 16 bit:
phương pháp điều khiển tốc độ động cơ DC bằng kỹ thuật PWM sử dụng các họ viđiều khiển thông dụng
2.3.2 Mạch Cầu H
Nguyên Lý hoạt động mạch cầu H của Module L298D:
Hình 2 6 : Mạch Cầu H trong L298D
LOW LOW Động Cơ Nghĩ và Dừng
Trang 18ĐỒ ÁN 2 Trang 12/22
HIGH LOW Động Cơ Quay Thuận
LOW HIGH Động Cơ Quay Nghịch
HIGH HIGH Động Cơ Nghĩ và Dừng
Bảng 1 1 Nguyên tắc hoạt động I/O L298D
Như vậy ta thấy 1 động cơ trên L298D được điều khiển bằng 2 chân In1,In2 và ngõ
ra là Out1 và Out2 Ngõ vào In1 In2 cùng mức Low hoặc High thì động cơ nghĩ ,khác mức thì động cơ hoạt động
Ngoài ra chân EnA và EnB là 2 chân cho phép mạch cầu hoạt động nếu không đặtmức logic “1” ở chân này thì mạch sẽ không hoạt động
Điều Khiển Động Cơ DC dùng PIC
Trang 19CHƯƠNG 3 MÔ PHỎNG MẠCH 3.1 Mô phỏng mạch nguyên lý trên Protues:
3.1.1 Khối nguồn
Mạch lấy nguồn xoay chiều qua Adapter AC/DC 220VAC/12VDC , và được ổn ápbởi IC 7805
Hình 3 1: Khối Mạch Nguồn Chức năng chính của các phần tử trong mạch:
IC7805 : chức năng ổn áp điện áp 5VDC cung cấp cho mạch vi điều khiểnPIC 16f877a điện áp ổn định
C1 ( có phân cực ) ổn áp ngõ vào và ngõ ra , diện dung tụ này càng lớn thìđiện áp vào IC 7805 càng phẳng
C3 và C4 ( không phân cực ) là tụ giấy lọc nhiễu tần số cao ngõ vào và racủa mạch , bảo đảm mạch không bị nhiễu
C2 Tụ hóa có tác dụng dập dao động tự kích khi sử dụng IC ổn áp dòng78xx
3.1.2 Khối mạch điều khiển:
Trang 20ĐỒ ÁN 2 Trang 14/22
Hình 3 2: Khối Mạch Điều Khiển
Vi điều khiển trung tâm là PIC 16F877A có chức năng của các port như sau:
PORT A (A0 – A4) được set là ngõ vào nhận tín hiệu từ các nút nhấn STOP ,TANG TOC , GIAM TOC , QUAY THUAN , QUAY NGHICH
PORT C ta sử dụng Chân (RC0,RC1) để xuất tín hiệu PWM điều khiển động
cơ và đảo chiều động cơ
Thạch anh dùng trong mạch có giá trị 20MHz, với 2 tụ C1, C2 là tụ giấy với điệndung 22pF , Pic 16F877A reset khi chân số 1 MCLR nối mass
3.1.3 Khối L298D và Động Cơ DC
Điều Khiển Động Cơ DC dùng PIC
Trang 21Hình 3 3 Khối Mạch L298D và Động Cơ
Nguyên lý hoạt động của L298D như sau:
Động cơ chỉ hoạt động được khi chân EN1 và EN2 ở mức “HIGH” và ngược lạingõ ra không hoạt động khi ở mức “LOW”
Chân IN1 và IN2 của L298D quyết định chiều quay động cơ Nếu cùng mức thìđộng cơ dừng , khác mức thì động cơ quay Nếu IN1 “HIGH” IN2 “LOW” thì động
cơ quay thuận Ngược lại thì động cơ quay nghịch
3.2 Mạch In PCB
Trang 22ĐỒ ÁN 2 Trang 16/22
Hình 3 4: Mạch PCB thiết kế trong Protues
Mạch In PCB được vẽ bằng phần mền chuyên dụng protues
Mạch tích hợp mạch nguồn và các linh kiện như diot chống xả dòng cho động cơbảo vệ mạch
Hình 3 5: Mạch PCB thiết kế tích hợp mạch nguồn
Điều Khiển Động Cơ DC dùng PIC
Trang 23CHƯƠNG 4 KẾT
LUẬ N
4.1 Kết luận
Sau khi hoàn thành đề tài “ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DC BẰNGPIC”và hoàn thành theo đúng kế hoạch đề ra Bao gồm các nhiệm vụ sau:
-Tìm hiểu động cơ DC , PIC
-Tìm hiểu nguyên lý hoạt động của mạch
-Mô phỏng mạch bằng protues
-Nhấn nút thay đổi chiều và tốc độ động cơ
-Hoàn thiện và viết báo cáo
Do thời gian thực hiện đề tài có hạn nên không thể làm thêm một số thứ em sẽ
Trang 24ĐỒ ÁN 2 Trang 18/22
TÀI LIỆU THAM KHẢO
https://libstock.mikroe.com/projects/view/1800/dc-motor-control-using-[4]
Điều Khiển Động Cơ DC dùng PIC
Trang 26ĐỒ ÁN 2 Trang 20/22
}//thuan
if(!input(PIN_A4)) {
Điều Khiển Động Cơ DC dùng PIC
Trang 27while(!input(PIN_A4)); output_low(PIN_C3); output_low(PIN_C4); tocdo1=0;set_pwm1_duty(tocdo1); delay_ms(1000); output_low(PIN_C3);output_high(PIN_C4);