359浏览
查看: 359|回复: 0

[项目] 【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速

[复制链接]
本帖最后由 驴友花雕 于 2024-2-10 17:26 编辑

本例实验采用TT电机

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图1

本例实验采用MX1508双路马达驱动模块

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图5

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图3

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图4

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图2

MX1508双路马达驱动模块主要参数
双路H桥电机驱动,可以同时驱动两路直流电机或者1个4线两相式步进电机;
模块供电电压2V-10V;
信号端输入电压1.8-7V;
单路工作电流1.5A,峰值电流可达2.5A,低待机电流 (小于 0.1uA);
内置防共态导通电路,输入端悬空时,电机不会误动作;
内置带迟滞效应的过热保护电路 (TSD),无需担心电机堵转;
产品尺寸: 24.7215mm (长宽高),超小体积,适合组装和车载;
安装孔直径:2 mm;
重量:5g 。

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图6

PWM控制电机原理
是一种利用微处理器的数字输出来对模拟电路进行控制的技术,通过调节脉冲宽度来控制输出电压或电流,从而实现对电机转速或转向的控制。PWM的频率是指在一秒钟内,信号从高电平到低电平再回到高电平的次数,占空比是指一个脉冲周期内,高电平的时间与整个周期时间的比例。占空比越大,所得到的平均电压也就越大,电机转速就高;占空比越小,所得到的平均电压也就越小,电机转速就低。PWM可以通过H桥电路来实现电机的正反转调速,H桥电路由四个功率电子开关构成,通过控制对角的两个电子开关导通,另外两个截止,可以改变电机两端的电源极性,从而改变电机的转向。PWM还可以通过不同的占空比来控制舵机的转角,舵机的频率一般为50HZ,也就是一个20ms左右的时基脉冲,而脉冲的高电平部分一般为0.5ms-2.5ms范围,来控制舵机不同的转角。

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图10

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图11

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图9


【花雕动手做】实验七十:使用语音PWM控制TT电机的三种转速
实验开源代码

  1. #include "asr.h"
  2. extern "C"{ void * __dso_handle = 0 ;}
  3. #include "setup.h"
  4. #include "myLib/asr_event.h"
  5. uint32_t snid;
  6. //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
  7. //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
  8. //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
  9. //{speak:橙子-甜美客服,vol:20,speed:10,platform:haohaodada}
  10. //{playid:10001,voice:欢迎使用人工智能AI语音助手,用智能管家唤醒我}
  11. //{playid:10002,voice:我退下了,用智能管家唤醒我}
  12. void sys_power_on_hook(void){
  13.   vol_set(7);
  14. }
  15. void ASR_CODE()
  16. {
  17.   //{ID:500,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
  18.   if(snid == 500){
  19.   }
  20.   //{ID:501,keyword:"命令词",ASR:"最大速度",ASRTO:"电机飞快转动"}
  21.   if(snid == 501){
  22.     digital_write(0,1);
  23.     set_pwm(4,1000,50);
  24.   }
  25.   //{ID:502,keyword:"命令词",ASR:"中等速度",ASRTO:"电机中速转动"}
  26.   if(snid == 502){
  27.     digital_write(0,1);
  28.     set_pwm(4,1000,400);
  29.   }
  30.   //{ID:503,keyword:"命令词",ASR:"最小速度",ASRTO:"电机慢慢转动"}
  31.   if(snid == 503){
  32.     digital_write(0,1);
  33.     set_pwm(4,1000,800);
  34.   }
  35.   set_state_enter_wakeup(15000);
  36. }
  37. void setup()
  38. {
  39.   digital_write(0, 0);
  40.   digital_write(4, 0);
  41.   set_gpio_input(29);
  42.   set_gpio_input(1);
  43.   set_gpio_input(20);
  44. }
复制代码

生成模型与编译烧录

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图7

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图8


实验记录视频

【【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速】 https://www.bilibili.com/video/BV1tp421R7qx/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987




实验场景图

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图13

【花雕动手做】ASRPRO语音识别(65)---语音TT电机PWM转速图12



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail