1078|4

288

帖子

1

资源

一粒金砂(高级)

【AutoChips AC7801x电机demo板测评】+关键外设测试-HALL采集 [复制链接]

本帖最后由 我爱下载 于 2020-12-5 12:15 编辑

关键外设测试

——HALL接口的测试

 

 

       

  1. 硬件接口

 

 

 

 

如前述所描述,系统主板集成了一个HALL接口,允许输入电机的位置传感器信号。

 

 

 

 

2.jpg

 

 

 

 

根据数据手册和原理图中的描述,可以知道,线路板采用PWDT1作为霍尔元件的输出采集端,连接到PC6PC7PC8三个引脚。当然,还有5V电源和地。

 

 

3.jpg

 

 

  1. 软件设置    
  • PWDT模块

 

 

AC7801x控制器内部集成了PWDT外设,可以用来采集霍尔信号的输入,可以输出霍尔状态,霍尔输入信号高低电平的时间,从而求出霍尔信号的频率,占空比等信号。

 

 

4.jpg

 

 

                                              PWDT的机构框图

 

 

 

 

5.jpg

 

 

                                                    霍尔测量模式

 

 

6.jpg

 

 

                                               两种常见的Hall安装方式

 

 

 

  • 配置PWDT模块

 

 

7.jpg

 

 

 

 

8.jpg

 

 

  •      生成的初始化代码

 

 

/* PWDT1 init function */

 

 

static void ATC_PWDT1_Init(void)

 

 

{

 

 

    /* USER CODE BEGIN PWDT1_Init 0 */

 

 

    /* USER CODE END PWDT1_Init 0 */

 

 

 

 

    PWDT_ConfigType pwdtConfig;

 

 

 

 

    /* USER CODE BEGIN PWDT1_Init 1 */

 

 

 

 

    /* USER CODE END PWDT1_Init 1 */

 

 

 

 

    MSP_PWDT_Init(PWDT1);

 

 

 

 

    pwdtConfig.clkPsc = PWDT_CLK_PRESCALER_1;

 

 

 

 

    pwdtConfig.edgeType = PWDT_RISING_START_CAPTURE_ALL;

 

 

    pwdtConfig.channel = PWDT_INPUT_CH_0;

 

 

    pwdtConfig.overflowInterruptEn = ENABLE;

 

 

    pwdtConfig.readyInterruptEn = ENABLE;

 

 

    pwdtConfig.interruptEn = ENABLE;

 

 

    pwdtConfig.cmpModeEn = DISABLE;

 

 

    pwdtConfig.mode = PWDT_MEASURE_MODE;

 

 

    pwdtConfig.hallModeEn = ENABLE;

 

 

    pwdtConfig.filterPsc = PWDT_FILTER_PRESCALER_1;

 

 

    pwdtConfig.filterValue = 10;

 

 

    pwdtConfig.filterEn = ENABLE;

 

 

    pwdtConfig.callBack = PWDT1_IRQHandler_Callback;

 

 

 

 

 

   PWDT_Init(PWDT1, &pwdtConfig);

 

 

    /* USER CODE BEGIN PWDT1_Init 2 */

 

 

 

 

    /* USER CODE END PWDT1_Init 2 */

 

 

}

 

 

生成的中断处理函数

 

 

/**

 

 

* @brief This function handle PWDT1 interrupt.

 

 

* @param[in] device: PWDT_Type pointer

 

 

* @param[in] wpara: callback parameter

 

 

* @param[in] lpara: callback parameter

 

 

* @return none

 

 

*/

 

 

void PWDT1_IRQHandler_Callback(void *device, uint32_t wpara, uint32_t lpara)

 

 

{

 

 

    if (wpara & PWDT_INIT0_OVF_Msk)

 

 

    {

 

 

        /* USER CODE BEGIN OVERFLOW INTERRUPT */

 

 

        /* USER CODE END OVERFLOW INTERRUPT */

 

 

 

 

    }

 

 

    if (wpara & PWM_STR_CHSF_Msk)

 

 

 

 

   {

 

 

        /* USER CODE BEGIN PLUSE PLUSE EFFECTIVE */

 

 

        /* USER CODE END PLUSE PLUSE EFFECTIVE */

 

 

    }

 

 

    /* USER CODE BEGIN PWDT1_IRQHandler_Callback */

 

 

 

 

    /* USER CODE END PWDT1_IRQHandler_Callback */

 

 

 

 

}

 

 

       

  • 处理函数

 

 

        /* USER CODE BEGIN PLUSE PLUSE EFFECTIVE */

 

 

        g_hallStatus = PWDT_GetHallStatus(PWDT) & 0x07;

 

 

        g_positvePulse = PWDT_GetPositivePulseWidth(PWDT); //获取正脉宽计数值

 

 

        g_negativePulse = PWDT_GetNegativePulseWidth(PWDT); //获取负脉宽计数值

 

 

        if (0 != (g_positvePulse + g_negativePulse))

 

 

        {

 

 

            /*

 

 

                计算频率和占空比

 

 

                频率 = PWDT时钟源 / PWDT时钟分频 / +负脉宽计数值

 

 

                占空比 = 正脉宽计数值 / +负脉宽计数值

 

 

            */

 

 

            g_freq = PWDT_CLK / (g_positvePulse + g_negativePulse);

 

 

            g_duty = ((g_positvePulse * 100)/ (g_positvePulse + g_negativePulse));

 

 

        }

 

 

        /* USER CODE END PLUSE PLUSE EFFECTIVE */       

 

 


  1. 效果展示

电机霍尔线的硬件连接图

 

 

 

1.jpg

 

 

 

利用uart端口将霍尔信号 的输入状态打印到串口终端中。通过终端打印可以清晰的看到霍尔信号的变化过程为1-5-4-6-2-3

 

 

9.jpg 结论,通过对于特定电机及预想的电机转速测量范围,可以进一步调整PWDT的预分频系数,来保证转速测量范围。

 

 

 

 

 

 

 

赞赏

1

查看全部赞赏


回复

817

帖子

2

资源

版主

还不错,知识点讲的挺好,就喜欢这种分享知识和代码的帖子!

点评

谢谢鼓励,继续努力,共同学习  详情 回复 发表于 2020-12-5 15:44

回复

288

帖子

1

资源

一粒金砂(高级)

w494143467 发表于 2020-12-5 13:34 还不错,知识点讲的挺好,就喜欢这种分享知识和代码的帖子!

谢谢鼓励,继续努力,共同学习


回复

3349

帖子

1

资源

五彩晶圆(初级)

谢谢分享

个人签名人已离开,无事别找,找也找不到。

回复

17

帖子

0

资源

一粒金砂(初级)

谢谢分享


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

最新文章 更多>>
    关闭
    站长推荐上一条 1/4 下一条

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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