Điều khiển động cơ bước loại 2 pha đơn cực

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • black_electron
    Nhập môn đệ tử
    • Feb 2008
    • 4

    #1

    Điều khiển động cơ bước loại 2 pha đơn cực

    Chào anh em, mình tên Phúc đã từng làm đồ án về điều khiển động cơ bước qua máy tính. Mình tích luỹ được một số kinh nghiệm về vấn đề này nên nếu bạn nào có câu hỏi hay trở ngại gì thì cứ đặt câu hỏi ở đây nhe. Gửi trước cho các bạn đặc tính động cơ bước và kỹ thuật truyền thông qua cổng COM. Chúc các bạn vui vẻ !
    http://www.mediafire.com/?zymdwvyjjl3
    Last edited by black_electron; 29-11-2009, 08:56 PM.
  • NGOCNGO
    Đệ tử 1 túi
    • Oct 2008
    • 12

    #2
    Nguyên văn bởi black_electron View Post
    Chào anh em, mình tên Phúc đã từng làm đồ án về điều khiển động cơ bước qua máy tính. Mình tích luỹ được một số kinh nghiệm về vấn đề này nên nếu bạn nào có câu hỏi hay trở ngại gì thì cứ đặt câu hỏi ở đây nhe. Gửi trước cho các bạn đặc tính động cơ bước và kỹ thuật truyền thông qua cổng COM. Chúc các bạn vui vẻ !
    http://www.mediafire.com/?zymdwvyjjl3
    Em muốn điều khiển vi bước....

    Comment

    • black_electron
      Nhập môn đệ tử
      • Feb 2008
      • 4

      #3
      Xin chào bạn !
      Mình chưa hiểu ý bạn. Có phải vi bước là điều khiển nửa bước không? Nếu đúng là điều khiển nửa bước thì mình biết. Vi dụ trên 1 động cơ nhãn ghi 1.8 độ/buớc thì mình có thể điều khiển nó quay 0.9 độ/bước.

      Comment

      • hangocminh1989
        Đệ tử 6 túi
        • Apr 2009
        • 132

        #4
        nối đặt câu hỏi mà bác phúc chạy đâu mất có thấy trả lời gì đâu,hic

        Comment

        • typhuvn
          Nhập môn đệ tử
          • Apr 2009
          • 1

          #5
          phần kết nối của bạn qua rs232 đầy đủ lắm. cám ơn nha. Bạn có phần kết nối qua cổng máy in không. có gì gửu cho mình với. cám ơn nha. dia chỉ mail là minhducgalaxy@yahoo.com

          Comment

          • thuongdc1001
            Nhập môn đệ tử
            • Mar 2010
            • 1

            #6
            cho mình hỏi cái mạch điều khiển động cơ bước 2 pha như thế nào? yêu cầu là dùng mạch để điều khiển chứ không lập trình.nếu có cho mình xin, mình đang làm đề tài về cái này. mail của mình: thuongdc1001@gmail.com. thanks bạn nha.

            Comment

            • docongly86
              Nhập môn đệ tử
              • Sep 2010
              • 5

              #7
              Tôi mới học về động cơ bước, mong Phúc và anh em trên diễn đàn hướng dẫn chi tiết cách điều khiển đủ bước, nửa bước và vi bước nhu thế nao ! Mong nhận được sự giúp đỡ của anh em ! nick minh la: docongly86@yahoo.com

              Comment

              • hthang1988
                Đệ tử 1 túi
                • Apr 2009
                • 12

                #8
                Ai cÓ tÀi liỆu ĐẦy ĐỦ vỀ cƠ cẤu chẤp hÀnh khÔng??

                Comment

                • mini_2440
                  Đệ tử 1 túi
                  • Mar 2011
                  • 21

                  #9
                  đây là đoạn code viết cho động cơ bước - GIAO TIẾP VỚI máy tính , mình học từ chỗ th.DUYÊN - TT PHI LỢI NHUẬN, các bạn tham khảo nhé,

                  #INCLUDE <16F877A.H>
                  #FUSES HS
                  #USE DELAY(CLOCK = 8000000)
                  #USE RS232(BAUD = 9600 ,PARITY = N , XMIT = PIN_C6 , RCV = PIN_C7 , BITS = 9 )
                  INT8 I , J ;
                  INT16 THAMSOKHOIDONG[20] ;
                  VOID RUN(INT1 CHIEU , INT16 SOVONG , INT16 SOBUOC, INT16 TOCDO , INT16 NGHI) ;
                  #INT_RDA
                  VOID NGATTRUYENTHONG()
                  {
                  THAMSOKHOIDONG[I] = GETCH() - 48 ;
                  I++ ;
                  IF(I == 20)
                  {
                  I = 0 ;
                  RUN(THAMSOKHOIDONG[0],THAMSOKHOIDONG[1],THAMSOKHOIDONG[2],THAMSOKHOIDONG[3],THAMSOKHOIDONG[4]) ;
                  RUN(THAMSOKHOIDONG[5],THAMSOKHOIDONG[6],THAMSOKHOIDONG[7],THAMSOKHOIDONG[8],THAMSOKHOIDONG[9]) ;
                  RUN(THAMSOKHOIDONG[10],THAMSOKHOIDONG[11],THAMSOKHOIDONG[12],THAMSOKHOIDONG[13],THAMSOKHOIDONG[14]) ;
                  RUN(THAMSOKHOIDONG[15],THAMSOKHOIDONG[16],THAMSOKHOIDONG[17],THAMSOKHOIDONG[18],THAMSOKHOIDONG[19]) ;
                  }

                  }
                  VOID MAIN()
                  {
                  ENABLE_INTERRUPTS(INT_RDA) ;
                  ENABLE_INTERRUPTS(GLOBAL) ;
                  I = 0 ;
                  WHILE(TRUE)
                  {
                  OUTPUT_D(255) ;
                  DELAY_MS(20) ;
                  OUTPUT_D(0) ;
                  DELAY_MS(700) ;
                  }

                  }

                  VOID RUN(INT1 CHIEU , INT16 SOVONG , INT16 SOBUOC, INT16 TOCDO , INT16 NGHI)
                  {
                  IF(CHIEU)
                  {
                  FOR(J = 0 ; J < 50*SOVONG + SOBUOC / 4 ; J++ )
                  {
                  OUTPUT_B(1) ;
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(2);
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(4);
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(8) ;
                  DELAY_MS(7*(10 - TOCDO)) ;
                  }
                  }

                  ELSE
                  {
                  FOR(J = 0 ; J < 50*SOVONG + SOBUOC / 4 ; J++ )
                  {
                  OUTPUT_B(8) ;
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(4);
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(2);
                  DELAY_MS(7*(10 - TOCDO)) ;
                  OUTPUT_B(1) ;
                  DELAY_MS(7*(10 - TOCDO)) ;
                  }
                  }

                  OUTPUT_B(0);
                  DELAY_MS(1000*NGHI) ;
                  }

                  Comment

                  • mini_2440
                    Đệ tử 1 túi
                    • Mar 2011
                    • 21

                    #10
                    đây là đoạn code điều khiển từ vb:

                    Private Sub Form_Load()
                    With congcom
                    .CommPort = 1
                    .Settings = "9600,N,8,1"
                    .InBufferSize = 1024
                    .InputLen = 0
                    .RThreshold = 0
                    .SThreshold = 1
                    .OutBufferSize = 512
                    .InputMode = comInputModeText
                    .PortOpen = True
                    End With
                    j = 0
                    End Sub


                    Private Sub Timer1_Timer()
                    congcom.Output = Text1(j).Text
                    j = j + 1
                    If j = 20 Then
                    j = 0
                    Timer1.Enabled = False
                    Else
                    End If
                    End Sub

                    ////////////// chạy tốt - nhập thông số cho động cơ bước chạy 4 hành trình /////////////
                    ///////////// mỗi hành trình có 5 tham số khởi động [CHIỀU][SỐ VÒNG][SỐ BƯỚC][TỐC ĐÔ][THỜI GIAN DỪNG]

                    Comment

                    • mini_2440
                      Đệ tử 1 túi
                      • Mar 2011
                      • 21

                      #11
                      Cơ cấu chấp hành cho mỗi pha được thiết kế thật đơn giàn:
                      1opto -> 1irf 9630 -> một bộ nguồn máy tính.

                      Comment

                      • thegioicnc
                        Nhập môn đệ tử
                        • Mar 2011
                        • 3

                        #12
                        Nguyên văn bởi black_electron View Post
                        Xin chào bạn !
                        Mình chưa hiểu ý bạn. Có phải vi bước là điều khiển nửa bước không? Nếu đúng là điều khiển nửa bước thì mình biết. Vi dụ trên 1 động cơ nhãn ghi 1.8 độ/buớc thì mình có thể điều khiển nó quay 0.9 độ/bước.
                        Vi bước tức là quay được các bước nhỏ tùy thích. Cái này phải sử dụng IC chuyên dụng. Mạch driver tương đối phức tạp.
                        www.thegioicnc.com diễn đàn chuyên về máy CNC homemade, mô hình, robot, robocon .... do các thành viên tự nghiên cứu và chế tạo.

                        Comment

                        • minhkhoa1990
                          Nhập môn đệ tử
                          • Oct 2010
                          • 8

                          #13
                          Nguyên văn bởi mini_2440 View Post
                          đây là đoạn code viết cho động cơ bước - GIAO TIẾP VỚI máy tính , mình học từ chỗ th.DUYÊN - TT PHI LỢI NHUẬN, các bạn tham khảo nhé,

                          #INCLUDE <16F877A.H>
                          #FUSES HS
                          #USE DELAY(CLOCK = 8000000)
                          #USE RS232(BAUD = 9600 ,PARITY = N , XMIT = PIN_C6 , RCV = PIN_C7 , BITS = 9 )
                          INT8 I , J ;
                          INT16 THAMSOKHOIDONG[20] ;
                          VOID RUN(INT1 CHIEU , INT16 SOVONG , INT16 SOBUOC, INT16 TOCDO , INT16 NGHI) ;
                          #INT_RDA
                          VOID NGATTRUYENTHONG()
                          {
                          THAMSOKHOIDONG[I] = GETCH() - 48 ;
                          I++ ;
                          IF(I == 20)
                          {
                          I = 0 ;
                          RUN(THAMSOKHOIDONG[0],THAMSOKHOIDONG[1],THAMSOKHOIDONG[2],THAMSOKHOIDONG[3],THAMSOKHOIDONG[4]) ;
                          RUN(THAMSOKHOIDONG[5],THAMSOKHOIDONG[6],THAMSOKHOIDONG[7],THAMSOKHOIDONG[8],THAMSOKHOIDONG[9]) ;
                          RUN(THAMSOKHOIDONG[10],THAMSOKHOIDONG[11],THAMSOKHOIDONG[12],THAMSOKHOIDONG[13],THAMSOKHOIDONG[14]) ;
                          RUN(THAMSOKHOIDONG[15],THAMSOKHOIDONG[16],THAMSOKHOIDONG[17],THAMSOKHOIDONG[18],THAMSOKHOIDONG[19]) ;
                          }

                          }
                          VOID MAIN()
                          {
                          ENABLE_INTERRUPTS(INT_RDA) ;
                          ENABLE_INTERRUPTS(GLOBAL) ;
                          I = 0 ;
                          WHILE(TRUE)
                          {
                          OUTPUT_D(255) ;
                          DELAY_MS(20) ;
                          OUTPUT_D(0) ;
                          DELAY_MS(700) ;
                          }

                          }

                          VOID RUN(INT1 CHIEU , INT16 SOVONG , INT16 SOBUOC, INT16 TOCDO , INT16 NGHI)
                          {
                          IF(CHIEU)
                          {
                          FOR(J = 0 ; J < 50*SOVONG + SOBUOC / 4 ; J++ )
                          {
                          OUTPUT_B(1) ;
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(2);
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(4);
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(8) ;
                          DELAY_MS(7*(10 - TOCDO)) ;
                          }
                          }

                          ELSE
                          {
                          FOR(J = 0 ; J < 50*SOVONG + SOBUOC / 4 ; J++ )
                          {
                          OUTPUT_B(8) ;
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(4);
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(2);
                          DELAY_MS(7*(10 - TOCDO)) ;
                          OUTPUT_B(1) ;
                          DELAY_MS(7*(10 - TOCDO)) ;
                          }
                          }

                          OUTPUT_B(0);
                          DELAY_MS(1000*NGHI) ;
                          }
                          FOR(J = 0 ; J < 50*SOVONG + SOBUOC / 4 ; J++ )
                          DELAY_MS(7*(10 - TOCDO)) ;
                          anh ơi cho em hỏi công thức này: 50*SOVONG + SOBUOC / 4 và 7*(10 - TOCDO) là sao em ko hiểu giải thich cho em với
                          thân!

                          Comment

                          • hauf123
                            Nhập môn đệ tử
                            • Nov 2011
                            • 1

                            #14
                            e mún hỏi về mạch điều khiển động cơ bước 5 pha? e chưa biết phải làm như thế nào, a phúc chỉ giáo cho e với! Đây là mail của e: langtu_phieubac3000@yahoo.com

                            Comment

                            • tuanhu
                              Nhập môn đệ tử
                              • Mar 2013
                              • 1

                              #15
                              chào các bạn mình cug dang làm cai đồ an về dông cơ bước này đây, nhung ko biêt kết nối khối diều khiên nhu thế nào hết ak, bác Phúc có thể cho mình xin kai sơ đồ phần cứng để tham khảo với. bác gửi mail dum nha congtuan0691@gmail.com ,thank bác va moi ng nha

                              Comment

                              Working...