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

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

3天內不再提示

使用FPGA實現一個直流有刷電機控制器

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

一、簡介

本篇文章將介紹如何使用FPGA實現一個直流有刷電機控制器,主要包括 速度控制 和 角度控制(好像在無刷電機控制中,習慣將其稱為環,即速度環 和 角度環(位置環))。因此這是一個閉環系統,需要得到系統的反饋,實時得到電機的轉速和角度,所以需要上篇中編碼器模塊的輸出,作為控制器的反饋,通過PID進行調節。

二、控制器框圖設計

在做設計之前,最好先將功能明確下來,然后繪制簡單的流程框圖,當然這里先將程序實現完了之后,再繪制的流程框圖 ̄□ ̄||,框圖如下,主要由三大模塊組成(控制姿態就不包括在里面了),角度、速度和PID模塊,下面將一一介紹各個模塊的具體細節。

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

三、PID模塊

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

四、速度控制器

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

所以如果電機不需要轉向,那么期望速度就是外部設置的速度。

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

module controller_Speed_loop(
  input        sys_clk_i        ,    //時鐘輸入
  input        sys_rst_n_i       ,    //復位輸入


  input        c_speed_loop_en_i    ,    //速度環使能信號


  input        motor_spin_dir_i    ,    //設置旋轉方向
  input[15:0]     motor_rpm_set_i     ,    //設置速度
  input        encoder_direction_i   ,    //電機實際的運動方向
  input[15:0]     encoder_speed_i     ,    //編碼器速度


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

五、角度控制器

控制過程和速度控制過程一樣,將當前角度值和期望角度值輸入角度PID進行計算,然后將計算后的結果輸入到速度PID進行計算,得到PWM的變化值。

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

六、小結

本次實現的控制器 和 上次實現的 編碼器,共同組成了一個簡單的電機控制器,可用于對電機的速度 和 角度進行控制。

top層的控制信號如下,在速度模式下,只需要設置rmp的值,電機就可以進行轉動,而在角度模式下,需要先設置旋轉的角度值,然后在使能角度旋轉,電機就會旋轉對應的角度后,停止。

//控制信號
  .motor_mode_set_i        (   motor_mode_set       ),    //設置電機模式 2'b00 = 速度模式  2'b01 = 角度模式
  .motor_spin_dir_i        (   motor_spin_dir       ),    //電機運動方向控制 1'b0 正向  1'b1 反向
  .motor_rpm_set_i         (   motor_rpm_set        ),    //設置電機轉速 RPM
  .motor_acc_set_i         (   motor_acc_set        ),    //設置電機加速度


  .motor_angle_en_i        (   motor_angle_en       ),    //角度旋轉使能
  .motor_angle_ack_o        (   motor_angle_ack       ),    //角度旋轉應答
  .motor_angle_set_i        (   motor_angle_set       ),    //設置電機旋轉角度

本文轉載自FPGA之旅

審核編輯:湯梓紅

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

    關注

    1610

    文章

    21372

    瀏覽量

    595018
  • 控制器
    +關注

    關注

    112

    文章

    15439

    瀏覽量

    173098
  • PID
    PID
    +關注

    關注

    35

    文章

    1449

    瀏覽量

    84218
  • 無刷電機
    +關注

    關注

    57

    文章

    762

    瀏覽量

    45136
  • 直流有刷電機

    關注

    0

    文章

    40

    瀏覽量

    1435

原文標題:FPGA實現直流電機驅動(速度位置控制)

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

收藏 人收藏

    評論

    相關推薦

    伺服驅動直流通用伺服電機控制器

    直流伺服電機驅動RMC-DC36.10S1廣泛應用于醫療器械、機器人、儀器儀表、雕刻機、自動控制的教學設備,激光打標機,激光雕刻機、半
    發表于 05-11 09:30

    基于FPGA控制系統永磁無直流電機控制電路設計

    的片上可編程系統(SoPC)。這將成為下代高性能伺服控制器集成化設計的趨勢。 下面針對永磁無直流
    發表于 02-01 14:44

    FPGA控制直流電機

    本帖最后由 349060579 于 2016-6-6 11:28 編輯 首先我們先了解一下有直流電機。相信很多小伙伴小時候玩過四驅車,里面的小馬達就是
    發表于 05-28 17:14

    一個同時控制兩臺無直流電機控制系統

    新型的無直流電機,因為無直流電機的轉矩脈動較大,所以想通過兩臺
    發表于 12-21 16:00

    關于BLDC電機控制的所有信息:無傳感直流電機控制器

    了解無傳感直流電動機控制器,些示例IC以及使用此類電動機的些缺點。
    發表于 10-25 09:51

    直流電機直流電機的對比

    直流電機直流電機的對比直流
    發表于 03-16 16:08

    我的電機直流電機,配有AQMD2410NS的驅動,求推薦控制器控制

    我的電機直流電機,配有AQMD2410NS
    發表于 09-18 12:01

    如何去實現直流編碼電機的驅動狀態控制

    直流編碼電機哪幾個引腳?如何去實現直流編碼
    發表于 07-30 07:48

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

    A4962是什么?A4962無直流(BLDC)電機控制器哪些特色及優點?A4962三無
    發表于 08-13 06:19

    基于LabVIEW設計直流電機PID調試及控制助手

    基于LabVIEW的電機測試系統研究??本設計基于LabVIEW設計直流
    發表于 01-07 06:19

    直流電機的相關資料推薦

    電機往往是很好的選擇。例如便宜的電子玩具、各種風扇和汽車的電動座椅等?;镜?b class='flag-5'>直流
    發表于 02-17 06:35

    直流電機在汽車上的應用

      越來越多的電機已被應用到汽車上,選擇符合汽車等級要求的直流電機驅動,可簡化設計以及提
    發表于 03-10 10:01

    直流電機控制器相位快速匹配的方法分享

    接法能讓無刷電機正常速度運轉,且120度控制器的這6種接法里3種接法是正轉,另3種接法是反轉。60度控制器4種接法能讓無
    發表于 03-13 14:14

    基于FPGA直流電機控制器的研究與實現

    基于FPGA直流電機控制器的研究與實現。
    發表于 05-28 10:50 ?9次下載

    基于FPGA直流電機控制器的研究與實現

    基于FPGA直流電機控制器的研究與實現(現代電源技術基礎電子版楊飛)-該文檔為基于FPGA直流電機
    發表于 08-04 15:56 ?9次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>直流電機</b><b class='flag-5'>控制器</b>的研究與<b class='flag-5'>實現</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>