PIC16F877A có tất cả 3 timer : timer0 (8 bit), timer1 (16 bit) và timer2 (8 bit).
a Timer0
Hình 3.6: Sơ đồ khối của Timer0
Cũng giống như 8051, Timer0 của 16F877A cũng c 2 chức năng : định th i và đếm xung. 2 chức năng trên c thể được lựa ch n thông qua bit số 5 TOCS của thanh ghi OPTION.
SVTH: Phạm Tiến Duẫn Trang 50 Ngoài ra, ta cũng c thể lựa ch n cạnh tích cực của xung clock, cạnh tác động ngắt…thông qua thanh ghi trên.
Timer0 được tích hợp thêm bộ tiền định 8 bit (prescaler), có tác dụng mở rộng “dung lượng” của Timer0. Bộ prescaler này có thể được điều chỉnh bởi các 3 bit PS2:PS0 trong thanh ghi OPTION. Nó có thể có giá trị 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128, 1:256 tùy thuộc vào việc thiết lập các giá trị 0 ,1 cho 3 bit trên.
Bộ tiền định có giá trị 1:2 chẳng hạn ,c nghĩa là : bình thư ng không sử dụng bộ tiền định của Timer0 đồng nghĩa với tiền định tỉ lệ 1:1) thì cứ khi có tác động của 1 xung clock thì timer0 sẽ tăng thêm một đơn vị. Nếu sử dụng bộ tiền định 1:4 thì phải mất 4 xung clock thì timer0 mới tăng thêm một đơn vị. Vô hình chung, giá trị của timer0 (8 bit) lúc này không còn là 255 nữa mà là 255*4=1020.
Các thanh ghi liên quan đến Timer0 bao gồm :
- TMR0 : chứa giá trị đếm của Timer0
- INTCON : cho phép ngắt hoạt động
- OPTION_REG : điều khiển prescaler
b. Timer1
SVTH: Phạm Tiến Duẫn Trang 51 Timer1 là bộ định th i 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi 8 bit TMR1H:TMR1L. C ngắt của Timer1 là bit TMR1IF, bit điều khiển của Timer1 là TRM1IE.
Cặp thanh ghi của TMR1 sẽ tăng từ 0000h lên đến FFFFh rồi sau đ tràn về 0000h. Nếu ngắt được cho phép, nó sẽ xảy ra khi khi giá trị của TMR1 tràn từ FFFFh rồi về 0000h, lúc này TMR1IF sẽ bật lên.
Timer1 có 3 chế độ hoạt động:
- Chế độ hoạt động định th i đồng bộ: Chế độ được lựa ch n bởi bit TMR1CS. Trong chế độ này xung cấp cho Timer1 là Fosc/4, bit T1SYNC không có tác dụng.
- Chế độ đếm đồng bộ: trong chế độ này, giá trị của timer1 sẽ tăng khi c xung cạnh lên vào chân T1OSI/RC1. Xung clock ngoại sẽ được đồng bộ với xung clock nội, hoạt động đồng bộ được thực hiện ngay sau bộ tiền định tỉ lệ xung (prescaler).
- Chế độ đếm bất đồng bộ: chế độ này xảy ra khi bit T1SYNC được set. Bộ định th i sẽ tiếp tục đếm trong suốt quá trình ngủ của vi điều khiển và có khả năng tạo một ngắt khi bộ định th i tràn và làm cho Vi điều khiển thoát khỏi trạng thái ngủ.
c. Timer2
Là bộ định th i 8 bit bao gồm một bộ tiền định (prescaler), một bộ hậu định Postscaler và một thanh ghi chu kỳ viết tắt là PR2. Việc kết hợp timer2 với 2 bộ định tỉ lệ cho phép nó hoạt động như một bộ đinh th i 16 bit. Module timer2 cung cấp th i gian hoạt động cho chế độ điều biến xung PWM nếu module CCP được ch n.
SVTH: Phạm Tiến Duẫn Trang 52 Hình 3.8: Sơ đồ khối của Timer2
3.2 hối t xung thu h t hồng ng i
Để đáp ứng dòng và áp cho led thu phát hồng ngoại hoạt động tốt cần một mạch tạo dao động để điều chế xung vuông.
Đồ án nhận thấy IC CMOS LM 555 c sơ đồ mạch đơn giản dễ dàng tạo được xung vuông và có thể thay đổi tần số tùy thích, điều chế được độ rộng xung. N được ứng dụng hầu hết vào các mạch tạo xung đ ng cắt hay là những mạch dao động khác. Đây là linh kiện của hãng CMOS sản xuất.
3.2.1 Đặc tính
Điện áp đầu vào : 2 - 18V
Dòng điện cung cấp : 6mA - 15mA Điện áp logic ở mức cao : 0.5 - 15V Điện áp logic ở mức thấp : 0.03 - 0.06V + Công suất lớn nhất là : 600mW
SVTH: Phạm Tiến Duẫn Trang 53
3.2.2 Các dạng hình dáng chân của IC 555
Hình 3.9a: IC 555 loại 8 chân tròn Hình 3.9b: IC 555 loại 8 chân vuông
Nhưng ở thị trư ng Việt Nam chủ yếu là loại chân vuông.
Hình 3.10: IC 555 trong thực tế
3.2.3 Chức năng từng chân của IC 555
IC 555 gồm có 8 chân[4]
+ Chân số 1(GND): cho nối GND để lấy dòng cấp cho IC hay chân còn g i là
chân chung.
+ Chân số 2(TRIGGER): Đây là chân đầu vào thấp hơn điện áp so sánh và
được d ng như 1 chân chốt hay ngõ vào của 1 tần so áp. Mạch so sánh ở đây dùng các transitor PNP với mức điện áp chuẩn là 2/3Vcc.
+ Chân số 3(OUTPUT): Chân này là chân d ng để lấy tín hiệu ra logic. Trạng
thái của tín hiệu ra được xác định theo mức 0 và 1. 1 ở đây là mức cao n tương ứng với Vcc nếu (PWM=100%) và mức 0 tương đương với 0V nhưng trong thực tế mức 0 này không được bằng 0V mà nó trong khoảng từ (0.35 ->0.75V) .
SVTH: Phạm Tiến Duẫn Trang 54
+ Chân số 4(RESET): Dùng lập định mức trạng thái ra. Khi chân số 4 nối
masse thì ngõ ra ở mức thấp. Còn khi chân 4 nối vào mức áp cao thì trạng thái ngõ ra tùy theo mức áp trên chân 2 và 6.Nhưng mà trong mạch để tạo được dao động thư ng hay nối chân này lên VCC.
+ Chân số 5(CONTROL VOLTAGE): D ng làm thay đổi mức áp chuẩn trong
IC 555 theo các mức biến áp ngoài hay d ng các điện trở ngoài cho nối GND. Chân này có thể không nối cũng được nhưng mà để giảm trừ nhiễu ngư i ta thư ng nối chân số 5 xuống GND thông qua tụ điện từ 0.01uF đến 0.1uF các tụ này l c nhiễu và giữ cho điện áp chuẩn được ổn định.
+ Chân số 6(THRESHOLD): là một trong những chân đầu vào so sánh điện áp
khác và cũng được d ng như 1 chân chốt.
+ Chân số 7(DISCHAGER): có thể xem chân này như 1 kh a điện tử và chịu
điều khiển bỡi tầng logic của chân 3. Khi chân 3 ở mức áp thấp thì khóa này đ ng lại. Ngược lại thì nó mở ra. Chân 7 tự nạp xả điện cho 1 mạch R-C lúc IC 555 d ng như 1 tầng dao động .
+ Chân số 8 (Vcc): Không cần n i cũng biết đ là chân cung cấp áp và dòng
cho IC hoạt động. Không c chân này coi như IC chết. N được cấp điện áp từ 2V -->18V (Tùy từng loại 555, thấp nhất là con NE7555).
3.2.4 Cấu tạo bên trong và nguyên tắc hoạt động
a. Cấu tạo
SVTH: Phạm Tiến Duẫn Trang 55 Nhìn trên sơ đồ cấu tạo trên ta thấy cấu trúc của 555 gồm: 2 con OPAM, 3 con điện trở, 1 transitor, 1 FF ( ở đây là FF RS :
- 2 OP-amp có tác dụng so sánh điện áp - Transistor để xả điện.
- Bên trong gồm 3 điện trở mắc nối tiếp chia điện áp VCC thành 3 phần. Cấu tạo này tạo nên điện áp chuẩn. Điện áp 1/3 VCC nối vào chân dương của Op-amp 1 và điện áp 2/3 VCC nối vào chân âm của Op-amp 2. Khi điện áp ở chân 2 nhỏ hơn 1/3 VCC, chân S = [1] và FF được kích. Khi điện áp ở chân 6 lớn hơn 2/3 VCC, chân R của FF = [1] và FF được reset.
b. Nguyên tắc hoạt động
Hình 3.12: Nguyên tắc hoạt động của IC555
Ở trên mạch trên ta biết là H là ở mức cao và nó gần bằng Vcc và L là mức thấp và nó bằng 0V.
Khi S = [1] thì Q = [1] và = Q- = [ 0].
SVTH: Phạm Tiến Duẫn Trang 56 Khi R = [1] thì = [1] và Q = [0].
Khi S = [1] thì Q = [1] và khi R = [1] thì Q = [0] bởi vì Q-= [1], transisitor mở dẫn, cực C nối đất. Cho nên điện áp không nạp vào tụ C, điện áp ở chân 6 không vượt quá V2. Do lối ra của Op-amp 2 ở mức 0, FF không reset. Khi mới đ ng mạch, tụ C nạp qua Ra, Rb, với th i hằng (Ra+Rb)C. * Tụ C nạp từ điện Áp 0V -> Vcc/3:
- Lúc này V+1(V+ của Opamp1) > V-1. Do đ O1 ngõ ra của Opamp1) có mức logic 1(H).
- V+2 < V-2 (V-2 = 2Vcc/3 . Do đ O2 = 0 L . - R = 0, S = 1 --> Q = 1, /Q Q đảo) = 0.
- Q = 1 --> Ngõ ra = 1.
- /Q = 0 --> Transistor hồi tiếp không dẫn. * Tụ C tiếp tụ nạp từ điện áp Vcc/3 -> 2Vcc/3: - Lúc này, V+1 < V-1. Do đ O1 = 0.
- V+2 < V-2. Do đ O2 = 0.
- R = 0, S = 0 --> Q, /Q sẽ giữ trạng thái trước đ Q=1, /Q=0 . - Transistor vẫn không dẫn ! * Tụ C nạp qua ngưỡng 2Vcc/3: - Lúc này, V+1 < V-1. Do đ O1 = 0. - V+2 > V-2. Do đ O2 = 1. - R = 1, S = 0 --> Q=0, /Q = 1. - Q = 0 --> Ngõ ra đảo trạng thái = 0.
- /Q = 1 --> Transistor dẫn, điện áp trên chân 7 xuống 0V ! - Tụ C xả qua Rb. Với th i hằng Rb.C
- Điện áp trên tụ C giảm xuống do tụ C xả, làm cho điện áp tụ C nhảy xuống dưới 2Vcc/3.
SVTH: Phạm Tiến Duẫn Trang 57 * Tụ C tiếp tục "XẢ" từ điện áp 2Vcc/3 --> Vcc/3:
- Lúc này, V+1 < V-1. Do đ O1 = 0. - V+2 < V-2. Do đ O2 = 0.
- R = 0, S = 0 --> Q, /Q sẽ giữ trạng thái trước đ Q=0, /Q=1 . - Transistor vẫn dẫn ! * Tụ C xả qua ngưỡng Vcc/3: - Lúc này V+1 > V-1. Do đ O1 = 1. - V+2 < V-2 (V-2 = 2Vcc/3 . Do đ O2 = 0. - R = 0, S = 1 --> Q = 1, /Q Q đảo) = 0. - Q = 1 --> Ngõ ra = 1.
- /Q = 0 --> Transistor không dẫn -> chân 7 khác 0V nữa và tụ C lại được nạp điện với điện áp ban đầu là Vcc/3.
T m lại, trong quá trình hoạt động bình thư ng của 555, điện áp trên tụ C chỉ dao động quanh điện áp Vcc/3 -> 2Vcc/3.
- Khi nạp điện, tụ C nạp điện với điện áp ban đầu là Vcc/3, và kết thúc nạp ở th i điểm điện áp trên C bằng 2Vcc/3.Nạp điện với th i hằng là (Ra+Rb)C. - Khi xả điện, tụ C xả điện với điện áp ban đầu là 2Vcc/3, và kết thúc xả ở th i điểm điện áp trên C bằng Vcc/3. Xả điện với th i hằng là Rb.C.
- Th i gian mức 1 ở ngõ ra chính là th i gian nạp điện, mức 0 là xả điện.
SVTH: Phạm Tiến Duẫn Trang 58 Hình 3.13: Tính toán độ rộng xung IC 555
Nhìn vào sơ đồ mạch trên ta có công thức tính tần số, độ rộng xung. + Tần số của tín hiệu đầu ra là :
f = 1/(ln2.C.(R1 + 2R2)) (3.1) + Chu kì của tín hiệu đầu ra : t = 1/f (3.2) + Th i gian xung ở mức H (1) trong một chu kì :
t1 = ln2.(R1 + R2).C (3.3) + Th i gian xung ở mức L (0) trong 1 chu kì :
t2 = ln2.R2.C (3.4)
Như vậy trên đây là công thức tổng quát của 555. Tác giả lấy 1 ví dụ nhỏ là : để tạo được xung dao động là f = 1.5Hz . Trước tiên ta cứ ch n hai giá trị đặc trưng là R1 và C sau đ ta tính được R2. Theo cách tính toán trên thì ta ch n : C = 10nF, R1 =33kΩ --> R2 = 33kΩ (Tính toán theo công thức).
3.3 hối điều hiển động cơ
Nhằm đáp ứng cho việc điều khiển động cơ DC công suất nhỏ c dòng b hơn 4A đồ án đ ch n thiết bị chấp hành IC L298 để điều khiển cho động cơ nêu trên.[5]
SVTH: Phạm Tiến Duẫn Trang 59 IC L298 là một Driver tích hợp sẵn 2 mạch cầu H bên trong với chuẩn điều khiển TTL, không có Diode nội bảo vệ Mosfet. Chịu tải tối đa trên mỗi cầu là 2A, điện áp 40VDC. Logic “0” ở ngõ vào lên tới 1.5V ( khả năng khử nhiễu cao). Sử dụng dạng đóng gói Multiwatt15.
Một số đặc điểm của mạch công suất L298: Điện áp cấp lên đến 46V
• Tổng dòng DC chịu đựng lên đến 4A • Chức năng bảo vệ quá nhiệt
• Điện áp logic „0‟ từ 0V đến 1.5V nên tính chống nhiễu tốt.
Hình 3.14: Sơ đồ chân L298
Bảng 3.1: Chức năng các chân L298
SVTH: Phạm Tiến Duẫn Trang 60 1.15 2;19 Sense A
Sense B
Nối chân này qua điện trở cảm ứng dòng xuống GND để điều khiển dòng tải .
2;3 4;5 Out1
Out2
Ngõ ra của cầu A . Dòng của tải mắc giữa 2 chân này được qui định bởi chân 1. 4 6 Vs Chân cấp nguồn cho tầng công suất. Cần có một tụ điện không cảm kháng 100nF nối
giữa chân này và chân GND 5;7 7;9 Input1
Input2
Chân ngõ vào của cầu A, tương thích chuẩn TTL 6;11 8;14 Enable A Enable B
Chân ngõ vào enable (cho phép) tương thích chuẩn TTL. Mức thấp ở chân này sẽ cấm (disable) ngõ ra cầu A (đối với chân EnableA) và/hoặc cầu B ( đối với chân EnableB)
8 1;10;11;20 GND Chân đất (Ground)
9 12 VSS Chân cấp nguồn cho khối logic. Cần có tụ điện 100nF nối giữa chân này với GND 10;12 13;15 Input3
Input4
Các chân logic ngõ vào của cầu B
13;14 16;17 Output3
Output4 Ngõ ra của cầu B. Dòng của tải mắc giữa hai chân này được qui định bởi chân 15. - 3;18 N.C Không kết nối .
SVTH: Phạm Tiến Duẫn Trang 61 Hình 3.15: Các chế độ hoạt động của L298
Hai chân C,D của L298 để điều khiển chiều động cơ, phanh động cơ. Chân Enable của L298 dùng làm đầu vào băm xung PWM cho động cơ để có thể điều khiển tốc độ động cơ.
Trong thực tế, ứng dụng động cơ DC chỉ có dòng tải 200mA khi hoạt động bình thư ng, và lên đến tối đa 2A khi quá tải. Tuy nhiên cũng cần thiết kế một bộ điều khiển mở có thể sử dụng cho các động cơ lên đến 4A. Việc hạn chế dòng cho động cơ là rất cần thiết, có nhiều tình huống không mong đợi xảy ra, vì vậy cần phải có chế độ hạn dòng bằng phần mềm. Trong các trư ng hợp nguy hiểm như ngắn mạch do va chạm, hoặc tuột dây nối, cần có mạch bảo vệ chống ngắn mạch bằng phần cứng để đáp ứng kịp th i.
Cần điều khiển PWM ở tần số cao để tránh tiếng ồn do động cơ tạo ra, nhất là những tiếng kêu nghe rất rõ ở khoảng tần số 1KHz đến 3KHz. Bộ điều khiển PWM thông thư ng được điều khiển ở 5KHz. Có thể nối song song hai cầu H để điều khiển động cơ lên đến 4A.
SVTH: Phạm Tiến Duẫn Trang 62 Hình 3.16: Sơ đồ giải pháp
L298 không có Diode nội bảo vệ, do đó cần có 4 Diode ngoài bảo vệ. Để đảm bảo điều khiển PWM ở tần số cao, cần dùng Diode nhanh có điện trở thấp. Diode chuyên dụng để điều khiển động cơ là các Diode “fast recovery Schottky”. Nhưng ở tần số khoảng 5KHz vẫn có thể dùng loại 1N4007.
Khi hoạt động L298 rất nóng, do vậy cần cần phải lắp miếng tản nhiệt.
Hai chân RC0 và RC1 để điều khiển chiều quay của động cơ: + ) RC0 = 1 và RC1 = 0 quay thuận
+ ) RC0 = 0 và RC1 = 1 quay nghịch
+ ) RC0 = RC1 = 0 hoặc RC0 = RC1 = 1 động cơ dừng quay
Chân PWM được đưa vào chân Enable của L298, do vậy chỉ cần điều chỉnh độ lớn của Dutycycle của PWM ta có thể điều chỉnh được điện áp đầu ra của L298 đưa vào động cơ 0V - 12V ).
SVTH: Phạm Tiến Duẫn Trang 63
3.4 Kết luận chƣơng 3
PIC16F877A c đặc điểm là tập lệnh g n, dễ nhớ (35 lệnh) lập trình tiết kiệm bộ nhớ, tốc độ xử lý nhanh (cho phép chu kỳ máy lên tới 5Mhz).
IC 555 c ưu điểm: Dễ dàng tạo được xung vuông và có thể thay đổi tần