秋霞午夜-乱轮视频-国产二区视频-久久综合国产-顶级毛片-欧美混交群体交-国产在线免费-久久综合99-日本熟妇毛茸茸茂密的森林-国产免费黄-草草福利影院-av小说图片-亚洲视频五区-av最新天-91中文在线观看-亚洲aaaaaaa-欧美视频xxx-毛片网站网址-99热6这里只有精品-无码人妻h动漫-亚洲射情-999国产在线-小伸进喷水网站-国产91调教-日本夜夜操-国产专区欧美专区-国产美女主播av-女人叫床高潮娇喘声录音mp3-日韩精品视频在线观看网站-亚洲国产福利视频

技術干貨!使用FPGA實現一個直流有刷電機控制器

來源:FPGA| 發布日期:2023-11-08 09:45

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

二、控制器框圖設計

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

三、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       ),    //設置電機旋轉角度




主站蜘蛛池模板: 亚洲理论片 | 拨开岳两片肥嫩的肉视频 | a级片在线观看 | 欧美大片在线看免费观看 | 西西人体大胆4444ww张筱雨 | 欧美日韩国产在线观看 | 久久久久久久久久久久久久久久久久 | 久草免费在线视频 | 国产美女在线观看 | 精品久久久久久久久久 | 欧美精产国品一二三区 | 波多野结衣av在线播放 | 丰满少妇在线观看网站 | 在线免费视频 | 亚洲色综合 | 欧美色综合 | 草草浮力影院 | 这里只有精品视频 | 91日韩| 91视频在线看 | 午夜视频在线免费观看 | 亚洲免费网站 | 韩国三级电影在线观看 | 亚洲视频在线播放 | 国精产品一二三区精华液 | 中文字幕免费观看 | 国产精品久久久久久 | 特级黄色录像 | 日韩三级视频 | 蜜臀99久久精品久久久久久软件 | 日本爱爱视频 | 日韩成人精品 | 日韩精品在线播放 | 成人免费在线 | 国产成人在线观看免费网站 | 国产在线麻豆精品观看 | 亚洲码无人客一区二区三区 | 黄色免费网站 | 无人高清电影电视剧在线观看免费 | 国产精品视频网站 | 欧美精品久久久久 | 黄色片免费观看 | 久久久久久久久久久久久久 | 中文字幕免费观看 | 中文字字幕一区二区三区四区五区 | 三妻四妾免费观看完整版 | 熟妇女人妻丰满少妇中文字幕 | 香蕉视频网站 |