欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3433|回復: 10
收起左側

兩相四線步進電機(有滑臺的那種),反轉正常(滑臺移動),正轉電機振動(滑臺不動)

[復制鏈接]
ID:355325 發表于 2019-9-5 20:44 | 顯示全部樓層 |閱讀模式
兩相四線步進電機(有滑臺的那種),反轉正常(滑臺移動),正轉電機振動(滑臺不動,有時也轉并且滑臺移動的方向與反轉移動的方向一樣)

我用STM32寫的代碼
PA9 、PA12、PA11、PA15---------------------A+,A-,B+,B-
我用的L298N驅動模塊驅動的,懷疑過L298N驅動模塊壞了,換一個結果還是一樣。我有兩個同樣的步進電機,本來以為電機壞了,結果換了另一個電機結果還是一樣。記得之前我還用得挺好的呢!這幾天用怎么就不行了呢?暈乎兩天了。請大家幫幫我找找原因,謝謝了
部分主程序如下
while(1)
{
  motor2(1);
}

下面是電機驅動程序
void motor2(unsigned char derection)

{
unsigned char i;
if(derection!=0)
{
    if(derection==1)
     {
     for(i=1;i<5;i++)
     {
       switch(i)    //?????????????
      {
       case 1://A B A- B-
        PAout(8)=1;PAout(12)=1;PAout(11)=0;PAout(15)=0;delay_ms(5); //ab
       break;
       case 2:
        PAout(8)=0;PAout(12)=1;PAout(11)=1;PAout(15)=0;delay_ms(5); //a~b
       break;
       case 3:
        PAout(8)=0;PAout(12)=0;PAout(11)=1;PAout(15)=1;delay_ms(5);//a~b~
       break;
       case 4:
        PAout(8)=1;PAout(12)=0;PAout(11)=0;PAout(15)=1;delay_ms(5); //ab~
       break;
      }  //
     }
    }
   
    if(derection==2)
     {
      for(i=4;i>0;i--)
      {
        switch(i)    //?????????????
       {
        case 1:
         PAout(8)=1;PAout(12)=1;PAout(11)=0;PAout(15)=0;delay_ms(5); //ab
        break;
        case 2:
         PAout(8)=0;PAout(12)=1;PAout(11)=1;PAout(15)=0;delay_ms(5); //a~b
        break;
        case 3:
         PAout(8)=0;PAout(12)=0;PAout(11)=1;PAout(15)=1;delay_ms(5);//a~b~
        break;
        case 4:
         PAout(8)=1;PAout(12)=0;PAout(11)=0;PAout(15)=1;delay_ms(5); //ab~
        break;
       }  //
      }
    }
  }
}


回復

使用道具 舉報

ID:65956 發表于 2019-9-6 08:22 | 顯示全部樓層
PA9 、PA12、PA11、PA15---------------------A+,A-,B+,B-這個與這個是否對應PAout(8)=1;PAout(12)=1;PAout(11)=0;PAout(15)=0;delay_ms(5); //ab
回復

使用道具 舉報

ID:608261 發表于 2019-9-6 08:37 | 顯示全部樓層
換個單片機試試?
回復

使用道具 舉報

ID:425029 發表于 2019-9-6 16:31 | 顯示全部樓層
最好是不要用L298N來驅動步進電機,可以選2003或DV8912等,控制方式都比較直觀。
回復

使用道具 舉報

ID:355325 發表于 2019-9-6 17:43 | 顯示全部樓層
aking991 發表于 2019-9-6 08:22
PA9 、PA12、PA11、PA15---------------------A+,A-,B+,B-這個與這個是否對應PAout(8)=1;PAout(12)=1;PAout ...

尷尬,我打錯了把PA8打成PA9了。
回復

使用道具 舉報

ID:355325 發表于 2019-9-6 17:45 | 顯示全部樓層
aking991 發表于 2019-9-6 08:22
PA9 、PA12、PA11、PA15---------------------A+,A-,B+,B-這個與這個是否對應PAout(8)=1;PAout(12)=1;PAout ...

void motor_Init2(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
       
          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_11| GPIO_Pin_12;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
       
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}
這個是我的初始化代碼。
回復

使用道具 舉報

ID:505032 發表于 2019-9-6 20:07 | 顯示全部樓層
1.A+A-;B+B-兩相對調一下,看是否機械阻力過大。
2.如果不是看步進驅動板,對應的那路的續流管是否性能不好,一般要求除了耐壓,還要求反向恢復速度,
3.步進啟動的脈沖信號速度(準確說是頻率)不能太高,
4.接口的線必須接觸良好,電機的瞬時一般較大,接觸良好是必須的。
解決不了再聯系,,,,祝你成功
回復

使用道具 舉報

ID:355325 發表于 2019-9-7 11:08 | 顯示全部樓層
sZhou 發表于 2019-9-6 20:07
1.A+A-;B+B-兩相對調一下,看是否機械阻力過大。
2.如果不是看步進驅動板,對應的那路的續流管是否性能不 ...

解決了,謝謝你!是接口線壞了,看著是新的杜邦線,結果是壞的。
比心
回復

使用道具 舉報

ID:280202 發表于 2019-10-12 15:35 | 顯示全部樓層
杜邦線有沒有問題?
回復

使用道具 舉報

ID:616759 發表于 2019-10-14 09:47 | 顯示全部樓層
一般時序問題,因為你有一個方向能轉,說明電源和電機都沒有問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表