Xin cùng trao đổi pic18f4331

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • sphinx
    Đệ tử 3 túi
    • Jul 2005
    • 47

    #16
    Break mới đúng phương pháp PWM
    Bác thử băm động cơ ở 20k xem, nếu không Break thì nó sẽ thế nào?
    PNLab Technologies
    Chuyên cung cấp mạch nạp, KIT cho ARM, PIC, AVR, 8051...
    Các loại IC, vi điều khiển, phụ kiện điện tử...
    www.pnlabvn.com - business@pnlabvn.com
    04.6285.2980
    PICKIT2 Programmer!!!

    Comment

    • namqn
      Trưởng lão PIC bang
      • Feb 2006
      • 3025

      #17
      Nguyên văn bởi bien_van_khat
      Em có 1 vấn đề thế này, ví dụ như nửa cầu bên trái điều khiển = 2 chân PWM, nửa bên phải chọn hướng. Nếu con phía dưới - phải dẫn thì trong 1 chu kỳ lúc con trái - trên dẫn motor quay, đến lúc con dưới - trái dẫn thì 2 đầu dây motor nối tắt, y như bị brake. Em ko bít có vấn đề gì, vì chưa cho chạy thử. Nhưng có lẽ thực tế cách này dường như ko hay. bác namqn góp ý dùm em nhé.
      Như sphinx đã nói, điều khiển đúng thì chúng ta cần nối tắt khi hết duty cycle.

      Vấn đề là nếu bạn không nối tắt khi hết duty cycle thì dòng điện của động cơ sẽ tìm đường khác để chạy tiếp (do điện cảm của động cơ duy trì dòng điện một cách liên tục). Hệ quả là diode ngược của khóa phía dưới của nửa cầu PWM (giả sử đang dùng MOSFET) cùng với diode ngược của khóa phía trên của nửa cầu kia sẽ tạo đường dẫn cho dòng điện động cơ.

      Sẽ có 2 trường hợp xảy ra. Động cơ nhẹ tải, do đó dòng điện trung bình nhỏ, khi đó dòng điện sẽ có thể trở về giá trị 0, và các khóa sẽ dẫn dòng điện theo chiều ngược lại cho đến khi bạn bắt đầu chu kỳ mới. Nếu động cơ nặng tải, dòng điện trung bình đủ lớn, khi đó dòng điện sẽ không về giá trị 0, các diode ngược sẽ phải làm việc cho đến khi bạn bắt đầu chu kỳ mới.

      Trong cả hai trường hợp, áp đặt vào động cơ sẽ là +V khi ở phần duty cycle, và -V ở phần còn lại của chu kỳ, thay vì +V ở phần duty cycle, và 0 ở phần còn lại của chu kỳ. Như vậy, khoảng điều khiển của bạn bị hẹp lại, và duty cycle = 50% sẽ ứng với điện áp trung bình bằng 0! (một cách lý tưởng).

      Đây không chỉ là lý thuyết, vì nó đã xảy ra khi sinh viên của tôi làm đề tài điều khiển PID cho động cơ DC cách đây khoảng 3 năm.

      Thân,
      Last edited by namqn; 10-07-2006, 11:26 PM. Lý do: viết thiếu vài chữ
      Biển học mênh mông, sức người có hạn.

      Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
      http://www.picvietnam.com/forum/showthread.php?t=1263

      Comment

      • bien_van_khat
        ...Damned...
        • Apr 2006
        • 522

        #18
        Hì cảm ơn bác namqn rất nhiều.

        Bác sphinx đừng mỉa mai em thế tội nghiệp, trước giờ em có rờ tới động cơ bao giờ đâu .
        - Xin đọc trước khi post bài

        Xin đặt code trong thẻ [ code ] [ /code ]

        Comment

        • sphinx
          Đệ tử 3 túi
          • Jul 2005
          • 47

          #19
          Nguyên văn bởi namqn

          Đây không chỉ là lý thuyết, vì nó đã xảy ra khi sinh viên của tôi làm đề tài điều khiển PID cho động cơ DC cách đây khoảng 3 năm.

          Thân,
          Anh namqn cho em hỏi tí!
          Cái đề tài điều khiển PID động cơ anh hướng dẫn ấy mà. Thực hiện mấy vòng điều khiển? dùng loại chíp nào? có tính hàm truyền động cơ không hay là chỉnh định Z-N. Anh nói rõ chút được không? Em muốn tham khảo chút thông tin
          PNLab Technologies
          Chuyên cung cấp mạch nạp, KIT cho ARM, PIC, AVR, 8051...
          Các loại IC, vi điều khiển, phụ kiện điện tử...
          www.pnlabvn.com - business@pnlabvn.com
          04.6285.2980
          PICKIT2 Programmer!!!

          Comment

          • namqn
            Trưởng lão PIC bang
            • Feb 2006
            • 3025

            #20
            Nguyên văn bởi sphinx
            Anh namqn cho em hỏi tí!
            Cái đề tài điều khiển PID động cơ anh hướng dẫn ấy mà. Thực hiện mấy vòng điều khiển? dùng loại chíp nào? có tính hàm truyền động cơ không hay là chỉnh định Z-N. Anh nói rõ chút được không? Em muốn tham khảo chút thông tin
            Cái đề tài này cậu sinh viên đó làm khi chưa nắm vững vi xử lý, cả điện tử công suất, nên chỉ làm vòng hở, dùng chip 89C51. Không tính hàm truyền cũng chẳng chỉnh định gì cả. Chỉ làm như một bài thí nghiệm nhỏ, cho phép thay đổi các hệ số P, I, D để thấy ảnh hưởng. Các hệ số được đặt từ máy tính, còn tốc độ thì được truyền về máy tính để vẽ đồ thị.

            Thân,
            Biển học mênh mông, sức người có hạn.

            Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
            http://www.picvietnam.com/forum/showthread.php?t=1263

            Comment

            • sphinx
              Đệ tử 3 túi
              • Jul 2005
              • 47

              #21
              Nguyên văn bởi namqn
              Cái đề tài này cậu sinh viên đó làm khi chưa nắm vững vi xử lý, cả điện tử công suất, nên chỉ làm vòng hở, dùng chip 89C51. Không tính hàm truyền cũng chẳng chỉnh định gì cả. Chỉ làm như một bài thí nghiệm nhỏ, cho phép thay đổi các hệ số P, I, D để thấy ảnh hưởng. Các hệ số được đặt từ máy tính, còn tốc độ thì được truyền về máy tính để vẽ đồ thị.

              Thân,

              Theo anh thì để điều khiển DC Motor đến nơi đến chốn thì cần làm những bước nào, áp dụng các phương pháp điều khiển nào? Ý em là xây dựng một hệ điều khiển DCservo như Tây nó làm từ rất lâu rồi ý. Áp dụng trong các hệ CNC cũ, hoặc tay máy.

              Hôm trước đi làm thí nghiệm CNC thấy cái tay robot 6 bậc ngon quá mà toàn điều khiển bằng động cơ PITTMAN Encoder 504 xung (loại kiếm được ngoài chợ mới hay chứ)
              PNLab Technologies
              Chuyên cung cấp mạch nạp, KIT cho ARM, PIC, AVR, 8051...
              Các loại IC, vi điều khiển, phụ kiện điện tử...
              www.pnlabvn.com - business@pnlabvn.com
              04.6285.2980
              PICKIT2 Programmer!!!

              Comment

              • falleaf
                PIC Bang chủ
                • May 2005
                • 2631

                #22
                Nên để dành những vấn đề này thảo luận trong phần điều khiển PID động cơ DC. Lúc đó sẽ có nhiều cái để nó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?

                Comment

                • scentoflove
                  Đệ tử 6 túi
                  • Mar 2006
                  • 129

                  #23
                  Em đang dùng module QEI của 4331 để đọc encoder. Dùng 2x update mode, ngắt bởi INDX
                  Khi set bit VLEM=1 (Velocity mode disabled) thì có thể dùng ngắt IC2QEI để trả về số xung encoder, ko quan tâm đến vận tốc
                  Khi set bit VLEM=0 (Velocity mode enabled) để xác định được thời gian thì ko dùng ngắt IC2QEI để trả về số xung encoder (ko xảy ra ngắt do chân INDX)
                  em nghĩ 2 mode position và velocity ko thể chạy cùng 1 lúc, ko biết có đúng ko

                  Comment

                  • scentoflove
                    Đệ tử 6 túi
                    • Mar 2006
                    • 129

                    #24
                    Em đang bị bí ở mode velocity của QEI. Theo em hiểu thì ở mode velocity timer5 set mode external sync hoặc counter, đếm thời gian giửa 2 xung của pha A. Em ko hiểu trong datasheet noi INT_IC1 xảy ra khi co xung velcap, khi đó 2 thanh ghi VELRH và VELRL lưu giá trị đếm của timer5.
                    Nhưng em ko biết xung velcap đó làm sao mà có -> ko ngắt INT_IC1 , mọi người giúp em với

                    Đoạn code em viết

                    //KHAI BAO NGAT NGOAI
                    enable_interrupts(GLOBAL);
                    enable_interrupts(INT_IC1);

                    //KHAI BAO QEI
                    QEICON=00111001;
                    setup_timer_5(T5_EXTERNAL_SYNC);

                    Comment

                    • chumeodihia
                      Đệ tử 1 túi
                      • Sep 2006
                      • 17

                      #25
                      he he mình cũng đang làm để tài điều khiển đông cơ dùng module PWM của pic8f4431 và dang nghiên cứu dùng encoder để hồi tiếp vận tốc để tính toán sai số phương pháp điều khiển.Có gì cùng thảo luận nhé.vì mình chưa biết tí gì về encoder nên mong các bạn chỉ bước đầu.hihi thanks

                      chú mèo đihia tái bút
                      thanks

                      Comment

                      • fluidmech
                        Đệ tử 2 túi
                        • Jul 2006
                        • 32

                        #26
                        Chào các bác,
                        em đọc trong datasheet cua PIC 18F4431, thay co 8 PWM, chia lam 4 cặp. Nhưng đến khi em dùng ICD2 cua batbatdieu, lập trình bằng PICC rồi burn nhưng không sử dụng được PWM 4,5,6,7. Em cũng mới bắt đầu học thôi, mong các bác chỉ dùm, em cảm ơn các bác nhiều nhiều.
                        FM
                        Cung Cấp các loại PIC chất lượng cao, giá sinh viên.
                        16,18,24,30,33F
                        liên hệ: fluidmech1@yahoo.com

                        Comment

                        • pdhvp02
                          Nhập môn đệ tử
                          • May 2007
                          • 1

                          #27
                          Em mới tìm hiểu PIC18F4431 để điều khiển động cơ. Cho hỏi các bác dày dạn kinh nghiệm là có cách nào dùng 1 con 4431 để đọc đồng thời 4 encoder (có phase A, B, Z) được không và nếu xử lý cho cả 2 chiều thuận và ngược thì làm sao?

                          Comment

                          • tinhbanso
                            Nhập môn đệ tử
                            • Nov 2006
                            • 3

                            #28
                            mình đang làm đồ án về điều khiển vi trí động cơ dùng pic18 thông qua cổng usb nhưng không có mạch và nguyên lý, điều khiển qua cổng com cũng được mình sẽ phát triển lên. bác nào có cho em. em đang đau đầu về nó. có gì gửi qua mail cho mình cũng được : dhgiang85@gmail.com. cám ơn các bác

                            Comment

                            • Hi@hi
                              Nhập môn đệ tử
                              • Oct 2007
                              • 7

                              #29
                              mode velocity timer5 set mode là inernal sync timer hoặc external sync counter. bác scentoflove xem lại datasheet nha!. tôi đã dung module này rồi đúng là tiện thật.

                              namqn: scentoflove hỏi phần này cách đây hơn 1 năm rưỡi rồi, và có lẽ đã làm xong từ lâu. Bạn để ý thông tin thời gian khi post bài nhé.
                              Last edited by namqn; 09-04-2008, 04:32 PM.

                              Comment

                              • scentoflove
                                Đệ tử 6 túi
                                • Mar 2006
                                • 129

                                #30
                                Thanks hi@hi, thật sự thì mình cũng ít dùng mode này, lúc đầu mới chơi 4431 thì tò mò sau này wen rồi thi đa số lại dùng mode position.

                                Comment

                                Working...