Chương 1: DẪN NHẬP
1.1. ĐẶT VẤN ĐỀ . 1
1.2. TẦM QUAN TRỌNG CỦA ĐỀ TÀI . 1
1.3. YÊU CẦU VÀ ĐẶC TÍNH KỸ THUẬT . 2
1.4. MỤC ĐÍCH NGHIÊN CỨU. 3
Chương 2: CÁC VẤN ĐỀ LÝ THUYẾT LIÊN QUAN VÀ LINH KIỆN
SỬ DỤNG
2.1. HỆ THỐNG ĐIỀU KHIỂN TỪ XA . 5
2.1.1. GIỚI THIỆU . 5
2.1.2. HỆ THỐNG ĐIỀU KHIỂN TỪ XA BẰNG SÓNG VÔ TUYẾN . 5
2.1.3. LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ . 8
2.2. LÝ THUYẾT VỀ ĐIỀU CHẾ . 8
2.2.1. GIỚI THIỆU . 8
2.2.2. PHƯƠNG PHÁP ĐIỀU CHẾ FSK (frequency shift keying) . 9
2.2.2.1. Phương pháp hoạt động của phương pháp FSK. 9
2.2.2.2. Phương trình toán học của FSK . 10
2.3. NHỮNG LINH KIỆN SỬ DỤNG . 11
2.3.1. IC THU PHÁT RF:HM-TR 915 . 11
2.3.1.1. Giới thiệu. 11
2.3.1.2. Các đặc điểm kỹ thuật. 11
2.3.1.3. Các lĩnh vực ứng dụng . 11
2.3.1.4. Mạch và sơ đồ chân . 12
2.3.1.5. Chức năng các chân . 13
2.3.1.6. Các thông số cơ bản . 14
2.3.1.7. Thiết lập hoạt động . 14
2.3.2. VI ĐIỀU KHIỂN HỌ 8051 . 18
2.3.2.1. Dải đếm lập trình được PCA (Programmable Counter Array) . 18
2.3.2.2. Timer 2 . 27
2.3.3. IC GIAO TIẾP MAX232 . 34
2.3.4. CÁC PHẦN TỬ ĐIỀU KHIỂN CÁCH LY . 34
2.3.4.1. Opto Transistor (4N35). 34
2.3.4.2. Relay 12V. 35
Chương 3: MẠCH ĐIỆN ĐIỀU KHIỂN ROBOT
3.1. TỔNG QUÁT VỀ PHẦN CỨNG. 36
3.1.1. SƠ ĐỒ KHỐI MẠCH PHÁT VÀ CHỨC NĂNG TỪNG KHỐI . 36
3.1.2. SƠ ĐỒ KHỐI MẠCH THU VÀ CHỨC NĂNG NHIỆM VỤ CỦA TỪNG
KHỐI . 37
3.2. KHỐI NGUỒN . 44
3.3. MODULE MCU. 40
3.4. MODULE CHUYỂN ĐỔI TÍN HIỆU . 41
3.5. MODULE BÀN PHÍM. 42
3.6. MODULE LÁI ĐỘNG CƠ . 43
3.7. KHỐI CÁCH LY NGUỒN TẢI . 44
3.8. KHỐI KHUẾCH ĐẠI DÒNG ÁP IC2803. 44
3.9. BÀN PHÍM ĐIỀU KHIỂN BẰNG TAY . 45
3.10. LAYOUT CHO MẠCH ĐIỀU KHIỂN ROBOT . 47
3.10.1. TOP LAYER . 47
3.10.2. BOT LAYER. 48
3.10.3. SST LAYER (LỚP LINH KIỆN) . 49
3.10.4. MẠCH THỰC TẾ . 50
3.10.5. ROBOT SAU KHI THI CÔNG . 51
3.11. LAYOUT CHO MẠCH BẰNG TAY . 52
3.11.1. TOP LAYER (MẠCH ĐIỀU KHIỂN BẰNG TAY) . 52
3.11.2. BOT LAYER (MẠCH ĐIỀU KHIỂN BẰNG TAY) . 52
3.11.3. MẠCH THỰC TẾ . 53
3.11.4. MẠCH SAU KHI THI CÔNG . 54
3.12. GIỚI HẠN ĐỀ TÀI . 55
Chương 4: PHẦN MỀM VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN
4.1. PHẦN MỀM DOCK LIGHT. 56
4.2. CHƯƠNG TRÌNH ĐIỀU KHIỂN . 56
4.2.1. CHƯƠNG TRÌNH CHÍNH Main.c. 56
4.2.2. HEADER declare.h . 57
4.2.3. HEADER define_sfr_const.h. 58
4.2.4. MODULE init_PCA_timer.c . 60
4.2.5. MODULE delay_func.c . 61
4.2.6. MODULE init_UART.c . 62
4.2.7. MODULE process_motor.c . 63
4.2.8. MODULE moving.c . 65
4.2.9. MODULE action.c . 66
TÀI LIỆU THAM KHẢO
80 trang |
Chia sẻ: lethao | Lượt xem: 2245 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Ứng dụng sóng cao tần vào điều khiển Robot, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
. module sẽ ở chế độ ngủ nếu chân này xuống mức thấp.
Hình 2.9: Sơ đồ giao tiếp giữa module với cổng COM
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 16
SVTH: Lê Trung Hiếu
Hình 2.10: Sơ đồ giao tiếp giữa modu với MAX232
Trong chế độ cấu hình thì các thông số làm việc của module có thể được thiết lập
thông qua chương trình cài đặt HM-TR. Việc cài đặt được thực hiện thông qua việc giao
tiếp giữa máy tính (PC) với module. Ban đầu nó được mặc định với các thông số: 9600,
8, N, 1 như bên dưới.
Hình 2.11: Hình minh họa cho giao diện của chương trình HM-TR SETUP UTILITY
Nút “Read” : đọc các thông số từ module về
Nút “Write” : đưa các thông số đã chọn vào module để làm việc
Nút “Default” :sử dụng lại các thông số mặc định của module.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 17
SVTH: Lê Trung Hiếu
Hình 2.12: Hình dạng 3 chiều của module
Hình 2.13: Hình dạng module khi nhìn từ trên xuống
Hình 2.14: Hình dạng module khi nhìn ngang
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 18
SVTH: Lê Trung Hiếu
2.3.2 VI ĐIỀU KHIỂN HỌ 8051
Vi điều khiển họ 8051 đã trở nên khá quen thuộc với các bạn sinh viên. Phần
sau đây sẽ không nhắc lại những vấn đề đã được trình bày trong giáo trình “Vi xử lý”
mà sẽ giới thiệu những tính năng mới trong trong một số vi điều khiển họ 8051 mở rộng.
Vi điều khiển P89V51RD2xx của Philips sẽ được lấy làm minh họa.
2.3.2.1 Dải đếm lập trình được PCA (Programmable Counter Array)
PCA là một cải tiến đáng kể đối với những vi điều khiển họ 8051. Dải đếm này
bao gồm một timer 16-bit và 5 module hỗ trợ. Các ngõ ra của module được ký hiệu lần
lượt là CEX0 đến CEX4 tương ứng với các chân P1.3 đến P1.7. Các module này có
thể được lập trình để hoạt động ở 1 trong 4 chức năng: Capture 16-bit, Timer 16-bit,
High-speed output 16-bit, PWM 8-bit. Riêng module 4 có thêm chức năng Watchdog
timer.
Hình 2.15: PCA Modules
Để hỗ trợ PCA, các vi điều khiển họ 8051 được bổ sung thêm một số thanh ghi
sau:
Thanh ghi CH và CL (địa chỉ lần lượt là F9H và E9H): hai thanh ghi
chứa byte cao, byte thấp của timer 16-bit PCA (tương tự như thanh ghi TH0,
TL0 của timer 0 và TH1, TL1 của timer 1.
Thanh ghi CCAPnH (n=0..4) (địa chỉ từ FAH đến FEH) và CCAPnL
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 19
SVTH: Lê Trung Hiếu
(n=0..4) (địa chỉ từ EAH và EEH): thanh ghi chứa byte cao, byte thấp của giá
trị cần nạp cho mỗi module.
Thanh ghi CMOD: (địa chỉ D9H, không định địa chỉ bit, giá trị reset: 00H)
Bit 7 6 5 4 3 2 1 0
Ký hiệu CIDL WDTE - - - CPS1 CPS0 ECF
Bảng 2.3 Thanh ghi CMOD
BIT Ký hiệu Chức năng
7 CIDL Counter Idle Control. CIDL = 1 sẽ cho phép PCA dừng khi8051 vào chế độ Idle, ngược lại CIDL = 0 buộc PCA vẫn tiếp tục
hoạt động.
6 WDTE Watchdog timer enable. Set bit này lên 1 để enable chức năng
Watchdog timer của module 4. Ngược lại sẽ disable.
5 ÷ 3 - Bit dự trữ
2 CPS1 Count Pulse Select 1. Bit cao chọn nguồn xung nhịp cho PCA
1 CPS0 Count Pulse Select 0. Bit thấp chọn nguồn xung nhịp cho PCA
0 ECF PCA Enable Counter Overflow Interrupt. Nếu set bit này lên 1
Bảng 2.4: Tóm tắt chức năng các bit của thanh ghi CMOD
CPS1 CPS0 Nguồn xung cho PCA
0
0
1
1
0
1
0
1
0, Xung nhịp bên trong, fOSC/6
1, Xung nhịp bên trong, fOSC/2
2, Tốc độ tràn Timer 0
3, Xung nhịp ngoài được cấp tại chân ECI/P1.2 (tối đa là fOSC/4)
Bảng 2.5: Chọn nguồn xung nhịp cho PCA
Thanh ghi CCON: (địa chỉ D8H, có định địa chỉ bit, giá trị reset: 00H)
Bit 7 6 5 4 3 2 1 0
Ký hiệu CF CR - CCF4 CCF3 CCF2 CCF1 CCF0
Bảng 2.6 Thanh ghi CCON
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 20
SVTH: Lê Trung Hiếu
BIT Ký hiệu Chức năng
7
6
5
4
3
2
1
0
CF
CR
-
CCF4
CCF3
CCF2
CCF1
CCF0
PCA counter overflow flag. Khi bộ đếm bị tràn, CF tự động
được set lên 1. Nếu bit ECF của thanh ghi CMOD đã được set
trước đó, CF =1 sẽ tạo ra ngắt.
PCA counter run control. Bật tắt PCA counter.
Bit dự trữ
Cờ ngắt module 4.
Cờ ngắt module 3.
Cờ ngắt module 2.
Cờ ngắt module 1.
Cờ ngắt module 0.
Bảng 2.7: Tóm tắt chức năng các bit của thanh ghi CCON
Lưu ý: các cờ ngắt trong thanh ghi CCON cần phải được xóa bằng phần mềm.
Thanh ghi CCAPMn (n=0..4): (địa chỉ lần lượt từ DAH đến DEH, không định
địa chỉ bit, giá trị reset: 00H)
Bit 7 6 5 4 3 2 1 0
Ký hiệu - ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
Bảng 2.8 Thanh ghi CCAPM
Đây là thanh ghi điều khiển hoạt động của các module. Chế độ hoạt động của mỗi
module sẽ được xác định bằng cách tác động vào các bit thuộc các thanh ghi này. Chức
năng của các bit thuộc thanh ghi CCAPMn được mô tả trong bảng sau:
BIT Ký hiệu Mô tả
7
6
-
ECOMn
Bit dự trữ
Enable Comparator. ECOMn = 1 sẽ kích hoạt chức năng so sánh
5 CAPPn Capture Positive. CAPPn = 1 sẽ cho phép capture khi có cạnh lên
tại chân CEXn.
4 CAPNn Capture Negative. CAPNn = 1 sẽ cho phép capture khi có cạnh
xuống tại chân CEXn.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 21
SVTH: Lê Trung Hiếu
3 MATn Match. Nếu MATn = 1, khi giá trị bộ đếm PCA (CH,CL) bằng giá
trị nạp trong thanh ghi (CCAPnH,CCAPnL) sẽ làm cho bit CCFn
trong thanh ghi CCON lên 1, nhờ đó tạo ra ngắt.
2 TOGn Toggle. Nếu TOGn = 1, khi giá trị bộ đếm PCA (CH,CL) bằng giá
trị nạp trong thanh ghi (CCAPnH,CCAPnL) sẽ làm cho ngõ ra của
module CEXn đổi trạng thái.
1 PWMn Pulse Width Modulation. PWMn = 1 sẽ làm cho CEXn là một ngõ
ra điều xung.
0 ECCFn Enable CCFn Interrupt. ECCFn = 1, mỗi khi CCFn trong thanh ghi
CCON =1 sẽ tạo ra ngắt.
Bảng 2.9: Tóm tắt chức năng các bit của thanh ghi CCAPMn
Sử dụng các ngắt PCA
Các bit cờ ngắt PCA tập trung hoàn toàn trong thanh ghi CCON. Bit CF = 1 khi
bộ đếm tràn, CCFn = 1 khi có capture/match tại CEXn. Muốn sử dụng được ngắt cần
phải set bit cho phép ngắt toàn bộ (IE.7, ký hiệu EA), cho phép ngắt PCA (IE.6, kí
hiệu EC) và set các bit cho phép từng module tạo ngắt (ECF, ECCFn).
Hình 2.16: Các bit cờ ngắt của PCA
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 22
SVTH: Lê Trung Hiếu
Các chế độ hoạt động của module PCA
PCA 16-bit Capture
Để có thể sử dụng chức năng Capture, một trong hai bit hoặc cả hai bit CAPPn và
CAPNn trong thanh ghi CCAPMn phải được set lên 1. Các chân CEXn, được lấy mẫu và
khi có cạnh lên/ cạnh xuống tại chân CEXn, 8051 sẽ nạp giá trị (CH,CL) vào cặp thanh
ghi (CCAPnH,CCAPnL), đồng thời nó cũng làm cho bit CCFn lên 1.
Hình 2.17: PCA hoạt động ở chế độ 16-bit Capture
Trong trường hợp bit cho phép ngắt ECCFn trong thanh ghi CCAPMn được set
lên 1, mỗi lần capture sẽ tạo ra ngắt.
PCA 16-bit timer
Các module PCA cũng có thể được sử dụng như những timer bằng cách set hai
bit ECOMn và MATn thuộc thanh ghi CCAPMn lên 1. Giá trị của timer PCA (CH,CL)
được so sánh với giá trị cặp thanh ghi của module (CCAPnH,CCAPnL). Khi
2 giá trị này bằng nhau sẽ làm cho các bit CCFn lên 1. Nếu bit ECCFn = 1 sẽ tạo ra
ngắt ở module tương ứng.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 23
SVTH: Lê Trung Hiếu
Hình 2.18: PCA hoạt động ở chế độ 16-bit timer
High-speed output
Ở chế độ này, ngõ ra CEXn được điều khiển bởi PCA. Khi giá trị (CH,CL)
bằng giá trị (CCAPnH,CCAPnL) sẽ làm cho chân CEXn đổi trạng thái. Chế độ này được
kích hoạt bằng cách set các bit ECOMn, MATn, TOGn lên 1. Cách tạo ngắt tương
tự chế độ PCA 16-bit timer.
Hình 2.19: PCA hoạt động ở chế độ High-Speed Output
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 24
SVTH: Lê Trung Hiếu
Pulse Width Modulator
Tất cả các module đều có tần số ra như nhau do chỉ có một timer PCA. Duty
cycle của chuỗi xung ra phụ thuộc giá trị nạp cho thanh ghi CCAPnL. Khi giá trị của
thanh ghi CL nhỏ hơn giá trị lưu trong CCAPnL, ngõ ra CEXn sẽ ở mức thấp. Ngược lại,
nếu lớn hơn hay bằng, ngõ ra CEXn sẽ ở mức cao. Khi CL bị tràn từ FF sang 00,
CCAPnL được nạp lại giá trị từ CCAPnH. Để dùng được chức năng PWM, bit ECOM
và bit PWM của thanh ghi CCAPMn phải được set lên 1.
Hình 2.20: PCA hoạt động ở chế độ Pulse Width Modulator
Ví dụ: Điều khiển động cơ chạy trong 10s, có điều xung với duty cycle là 50%
/*-------------------------------------------------------------------*- This
program is to creat a modulated pulse with duty cycle 50%.
The modulated pusle is used to control a motor in 10 seconds, then
stop the motor. Use module 1 from the PCA.
-*-------------------------------------------------------------------*/
#include //Define new registers for P89V51RD2 microcontroller
void PCA_Init();
void Delay(unsigned char);
sfr Motor = 0xFB; // Name the CCAP1H register as Motor
// CCAP1H has the address 0xFB
void main(void)
{
PCA_Init();
Motor = 128; // Duty cycle = 128/256 = 50%
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 25
SVTH: Lê Trung Hiếu
Delay(10); Motor = 0;
}
/*-----------------------------------------------------*/
void PCA_Init(void)
{
CMOD = 0;
CCON &= 0x40; CCAPM1 = 0x42; CR = 1;
}
void Delay(unsigned char sec)
{
unsigned char x; unsigned int y; for(x=0;x<=sec;x++)
{
for(y=0;y<=18000;y++); // This loop remains appr 1s
}
}
Watchdog timer (chỉ có ở module 4):
Bộ định thời watchdog trên chip có sẵn trong PCA giúp cải thiện độ tin cậy của
hệ thống mà không cần thêm chip đếm. Các bộ định thời watchdog trở nên hữu ích đối
với các hệ thống dễ bị ảnh hưởng bởi nhiễu, các gai xung khi cấp điện hoặc do sự phóng
tĩnh điện. Module 4 của PCA là module duy nhất có thể được lập trình thành một
watchdog. Tuy nhiên module này cũng có thể được sử dụng cho các chế độ khác nếu ta
không cần đến watchdog.
Hình sau đây trình bày cách thức hoạt động của watchdog. Người sử dụng nạp
trước một giá trị 16-bit vào các thanh ghi so sánh (CCAPnH,CCAPnL). Giống như các
chế độ so sánh khác, giá trị 16-bit này được so sánh với giá trị bộ định thời PCA
(CH,CL). Khi hai giá trị này bằng nhau, reset bên trong sẽ được tạo ra. Điều này
không làm chân RST nhảy lên mức cao.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 26
SVTH: Lê Trung Hiếu
Hình 2.21: PCA Watchdog Timer
Để không tiến đến trạng thái RESET, người sử dụng có 3 tùy chọn:
1. Thay đổi có định kỳ giá trị so sánh để sẽ không bao giờ trùng với giá trị bộ
định thời PCA.
2. Thay đổi có định kỳ giá trị bộ định thời PCA để không bao giờ trùng với giá
trị so sánh.
3. Không cho phép watchdog bằng cách xóa bit WDTE trước khi hai giá trị
trùng nhau một lần nữa và sau đó sẽ được kích hoạt lại.
Hai tùy chọn đầu tiên đáng tin cậy hơn do bộ định thời watchdog không bao giờ
bị disable hoàn toàn trong lựa chọn 3. Khi đó, nếu bộ đếm chương trình bị lỗi, sau
cùng, một tương thich sẽ xảy ra và gây reset bên trong.
Lựa chọn thứ hai cũng không được khuyến khích nếu các module PCA khác đang
được sử dụng. Do bộ định thời PCA được dùng chung cho các module, việc thay đổi giá
trị bộ định thời sẽ làm ảnh hưởng đến hoạt động của các module khác. Như vậy, lựa
chọn đầu tiên là lựa chọn tốt nhất.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 27
SVTH: Lê Trung Hiếu
2.3.2.2 Timer 2
Timer 2 là một Timer/Counter 16 bit được bổ sung vào một số vi điều khiển
thuộc họ 8051. Các vi điều khiển thông dụng có thể kể đến là AT89C52, P89C51RDxx,
P89V51RDxx... Ở các vi điều khiển này, chân P1.0 và P1.1 còn có tên lần lượt là T2 và
T2EX. Timer 2 là một cải tiến đáng kể và tỏ ra ưu việt hơn hẳn so với timer 0 và timer 1
với 4 chế độ hoạt động: chế độ Bắt giữ (Capture mode), chế độ Tự nạp lại (Auto-reload
mode), chế độ Dải xung clock lập trình được (Programmable Clock-out) và chế độ Tạo
tốc độ baud (Baudrate Generator).
Một số thanh ghi mới dùng cho timer 2:
Thanh ghi TH2 và TL2 (địa chỉ CDH và CCH): 2 thanh ghi chứa byte cao
và byte thấp timer 2.
Thanh ghi RCAP2H, RCAP2L (địa chỉ CBH và CAH): hai thanh ghi dùng
nạp hoặc chứa dữ liệu của timer 2.
Thanh ghi T2MOD (địa chỉ C9H, không định địa chỉ bit): thanh ghi hỗ
trợ mode timer 2.
Bit 7 6 5 4 3 2 1 0
Ký hiệu - - - - - - T2OE DCEN
Bảng 2.10 Thanh ghi T2MOD
BIT Ký hiệu Chức năng
7 đến 2
1
0
-
T2OE
DCEN
Bit dự trữ
Timer 2 Output Enable bit. Được sử dụng ở mode
Programmable Clock-out.
Down Count Enable bit. DCEN=1 sẽ cho phép timer 2 đếm lên
hoặc xuống tùy thuộc chân T2EX.
Bảng 2.11: Tóm tắt chức năng các bit thanh ghi T2MOD
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 28
SVTH: Lê Trung Hiếu
Thanh ghi T2CON (địa chỉ C8H, có định địa chỉ bit): thanh ghi điều
khiển timer 2.
Bit 7 6 5 4 3 2 1 0
Ký hiệu TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
Bảng 2.12 Thanh ghi T2CON
BIT Ký hiệu Chức năng
7
6
TF2
EXF2
Timer 2 Overflow flag. TF2=1 mỗi khi timer 2 tràn. Tuy nhiên
điều này không đúng nếu RCLK=1 hay TCLK=1.
Timer 2 External flag. EXF2=1 khi EXEN2=1 và có cạnh
xuống trên chân T2EX. Nếu ngắt timer 2 (bit IE.5) được cho
5 RCLK
phép, EXF2=1 sẽ tạo ra ngắt.
Receive Clock flag. Khi RCLK=1, UART (mode 1 và 3) sẽ sử
dụng tốc độ tràn timer 2 làm xung nhận.
4 TCLK Transmit clock flag. Khi TCLK=1, UART (mode 1 và 3) sẽ sử
dụng tốc độ tràn timer 2 làm xung phát.
3 EXEN2 External Enable flag. Nếu EXEN2=1, sự kiện Capture hoặc
Reload sẽ được kích hoạt mỗi khi có cạnh xuống trên chân
T2EX. Nếu EXEN2=0, các sự kiện trên chân T2EX sẽ không
được xử lý.
2 TR2 Timer Run Control bit. Khi TR2=1, timer 2 chạy. TR2=0, timer
2 ngừng.
1 C/T2 Timer mode select. C/T2=1, timer 2 có chức năng counter,
xung nhịp cho timer 2 được cấp tại chân T2. Khi C/T2=0, timer
2 có chức năng timer hoạt động với xung nhịp từ CPU.
0 CP/RL2 Capture/Reload flag. Khi CP/RL2=1, với EXEN2=1 và có cạnh
xuống trên chân T2EX, tác vụ Capture sẽ được thực hiện. Khi
CP/RL2=0, với EXEN2=1 và có cạn xuống trên chân T2EX,
tác vụ Reload sẽ được thực hiện.;
Bảng 2.13: Tóm tắt chức năng các bit thanh ghi T2CON
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 29
SVTH: Lê Trung Hiếu
RCLK+TCLK CP/RL2 TR2 T2OE Chế độ hoạt động
0
0
0
1
X
0
1
0
X
X
1
1
1
1
0
0
0
1
0
X
16-bit Auto-Reload
16-bit Capture
Programmable Clock-out
Baudrate Generator
Off
Bảng 2.14: Tóm tắt cách thức khởi tạo chế độ hoạt động cho timer 2
Các chế độ hoạt động của timer 2:
Chế độ Bắt giữ (Capture mode)
Ở chế độ này, có hai chọn lựa được xác định bởi bit EXEN2 trong thanh ghi
T2CON.
Nếu EXEN2=0, timer 2 hoạt động như một timer/counter 16-bit. Mỗi lần
timer bị tràn sẽ set bit TF2 và tạo ra ngắt nếu ngắt timer 2 được cho phép (bit IE.5).
Nếu EXEN2=1, timer 2 hoạt động tương tự như trên. Tuy nhiên khi có
chuyển tiếp từ 1 xuống 0 ở chân T2EX, giá trị hiện thời của TH2 và TL2 sẽ được giữ
lại tương ứng trong cặp thanh ghi RCAP2H và RCAP2L.
Ngoài ra, việc xuất hiện cạnh xuống trên chân T2EX sẽ set bit EXF2 trong
thanh ghi T2CON và điều này cũng tạo ra ngắt nếu ngắt timer 2 được cho phép (bit
IE.5).
Hoạt động của chế độ Bắt giữ được minh họa trong hình sau đây:
Hình 2.22: Timer 2 Capture mode
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 30
SVTH: Lê Trung Hiếu
Chế độ Tự nạp lại (Auto-reload mode)
Timer 2 có thể được lập trình để đếm lên hay đếm xuống khi hoạt động ở chế
độ Auto-Reload với sự hỗ trợ của bit DCEN trong thanh ghi T2MOD. Mỗi lần CPU
được reset, bit DCEN này có giá trị là 0, do đó, timer 2 mặc định là đếm lên. Khi
DCEN=1, timer 2 có thể đếm lên hay xuống tùy thuộc mức logic trên chân T2EX.
Hình sau đây minh họa hoạt động của timer 2 ở chế độ Auto-reload trong
trường hợp DCEN=0 (timer tự động đếm lên).
Hình 2.23: Timer 2 Auto-reload mode (DCEN = 0)
Khi timer 2 đếm lên, ở chế độ Auto-reload, có hai lựa chọn được xác định bởi
bit EXEN2 trong thanh ghi T2CON.
Nếu EXEN2=0, timer 2 đếm lên đến giá trị 0FFFFH sau đó set bit TF2
báo tràn. Sự kiện tràn timer 2 làm cho cặp thanh ghi (TH2,TL2) được nạp lại
giá trị 16-bit chứa trong cặp thanh ghi (RCAP2H,RCAP2L). Giá trị
(RCAP2H,RCAP2L) được nạp trước bởi phần mềm. Tương tự chề độ
Capture, sự kiện tràn timer 2 cũng tạo ra ngắt.
Nếu EXEN2=1, việc nạp lại sẽ được thực hiện khi có tràn timer 2 hoặc
khi có chuyển tiếp từ 1 xuống 0 trên chân T2EX. Việc chuyển tiếp mức logic
trên chân T2EX sẽ set bit EXF2 trong thanh ghi T2CON và nếu được
cho phép, nó sẽ tạo ra ngắt.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 31
SVTH: Lê Trung Hiếu
Trong trường hợp bit DCEN=1, timer 2 có thể đếm lên hay đếm xuống. Ở
chề độ này, chân T2EX sẽ điều khiển hướng đếm. Hoạt động của timer 2 ở
chế độ Auto- reload với DCEN=1 được minh họa trong hình sau:
Hình 2.24: Timer 2 Auto-reload mode (DCEN = 1)
Chế độ Dải xung clock lập trình được (Programmable Clock-out)
Hoạt động của timer 2 trong chế độ này được minh họa trong hình sau:
Hình 2.25: Timer 2 Programmable Clock-out mode
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 32
SVTH: Lê Trung Hiếu
Một chuỗi xung clock có duty cycle là 50% có thể được lập trình để xuất ra trên
chân P1.0 (T2). Chân P1.0 ngoài chức năng là chân I/O, nó cũng có thể được lập trình là
ngõ vào xung nhịp cho Timer/Counter 2 hoặc là ngõ ra của chuỗi xung duty cycle
50% với tần số dao động từ 61 Hz đến 4 MHZ (nếu tần số dao động thạch anh
16MHz).
Để cấu hình Timer/Counter 2 hoạt động ở chế độ này, bit C/T2 (T2CON.1) bắt
buộc phải có giá trị ‘0’ và bit T2OE (T2MOD.1) phải được set. Bit TR2 (T2CON.2) điều
khiển chạy, ngừng timer.
Tần số chuỗi xung clock phụ thuộc tần số sao động thạch anh và giá trị nạp lại
chứa trong cặp thanh ghi (RCAP2H,RCAP2L) theo công thức sau:
Clockout _ Frequency = Oscillator _ Frequency4× [65536 (RCAP2H , RCAP2L)]
Trong chế độ này, sự kiện tràn timer không tạo ra ngắt. Ngắt timer 2 chỉ xảy ra
khi có cạnh xuống trên chân T2EX và EXEN2=1. Khi đó bit EXF2 có giá trị ‘1’.
Lưu ý: có thể sử dụng timer/counter 2 ở chế độ tạo baudrate và chế độ clock-out
một cách đồng thời, tuy nhiên baudrate và tần số clock-out không thể độc lập nhau do
dùng chung giá trị chứa trong cặp thanh ghi (RCAP2H,RCAP2L).
Chế độ Tạo tốc độ baud (Baudrate Generator)
Timer/Counter 2 có thể được lập trình hoạt động ở chế độ Tạo tốc độ baud. Với chế
độ này, bit RCLK và TCLK trong thanh ghi T2CON cần phải được set. Tương tự như chế
độ Auto-reload, trong chế độ Baudrate Generator, mỗi lần bị tràn, bộ định thời lại được
nạp lại giá trị từ cặp thanh ghi (RCAP2H,RCAP2L). Giá trị trong cặp thanh ghi này đã
được đặt trước bằng phần mềm. Minh họa cho chế độ này được cho ở hình sau:
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 33
SVTH: Lê Trung Hiếu
Hình 2.26: Timer 2 Baudrate Generator
Baudrate Tần số thạch anh
Timer 2
RCAP2H RCAP2L
115200
57600
38400
19200
9600
4800
2400
1200
600
14400
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
11.0592 MHz
FFH
FFH
FFH
FFH
FFH
FFH
FFH
FEH
FDH
FFH
FDH
FAH
F7H
EEH
DCH
B8H
70H
E0H
C0H
E8H
Bảng 2.15: Giá trị nạp ở một số baudrate thông dụng
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 34
SVTH: Lê Trung Hiếu
2.3.3 IC GIAO TIẾP MAX232
Tín hiệu cổng COM thường ở mức +12V, -12V nên không tương thích với điện
áp TTL nên để giao tiếp vi điều khiển 8951 với máy tính qua cổng COM ta phải qua
một vi mạch biến đổi điện áp cho phù hợp với mức TTL, vi mạch Max232.
Hình 2.27: Sơ đồ chân và sơ đồ logic IC MAX232
Vi mạch này nhận mức RS232 đã được gởi tới từ máy tính và biến đổi tín hiệu
này thành tín hiệu TTL để cho tương thích với IC 8951 và nó cũng thực hiện công việc
ngược lại là biến đổi tín hiệu TTL từ vi điều khiển thành mức +12V, -12V để cho phù
hợp hoạt động của máy tính. Giao tiếp theo cách này, khoảng cách từ máy tính đến
thiết bị ngoại vi có thể đạt tới trên 20 mét.
Khi dữ liệu từ máy tính được gởi đến board vi điều khiển 89v51 qua cổng COM
thì dữ liệu này sẽ được đưa vào từng bit (nối tiếp) vào thanh ghi SBUF (thanh ghi
đệm), đến khi thanh ghi đệm đầy thì cờ RI trong thanh ghi điều khiển sẽ tự động Set
lên 1 và lúc này CPU sẽ gọi chương trình con phục vụ ngắt.
2.3.4 CÁC PHẦN TỬ ĐIỀU KHIỂN CÁCH LY
2.3.4.1 OPTO TRANSISTOR (4N35)
Đây là một loại opto transistor thông dụng dùng để cách ly giữa các thiết bị
công suất với các thiết bị điều khiển.
Nó có sơ đồ nguyên lý như hình vẽ:
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 35
SVTH: Lê Trung Hiếu
Hình 2.28: Sơ đồ chân OPTO TRANSISTOR 4N35
2.3.4.2 RELAY 12V
Đây là loại Relay có 8 chân. Được kích bằng cuộn cảm với điện áp 12V. Nó có
1 cặp chân chung, 1 cặp chân thường đóng (NC) và 1 cặp chân thường hở (NO). Các
chân này có khả năng chịu được dòng khá lớn: 5A đối với điện xoay chiều 277Vac
hoặc 5A với dòng 30VDC.
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 36
SVTH: Lê Trung Hiếu
Chương 3
MẠCH ĐIỆN ĐIỀU KHIỂN ROBOT
3.1 TỔNG QUÁT VỀ PHẦN CỨNG
3.1.1 Sơ đồ khối mạch phát và chức năng từng khối
Sơ đồ khối board điều khiển
Hình 3.1 Sơ đồ khối board điều khiển.
Với việc thiết kế phần cứng theo khối, mạch điện điều khiển trở nên rõ ràng, dễ
hiểu và khả năng mắc lỗi thiết kế sẽ rất thấp. Theo trên, khối nguồn được dùng để
cung cấp năng lượng cho toàn bộ mạch điều khiển. Khối MCU có khả năng xử lý
những tín hiệu thu về từ các nút nhấn hoặc encoder, sau đó gởi đi tín hiệu điều khiển
động cơ, điều khiển giao tiếp và hiển thị.
Chức năng nhiệm vụ của từng khối
Khối chuyển đổi tín hiệu: có nhiệm vụ kết nối giữa máy tính với khối thu
phát để truyền các lệnh điều khiển ra mạch phát để truyền đi cũng như thu
nhận tín hiệu hồi về từ vi điều khiển để xử lí.
Khối thu phát RF: có nhiệm vụ truyền dữ liệu từ mạch phát đi thông qua
sóng RF cũng như việc thu dữ liệu qua sóng RF từ mạch slave truyền về để
xử lý trên máy tính.
Khối nguồn: có nhiệm vụ cung cấp nguồn ổn áp 5VDC cho toàn mạch phát.
KHỐI
THU
PHÁT
RF
KHỐI
CHUYỂN
ĐỔI TÍN
HIỆU
KHỐI NGUỒN 5V
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 37
SVTH: Lê Trung Hiếu
3.1.2 Sơ đồ khối mạch thu và chức năng nhiệm vụ của từng khối
Sơ đồ khối
Hình 3.2 Sơ đồ khối mạch thu
Chức năng nhiệm vụ của từng khối
Khối thu phát RF: có nhiệm vụ thu thập dữ liệu từ sóng RF của mạch
phát để đưa đến khối xử lí trung tâm để xử lí, đồng thời phát dữ liệu hồi về
mạch phát sau khi đã xử lí dữ liệu thu về từ cảm biến.
Khối xử lí trung tâm: có nhiệm vụ nhận dữ liệu điều khiển thu được từ
khối thu phát RF sau đó xử lí.
Khối điều khiển công suất: có nhiệm vụ nhận tín hiệu từ vi điều khiển sau
đó nó sẽ thực hiện điều khiển các linh kiện công suất để thực hiện công
việc.
KHỐI NGUỒN 5V
KHỐI
CÔNG
SUẤT
ĐỘNG
CƠ DC
KHỐI
NGUỒN
24V
KHỐI
THU
PHÁT
RF
KHỐI
XỬ LÝ
TRUNG
TÂM
KHỐI
ĐIỀU
KHIỂN
CÔNG
SUẤT
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 38
SVTH: Lê Trung Hiếu
Khối công suất: bao gồm các linh kiện công suất
Động cơ DC: các động cơ được điều xung để thực hiện việc di chuyển và
thao tác.
Với việc thiết kế phần cứng theo khối, mạch điện điều khiển trở nên rõ ràng, dễ
hiểu và khả năng mắc lỗi thiết kế sẽ rất thấp. Theo trên, khối nguồn được dùng để
cung cấp năng lượng cho toàn bộ mạch điều khiển. Khối MCU có khả năng xử lý những
tín hiệu thu về từ các nút nhấn hoặc encoder, sau đó gởi đi tín hiệu điều khiển động cơ,
điều khiển giao tiếp và hiển thị.
3.2 KHỐI NGUỒN
Có thể tạo ra các mạch ổn áp đơn giản bằng cách lắp ghép các linh kiện rời,
nhưng các mạch này có độ ổn định rất kém, quá trình tính toán thiết kế phức tạp. Hiện
nay một số vi mạch ổn áp chuyên dùng như: 78XX, 79XX, LM109, LM317,… có độ ổn
định cao nên việc thiết kế trở nên dễ dàng.
Chức năng: cung cấp nguồn 5VDC cho các khối VDK
24V
Nguon 12V
HEADER 2
1
2
Dn_12V
Diode 5A
HI_CUR16
12V
HI_CUR17
Dn_24V
Diode 5ANguon 24V
HEADER 2
1
2
LEDn_24V
Rn_24V
2.2k
ỨNG DỤNG SÓNG CAO TẦN VÀO ĐIỀU KHIỂN ROBOT
GVHD: Cô Võ Thị Thu Hồng 39
SVTH: Lê Trung Hiếu
Dn_5V
FR204
Rn_sensor
330
Cn2_5V
104
+Cn1_5V2200uF +
Cn2_VXL
1000uF
Cn1_sensor
104
Un_sensor
7805
1 3
2
VIN VOUT
GND
5V_sensor
Rn_VXL
330
LEDn_sensor
LEDn_VXL
5VNguon VXL
HEADER 2
1
2
Cn1_VXL
104
Un_VXL
7805
1 3
2
VIN VOUT
GND
+Cn2_sensor1000uF
HI_CUR18HI_CUR19
Hình 3.3: Sơ đồ nguyên lí khối nguồn
Hoạt động:
Có nhiều cách để tạo ra nguồn 5VDC, nhưng dùng IC ổn áp sẽ đảm bảo sự nhỏ
gọn, tính ổn định cho bộ nguồn. Trong đề tài sử dụng IC ổn áp dương 7805 và
IC nguồn xung 2575.
Acquy 12V được đưa vào. Áp lấy ra khỏi IC 7805 là áp 5VDC.
Board mạch sẽ có nguồn cấp cho động cơ (24V), nguồn relay (12V), nguồn
cho MCU, hiển thị, giao tiếp máy tính (5V) và nguồn cấp cho CMUcam (8V).
Điện cấp cho khối nguồn được lấy từ 2 accu 12V cấp vào các chốt cắm “24V”,
“12V”, “12V VXL”. Một accu cấp nguồn cho vi xử lý và hai accu mắc nối tiếp
cấp cho động cơ.
Các IC ổn áp 7805 và 2575 được sử dụng để tạo các nguồn 5V 500mA và
5V 1A.
Các file đính kèm theo tài liệu này:
- Ứng dụng sóng cao tần vào điều khiển robot.pdf