Thông báo

Collapse
No announcement yet.

PID điều chỉnh nhiệt độ lò điện

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Các tham số PID sử dụng để điều khiển lò là dựa trên phương pháp thực nghiệm Ziegler-Nichol.

    Do phương pháp này là dựa trên quỹ đạo nghiệm nên để điều khiển chính xác, cần phải sử dụng Fuzzy Logic. Khi khối xử lý PID có khả năng tự điều chỉnh các tham số của nó thì khối này phải có thuật toán auto-tuning.

    Đây là một đề tài tốt nghiệp rất hay của ĐHBK TPHCM. Sử dụng AT89c.

    Cách đây 1 năm tôi cũng nghe 1 người bạn bên Pháp kể về 1 bộ điều khiển dùng họ 8051 cho lò xi-măng rất hiệu quả.
    Opentdoors- Thành viên của Rock'n'Roll club

    Comment


    • #32
      Nguyên văn bởi mumoi
      Chào các bạn.
      Mình đang làm về PID điều khiển nhiệt độ sử dụng AT89C51. Các bạn có thể chỉ giáo cho tôi mấy chiêu về PID được không.

      Chào.
      Chúc vui vẻ.
      Tôi lấy 1 quá trình hoạt động của 1 bộ điều khiển nhiệt độ Gerfan, có hỗ trợ "Dual-slop PID Algorithm". Tức là nhiệt độ cần điều khiển nằm giữa 2 ngưỡng trên và dưới của nhiệt độ. Đầu ra điều khiển triac sử dụng PWM, hoặc theo tần số.

      Giá trị nhiệt độ thu được thông qua đầu dò J hoặc K, khi nhiệt độ lò đạt đến ngưỡng dưới của khoảng nhiệt độ thì bắt đầu xử lý theo PID. Do đó đầu ra bộ điều khiển gồm đầu ra điều khiển triac để đốt, và đầu điều khiển quạt làm lạnh (nếu cần thiết) và đầu cảnh báo khi nhiệt độ đo vượt quá ngưỡng trên hoặc time-out.
      Opentdoors- Thành viên của Rock'n'Roll club

      Comment


      • #33
        Nguyên văn bởi thaithutrang
        Theo em thì cách anh afh đơn giản hơn...nhưng cách anh ppiicc lại hợp lý hơn đó.
        Hợp lý ở chỗ nào vậy cô bé kia? Nói anh nghe xem nào.
        AFH

        Comment


        • #34
          Nguyên văn bởi AFH
          Hợp lý ở chỗ nào vậy cô bé kia? Nói anh nghe xem nào.
          AFH
          Nghe nói con gái có giác quan thứ 6 tốt lắm
          Vẫn biết mỗi lần xa là một lần về lại...

          Comment


          • #35
            Em mượn tạm và edit lại cái giản đồ xung này của anh ChiBang, tại box "Điện tử CS" luồng "Ứng dụng uC đk công suất" để tiện phân tích

            Comment


            • #36
              Hihi, 3T về đọc lại sách rùi.
              Vẫn biết mỗi lần xa là một lần về lại...

              Comment


              • #37
                Nguyên văn bởi qmk
                Hihi, 3T về đọc lại sách rùi.
                Hihi.. anh qmk khích em để em nói à? Thế còn lâu nhé. Hihi...

                Comment


                • #38
                  Nguyên văn bởi thaithutrang
                  Em mượn tạm và edit lại cái giản đồ xung này của anh ChiBang, tại box "Điện tử CS" luồng "Ứng dụng uC đk công suất" để tiện phân tích
                  em nói là "để tiện phân tích" nhưng anh chưa thấy em phân tích. Vậy mong em phân tích cho anh biết nhé. Có thể em sai rùi đó khi nói rằng cách tính theo công suất hợp lý hơn. ha ha......
                  AFH

                  Comment


                  • #39
                    Thì em 3T định phân tích, nhưng mà phân tích một lúc thì thấy bí quá...
                    Đành về đọc lại sách.
                    qmk cũng hay bị thế.
                    Vẫn biết mỗi lần xa là một lần về lại...

                    Comment


                    • #40
                      Có thể dùng ADC 12 bit cho bộ điều khiển nhiệt độ, nhưng trong các bộ điều khiển nhiệt độ có hỗ trợ PID mà chỗ tôi đang sử dụng chỉ dùng ADC 8 bit, để điều khiển những bếp nhiệt trên dưới 300 độ C. Mà cái bộ ADC 8 bit này lại là on-chip của 83cxxx tại 11.0592MHz( lại 8051), chỉ cho 256 mức.

                      Thế mà với 8 bit nó lại điều khiển tới hơn 300 độ. Tại sao thế nhỉ ?

                      Đầu ra của nó luôn là PWM để gia nhiệt, phần chấp hành gọi là trissr cho 3 pha 400V cấp cho điện trở nhiệt. Không hề có đồng bộ hay dịch pha phiếc gì ở đây cả.
                      Opentdoors- Thành viên của Rock'n'Roll club

                      Comment


                      • #41
                        Mà hình như mọi người chưa ai biết các lò nung trong công nghiệp được đốt nóng như thế nào nhỉ. Điện trở nhiệt là cách hay gọi nôm na,chứ thực ra nó là cuộn cảm, giống như bếp dây may-so Liên Xô ấy.

                        Trong công nghiệp nặng, thì các bếp này cần đến 1 quá trình giải nhiệt, và nó rất nguy hiểm cho những ai có bệnh lý về tim mạch. Vì nó tạo ra sóng hài bậc cao, đôi lúc gây ra sự cộng hưởng làm các vật dẫn điện như các máng cáp điện, các nền máy làm bằng vật liệu dẫn điện rung bần bật.
                        Opentdoors- Thành viên của Rock'n'Roll club

                        Comment


                        • #42
                          Nếu các bạn sử dụng MATLAB/Simulink làm mô phỏng cho hệ thống điều khiển PID sẽ hiểu rõ hơn, và việc chọn các hệ số khuếch đại điều khiển Kp, Ki, Kd cũng sẽ dễ dàng hơn. Nếu dùng C/C++ nên dùng Visual Studio 6.0 trở lên để có thể lập chương trình điều khiển hoặc mô phỏng có thể hiển thị system response bằng đồ thị và có thể tạo ra giao diện với người vận hành (operator) cũng sẽ dễ dàng thay đổi các khuếch đại điều khiển Kp, Ki và Kd hơn.

                          Việc tính thành phần int(e) theo tôi có thể thực hiện bằng cách sử dụng numerical integration methods như Euler Methods, Runge-Kutta Methods, v.v... Xin tham khảo tại địa chỉ sau:

                          http://mathworld.wolfram.com/EulerForwardMethod.html

                          http://mathworld.wolfram.com/topics/ODESolving.html

                          Công thức tính thành phần vi phân các bạn đưa ra int(e)(k+1) = int(e)(k) + e(k) có lẽ chưa được chính xác lắm (theo công thức này thì sampling time luôn bằng 1 giây), mà cần phải thêm cả sampling time (h) vào công thức thì mới chính xác hơn, nghĩa là int(e)(k+1) = int(e)(k) + h*e(k) - đây chính là công thức tính tích phân theo phương pháp Euler đơn giản: cho phương trình vi phân y_dot = f(y,u,t), công thức tính tích phân:

                          y_dot(k) = f(y,u,t);
                          y(k+1) = y(k) + h*y_dot(k);

                          (thay y_dot = e(k), và y bằng int(e) thì ta sẽ có công thức tính int(e) cho thành phần tích phân của PID control). Nếu cần tính int(e) chính xác hơn có thể áp dụng các numerical methods bậc cao hơn và chính xác hơn.

                          Khi tính giá trị tín hiệu điều khiển u(k) có lẽ nên đặt giá trị giới hạn cho nó để tránh trường hợp giá trị u(k) đột nhiên tăng vọt.

                          Ai có nhu cầu tham khảo chương trình mô phỏng hệ thống điều khiển PID thì vào địa chỉ sau:

                          http://academic.amc.edu.au/~hnguyen/...ossd_2006.html

                          Download tài liệu Chapter 3. Đây là tài liệu cho một môn học về lập trình mô phỏng hệ thống điều khiển dùng MATLAB/Simulink. Các bạn có thể chuyển MATLAB codes sang các ngôn ngữ lập trình khác có lẽ không quá khó khăn. Nếu có câu hỏi hoặc trao đổi gì xin liên lạc tới địa chỉ sau:

                          kamome.seagull@gmail.com

                          H.Â.
                          Last edited by HaiAu2005; 04-03-2006, 10:12.

                          Comment


                          • #43
                            Pid điều Khiển động Cơ Ba Pha

                            Vậy các bác cho em hỏi đội tượng điều khiển của em là động cơ KDB 3 pha, điều khiển bằng phương pháp thay đổi điện áp cấp cho satato dùng van Thyis tor, thì xây dựng hàm PID như thế nào, em mới bước vào nghề nên còn gà lắm mong được sự giúp đỡ của các bác!

                            Comment


                            • #44
                              Bạn định dùng chương trình gì điều khiển? Dùng PLC điều khiển qua biến tần hay lập trình cho Ochip đưa tín hiệu ra để mở van Thyristor?

                              Comment


                              • #45
                                Nguyên văn bởi AFH Xem bài viết
                                Công thức bạn đưa ra là đúng rồi đấy. Nhưng tôi thấy bạn chưa hiểu rõ về PID vì vậy bạn nên tìm mua sách mà học PID cho cẩn thận (cái món PID này tưởng dễ chứ thực ra khó phết đấy). Còn về góc mở a thì bạn cho một biến đếm thời gian như bạn đã ghi ấy. nghĩ là góc mở 0 tương ứng với 0 và góc mở 180 độ tương ứng với 10000 us (micro giây). Giá trị trả về của bộ PID bạn cho qua bộ chặn trên và chặn dưới. Nghĩa là Umax=10000 và Umin = 0. Sau đó gán Biến đếm thời gian = U là xong.
                                Việc điều chỉnh ổn định điều khiển phải được thực hiện qua các thống số là: Hệ số khuếch đại Kp, Hằng số tích phân Ti và hắng số vi phân Td.
                                Chúc bạn thành công.
                                AFH
                                thế bạn có biết tính hay đo 3 hệ số đấy không,cái thời gian Td đấy đo được nhưng áp dụng vào công thức chưa chắc chạy được,đa phần sv toàn dò bằng tay .

                                Comment

                                Về tác giả

                                Collapse

                                mumoi Tìm hiểu thêm về mumoi

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X