PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ cấu chấp hành (Actuator) (http://www.picvietnam.com/forum/forumdisplay.php?f=13)
-   -   Điều khiển động cơ bước loại 2 pha đơn cực (http://www.picvietnam.com/forum/showthread.php?t=5422)

black_electron 29-11-2009 08:44 PM

Đ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

NGOCNGO 03-12-2009 04:43 PM

Trích:

Nguyên văn bởi black_electron (Post 31782)
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....

black_electron 04-12-2009 09:40 PM

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.

hangocminh1989 22-01-2010 10:38 AM

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

typhuvn 20-03-2010 11:16 PM

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

thuongdc1001 22-03-2010 08:42 PM

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.

docongly86 18-09-2010 01:07 PM

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

hthang1988 27-10-2010 06:39 PM

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

mini_2440 04-03-2011 09:48 AM

đâ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) ;
}

mini_2440 04-03-2011 09:58 AM

đâ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]

mini_2440 04-03-2011 10:04 AM

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.

thegioicnc 04-03-2011 07:34 PM

Trích:

Nguyên văn bởi black_electron (Post 31963)
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.

minhkhoa1990 08-08-2011 01:11 PM

Trích:

Nguyên văn bởi mini_2440 (Post 42146)
đâ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!

hauf123 10-06-2012 03:35 PM

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

tuanhu 28-03-2013 05:02 AM

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


Múi giờ GMT. Hiện tại là 02:15 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam