Điều khiển đèn 220V, Tạo xung Timer0 5KHz + Hồng ngoại, Lập trình Pic

dieu-khien-den-220V-tao-xung-ngat-timer-5KHz-hong-ngoai-chong-trom-lap-trinh-pic
Điều khiển đèn 220V AC sử dụng vi điều khiển được ứng dụng rất rộng trong đời sống. Khi sử dụng hệ thống bật tắt tự động thông thường phải sử dụng thêm các khối cách ly để điều khiển được các tải 220V thông thường dùng Relay, Opto Triac,… giúp việc điều khiển được an toàn hơn. Điều khiển đèn 220V ứng dụng như làm lò ấp trứng, hệ thống lò sưởi, sử dụng trong phòng,….

Mua linh kiện điện tử tại Điện tử Nhật Tùng

Liên hệ làm mạch  Phone: 0967.551.477 Zalo: 0967.551.477 Email: dientunhattung@gmail.com Địa Chỉ: 171/25 Lê Văn Thọ, P8, Gò Vấp, Tp HCM Chi tiết: Nhận làm mạch và đồ án Điện tử  
Khóa học Vi điều khiển có phí Hình thức học: Video hoặc Kèm trực tiếp ===>>>>  Kích vào hình để được biết thêm chi tiết khóa học lập trình vi điều khiển online

Tải File bài giải

Pass giải nén: Huynhnhattung.com
===>>>   Nếu bạn chưa có phần mềm giải nén:

Hướng dẫn Tải và Cài đặt phần mềm giải nén Winrar

 

Video Điều khiển đèn 220V, Tạo xung Timer0 5KHz + Hồng ngoại

 

Blog Điều khiển đèn 220V, Tạo xung Timer0 5KHz + Hồng ngoại

Đề bài điều khiển đèn 220V:

dieu-khien-den-220-tao-xung-timer0-5KHz-cam-bien-quang-hong-ngoai-lap-trinh-pic-de-bai

Bài giải điều khiển đèn 220V:

Phần cứng chương trình điều khiển đèn 220V:

  • Hệ thống sử dụng thiết bị 220V vì phải phải sử dụng qua cách ly Relay. Khi sử dụng Relay phải quan tâm đến vấn đề nhiễurelay là cách ly Từ.
  • Sử dụng cảm biến quang hồng ngoại được kết nối vào chân RB0 theo yêu cầu của đề bài đưa ra.
  • Chân tạo xung 5KHz được sử dụng chân RB2 vì vậy không thể tạo xung bằng CCP PWM mà phải điều khiển bằng tín hiệu IO để điều khiển tần số phát loa cảnh báo. 
  • Nút nhấn  RST dùng để tắt hệ thống khi có tắt đèn và tắt loa.
  • Các linh kiện chính cần sử dụng tham khảo tại.
    Thông số kỹ thuật Mua Linh kiện
    Pic16F887Pic16F887
    LCD1602LCD1602
    Điện trởĐiện trở
    Nút nhấnNút nhấn
    Thạch anhThạch anh
    Led đơnLed đơn
    Relay 5V 5 Chân Hàn boardRelay 5V 5 Chân Hàn board
    Loa tạo xung 5VLoa tạo xung 5V

dieu-khien-den-220V-tao-xung-ngat-timer-5KHz-hong-ngoai-chong-trom-lap-trinh-pic

Phần mềm điều khiển đèn 220V:

Khai báo thư viện tiền sử lý của điều khiển đèn 220V:

  • Vi điều khiển hiện tại mình đan dùng là Pic16F887
  • Hiện dùng thạch anh ngoài và thạch anh ngoài khai báo 12M bằng lệnh #Fuses  hs   và  #delay(clock=12M).  
  • Định nghĩa chân: tùy theo chức năng của chân mà tên định nghĩa được bám sát vào nội dung đan thực hiện.
  • Tên khai báo biến phụ thuộc vào chức năng để khai báo cho phù hợp. 
  • Khi các biến không biết được giá trị cuối thì nên khai báo signed int32 tức khai báo biến có dấu 32bit, lúc này giá trị rất rộng không sợ bị thiếu.
dieu-khien-den-220-tao-xung-timer0-5KHz-cam-bien-quang-hong-ngoai-lap-trinh-pic-khai-bao

Chương trình con ngắt Timer0 điều khiển đèn 220V

  • Chương trình ngắt Timer0 sảy ra khi đạt giá trị tràn, theo cách tính thì mỗi lần tràn thì đạt ngưỡng 0.04ms.
  • Khi tt=1 tức cho phép chương trình tạo xung hoạt động, khi tràn khởi tạo giá trị ban đầu196 cách tính xem dưới phần chương trình chính.
  • Khi dem tăng 1 đơn vị tức tăng được 0.04ms vì vậy 0.2ms thì 40% tương ứng là 0.08ms. Nếu dem bằng 1 và 2 thì xuất ngõ ra là mức cao tính như sau 2 x 0.04ms = 0.08ms, ngược lại phần còn lại 3 x 0.04ms = 0.12ms sẽ ở mức thấp, khi vượt ngưỡng 0.2ms chu kỳ thì cho dem=0 chuẩn bị cho chu kỳ mới.
  • Ngược lại khi tt=0 thì tắt loa và cho dem=0 chuẩn bị cho quá trình đếm mới.
dieu-khien-den-220-tao-xung-timer0-5KHz-cam-bien-quang-hong-ngoai-lap-trinh-pic-ngat-timer0

Chương trình chính thực hiện toàn bộ hoạt động của vi điều khiển dùng điều khiển đèn 220V

  • Bắt đầu chương trình chính phải khởi tạo ngõ vào ra cho vi điều khiển. Một chân của vi điều khiển thì làm nhiệm vụ I/O vì thế phải khỏi tạo. Port B có hai chân ngõ vào là chân RB0 và RB3 và hai chân ngõ ra là RB1 và RB2 vì vập khởi tạo là 0x05;
  • Sử dụng timer0 để đếm chu kỳ tạo xung 0.04ms nên khai báo t0_internal và sử dụng bộ chia timer02. từ đó suy ra cách tính: 12M/4=3M sử dụng bộ chia 4 là chia của phần cứng do nhà sản xuất quy định. 3M/2=1.5M sử dụng bộ chia 2 của timer0, từ đó suy ra f = 1.5M   => T = 2/3uS. Timer0 đếm 8bit => 2^8 = 256 xung    => t0 max = 2/3uS x 256 = 512/3ms. Chọn thời gian tràn timer00.04ms    => bắt đầu đếm từ 196.
  • Khai báo ngắt timer0 gồm mã lệnh Global là cho phép toàn bộ chương trình ngắt hoạt động thường được gọi là ngắt toàn cục, khởi tạo ngắt timer0 dùng mã lệnh INT_TIMER0 cho phép ngắt timer0 hoạt động.
  • Khi có tín hiệu từ cảm biến hồng ngoại trả về thì cho tt=1. Nếu tt=1 thì bật đèn ngược lại thì tắt đèn. Kiểm tra nếu nhấn nút RST thì cho tt=0; để tắt đèn và tắt loa tạo xung trong ngắt timer0.

dieu-khien-den-220-tao-xung-timer0-5KHz-cam-bien-quang-hong-ngoai-lap-trinh-pic-chuong-trinh-chinh

Chúc các bạn có một kỳ thi thành công…!!!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *