pcsms_6Ym6i0fW 发表于 2020-12-6 22:04:12

J20航模遥控器开源项目系列教程(一)制作教程【续】

本帖最后由 pcsms_6Ym6i0fW 于 2020-12-6 23:45 编辑

我们的开源宗旨:自由 协调 开放 合作 共享拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~和一群志同道合的人,做自己所热爱的事!项目开源地址:https://github.com/J20RC/STM32_RC_Transmitter码云(Gitee)地址:https://gitee.com/J20RCQQ交流群:1091996634 【密码:J20】3. 烧写固件如果你的电脑安装了keil软件,那么编译工程再进行烧录即可,这里不再赘述,可参考笔者的这篇博客:https://blog.csdn.net/weixin_42268054/article/details/106878860如果你的电脑没有keil软件,又不打算开发调试源代码,那么这里推荐使用STM32 ST-LINK Utility软件。软件介绍、下载、安装、使用请参考strongerHuang的这篇博客:https://blog.csdn.net/ybhuangfugui/article/details/52597133先将ST-LINK下载器连接STM32开发板,接线如下:
                GND   电源地
                3V3   接3.3v
                SWCLK 接DCLK
                SWDIO 接DIO打开软件,点击该按钮进行连接;data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​点击Target》Program...; data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​点击Browse,打开遥控器端或者接收机端的hex文件,点击Start进行烧写;data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​看到提示信息即说明烧写完成。 data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​4. 常见问题汇总与解答
[*]遥控器供电方案
由于使用L7805CD2T降压芯片来获得5V,它的输入电压是5-35V。data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​而一节锂电池(比如18650锂电池)的电压是3.7V-4.2V,所以要串联2节或者3节锂电池才能达到电压的要求。但是电池串联起来,平衡充电是个问题,所以这里笔者的建议是使用充放电一体模块(下图)。 用一节锂电池或者多节并联即可,3.7V通过这个模块升压到5V—7V,再输入给L7805CD2T,直接使用这个模块的microUSB口充电即可。data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​
[*]什么是通道,什么是8通道?
通俗来说,一个通道指的就是一个电位器或者钮子开关,遥控器所用的电位器遥杆实际上包含的是XY两个方向的电位器,所以一个遥杆包含的是两个通道,左右手两个遥杆加起来就是前4个通道,这4个通道是主要的控制通道,分别控制飞机的横滚、俯仰、油门和航向,对于固定翼来说,就是副翼、升降舵、油门和方向舵。而后4个通道是辅助通道,由单独的电位器或者钮子开关组成,用来控制飞机的模式、解锁、控制云台等等。data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​对于MCU(Microcontroller Unit,简称MCU,即微控制单元,又称单片微型计算机(Single Chip Microcomputer )或者单片机,我们使用的STM32/STM8/C51都可以称为MCU)来说,一个通道就是一个ADC引脚,电位器或者钮子开关的作用就是让用户操作产生电压的变化,而ADC的作用就是采集电压的大小,从而得到用户的输入值,再进行下一步的处理。
[*]hex文件大于64k,为什么能烧录进FLASH=64k的最小系统板?
实际上hex文件包含了许多信息,要经过编译成二进制文件之后才会烧录进MCU,烧录进MCU的文件大小大约是hex文件大小的一半。要想看有多少烧录进MCU,可查看keil软件编译出来的信息,其中Code+RO Data+RW Data会烧录进FLASH中,18140+9468+2124=29732(再除以1024,约29k),程序运行的时候:RW Data + ZI Data。data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​5. 文件下载固件:       J20RC_ReceiverBase_V1.0.hex
                  J20RC_TransmitterBase_V1.0.hex
源代码:    文件夹
原理图:    J20航模遥控器_基础版V1.0原理图.pdf
开发相关:[常用软件] 文件夹
                  STM32F103C8T6数据手册_V10.pdf
                  STM32中文参考手册_V10.pdf这里提供四种下载方式,每种方式各有利弊,大家自行选择哈~
[*]CSDN(下载速度快,但是需要积分)
https://download.csdn.net/download/weixin_42268054/12679008
[*]百度网盘(下载速度慢,但是可白嫖)
链接:https://pan.baidu.com/s/1rt9wa9yzWnbCm6uXZxR6jw 提取码:J20R
[*]QQ群(下载速度快,可白嫖)
QQ交流群:1091996634 【密码:J20】
[*]Github(下载速度慢,可白嫖,可实时获取更新)
https://github.com/J20RC/STM32_RC_Transmitter6. 焊接技巧(1)烙铁头保养士兵要保养自己的钢枪,学生要爱护自己的笔杆子,而对于电子爱好者,就是要保养好烙铁了。新买来的烙铁,在第一次使用时,需要先接电待温度达到能融化焊锡,给烙铁头均匀包裹焊锡,这样能防止烙铁头氧化,确保烙铁头沾锡。每次使用完烙铁,需要清洁烙铁头(使用湿润的高温海绵或者清洁钢丝球),然后均匀涂上焊锡。不要拿烙铁烫塑料!不要拿烙铁烫塑料!不要拿烙铁烫塑料!(2)焊接焊接洞洞板和插针时,笔者喜欢用尖头;焊接贴片元件,使用刀头,可以根据自己的习惯来。焊接时,确保烙铁头沾锡,这样能使焊锡浸润焊点,让焊点得到均匀快速地升温。烙铁头接触焊点3-5秒后,再将焊锡丝怼到焊点上,最后拿开烙铁。焊接教学视频 https://www.bilibili.com/video/BV1eJ411K7rM(3)走锡方法一:先将两个点焊在一起,中间间隔一个点,待焊锡冷却后,再回来将剩下的一个点焊上。如果直接将所有点连在一起,会导致焊锡都处于液态,全部粘连到了一起,不易控制焊锡走向。
方法二:借助铜线控制走向,先将铜线固定,再走锡就比较容易了。(可以使用电阻上多余的线)


(4)清洗焊接完成后,用刷子(旧牙刷即可)蘸着酒精(家里的白酒也可)或者洗板水,刷一下焊点和走锡,去除焊接遗留的杂质,防止对电路产生不必要的干扰。最后,用万用表的蜂鸣档测试各线路是否连接正确,尤其是GND和VCC!写在最后首先感谢项目中所有的贡献者!(截止2020.08.01) * 蔡子CaiZi(B站up主)https://space.bilibili.com/349576976
* A-XIN;
* 小何;
* ZL_Studio(B站up主)https://space.bilibili.com/364251289
* 王天天@WangTiantian139https://wangtiantian139.github.io/
* 刘桶桶;
* 简繁;
* 王博;
* 与非门;
* Talons;
* 大米粥;
* P a S S ||;
* 佚名;
* 小吴;特别感谢正点原子提供的STM32例程和开源社区http://www.openedv.com/由于笔者学业繁忙,时间有限,无法投入过多的精力,所以欢迎更多学有余力的模友,加入到项目的开发和维护工作中哈,现在基础的程序框架已经搭建完成,剩下的要做的就是填充、优化和扩展了,有意愿的模友加群后请私聊群主喔~QQ交流群:1091996634 【密码:J20】本文欢迎转载,请注明出处哈~

飞天狼 发表于 2020-12-10 21:14:35

都是高手
页: [1]
查看完整版本: J20航模遥控器开源项目系列教程(一)制作教程【续】