加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

黄土马家 发布

crsf转换8/12通道pwm

 
设计简介
# CRSF转换PWM板说明 CRSF协议信号转为PWM信号。用于航模遥控控制信号转换,黑羊TBS、ELRS等接收机一般输出crsf信号给飞控板,经过此转换后拆分各个通道单独的PWM控制信号,接到各个舵机执行设备。 固件为capnBry网友的开源项目:[CRSevorF](https://github.com/CapnBry/CRServoF "crservof") ,本人根据网友分享和代码中引脚定义制作了PCB硬件,以及分享使用经验技巧。
## 使用 - 嘉立创打板 - 查看bom、ibom.html采购元件 - 焊接,推荐`PTC加热台`低成本‘烧烤’工艺 - 硬件检测 - 烧录固件 * 方法1:直接下载[release](https://github.com/CapnBry/CRServoF/releases)提供的`CRSevorF-F103.Vxx.bin`固件 ,使用stlink V2硬件工具通过STM32 ST-LINK Utility软件刷入。 * 方法2:自行编译,下载[CRSevorF](https://github.com/CapnBry/CRServoF "crservof")源码 xxx.zip,解压后使用VSCODE平台编译&烧录。 - 连接ELRS接收机,5v输入上电 - 对频,ELRS发射推荐设置 * `packt rate`选择`full 100hz`或`full 333hz` * `telem ratio`选择`std`自动模式 * `switch mode`选择 * 8ch (1-4、6-9CH分辨率1024, 5ch为2段开关) * 12ch MIX (前4ch分辨率1024, 5ch为2段开关,6-13分辨率512位) * 16ch rate/2 (1-16ch分辨率512位) - 指示灯 * 无CRSF接收机连接或接收机未与发射对频时,指示灯长亮。 * 正常转换输出pwm时指示灯不亮。
# 代码部分自定义修改说明 修改源码以达成一些个性化设置、适配硬件,或扩展功能。 修改完成需配合VSCODE编译出固件。 ## 2 通道映射修改 1-8 PWM输出默认使用的是crsf接收机的ch 1-4、6-8、12这8个通道, >constexpr int OUTPUT_MAP[NUM_OUTPUTS] = { 1, 2, 3, 4, 6, 7, 8, 12 }; 如果要改成PWM输出与CRSF CH通道一一对应的,需要修改`src/main.cpp`文件: >constexpr int OUTPUT_MAP[NUM_OUTPUTS] = { 1, 2, 3, 4, 5, 6, 7, 8 }; ***TIPS:*** elrs高频头需要使用全分辨率模式 例如 `full 333hz`,但pwm5 依旧是2段开关式输出。
-------------------------------------------------- ## 3 电压检测电阻修改 修改`include/target.h`文件,原代码使用`8.2K:1.2K`分压 > #define VBAT_R1 820 > #define VBAT_R2 120 以`10K:1K`为例,改成如下 > #define VBAT_R1 1000 > #define VBAT_R2 100
-------------------------------------------------- ## 4 C6T6芯片替代 *使用STM32F103C6T6可以替代C8T6降低成本,但是只能输出8通道PWM* 需要改动`platformio.ini`文件: 1. C8改C6 >board = genericSTM32F103C6 2. 添加#注释掉USB ~~~ build_flags_cdc = #-DUSBCON #-DPIO_FRAMEWORK_ARDUINO_ENABLE_CDC ~~~
-------------------------------------------------- ## 5 国产XX32芯片替代 直接使用会在upload时报错 ~~~ Warn : UNEXPECTED idcode: 0x2ba01477 Error: expected 1 of 1: 0x1ba01477 ~~~ 解决办法: - [ ] 方案1:修改cfg文件   编辑`~/.platformio/packages/tool-openocd/scripts/target/stm32f1x.cfg` 把 `set _CPUTAPID 0x1ba01477` 改为 >set _CPUTAPID 0x2ba01477` 。 - [x] 方案2:修改工程配置文件 *【xi0n9FPV 推荐,已实测】*   在工程配置文件platformio.ini中[env...]下添加一行 >upload_flags = -c set CPUTAPID 0x2ba01477 示例: ~~~ [env:F103_serial] extends = env_common build_flags = ${env_common.build_flags_cdc} -DTARGET_BLUEPILL upload_flags = -c set CPUTAPID 0x2ba01477 ~~~ - [ ] 方案3: 修改 `stm32f1x.cfg`   在`swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf` 后添加 >-expected-id $_CPUTAPID -expected-id 0x2ba01477
-------------------------------------------------- ## 6 增加通道数达12CH *默认输出8个通道,可修改达到输出12CH* 1. 修改`include/target.h`文件 增加9-12通道PWM引脚定义,根据作者说明使用硬件定时器,查datasheet使用TIM1的4个引脚PA8-11 >#define OUTPUT_PIN_MAP PA_15, PB_3, PB_10, PB_11, PA_6, PA_7, PB_0, PB_1 // TIM2 CH1-4, TIM3CH1-4 改为: >#define OUTPUT_PIN_MAP PA_15, PB_3, PB_10, PB_11, PA_6, PA_7, PB_0, PB_1, PA_8, PA_9, PA_10, PA_11 // TIM2 CH1-4, TIM3CH1-4, TIM1CH1-4
2. 修改platformio.ini文件 - 2.1 通道总数 >#define NUM_OUTPUTS 8 改为 >#define NUM_OUTPUTS 12
- 2.2 通道输出序列 >constexpr int OUTPUT_MAP[NUM_OUTPUTS] = { 1, 2, 3, 4, 6, 7, 8, 12 }; 改为 >constexpr int OUTPUT_MAP[NUM_OUTPUTS] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
- 2.3 通道失控保护输出 >1500, 1500, 988, 1500, // ch1-ch4 >fsaHold, fsaHold, fsaHold, fsaNoPulses // ch5-ch8 改成 >1500, 1500, 988, 1500, // ch1-ch4 >fsaHold, fsaHold, fsaHold, fsaHold, // ch5-ch8 >fsaHold, fsaHold, fsaHold, fsaNoPulses // ch9-ch12
参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
相关器件
器件 类型 描述 数据手册
A2541HWV-8P 排针排母 针脚数:8 连接器类型:排母 排数:1 触头类型:母形插口 间距:0.100"(2.54mm) - 点击下载
0603WAF1002T5E 贴片电阻 阻值(欧姆):10K 精度:±1% 功率:1/10W 温度系数:±100ppm/°C 点击下载
A2541HWV-4P 排针排母 针脚数:4 连接器类型:排母 排数:1 触头类型:母形插口 间距:0.100"(2.54mm) - 点击下载
0603WAF1001T5E 贴片电阻 阻值(欧姆):1K 精度:±1% 功率:1/10W 温度系数:±100ppm/°C 点击下载
19-217/BHC-ZL1M2RY/3T 发光二极管 照明颜色:蓝色 主波长/色坐标:465~475nm 点击下载
0603B104K500NT 贴片电容 精度:±10% 容值:100nF 额定电压:50V 温漂系数(介质材料):X7R 材质:X7R 点击下载
CL10A225KO8NNNC 贴片电容 精度:±10% 容值:2.2uF 额定电压:16V 温漂系数(介质材料):X5R 材质:X5R 点击下载
CL10A105KB8NNNC 贴片电容 精度:±10% 容值:1uF 额定电压:50V 温漂系数(介质材料):X5R 材质:X5R 点击下载
ME6211C33M5G-N 低压差线性稳压(LDO) 输出类型:固定 最大输入电压:6V 输出电流:500mA 输出电压(最小值/固定值):3.3V - 点击下载
B5819W 肖特基二极管 直流反向耐压(Vr):40V 平均整流电流(Io):1A 正向压降(Vf):600mV @ 1A 点击下载
M11 Flat boot 连接器附件 点击下载
2.54-1*4P母 排母 点击下载
4D03WGJ0101T5E 网络排阻 阻值(欧姆):100 电阻器数:4 精度:±5% 每元件功率:1/16W 温度系数:±200ppm/°C 点击下载
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-12 03:39:44

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved