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

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

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

使用FPGA實(shí)現(xiàn)一個(gè)直流有刷電機(jī)控制器

FPGA研究院 ? 來源:FPGA之旅 ? 2023-11-08 09:30 ? 次閱讀

一、簡介

本篇文章將介紹如何使用FPGA實(shí)現(xiàn)一個(gè)直流有刷電機(jī)控制器,主要包括 速度控制 和 角度控制(好像在無刷電機(jī)控制中,習(xí)慣將其稱為環(huán),即速度環(huán) 和 角度環(huán)(位置環(huán)))。因此這是一個(gè)閉環(huán)系統(tǒng),需要得到系統(tǒng)的反饋,實(shí)時(shí)得到電機(jī)的轉(zhuǎn)速和角度,所以需要上篇中編碼器模塊的輸出,作為控制器的反饋,通過PID進(jìn)行調(diào)節(jié)。

二、控制器框圖設(shè)計(jì)

在做設(shè)計(jì)之前,最好先將功能明確下來,然后繪制簡單的流程框圖,當(dāng)然這里先將程序?qū)崿F(xiàn)完了之后,再繪制的流程框圖 ̄□ ̄||,框圖如下,主要由三大模塊組成(控制姿態(tài)就不包括在里面了),角度、速度和PID模塊,下面將一一介紹各個(gè)模塊的具體細(xì)節(jié)。

8b6d904c-7dc6-11ee-939d-92fbcf53809c.png

三、PID模塊

PID的原理在之前的文章中有提到過,就不再繼續(xù)提起了,本次實(shí)現(xiàn)的方式方式和之前實(shí)現(xiàn)的方式一樣,將PID系數(shù)擴(kuò)大100倍取整,然后相乘,將得到的結(jié)果再右移7位 加速 右移 9位,約等于除以了100。

四、速度控制器

速度控制器里面主要做期望速度的輸出和電機(jī)運(yùn)動(dòng)方向切換的控制。期望速度主要由外部輸入和方向切換來控制,如果說需要進(jìn)行方向切換的話,為了保護(hù)電機(jī),不能立馬進(jìn)行電機(jī)的轉(zhuǎn)向,而要等待速度降低到安全速度后,再進(jìn)行方向切換。

所以如果電機(jī)不需要轉(zhuǎn)向,那么期望速度就是外部設(shè)置的速度。

如果需要轉(zhuǎn)向的話,先將期望速度設(shè)置為0,待速度降低到安全速度后,例如5RPM,就切換方向 和 將期望速度設(shè)置為外部設(shè)置的速度。

module controller_Speed_loop(
  input        sys_clk_i        ,    //時(shí)鐘輸入
  input        sys_rst_n_i       ,    //復(fù)位輸入


  input        c_speed_loop_en_i    ,    //速度環(huán)使能信號


  input        motor_spin_dir_i    ,    //設(shè)置旋轉(zhuǎn)方向
  input[15:0]     motor_rpm_set_i     ,    //設(shè)置速度
  input        encoder_direction_i   ,    //電機(jī)實(shí)際的運(yùn)動(dòng)方向
  input[15:0]     encoder_speed_i     ,    //編碼器速度


  output reg     c_speed_loop_dir_o   ,    //速度環(huán)方向輸出
  output reg[15:0]  c_speed_loop_rmp_o       //速度環(huán)RPM輸出
);

五、角度控制器

控制過程和速度控制過程一樣,將當(dāng)前角度值和期望角度值輸入角度PID進(jìn)行計(jì)算,然后將計(jì)算后的結(jié)果輸入到速度PID進(jìn)行計(jì)算,得到PWM的變化值。

這一控制回路是比較簡單的,如果說需要在角度旋轉(zhuǎn)的時(shí)候,還需要對速度進(jìn)行控制的話,就會復(fù)雜一點(diǎn)點(diǎn)(串級),等后面有需求了再進(jìn)行實(shí)現(xiàn)。

六、小結(jié)

本次實(shí)現(xiàn)的控制器 和 上次實(shí)現(xiàn)的 編碼器,共同組成了一個(gè)簡單的電機(jī)控制器,可用于對電機(jī)的速度 和 角度進(jìn)行控制。

top層的控制信號如下,在速度模式下,只需要設(shè)置rmp的值,電機(jī)就可以進(jìn)行轉(zhuǎn)動(dòng),而在角度模式下,需要先設(shè)置旋轉(zhuǎn)的角度值,然后在使能角度旋轉(zhuǎn),電機(jī)就會旋轉(zhuǎn)對應(yīng)的角度后,停止。

//控制信號
  .motor_mode_set_i        (   motor_mode_set       ),    //設(shè)置電機(jī)模式 2'b00 = 速度模式  2'b01 = 角度模式
  .motor_spin_dir_i        (   motor_spin_dir       ),    //電機(jī)運(yùn)動(dòng)方向控制 1'b0 正向  1'b1 反向
  .motor_rpm_set_i         (   motor_rpm_set        ),    //設(shè)置電機(jī)轉(zhuǎn)速 RPM
  .motor_acc_set_i         (   motor_acc_set        ),    //設(shè)置電機(jī)加速度


  .motor_angle_en_i        (   motor_angle_en       ),    //角度旋轉(zhuǎn)使能
  .motor_angle_ack_o        (   motor_angle_ack       ),    //角度旋轉(zhuǎn)應(yīng)答
  .motor_angle_set_i        (   motor_angle_set       ),    //設(shè)置電機(jī)旋轉(zhuǎn)角度

本文轉(zhuǎn)載自FPGA之旅

審核編輯:湯梓紅

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

    關(guān)注

    1620

    文章

    21509

    瀏覽量

    598869
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15877

    瀏覽量

    175335
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1466

    瀏覽量

    84831
  • 無刷電機(jī)
    +關(guān)注

    關(guān)注

    57

    文章

    800

    瀏覽量

    45470
  • 直流有刷電機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    1451

原文標(biāo)題:FPGA實(shí)現(xiàn)直流電機(jī)驅(qū)動(dòng)(速度位置控制)

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    我的電機(jī)個(gè)直流電機(jī),配有AQMD2410NS的驅(qū)動(dòng),求推薦控制器控制

    我的電機(jī)個(gè)直流電機(jī),配有AQMD2410NS
    發(fā)表于 09-18 12:01

    如何去實(shí)現(xiàn)直流編碼電機(jī)的驅(qū)動(dòng)狀態(tài)控制

    直流編碼電機(jī)哪幾個(gè)引腳?如何去實(shí)現(xiàn)直流編碼
    發(fā)表于 07-30 07:48

    A4962三無直流(BLDC)電機(jī)控制器哪些應(yīng)用

    A4962是什么?A4962無直流(BLDC)電機(jī)控制器哪些特色及優(yōu)點(diǎn)?A4962三無
    發(fā)表于 08-13 06:19

    基于LabVIEW設(shè)計(jì)個(gè)直流電機(jī)PID調(diào)試及控制助手

    基于LabVIEW的電機(jī)測試系統(tǒng)研究??本設(shè)計(jì)基于LabVIEW設(shè)計(jì)個(gè)直流
    發(fā)表于 01-07 06:19

    使用dsPIC數(shù)字信號控制器實(shí)現(xiàn)直流電機(jī)控制技術(shù)的資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用dsPIC數(shù)字信號控制器實(shí)現(xiàn)直流電機(jī)控制技術(shù)的資料說明包括了:簡述無
    發(fā)表于 04-28 08:00 ?6次下載
    使用dsPIC數(shù)字信號<b class='flag-5'>控制器</b><b class='flag-5'>實(shí)現(xiàn)</b>無<b class='flag-5'>刷</b><b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制</b>技術(shù)的資料說明

    使用FPGA實(shí)現(xiàn)直流伺服電機(jī)控制器的設(shè)計(jì)資料說明

    利用 VHDL 硬件描述語言在 FPGA 中設(shè)計(jì)直流伺服電機(jī)控制器。其含 4 路 PWM 控制器,每個(gè)
    發(fā)表于 05-11 08:00 ?13次下載
    使用<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>直流</b>伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制器</b>的設(shè)計(jì)資料說明

    基于FPGA直流電機(jī)控制器的研究與實(shí)現(xiàn)

    基于FPGA直流電機(jī)控制器的研究與實(shí)現(xiàn)。
    發(fā)表于 05-28 10:50 ?9次下載

    基于FPGA直流電機(jī)控制器的研究與實(shí)現(xiàn)

    基于FPGA直流電機(jī)控制器的研究與實(shí)現(xiàn)(現(xiàn)代電源技術(shù)基礎(chǔ)電子版楊飛)-該文檔為基于FPGA直流電機(jī)
    發(fā)表于 08-04 15:56 ?9次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制器</b>的研究與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于FPGA直流電機(jī)控制器的硬件設(shè)計(jì)

    基于FPGA直流電機(jī)控制器的硬件設(shè)計(jì)(中遠(yuǎn)通電源技術(shù)開發(fā)有限公司)-該文檔為基于FPGA直流電機(jī)控制
    發(fā)表于 09-23 13:20 ?16次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制器</b>的硬件設(shè)計(jì)

    直流電機(jī)控制器與無

    BLDC 電機(jī)控制器使用半 H 橋電路的晶體管切換電流。晶體管的數(shù)量取決于控制器激勵(lì)的相數(shù)或繞組數(shù)。三相無直流電機(jī)
    的頭像 發(fā)表于 11-21 15:31 ?2497次閱讀
    <b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制器</b>:<b class='flag-5'>有</b><b class='flag-5'>刷</b>與無<b class='flag-5'>刷</b>

    解決無直流控制器設(shè)計(jì)挑戰(zhàn)

    直流 (BLDC) 電機(jī)已成為各種電池供電和線路供電設(shè)備與電器的默認(rèn)電機(jī)選擇。與
    的頭像 發(fā)表于 12-26 10:16 ?657次閱讀
    解決無<b class='flag-5'>刷</b><b class='flag-5'>直流</b><b class='flag-5'>控制器</b>設(shè)計(jì)挑戰(zhàn)

    直流電機(jī)驅(qū)動(dòng)電路

    的基本原理、應(yīng)用領(lǐng)域、分類及其優(yōu)劣勢等,詳細(xì)探討其優(yōu)點(diǎn)和缺點(diǎn),以幫助人們更好地了解該電路的性能和特點(diǎn)。 、基本原理 直流電機(jī)驅(qū)動(dòng)電路包
    的頭像 發(fā)表于 08-29 10:06 ?2042次閱讀

    用于驅(qū)動(dòng)無電機(jī)的新型 2 A 峰值電流嵌入式電機(jī)控制器

    款新型嵌入式電機(jī)控制器,可以輸出 2 A 峰值電流,用于驅(qū)動(dòng)無直流電機(jī)(BLDC)和
    的頭像 發(fā)表于 06-24 05:55 ?354次閱讀
    用于驅(qū)動(dòng)無<b class='flag-5'>刷</b>和<b class='flag-5'>有</b><b class='flag-5'>刷</b><b class='flag-5'>電機(jī)</b>的新型 2 A 峰值電流嵌入式<b class='flag-5'>電機(jī)</b><b class='flag-5'>控制器</b>

    直流電機(jī)控制器的工作過程

    直流電機(jī)(BLDC)控制器的工作過程是個(gè)涉及電機(jī)控制
    的頭像 發(fā)表于 09-03 10:30 ?158次閱讀

    直流電機(jī)如何控制角度

    直流電機(jī)(DC Brushed Motor)是種常見的電機(jī)類型,它通過改變電流的方向來
    的頭像 發(fā)表于 09-03 10:34 ?170次閱讀