|
本資源主要是STM32RCT6的步進(jìn)電機(jī)驅(qū)動(dòng)程序程序,利用A4988驅(qū)動(dòng)模塊驅(qū)動(dòng)42步進(jìn)電機(jī)轉(zhuǎn)動(dòng)任意的角度,希望可以和大家一起交流探討。
X)OS7~B}9~]UR~W1A9PZUI1.png (75.16 KB, 下載次數(shù): 43)
下載附件
2019-5-22 14:30 上傳
單片機(jī)源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "usart.h"
- #include "sys.h"
- void Delay(__IO uint32_t nCount) //簡(jiǎn)單的延時(shí)函數(shù)
- {
- for(; nCount != 0; nCount--);
- }
- /*GPIO_motornum和GPIOx用于選擇電機(jī),GPIO_direction用于選擇電機(jī)方向,dir:0為逆1為正,k為90°的倍數(shù)*/
- void motor(GPIO_TypeDef* GPIOx, uint16_t GPIO_motornum, uint16_t GPIO_direction, unsigned int dir, unsigned int k)
- {
- unsigned int i, steps;
- steps = 50*k;
- switch(dir)
- {
- case 0 : GPIO_SetBits(GPIOx,GPIO_direction); break;
- case 1 : GPIO_ResetBits(GPIOx,GPIO_direction); break;
- default : break;
- }
- for(i = 0;i < steps; i++)
- {
- GPIO_SetBits(GPIOx,GPIO_motornum);
- Delay(5000); //周期1.3ms 5000為步進(jìn)電機(jī)轉(zhuǎn)90度的周期
- GPIO_ResetBits(GPIOx,GPIO_motornum);
- Delay(5000);
- }
- Delay(9000); //延時(shí)一會(huì)
- }
- int main(void)
- {
- delay_init(); //延時(shí)函數(shù)初始化
- LED_Init(); //初始化與LED連接的硬件接口
- // while(1)
- // {
- // GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0輸出低
- // GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1輸出高
- // delay_ms(300);
- // GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0輸出高
- // GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1輸出低
- // delay_ms(300);
- // }
- // while(1)
- //{
-
- motor(GPIOC, GPIO_Pin_11,GPIO_Pin_10,1,1); //第一個(gè)1表示方向,第二個(gè)1表示旋轉(zhuǎn)90度
-
-
- //}
-
- }
復(fù)制代碼
所有資料51hei提供下載:
ALIENTEK MINISTM32 步進(jìn)電機(jī)驅(qū)動(dòng).7z
(180.93 KB, 下載次數(shù): 169)
2019-5-23 02:48 上傳
點(diǎn)擊文件名下載附件
本資源主要是STM32RCT6的步進(jìn)電機(jī)驅(qū)動(dòng)程序程序,利用A4988驅(qū)動(dòng)模塊驅(qū)動(dòng)42步進(jìn)電機(jī)轉(zhuǎn)動(dòng)任意的角度,希望可以 ... 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|