1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế thiết bị đo và điều khiển tốc độ của động cơ DC

36 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 871,99 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Điều khiển chiều quay của động cơ điện một chiều Đảo chiều quay của động cơ điện một chiều được thực hiện dễ dàng bằng cách thay đổi chiều dòng điện cấp vào động cơ điện là có thể thay

Trang 1

MỤC LỤC

MỤC LỤC

DANH MỤC CÁC HÌNH VẼ

LỜI MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ VI ĐIỀU KHIỂN ATMEGA16 2

1.1 Động cơ điện một chiều 2

1.1.1 Cấu tạo 2

1.1.2 Nguyên lý làm việc 2

1.1.3 Phân loại 3

1.2 Các phương pháp điều khiển động cơ điện một chiều 3

1.2.1 Điều khiển chiều quay của động cơ điện một chiều 3

1.2.2 Điều khiển tốc độ động cơ điện một chiều 5

1.3 Vi điều khiển ATmega16 10

1.3.1 Vi điều khiển ATmega16 10

1.3.2 Cấu trúc nhân 11

1.3.3 Sơ đồ khối 14

1.3.4 Bộ định thời 15

CHƯƠNG 2 THIẾT KẾ BỘ ĐIỀU KHIỂN ĐÔNG CƠ DC SỬ DỤNG ATMEGA16 19

2.1 Cấu trúc của bộ điều khiển 19

2.2 Nguyên lý hoạt động của bộ điều khiển 19

2.3 Thiết kế và mô phỏng bộ điều khiển động cơ DC 20

CHƯƠNG 3 CHẾ TẠO BỘ ĐIỀU KHIỂN ĐỘNG CƠ DC 22

3.1 Chuẩn bị các thiết bị chính 22

3.2 Thiết kế mạch 22

3.3 Lập trình cho vi điều khiển 25

3.4 Một số hình ảnh về sản phẩm 32

KẾT LUẬN 32 TÀI LIỆU THAM KHẢO

Trang 2

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Mạch cầu H sử dụng 4

Hình 1.2: Dòng điện chạy trong mạch cầu H ở chế độ quay thuận 4

Hình 1.3: IC L298 và sơ đồ chân 5

Hình 1.4: Điều chỉnh điện áp phần ứng bằng bộ chỉnh lưu: 6

Hình 1.5: Sơ đồ nguyên lý và tương đương của bộ điều chỉnh xung áp 6

Hình 1.6: Biểu đồ thời gian điện áp và dòng điện 7

Hình 1.7: Điều chỉnh điện áp đặt vào động cơ 8

Hình 1.8: Sơ đồ nguyên lý điều khiển tốc độ động cơ một chiều không đảo chiều dùng transistor 8

Hình 1.9: Mạch đảo chiều động cơ dùng transistor và khuếch đại thuật toán Mạch gồm 2 tầng khuếch đại: 9

Hình 1.10: Sơ đồ điều chỉnh tốc độ động cơ một chiều dùng diode và thyristor 10

Hình 1.11: Hình ảnh thực tế vi điều khiển Atmega16 11

Hình 1.12: Sơ đồ chân của ATmega16 11

Hình 1.13: Cấu trúc tổng quát Atmega16 12

Hình 1.14: Thanh ghi trạng thái 12

Hình 1.15: Các thanh ghi chức năng chung 13

Hình 1.16: Thanh ghi con trỏ ngăn xếp 13

Hình 1.17: Sơ đồ khối 14

Hình 1.18: Sơ đồ đơn vị đếm 16

Hình 1.19: Sơ đồ đơn vị so sánh ngõ ra 17

Hình 1.20: Lựa chọn nguồn xung cho bộ định thời 17

Hình 2.1: Sơ đồ khối của bộ điều khiển động cơ DC 19

Hình 2.2: mô phỏng mạch trên proteus 21

Hình 2.3: mạch broad sau khi đã đi dây hoàn chỉnh 21

Hình 3.1: Mạch hoàn chỉnh 24

Trang 3

LỜI MỞ ĐẦU

Nước ta đang đang trong công cuộc công nghiệp hóa, tự động hóa, đổi mới phát triền toàn diện Phục vụ cho công cuộc đổi mới này đó là các máy móc hiện đại được điều khiển vô cùng phức tạp, nhưng cũng vì thế mà làm giảm được tối đa sự góp mặt của con người vào các quá trình sản xuất đó Tự động hóa phát triển kéo theo những công nghệ điều khiển tiên tiến cũng phát triển và đóng góp vai trò vô cùng quan trọng trong sản xuất Có thể kể đến đó là những robot công nghiệp, tay máy hay các dây chuyền tự động được lập trình sẵn đó là những quá trình lớn Ở trong một phạm vi nhỏ hơn, việc điều khiển được thực hiện một cách dễ dàng với những vi xử lý hoặc những

vi điều khiển được lập trình sẵn cũng góp mặt vô cùng nhiều trong các ứng dụng thực

tế trong cuộc sống

Trong các ứng dụng liên quan đến truyền động, một thành phần gần như không thể thiếu đó là các động cơ điện, nó có tác dụng gây ra các lực làm các cơ cấu chấp hành hoạt động Động cơ điện có rất nhiều ứng dụng trong cuộc sống, nhất là trong sản xuất công nghiệp Việc điều khiển được tốc độ cũng như chiều quay của nó cũng là một vấn đề cần giải quyết Kết hợp với vi điều khiển, việc điều khiển động cơ trở lên

dễ dàng hơn rất nhiều

Chính vì lẽ đó sinh viên đã chọn đề tài “ Thiết kế thiết bị đo và điều khiển tốc

độ của động cơ DC” cũng như sử dụng và tiếp cận vi điểu khiển ATMEGA16 Đồ án

gồm 3 chương:

Chương I: Tổng quan về động cơ điện một chiều và vi điều khiển ATmega16 Chương II: Thiết kế bộ điều khiển động cơ DC sử dụng ATmega16

Chương III: Chế tạo bộ điều khiển động cơ DC

Sinh viên xin chân thành cảm ơn sự giúp đỡ, chỉ bảo tận tình của thầy cô đặc biệt là ThS Đinh Hải Lĩnh và KS Nguyễn Thành Trung trong suốt thời gian thực hiện

đề tài

Trang 4

CHƯƠNG 1 TỔNG QUAN VỀ ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ VI ĐIỀU KHIỂN

Rotor (còn gọi là phần ứng) gồm các lá thép kỹ thuật điện ghép lại có rãnh để đặt các phần tử của dây quấn phần ứng Điện áp một chiều được đưa vào phần ứng qua lực tiếp xúc và tự động duy trì áp lực tùy theo độ mòn của chổi than

Chổi than – vành góp có chức năng đưa điện áp một chiều vào cuộn dây phần ứng và đổi chiều dòng điện trong cuộn dây phần ứng Số lượng chổi than bằng số lượng cực từ (một nửa có cực tính dương và một nửa có cực tính âm)

.2

Cơ chế sinh lực quay của động cơ điện một chiều

Khi có một dòng điện chạy qua cuộn dây quấn xung quanh một lõi sắt non, cạnh phía bên cực dương sẽ bị tác động bởi một lực hướng lên, trong khi cạnh đối diện lại bị tác động bằng một lực hướng xuống theo nguyên lý bàn tay trái của Fleming

Trang 5

Các lực này gây tác động quay lên cuộn dây, và làm cho rotor quay Để làm cho rotor quay liên tục và đúng chiều, một bộ cổ góp điện sẽ làm chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ Chỉ có vấn đề là khi mặt của cuộn dây song song với các đường sức từ trường Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây lệch 900 so với phương ban đầu của nó, khi đó rotor sẽ quay theo quán tính

Trong các máy điện một chiều lớn, người ta có nhiều cuộn dây nối ra nhiều phiến góp khác nhau trên cổ góp Nhờ vậy dòng điện và lực quay được liên tục và hầu như không bị thay đổi theo các vị trí khác nhau của rotor

Phương trình cơ bản của động cơ 1 chiều

- Động cơ một chiều kích từ bằng nam châm vĩnh cửu

- Động cơ một chiều kích từ độc lập (phần ứng và phần kích từ được cung cấp bởi hai nguồn riêng rẽ)

- Động cơ một chiều kích từ nối tiếp: cuộn dây kích thích được mắc nối tiếp với phần ứng

- Động cơ một chiều kích từ song song: cuộn dây kích thích được mắc song song với phần ứng

- Động cơ một chiều kích từ hỗn hợp: gồm có 2 cuộn dây kích thích, một cuộn mắc nối tiếp với phần ứng, cuộn còn lại mắc song song với phần ứng

1.2 Các phương pháp điều khiển động cơ điện một chiều

1.2.1 Điều khiển chiều quay của động cơ điện một chiều

Đảo chiều quay của động cơ điện một chiều được thực hiện dễ dàng bằng cách thay đổi chiều dòng điện cấp vào động cơ điện là có thể thay đổi được chiều quay của động cơ

Trang 6

Một số phương pháp điều khiển chiều quay của động cơ điện một chiều:

- Sử dụng công tắc: nối vào một công tắc có 3 nấc, khi gạt công tắc sang phải thì động cơ quay theo chiều thuận, gạt về giữa thì động cơ dừng, gạt sang trái thì động

cơ quay ngược lại Nguyên tắc đó là đảo chiều của nguồn cung cấp vào động cơ

- Sử dụng mạch cầu H điều khiển: linh kiện sử dụng trong mạch cầu có thể là diode, transistor BJT, transistor trường ( như hình 1.1)

Hình 1.1: Mạch cầu H sử dụng

a- transistor PNP – NPN; b- MOSFET; c- Relay

Nguyên tắc hoạt động: (phân tích với hình a, các hình khác tương tự) ở chế độ quay thuận, tín hiệu điều khiển cấp vào 4 transistor với điều kiện là vào Q1 = 0, Q2 = 1; Q3 = 0; Q4 = 1, dòng điện sẽ đi theo chiều từ nguồn cấp vào Q1, qua động cơ vào Q4 xuống đất ( như hình 1.2)

Hình 1.2: Dòng điện chạy trong mạch cầu H ở chế độ quay thuận

Ở chế độ quay ngược, Q1 = 1, Q2 = 0; Q3 = 1; Q4 = 0, dòng điện sẽ đi từ Q2 qua động cơ về Q3 xuống đất Như vậy là đã làm cho động cơ quay theo chiều ngược lại Muốn cho động cơ dừng không quay thì cho Q1, Q3 và Q2, Q4 cùng mức là được

Trang 7

- Sử dụng các IC chuyên dụng: các IC chuyên dụng dùng để điều khiển động

cơ có thể dễ dàng tìm thấy như L293, L293D, L298, L298N, …

Hình 1.3: IC L298 và sơ đồ chân

IC L298 được tích hợp sẵn bên trong hai mạch cầu H do đó có thể điều khiển được hai động cơ một chiều với chỉ một IC L298 Hai chân OUTPUT1 và OUTPUT2 cho động cơ 1 và hai chân OUTPUT3 và OUTPUT4 là cho động cơ thứ 2 Chân INPUT1 đưa tín hiệu điều khiển động cơ 1, chân INPUT2 đưa tín hiệu điều khiển động cơ 2 Để điều khiển chiều quay của động cơ một chiều thì cần đưa chân INPUT lên mức 1, khi đó, với 1 động cơ, giả sử ở chân OUT1 và OUT2, đề điều khiển quay thuận thì cho OUT1 = 1, OUT2 = 0; điều khiển quay ngược thì cho OUT1 = 0, OUT2

= 1; dừng động cơ thì cho đồng thời OUT1 = OUT2 = 1 hoặc OUT1 = OUT2 = 0 Với hai chân OUT3 và OUT4 thì làm tương tự sau khi đã đưa INPUT2 lên mức 1

1.2.2 Điều khiển tốc độ động cơ điện một chiều

Điều khiển tốc độ động cơ điện là một yêu cầu cần thiết vì có những máy móc hoạt động với những tốc độ khác nhau, nhanh chậm tùy loại, tùy công việc và điều kiện làm việc Điều chỉnh tốc độ động cơ bằng cách điều chỉnh điện áp nguồn cung cấp có thể sử dụng cho các động cơ một chiều và động cơ không đồng bộ Tuy vậy thì

nó được sử dụng chủ yếu cho động cơ một chiều kích từ độc lập Phương trình đặc tính

cơ của động cơ điện một chiều kích từ độc lập:

M: moment của động cơ

Φ: từ thông trên mỗi cực

Trang 8

U: điện áp cung cấp

Như vậy, khi Ru, Rpu, M, k, Φ không đổi, nếu thay đổi U thì tốc độ góc ω của động cơ sẽ thay đổi

Điều chỉnh tốc độ động cơ sử dụng các bộ chỉnh lưu bán dẫn:

Để thực hiện phương pháp điều chỉnh này, cần phải có một nguồn cung cấp

mà điện áp của nó có thể thay đổi được để cung cấp cho phần ứng của động cơ Các nguồn điện áp này thường được tạo ra bởi một bộ chỉnh lưu bán dẫn có điều khiển (dùng thyristor) hoặc không có điều khiển (dùng diode)

Hình 1.4: Điều chỉnh điện áp phần ứng bằng bộ chỉnh lưu:

a- không có điều khiển; b- có điều khiển

Hình a: thay đổi điện áp đặt lên phần ứng động cơ bằng sử dụng bộ điều chỉnh điện áp

Hình b: điện áp đặt lên phần ứng động cơ phụ thuộc góc mở của thyristor của

bộ chỉnh lưu có điều khiển

Điều chỉnh tốc độ động cơ khi sử dụng thiết bị điều chỉnh xung áp

Phương pháp điều chỉnh này là đóng ngắt động cơ vào nguồn cung cấp một cách có chu kỳ Khi đóng động cơ vào nguồn cung cấp, năng lượng được đưa từ nguồn vào động cơ Năng lượng này phần chủ yếu được truyền qua trục của động cơ, phần còn lại được tích ở dạng động năng và năng lượng điện từ Khi ngắt động cơ ra khỏi nguồn thì hệ truyền động vẫn tiếp tục làm việc nhờ năng lượng tích lũy đó

Hình 1.5: Sơ đồ nguyên lý và tương đương của bộ điều chỉnh xung áp

Trang 9

Hình 1.6: Biểu đồ thời gian điện áp và dòng điện

Nhờ một khóa chuyển đổi K mà phần ứng động cơ được đóng, ngắt một cách có chu kỳ vào nguồn điện một chiều có điện áp không đổi Trong khoảng thời gian t1 khóa K đóng, động cơ được cấp nguồn, nếu bỏ qua sự sụt áp trên khóa K thì Ut = U Trong khoảng thời gian t2 khóa K ngắt Do ảnh hưởng của các điện cảm phía một chiều, dòng điện cảm ứng iu tiếp tục chạy qua diode D Điện áp Ut ở giai đoạn này bằng sụt áp thuận trên diode nhưng ngược dấu Ut = UD

Từ đồ thị, nhận thấy trị số trung bình của dòng điện trong phần ứng itb quyết định tốc độ động cơ Do đó để thay đổi tốc độ động cơ chỉ cần thay đổi trị số của dòng điện trung bình trong phần ứng itb Để thay đổi dòng điện trung bình itb có thể thay đổi t1 hoặc t2 hoặc cả t1 và t2 Nếu giữ nguyên chu kỳ đóng cắt của khóa (Tck = const) thay đổi t1 thì có phương pháp điều chỉnh xung theo độ rộng Nếu giữ nguyên thời gian đóng khóa (t1 = const) và thay đổi t2 thì có phương pháp điều chỉnh tần số xung

Phương pháp biến đổi độ rộng xung được xử dụng phổ biến hơn vì nó cho phạm vi điều chỉnh rộng hơn Phương pháp điều chỉnh tần số xung có sơ đồ đơn giản hơn nhưng phạm vi điều chỉnh hẹp vì nếu tăng t2 quá lớn thì Tck sẽ tiến đến vô cực, nghĩa là về thực chất ý nghĩa điều chỉnh xung không còn tác dụng

Điều chỉnh tốc độ động cơ bằng điều chỉnh điện áp một chiều và có đổi chiều quay

Trang 10

Sơ đồ nguyên lý thực hiện đảo chiều động cơ điện một chiều kích từ độc lập theo phương pháp thay đổi cực tính điện áp đặt vào phần ứng động cơ:

Hình 1.7: Điều chỉnh điện áp đặt vào động cơ

Các cặp van K1 và K3, K2 và K4 thay nhau đóng, ngắt Thực hiện đảo chiều bằng cách: trong thời gian t1 cho K1 và K3 đóng (K2 và K4 ngắt) đầu A của phần ứng được nối với dương nguồn, đầu B được nối âm nguồn Trong khoảng thời gian t2 cho K2 và K4 đóng (K1 và K3 ngắt) thì đầu B của phần ứng được nối với dương nguồn còn đầu A của phần ứng được nối với âm nguồn Khi đó điện áp trung bình trên phần ứng động cơ được tính bằng công thức:

Điều chỉnh tốc độ động cơ một chiều không đảo chiều dùng transistor

Hình 1.8: Sơ đồ nguyên lý điều khiển tốc độ động cơ một chiều

không đảo chiều dùng transistor

Trang 11

T1 đóng vai trò tầng khuếch đại sơ bộ mắc theo kiểu Collector chung (mạch lặp Emiter) T2 và T3 là tầng khuếch đại công suất mắc theo kiểu Darlington để có công suất lớn Chức năng của mchj do T2 quyết định còn T3 có tác dụng khuếch đại dòng điện ra

Nguyên lý hoạt động: khi có xung điều khiển Uv đưa vào bazor của T1 sẽ tạo thiên áp cho T1 do đó T1 mở Tín hiệu ra trên emitor của T1 đưa vào bazor của T2 làm cho T2 và T3 làm việc dẫn đến điện áp phần ứng của động cơ được khuếch đại lên Xung điều khiển có thể thay đổi bằng cách điều chỉnh tần số xung dẫn đến Ube của T1 thay đổi làm cho Uce của T1 thay đổi theo, qua khuếch đại công suất T2 và T3 làm cho điện áp đặt vào phần ứng của động cơ một chiều thay đổi do đó tốc độ thay đổi

Điều chỉnh tốc độ động cơ một chiều có đảo chiều dùng transistor và OPAM

Hình 1.9: Mạch đảo chiều động cơ dùng transistor và khuếch đại thuật toán

Mạch gồm 2 tầng khuếch đại:

- Tầng 1 là khuếch đại điện áp đầu vào sử dụng khuếch đại thuật toán uA741

- Tầng 2 là tầng khuếch đại công suất dùng T1, T2, T3, T4 ghép kiểu darlington Điện áp cung cấp cho tầng khuếch đại công suất là ±12V Mạch phản hồi

âm được báo từ đầu ra cuối cùng của khuếch đại thuật toán D1, D2 là 2 diode ổn định điện áp cho khuếch đại thuật toán Tụ C1 và C2 cùng với R10 có tác dụng lọc thành phần xoay chiều do động cơ làm việc ở chế độ máy phát phát ra khi đổi chiều quay Rf

là điện trở mạch phản hồi

Nguyên lý làm việc:

Khi Udk có cực tính dương thì ở chân 6 của KĐTT có điện áp âm đặt vào bazor của T1 và T2 do T1 là loại NPN và T2 là loại PNP do đó T1 khóa còn T2 dẫn Khi T2 dẫn thì nguồn âm (-12V) qua R5, qua T2 (đang dẫn) đặt vào bazor của T3 và

Trang 12

T4 Do T3 cũng là loại NPN, T4 là PNP do đó T3 bị khóa còn T4 dẫn Do T2 và T4 dẫn nên có dùng điện đi từ 0 qua động cơ, qua T4 rồi về nguồn âm (-12V), động cơ quay theo một chiều nhất định

Nguyên tắc giữ ổn định tốc độ động cơ: giả sử tốc độ động cơ giảm dòng điện

Id tăng làm điện áp tại đầu ra là UR giảm Thông qua điện trở phàn hổi Rf, điện thế ở đầu vào chân 2 của khuếch đại thuật toán tăng lên vì U2 = Udk – UR và Udk = const nên

UR giảm thì U2 tăng Khi điện áp ở đầu vào 2 của khuếch đại thuật toán tăng lên thì điện áp ở đầu ra 6 cũng tăng theo làm cho UR tăng làm tốc độ động cơ tăng Ngược lại khi Udk có cực tính âm thì đầu ra 6 có điện áp dương đặt vào bazo của T1 và T2 Lúc này T1 và T3 dẫn còn T2 và T4 khóa, do đó sẽ có dòng đi từ nguồn (+12V) qua T3 qua động cơ rồi về 0 làm động cơ quay chiều ngược lại

Điều chỉnh tốc độ động cơ dùng thyristor

Thyristor được dùng trong điều khiển động cơ công suất lớn và điện áp phần ứng cao Trong điều khiển động cơ công suất thấp thì ít dùng vì giá thành cao

Hình 1.10: Sơ đồ điều chỉnh tốc độ động cơ một chiều dùng diode và thyristor

D1, D2, D3, D4 phối hợp tạo thành mạch cầu chỉnh lưu hai nửa chu kỳ

L và D5 có tác dụng san bằng dòng điện

Thyristor T có tác dụng điều chỉnh điện áp ra của bộ chỉnh lưu

1.3 Vi điều khiển ATmega16

1.3.1 Vi điều khiển ATmega16

ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC Với khả năng thực hiện mỗi lệnh trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHz

Trang 13

Ngoài ra ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khi ghi, 512 byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung, 32 đường vào ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giao tiếp nối tiếp 2 dây, 8 kênh ADC 10 bit, ATmega 16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ thống như: trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi,…

Hình 1.11: Hình ảnh thực tế vi điều khiển Atmega16

Hình 1.12: Sơ đồ chân của ATmega16 1.3.2 Cấu trúc nhân

CPU của Atmega16 có chức năng bảo đảm sự hoạt động chính xác các chương trình Do đó nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết bị ngoại vi và quản lý ngắt

Cấu trúc tổng quát:

Trang 14

AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình

và dữ liệu Các lệnh được thực hiện chỉ trong một chu kỳ xung clock Bộ nhớ chương trình được lưu trong bộ nhớ Flash

Hình 1.13: Cấu trúc tổng quát Atmega16

ALU:

ALU làm việc trực tiếp với các thanh ghi chức năng chung Các phép toán được thực hiện trong một chu kỳ xung clock Hoạt động của ALU được chia làm 3 loại: đại

số, logic và theo bit

Thanh ghi trạng thái:

Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính

số học và logic

Hình 1.14: Thanh ghi trạng thái

Trong đó:

+ C: Carry Flag: cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập)

+ Z: Zero Flag: Cờ zero (Nếu kết quả phép toán bằng 0)

+ N: Negative Flag: (Nếu kết quả của phép toán là âm)

+ V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số

bù 2)

Trang 15

+ H: Half Carry Flag

+ T: Transfer bit used by BLD and BST instructions: (Được sử dụng làm nơi chung gian trong các lệnh BLD,BST)

+ I: Global Interrupt Enable/Disable Flag: (Đây là bit cho phép toàn cục ngắt Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)

Các thanh ghi chức năng chung:

Hình 1.15: Các thanh ghi chức năng chung

Con trỏ ngăn xếp (SP):

Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặc biệt 8 bit Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (trong bộ nhớ RAM là $5E) và có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp

Hình 1.16: Thanh ghi con trỏ ngăn xếp

Quản lý ngắt:

Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng sẵn sàng cho đổi dữ liệu của mình.Ví dụ: khi bộ truyền nhận UART nhận được một byte nó sẽ báo cho CPU biết thông qua cờ RXC, hoặc khi nó đã truyền được một byte thì cờ TX được thiết lập…Khi có tín hiệu báo ngắt CPU sẽ tạm dừng công việc đạng thực hiện lại và lưu vị trí đang thực hiên chương trình (con trỏ PC) vào ngăn xếp sau

Trang 16

đó trỏ tới vector phuc vụ ngắt và thức hiện chương trình phục vụ ngắt đó chơ tới khi gặp lệnh RETI (return from interrup) thì CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chương trình mà trước khi có ngăt nó đang thực hiện

Trong trường hợp mà có nhiều ngắt yêu cầu cùng một lúc thì CPU sẽ lưu các cờ báo ngắt đó lại và thực hiện lần lượt các ngắt theo mức ưu tiên.Trong khi đang thực hiện ngắt mà xuất hiện ngắt mới thì sẽ xảy ra hai trường hợp Trường hợp ngắt này có mức ưu tiên cao hơn thì nó sẽ được phục vụ Còn nó mà có mức ưu tiên thấp hơn thì

nó sẽ bị bỏ qua

Bộ nhớ ngăn xếp là vùng bất kì trong SRAM từ địa chỉ 0x60 trở lên Để truy nhập vào SRAM thông thường thì ta dùng con trỏ X,Y,Z và để truy nhập vào SRAM theo kiểu ngăn xếp thì ta dùng con trỏ SP Con trỏ này là một thanh ghi 16 bit và được truy nhập như hai thanh ghi 8 bit chung có địa chỉ: SPL:0x3D/0x5D(IO/SRAM) và SPH:0x3E/0x5E

Khi chương trình phục vụ ngắt hoặc chương trình con thì con trỏ PC được lưu vào ngăn xếp trong khi con trỏ ngăn xếp giảm hai vị trí.Và con trỏ ngăn xếp sẽ giảm 1 khi thực hiện lệnh PUSH Ngược lại khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng 1 và khi thực hiện lệnh RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2 Như vậy con trỏ ngăn xếp cần được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi một chương trình con được gọi hoặc các ngắt được cho phép phục vụ Và giá trị ngăn xếp ít nhất cũng phải lớn hơn 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi

1.3.3 Sơ đồ khối

Hình 1.17: Sơ đồ khối

Trang 17

Ý nghĩa các chân:

+ ChânVCC: Chân số 10 là VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp trong khoảng +5V± 0,5

+ Chân GND:Chân số11 và chân số 31 nối GND(hay nối Mass) Khi thiết

kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng

+ Port D (PD): Port D gồm 8 chân (từ chân 14 đến 21):chưc năng xuất nhập + Chân RESET(RST):Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy

+ Chân XTAL1 và XTAL2: Hai chân này có vị trí chân là 12 và 13 được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định

+ Chân AVCC: Nguồn cấp cho cổng A và bộ chuyển đổi ADC , chân này nên được nối với nguồn cấp VCC bên ngoài , ngay cả khi bộ chuyển đổi ADC không được sử dụng Nếu bộ chuyển đổi ADC không được sử dụng , chân AVCC nên được nối với nguồn qua bộ lọc

+ Chân AREF: AREF là chân chuẩn analog cho bộ chuyển đổi ADC

Trang 18

Thanh ghi OCR0 luôn được so sánh với giá trị của bộ định thời/bộ đếm Kết quả so sánh có thể được sử dụng để tạo ra PWM hoặc biến đổi tần số ngõ ra tại chân OC0

Phần chính của bộ định thời 8 bit là một đơn vị đếm song hướng có thể lập trình được Cấu trúc của nó như hình 1.18:

Hình 1.18: Sơ đồ đơn vị đếm

+ Count: tăng hay giảm TCNT0:1

+ Direction: lựa chọn giữa đếm lên và đếm xuống

+ Clear: xóa thanh ghi TCNT0

+ TOP: báo hiệu bộ định thời đẫ tăng đến giá trị lớn nhất

+ BOTTOM: báo hiệu bộ định thời đã giảm đến giá trị nhỏ nhất

Bộ so sánh 8 bit liên tục so sánh giá trị TCNT0 với giá trị thanh ghi so sánh ngõ ra (OCR0) Khi giá trị TCNT0 bằng với OCR0, bộ so sánh sẽ tạo một báo hiệu Báo hiệu này sẽ đặt giá trị cờ so sánh ngõ ra (OCF0) lên 1 vào chu kỳ xung clock tiếp theo Nếu được kích hoạt (OCIE0=1), cờ OCF0 sẽ tạo ra một ngắt so sánh ngõ

ra và sẽ tự động được xóa khi ngắt được thực thi Cờ OCF0 cũng có thể được xóa bằng phần mềm

Ngày đăng: 22/06/2021, 09:51

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w