你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3121|回复: 11

新手STM32F0NUCLEO试用-LED和DSPIN步进控制

[复制链接]

1

主题

16

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2015-1-31 12:58:34 | 显示全部楼层 |阅读模式
本帖最后由 creat 于 2015-2-2 18:46 编辑

     拿到板子一月有余了,刚刚学习STM32几个月,一直用的原子的F1战舰板做项目。所以一直没动F0。前两天看了NUCLEO开发板开发比较汇总,看了CUBEMX的项目生成工具。感觉挺好,下面总结一下个人的使用感受。
DATE 1
一、初步测试
     1.首先是安装了CUBEMX,和安装CUBEFW。这里前面有人提过不多说。只是离线包安装费了一点周折,安装方法见图片。
     2.安装完后就可以新建项目了,我首先做了一个LED的闪烁测试。NUCLEO板上绿色的LED为PA5,所以PA5设置为GPIO_Output,然后在PROJECT中设置工程名和保存路径及生成MDK4.73工程模板,一切OK点击生成。
     3.生成好工程以后打开工程,竟然DEVICE里没有STM32F072RB。原因是MDK版本太老(4.72),于是装MDK5.12,又费了好大功夫才搞定。新版本确实不错。刚装的朋友记得装上STLINK驱动哦。
    4.下面就可以随心所欲的尽情开发了。我的第一个测试为LED闪烁实验。新建了一个HARDWARE项目文件,里面先放着LED.C和LED.H。F0的FW文件的GPIO.C中对GPIO的操作跟以前常用的FW文件不一样了。对GPIO的设置与复位由原来的: GPIO_SetBits(GPIOx,GPIO_Pin)和GPIO_ResetBits(GPIOx,GPIO_Pin),变成了一个函数:HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)。
   5.编译下载,第一个测试完美运行。
总结:
        使用CUBEMX生成工程文件比较方便,再也不用再编写繁琐的硬件初始化函数了,只要使用熟练,3分钟就可以跳过硬件初始化,进入我们的项目设计。在MDK开发的过程中如果要改变某些硬件的设置,可以在回到CUBEMX里进行更改重新生成配置文件,非常方便。

二、步进电机控制

      测试完GPIO就想着做进一步的实验,最近一直在 做有关于步进电机的项目,用的ST的 驱动L6470,该驱动支持指令式的操作,支持128细分,可以很方便的实现位置速度等各种操作。使用SPI发送指令。已在STM32F103的板子上实验过,配合触摸屏操作实现各种复杂的运动。现在打算移植到F0上测试。
      1.首先使用CUBEMX设置STM32F072的硬件配置,在peripherals中使能SPI1为:Full_Dupex Master,使用片选。然后点击Configuraton,设置SPI的参数。点击生成工程文件。
       2.在工程文件中添加DSPIN驱动芯片的驱动文件。
       3.根据SPI函数修改驱动C文件及头文件。
       4.买MAIN 函数里调用驱动函数实现电机控制。
       步进电机的工程文件今天刚刚在弄,主要现在CUBEMX是出现了生成不了PROJECT的问题,目前正在找原因。后续调试好了上传。先上传L6470的驱动文件。
     以上为个人这两天的试用经历,新手一个,希望和大家互相学习!
DATE 2
       板子使用两天后感觉顺手多了,越用越喜欢。之前编译CUBEF0里的例子老是找不到core_cm0.h,MDK的DEVICE安装出错,最后装成了最新版的MDK5.13,使用官方例子是要在OPTIONS里设置一下包含的头文件(core——cm0.h在MDK安装路径中的::\Keil_v5\ARM\Pack\ARM\CMSIS\4.2.0\CMSIS\Include里)。高端大气上档次的感觉。例子里面直接使用了NUCLEO.c的库函数文件,直接很方便的直接对板子的外设及扩展外设进行操作。MDK pack installer  里有NUCLEO板子例程的链接:http://www.keil.com/boards2/st/nucleo_f072rb/。而我要进行的项目需要的SPI,和2.8寸LCD,及按键都有相应的例子。项目开发可以把精力都花在自己的功能函数里。估计明后天就可以把我在F1里开发的项目转移到F0里,如果可行成本可以省去一些吧。      CUBE_FW_F0_1.2版SPI_FullDuplex模式测试。打开文件的MDK工程,官方例子对SPI初始化和配置的函数看着比较复杂详细,附带了很多错误检测函数。要使用SPI例子做实验,一定要在main.h文件里定义一下主从机:#define MASTER_BOARD  OR  #define SLAVE_BOARD  。例子可以实现两块板子的SPI传输,主机发送缓存区数据给从机,从机把发送来的数据传回给主机,主机逐个字节检测数据是否相符,不相符则绿色LED的间隔一秒闪烁。




安装说明

安装说明

生成不了PROJECT

生成不了PROJECT

步进电机

步进电机

ST_LINK驱动.zip

下载

992.41 KB, 下载次数: 26, 下载积分: ST金币 -1

STLINK驱动

TEST1.zip

下载

6.5 MB, 下载次数: 85, 下载积分: ST金币 -1

GPIO测试

dspin.zip

下载

8.25 KB, 下载次数: 67, 下载积分: ST金币 -1

L6470驱动

回复

使用道具 举报

16

主题

560

回帖

1

蝴蝶豆

金牌会员

最后登录
2020-6-25
发表于 2015-1-31 13:00:22 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

16

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
 楼主| 发表于 2015-1-31 14:31:50 | 显示全部楼层

谢谢支持,谢谢鼓励!
回复 支持 反对

使用道具 举报

1

主题

16

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
 楼主| 发表于 2015-1-31 14:40:31 | 显示全部楼层
本帖最后由 creat 于 2015-1-31 15:15 编辑

找到CUBEMX生成不了PROJECT的问题了,原因是不知道怎么回事安装的CUBEF0_FW1.21没了。可能是加载的离线包移走了的问题吧,还有生成的工程路径不能包含中文。
回复 支持 反对

使用道具 举报

0

主题

2

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-26
发表于 2015-11-5 14:04:04 | 显示全部楼层
请问一下楼主,ST规格书中关于最高速度 step/s = Max_Speed*2^-18/tick这个怎么理解,我设置一个非常低的速度,那个Max_Speed的值都非常大。22位的寄存器根本装不下。能帮忙解释一下吗?
回复 支持 反对

使用道具 举报

0

主题

72

回帖

0

蝴蝶豆

中级会员

最后登录
2018-9-27
发表于 2015-11-6 09:57:09 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

233

回帖

0

蝴蝶豆

中级会员

最后登录
2019-1-4
发表于 2015-11-6 13:54:57 | 显示全部楼层
这个总结的挺丰富呀。没想到呀
回复 支持 反对

使用道具 举报

1

主题

20

回帖

0

蝴蝶豆

初级会员

最后登录
2021-8-12
发表于 2015-11-6 15:44:28 | 显示全部楼层
我也有一块F030,还在吃灰。
回复 支持 反对

使用道具 举报

20

主题

1110

回帖

125

蝴蝶豆

论坛元老

最后登录
2019-5-4
发表于 2016-6-7 13:42:47 | 显示全部楼层
楼主,咨询个事,L6470文档中提到一个从Step/s到step/tick的转换其中tick为250ns,这个tick是固定的250ns吗?跟时钟不相关吗?
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-25
发表于 2016-7-11 20:03:25 | 显示全部楼层
anobodykey 发表于 2016-6-7 13:42
楼主,咨询个事,L6470文档中提到一个从Step/s到step/tick的转换其中tick为250ns,这个tick是固定的250ns吗 ...

你也在用这个IC吗?
我这几天再调L6480。加速过程好长,要好几圈才能达到指定速度,不知道什么问题
可以一起讨论
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版