在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術工控主板PWM應用于步進電機控制介紹

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-03 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

工業控制中,許多場合都可以看到電機的身影。特別是步進電機,以其精度高,運行可靠等優勢,廣泛地應用于數字控制系統中。像這一類步進電機的控制,通常都是使用的脈沖信號來實現的。當步進電機接收到一個脈沖信號,會轉動一個固定的角度,所以可以通過控制脈沖的個數來控制轉動的角度,從而實現精確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度,從而實現控制速度的目的。

英創嵌入式工控板提供了兩種控制步進電機的方法給用戶,第一種方法是使用GPIO發出脈沖來實現控制電機的目的,根據需要轉動的角度和速度,通過調用GPIO的API函數來發出相應個數和頻率的脈沖就能夠達到這一目的。但是如果控制電機的實時性要求比較高,需要達到10ms以內的精度,那么第一種方法可能就不能滿足要求了,因為控制GPIO是通過了操作系統來執行的,這樣程序就涉及到了系統調度等因素,在實時性方面肯定就不能滿足太高的需求。于是英創公司推出了另外一種實時性較高的方法,即使用PWM脈沖來控制電機。

英創工控主板EM928x系列上共有4路PWM輸出,其最高輸出頻率可達12MHz,但如果希望保證一定精 度的占空比(1%的精度),則輸出最高頻率只能到240KHz。而EM335x系列上也有4路PWM輸出,其最高輸出頻率可達50MHz,但如果希望保證一定精度的占空比(1% 的精度),則輸出最高頻率只能到1MHz。從頻率和占空比上看,應該是完全滿足控制速度的要求,但是如果要實現精確定位的功能,還需要控制脈沖的個數,所以英創公司修改了PWM脈沖驅動,在原來的基礎上增加了對PWM波個數控制和計數的功能,使應用程序能控制發出的脈沖個數,從而精確步進電機的動作。

本文以下部分將介紹這一新增加的功能以及在應用程序中的調用方法。

實現這一功能是通過利用CPU內部的計數器來記錄PWM脈沖的個數,當達到預定的值,就產生中斷將PWM脈沖停止,這樣就能夠對PWM脈沖的計數并且產生指定個數的脈沖,這一部分的功能英創公司已經在驅動中完成,用戶只需要在應用程序中通過接口調用,就可以啟用、停止計數功能,并且實時查詢脈沖數。支持這一功能的PWM波有兩路:PWM1和PWM2,能產生的最小波形數為2。對PWM的操作可歸為2種基本操,在原有的普通使能和停止功能基礎上加入了計數功能的操作,所對應的命令參數,定義如下:

#define EM9280_COUNT_START 12//啟動帶計數功能的PWM脈沖輸出
#define EM9280_COUNT_STOP 13//強制停止帶計數功能的PWM脈沖輸出

接下來來看頭文件中定義的PWM 的數據結構,包括頻率、占空比以及極性等參數:

struct pwm_config_info
{
unsigned int cmd;//= 0, 1, 2, ....
unsigned int freq;/* in Hz */
unsigned int duty;/* in % */
unsigned int polarity;
unsigned int count;
};

cmd表示指令:就是上面說的兩種操作。
freq表示輸出的脈沖頻率,單位為 Hz。Freq 的取值范圍 和板卡的最高支持頻率有關。
duty表示輸出脈沖的占空比,單位為%。
Duty的取值范圍:1 – 99。
Polarity表示輸出脈沖的極性,選擇 0 或者 1。
count是新加入的參數,表示需要生成的PWM波的個數。

進行PWM操作時,首先打開相應的設備節點文件,然后再調用 write( )函數進行 pwm 的設置、啟動計數等操作,以下為啟動計數功能的相關應用代碼:

int PWM_COUNT_Start(int fd, int freq, int duty, unsigned int count)
{
int rc;
struct pwm_config_info conf;
conf.cmd = EM9280_COUNT_START;
conf.freq = freq;
conf.duty = duty;
conf.polarity = POLARITY;
conf.count = count;
rc = write(fd, &conf, sizeof(struct pwm_config_info));
return rc;
}

這樣就只需要調用PWM_COUNT_Start()這個函數,并將參數帶入即可,我們就以產生5個占空比為1KHZ的波形為例:

int npwm = 1;
int fd;
char device[32];
unsigned int freq = 1000;
unsigned int duty = 50;
unsigned int count = 5;
sprintf( device, '/dev/em9280_pwm%d', npwm );
fd = open(device, O_RDWR);
if ( fd < 0)
{
printf('can not open /dev/em9280_pwm%d device file!\n', npwm);
return -1;
}
printf( 'Open %s\n', device );
PWM_COUNT_Start( fd, freq, duty, count );

在脈沖輸出的過程中,可以調用read函數讀取已經輸出的脈沖數,如果到達某一個值的時候需要停止輸出,就調用write( )函數進行pwm的停止,詳細的代碼如下:

int PWM_COUNT_Stop(int fd )
{
int rc;
struct pwm_config_info conf;
memset( &conf, 0, sizeof(struct pwm_config_info));
conf.cmd = EM9280_COUNT_STOP;
rc = write(fd, &conf, sizeof(struct pwm_config_info));
return rc;
}
//讀取已發送脈沖數
read(fd, &buf, sizeof(buf));
if( buf>=5 )//當輸出脈沖數到達某個值則停止
PWM_COUNT_Stop( fd );

生成5個占空比為1KHz的波形的程序運行的結果如下圖:

通過對PWM脈沖計數功能的實現,就可以對電機進行精確的控制了,詳細的代碼請參考光盤中的例程。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6100

    瀏覽量

    36273
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產主板的發展提供了廣
    的頭像 發表于 05-09 09:24 ?206次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    步進電機控制實現方法

    電機能夠實現高精度的位置控制和速度控制。本文將詳細介紹步進電機
    的頭像 發表于 01-21 16:43 ?1326次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>的<b class='flag-5'>控制</b>實現方法

    步進電機的詳解解答

    步進電機,別名脈沖馬達,是一種將電脈沖信號轉變為角位移或線位移的開環控制電機。它是現代數字程序控制系統中的主要執行元件,廣泛
    的頭像 發表于 12-29 09:41 ?921次閱讀

    如何使用PWM控制電機

    : 一、準備工作 確定電機類型 : 根據應用場景選擇合適的電機類型,如直流電機步進電機、無刷直流電機
    的頭像 發表于 11-28 16:30 ?4104次閱讀

    國產工控主板,信產業發展新引擎

    在當今科技飛速發展的時代,信產業正成為國家戰略的重要支撐。而我們的國產工控主板,以其卓越的性能和可靠的品質,為信產業的發展注入強大動力。國產工控
    的頭像 發表于 11-06 10:29 ?665次閱讀

    步進電機如何自適應控制步進電機如何細分驅動控制

    步進電機是一種將電脈沖信號轉換為角位移或線位移的電機,廣泛應用于各種自動化控制系統中。為了提高步進
    的頭像 發表于 10-23 10:04 ?1602次閱讀

    步進電機如何在加減速過程中控制技術

    步進電機是一種將電脈沖信號轉換為角位移或線位移的電機,廣泛應用于各種自動化控制系統中。在加減速過程中,
    的頭像 發表于 10-23 10:02 ?1281次閱讀

    淺談步進電機控制策略方式有哪些?

    步進電機是一種將電脈沖信號轉換為角位移或線位移的電機,廣泛應用于各種自動化控制系統中。步進
    的頭像 發表于 10-22 11:53 ?1225次閱讀

    步進電機控制技術及發展概況有哪些?

    步進電機是一種將電脈沖信號轉換為角位移或線位移的執行元件,廣泛應用于各種自動化控制系統中。步進電機
    的頭像 發表于 10-22 11:50 ?672次閱讀

    工控主板有哪些特點?

    ?工控主板用于工業控制領域的專用主板,具有以下特點: 穩定性:工控
    的頭像 發表于 10-10 08:55 ?833次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?871次閱讀

    步進電機伺服控制系統的作用

    步進電機伺服控制系統是一種精密的電機控制系統,它通過精確控制
    的頭像 發表于 09-04 09:46 ?1203次閱讀

    絲桿步進電機步進電機有什么區別?

    的線圈時,它會使電機的軸產生一個微小的旋轉,從而使得電機的位置逐步改變。這種電機廣泛應用于各種開環控制系統中,如打印機、機器人和機床等。
    的頭像 發表于 08-23 10:09 ?842次閱讀

    pwm的頻率對電機有什么影響

    PWM(脈沖寬度調制)是一種廣泛應用于電機控制領域的技術,通過調整脈沖的占空比來實現對電機的精確
    的頭像 發表于 08-08 16:12 ?7258次閱讀

    如何使用pwm實現對直流電機控制

    PWM(Pulse Width Modulation,脈沖寬度調制)是一種廣泛應用于電機控制領域的技術,通過調節脈沖的占空比來實現對
    的頭像 發表于 08-08 15:18 ?2455次閱讀
    主站蜘蛛池模板: 天天干视频网 | 久久草在线播放 | 午夜视频啪啪 | 日本福利片午夜免费观着 | 国产大乳美女挤奶视频 | 久久黄色精品视频 | 亚洲最新黄色网址 | 四虎伊人 | 在线观看日本亚洲一区 | 激情婷婷六月天 | 99精品国产第一福利网站 | 美女视频一区二区三区在线 | 日本精品一在线观看视频 | 国产精品免费久久久久影院 | 久久手机免费视频 | 伊人久久亚洲综合天堂 | 成人小视频在线 | 好爽好黄的视频 | 美女被免费视频网站九色 | 狠狠久| 四虎影城库| 天天看天天干 | 亚洲男人a天堂在线2184 | 国产亚洲精品成人一区看片 | 天天草天天草 | 精品女视频在线观看免费 | 黄色大片视频 | 色宅男看片午夜大片免费看 | 国产伦子系列视频6 | 中文字幕精品一区影音先锋 | 4虎影院在线观看 | 男人日女人视频免费看 | 性性欧美| 亚洲一区免费在线观看 | 久久思re热9一区二区三区 | 男同小黄文 | 欧美黑人换爱交换乱理伦片 | bt天堂资源 | 精品国产免费观看一区高清 | 激情文学综合网 | 97人摸人人澡人人人超一碰 |