ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN
BỘ MÔN ĐIỆN CÔNG NGHIỆP
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỪ XA
SỬ DỤNG SÓNG HỒNG NGOẠI
GVHD : Th.S BÙI TẤN LỢI
SVTH : NGUYỄN KHẮC HẢI
Lớp : 06D3
MSSV : 105103061116
Đà Nẵng, tháng 5 năm 2011
i
Đại học Đà Nẵng Cộng hoà xã hội chủ nghĩa Việt Nam
Trường Đại học Bách Khoa Độc lập -Tự do- Hạnh phúc
NHIỆM VỤ THIẾT KẾ ĐỒ ÁN TỐT NGHIỆP
Họ và tên: NGUYỄN KHẮC HẢI
Lớp : 06ĐCN
Chuyên ngành: Điện Công nghiệp
1. Đầu đề thiết kế:
Thiết kế chế tạo bộ Điều Khiển Thiết Bị từ xa sử dụng sóng hồng ngoại.
2. Các số liệu ban đầu:
Tìm hiểu và sử dụng REMORE TV SONY làm nguồn phát.
3. Nội dung các phần thuyết minh tính toán:
Tổng quan về Điều Khiển xa; Giới thiệu vi điều khiển PIC16F877A; Tính chọn
các thiết bị sử dụng trong Hệ Thống Điều Khiển Xa; Thiết kế, thi công mạch điện và
lắp đặt mô hình hệ thống điều khiển; Lưu đồ thuật toán và chương trình.
4. Các bản vẽ và đồ thị: (ghi các bản vẽ)
Bản vẽ sơ đồ nguyên lý.
Bản vẽ mạch điện.
5. Cán bộ hướng dẫn:
Họ tên cán bộ : Bùi Tấn Lợi
6. Ngày giao nhiệm vụ thiết kế : 18/02/2011
7. Ngày hoàn thành nhiệm vụ : 10/06/2011
Thông qua Bộ môn Gíao viên hướng dẫn
Ngày tháng năm 2011 Ngày tháng năm 2011
Bùi Tấn Lợi
ii
LỜI CẢM ƠN
Để hoàn thành đồ án này, tôi xin tỏ lòng biết ơn sâu sắc tới Th.S Bùi Tấn Lợi, đã
tận tình hướng dẫn trong quá trình làm đồ án tốt nghiệp.
Tôi cũng xin chân thành cảm ơn quý Thầy, Cô trong khoa Điện, đặc biệt là các
thầy cô trong bộ môn Điện công nghiệp – Trường Đại Học Bách Khoa – Đại Học Đà
Nẵng đã tận tình truyền đạt kiến thức trong suốt 5 năm học tập của tôi tại trường. Với vốn
kiến thức tiếp thu trong quá trình học tập là nền tảng cho quá trình nghiên cứu đồ án tốt
nghiệp mà quan trọng hơn nó là hành trang quý báu để tôi bước vào đời một cách vững
chắc và tự tin.
Qua đây tôi xin gửi lời cảm ơn tới gia đình, bạn bè… những người luôn bên cạnh
tôi, ủng hộ tôi trong những lúc khó khăn nhất.
Cuối cùng, tôi xin kính chúc quý thầy cô, gia đình và tất cả các bạn dồi dào sức
khỏe và thành công trong công việc.
Đà Nẵng, ngày 26 tháng 5 năm 2011.
SVTH: Nguyễn Khắc Hải
iii
Mục lục
TRANG BÌA I
SVTH : NGUYỄN KHẮC HẢI I
MSSV : 105103061116 i
LỜI MỞ ĐẦU
Do yêu cầu về lĩnh vực tự động hóa trong sinh hoạt ngay càng cao. Các thiết bị
sinh hoạt ngày càng hiện đại, do đó việc điều khiển từ xa ngày càng trở nên cần thiết và là
một yêu cầu không thể thiếu trong xã hội hiện nay
Điều khiển từ xa là việc điều khiển một mô hình ở một khoảng cách nào đó mà con
người không cần thiết đến trực tiếp nơi đặt hệ thống. Khoẳng cách đó tùy thuộc vào từng
hệ thống có mức phức tạp khác nhau, chẳng hạn như để điều khiển từ xa một phi thuyền
ta cần phải có hệ thống phát và thu mạnh, ngược lại, để điều khiển một trò chơi điện tử từ
xa ta chỉ cần một hệ thống phát và thu đơn giản công suất nhỏ…Những đối tượng được
điều khiển có thể ở trên không trung, ở dưới đáy biển hay ở một vùng xa xôi nào đó.
Thế giới càng phát triển thì lĩnh vực điều khiển cần được mở rộng hơn. Việc ứng
dụng điều khiển từ xa vào thông tin liên lạc đã mang lại nhiều thuận lợi cho xã hội loài
người, thông tin được cập nhập hơn nhờ sự chính xác và nhanh chóng của quá trình điều
khiển từ xa.
Ngoài ra, điều khiển từ xa còn được ứng dụng trong kỹ thuật đo lường. Trước đây
muốn đo độ phóng xạ của lò hạt nhân thì hết sức khó khăn, phức tạp và nguy hiểm, nhưng
giờ đây con người có thể ở một nơi an toàn cũng có thể đo được độ phóng xạ của lò phản
iv
ứng hạt nhân. Như vậy, hệ thống hệ thống điều khiển từ xa đã hạn chế được mức độ phức
tạp của công việc và đảm bảo an toàn cho con người.
Trong sinh hoạt hằng ngày của con người như những trò chơi giải trí (roboot, xe
điều khiển từ xa….) cho đến các thiết bị gần gũi với con người cũng được cải tiến cho
phù hợp với việc sử dụng và đạt mức tiện lợi nhất có thể được. Điều khiển từ xa đã xâm
nhập vào lĩnh vực này và cho ra những TIVI, đầu máy Video…. Đến các thiết bị như quạt
máy, điều hòa… Xuất phát từ những ý tưởng đó và nhu cầu cuộc sống nên em đã chọn đề
tài điều khiển xa bằng sóng hồng ngoại.
v
Chương 1
LÝ THUYẾT ĐIỀU KHIỂN XA
1.1. GIỚI THIỆU VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA
Hệ thống điều khiển từ xa là một hệ thống cho phép ta điều khiển các thiết bị từ
một khoảng cách xa. Ví dụ, hệ thống điều khiển bằng sóng vô tuyến, hệ thống điều khiển
bằng hồng ngoại, hệ thống điều khiển xa bằng cáp quang dây dẫn… Ở đây, trong khuôn
khổ đề tài được giao ta chỉ nói đến hệ thống điều khiển xa bằng hồng ngoại.
a) Sơ đồ kết cấu của hệ thống điều khiển từ xa bao gồm:
- Thiết bị phát: biến đổi lệnh điều khiển thành tín hiệu và phát đi.
- Đường truyền: đưa tín hiệu điều khiển từ thiết bị phát đến thiết bị thu.
- Thiết bị thu: nhận tín hiệu điều khiển từ đường truyền, qua quá trình
biến đổi, biến dịch để tái hiện lại lệnh điều khiển rồi đưa đến các thiết bị
thi hành.
Hình 1.1: Sơ đồ kết cấu hệ thống điều khiển từ xa.
b) Nhiệm vụ cơ bản của hệ thống điều khiển từ xa:
- Phát tín hiệu điều khiển.
- Sản sinh ra xung hoặc hình thành các xung cần thiết.
- Phát các tổ hợp mã đến điểm chấp hành.
- Ở điểm chấp hành (thiết bị thu) sau khi nhận được mã phải biến đổi các
mã nhận được thành các lệnh điều khiển và đưa đến các thiết bị, đồng
thời kiểm tra sự chính xác của mã mới nhận.
1.1.1 Một số vấn đề cơ bản trong hệ thống điều khiển từ xa.
Do hệ thống điều khiển từ xa có những đường truyền dẫn xa nên ta cần phải
nghiên cứu về kết cấu của hệ thống để đảm bảo tín hiệu được truyền đi chính xác và
nhanh chóng theo những yêu cầu sau:
a) Kết cấu tin tức.
Thiết bị phát Đường truyền Thiết bị thu
1
Trong hệ thống điều khiển từ xa độ tin cậy truyền dẫn tin tức có quan hệ rất
nhiều đến kết cấu tin tức. Nội dung về kết cấu tin tức có hai phần: về lượng và về chất. Về
lượng có các biến lượng điều khiển và lượng điều khiển thành từng loại xung gì cho phù
hợp, và những xung đó cần áp dụng những phương pháp nào để hợp thành tin tức, để có
dung lượng lớn nhất và tốc độ truyền dẫn nhanh nhất.
b) Về kết cấu hệ thống.
Để đảm bảo các yêu cầu về kết cấu tin tức, hệ thống điều khiển từ xa có các yêu cầu sau:
- Tốc độ làm việc nhanh.
- Thiết bị phải an toàn tin cậy.
- Kết cấu phải đơn giản.
Hệ thống điều khiển từ xa có hiệu quả cao là hệ thống đạt tốc độ điều khiển cực đại
đồng thời đảm bảo độ chính xác trong phạm vi cho phép.
1.1.2. Các phương pháp mã hóa trong điều khiển từ xa.
Trong hệ thống truyền thông tin rời rạc hoặc truyền thông tin liên tục nhưng đã
được rời rạc hóa tin tức thường phải được biến đổi thông qua một phép biến đổi thành số
(thường là số nhị phân) rồi mã hóa và được phát đi từ máy phát. Ở máy thu, tín hiệu phải
thông qua các phép biến đổi ngược lại với các phép biến đổi trên: giải mã, liên tục hóa…
Sự mã hóa tín hiệu điều khiển nhằm tăng tính hữu hiệu và độ tin cậy của hệ thống
điều khiển từ xa, nghĩa là tăng tốc độ truyền và khả năng chống nhiễu.
Trong điều khiển từ xa ta thường dùng mã nhị phân tương ứng với hệ gồm có 2
phần tử [0] và [1].
Do yêu cầu về độ chính xác cao trong các tín hiệu điều khiển được truyền đi để
chống lại nhiễu ta dùng loại mã tín hiệu và sữa sai.
Mã phát tín hiệu và sữa sai thuộc loại mã đồng đều bao gồm các loại mã: mã phát
hiện sai, mã sữa sai, mã phát hiện và sữa sai.
Dạng sai nhầm của các mã được truyền đi tùy thuộc tính chất của kênh truyền,
chúng có thể phân thành 2 loại:
- Sai độc lập: Trong quá trình truyền, do nhiều tác động, một hoặc nhiều
ký hiệu trong các tổ hợp mã có thể bị sai nhầm, nhưng những sai nhầm
đó không liên quan nhau.
2
- Sai tương quan: Được gây ra bởi nhiều nhiễu tương quan, chúng hay xẩy
ra trong từng chùm, cụm ký hiệu kế cận nhau.
Sự lựa chọn của cấu trúc mã chống nhiễu phải dựa trên tính chất phân bố xác suất
mắc sai nhầm trong kênh truyền.
Hiện nay lý thiết mã hóa phát triển rất nhanh, nhiều loại mã phát hiện và sữa sai
được nghiên cứu như: mã Hamming, mã chu kỳ, mã nhiều cấp.
1.1.3. Sơ đồ khối của một hệ thống điều khiển từ xa:
Sau đây là sơ đồ khối cơ bản của một hệ thống điều khiển từ xa.
Hình 1.2: Sơ đồ khối máy phát
Hình 1.3: Sơ đồ khối máy thu
1.1.4. Các phương pháp điều chế tín hiệu trong hệ thống điều khiển từ xa:
Trong kỹ thuật điều khiển từ xa, tín hiệu gốc không thể truyền đi xa được. Do đó,
để thực hiện việc truyền tín hiệu điều khiển từ máy phát đến máy thu ta cần phải điều chế
(mã hóa) tín hiệu.
Có nhiều phương pháp điều chế tín hiệu. Tuy nhiên điều chế tín hiệu dạng xung có
nhiều ưu điểm hơn. Vì ở đây chúng ta sử dụng linh kiện kỹ thuật số nên linh kiện gọn
nhẹ, công suất tiêu tán nhỏ và có tính chống nhiễu cao.
Các phương pháp điều chế tín hiệu ở dạng xung như:
- Điều chế biên độ xung (PAM).
- Điều chế độ rộng xung (PWM).
- Điều chế vị trí xung (PPM).
3
Tín hiệu
điều khiển
Tín hiệu
sóng mang
Điều chế
Khuyếch đại phát
Khuyếch
đại thu
Giải
điều chế
Khuyếch
đại
Chấp hành
- Điều chế mã xung (PCM).
Hình
1.4 :
Các
dạng
xung
a) Điều chế biên độ xung (PAM).
Sơ đồ khối
4
Tín hiệu
điều chế
Dao động đa hài
một trạng thái bền
Hình 1.5: Hệ thống điều chế PAM
Điều chế biên độ xung là dạng điều chế đơn giản nhất trong các dạng điều chế xung. Biên
độ của mỗi xung được tạo ra tỉ lệ với biên độ tức thời của tín hiệu điều chế.
Xung lớn nhất biểu thị cho biên độ dương của tín hiệu mẫu lớn nhất
Giải thích sơ đồ khối
-Khối tín hiệu điều chế : Tạo ra tín hiệu điều chế đưa vào khối dao động đa hài
-Dao động đa hài một trạng thái bền :Trộn xung với tín hiệu điều chế
-Bộ phát xung : Phát xung với tần số không đổi để thực hiện việc điều chế tín hiệu
đã được điều chế có biên độ tăng giảm thay đổi theo tín hiệu điều chế
b) Điều chế độ rộng xung (PWM).
Phương pháp điều chế này sẽ tạo ra các xung có biên độ không đổi, nhưng bề rộng
của mỗi xung sẽ thay đổi tương ứng với biên độ tức thời của tín hiệu điều chế. Trong cách
điều chế này, xung có độ rộng lớn nhất biểu thị phần biên độ dương lớn nhất của tín hiệu
điều chế, xung có độ rộng hẹp nhất biểu thị phần biên độ âm nhất của tín hiệu điều chế
Trong điều chế độ rộng xung, tín hiệu cần được lấy mẫu phải được chuyển đổi
thành dạng xung có độ rộng xung tỉ lệ với biên độ tín hiệu lấy mẫu. Để thực hiện điều chế
độ rộng xung, ta có thể thực hiện theo sơ đồ khối sau:
Hình 1.6: Sơ đồ hệ thống RAMP
Trong sơ đồ khối, tín hiệu điều chế được đưa đến khối so sánh điện áp cùng với tín
hiệu phát ra từ bộ phát hàm RAMP.
c) Điều chế vị trí xung (PPM).
5
Bộ phát xung
Tín hiệu
điều chế
Bộ phát hàm
RAMP
So sánh
Với phương pháp điều chế vị trí xung thì các xung được điều chế có biên độ và độ
rộng xung không thay đổi theo biên độ của tín hiệu điều chế.
Hình thức đơn giản của điều chế vị trí xung là quá trình điều chế độ rộng xung.
Điều chế vị trí xung có ưu điểm là sử dụng ít năng lượng hơn điều chế độ rộng xung
nhưng có nhược điểm là quá trình giải điều biến ở máy thu phức tạp hơn các dạng điều
chế khác.
c) Điều chế mã xung (PCM).
Phương pháp điều chế mã xung được xem là phương pháp chính xác và hiệu quả
nhất trong các phương pháp điều chế xung.
Trong điều chế mã xung, mỗi mẫu biên độ của tín hiệu điều chế được biến đổi
bằng số nhị phân-số nhị phân này được biến đổi bằng nhóm xung. Sự hiện diện của một
xung được biểu thị bằng mức [1] và sự thiếu đi một xung được biểu thị bằng mức [0].
Chỉ có thể biểu thị trên 16 biên độ khác nhau của biên độ tín hiệu (mã 4 bít) vì vậy
nó không được chính xác. Độ chính xác có thể được cải thiện bằng cách tăng số bít. Mỗi
mã n bít có thể biểu thị được 2n mức riêng biệt của tín hiệu.
Trong phương pháp điều chế mã xung, tần số được quyết định bởi tín hiệu cao nhất
trong quá trình xử lý. Điều này cho thấy rằng nếu như mẫu thử được lấy ở mức lớn hơn
hai lần tần số tín hiệu thì tần số tín hiệu mẫu được phục hồi.
Tuy nhiên trong thực tế thường lấy tín hiệu ở mức độ nhỏ nhất khoảng 10 lần so
với tín hiệu lớn nhất. Vì vậy tần số càng cao thì thời gian lấy mẫu càng nhỏ (mức lấy mẫu
càng nhiều) dẫn đến linh kiện chuyển mạch có tốc độ xử lý cao. Ngược lại nếu sử dụng
tần số lấy mẫu thấp thời gian lấy mẫu càng rộng,nhưng độ chính xác không cao. Thông
thường người ta chỉ sử dụng khoảng 10 lần tín hiệu nhỏ nhất.
Kết Luận :
Điểm thuận lợi của các phương pháp điều biến xung là mặc dù tín hiệu AM rất
yếu, chúng hầu như mất hẳn trong nhiễu ồn xung quanh. Nếu phương pháp điều chế PPM,
PWM, PCM là tín hiệu điều chế bằng cách tách ra khỏi tiếng ồn. Với phương pháp như
vậy, điều chế mã xung PCM sẽ cho kết quả tốt nhất,vì nó chỉ cần quyết định xung nào
hiện diện, xung nào không hiện diện.
6
Các phương pháp điều chế xung như PWM, PPM, PAM phần nào cũng theo kiểu
tương tự. Vì các dạng xung ra sau khi điều chế có sự thay đổi về biên độ, độ rộng xung, vị
trí xung theo tín hiệu lấy mẫu. Đối với phương pháp biến đổi mã xung PCM thì dạng
xung ra là dạng nhị phân chỉ có 2 mức [0] và [1].
Để mã hóa tín hiệu tương tự sang tín hiệu số, người ta chia trục thời gian ra những
khoảng bằng nhau và biên độ trục ra 2n khảng cho 1 bít. Nếu số mức càng nhiều thì thời
gian càng nhỏ, độ chính xác càng cao. Tại mỗi thời điểm lấy mẫu biên độ được đo, rồi lấy
mức tương ứng với biên độ và chuyển đổi mã nhị phân. Kết quả ở ngỏ ra thu được một
chuổi xung (dạng nhị phân).
1.2. ĐIỀU KHIỂN TỪ XA DÙNG TIA HỒNG NGOẠI
1.2.1. Khái niệm về tia hồng ngoại:
Hình 1.7: Dạng sóng hồng ngoại
Ánh sáng hồng ngoại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được
bằng mắt thường, có bước sóng khoảng 0,8µm đến 0,9µm tia hồng ngoại có vận tốc
truyền bằng vận tốc ánh sáng. Tuy nhiên như chúng ta biết mặc dù không nhìn thấy tần số
âm thanh nhưng chúng ta biết rằng nó tồn tại và có thể nhận biết được chúng từ sự cảm
ứng nhiệt trên da. Khi bạn đưa tay đến gần ngọn lửa hoặc nhưng vật nóng, bạn có thể cảm
thấy nhiệt mặc dù bạn không nhìn thấy. Bạn nhìn thấy ngọn lửa là vì nó phát ra nhiều loại
bức xạ, mắt ta có thể nhìn thấy,đồng thời nó cũng phát ra hồng ngoại mà chúng ta chỉ có
thể cảm nhận qua da.
Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu. Nó ứng dụng rộng rãi
trong công nghiệp. Lượng thông tin có thể đạt được 3Mbit/s. Trong kỹ thuật truyền tin
bằng sợi quang dẫn không cần các trạm khuyết đại giữa chừng, người ta có thể truyền một
lúc 15000 điện thoại hay 12 kênh truyền hình qua một sợi tơ quang học có đường kính
0,13mm với khoảng cách 10 – 20km. Lượng thông tin được truyền đi với ánh sáng hồng
ngoại lớn gấp nhiều lần so với sóng điện từ mà người ta vẫn dùng.
7
Tia hồng ngoại dễ bị hấp thụ, khả năng xuyên thấu kém. Trong điều khiển từ xa
chùm tia hồng ngoại phát đi hẹp, có hướng do đó khi thu phải đúng hướng.
1.2.2. Nguồn phát hồng ngoại:
Các nguồn sáng nhân tạo thường chứa nhiều ánh sáng hồng ngoại. Sóng hồng
ngoại có đặc tính quang học giống như ánh sáng (sự hội tụ qua thấu kính, tiêu cự…). Ánh
sáng và sóng hồng ngoại khác nhau rất rõ trong sự xuyên suốt qua vật chất. Có những vật
mắt ta thấy “phản chiếu sáng” nhưng đối với hồng ngoại thì nó là những vật “phản chiếu
tối”. Có những vật ta thấy nó dưới một màu xám đục nhưng với ánh sáng hồng ngoại nó
trở nên trong suốt. Điều này giải thích vì sao LED hồng ngoại cho hiệu suất cao hơn so
với LED cho màu xanh lá cây hay màu đỏ… Vì rằng, vật liệu bán dẫn “trong suốt” đối
với ánh sáng hồng ngoại, tia hồng ngoại không bị yếu đi khi nó phải vượt qua các lớp bán
dẫn để đi ra ngoài. Đời sống của LED hồng ngoại dài đến 100.000 giờ (hơn 11 năm),
LED hồng ngoại không phát sáng cho lợi điểm trong các thiết bị kiểm soát vì không gây
sự chú ý.
1.2.3. Linh kiện thu sóng hồng ngoại:
Người ta có thể dùng quang điện trở, phototransistor, photodiode để thu sóng
hồng ngoại gần. Để thu sóng hồng ngoại trung bình và xa phát ra từ cơ thể con người, vật
nóng… Loại detector với vật liệu Lithiumtitanat hay tấm chất dẻo Polyviny-Lidendifuorid
(PVDF). Cơ thể con người phát ra tia hồng ngoại với độ dài sóng từ 8ms-10ms.
1.2.4. Sơ đồ khối hệ thống điều khiển từ xa dùng hồng ngoại:
a) Hệ thống phát.
Hình 1.8: Sơ đồ khối hệ thống phát.
Giải thích sơ đồ khối máy phát: Máy phát có nhiệm vụ tạo ra lệnh điều khiển, mã
hóa và phát tín hiệu đến máy thu, lệnh truyền đi đã được điều chế.
8
Phát lệnh
điều khiển
Mã
hóa
Điều
chế
Khuyếch
đại
Dao động tạo
sóng mang
*Khối phát lệnh điều khiển: Khối này có nhiệm vụ tạo ra lệnh điều khiển từ
nút bấm (phím điều khiển). Khi một phím được ấn tức là một lệnh đã được tạo ra. Các nút
ấn này có thể là một phím bấm, hay một ma trận phím bấm. Lệnh điều khiển được đưa
đến bộ mã hóa dưới dạng các bit nhị phân tương ứng với từng phím điều khiển.
* Khối mã hóa: Để truyền các tín hiệu khác nhau đến máy thu mà chúng
không lẫn lộn nhau, ta phải tiến hành mã hóa các tín hiệu (lệnh điều khiển). Khối mã hóa
này có nhiệm vụ biến đổi các lệnh điều khiển thành các bit nhị phân, hiện tượng biến đổi
này gọi là mã hóa. Có nhiều phương pháp mã hóa khác nhau:
- Điều chế biên độ xung.
- Điều chế vị trí xung.
- Điều chế độ rộng xung.
- Điều chế mã xung.
Trong kỹ thuật điều khiển từ xa bằng hồng ngoại, phương pháp điều chế mã xung được sử
dụng rộng rãi hơn cả, vì phương pháp này tương đối dễ thực hiện.
* Khối dao động sóng mang: Khối này có nhiệm vụ tạo ra sóng mang tần
số ổn định, sóng mang này sẽ mang tín hiệu điều khiển khi truyền ra môi trường.
* Khối điều chế: Khối này có nhiệm vụ kết hợp tín hiệu điều khiển đã mã
hóa sóng mang để đưa đến khối khuếch đại.
* Khối khuếch đại: Khuếch đại tín hiệu đủ lớn để LED phát hồng ngoại phát
tín hiệu ra môi trường.
* Khối LED phát: Biến đổi tín hiệu điện thành tín hiệu hồng ngoại phát ra
môi trường.
b) Hệ thống thu.
Hình 1.9: Sơ đồ khối hệ thống thu
9
Khuếch
đại
Tách
sóng
Giải
mã
Chốt
Khuếch
đại
Mạch chấp
hành
Giải thích sơ đồ khối máy thu: Chức năng của khối máy thu là thu được tín hiệu
điều khiển từ máy phát, loại bỏ sóng mang, giải mã tín hiệu điều khiển thành các lệnh
riêng biệt, từ đó mỗi lệnh sẽ đưa đến khối chấp hành cụ thể.
* LED thu: thu tín hiệu hồng ngoại do máy phát truyền tới và biến đổi thành
tín hiệu điều khiển.
* Khối khuếch đại: Có nhiệm vụ khuyết đại tín hiệu điều khiển lớn lên từ
LED thu hồng ngoại để việc xử lý được dễ dàng.
* Khối tách sóng mang: Khối này có chức năng triệt tiêu sóng mang, chỉ
giữ lại tín hiệu điều khiển như tín hiệu gửi đi từ máy phát.
* Khối giải mã: Khối này có nhiệm vụ giải mã tín hiệu điều khiển thành các
lệnh điều khiển dưới dạng các bit nhị phân hay các dạng khác để đưa đến khối chấp hành
cụ thể. Do đó nhiệm vụ của khối này là rất quan trọng.
* Khối chốt: Khối này có nhiệm vụ giữ nguyên trạng thái tác động khi tín
hiệu điều khiển không còn, điều này có nghĩa là khi phát lệnh điều khiển ta chỉ tác động
vào phím bấm 1 lần, trạng thái mạch chỉ thay đổi khi tác động vào nút thực hiện điều
khiển lệnh khác.
* Khối khuếch đại: Khuếch đại tín hiệu điều khiển đủ lớn để tác động được
vào mạch chấp hành.
* Khối chấp hành: Có thể là rơle hay một linh kiện nào đó, đây là khối cuối
cùng tác động trực tiếp vào thiết bị thực hiện nhiệm vụ điều khiển mong muốn.
10
Chương 2 :
TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC
2.1 GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN PIC
2.1.2 PIC là gì
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy
tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên
của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển
CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành
nên dòng vi điều khiển PIC ngày nay.
2.1.2 Tại sao dùng vi điều khiển PIC
Hiện nay trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC,
AVR, ARM, Ngoài họ 8051 được hướng dẫn một cách căn bản ở môi trường đại học,
bản thân người viết đã chọn họ vi điều khiển PIC để mở rộng vốn kiến thức và phát triển
các ứng dụng trên công cụ này vì các nguyên nhân sau:
Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam.
Giá thành không quá đắt.
Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập.
Là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển
mang tính truyền thống: họ vi điều khiển 8051.
Số lượng người sử dụng họ vi điều khiển PIC. Hiện nay tại Việt Nam cũng như
trên thế giới, họ vi điều khiển này được sử dụng khá rộng rãi. Điều này tạo nhiều thuận
lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số lượng
các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm
được sự chỉ dẫn khi gặp khó khăn,…
Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương
trình từ đơn giản đến phức tạp,…
Các tính năng đa dạng của vi điều khiển PIC, và các tính năng này không ngừng
được phát triển.
11
2.1.3 Kiến trúc PIC
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc:
Von Neuman và kiến trúc Havard
Hình 2.1: Kiến trúc Havard và kiến trúc Von-Neuman
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard. Điểm khác biệt
giữa kiến trúc Havard và kiến trúc Von-Neuman là cấu trúc bộ nhớ dữ liệu và bộ nhớ
chương trình. Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm
chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ
chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của
CPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương tác
với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc Von-Neuman
không thích hợp với cấu trúc của một vi điều khiển.
Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai
bộ nhớ riêng biệt. Do đó 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ể.
Một điểm cần chú ý nữa là 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. Ví dụ,
đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chức
thành từng byte), còn đối với kiến trúc Von-Neuman, độ dài lệnh luôn là bội số của 1 byte
(do dữ liệu được tổ chức thành từng byte).
2.1.4 RISC và CISC
12
CPUCPU
DATA
memory
PROGRAM
MEMORY
PROGRAM DATA
memory
MEMORY
Harvard Von-Neuman
Như đã trình bày ở trên, kiến trúc Havard là khái niệm mới hơn so với kiến trúc
Von-Neuman. Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một vi
điều khiển. Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus chương trình và
bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ dữ liệu,
giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi. Đồng thời cấu trúc lệnh không còn
phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và
tốc độ của từng vi điều khiển. Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ
vi điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ
16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì của
xung clock (ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trình
con … cần hai chu kì xung đồng hồ). Điều này có nghĩa tập lệnh của vi điều khiển thuộc
cấu trúc Havard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh
bằng một số lượng bit nhất định.
Vi điều khiển được tổ chức 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. Vi điều
khiểnđược thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC
(Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh
của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte).
2.1.5 PIPELINING
Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC. Một chu kì lệnh của vi điều
khiển sẽ bao gồm 4 xung clock.
Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi lệnh đó, và một
chu kì xung clock nữa để giải mã và thực thi lệnh. Với cơ chế pipelining được trình bày ở
trên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh. Đối với các lệnh mà quá
trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter) cần hai chu kì lệnh
để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC chỉ tới. Sau khi đã xác
định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một chu kì lệnh để thực thi
xong.
13
2.1.6 Các dòng PIC và cách lựa chọn vi điều khiển PIC
Các kí hiệu của vi điều khiển PIC:
PIC12xxxx: độ dài lệnh 12 bit
PIC16xxxx: độ dài lệnh 14 bit
PIC18xxxx: độ dài lệnh 16 bit
C: PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM)
F: PIC có bộ nhớ flash
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp
LV: tương tự như LF, đây là kí hiệu cũ
Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ
A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).
Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC.
Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất.
2.1.7 Ngôn ngữ lập trình cho PIC
Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có MPLAB
(được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp cao
hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát
triển dành riêng cho PIC như PICBasic, MikroBasic,…
2.2 MỘT VÀI THÔNG SỐ VỀ VI ĐIỀU KHIỂN PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit.
Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa
cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ
nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số
PORT I/O là 5 với 33 pin I/O.
14
Hình 2.2: Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân
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ố 8 bit.
- 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 và I2C.
15
- 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.
Các đặc tính Analog:
- 8 kênh chuyển đổi ADC 10 bit.
- Hai bộ so sánh.
- Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.
- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.
- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming)
thông qua 2 chân.
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ Sleep. Có thể hoạt động với nhiều dạng Oscillator khác nhau.
16
2.2.1 Sơ đồ khối vi điều khiển PIC16F877A
Hình 2.3: Sơ đồ khối vi điều khiển PIC16F877A
2.2.2 Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình
(Program memory) và bộ nhớ dữ liệu (Data Memory).
17
a) Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển
PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ
8K word (1 word = 14 bit) và được phân thành
nhiều trang (từ page 0 đến page 3) .Như vậy bộ
nhớ chương trình có khả năng chứa được 8*1024
= 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có
dung lượng 1 word (14 bit). Để mã hóa được địa
chỉ của 8K word bộ nhớ chương trình, bộ đếm
chương trình có dung lượng 13 bit (PC<12:0>).
Hình 2.4: Bộ nhớ chương trình .
b) Bộ nhớ dữ liệu
Bộ nhớ dữ liệu PIC là bộ nhớ EEPROM được chia làm nhiều bank. Đối với
PIC16F877A bộ nhớ dữ liệu được chia làm 4 bank. Mỗi bank có dung lượng 128 byte,
bao gồm các thanh ghi có chức năng đặc biệt SFR (Special Function Register ) nằm ở
vùng địa chỉ thấp và các thanh ghi mục đích chung GPR ( General Purpose Register )
nằm ở vùng địa chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng
( ví dụ như thanh ghi STATUS ) sẽ được đặt ở tất cả các bank của bộ nhớ dữ liệu giúp
thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình. Sơ đồ cụ thể
của bộ nhớ dữ liệu PIC16F877A như sau :
18
Khi vi điều khiển được reset, bộ đếmtrình
sẽ chỉ đến địa chỉ 0000h (Reset vector).
Khi có ngắt xảy ra, bộ đếm chương trình sẽ
chỉđến địa chỉ 0004h (Interrupt vector). Bộ
nhớ chương trình không bao gồm bộ nhớ stack
và được địa chỉ hóa bởi bộ đếm chương trình.
Bộ nhớ stack sẽ được đề cập cụ thể
trong phần sau
Hình 2.5 : Sơ đồ bộ nhớ dữ liệu PIC16F877A
19
2.2.3 Các cổng xuất nhập của PIC16F877A
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác
với thế giới bên ngoài. Sự tương tác này rất đa dạng và thông qua quá trình tương tác đó,
chức năng của vi điều khiển được thể hiện một cách rõ ràng.
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theo cách
bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và số lượng chân trong
mỗi cổng có thể khác nhau. Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong
các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường,
một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của các
đặc tính ngoại vi nêu trên đối với thế giới bên ngoài. Chức năng của từng chân xuất nhập
trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi
SFR liên quan đến chân xuất nhập đó.
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,
PORTC, PORTD và PORTE. Cấu trúc và chức năng của từng cổng xuất nhập sẽ được đề
cập cụ thể trong phần sau.
a) PORTA
PORTA (RPA) bao gồm 6 I/O pin. Đây là các chân “hai chiều” (bidirectional pin),
nghĩa là có thể xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi
TRISA (địa chỉ 85h). Muốn xác lập chức năng của một chân trong PORTA là input, ta
“set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn
xác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tương
ứng với chân đó trong thanh ghi TRISA. Thao tác này hoàn toàn tương tự đối với các
PORT và các thanh ghi điều khiển tương ứng TRIS (đối với PORTA là TRISA, đối với
PORTB là TRISB, đối với PORTC là TRISC, đối với PORTD là TRISD vàđối với
PORTE là TRISE). Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào
analog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master
Synchronous Serial Port).
Các thanh ghi SFR liên quan đến PORTA bao gồm :
PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA.
TRISA (địa chỉ 85h) : điều khiển xuất nhập.
20