极海APM035电机驱动板评测

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

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)特性和不同电机适配还需要花时间慢慢磨......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/322195.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【2023我的编程之旅】系统学习C语言easyx图形库心得体会

目录 引言 C语言基础知识回顾 easyx图形库介绍 如何快速学习easyx图形库 学习笔记积累 学习成果展示 学习拓展 总结 引言 首先说一下我为什么要学习C语言easyx图形库。我接触C语言easyx图形库是在我今年一月份的时候,也是机缘巧合之下偶然在B站上看到了鸣人…

C++力扣题目450--删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先…

GZ075 云计算应用赛题第7套

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷7 某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenSt…

MySQL使用通配符进行数据搜索以及过滤

目录 1.什么是通配符? 2.通配符之→百分号(%) 3.通配符之→下划线(_) 4.通配符使用注意事项 *本文涉及概念来源于图灵程序设计丛书,数据库系列——《MySQL必知必会》 1.什么是通配符? 通配符(wildcard) :用来匹配值的一部分…

Mysql从入门到精通

系列文章目录 MySQL集群及高可用-mysql主从复制1 Mysql从入门到精通 系列文章目录一、mysql主从复制二、mysql主从配置server1(主库master)三、mysql主从配置server2(从库,slave)四、测试五、主机重启服务后,二进制日志文件变化六、mysldump…

1.如何记录每个变量携带的数据:DataFrame与Series

序列格式和列表区别:序列格式可以直接汇总:均值,总和,百分位数等 DataFrame Series

一篇文章带你了解Nacos的发展史

Nacos是一个全功能的服务发现和配置管理平台,致力于帮助开发者构建和管理微服务架构。以下是Nacos的发展历程: 2018年3月:首次开源。2018年8月:进入Apache软件基金会的孵化阶段,成为Apache的孵化项目。2019年3月&…

小型洗衣机怎么用?好用不贵的小型洗衣机推荐

近期,有不少小伙伴都在议论“对于内衣是机洗好,还是手洗”这个问题,对于机洗党认为家用的洗衣机就能清洁干净内衣物,而坚定的手洗党则是认为应该用手去洗,因为机洗的话,其他大件衣服混在一起洗,…

【每日一题】82. 删除排序链表中的重复元素 II-2024.1.15

题目: 82. 删除排序链表中的重复元素 II 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2…

大屏项目:react中实现3d效果的环形图包括指引线

参考链接3d环形图 3d效果的环形图 项目需求实现方式指引线(线的样式字体颜色) 项目需求 需要在大屏上实现一个3d的环形图,并且自带指引线,指引线的颜色和每段数据的颜色一样,文本内容变成白色,数字内容变…

FPGA 原理图细节--画引脚

BGA引脚表示 1.1 FPGA此引脚要正确和清晰,会在“Package Pin”中用到次物理接口 1.2, MCU 只用管对应的GPIO逻辑接口就可以了 标识Bank电平 标识出对应Bank的电平,在电路设计中可以清晰的知道对应的脚位输出电平。在"IO std"也方便的选择 Ea…

D25XB60-ASEMI电机整流桥D25XB60

编辑:ll D25XB60-ASEMI电机整流桥D25XB60 型号:D25XB60 品牌:ASEMI 封装:GBJ-5(带康铜丝) 特性:插件、整流桥 平均正向整流电流(Id):25A 最大反向击穿…

Stream流递归查询部门树

Java 递归查询树是很常见的功能,也有很多写法,小编这里记录stream流递归部门树写法,自从小编用上stream流之后,是爱不释手,的确是个不错的好东西,话不多说,直接上代码 第一步:先创建…

C# new Thread和Task.Run,多线程(Thread和Task)

一、开启多线程-new Thread的使用 示例一 Thread thread25yi new Thread(new ThreadStart(obj.MethodTimer1)); thread25yi.Start(); void MethodTimer1() { while (true) { Console.WriteLine(DateTime.Now.ToString() "_" thread25yi.CurrentThread.Managed…

宿舍维修管理系统:从数据库到前端的全面解析

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

低代码表单引擎: API接口数据打造高效表单下拉组件的关键

在当今的数字化时代,用户界面组件在应用程序开发中扮演着至关重要的角色。一个好的组件不仅可以提高用户体验,还可以简化开发过程。在各种用户界面组件中,下拉框是一个常见且实用的组件,它允许用户从一系列选项中进行选择。当这些…

1.IHRM人力资源后台 - 项目搭建

IHRM人力资源 - 项目搭建 文章目录 IHRM人力资源 - 项目搭建一、项目搭建1.1 项目搭建1.2 项目目录1.2.1 src 目录 1.3 App.vue 根组件解析1.4 基础设置 settings.js1.5 导航守卫 permission.js1.6 VUEX 二、 图标使用2.1 图标使用2.2 Icon 图标的解析 一、项目搭建 1.1 项目搭…

Cypress安装与使用教程(4)—— 软测大玩家

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

一篇搞明白微信的基本授权功能

一、介绍 由于部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope , 用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。 此类接口调用时: 如果用户未接受或拒绝过此权限…

2.IHRM人力资源 - 登录

一、登录页结构与表单开发 我们要实现的登录界面 目前的登录界面 1.1 登录页结构 复制下面的代码到views/login/index.vue页面下 <template><div class"login-container"><div class"logo"/><div class"form"><h1&…