0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)簡(jiǎn)單的步進(jìn)電機(jī)多段控制呢?

冬至子 ? 來源:皮皮黃步進(jìn)電機(jī) ? 作者:皮皮黃步進(jìn)電機(jī) ? 2023-10-26 16:38 ? 次閱讀

一、目標(biāo)功能

輸入多個(gè)目標(biāo)角度,以及每個(gè)角度對(duì)應(yīng)的速度,實(shí)現(xiàn)步進(jìn)電機(jī)的多段多速度轉(zhuǎn)動(dòng)

二、計(jì)算過程

**2.1 **簡(jiǎn)化C與n函數(shù)關(guān)系

根據(jù)上一節(jié)內(nèi)容,定時(shí)器初值與速度函數(shù)關(guān)系為

圖片

硬件系統(tǒng)確定后,angle、Xtal、X均為定值,為降低計(jì)算量,將公式中可以提前計(jì)算好的地方直接計(jì)算出來

圖片

根據(jù)硬件設(shè)置情況,step=1.8,Xtal=12000000,X=2,計(jì)算K值

圖片

2.2計(jì)算步數(shù)(step_num)與角度(angle)函數(shù)關(guān)系

圖片

三、程序代碼

//定義步進(jìn)電機(jī)轉(zhuǎn)動(dòng)段數(shù)及運(yùn)動(dòng)參數(shù)
#define para 5
unsigned int angle[5]={90,360,720,180,0}; //電機(jī)目標(biāo)轉(zhuǎn)角
unsigned int v[5]={20,60,120,60,20}; //電機(jī)速度
void main()
{ 
//計(jì)算step_num與c
 step_num=10*angle[0]/9;
 c=65536-150000/v[0];//計(jì)算V[0]對(duì)應(yīng)的定時(shí)器初值

 while(1)
 {

 }
}
//定時(shí)器0中斷程序
void time0_int() interrupt 1
{
 TH0=c/256;//重裝定時(shí)寄存器初值
 TL0=c%256;

 //低電平切換到高電平,產(chǎn)生一個(gè)脈沖
 PUL=1;
 _nop_();_nop_();nop_();nop_();
 PUL=0;

 DIR==1?n++:n--;//根據(jù)方向,判斷步數(shù)加或減

 if(n==step_num)//當(dāng)前階段完成判斷
 {
 i++;
 if(i==para)//整個(gè)運(yùn)動(dòng)階段走完
 {
 TR0=0;//電機(jī)停止
 }
 else   //計(jì)算下一階段參數(shù)
 {
 //刷新步數(shù)與速度值
 step_num=10*angle[i]/9;
 c=65536-150000/v[i];

 //判斷方向
 if(angle[i] >angle[i-1])
 DIR=1;
 else
 DIR=0;
 }
 }
}

四、總結(jié)

此種方式利用定時(shí)器精確定時(shí)能力,從而控制電機(jī)轉(zhuǎn)速,同時(shí)實(shí)現(xiàn)步進(jìn)電機(jī)的多段運(yùn)動(dòng),至此實(shí)現(xiàn)了步進(jìn)電機(jī)三個(gè)主要參數(shù)角度、速度、方向的簡(jiǎn)單協(xié)同操作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120377
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    150

    文章

    3111

    瀏覽量

    147487
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3248

    瀏覽量

    114820
  • 定時(shí)器中斷
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11189
  • 控制電機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    240

    瀏覽量

    18137
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的步進(jìn)電機(jī)控制器該怎么設(shè)計(jì)?

    步進(jìn)電機(jī)是一種完全數(shù)字化的電動(dòng)執(zhí)行機(jī)構(gòu),從原理上說,其角位移與驅(qū)動(dòng)脈沖的個(gè)數(shù)成正比,在正常情況下,步進(jìn)電機(jī)具有使用簡(jiǎn)單、運(yùn)動(dòng)精確、連續(xù)運(yùn)行無
    發(fā)表于 09-19 06:55

    如何實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的正反轉(zhuǎn)動(dòng)控制?

    前言 上一講我們已成功實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的正反轉(zhuǎn)動(dòng)控制,并簡(jiǎn)單的通過調(diào)節(jié)節(jié)拍間的延時(shí)時(shí)間實(shí)現(xiàn)
    發(fā)表于 07-08 08:30

    怎樣去實(shí)現(xiàn)STM32控制步進(jìn)電機(jī)的源程序

    怎樣去實(shí)現(xiàn)STM32控制步進(jìn)電機(jī)的源程序?求解
    發(fā)表于 12-20 06:32

    如何去實(shí)現(xiàn)TMC5160步進(jìn)電機(jī)簡(jiǎn)單轉(zhuǎn)動(dòng)

    TMC5160步進(jìn)電機(jī)有哪幾種模式?如何去實(shí)現(xiàn)TMC5160步進(jìn)電機(jī)
    發(fā)表于 12-20 07:48

    怎樣使用GPIO去實(shí)現(xiàn)步進(jìn)電機(jī)控制

    ULN2003是什么?有哪些特點(diǎn)及其功能?怎樣使用GPIO去實(shí)現(xiàn)步進(jìn)電機(jī)控制?
    發(fā)表于 02-11 07:49

    步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    論文介紹了步進(jìn)電機(jī)控制原理,利用脈沖疊加原理,以Verilog HDL 為實(shí)體設(shè)計(jì)輸入,設(shè)計(jì)并實(shí)現(xiàn)了一套集成于FPGA 內(nèi)部的步進(jìn)
    發(fā)表于 01-18 14:52 ?314次下載

    步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    論文介紹了步進(jìn)電機(jī)控制原理,利用脈沖疊加原理,以Verilog HDL為實(shí)體設(shè)計(jì)輸入,設(shè)計(jì)并實(shí)現(xiàn)了一套集成于FPGA內(nèi)部的步進(jìn)
    發(fā)表于 07-13 16:14 ?45次下載

    基于FPGA的步進(jìn)電機(jī)控制器的設(shè)計(jì)

    提出一種應(yīng)用現(xiàn)場(chǎng)可編程門陣列(FPGA)實(shí)現(xiàn)步進(jìn)電機(jī)控制器的方法。采用IP設(shè)計(jì)思想,步進(jìn)
    發(fā)表于 12-06 10:41 ?24次下載
    基于FPGA的<b class='flag-5'>多</b>軸<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器的設(shè)計(jì)

    步進(jìn)電機(jī)插補(bǔ)控制器及步進(jìn)電機(jī)運(yùn)動(dòng)控制控制方法pdf資料分享

    步進(jìn)電機(jī)插補(bǔ)控制器及步進(jìn)電機(jī)運(yùn)動(dòng)
    發(fā)表于 04-11 10:24 ?29次下載

    分析:plc是否能夠控制步進(jìn)電機(jī)

    良好的控制能力,利用其高速脈沖輸出功能或運(yùn)動(dòng)控制功能,即可實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)控制。 眾所周知,
    發(fā)表于 01-12 16:14 ?4122次閱讀

    如何使用FPGA實(shí)現(xiàn)步進(jìn)電機(jī)控制

    ,極大地減少了外圍元件的使用。同時(shí),采用V HDL 語言控制可以根據(jù)步進(jìn)電機(jī)的不同,改變模塊程序的參數(shù)就可以實(shí)現(xiàn)不同型號(hào)步進(jìn)
    發(fā)表于 02-05 11:37 ?27次下載
    如何使用FPGA<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>器

    步進(jìn)電機(jī)控制方式

    步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng)。此種控制電路設(shè)計(jì)簡(jiǎn)單,功能大,可實(shí)現(xiàn)一般 步進(jìn)
    的頭像 發(fā)表于 08-09 23:27 ?1.7w次閱讀

    簡(jiǎn)單實(shí)現(xiàn)51單片機(jī)步進(jìn)電機(jī)的驅(qū)動(dòng)

    簡(jiǎn)單實(shí)現(xiàn)51單片機(jī)步進(jìn)電機(jī)的驅(qū)動(dòng)說明:
    發(fā)表于 11-11 13:06 ?38次下載
    <b class='flag-5'>簡(jiǎn)單</b><b class='flag-5'>實(shí)現(xiàn)</b>51單片機(jī)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>的驅(qū)動(dòng)

    使用STM32簡(jiǎn)單控制TMC5160驅(qū)動(dòng)步進(jìn)電機(jī)

    使用STM32控制TMC5160驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行簡(jiǎn)單運(yùn)動(dòng)
    的頭像 發(fā)表于 09-03 18:54 ?9192次閱讀
    使用STM32<b class='flag-5'>簡(jiǎn)單</b><b class='flag-5'>控制</b>TMC5160驅(qū)動(dòng)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    步進(jìn)電機(jī)簡(jiǎn)單的驅(qū)動(dòng)方法_步進(jìn)電機(jī)控制方法

    簡(jiǎn)單步進(jìn)電機(jī)驅(qū)動(dòng)方法是單相雙極驅(qū)動(dòng)方式,也稱為雙相步進(jìn)驅(qū)動(dòng)方式。該方式只需要使用一個(gè) H橋驅(qū)動(dòng)器和一個(gè)脈沖發(fā)生器,即可實(shí)現(xiàn)
    發(fā)表于 03-08 14:21 ?1.5w次閱讀