Buổi 1 - PWM Kết Hợp ADC - Điều Khiển Tốc Độ Động Cơ

Lee

Cố Vấn CLB
Staff member
- Tóm lược về PWM :
+ Pic16f887 có 2 chân PWM ( CCP ) ở RC1 và RC2, có 4 thanh ghi liên quan để config cho module PWM : PR2, T2CON , CCPRxL , CCPxCON ( x=1 hoặc x=2 )
+ PR2 để set chu kì PWM
+ T2CON bật hoặc tắt timer 2 ,....
+ CCPxCON =0x0C để enable module PWM (Single Output) và CCPxCON=0 để disable.
+ CCPRxL để đặt thời gian ON trong chu kì.
- Để nắm rõ chi tiết hơn , các bạn xem thêm trong datasheet (Trang 128 )
- Bài tập tuần này : Sử dụng ADC để điều chỉnh tốc độ động cơ. ( Dùng cầu H L298 )
+ Khi giá trị ADC đọc vào là 0V, động cơ chạy max speed ( thuận ) , ADC tăng dần đến 2.5V thì tốc độ giảm dần về 0. ADC từ 2.5V đến 5V thì tốc độ lại tăng dần nhưng theo chiều ngược lại.

- Trong buổi học , một số bạn hiểu bài nhưng cũng có 1 số bạn chưa hiểu lắm. Các bạn vào topic này để thảo luận thêm. Hạn chót nộp bài là 24h thứ 5 tuần sau vào mail clb.k081@gmail.com

- Schemetic L298. Các bạn dựa theo sơ đồ này để thực hiện mạch cầu H dùng L298.

- Theo dõi thông tin trên forum hoặc mail thường xuyên để chuẩn bị cho buổi học tới.

Thân !
 

tungbk

Cố Vấn CLB
Staff member
thư viện layout L298

đây là thư viện layout L298 một bạn tìm được trên dientuvietnam
 

Attachments

Lee

Cố Vấn CLB
Staff member
Chào tất cả mọi người !

Đã có bài tập nộp gửi về mail, tuy nhiên đa số vẫn còn thiếu sót vài chổ. Các bạn hãy đưa ra các thắc mắc, vướng mắc khi làm lên forum để mọi người cùng học tập và rút kinh nghiệm nhé.

Sau 24h ngày thứ 5, Lee sẽ post code mẫu cho bài tập này.

Tuần này, chúng ta tiếp tục với PWM, chỉnh sửa mạch cầu H của các bạn, áp dụng giải thuật PID điều khiển vận tốc động cơ, và giải đáp các thắc mắc liên quan. Khi đi học, các bạn nhớ mang đầy đủ mạch để thực hành ngay tại lớp ( về nhà khỏi mắc công làm lại ).

Thân!
 

Lee

Cố Vấn CLB
Staff member
Sau khi xem 1 lượt code của các bạn, Lee có 1 số nhận xét chung sau::p:p:p

- Có vài bạn chưa hiểu lắm về các thanh ghi ( config sai hoặc dư hoặc nhầm từ thanh ghi này qua thanh ghi kia ).
- Hơn 70% có phong cách code khá tốt. :o:o:o
- Nên chú thích sau mối dòng lệnh, sau này nhìn lại thì biết đường mà lần:rolleyes::rolleyes:
- ADC được sử dụng rất nhiều trong các ứng dụng -- > các bạn cố gắng thành thạo nó.
- Protues có mô phỏng động cơ và IC L298. Các bạn nên thử với nó, coi xem sao.
- Lee thấy 1 số bạn cho xuất giá trị ADC ra LCD nhưng cách viết như thế chưa tốt lắm. Mình nên làm 1 hàm con đổi số cần hiện thị ra số BCD trước , sau đó muốn hiện thị cái nào thì chỉ việc gọi Bin2BCD() và Display() là xong --> Code sẽ gọn và trong sáng hơn. Còn 1 cách khác nữa, nhanh gọn hơn nhiều, nhưng đến bài I2C anh sẽ nói.:p:p:p

Nói chung, làm nhiều thì có nhiều kinh nghiệm ! Ngọc không mài sao sáng !

Code mẫu:

- ADC-PWM điều khiển động cơ
- ADC-LCD-UART đọc điện áp hiển thị ra LCD và UART

Mọi thắc mắc, các bạn cứ post vào luồng này để mọi nguời cùng học hỏi.

P/S : Hoan nghênh tinh thần của các bạn đã gửi bài tập về. Tuy nhiên còn kha khá các bạn chưa gởi bài tập. :mad::mad::mad: Hy vọng tuần sau thì số lượng bài nộp sẽ nhiều hơn, có như thế BCN mới nắm được thực lực của các bạn. 2death rất :mad: về vụ này đấy !;)
 

tungbk

Cố Vấn CLB
Staff member
cho e hỏi làm sao đo con L298 còn sống:) không hay die :(rồi vậy ah.Mạch cầu H của e k chạy được k biết là tại sao(mong sao nó đừng đi :))
 

Huy_Nguyen

Cố Vấn CLB
uhm L298 mà chết thường là ghim nguồn động lực vào nó tự nóng, động cơ ko chạy mặc dù khi đó ko cấp xung.
để thử em có thể tháo động cơ ra, cấp mức 1 (5V) và 1 trog 2 chân PWM của cầu H và đo ngõ ra xem có volt ko, nếu ko có volt thì xem lại toàn bộ mạch có bị lỗi gì ko, nếu vẫn ko nữa thì... tiễn em lên đường rồi!
 

tungbk

Cố Vấn CLB
Staff member
Cảm ơn anh nhiều.
E enable rồi cấp áp 15Vdc vào V_motor;5vdc vào áp Vss ;sau đó áp 5v-0v vào 2 chân PWM đo ngõ ra thấy có áp mà sao nó k có hiện tượng j hết. :(
(giờ đi ngủ đã sáng thử lại lần nữa k dc thì tính tiếp 52k:))
 

ngdnhanbk

Trứng gà
Anh Tùng, mạch layout anh vẽ đã chạy chưa, em định thử làm 1 cái để điều khiển động cơ. Anh có địa chỉ email k? Em xin để gặp khó khăn gì em hỏi.

---> Không xin nick / email cá nhân kiểu như thế này tại forum. Nếu gặp rắc rối, bạn nên post lên để mọi người cùng có thể giúp đỡ. Tránh "chỉ định" một người nào đó phải đặc biệt quan tâm tới bạn nhé.
---
2death.
 
Top