打印
[活动]

【APM32M3514开发板测评】开篇

[复制链接]
800|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Ketose|  楼主 | 2025-2-8 23:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Ketose 于 2025-2-8 23:36 编辑


年前收到这个开发板,本来是直接上FOC来测试,但是官方的例子代码需要人工审核,只能在网上先找其它人,找到了SDK,keil的开发包,原理图,等资料,太难了!!!最后还是没有拿到官网的FOC例子。在我的keil里安装了官方的Geehy.APM32M35XX_DFP.1.0.0.pack,创建完工程CMSIS竟然没有system_apm32m35xx.c和startup_apm32m35xx.s,虽然我已经在Run-Time Environment里Device选择了APM32M35XX Startup。不知道这是不是个BUG,我用的环境是Keil 5.41。

后面会再造一次车轮来修练内力,总的来说会分这么几部分来完成这次评测
1、开环速度控制
2、闭环位置控制
3、闭环速度控制
4、闭环位置-速度-电流控制
5最后SVPWM
这里面有一些前置知道比如Clark变换、Park变换、SVPWM就不详细介绍了,但是通俗的说明一下。感兴趣的同学可以去问Kimi、豆包、Deepseek,不要去问百度就行。也可以用纳米AI搜索APP,这个集成了好几个AI模型,最后无耻的给自己打个广告,使用纳米AI搜索时,大家填写抽车码请填写:Z4P2YT

本来一开始就打算直接上电机,可是我的直流稳压电源坏了。有谁知道这款电源虽然显示30V电压,但是万用表量的时候没有电压!!!


    还有就是因为Jlink没有支持APM32M35xx,今天安装了最新的Jlink 8.12,结果悲剧了,我的Jlink V11没注意升级了固件,出现了Clone提示。Jlink的序列号丢失了。最后翻箱倒柜的找到了一个Freescale的Freelink,改一改更新了一个DAP固件,做成一个通用的DAP Link,可以使用。晚上有了时间顺手把Jlink给**一下,我的Jlink又活了,但是还是没有序列号,已经找到了方法,有时间再搞。

下面我的要驱动的电机:三款,希望都能驱动起来。



由于没有电源,只能先跑一个 Hello world !!!.

1、APM32M3514芯片介绍
       一款面向电机驱动市场推出的高集成、高性价比电机控制专用SoC,基于APM32F035系列电机控制专用MCU的性能架构进行优化升级,搭载Arm® Cortex® -M0+内核,内置M0CP协处理器,集成200V 6N-Gate Driver及高性能3.3V LDO。适用于园林工具、手持吸尘器、低压风扇、低压水泵等领域。
               
性能参数
系统                                
  • Arm® Cortex®-M0+
  • 工作主频 72MHz
  • M0CP协处理器(硬件:移位单元、32位/32位除法器、
  • 开方、三角函数、SVPWM、乘加运算)
                           
存储                                
  • Flash 64KB
  • SRAM 10KB
  • BootLoader支持 USART升级
                           
电源管理                                
  • MCU工作电压 2.0~3.6V
  • 驱动电压5~20V
  • 支持上电/掉电复位
                           
   定时器                                
  • 16位高级控制定时器:1
  • 16/32位通用定时器:2/1
  • 16位基本定时器:2
  • 看门狗定时器:2
  • 24位自减型SysTick:1
  • 支持红外接收功能,用于遥控
                           
  模拟外设                                
  • 12位ADC:1,通道数:13
  • 可编程模拟比较器:2
  • 通用运算放大器:4
  • 温度传感器:1

2、F035 VS M3514

上图是F035(左),M3514(右)的系统框图,从图中可以看到M3514比F035多了 6N-Gate Driver及LDO。 协处理器(M0CP) 旨在加速一些运行在 Arm® Cortex®-M0+上,与 FOC(Field Oriented Control,磁场定向控制)相关的应用。200V 6N-Gate Driver,可直接为电机驱动提供 6 路驱动 N 沟道 MOSFET 三相全桥驱动功能,减少了外部驱动芯片的使用
以上的这款芯片的一些介绍,都是照本宣科。如果感兴趣可以去极海的官网去查询。

这次活动使用的开发板是APM32M3514x8 MOTOR EVAL,主要为电机控制而设计的开发板。可以用来进行BLDC、FOC算法的电机控制 。

虽然是用来进行电机控制,但是一般单片机该有功能还是都有的。我还是从入门开始,学习一下“Hello world”,然后循序渐进最后运行FOC程序,控制电机转起来。
单片机程序的Hello world就是点个灯。
主程序代码如下:
/*!
* [url=home.php?mod=space&uid=247401]@brief[/url]       Main program
*
* @param       None
*
* @retval      None
*
*/
int main(void)
{
    APM_MINI_Init();

    //GPIO_Init();
                LED_GPIO_Init();

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

    while (1)
    {
        /* Turn Fault on */
        GPIO_ClearBit(GPIOA, GPIO_PIN_12);
                                APM_DelayMs(200);
        /* Turn Fault off */
        GPIO_SetBit(GPIOA, GPIO_PIN_12);
        APM_DelayMs(200);
    }
}
LED_GPIO的初始化代码如下:
void LED_GPIO_Init(void)
{
    GPIO_Config_T gpioConfig;

    RCM_EnableAHBPeriphClock(RCM_AHB_PERIPH_GPIOA);
    /* LED2 GPIO configuration */
    gpioConfig.pin = GPIO_PIN_12;
    gpioConfig.mode = GPIO_MODE_OUT;
    gpioConfig.outtype = GPIO_OUT_TYPE_PP;
    gpioConfig.speed = GPIO_SPEED_50MHz;
    gpioConfig.pupd = GPIO_PUPD_NO;
    GPIO_Config(GPIOA, &gpioConfig);
}

原理图我也发一个:



跑起来了



使用特权

评论回复
沙发
chenjun89| | 2025-2-9 09:14 | 只看该作者
不用等官方,网上很多例子。

使用特权

评论回复
板凳
丙丁先生| | 2025-2-9 12:19 | 只看该作者
还没有这块板,感谢分享。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我最讨厌两种人:一是有种族歧视的; 二是黑人;三是不识数的!

65

主题

3233

帖子

15

粉丝