PIC Vietnam

Go Back   PIC Vietnam > Các Đề Tài > PIC Việt Nam - Chuyên nghiệp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC Việt Nam - Chuyên nghiệp Chúng ta sẽ thảo luận ở đây nhưng vấn đề về phương pháp nghiên cứu, cách làm việc và tổ chức công việc...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 08-12-2005, 07:45 PM   #5
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Bây giờ viết tiếp,

Khi chúng ta gặp một bài toán như thế này, một bài toán điều khiển mà nói, chỉ cần xác định ngõ vào ngõ ra của hệ thống, sau đó phân nhỏ dần. Vậy khi thiết kế bộ điều khiển, chúng ta phải làm những gì?

Chúng ta phải lấy tín hiệu ngõ vào là encoder, sau đó làm cái gì đó không cần biết, tạo ra tín hiệu ngõ ra PWM.

Như vậy, với bài toán này, chúng ta sẽ thấy, chúng ta cần đọc encoder, sau đó đưa vào độ điều khiển, giá trị ngõ ra của bộ điều khiển sẽ là một cái gì đó mà chúng ta không biết, nhưng chúng ta biết có thể đem giá trị này vào để tạo ra PWM.

Như vậy, đến buớc này, chúng ta sẽ viết một đoạn chương trình tạo PWM với một giá trị nào đó bất kỳ. Vậy chúng ta sẽ làm đoạn chương trình nhập một biến vào, và tạo ra PWM.

Như vậy, giả sử như ở bước encoder, các bạn không biết đọc encoder như thế nào, ở bước PWM các bạn không biết làm sao tạo xung PWM. Các bạn phải giải quyết thật triệt để ngay vấn đề. Có nghĩa là bằng mọi giá phải giải quyết được nó. Khoan nghĩ đến chuyện bộ điều khiển PID phức tạp như thế nào.

Trong quá trình phân tích bài toán TOP DOWN, các bạn hoàn toàn tách thành những phần nhỏ bao gồm những phần giải quyết được và không giải quyết được.

Tất cả những phần giải quyết được phải giải quyết thật triệt để.

Vd: Phần PWM các bạn sẽ thấy thêm một vấn đề, nếu xung quá nhỏ, thì động cơ không thể chạy được. Vậy thì các bạn viết luôn phần giới hạn xung. Nếu giá trị k đưa vào PWM quá nhỏ, k<k_min thì k =k_min.

Như vậy, các bạn hoàn toàn chỉ còn lại bài toán PID. Tôi không đề cập giải bài toán PID ở đây như thế nào, nhưng giả sử các bạn đã có thuật toán PID, các bạn chỉ cần đem nguyên phần thuật toán viết vào nữa là xong.

Điều này có nghĩa là gì? Hãy suy nghĩ theo phương pháp TOP DOWN trong thiết kế, và giải quyết thật triệt để những gì mình có thể làm. Từng bước từng bước một.

Một vấn đề tôi phân tích ở đây, đó là những người đi theo xu hướng suy nghĩ TOP DOWN sẽ thường đặt câu hỏi : "Tôi cần cái gì?" "Để có cái đó, tôi phải làm cái gì?". Trong khi đó, người suy nghĩ BOTTOM UP thường nghĩ: "Tôi có cái gì?" "Tôi cần phải làm gì với cái tôi có để có thẻ đạt được cái tôi cần?".

Với các phương pháp thiết kế, khoa học cũng vậy, những người suy nghĩ BOTTOM UP thường đưa ra những giải pháp sáng tạo hơn, nhưng những người suy nghĩ TOP DOWN thường suy nghĩ có tính toàn cục hơn.

Đối với những người học vi điều khiển, tôi nghĩ rằng sử dụng phương pháp TOP DOWN trong tư duy lập trình, và giải quyết ngay vấn đề gặp phải.

Khi giải quyết một vấn đề, các bạn nên đánh số các vấn đề theo phương pháp sau:

Đánh số 1: nếu vấn đề là dễ giải quyết, nằm trong hiểu biết của bạn
Đánh số 2: nếu vấn đề là dễ giải quyết, và nếu các bạn chưa rõ về cách giải quyết, nhưng biết rằng mình có thể giải quyết được, hoặc biết rằng có một tài liệu đáng tin cậy có thể hỗ trợ các bạn...
Đánh số 3: nếu vấn đề bạn không biết, nhưng có các tài liệu tham khảo, người hướng dẫn, hoặc bạn biết hướng giải quyết của nó; hoặc những vấn đề này có thể giải quyết nhưng dài dòng, phức tạp, có thể giải quyết sau những vấn đề số 2
Đánh số 4: nếu vấn đề bạn thực sự không biết hướng giải quyết, và chưa thể giải quyết được.

Khi đi bằng phương pháp TOP DOWN này, các bạn sẽ có thể đánh dấu được toàn bộ các bước cần phải giải quyết. Sau khi đánh dấu xong, các bạn giải quyết tất cả các bài toán đánh dấu theo thứ tự từ nhỏ đến lớn, không cần đi theo thứ tự bài toán.

Điều thường hay thắc mắc của những người muốn áp dụng phương pháp TOP DOWN để giải quyết vấn đề, đó là làm thế nào để có thể vạch ra các bước giải quyết, và đi sâu đến khi phân chia nhỏ được bài toán.

Có một số yêu cầu như sau:

1) Nâng tầm hiểu biết của mình bằng cách đọc nhiều sách báo, tài liệu, phương pháp tư duy. Những hiểu biết mang tính tổng quát sẽ rất có lợi cho phương pháp suy luận này.

2) Một khi không rõ phương hướng, riêng với bài toán vi điều khiển, và lập trình vi điều khiển, các bạn hoàn toàn có thể phân chia theo phương pháp xác định đâu là các ngõ vào, đâu là các ngõ ra như tôi lấy thí dụ ở trên.

Một bài toán PID mà không biết đã có bao nhiêu sinh viên phải hỏi, nhưng thực sự lập trình PID điều khiển động cơ đâu có quá khó khăn. Lập trình thuật toán đọc encoder, lập trình điều khiển PWM, cuối cùng lấy thuật toán PID bỏ vào là xong.

Rất nhiều sinh viên cứ loay hoay với PID, nhưng nếu hiểu đơn giản, PID là một bộ điều khiển, lấy ngõ vào từ encoder, và ngõ ra là PWM, thì nếu đã có encoder rồi, có PWM rồi, khi hỏi bất kỳ ai, người ta chỉ cần đưa thuật toán PID ra là lập tức hiểu và có thể giải quyết được vấn đề.

Chúc các bạn thành công
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:03 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam