Ngay 4 1 22 2

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

NGÀY 04/01/2022 (N01+N02); ngày 05/01/2022 N03

HỆ THỐNG ĐIỀU KHIỂN NHÚNG


+ Lý thuyết
+ Bài tập
+ Bài tập lớn: chia thành các nhóm (độc lập)
+ Thực hành: nhóm
Nội dung: kế thừa môn học VXL, phát triển cho các ứng
dụng về Điều khiển, tự động hóa.
Nghiên cứu vi điều khiển, ứng dụng:
VXL: PIC16F877A
Phần mềm: Lập trình MPLAB, trình dịch XC8.
Mô phỏng: proteus
+ Thời điểm này: còn bạn nào chưa cài phần mềm, thử
chạy chương trình, code chương trình và mô phỏng?
Thi, đánh giá: tùy theo online/ off_line
Đề mở
Giải lao 15’
+ Tài liệu vừa gửi trong thư mục Tailieu_HTDKN, Team
Phần 1, phần 2, PIC, 02 nhóm báo cáo.
+ Cách tạo project, code chương trình, mô phỏng proteus
(phần 1).
Giải lao 11h10
+ Khai thác các cổng vào/ ra số I/O số, mục đích chúng ta
sẽ giải quyết các bài toán logic:
+ chú ý mức: PIC16F877A, TTL (0V-5V)
+ Cấu hình cổng I/O: TRIS/PORT

Bài toán: trong ví dụ, điều khiển đèn LED, sáng tối.
Hoặc là suy nghĩ phát triển điều khiển logic bài toán rửa
xe
Bài toán về bơm nước lên bể tầng thượng
+ CB bể dưới (ngầm) có nước không
+ Bể thượng: đặt 2 cảm biến (mức trên, mức dưới)
I/O số.
Chú ý các lệnh làm việc với từng bit, với byte.
+ Quan sát thực tế, thấy được vấn đề cần giải quyết, tự
động nó.
Cài MPLAB X IDE xc8
07/01/2022- (N02), N01; N03 (08/01/2022)
+ Tài liệu đã có;
Phân tích lại phần cứng của chip:
Port A, B,C,D
Port A (portA, portE)
Có nhiều chân giao tiếp đa chức năng; ví dụ ở portA có
RA0/AN0 chúng ta có thể khai thác ở 3 góc độ
+ là đầu vào số
+ là đầu ra số
+ là đầu vào tương tự (tris (cho phép là đầu vào), thanh
ghi điều khiển adc)
Viết chương trình MPLABX, dịch OK không báo lỗi,
vì khi viết thiếu lệnh, nhưng đúng cú pháp, biên dịch
được. Sau đó chúng ta mô phỏng trên proteus nó chạy
không theo ý tưởng ban đầu, không phản ứng, không báo
lỗi.
Khi viết chương trình có nhiều project cùng mở một
lúc trên MPLABX, biên dịch: (nhiều khi không dịch cái
project mà ta đang triển khai, mà dịch project bên cạnh;
thậm trí dịch không báo lỗi, bạn kiểm tra code chương
trình, thấy không sai ở đâu.
Trong proteus, chúng ta cài đặt tần số cho chip khi
nạp chương trình, tần số cho thạch anh chưa đúng với tần
số khai báo khi code chương trình nhúng.
Các chân đa chức năng thì nó có thanh ghi bên trong
để điều khiển nó.
+ Đặt bài toán (đề bài), phân tích, thiết kế phần cứng,
lưu đồ thuật toán, code chương trình, mô phỏng proteus
(cho một vài kịch bản)). Dán sang word.
+ Thành thạo I/O số, chính là các bài toán logic.
(TRIS, PORT, &&, &, ||, bổ sung thêm các lệnh logic
bằng C, các toán tử so sánh, AND, OR, NOR, NOT,
XOR).
Cài đặt MPLABx
Tạo 1 project
Thử 1 bài LED,
Hiểu,
Điều khiển 2LED
Cần I/O;

Giả sử có 1 CB bên ngoài (1/0) đọc CB này, nếu


CB=1 thì bật,,,. Nếu CB=0 thì tắt..
Hai CB, (1/0), kiểm tra trạng trạng thái của 2 CB, nếu
CB1=1 và CB2=1, thì bật 2 quạt, nếu CB1=1 hoặc CB2=
thì bật bật 1 quạt; nếu CB1=0 và CB2=0 thì tắt hết quạt.
+ phát triển ghép nối với DAC0808 (8bits) với ý
tưởng điều khiển theo biên độ xung
Tiêt kiệm PORT, sử dụng thêm đệm số liệu 1 chiều
74LS273

Ngoài ra chúng ta có thể sử dụng thêm giải mã, mở


rộng I/O. (74LS138, vào 3 ra 8)
Giải lao 15’
Nhiệm vụ: tự cho bài toán về logic, để hình thành các
bài tập, triển khai và viết. (hoặc tham khảo những chủ đề
đã gợi ý).
/// Kết thúc phần I/O số////
+ ADC,….
11/01/2022 _N01_ADC, mục đích đo lường
Chú ý 4 thanh ghi:
ADRESH, ADRESL,ADCON0, ADCON1
Khi chế độ adc, khả năng sử dụng 8 AN?, clock tần
số/X;
Cách init_ADC, cách chuyển số liệu đã biến đổi thành
số vào 2 thanh ghi chứa.
Bài tập:
+ Cảm biến đo nhiệt độ LM35, đặc tính 10 mV/0C.
thiết kế mạch đo nhiệt độ và hiển thị nhiệt độ trong
dải đo 0 – 1000C.
Về thiết lập ADC,
Về chuẩn hóa tín hiệu: 1000C  1V, đầu vào ADC (0-
5V), thiết kế mạch KĐ ĐL.
(ví dụ, trong quá trình xử lý cứ 5V – 1023, vậy khi đọc
được N, suy ra số vôn tương ứng; Bất kỳ đo cái gì đó,
lúc này chỉ là một công thức chung.
Vd: 1000C – 1023
X? -N
X=N/1023*100 (độ)
10 bar – 1023
X? N
X=N/1023*10 (bar)
,…..,…
Chương trình về đo lường, chỉ viết 1 lần chuẩn (theo ta
mãi)/
(những cảm biến siêu âm, radar,… liên quan thời gian
thu/phát, tốc độ ánh sáng,… khoảng cách: không dùng
ADC được).
+ Bài tập phát triển: đo 1 kênh; đo lần lượt 8 kênh;
+ Đo, kiểm tra mức nào đó, nếu thỏa mãn làm gì đó, nếu
không thỏa mãn ,…
+ Bài toán bật quạt (đã đặt vấn đề I/O số);
Chuyển sang tương tự, so sánh được rất nhiều mức:
Nếu nhiệt độ 30 < T < 32 thì bật quạt số thấp, nếu
32 <= T <=36, bật quạt số trung bình; T > 36 bật số cao
nhất, song với bài toán cũng phải có hiển thị
(LCD/LED7).
Phân tích sơ bộ bài toán: dự kiến sử dụng I/O, chốt thiết
kế phần cứng, thuật toán, code chương trình; mô phỏng
kiểm tra.

You might also like