单片机STM32直连电调控制航模涵道电机的方法总结

2023-05-16

单片机STM32直连电调控制航模涵道电机的方法总结

文章目录

  • 单片机STM32直连电调控制航模涵道电机的方法总结
  • 前言
  • 一、硬件情况
  • 二、涵道电机两种常见的驱动方式
    • 1.有线控制方式
    • 2.无线控制方案
  • 解决方案


前言

由于项目需要,我需要用单片机来控制涵道电机完成相应动作,这个任务看似简单,但是我在尝试的过程中遇到了很多问题,我将在这里记录我的解决思路和方案。


一、硬件情况

我使用的涵道电机型号为 3S 3900KV,最大电压12.6V,最大电流52A,最大推力1180g,满载功率655W;电调为50A电调;单片机使用的是正点原子探索者STM32开发板。其他的电机和开发板也都能做到,这个影响不大。
电机的淘宝界面图片与参数如下在这里插入图片描述在这里插入图片描述

二、涵道电机两种常见的驱动方式

1.有线控制方式

由于本人没有航模相关经验,对这一方面知之甚少。在咨询淘宝客服后了解到:有线控制是指电池组、电子调速器、风机三者相连,而控制风机的信号由航模卖家赠送的小板子提供。淘宝示意图如下,非常清晰易懂在这里插入图片描述

2.无线控制方案

这也就是最常用的控制方案,这总方案与上一种方案相比,多了一个接收器和遥控器(下面图中未标定)。首先由遥控器向接收器发送信号,由接收器解码后传送给电子调速器,进而控制电机转速。
在这里插入图片描述

如过想直接通过单片机控制电机转动,单片机需要扮演接收机的角色,直接向电调发送合适的信号来控制电机的运动。


解决方案

首先,最重要的一点信息是 航模电调接收50HZ,周期20ms,占空比为5%-10%的PWM信号。
但经过我的实际操作发现,即便是向电调发送该PWM信号,电机依旧无法正常启动,原因就藏在电调说明书里:

  • 油门行程设定:为了让电调适应遥控器的油门行程,在首次使用或更换其他遥控器使用时均需要重新设定油门行程。由于我们使用单片机来模拟接收机来发送信号,我个人建议每次开机都需要完成这个油门行程设定。
  • 具体思路如下:先给电机上电,听到“123”鸣叫提示后,给stm32通电。stm32中编写的程序需要完成以下过程,首先在开机时输出油门最高点信号(50HZ,占空比为10%的PWM信号),通过定时器中断让该信号持续2-3秒(此时电机应该发出“哔-哔-”两声,表示油门最高点确认),紧接着输出油门最低点信号(50HZ,占空比为5%的PWM信号)持续3秒(此时电机应短鸣N声,N表示你当前接入的电池节数,然后一声“哔–”表示油门最低点确认),经过这一过程后,电机的油门行程设置就已经完成了,可以输入一个区间内的信号来控制电机了。
  • 我所输出的PWM信号等配置值供大家参考:
	TIM14_PWM_Init(20000-1,84-1);	//84M/84=1Mhz的计数频率,重装载值设定为20000,频率为1M/20000=50hz.
	TIM_SetCompare1(TIM14,17600);	//最高点油门对应的PWM信号,写在计时器中断函数中,不要写在main函数的while(1)里!!!
	TIM_SetCompare1(TIM14,19000);	//最低点油门对应的PWM信号,写在计时器中断函数中,不要写在main函数的while(1)里!!!
	TIM3_Int_Init(5000-1,8400-1); 	//定时器中断设定周期为0.5S,在定时器中断函数中实现持续几秒这一功能
  • 最后,附上空模无刷马达电子调速器ESC的说明书供大家开发时参考,没能找到电子版,用手机拍下来大家将就着看看。在这里插入图片描述在这里插入图片描述如果在这过程中大家还遇到什么问题,欢迎给我留言评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单片机STM32直连电调控制航模涵道电机的方法总结 的相关文章

  • 巧妙理解电气基础理论

    一 电与水相联系 电是看不见 摸不着 低压 的 xff0c 要想掌握它的特性 xff0c 全靠资料上的介绍和自己的想象 xff0c 确实难于理解 水是我们非常熟悉的 xff0c 它既看得见 xff0c 也模得着 xff0c 人们每天都离不开
  • 我们身边的人工智能应用

    人工智能是在计算机科学 控制论 信息论 心理学 语言学等多种学科相互渗透的基础发展起来的一门新兴边缘学科 xff0c 主要研究用用机器 xff08 主要是计算机 xff09 来模仿和实现人类的智能行为 xff0c 经过几十年的发展 xff0
  • C++资源之不完全导引

    C 43 43 资源之不完全导引作者 xff1a 曾毅 陶文 文章来源 xff1a csdn 点击数 xff1a lt script language 61 34 javascript 34 src 61 34 Article GetHit
  • 揭开C/C++中数组形参的迷雾

    揭开C C 43 43 中数组形参的迷雾作者 xff1a 乾坤一笑 文章来源 xff1a 本站原创 点击数 xff1a lt script language 61 34 javascript 34 src 61 34 Article Get
  • 瑞芯微rk1126 编译mp4v2记录 rk1126移植 ffmpeg X264

    项目需求需要录像存储为mp4文件 并且要支持H264 H265 我们之前在海思平台上用的是mp4v2 想着直接拿过来用 从github上 下载完mp4v2之后 新建一个build文件夹 然后cd到build文件夹新建一个build sh内容
  • 郁闷

    01 面对忧郁要处之泰然 xff0c 因为悲伤是必经的常态 02 找些事情做 xff0c 转移注意力 xff0c 例如散步 下棋 骑脚踏车 阅读等 03 从记忆中寻找快乐 04 找朋友顷诉 xff0c 加以发泄 05 大哭一场 xff0c
  • 2.14 STM32 串口传输最佳处理方式 FreeRTOS+队列+DMA+IDLE (二)

    紧接着上一篇文章 如何合理处理多个串口接收大量数据 此种方法 很厉害 很NB 首先 利用DMA 可节省大量CUP资源 其次 利用IDLE空闲中断来接收位置个数的数据 最后利用串口DMA环形数据的偏移量 长度 入队 出队处理数据 保证了任务的
  • 无人机/无人车仿真软件学习与实践---序言

    之前读博的时候一直使用团队自主设计的无人车在路上做实验 xff0c 验证感知代码时则使用公开数据集和车上实时录制的bag包进行 xff0c 对仿真器的掌握程度一直存在于听说有这么一个东西的程度 毕业之后 xff0c 新加入的团队主要搞的是无
  • stm32 nucleo f746zg串口中断接受数据入门

    使用串口1 将rx和tx对接 使用串口3 通过pc 来打印信息 main中的函数为 xff1a span class token function HAL UART Receive IT span span class token punc
  • stm32 hal iwip EchoClient demo 使用

    tcp echoclient c span class token comment 64 file LwIP LwIP TCP Echo Client Src tcp echoclient c 64 author MCD Applicati
  • esp32点灯程序

    使用的pin为D23 span class token macro property span class token directive hash span span class token directive keyword inclu
  • esp32串口发送

    串口2 xff0c rx 16 和 tx 17 span class token macro property span class token directive hash span span class token directive
  • esp32串口收发echo

    span class token comment SPDX FileCopyrightText 2010 2022 Espressif Systems Shanghai CO LTD SPDX License Identifier CC0
  • esp32定时器timer 代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 瑞芯微RK1126平台 用FFmpeg 将H264 H265视频流保存为MP4文件

    之前尝试ffmpeg保存MP4文件没有成功 今天周末没事 尝试了下 解决这个问题了 主要是打开文件设置encoder和 发送数据时候 pts的设置 nbsp 打开文件的地方 pHandle gt is record ready store
  • esp32 连接wifi ap热点代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • esp32 tcp socket客户端收发代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • esp32 event loop handle 代码

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • esp32 ble gatt server创建多个Characteristic

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • freertos入门之创建Task

    基于esp32平台 span class token macro property span class token directive hash span span class token directive keyword includ

随机推荐

  • freertos入门之queue

    基于esp32 平台 参考 xff1a https www freertos org fr content src uploads 2018 07 161204 Mastering the FreeRTOS Real Time Kernel
  • freertos入门之binary semaphore

    基于esp32 平台 参考 xff1a https www freertos org fr content src uploads 2018 07 161204 Mastering the FreeRTOS Real Time Kernel
  • freertos入门之EventGroup

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • freertos入门之Timer

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • freertos入门之StreamBuffer

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • 设置cpp-httplib 服务器模式模式下的线程池大小 以及如何增加默认处理函数 以便能够实现http请求转发

    先说说默认的创建的线程池数量 原因是某天调试在gdb调试下 一启动程序发现 开启了好多线程 如下图 因为我们程序 没几个线程 数了下 居然有60多个线程 不需要那么多 所以看下 httplib的源码 构造函数的时候 设置了最大线程池数量 看
  • freertos入门之StreamBuffer

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • arduino-esp32 入门之wifi连接热点

    参考 xff1a https github com espressif arduino esp32 blob master libraries WiFi examples WiFiClient WiFiClient ino span cla
  • esp32-arduino入门之点亮led

    参考 xff1a https learncplusplus org how to program arduino with c span class token macro property span class token directi
  • stm32 学习资料汇总

    外设库以及example xff1a Google 搜索 STM32 Standard Peripheral Libraries
  • HttpClient学习研究---第四章:HTTP authenticationHTTP身份验证

    第四章 HTTP authentication HTTP身份验证 HttpClient provides full support for authentication schemes defined by the HTTP standar
  • Linux系统下常用的3个网络测试工具!

    在Linux系统中 xff0c 有很多用于管理和监测网络连接的命令 xff0c 其中ping traceroute和nslookup是比较常用的网络命令 xff0c 可以用来测试网络 诊断网络故障等等 xff0c 以下是详细的内容 xff1
  • TCP.02.SELECT模型

    文章目录 SELECT模型简介SELECT模型流程SELECT原理SELECT代码实现fd set 数组及基本操作SELECT函数参数2 xff08 重点 xff09 参数3参数4 关闭所有SOCKET句柄处理控制台窗口关闭事件整体代码思考
  • Node.js http 模块详解:request 对象

    前言 前文介绍了 http 模块的基本用法 xff0c 主要就是调用 createServer 和 listen 方法来创建和启动服务 要处理具体的 HTTP 请求 xff0c 就要在 createServer 方法中写点什么 本文来介绍处
  • 如何确认串口波特率

    文章目录 1 盲扫一遍2 示波器测量1bit时间3 逻辑分析仪确认 背景 xff1a 手上有一个模块使用串口通信但是不知道其波特率 xff0c 如何确认它的波特率呢 xff1f 1 盲扫一遍 波特率有常用的配置9600 115200 230
  • curl命令常用参数

    curl命令常用参数 curl简介常用方法将远程文件下载到本地 o并指定名称指定请求方式 X显示响应结果 v携带用户名 密码 u携带请求头 H查看服务端响应头 i只显示http response的头信息 I自动跳转 L模拟dns解析 res
  • 学习ZLmediaKit流媒体服务器时候遇到的问题

    照zlmediakit的源码 自己复制了一份 然后有的地方编译不过修改了部分 测试的时候发现有两个问题 第一是 ffmpeg的ffplay 能播放 vlc不能播放 第二个问题是directProxy设置为0的时候 推流的时候 然后用ffpl
  • 如何在C/C++中使用pi (π) 值

    在math h有一个宏定义M PI if defined USE MATH DEFINES amp amp defined MATH DEFINES DEFINED define MATH DEFINES DEFINED Definitio
  • 关于#include<bits/stdc++.h>

    偶然发现 span class hljs preprocessor include lt bits stdc 43 43 h gt span 包括了C 43 43 几乎所有的头文件 xff0c 感觉以后可以返璞归真了 回顾自己不长的竞赛历程
  • 单片机STM32直连电调控制航模涵道电机的方法总结

    单片机STM32直连电调控制航模涵道电机的方法总结 文章目录 单片机STM32直连电调控制航模涵道电机的方法总结前言一 硬件情况二 涵道电机两种常见的驱动方式1 有线控制方式2 无线控制方案 解决方案 前言 由于项目需要 xff0c 我需要