Điều khiển động cơ DC
Trang 1MỤC LỤC
LỜI CẢM ƠN
LỜI MỞ ĐẦU
-Phần I : Giới thiệu các linh kiện trong mạch 1.1 Các linh kiện sử dụng trong mạch
-1.2 Giới thiệu linh kiện
-1.2.1 Led 7 đoạn 1.2.2 Transistor 1.2.3 IC 89C51 1.2.4 IC L298N Phần 2 :Xử lý Điều rộng xung (PWM) điều khiển động cơ 2.1 Ngắt do bộ định thời Timer 0
-2.2 Tạo PWM từ Timer 0
Phần 3 : Tinh toán thiết kế mạch
-3.1 Sơ đồ khối
-3.2 Phân tích chức năng của từng khối và tính toán thiêt kế mạch
-3.2.1 Khối điều khiển trung tâm 3.2.2 Khối bàn phím 3.2.3 Khối hiển thị 3.2.4 Khối Reset 3.2.5 Khối công suất 3.3 Sơ đồ Mạch nguyên lý 3.4 Sơ đồ thi công Phần 4 : Lưu đồ - Chương trình 4.1 Lưu đồ chương trình
-4.2 Lưu đồ giải
thuật -4.3 Chương trình
-Phần 5 : Kết
luận -Phần 6 : Tài liệu tham
Trang 2khảo -PHẦN 1
GIỚI THIỆU CÁC LINH KIỆN TRONG MẠCH
Hình - Sơ đồ chân và cấu tạo của led 7 đoạn
Led 7 đoạn là một công cụ thông dụng được dùng để hiển thị thông số dưới dạng các số từ 0 đến 9 Mặc dù công cụ LCD giúp ta thể hiện các thông số một cách linh động hơn nhưng LED 7 đoạn vẫn được sử dụng nhiều trong công nghiệp do các ưu thế của nó như : ít chịu ảnh hưởng của nhiệt độ, dễ tạo sự chú ý và góc nhìn rộng
Led 7 đoạn gồm 7 đoạn Led được đánh dấu là các ký tự a, b, c, d, e, f, g và một dấu chấm thập phân ký hiệu là dp Ta có thể xem Led 7 đoạn là một tổ hợp gồm 8 LED 8 LED này có một đầu ( Anode hoặc Cathode ) được nối chung và được bố trí theo một qui tắc nhất định dùng để hiển thị các chữ số thập phân
Có hai loại LED 7 đoạn, đó là loại Anode chung ( cực Anode của các LED được nối chung với nhau) và loại Cathode chung ( cực Cathode của các LED được nối chung với nhau ) Tùy theo từng loại LED mà ta có các phương pháp điều khiển các LED trong
tổ hợp đó sáng tắt một cách thích hợp Đối với loại Anode chung, một LED sẽ được bật sáng nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức logic 0 Đối với loại
Trang 3Cathode chung, một LED sẽ được bật sáng nếu mức logic đưa vào chân điều khiển đoạn LED đó là mức logic 1 Một phương pháp để xác định chính xác các chân điều khiển của Led 7 đoạn là kiểm tra từng chân của LED đó.
Dựa vào hình vẽ cấu tạo LED 7 đoạn ta có thể hiểu một phần nào phương pháp hiển thị của LED Ví dụ, muốn hiển thị số “6”, ta sẽ điều khiển các đoạn LED a, c, d, e, g,
f sáng lên
Việc điều khiển sáng tắt được thực hiện bằng cách đưa dữ liệu thích hợp vào các chân từ a-g và dp ( tạm gọi là các chân dữ liệu) của LED 7 đoạn Đó là cách hiển thị từng LED Tuy nhiên, trong thực tế, để tiết kiệm số chân cần thiết để điều khiển cùng một lúc nhiều LED 7 đoạn, các dữ liệu của các LED sẽ được nối song song với nhau, các chân anode chung ( hoặc cathode chung) được dùng để cho phép LED đó sáng hay tắt (tạm gọi
là các chân điều khiển)
1.2.2 Transistor
Transistor BJT gồm ba miền tạo bởi hai tiếp giáp p–n, trong đó
miền giữa là bán dẫn loại p Miền có mật độ tạp chất cao nhất, kí hiệu
n+ là miền phát (emitter) Miền có mật độ tạp chất thấp hơn, kí hiệu n,
gọi là miền thu (collector) Miền giữa có mật độ tạp chất rất thấp, kí hiệu
p, gọi là miền gốc (base) Ba chân kim loại gắn với ba miền tương ứng
với ba cực emitter (E), base (B), collecter (C) của transistor
Đặc tính kỹ thuật của transistor :
-Điện áp giới hạn : có 3 loại :
BVCEO : điện áp đánh thủng giữa C và E khi cực B hở
BVCBO : điện áp đánh thủng giữa C và B khi cực E hở
BVEBO : điện áp đánh thủng giữa E và B khi cực C hở
-Dòng điện giới hạn :
Icmax là dòng điện tối đa ở cực C và Ibmax là dòng điện tối đa ở cực b
Dòng tối đa đưa vào cực B là : 10mA
Dòng tối đa đưa vào cực C là : 100mA
Chức năng của transistor chủ yếu là khuyếch đại tín hiệu và đóng ngắt các mạch điện
-Công suất giới hạn :
Khi có dòng điện qua transisor sẽ sinh ra 1 công suất nhiệt làm nóng transistor, công suất sinh ra được tính theo công thức : PT=IC.VCE
Ký hiệu: transistor loại PNP :
Trang 4a Khối điều khiển trung tâm ( CPU ) :
Vi điều khiển 89C51 Với 4 Port điều khiển
b Sơ đồ khối của một hệ vi xử lý:
CPU (Central Processing Unit): đơn vị xử lý trung tâm
RAM (Random Access Memory): bộ nhớ truy xuất ngẫu nhiên
Rom (Read Only Memory): bộ nhớ chỉ đọc
Interface Circuitry: mạch điện giao tiếp
Peripheral Devices (Input): các thiết bị ngoại vi (thiết bị nhập)
Peripheral Devices (Output): các thiết bị ngoại vi (thiết bị xuất)
Addressbus: bus địa chỉ
Data bus: bus dữ liệu
Control bus: bus điều khiển
Trang 5c Đơn vị xử lý trung tâm:
CPU đóng vai trò chủ đạo trong hệ vi xử lý, nó quản lý tất cả các hoạt động của hệ và thực hiện tất cả các thao tác trên dữ liệu
CPU là một vi mạch điện tử có độ tích hợp cao Khi hoạt động CPU đọc
mã lệnh được ghi dưới dạng các bit 0 và bit 1 từ bộ nhớ, sau đó nó sẽ thực hiện giải mã các lệnh này thành các dãy xung điều khiển tương ứng với các thao tác trong lệnh để điều khiển các khối khác thực hiện từng bước các thao tác đóvà từ
đó tạo ra các xung điều khiển cho toàn hệ
IR/IP (Instruction Register/Intruction Pointer): thanh ghi lệnh con trỏ lệnh
PC (Program Counter): bộ đếm chươngtrình
Instruction decode and control unit: đơn vị giải mã lệnh và điều khiển
ALU (arithmetic and Logic Unit): đơn vị số học và logic
Registers: Các thanh ghi
Tóm lại: Khi hoạt động CPU sẽ thực hiện liên tục 2 thao tác: tìm nạp lệnh và giãi
mã - thực hiện lệnh
Thao tác tìm nạp lệnh:
Nội dung của thanh ghi PC đượcCPU đưa lên bus địa chỉ
Tín hiệu điều khiển đọc (Read) chuyển sang trạng thái tích cực
Mã lệnh (Opcode) từ bộ nhớ được đưa lên bus dữ liệu
Mã lệnh được chuyển vào trong thanh ghi IR trong CPU
Nội dung của thanh ghi PC tăng lên một đơn vị để chuẩn bị tìm nạp lệnh
kế tiếp từ bộ nhớ
Thao tác giải mã - thực hiện lệnh:
Mã lệnh từ thanh ghi IR được đưa vào đơn vị giải mã lệnh và điều khiển
Đơn vị giải mã lệnh và điều khiển sẽ thực hiện giải mã opcode và tạo ra các tín hiệu để điều khhiển việc xuất nhập dữ liệu giữ ALU và các thanh ghi(Register)
Căn cứ trên các tín hiệu điều khiển này, ALU thực hịên các thao tác đã được xác định
Một chuỗi các lệnh (Opcode) kết hợp lại với nhau để thực hiện một công việc có nghĩa được gọi là chương trình (Program) hay phần mềm(Softwave)
d Bộ nhớ bán dẫn:
- Bộ nhớ bán dẫn là một khác rất quan trọng của hệ vi xử lý, các chương trình và dữ liệu đều được lưu giữ trong bộ nhớ
Bộ nhớ bán dẫn trong hệ vi xử lý gồm:
Trang 6động của toàn hệ thống.
RAM: bộ nhớ dữ liệu → lưu giữ dữ liệu, một phần chương trình điều khiển hệ thống, các ứng dụng và kết quả tính toán
Sơ lược về cấu trúc và phân loại ROM – RAM:
ROM (Read Only Memory): bộ nhớ chỉ đọc
RAM (Random Access Memory): bộ nhớ truy xuất ngẫu nhiên (bộ nhớ ghi đọc)
e Hệ thống bus:
Bus là tập hợp các đường dây mang thông tin có cùng chức năng Việc truy xuất thông tin tới một mạch điện xung quanh CPU thì nó sử dụng 3 loại bus: bus địa chỉ, bus dữ liệu và bus điều khiển CPU sử dụng hệ thống bus này để thực hiện các thao tác đọc(READ) và ghi(WRITE) thông tin giữa CPU với bộ nhớ hoặc các thiết bị ngoại vi
Bus địa chỉ(Address bus):
- Để chuyển tải thông tin của các bit địa chỉ
- Là loại bus 1 chiều(CPU→MEM hay I/O).
- Để xác định bộ nhớ hoặc thiết bị ngoại vi mà CPU cần trao đổi thông tin
- Để xác định dung lượng bộ nhớ hoặc thiết bị ngoại vi mà CPU có khả năng truy xuất
Bus dữ liệu(Data bus):
- Để chuyển tải thông tin của các bit dữ liệu
- Là loại bus 2 chiều(CPU↔MEM hay I/O).
- Để xác định số bit dữ liệu vi mà CPU có khả năng xử lý cùng một lúc
Bus điều khiển (Control bus):
- Để chuyển tải thông tin của các bit dữ liệu(mỗi đường dây là một tín hiệu điều khiển khác nhau)
- Là loại bus 1 chiều(CPU→MEM - I/O hoặc MEM - I/O→ CPU ).
- Để điều khiển các khối khác trong hệ và nhận tín hiệu điều khiển từ các khối đó để phối hợp hoạt động
Trang 7f Các chân của chip 89C51:
- Sơ đồ khối và chức năng các khối của chip 89C51:
CPU (Central Processing Unit): Đơn vị xử lý trung tâm → tính toán và điều khiển quá trình hoạt động của hệ thống
OSC (Oscillator): Mạch dao động → tạo tín hiệu xung clock cung cấp cho các khối trong chip hoạt động
Interrupt control: Điều khiển ngắt → nhận tín hiệu ngắt từ bean ngoài (INT0\, INT1\), từ bộ định thời (TIMER0, TIMER1) và từ cổng nối tiếp (SERIAL PORT), lần lượt đưa các tín hiệu ngắt này đến CPU để xử lý
Other registers: Các thanh ghi khác → lưu trữ dữ liệu của các port xuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trình hoạt động của hệ thống
RAM (Random Access Memory): Bộ nhớ dữ liệu trong chip → lưu trữ các
dữ liệu
ROM (Read Only Memory): Bộ nhớ chương trình trong chip → lưu trữ chương trình hoạt động của chip
I/O ports (In/Out ports): Các port xuất/nhập → điều khiển việc xuất nhập
dữ liệu dưới dạng song song giữa trong và ngoài chip thông qua các port P0, P1, P2, P3
Serial port: Port nối tiếp → điều khiển việc xuất nhập dữ liệu dưới dạng nối tiếp giữa trong và ngoài chip thông qua các chân TxD, RxD
Timer 0, Timer 1: Bộ định thời 0, 1 → dùng để định thời gian hoặc đếm sự kiện (đếm xung) thông qua các chân T0, T1
Bus control: Điều khiển bus _ điều khiển hoạt động của hệ thống bus và việc di chuyển thông tin trên hệ thống bus
Bus system: Hệ thống bus → liên kết các khối trong chip lại với nhau
Trang 8- Sơ đồ chân và chức năng các chân của chip 8051:
Port 0:
- Port 0 (P0.0 – P0.7) có số chân từ 32 – 39
- Port 0 có hai chức năng:
- Port xuất nhập dữ liệu (P0.0 - P0.7) → không sử dụng bộ nhớ ngoài
- Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) → có sử dụng
bộ nhớ ngoài
+ Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập dữ liệu thì phải sử dụng các
điện trở kéo lên bên ngoài
- Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của dữ liệu (D0 -> D7)
Trang 9 Port 2:
- Port 2 (P2.0 – P2.7) có số chân từ 21 – 28
- Port 2 có hai chức năng:
- Port xuất nhập dữ liệu (P2.0 – P2.7) → không sử dụng bộ nhớ ngoài
- Bus địa chỉ byte cao (A8 – A15) → có sử dụng bộ nhớ ngoài
- Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào của địa chỉ byte cao (A8 – A11) và các tín hiệu điều khiển
Port 3:
- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17
- Port 3 có hai chức năng:
- Port xuất nhập dữ liệu (P3.0 – P3.7) → không sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt
- Các tín hiệu điều khiển → có sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt
- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào của các tín hiệu điều khiển
- Chức năng của các chân Port 3:
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp
P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp
P3.2 INT0\ B2H Ngõ vào ngắt ngoài 0
P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời đếm 1
P3.6 WR\ B6H Điều khiển ghi bộ nhớ dữ liệu Ram ngoài
P3.7 RD\ B7H Điều khiển đọc bộ nhớ dữ liệu Ram ngoài
PSEN\ = 0 → trong thời gian CPU tìm-nạp lệnh từ ROM ngoài
PSEN\ = 1 → CPU sử dụng ROM trong (không sử dụng ROM ngoài)
- Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nối với chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài
Trang 10• Là tín hiệu xuất, tích cực mức cao.
ALE = 0 → trong thời gian bus AD0 – AD7 đóng vai trò là bus D0 – D7.ALE = 1 → trong thời gian bus AD0 – AD7 đóng vai trò là bus A0 – A7
- Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vào của xung lập trình (PGM\)
- Khi lệnh lấy dữ liệu từ RAM ngoài (MOVX) được thực hiện thì 1 xung ALE bị bỏ qua
EA\ = 0 → Chip 8051 sử dụng chương trình của ROM ngoài
EA\ = 1 → Chip 8051 sử dụng chương trình của ROM trong
- Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình (Vpp = 12V/89xx, 21V/80xx,87xx)
+ Lưu ý: Chân EA\ luôn luôn phải được nối lên Vcc (sử dụng chương trình của
ROM trong) hoặc xuống Vss (sử dụng chương trình của ROM ngoài),không bao giờ được phép bỏ trống chân này
Chân XTAL1, XTAL2:
- XTAL (Crystal): tinh thể thạch anh, chân số 18-19
- Chức năng:
• Dùng để nối với thạch anh hoặc mạch dao động tạo xung clock bên ngoài, cung cấp tín hiệu xung clock cho chip hoạt động
• XTAL1 → ngõ vào mạch tạo xung clock trong chip
• XTAL2 → ngõ ra mạch tạo xung clock trong chip
RST = 0 _ Chip 8051 hoạt động bình thường
RST = 1 _ Chip 8051 được thiết lặp lại trạng thái ban đầu
Trang 11- Bộ vi xử lý có không gian bộ nhớ chung cho dữ liệu và chương trình.
Chương trình và dữ liệu nằm chung trên RAM trước khi đưa vào CPU để thực thi
- Bộ vi điều khiển có không gian bộ nhớ riêng cho dữ liệu và chương trình
Chương trình và dữ liệu nằm trên RAM và ROM trước khi đưa vào CPU
để thực thi
Trang 12- Tổ chức bộ nhớ của chip 8051:
Không gian bộ nhớ của chip 89C51
h Thanh ghi chức năng đặc biệt:
- Thanh ghi A:
- Thanh ghi B:
Trang 13- Thanh ghi từ PSW:
- Thanh ghi SP:
- Thanh ghi DPTR:
Trang 14- Thanh ghi Port xuất nhập:
hanh ghi Port nối tiếp:
- Thanh ghi định thời:
Trang 15- Thanh ghi ngắt:
Cấu trúc thanh ghi IE:
Trang 16Hai điều kiện để một ngắt được phép hoạt động là:
Bit EA=1.
Bit ngắt tương ứng =1.
1.2.4 IC L298N
- Điện áp cấp lên đến 46V
Trang 17- Tổng Dòng DC chịu đựng lên đến 4A
- Điện áp bão hòa
- Chức năng bảo vệ quá nhiệt
- Điện áp logic‘0’từ 1.5V trở xuống
a Tần công suất ngõ ra:
IC L298 tích hợp 2 tầng công suất (A, B) Tần công suất chính là mạch cầu
và ngõ ra của nó có thể lái các loại tải cảm thông dụng ở nhiều chế độ hoạt động khác nhau (tùy thuộc vào sự điều khiển ở ngõ vào)
Dòng điện từ chân ngõ ra chảy qua tải đến chân cảm ứng dòng : điện trở ngoài RSA, RSB cho phép việc cảm ứng cường độ dòng điện này
b Tần ngõ vào:
Mỗi cầu được điều khiển bởi 4 cổng ngõ vào In1, In2, EnA, và In3, In4, EnB Các chân In có tác dụng khi chân En ở mức cao, khi chân En ở mức thấp, các chân ngõ vào In ở trạng thái cấm Tất cả các chân đều tương thích với chuẩn TTL
PHẦN 2
XỬ LÝ ĐIỀU RỘNG XUNG (PWM) CHO ĐỘNG CƠ
Để điều khiển được tốc độ động cơ thì ta chỉ cần thay đổi độ rộng xung trong vi điều khiển Độ rộng xung càng lớn thì động cơ quay càng nhanh
Như chúng ta đã biết thì việc điều khiển nhấp nháy 1 con LED cũng là chúng ta đã điều chế được PWM rồi nhưng xung đó có độ rộng thay đổi và tần số lớn và có thể điều khiển nó bằng hàm trễ (delay) Tuy nhiên khi dùng hàm delay thì trong thời gian xung lên 5V và xuống 0V thì vi điều khiển không làm gì cả hơn nữa việc tạo xung hàm delay thì nếu ta muốn phát xung ở 2 kênh có độ rộng thay đổi là rất khó khăn cho nên chúng ta sử dụng bộ định thời timer ở đây là phương pháp tối ưu nhất
2.1 Ngắt do bộ định thời Timer 0
Ngắt là sự đáp ứng những sự kiện bên trong và bên ngoài nhằm thông bào cho bộ vi điều khiển biết thiết bị đang cần phục vụ
Trang 18
Một chương trình không có ngắt thì chạy liên tục, còn chương trình mà có ngắt thì cứ khi nào có ngắt được đảm bảo thì con trỏ sẽ nhảy sang hàm ngắt thực hiện xong thì hàm ngắt quay trở về đúng chỗ cũ và thực hiện tiếp chương trình chính
Nhìn vào tiến trình của hàm main và có ngắt : Chương trình chính đang chạy, ngắt xẩy ra, thực hiện hàm ngắt rồi quay lại chương trình chính Thời gian thực hiện hàm ngắt rất nhỏ cho nên thời gian thực hiện hàm ngắt không ảnh hưởng gì đến chức năng của hàm chính như vậy là trong hàm ngắt thực hiện 1 công việc và trong hàm chính chúng ta thực hiện 1 công việc
- Interrupt là hàm ngắt phải phân biệt với hàm khác
- Nguồn ngắt từ 0-5 theo bảng vecto ngắt
- Băng thanh ghi Ram chọn từ 0-3
Các bảng của nguồn ngắt
Trang 19Trong 1 ngắt có nhiều chế độ Với ngắt Timer0 cấu hình cho nó chạy ở chế
độ nào, chế độ timer hay counter, chế độ 8bit ,16bit…bằng cách gán cho giá trị tương ứng TMOD