咱们的开源宗旨:自由 协调 开放 合做 共享git
拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入咱们哈~github
和一群志同道合的人,作本身所热爱的事!app
项目开源地址:https://github.com/Cai-Zi/STM32_RC_Transmitter 框架
QQ交流群:1091996634 【密码:J20】ide
通过近一个月的开发,基础版V1.0终于能够发布了,基础的8通道遥控功能已经实现,能知足平常飞行需求。更多人性化的功能还有待完善,接下来会持续维护。基础版教程分为了三篇文章——制做教程、使用说明、开发说明,面向不一样人群的需求,你们各取所需哈~模块化
之因此称为基础版,是由于这个版本的制做成本和门槛都比较低,面向初学者。采用最小系统板,不用焊接太多芯片,9元的烙铁基本能搞定。PCB文件待咱们的项目成员画好后再发布,可加QQ群实时关注动态哈~测试
你的烙铁是否已经饥渴难耐,不要着急,“兵马未动,粮草先行 ”,咱们先来购物一波~优化
如下购物列表的商品基本能够一站式购齐,若是要推荐一家电子店铺的话,那就是优信电子了,每种商品基本都是比较便宜的,6块6包邮解君愁!ui
或下面这种冷启动的,咱们不用它下载程序,也能知足需求编码
调试STM32性价比极高,可烧写程序,可断点调试
若是你手上有旧遥控器的话,直接改造也可。
这是笔者找遍全网性价比最高的遥控器外壳了,15元不包邮,上面的遥杆基本能知足需求。
这款遥杆和上面遥控器上的同款,都是自动回中的,不适合做为油门的遥杆,因此经济条件容许的话,仍是直接买上面的遥控器外壳吧~
极不推荐那种蘑菇头的遥杆,手感太差,容易炸鸡!
集芯微这家一个ID可购买两个样品,价格较低,再配个天线便可。
铜管天线配上面的模块(IPEX接头)
胶棒天线用于下面的模块(内针)
接收机端可选用这种100m的,两种引脚定义同样。
辅助通道用,二者总数量4个,可互相替代,看我的需求
轻触开关选用7mm高的,便于安装按键帽
OK,如今您的购物车应该已经加满了,清空它吧~等待快递期间先看看电路图
这里不得不提一句,DIY并不必定能省钱,对于初学者来讲,买一套电子元件和烙铁,甚至比买成品更贵。省钱只是DIY的反作用,感觉DIY的乐趣才是第一位的!
遥控器端的电路比较复杂,先来看原理图。几乎把全部的引脚全用光了,能够说榨干了这个最小系统板。它提供了10个ADC的引脚,这里一个做为遥控器电池的电压检测,一个被编码器占用,剩下8个所有用做通道采集,因此基础版是8通道的遥控器。没有更多ADC可用,通道也就没法扩充了。因此进阶版和豪华版会采用其余芯片,以实现更多通道!
有网友说,看不懂这种模块化的原理图,更习惯看全部线连在一块儿的。
好的,没有问题,这里也提供实物链接图~ (笔者画了一上午)
好的,如今映入您眼帘的是一团乱麻,尽情飞线吧~(大概六七十根线)
要注意的是,无线模块和STM32最小系统板之间的连线必定要链接好,最好用排线,尤为是NRF_SCK、NRF_MISO、NRF_MOSI三根线是SPI通讯主要的数据线,应避免缠绕,防止有寄生电容什么的干扰通讯。
这里复用了ch1left【home键】、ch2up【返回】、ch2down【肯定】、ch4left【数值-】、ch4right【数值+】五个微调按键,OLED屏幕显示主界面的时候,是微调功能;非主界面的时候,做为【】里面的功能。为了操做方便,可复制这几个按键,尤为是返回键和肯定键,和旋转编码器放到一块儿,怎么舒服怎么来。
接收机端相比来讲就简单多了,先看原理图。这里暂时仍是用的最小系统板,体积比较大,如今只是做为验证电路。咱们计划开发STM8/STM32/C51三种类型的接收机,针对体积小和多通道等不一样需求,等发布后再制做接收机也能够。
无线模块竖着放
横着放
也能够倒着放
最后,用万用表的蜂鸣档测试各线路是否链接正确,尤为是GND和VCC!
若是你的电脑安装了keil软件,那么编译工程再进行烧录便可,这里再也不赘述,可参考笔者的这篇博客:
https://blog.csdn.net/weixin_42268054/article/details/106878860
若是你的电脑没有keil软件,又不打算开发调试源代码,那么这里推荐使用STM32 ST-LINK Utility软件。软件介绍、下载、安装、使用请参考strongerHuang的这篇博客:
http://www.javashuo.com/article/p-mjxjipel-ky.html
先将ST-LINK下载器链接STM32开发板,接线以下:
GND 电源地
3V3 接3.3v
SWCLK 接DCLK
SWDIO 接DIO
打开软件,点击该按钮进行链接;
点击Target》Program...;
点击Browse,打开遥控器端或者接收机端的hex文件,点击Start进行烧写;
看到提示信息即说明烧写完成。
因为使用L7805CD2T降压芯片来得到5V,它的输入电压是5-35V。
而一节锂电池(好比18650锂电池)的电压是3.7V-4.2V,因此要串联2节或者3节锂电池才能达到电压的要求。可是电池串联起来,平衡充电是个问题,因此这里笔者的建议是使用充放电一体模块(下图)。 用一节锂电池或者多节并联便可,3.7V经过这个模块升压到5V—7V,再输入给L7805CD2T,直接使用这个模块的microUSB口充电便可。
通俗来讲,一个通道指的就是一个电位器或者钮子开关,遥控器所用的电位器遥杆实际上包含的是XY两个方向的电位器,因此一个遥杆包含的是两个通道,左右手两个遥杆加起来就是前4个通道,这4个通道是主要的控制通道,分别控制飞机的横滚、俯仰、油门和航向,对于固定翼来讲,就是副翼、升降舵、油门和方向舵。然后4个通道是辅助通道,由单独的电位器或者钮子开关组成,用来控制飞机的模式、解锁、控制云台等等。
对于MCU(Microcontroller Unit,简称MCU,即微控制单元,又称单片微型计算机(Single Chip Microcomputer )或者单片机,咱们使用的STM32/STM8/C51均可以称为MCU)来讲,一个通道就是一个ADC引脚,电位器或者钮子开关的做用就是让用户操做产生电压的变化,而ADC的做用就是采集电压的大小,从而获得用户的输入值,再进行下一步的处理。
实际上hex文件包含了许多信息,要通过编译成二进制文件以后才会烧录进MCU,烧录进MCU的文件大小大约是hex文件大小的一半。要想看有多少烧录进MCU,可查看keil软件编译出来的信息,其中Code+RO Data+RW Data会烧录进FLASH中,18140+9468+2124=29732(再除以1024,约29k),程序运行的时候:RW Data + ZI Data。
固件: J20RC_ReceiverBase_V1.0.hex
J20RC_TransmitterBase_V1.0.hex
源代码: [KEIL5工程源代码] 文件夹
原理图: J20航模遥控器_基础版V1.0原理图.pdf
开发相关:[经常使用软件] 文件夹
STM32F103C8T6数据手册_V10.pdf
STM32中文参考手册_V10.pdf
这里提供四种下载方式,每种方式各有利弊,你们自行选择哈~
https://download.csdn.net/download/weixin_42268054/12679008
百度网盘(下载速度慢,可是可白嫖)
连接:https://pan.baidu.com/s/1rt9wa9yzWnbCm6uXZxR6jw
提取码:J20R
QQ交流群:1091996634 【密码:J20】
https://github.com/Cai-Zi/STM32_RC_Transmitter
士兵要保养本身的钢枪,学生要爱护本身的笔杆子,而对于电子爱好者,就是要保养好烙铁了。
新买来的烙铁,在第一次使用时,须要先接电待温度达到能融化焊锡,给烙铁头均匀包裹焊锡,这样能防止烙铁头氧化,确保烙铁头沾锡。
每次使用完烙铁,须要清洁烙铁头(使用湿润的高温海绵或者清洁钢丝球),而后均匀涂上焊锡。
不要拿烙铁烫塑料!不要拿烙铁烫塑料!不要拿烙铁烫塑料!
焊接洞洞板和插针时,笔者喜欢用尖头;焊接贴片元件,使用刀头,能够根据本身的习惯来。
焊接时,确保烙铁头沾锡,这样能使焊锡浸润焊点,让焊点获得均匀快速地升温。烙铁头接触焊点3-5秒后,再将焊锡丝怼到焊点上,最后拿开烙铁。
焊接教学视频 https://www.bilibili.com/video/BV1eJ411K7rM
方法一:先将两个点焊在一块儿,中间间隔一个点,待焊锡冷却后,再回来将剩下的一个点焊上。
若是直接将全部点连在一块儿,会致使焊锡都处于液态,所有粘连到了一块儿,不易控制焊锡走向。
方法二:借助铜线控制走向,先将铜线固定,再走锡就比较容易了。(可使用电阻上多余的线)
最后,用万用表的蜂鸣档测试各线路是否链接正确,尤为是GND和VCC!
首先感谢项目中全部的贡献者!(截止2020.08.01)
* 蔡子CaiZi(B站up主) https://space.bilibili.com/349576976
* A-XIN;
* 小何;
* ZL_Studio(B站up主)https://space.bilibili.com/364251289
* 王每天@WangTiantian139 https://wangtiantian139.github.io/
* 刘桶桶;
* 简繁;
* 王博;
* 与非门;
* Talons;
* 大米粥;
* P a S S ||;特别感谢正点原子提供的STM32例程和开源社区http://www.openedv.com/
因为笔者学业繁忙,时间有限,没法投入过多的精力,因此欢迎更多学有余力的模友,加入到项目的开发和维护工做中哈,如今基础的程序框架已经搭建完成,剩下的要作的就是填充、优化和扩展了,有意愿的模友加群后请私聊群主喔~
QQ交流群:1091996634 【密码:J20】
本文欢迎转载,请注明出处哈~