极海APM035电机驱动板评测

发布时间:2024年01月15日

首先感谢面包板社区提供的评测机会,技术支持服务也非常到位,爆赞!

1. 摸一摸硬件资料

板子工整漂亮,用料足。上电真图:?

?

原理图还是挺模块挺清晰的,但是这个开发板没有手册,没有个quickstart的上手教程,对小白就没那么友好了。?

开发笔记里找到一个框图:?

?核心部分,也就是最小系统:?

2. 熟悉下软件开发资料

datasheet和usermanual都还算齐备,文档有点类似STM32的文档样式,框架有了,但是内容还是不够详实,对于老手来说内容够了,可以直接看SDK了,但是对于新手来说,如果能有类似正点原子类似的开发教程,会更友好。

3. 上手SDK,搭建开发环境

3.1 blinker先来点个灯,熟悉下开发环境。?

工程是KEIL环境,烧录直接用STLINK接SWD接口,熟悉的环境,熟悉的接口。?

附件里有keil的pack文件,KEIL版本2.6以上肯定是OK的。?

选对芯片型号后,可以正常编译,DEBUG也可以找到芯片。?

SDK的examples和板子的对应有些曲折,要自己改一改。?

以点灯的GPIO_TOGGLE来说, 看原理图:?

?

?fault这个红灯连接在PC15, 打开GPIO_TOGGLE工程

int main(void)
{
    APM_MINI_Init();

    GPIO_Init();

    printf("This is an example of GPIO toggle \r\n");

    while (1)
    {
        /* Turn LED2 on */
        GPIO_ClearBit(LED2_GPIO_PORT, LED2_PIN);
        /* Turn LED3 off */
 //       GPIO_SetBit(LED3_GPIO_PORT, LED3_PIN);
        APM_MINI_DelayMs(200);

        /* Turn LED2 off */
        GPIO_SetBit(LED2_GPIO_PORT, LED2_PIN);
        /* Turn LED3 on */
//        GPIO_ClearBit(LED3_GPIO_PORT, LED3_PIN);
        APM_MINI_DelayMs(200);
    }
}

?GPIO初始化:?

void GPIO_Init(void)
{
    GPIO_Config_T gpioConfig;

    RCM_EnableAHBPeriphClock(LED2_GPIO_CLK | LED3_GPIO_CLK);
    /* LED2 GPIO configuration */
    gpioConfig.pin = LED2_PIN;
    gpioConfig.mode = GPIO_MODE_OUT;
    gpioConfig.outtype = GPIO_OUT_TYPE_PP;
    gpioConfig.speed = GPIO_SPEED_50MHz;
    gpioConfig.pupd = GPIO_PUPD_NO;
    GPIO_Config(LED2_GPIO_PORT, &gpioConfig);

}

3.2 跑下调试串口

从上面原理图看到,USB-UART的转接芯片是接到了芯片的UART2, 这里要稍微吐槽一下,2023年了,USB口还用miniUSB,找这条线在旧物料箱里扒了好久才找出一根“珍藏”。?

?

查看系统初始化函数:

void APM_MINI_Init(void)
{
    /* Init delay function */
    APM_MINI_DelayInit();

    APM_MINI_PBInit(BUTTON_KEY1, BUTTON_MODE_GPIO);
    APM_MINI_COMInit(COM2); //调试打印口改为com2,对应USB接的USART2  APM_MINI_COMInit(COM1);
}

?这里串口初始化改为USART2,对应的IO也要改为TX-PB11, RX-PB12

为了让printf能够切换到USART2(可以通过USB-UART和上位机串口调试工具通信) 除了上面初始化USART2 之外,还需要两个操作:

1)指定调试串口

2) 输出重定向:?

?

3)板上的J4/J5要用跳线帽短接

试验现象:?

FAULT灯快闪,同时串口打印debug信息:?

4.正戏--体验电机应用

准备了好几个无刷电机:?

用的无感FOC例程:?

如上,修改了电机参数后,编译下载,可以通过板上的旋钮调速,还是挺方便上手的。?

5. 非专业性小结?

1)熟悉的开发环境,快速上手很方便

2)电机库易用性不错

3)特性和不同电机适配还需要花时间慢慢磨......

文章来源:https://blog.csdn.net/pocean2012/article/details/135446073
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。