Nút nhấn Switch, Thay đổi tốc độ DC + Nút nhấn, Lập trình Vi điều khiển

Nut-nhan-Switch-Dieu-khien-dong-co-theo-tung-cap-do-qua-nut-nhan-don-lap-trinh-pic
Nút nhấn Switch hay còn gọi là công tắc ON/OFF được dùng nhiều trong mạch điện lựa chọn chế độ hoặc sử dụng trong điện dân dụng, tùy theo công suất của tải mà việc lựa chọn switch phải được đảm bảo, việc lập trình switch khá đơn giản, giúp các hệ thống hoạt động ổn định, ít nhiễu, dội khi sử dụ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 Nút nhấn Switch, Thay đổi tốc độ DC + Nút nhấn

 

Blog Nút nhấn Switch, Thay đổi tốc độ DC + Nút nhấn

Đề bài nút nhấn switch:

Nut-nhan-Switch-Dieu-khien-dong-co-theo-tung-cap-do-qua-nut-nhan-don-lap-trinh-pic-de-tai

Bài giải nút nhấn switch:

Phần cứng chương trình nút nhấn switch:

  • Đề yêu cầu sử dụng 6 nút nhấn điều khiển cường độ của led đơn gồm cho cấp độ từ 0% đến 100%. Sử dụng một nút nhấn dạng switch để lựa chọn cấp độ hoạt động theo các yêu cầu của đề bài.
  • Đề yêu cầu sử dụng điều chế độ rộng xung PWM với duty thay đổi. Khi tạo xung CCP PWM nếu sử dụng hổ trợ từ phần mềm CCS hoặc từ nhà sản xuất thì chỉ có thể tạo được thông qua 2 chân CCP2 tức CCP1. Ngoài ra người lập trình vẫn có khả năng tạo xung từ bất kể chân I/O nào có thể sử dụng delay, timer0, timer1,… Theo đề chân tạo xung bắt buộc vào chân RC1 đồng nghĩa với việc tạo xung bằng CCP2 để điều khiển tốc độ quay của quạt nhằm giảm nhiệt độ hệ thống.
  • Sử dụng dao động ngoài thạch anh 10M gắn vào chân OSC1 OSC2. Khi làm phần cứng thì nhớ gắn vào.
  • Các linh kiện chính cần sử dụng tham khảo tại.
    Thông số kỹ thuậtMua Linh kiện
    Pic16F877APic16F877A
    Led đơnLed đơn
    Điện trởĐiện trở
    Nút nhấnNút nhấn
    Thạch anhThạch anh
    Led đơn 12VLed đơn 12V
    Module L298Module L298
    Động cơ DCĐộng cơ DC
    Nut-nhan-Switch-Dieu-khien-dong-co-theo-tung-cap-do-qua-nut-nhan-don-lap-trinh-pic

Phần mềm nút nhấn switch:

Khai báo thư viện tiền sử lý của nút nhấn:

  • 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 10M bằng lệnh #Fuses    hs     và    #delay(clock=10M).  
  • Đị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. 
Nut-nhan-Switch-Dieu-khien-dong-co-theo-tung-cap-do-qua-nut-nhan-don-lap-trinh-pic-khai-bao  

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 nút nhấn:

  • 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 C điều khiển tốc độ quay của động cơ tức đưa tín hiệu từ Vi điều khiển ra ngoài nên khởi tạo là 0x00. Port B nhận tín hiệu từ nút nhấn ở chân RB1 đến RB6 nên khởi tạo là 0xff
  • Khi sử dụng điều chế độ rộng xung do vi điều khiển hổ trợ thì sử dụng Timer2. Cách tính: Chu kỳ yêu cầu T=0.8ms. PR2 = 0.8ms/((1/10M)*4*16)-1 = 124. Sử dụng bộ chia 16. Nếu sử dụng bộ chia 1 hoặc 4 thì giá trị vượt 255 không thể đếm cho timer2. Duty = 0.8ms/((1/10M)*1) = 500. Tức giá trị cực đại của duty=500. Từ đó suy ra 0% đến 100% theo yêu cầu đã đặt ra.
  • Gán giá trị ban đầu cho biến và khởi tạo cấp độ 0% cho động cơ

  • Nếu Switch được gạt về ON sau đó Kiểm tra nút nhấn: Khi nhấn nút BTN_1_6  tức ngõ vào bằng 0 thì  duty=50   tức 10% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_2_7  tức ngõ vào bằng 0 thì  duty=100 tức 20% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_3_8  tức ngõ vào bằng 0 thì  duty=150 tức 30% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_4_9  tức ngõ vào bằng 0 thì  duty=200 tức 40% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_5_10 tức ngõ vào bằng 0 thì duty=550 tức 50% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_STOP tức ngõ vào bằng 0 thì duty=0   tức  0%  theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện.
  • Sau đó tiếp tục kiểm tra

  • Nếu Switch được nhả về OFF sau đó Kiểm tra nút nhấn: Khi nhấn nút BTN_1_6  tức ngõ vào bằng 0 thì  duty=300 tức 60% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_2_7  tức ngõ vào bằng 0 thì  duty=350 tức 70% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_3_8  tức ngõ vào bằng 0 thì  duty=400 tức 80% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_4_9  tức ngõ vào bằng 0 thì  duty=450 tức 90% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_5_10 tức ngõ vào bằng 0 thì duty=500 tức 100% theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện. Khi nhấn nút BTN_STOP tức ngõ vào bằng 0 thì duty=0   tức  0%  theo đúng yêu cầu của đề bài là nhấn rồi nhả mới thực hiện.
  • Sau đó khởi tạo duty theo giá trị đã được gán dựa vào từng điều kiện của nút nhấn.

Nut-nhan-Switch-Dieu-khien-dong-co-theo-tung-cap-do-qua-nut-nhan-don-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 *