![]() |
|
Tài trợ cho PIC Vietnam |
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 |
|
![]() |
#1 |
Super Moderator
Tham gia ngày: May 2005
Bài gửi: 1
: |
Một trong các vấn đề cần thiết để làm việc chuyên nghiệp, đó là chuẩn hóa văn bản. Nếu văn bản được chuẩn hóa tốt, thông tin sẽ được chuyển tải thông suốt, đầy đủ, đó là điều kiện quan trọng để một ê-kíp phối hợp với nhau. Việc chuẩn hóa văn bản cũng giúp lưu trữ văn bản thuận lợi cho người sau đọc.
Trong thời gian hơn 1 tháng vừa rồi, được phân công của anh falleaf, tôi đã làm việc với một số bạn sinh viên ĐHBK TPHCM để xây dựng nhóm phát triển của PICVIETNAM. Vấn đề đầu tiên falleaf yêu cầu là cả nhóm làm việc theo một hệ thống văn bản có chuẩn. Và kinh nghiệm cho thấy rằng dù đã có sẵn một chuẩn (file WORD) rất dễ theo, nhưng ít người nhanh chóng tiếp thu và làm việc theo chuẩn được. Có thể các bạn đã đọc một bài giảng của admin falleaf, trong file .PDF, theo kiểu có định dạng khung header. Đó là chuẩn tạm thời chúng tôi dùng cho picvietnam. Việc xây dựng chuẩn văn bản như thế nào, tại sao làm như vậy, anh falleaf sẽ chia sẻ kinh nghiệm với mọi người, và cũng mong các thành viên có đóng góp trên cơ sở phê bình chuẩn văn bản này. |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: May 2005
Bài gửi: 3
: |
Em xin ủng hộ các bác và cũng mong các bác truyền đạt một ít kinh nghiệm vì xây dựng một phong cách làm việc chuyên nghiệp cũng là điều mà nhiều bạn hiện giờ đang quan tâm.
Em xin mạn phép nêu ra một câu hỏi của em, cũng nhằm phát triển tính chuyên nghiệp. Em biết các bác đều là những bậc cao thủ trong lập trình PIC hay các VDK khác nhưng xin hỏi các bác khi các bác đụng một bài toán cần phải lập trình cho VDK, PIC chẳng hạn thì các bác sẽ tiếp cận giải bài toán đó như thế nào, em muốn đề cập đến phương pháp giải quyết bài toán đó. Theo em biết thì bên Công nghệ thông tin có những môn học về phuơng pháp lập trình như TOP DOWN design,...còn trong lập trình VDK, có thể dùng những phương pháp này không ? Nếu có bác nào đã từng dùng những phương pháp này cho việc lập trình của mình thì có thể chỉ bảo cho em biết và đưa ra một ví dụ cụ thể được không ? Chúc các bác vui vẻ. |
![]() |
![]() |
![]() |
#3 | |
PIC Bang chủ
|
Trích:
Vi điều khiển - vi xử lý giống như một ngã ba đường giữa lập trình, điện tử, và điều khiển. Nếu xét riêng về bài toán lập trình cho vi điều khiển, cuối cùng, chúng ta còn lại 2 sự lựa chọn đó là tư duy theo kiểu tin học, và tư duy theo kiểu điều khiển. ngõ ra cuối cùng là gì? Vậy những ngõ vào chúng ta cần là gì? Từ đó đi sâu hơn, đó là TOP DOWN. Phương pháp BOTTOM UP, sẽ đi từ một thiết kế nhỏ nào đó, sau đó phát triển lớn dần ra. Với máy tính, hoặc các hệ thống lớn, có thể sử dụng BOTTOM UP. Nhưng với vi điều khiển, và picvietnam, chúng tôi mong muốn rằng cung cấp hết tất cả các công cụ cấp thấp của vi điều khiển. Bạn kể đi kể lại, thì tất cả các công cụ đó đâu có nhiều. Khi Có thể đưa một thí dụ sau: Bài toán điều khiển PID cho động cơ DC, giao tiếp và hiển thị trên máy tính. À, tôi phải đi lên lớp học, hẹn trả lời tiếp sau giờ học của tôi. Chúc vui.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? thay đổi nội dung bởi: falleaf, 26-06-2006 lúc 05:03 PM. |
|
![]() |
![]() |
![]() |
#4 |
PIC Bang chủ
|
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
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
|
|