1. 引言

先简单聊一下我与MM32的故事。在去年,我开始做BLDC的项目,于是开始学习了解各家的mcu及其解决方案。有幸获得了灵动微电子的MM32 SPIN系列开发板,给我的感觉是开发板做工精良,开发配套资料很全,FAE支持也很及时,我想有机会也要去了解其他系列,这不,机会就来了嘛。

2. 关于开发板

学习使用一款新的mcu及其解决方案,要先把相关的软硬件资料准备好。推荐去灵动官网下载相关资料。以下为链接地址:http://www.mm32mcu.com/download1.aspx

由于MM32系列很多,我们可以根据自己的需要下载对应的资料,如我们手中的 Mini board 搭载的是 MM32L073,下载相关资料即可。

2.1 硬件资料

这个链接里的文档附有原理图和操作手册,建议仔细查阅。

2.2 软件资料

这个链接里有库函数和相关的 Demo,建议仔细查阅。

2.3 开箱

点评:元器件都在正面,反面啥也没有。开发板摸上去手感很好。

2.4 硬件资源盘点

我手中这一款是MB-023,根据相关文档可知,其具备以下模块:

  • CN2, Power And Debug

  • CN3, Power,稳压输出3.3V

  • 4个LED灯

  • 4个按键

  • 支持 Arduino 接口

  • CN4, UART接口

  • CN5, CAN接口

  • 1个蜂鸣器模块

  • 8MHz晶振

  • SPI Flash模块

  • AT24C02, EEPROM存储模块

  • 板载仿真器

点评:板载资源非常丰富,有点超出期望了。之前玩过的STM32评估板资源很少,只有板载调试器+ mcu 最小系统。做原型样机开发时,连接很多外部模块时就显得不方便。相比较而言,MM32就考虑更周全了。嵌入式开发的最常用的模块都有,有了这款开发板,很方便做原型样机验证,这里,给灵动点个赞。

2.5 软件Demo演示

有了板载调试器,用一根 Micro USB 数据线连接好就可以进行开发调试了,很方便。

软件库支持最主流的两大编译器:Keil 和 IAR.

首次使用L073系列,需要安装 Pack 包。下载解压后,双击安装即可。

点灯程序,号称嵌入式世界的 "Hello world".

#include "delay.h"#include "sys.h"#include "led.h"

int main(void){    delay_init();LED_Init();while(1)    {LED1_TOGGLE();LED2_TOGGLE();LED3_TOGGLE();LED4_TOGGLE();        delay_ms(300);    }}

需要注意的是:仿真调试时需要手动选择一下仿真器型号。

效果:4个IO口间隔300ms翻转,可以看到4个LED灯在闪烁。

3. 项目实战

3.1 项目描述

使用 MM32 驱动步进电机工作,步进电机有工作头,进而完成一些自动化的任务。

3.2 步进电机控制原理

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

简单来说,驱动器的四个 IO 口需要规则的脉冲信号,如间隔一小段时间的0b1000->0b0100->0b0010->0b0001,驱动信号一直循环下去电机就可以一直旋转。

3.3 主要代码

int main(void){  static uint8_t s_u8Step = 0;

    delay_init();    LED_Init();while(1)    {switch(s_u8Step)        {case 0:S1_OFF();S2_ON();S3_ON();S4_ON();break;case 1:S2_OFF();S1_ON();S3_ON();S4_ON();break;case 2:S3_OFF();S1_ON();S2_ON();S4_ON();break;case 3:S4_OFF();S1_ON();S2_ON();S3_ON();break;default:break;        }        s_u8Step++;if(s_u8Step >= 4)        {         s_u8Step = 0;        }        delay_ms(5);    }}
// 步进电机引脚控制#define S1_ON()  GPIO_ResetBits(GPIOA,GPIO_Pin_4)   // PA4#define S1_OFF()  GPIO_SetBits(GPIOA,GPIO_Pin_4)    // PA4#define S1_TOGGLE()  (GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4))?(GPIO_ResetBits(GPIOA,GPIO_Pin_4)):(GPIO_SetBits(GPIOA,GPIO_Pin_4)) // PA4

连线说明:驱动器的电源来自开发板的 5V 和 GND 。驱动器的 IO 信号来自开发板的 PA3~PA7,需全部设置为GPIO的输出引脚功能。

备注:结构纯手工打造哦。

实测效果:步进电机旋转一周大约5s。

小结

最后,总结一下总体感受。

  • 开发板做工精良

  • 板载资源丰富,原型开发验证方便

  • 软件资源齐全,与主流开发工具无缝对接

  • 软件库与STM32相似度较高,便于开发人员快速上手。

arduino步进电机程序库_【MM32 eMiniBoard测评报告】+驱动步进电机相关推荐

  1. python控制步进电机转动_用Python编程:控制步进电机+ Raspberry Pi零+ L293D IC

    (警告!我没有受过这个主题的教育) 嘿伙计.我之所以在这里发布,是因为我有一个非常需要她的项目帮助的朋友.我对脚本很熟悉,但是对编程却不太了解.我从事IT工作,所以我会尽力提供必要的信息.她正在尝试使 ...

  2. Arduino CNC电机扩展板详解(A4988驱动42步进电机)

    原文地址:http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/ ...

  3. DM556步进驱动器适配驱动步进电机

    关于如何驱动步进电机的具体总结如下 以上就是驱动步进电机的具体操作方法,可以自行尝试操作一下 写的有点烂,凑合着看一下就可以了

  4. 等保测评报告_昆仑健康保2.0要停售了,还值得买这款产品吗?有哪些优缺点?...

    新规也实行一段时间了,前几天我们刚迎来了新规后第一款重疾险--横琴粤港澳大湾区重大疾病保险,还没缓过神来的我们,却在今天听到了另一个消息,昆仑健康保2.0要停售了. 虽然财联社发布电报表示,旧重疾定义 ...

  5. arduino步进电机程序库_Arduino基础入门篇27—步进电机驱动库的使用

    本篇介绍步进电机驱动库的使用,通过读取电位器输入,控制步进电机转动相应角度. Stepper库是官方提供的驱动库,我们启动Arduino IDE,点击「文件」-「示例」就能找到Stepper库,官方提 ...

  6. arduino步进电机程序库_Arduino入门教程15(步进电机驱动库的使用):Arduino Uno R3+ULN2003+步进电机 使用Stepper驱动库,控制步进电机转动角度...

    本篇介绍步进电机驱动库的使用,通过读取电位器输入,控制步进电机转动相应角度. Stepper库是官方提供的驱动库,我们启动Arduino IDE,点击「文件」-「示例」就能找到Stepper库,官方提 ...

  7. java 品尝饮料_喝到味觉失灵,得出了这份网红饮料测评报告

    喝到味觉失灵,得出了这份网红饮料测评报告 2020-07-12 17:23:56 5点赞 19收藏 2评论 夏天不喝上一瓶冰凉凉的饮料,听听扭开汽水盖的噗呲声,那可太遗憾了! 所以呀,今天莓莓要带大家 ...

  8. c52单片机控制l298n步进电机角度_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...

    点击标题上方"微Life梦Heart阅读",关注. 设计图文626 摘  要[快速浏览摘要]单片微型计算机简称单片机.它是把组成微型计算机的各功能部件:中央处理器.CPU.随机存取 ...

  9. 华为软件开发云测评报告二:代码检查

    相关文章:<华为软件开发云测评报告一:项目管理> 体验环境 体验方式:PC端 系统:Windows 64位 浏览器类型:Chrome浏览器 浏览器版本:58.0.3029.110 体验时间 ...

最新文章

  1. 机器学习基石HOW部分(2)
  2. 《Ext详解与实践》节选:自定义单元格的显示格式
  3. leetcode214. 最短回文串
  4. C语言深度剖析书籍学习记录 第三章 预处理
  5. 正月初六 | 2月17日 星期二 | 快手体育拿下斯诺克赛事版权;华为推出“智慧养猪”方案;春节档总票房突破60亿元...
  6. python元组排序_python元组怎么排序
  7. 直播录屏软件哪个好?什么软件可以录屏直播会议?
  8. 酉矩阵(幺正矩阵、unitary matrix)
  9. 互联网知识大全:软件开发中和各种开发软件文档的常见的英文缩写,还不快快收藏!
  10. 反向代理负载均衡之APACHE
  11. 概率论的学习和整理--番外4:学习期望之前,先学习平均数(包括算术平均数,几何平均数,调和平均数等),众数,中位数等概念差别。
  12. java生成短网址_http 长网址、短网址(短网址生成API)
  13. 实现一个打点计时器,要求 1、从 start 到 eThd(包含 start 和 eThd),每隔 100 毫秒 coThsole.log 一个数字,每次数字增幅为 1 2、返回的对象中需要包含一个
  14. 帮助文档.chm能打开但是显示不出来详细内容
  15. 康沣生物通过港交所聆讯:持续亏损、现金流紧张,李克俭为董事长
  16. Charles 的简单使用
  17. 晦涩难懂的c语言语句,【c/c 学习心得】晦涩难懂的const关键词,const v.s. 指标值...
  18. 发现一个很厉害的抖音视频发布干货分享给大家
  19. 闪马人书单2.0|正是读书时
  20. 沙盒效应(Sandbox Effect)

热门文章

  1. typescript之hasOwnProperty
  2. java session失效之后跳转_详解springmvc控制登录用户session失效后跳转登录页面
  3. mysql5.6 安装配置 老系统_mysql 5.6 从陌生到熟练之-安装配置(windows系统)
  4. 写笔记插件_如何构建自己的笔记知识体系?
  5. python内存泄漏解决方案_Python内存泄漏和内存溢出的解决方案
  6. excelvba怎么设置不打开文件自动保存_Excel VBA之工作薄 5.5批量工作薄标准数据的汇总...
  7. java+cache使用方法_JVM代码缓存区CodeCache原理及用法解析
  8. mysql getname_mysql别名取不出值(getColumnLabel和getColumnName的区别)
  9. linux syslog 删除文件_Linux不小心删除日志文件syslog如何恢复
  10. taro 小程序转h5之后报错_原生小程序转H5