3744|6

7044

帖子

11

TA的资源

版主

楼主
 

【沁恒RISC-V内核 CH582】定时器PWM 驱动舵机 [复制链接]

 

【沁恒RISC-V内核 CH582】CH582 用固态继电器控制取暖器发热管可行性 https://bbs.eeworld.com.cn/thread-1197474-1-1.html

        我的评测作品,最后是DIY一个手机APP控制电取暖器。主要思路是改装我家的一个电取暖器,原来的取暖器是发热源是电热丝,电热加热后用风机吹出热空气,类似电吹风机的原理。现在改装的思路是用固态继电器替代手工加热开关档位,用舵机来控制风机电位器。

      前面已经用APP可以控制开关,现在准备用APP控制舵机来控制风机的电位器:

    一、在原来的APP下面增加3个按键,分别为控制舵机转到指定角度,并在微信小程序上增加发送指领的相关函数。

 二、我所用的舵机为N年前买的舵机:ES06MA,好象最大转角只有180。

1、查看资料舵机的旋转角度是由一个20ms(50Hz)周期的pwm波形来控制电机旋转角度来决定旋转多少度。要想得到50HzPWM就要用到定时器PWM。

2、翻看例程\CH583EVT\EVT\EXAM\TMR,我决定用TMR3来做:

#if 1 /* 定时器3,PWM输出 */

    GPIOB_ResetBits(GPIO_Pin_22); // 配置PWM口 PB22
    GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeOut_PP_20mA);

    TMR3_PWMInit(High_Level, PWM_Times_1);
    TMR3_PWMCycleCfg(1200000); // 周期 50Hz 20ms  具体为:60 000 000 /1 200 000 = 50
    TMR3_Disable();
    TMR3_PWMActDataWidth(600000); // 占空比 50%, 修改占空比必须暂时关闭定时器
    TMR3_Enable();

#endif

配置好后用示波器测量PB22,得到50Hz的波形:

 改写simpleProfileChangeCB接收回调函数

static void simpleProfileChangeCB(uint8_t paramID, uint8_t *pValue, uint16_t len)
{
    switch(paramID)
    {
        case SIMPLEPROFILE_CHAR1:
        {
            uint8_t newValue[SIMPLEPROFILE_CHAR1_LEN];
            tmos_memcpy(newValue, pValue, len);
            PRINT("profile ChangeCB CHAR1.. %s\n",newValue);
            if(pValue[0] == '0')
            {
                GPIOB_SetBits(GPIO_Pin_19);
            }
            else if (pValue[0] == '1') {
                GPIOB_ResetBits(GPIO_Pin_19);
            }
            else if (pValue[0] == 'a') //97 'a'
            {
                TMR3_Disable();
                TMR3_PWMActDataWidth(32000); // 0度 0.5ms
                TMR3_Enable();
            }
            else if (pValue[0] == 'b') {
                TMR3_Disable();
                TMR3_PWMActDataWidth(96000);// 1.5ms = 60,000 *1.5
                TMR3_Enable();
            }
            else if (pValue[0] == 'c'){
                TMR3_Disable();
                TMR3_PWMActDataWidth(128000); // 180 2ms 120*1000
                TMR3_Enable();
            }
            break;
        }

下载程序后就可以控制舵机的转动了。


到此为止,基本取暖器分块都调试差不多了,下一步组装测评。

最新回复

本帖最后由 lyj33 于 2022-7-15 10:34 编辑 lugl4313820 发表于 2022-7-14 20:35 你的波形没有变化了,就会一直停在那里,只有波形变化,才会转,有空去看下舵机的驱动原理。 控制多路舵机的话应该怎么控制呢?     详情 回复 发表于 2022-7-15 09:01
点赞 关注
 
 

回复
举报

5263

帖子

239

TA的资源

管理员

沙发
 

边测评,顺手还升级了下生活物品

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

2万

帖子

74

TA的资源

管理员

板凳
 

期待成品:)

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 

我这样写,为什么程序烧进去后,初始化舵机至转一下?

#if 1 /* 定时器3,PWM输出 */

    GPIOB_ResetBits(GPIO_Pin_22); // 配置PWM口 PB22
    GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeOut_PP_20mA);

    TMR3_PWMInit(High_Level, PWM_Times_1);
    TMR3_PWMCycleCfg(1200000); // 周期 50Hz 20ms  详细为60 000 000/1 200 000=50
    TMR3_Disable();
    TMR3_PWMActDataWidth(600000); // 占空比 50%, 修改占空比必须暂时关闭定时器
    TMR3_Enable();
    
    TMR3_Disable();
    TMR3_PWMCycleCfg(32000);
   TMR3_Enable();
 

点评

你的波形没有变化了,就会一直停在那里,只有波形变化,才会转,有空去看下舵机的驱动原理。  详情 回复 发表于 2022-7-14 20:35
 
 
 

回复

7044

帖子

11

TA的资源

版主

5
 
lyj33 发表于 2022-7-14 17:02 我这样写,为什么程序烧进去后,初始化舵机至转一下? #if 1 /* 定时器3,PWM输出 */     ...

你的波形没有变化了,就会一直停在那里,只有波形变化,才会转,有空去看下舵机的驱动原理。

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
本帖最后由 lyj33 于 2022-7-15 10:34 编辑
lugl4313820 发表于 2022-7-14 20:35 你的波形没有变化了,就会一直停在那里,只有波形变化,才会转,有空去看下舵机的驱动原理。

控制多路舵机的话应该怎么控制呢?

 

点评

一个IO可以控制一路呀,原理一样的。  详情 回复 发表于 2022-7-15 12:50
 
 
 

回复

7044

帖子

11

TA的资源

版主

7
 
lyj33 发表于 2022-7-15 09:01 lugl4313820 发表于 2022-7-14 20:35 你的波形没有变化了,就会一直停在那里,只有波形变化,才会转,有 ...

一个IO可以控制一路呀,原理一样的。

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表