Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
PWM
PWM
【开发板评测】Renesas RA2L1 开发板之编码器输入及PWM输出控制舵机
发布于 2022-10-19 01:58:57 浏览:1173
订阅该版
[tocm] # 评测任务 非常感谢RT-Thread给与测评CPK-RA2L1开发板的机会(本人是在RTTHread物联网操作系统微信公众号看到的招募测评文章),抱着试一试的态度,就报名申请了。我申请测评的功能是PWM输出功能。本人第一次接触瑞萨的芯片,之前做项目都是用STM32和STC的多一点。本次测评的这款开发板芯片为:R7FA2L1AB2DFM,64个引脚,Cortex-M23内核,系统最大时钟48M。 ![评估板.jpg](https://oss-club.rt-thread.org/uploads/20221019/0f040513e490d5ec56d25c41b4227329.jpg.webp "评估板.jpg") ## 安装测试环境 本人之前做项目都是用KEIL进行编译,用KEIL习惯了,所以想办法部署该芯片到KEIL上。 注意:keil MDK版本必须v5.31以上,同时ARM compiler 6 必须是6.14版本以上,同时安装上该系列芯片的器件包pack(DFP),本开发板带J-link调试器,所以我们的j-link驱动尽量装最新的。 ![keil MDK版本号.png](https://oss-club.rt-thread.org/uploads/20221019/32e3db50fc5e6148f9ca3b470db548f5.png.webp "keil MDK版本号.png") ### 安装Renesas RA FSP 在瑞萨官网下载,FSP的版本最好下3.6,本人已经验证过,避免踩坑,安装过程不在赘述。 ![FSP版本.png](https://oss-club.rt-thread.org/uploads/20221019/aa109d7e7f7a4e222c1813f03797a6cd.png "FSP版本.png") 安装完成之后再下载一个FSP的板载支持包。 ![板载支持包.png](https://oss-club.rt-thread.org/uploads/20221019/e4f65fb32e882d735dad658008064f1c.png "板载支持包.png") 解压板载支持包,复制里面的internal文件覆盖到FSP的根目录即可,如图所示。 ![板载文件.png](https://oss-club.rt-thread.org/uploads/20221019/79cc3da6cd13348e9ac42fbe5b616fa0.png.webp "板载文件.png") 复制完成之后,我们的环境就部署好了。 接下来我们用FSP生成程序,在keil MDK5上面编译并下载。 ### FSP生成工程并编译下载 按图步骤操作即可! ![新建工程2.png](https://oss-club.rt-thread.org/uploads/20221019/22835dd429584719447371054754fb5c.png.webp "新建工程2.png") ![新建工程3.png](https://oss-club.rt-thread.org/uploads/20221019/55ba52f1f56b3c7c23879ad0022384fc.png.webp "新建工程3.png") ![新建工程4.png](https://oss-club.rt-thread.org/uploads/20221019/ac80da529a4533c62663fdbe4a483a82.png.webp "新建工程4.png") 核对版本信息! ![新建工程5.png](https://oss-club.rt-thread.org/uploads/20221019/c27deae95aa0db035ae3ace50ce1845c.png.webp "新建工程5.png") ### 配置定时器输入捕获(用于编码器),和PWM输出功能 脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 在瑞萨RA系列MCU中有两种定时器,一种是通用PWM定时器GPT,另外一种是异步通用定时器AGT。 频率=主频/period +占空比=cycle/period ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221028/6a695b626b288e6dcc85935ec868e10c.png) **系统时钟配置** 这里我使用的是外部的20M晶振。 ![时钟配置.png](https://oss-club.rt-thread.org/uploads/20221028/62f2e0d7fc1cae95005afdaa7135be71.png.webp "时钟配置.png") **定时器输出(PWM)配置** ![定时器1配置.png](https://oss-club.rt-thread.org/uploads/20221028/163ff274645ecbf3ca954cc4dae55a9e.png.webp "定时器1配置.png") **定时器输入配置,用于EC11旋转编码器** ![输入捕获配置1.png](https://oss-club.rt-thread.org/uploads/20221028/d5dfb68e611132fa30b3bf177f6304d8.png.webp "输入捕获配置1.png") ![输入捕获配置2.png](https://oss-club.rt-thread.org/uploads/20221028/1aa3a45a6c1ed59cb59ac1ad9a5d7e29.png "输入捕获配置2.png") **PWM输入捕获编码器处理代码** ![编码器代码.png](https://oss-club.rt-thread.org/uploads/20221028/0146193e90e7cec2b5750a1a4ee1b0cd.png.webp "编码器代码.png") ![主函数.png](https://oss-club.rt-thread.org/uploads/20221028/eb7085ab827a7ee8791e092eeb8f2189.png.webp "主函数.png") ### 配置j-link下载 程序通过MDK5下载按下图配置! ![配置1.png](https://oss-club.rt-thread.org/uploads/20221019/aec639550cdf67b2bfd408c9c1773e8e.png.webp "配置1.png") ![配置2.png](https://oss-club.rt-thread.org/uploads/20221019/2c1fb5e4307a43a44f32042165ff5375.png.webp "配置2.png") ![配置3.png](https://oss-club.rt-thread.org/uploads/20221019/904aa65f012b87cd1cc017dd2ac79b58.png.webp "配置3.png") ![配置4.png](https://oss-club.rt-thread.org/uploads/20221019/9a61c445c12f233b35395c1a7bd48772.png.webp "配置4.png") 官方技术员给的配置下载说明! ![下载说明.jpg](https://oss-club.rt-thread.org/uploads/20221019/533410676fd824cd09a9fed5e197def5.jpg.webp "下载说明.jpg") 代码下载成功后,引脚输出波形,从而控制舵机运转(通过编码器实时控制脉宽宽度,控制舵机旋转角度) ![波形.png](https://oss-club.rt-thread.org/uploads/20221028/f9221a99f89f707f581c89f2f85e5648.png.webp "波形.png") 程序代码地址:https://gitee.com/zhi-lulu/code-base.git 测试视频: https://b23.tv/RMIzPWP 本次测评使用的软件资源。 ![资源.png](https://oss-club.rt-thread.org/uploads/20221019/e5ced5a196f067c77d401108beec9b75.png "资源.png") ### 总结 本人第一次使用瑞萨芯片,用MDK5配置环境这块踩坑了搞了好久。 1、要注意生成的代码不能含有中文路径,不然编译会提示找不到文件,报错。文件路径不能太复杂。 2、下载提示找不到芯片,请复制本人工程的j-link配置文件到你的工程目录即可解决。
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
陆大大
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部