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

查看: 3103|回复: 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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版