điều khiển nhiệt độ bằng PID

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • daicaxomlieu
    Thành viên chính thức
    • May 2009
    • 47

    #1

    điều khiển nhiệt độ bằng PID

    cần pro chỉ giáo em kái,em dang làm cái đề tài điều khiển nhiệt độ bằng PID, có ai có thể chỉ em cái thuật toán lập trình được không.hoặc có code cho em càng tốt, sắp thi rùi mà viết mãi chương trình hok chay
  • Kilodeth
    Thành viên tích cực
    • May 2006
    • 253

    #2
    http://www.atmel.com/dyn/resources/p...ts/doc2558.pdf
    Đẹp từng kilomét

    Comment

    • kimhuynguyen
      Thành viên tích cực
      • Nov 2007
      • 211

      #3
      Source code:
      http://www.atmel.com/dyn/resources/p...nts/AVR221.zip
      More friends more foods

      Comment

      • gtvt45
        Thành viên tích cực
        • Apr 2007
        • 386

        #4
        Bạn có thể tham khảo thêm bài viết của mình: #25: http://dientuvietnam.net/forums/show...t=22195&page=3

        Comment

        • daicaxomlieu
          Thành viên chính thức
          • May 2009
          • 47

          #5
          thank pác GtVT45 nha.bài của bác rất hay

          Comment

          • daicaxomlieu
            Thành viên chính thức
            • May 2009
            • 47

            #6
            mà cái đề tài này của bác là đồ án tốt nghiệp à.thế mà bọn em thầy bắt làm chỉ là đồ án môn học thui

            Comment

            • daicaxomlieu
              Thành viên chính thức
              • May 2009
              • 47

              #7
              à pác gtvt45 cho em hỏi đoạn chương trình này cái
              void PID (voi)
              {
              e2 =value - tem
              e_sum = e2 +e1
              e_del = e2 -e1
              e2=e1
              duty = KP*e2 + KI*e_sum + KD/e_del
              if(duty<0) duty =0;
              if(duty>255) duty =255;
              duty =255;
              return duty;
              }
              pác cho em hỏi cái tại sao duty <0 lai cho về 0 và >255 sao lại =255 vậy và gán cho duty =255 là sao vậy pác

              Comment

              • kimhuynguyen
                Thành viên tích cực
                • Nov 2007
                • 211

                #8
                Nguyên văn bởi daicaxomlieu Xem bài viết
                mà cái đề tài này của bác là đồ án tốt nghiệp à.thế mà bọn em thầy bắt làm chỉ là đồ án môn học thui
                Đúng rồi.
                "Con hơn cha là nhà có phúc mà"
                Thế hệ sau phải giỏi hơn thế hệ trước mới được chứ.
                More friends more foods

                Comment

                • kimhuynguyen
                  Thành viên tích cực
                  • Nov 2007
                  • 211

                  #9
                  Nguyên văn bởi daicaxomlieu Xem bài viết
                  à pác gtvt45 cho em hỏi đoạn chương trình này cái
                  void PID (voi)
                  {
                  e2 =value - tem
                  e_sum = e2 +e1
                  e_del = e2 -e1
                  e2=e1
                  duty = KP*e2 + KI*e_sum + KD/e_del
                  if(duty<0) duty =0;
                  if(duty>255) duty =255;
                  duty =255;
                  return duty;
                  }
                  pác cho em hỏi cái tại sao duty <0 lai cho về 0 và >255 sao lại =255 vậy và gán cho duty =255 là sao vậy pác
                  Chương trình bạn nên để giữa [co de] và [/co de]
                  để dễ đọc.
                  (chữ code phải viết liền)

                  Ví dụ:
                  Code:
                  float caculator_PID(float temp, float KP,float  KI,float KD)
                  {
                  	e2 = value - temp;
                  	e_sum = e1+ e2;
                  	e_del = e2 - e1;
                  	e1 = e2;
                  	duty = KP*e2 + KI*e_sum + KD*e_del;
                  	if (duty < 0) duty = 0;
                  	if (duty > 255) duty = 255;            
                  	duty = 255;
                  	return duty;               		
                  }
                  More friends more foods

                  Comment

                  • daicaxomlieu
                    Thành viên chính thức
                    • May 2009
                    • 47

                    #10
                    pác giải thích hộ em đoạn chương trình đó kái

                    Comment

                    • vodanh_nb
                      Thành viên mới
                      • Mar 2010
                      • 2

                      #11
                      các bác hiểu sai đề atif tốt nghiệp và đồ án môn học rồi ,luận văn tôt nghiệp yêu cầu tinh chuyên nghiệp ,chương trình phải chính xác ,còn đồ án môn học thì yêu cầu đơn giản hơn

                      Comment

                      • vodanh_nb
                        Thành viên mới
                        • Mar 2010
                        • 2

                        #12
                        các bạn cho minh hỏi chút về lm35 .khi đo nhiệt độ từ lm35 ta có cần đưa tín hiệu qua mạch khuyếch đại không ?nếu đưa vào mạch khuyếch đại thì thiết kế như thế nào ?

                        Comment

                        • lee_nguyen
                          Thành viên tích cực
                          • Dec 2009
                          • 336

                          #13
                          Chủ thớt hướng dẫn e đoạn code này với:
                          float caculator_PID(float temp, float KP,float KI,float KD) { e2 = value - temp; e_sum = e1+ e2; e_del = e2 - e1; e1 = e2; duty = KP*e2 + KI*e_sum + KD*e_del; if (duty < 0) duty = 0; if (duty > 255) duty = 255; duty = 255; return duty; }

                          Comment

                          Về tác giả

                          Collapse

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

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

                          Collapse

                          Đang tải...