找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 5077|回復(fù): 1
收起左側(cè)

基于pic16f1937的直流電機(jī)控制,電機(jī)驅(qū)動(dòng)為AQMD2410NS

[復(fù)制鏈接]
ID:83977 發(fā)表于 2015-6-26 13:38 | 顯示全部樓層 |閱讀模式
我用pic16f1937做了一個(gè)直流電機(jī)控制,用的是AQMD2410NS電機(jī)驅(qū)動(dòng),如圖鏈接 QQ截圖20150626104127.jpg
當(dāng)我給驅(qū)動(dòng)器使能上高電平時(shí),AI2口上低電平時(shí)電機(jī)并沒有正反轉(zhuǎn),而是非常慢的裝,接近于靜止。我用RD0~RD2控制使能和AI2,部分程序如下:
void System_Init(void)
{
OSCCON = 0b01101000;            //內(nèi)部4MHz
OSCTUNE= 0b00000000;            //出廠校準(zhǔn)
ADCON1 = 0b10110000;            //內(nèi)部Frc Vref = VDD
ADCON0 = 0b00010001;            //ADON = 1 As AN4
   
TRISA  = 0b00100000;            //RA0-RA3輸出、RA5輸入
ANSELA = 0b00100000;            //RA5 模擬輸入  
           
TRISB  = 0b00000011;            //RB0-RB3觸摸按鍵
ANSELB = 0b00000011;            //4個(gè)觸摸按鍵
WPUB   = 0b00000000;            //無上拉
   
IOCBP  = 0b00000000;            //關(guān)電平變化中斷
IOCBN  = 0b00000000;

TRISD  = 0b00000000;            //PORTD輸出
ANSELD = 0b00000000;            //數(shù)字輸出I/O
//WPUE   = 0b00001111;
TRISC  = 0b10011000;            //串口 I2C
   
TRISE  = 0b00000000;            //PORTE輸出
ANSELE = 0b00000000;            //數(shù)字  I/O
WPUE   = 0b00000000;            //無上拉

LATA  = 0x00;
LATB  = 0x00;
LATC  = 0x00;
LATD  = 0x00;
LATE  = 0x00;

PORTDbits.RD0=0;//使能初始化為0
PORTDbits.RD1=0;//轉(zhuǎn)速控制初始化為0
PORTDbits.RD2=0;//繼電器初始化為0
}



void Cap_ISR(void)
{
KEY_Avg[Index] = Cap_Value;
if (Cap_Value < (Cap_Avg[Index] - trip[Index]))    //有鍵按下,不更新頻率平均值
{
  switch(Index)
  {
   case 0: KEY1_FLAG  = 1; LATA0 = 1;PORTDbits.RD0=1;PORTDbits.RD1=1;PORTDbits.RD2=1;break;   //CSM 0  KEY1 //LATD=0x07;//__delay_ms(10);//
   case 1: KEY2_FLAG  = 1; LATA1 = 1;PORTDbits.RD0=1;PORTDbits.RD1=0;PORTDbits.RD2=1;break;   //CSM 1  KEY2 //LATD=0x05;//__delay_ms(10);//
   default : break;//RD0使能控制口,RD1正反向控制口,RD2繼電器控制口
  }
}
else if (Cap_Value > (Cap_Avg[Index] - trip[Index] +64)) //無鍵按下,慢更新頻率平均值
{
  switch(Index)
  {
   case 0: KEY1_FLAG  = 0; LATA0 = 0;PORTDbits.RD0=0;PORTDbits.RD1=0;PORTDbits.RD2=0;break;   //CSM 0  KEY1 PORTDbits.RD0=1;PORTDbits.RD1=1
   case 1: KEY2_FLAG  = 0; LATA1 = 0;PORTDbits.RD0=0;PORTDbits.RD1=0;PORTDbits.RD2=0;break;   //CSM 1  KEY2 PORTDbits.RD0=1;PORTDbits.RD1=0  
   default : break;//D1正反向控制口,RD2繼電器控制口
  }
  if (AvgIndex < 2)       AvgIndex ++;           //更新頻率
  else                    AvgIndex = 0;
  if (AvgIndex == 2)
  {
   if(Cap_Value >= Cap_Avg[Index])
    Cap_Avg[Index] = Cap_Avg[Index]+(Cap_Value - Cap_Avg[Index])/16;
   else
    Cap_Avg[Index] = Cap_Avg[Index]-(Cap_Avg[Index] - Cap_Value)/16;
  }
}
}

評(píng)分

參與人數(shù) 1威望 +50 黑幣 +50 收起 理由
admin + 50 + 50 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:71535 發(fā)表于 2015-6-29 08:53 | 顯示全部樓層
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表