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

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

QQ登錄

只需一步,快速開始

搜索
查看: 2892|回復(fù): 5
收起左側(cè)

求一個(gè)藍(lán)牙控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)角度的單片機(jī)代碼編寫思路,通過藍(lán)牙發(fā)送指令轉(zhuǎn)動(dòng)角度數(shù)

[復(fù)制鏈接]
ID:858009 發(fā)表于 2021-5-12 09:49 | 顯示全部樓層 |閱讀模式
35黑幣
由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請(qǐng)教一下大致的實(shí)現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實(shí)現(xiàn),謝謝大家

回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2021-5-13 09:13 | 顯示全部樓層
初始化系統(tǒng)

main()
{
while(1)
{
if 藍(lán)牙接收到信號(hào)
按指令轉(zhuǎn)動(dòng)角度
eidif
}
}
回復(fù)

使用道具 舉報(bào)

ID:858009 發(fā)表于 2021-5-13 10:10 | 顯示全部樓層
man1234567 發(fā)表于 2021-5-13 09:13
初始化系統(tǒng)

main()

指令轉(zhuǎn)動(dòng)角度不知道怎么控制
回復(fù)

使用道具 舉報(bào)

ID:827243 發(fā)表于 2021-5-13 10:29 | 顯示全部樓層
電機(jī)上裝個(gè)旋轉(zhuǎn)編碼器,連在IO口就可以測(cè)量角度了。
回復(fù)

使用道具 舉報(bào)

ID:883031 發(fā)表于 2021-5-13 11:15 | 顯示全部樓層
步進(jìn)電機(jī)沒接收到一個(gè)脈沖轉(zhuǎn)動(dòng)的角度是固定的(用x表示),如果你要轉(zhuǎn)動(dòng)Y角度,那么用Y/x就可以得到電機(jī)要轉(zhuǎn)動(dòng)的脈沖數(shù),給電機(jī)送相應(yīng)的脈沖即可。
回復(fù)

使用道具 舉報(bào)

ID:858009 發(fā)表于 2021-5-13 11:28 | 顯示全部樓層
cn_zhx 發(fā)表于 2021-5-13 11:15
步進(jìn)電機(jī)沒接收到一個(gè)脈沖轉(zhuǎn)動(dòng)的角度是固定的(用x表示),如果你要轉(zhuǎn)動(dòng)Y角度,那么用Y/x就可以得到電機(jī)要 ...

我嘗試了,但是把while(1)去掉就不可以,我想用藍(lán)牙控制,實(shí)現(xiàn)不了,只能用按鍵控制
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆時(shí)鐘旋轉(zhuǎn)相序表
uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //正時(shí)鐘旋轉(zhuǎn)相序表

sbit K1=P3^0;  //反轉(zhuǎn)按鍵
sbit K2=P3^1;  //正轉(zhuǎn)按鍵
sbit K3=P3^2;  //停止按鍵

uchar b,t,i,j,r;   //聲明變量

void delaynms(uint a)
{
  while(a--)
  {
                for(b=0;b<115;b++)     //1ms基準(zhǔn)延時(shí)程序
   {
                        ;
   }
  }
}
void motor_ccw(void)  //正轉(zhuǎn)函數(shù)
{
for(i=0;i<8;i++)  //旋轉(zhuǎn)4函數(shù)
{
   P1=CCW;
   delaynms(2);   //調(diào)節(jié)轉(zhuǎn)速,延時(shí)變長,轉(zhuǎn)動(dòng)速度變慢
}
}
void motor_cw(void)  //反轉(zhuǎn)函數(shù)
{
for(i=0;i<8;i++)  //旋轉(zhuǎn)控制函數(shù)
{
   P1=CW;
   delaynms(2);   //調(diào)節(jié)轉(zhuǎn)速,延時(shí)變長,轉(zhuǎn)動(dòng)速度變慢
}
}
void main(void)
{
uchar N=1;          //因?yàn)椴竭M(jìn)電機(jī)是減速步進(jìn)電機(jī),減速比的1/64 ,修改N可以改變轉(zhuǎn)動(dòng)角度大小
                      //所以N=64時(shí),步進(jìn)電機(jī)主軸轉(zhuǎn)一圈,N最小值為1。
while(1)
{
   if(K1==0)
   {
  for(r=0;r<N;r++)
  {
    motor_ccw();  //電機(jī)逆轉(zhuǎn)
  }
   }
   else if(K2==0)
   {
        for(r=0;r<N;r++)
  {
    motor_cw();    //電機(jī)反轉(zhuǎn)
  }
   }
   else
   P1=0xf0;    //電機(jī)停止
}
}      
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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