Thông báo

Collapse
No announcement yet.

Điều khiển vị trí động cơ Servo dùng PID ( dành cho các bạn mới bắt đầu)

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

  • Điều khiển vị trí động cơ Servo dùng PID ( dành cho các bạn mới bắt đầu)

    Chào các bạn!
    Nhớ lại bao khó khăn, lạ lẫm khi mới bắt đầu làm quen với những ứng dụng đầu tiên dùng vi xử lý trong điều khiển động cơ servo, giao tiếp máy tính v.v... Hôm nay, rãnh rỗi mình cũng post lên diễn dàn báo cáo đồ án 1(cũng may là còn giữ được ^_^) của mình khi làm điều khiển vị trí động cơ servo sử dụng thuật toán PID.
    Đây chỉ là một đồ án nhỏ, còn nhiều thiếu sót nhưng mình nghĩ có thể cần thiết cho các bạn mới bắt đầu làm quen với điều khiển, nhất là các bạn quan tâm đến điều khiển động cơ DC.
    Nếu các bạn quan tâm mình sẽ post thêm chương trình cụ thể trên vi xử lý và máy tính. ( Sơ đồ nguyên lý mạch đã mất lầu rồi, các bạn có thể xem hình)
    Attached Files
    Last edited by tri_cuong46; 29-12-2009, 08:21.
    Cường - Giải Pháp IOT Việt
    https://iotvn.vn

  • #2
    Chương trình hoàn chỉnh

    Đây là chương trình hoàn chỉnh cho máy tính hiển thị điều khiển động cơ, viết bằng VB. Và chương trình ASM cho vi xử lý
    Attached Files
    Cường - Giải Pháp IOT Việt
    https://iotvn.vn

    Comment


    • #3
      Đề tài của bạn là đếm xung từ encoder phải không? Còn của mình là vừa đém xung vừa đo tần số của xung đến. Dù sao cũng cảm ơn bạn nhiều.

      Comment


      • #4
        Nguyên văn bởi Mr_se7en Xem bài viết
        Đề tài của bạn là đếm xung từ encoder phải không? Còn của mình là vừa đém xung vừa đo tần số của xung đến. Dù sao cũng cảm ơn bạn nhiều.
        Chào bạn. Mình nghĩ đếm số xung encoder trong mỗi khoảng thời gian là T(ms) cũng có thể gọi là đo tần số được mà.
        Cường - Giải Pháp IOT Việt
        https://iotvn.vn

        Comment


        • #5
          Ngoài ra mình muốn đề cập đến một sai số nữa hay gặp trong đo lường bằng encoder tương đối đó là sai số rung. Nếu các bạn đã viết chương trình hiển thị chính xác giá trị encoder rồi, khi đó bạn xê dịch trục động cơ tiến lùi trong một khoảng rất là nhỏ bạn sẽ thấy giá trị đếm của encoder tăng(giảm) lên đều đặn nhưng trục động cơ không hề chạy tới(lùi) .
          Lý do là:
          Với cách đếm encoder là: Tại vị trí ngắt cạnh lên xung của A, nếu xung B=1 thì động cơ tiến và giá trị đếm tăng một còn nếu B=0 thì lùi và giá trị đếm giảm một. Tuy nhiên nếu là trục động cơ dao với giá trị rất bé ngay tại vị trí ngắt cạnh lên xung A thì encoder liên tục đưa xung A về vi xử lý trong khi xung B chưa hề thay đổi. Như vậy Vi xử lý sẽ hiểu nhầm là động cơ đang chạy.
          Ngoài ra còn một số lý do để encoder mất xung, nên người ta còn quan tâm tới giá trị Z, để định chuẩn lại giá trị đếm sau mỗi vòng quay động cơ, đảm bảo giảm sai số đến mức tốt nhất.
          Cường - Giải Pháp IOT Việt
          https://iotvn.vn

          Comment


          • #6
            em cũng đang làm về đề tài này. không bít anh có thể cho em mail anh không . ì có vấn đề thắc mắc thì cũng dễ liên lạc với anh.mong anh chỉ giáo cho

            Comment


            • #7
              Giúp mình về môn điện tử số với!

              Chả là mình đang muốn làm một cái mạch đèn quảng cáo. Như thế này :
              1, chỉ dùng IC số ( không vdk hay plc nhé )
              2, khung hình hình chữ nhật xung quanh có các led nhấp nháy theo một số kiểu.
              3, ở giữa hiển thị chữ gì đó ( " chúc mừng năm mới chẳng hạn )
              Bác nào giúp mình với ! hay đóng góp ý kiến cho mình cũng đươc . Thanks trước nha

              Comment


              • #8
                Nguyên văn bởi longthophi Xem bài viết
                em cũng đang làm về đề tài này. không bít anh có thể cho em mail anh không . ì có vấn đề thắc mắc thì cũng dễ liên lạc với anh.mong anh chỉ giáo cho
                uh, bạn gởi cũng được, chỉ sợ mình hiện giờ đang bận nên ít check mail lắm. Nhưng cũng hay lên mạng kiếm thông tin. Bạn cứ làm, không hiểu thì post lên diễn đàn nhé! nếu giúp được mình rất sẳn sàng.
                tri_cuong46@yahoo.com
                Last edited by tri_cuong46; 08-01-2010, 20:48.
                Cường - Giải Pháp IOT Việt
                https://iotvn.vn

                Comment


                • #9
                  anh cường ơi em nghien cưứ về chương trình vb anh viết em van chưa hiểu tại sao anh dung timer2 và một anh có thể gợi mở cho e biết về giả thuật diều khiển của anh dược không.về mạch điện em đã hoàn thành bay giờ còn viết chương trình. nhưng chưa biết hướng đi. mong anh giúp dỡ

                  Comment


                  • #10
                    anh trí cường ơi. làm sao xác định được thông số kp,ki,kd.theo phương pháp Zeigler_nichols thi dựa vào Tgh rồi dựa vào công thức mà tính ra. vấn đề là em chưa vẽ được đồ thị thì làm sao mà bít được tgh là bao nhieu. không bít hồi đó anh xác định các thông số này ra sao xin anh chỉ cho

                    Comment


                    • #11
                      Hi longthophi!
                      Thông số của PID vị trí thì không cần phải vẽ đồ thị ra đâu bạn! chỉ cần biết được giá trị ngưỡng của hệ số P khi động cơ bắt đầu dao động và chu kỳ dao động là bao nhiêu là có thể tìm được hệ số kp, ki,kd tương đối tốt. Sau đó hiệu chỉnh sơ thì chất lượng sẽ rất tốt. Chương trình sẽ hoàn chỉnh hơn nếu bạn vẽ đồ thị lên trên giao điện VB.
                      Cường - Giải Pháp IOT Việt
                      https://iotvn.vn

                      Comment


                      • #12
                        Còn về việc dùng timer2 để làm gì thì mình xin trả lời. Vì tốc độ động cơ thay đổi một cách liên tục và rất nhanh nên mình rất khó để để nhìn rõ nên mình dùng timer2 để tính giá trị trung bình để hiển thị lên cho để theo dõi. Mục đích mình đơn giản là vậy thôi!
                        Cường - Giải Pháp IOT Việt
                        https://iotvn.vn

                        Comment


                        • #13
                          mình có kit fpga spartan 3e đang cần bán . anh em có ai mua thì liên hệ với mình nhé (vansang_mta)

                          Comment


                          • #14
                            Ngoài ra có một số bạn hỏi về trình dịch cho file ASM.
                            Ở đây mình dùng chương trình pro-studio để làm trình biên dịch.
                            Các bạn phải thêm vào một file p89v51rx2.mc trong thu muc MC nơi chương trình được cài đặt.
                            Mình gởi thêm file nạp, file p89v51rx2.mc và layout mạch điều khiển chính.
                            Attached Files
                            Last edited by tri_cuong46; 25-04-2010, 00:49.
                            Cường - Giải Pháp IOT Việt
                            https://iotvn.vn

                            Comment


                            • #15
                              Không nếu điều khiển vời đông cơ servo AC thì sự dụng mạch trên được ko ? Và thay bộ PID trên bằng 1 PLC.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X