ESP32C3小飞控调试

ESP32C3小飞控调试 - 1

ESP32C3小飞控板赶在国庆节前发出打样,假期后上班就收到了样板,但是迟迟没有动手调试,这两天终于抽出时间调试了,调试过程还算顺利,基本没有遇到什么大问题,下面记录一下调试过程。

原理图

ESP-FC原理图

比计划中多加了一个大气压力传感器,用作测高。主要特性:

  • 单串锂电池供电,最大工作电压5.5V
  • 电源电压、电流感测
  • 锂电池温度感测
  • DCDC降压电源,效率90%以上
  • 3轴加速度计,3轴陀螺仪
  • 气压计,高度精度10cm
  • 2路动力电机通道,支持电流感测
  • 2路数字IO通道
  • USB TypeC接口,调试和烧写程序
  • 1路串口,可用于连接GPS

PCB

ESP-FC PCB

板形主要是为了跟3d打印的机头座舱配合:
电路板座

这个安装座下面固定飞控电路板,上面装电池:

电池安装

电路板安装

电路板除了ESP32C3 WiFi模块和气压计都是打样直接贴好的,板子收到后焊ESP32C3模块出了一点问题,5片样板只有一片一次点亮。

1/5一次点亮

还是大意了啊!是用加热台焊的,没有低温锡膏,就用的中温锡膏,加热台调到200℃,没点亮的板子主要的问题就是模块焊盘没有预先上锡。这个LGA焊盘较多,且很多GND焊盘,用加热台时会导致模块上的焊盘温度不够而不上锡,预先上好锡后,再次放加热台上面,焊锡熔化后再稍微压一下模块,就OK了。

调试

这两天把ADC、I2C、PWM、WiFi都单独跑通了,开始陆续整合,今天把动力电机的调试记录一下。

程序主要就是ADC和PWM的初始化,加上设置PWM占空比和获取ADC读数的函数,比较简单。将WiFi模块连接到局域网后,通过udp通信,由PC控制占空比,并获取ADC读数。

ESP32C3的PWM占空比分辨率还是很高的,5kHz频率下有13位,即8192,我在上位机程序中每0.1s发送一次数据,将占空比加100,加到4000后再每次减100。

ESP32C3小飞控试车

终端窗口中左侧是ESP32C3的调试输出,显示udp通信源地址和收到的占空比数值;右侧是控制端程序输出,有3列,分别是占空比、电机通道1的ADC读数、电机通道2的ADC读数。

从视频中可以看到,单个电机在50%占空比下,静态推力在14g左右,ADC电流值还没校准,显示的是原始读数,精度为12位,即4096。

附上测试程序:

import socket
import time
import structclient_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)server_ip = '192.168.1.79'
server_port = 3333
server_address = (server_ip, server_port)while True:for i in range(80):if i > 40:pwm = 8000 - i * 100else:pwm = i * 100client_socket.sendto(pwm.to_bytes(4, "little") + pwm.to_bytes(4, "little"), server_address)data, _ = client_socket.recvfrom(1024)data1, data2 = struct.unpack("<ii", data)print(pwm, data1, data2)time.sleep(0.1)client_socket.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信可以注册小号啦,看看怎么操作

微信支持同一手机号绑定两个账号啦&#xff01; 生活号和工作号可以分开啦&#xff5e;实用又简单&#xff01; 详细步骤如下&#xff1a; ①点击微信-我的-设置 ②点击“切换账号” ③点击“添加账号” ④点击“注册新账号” ⑤点击“通过当前微信的手机号辅助注册” ⑥安…

建议收藏《Verilog代码规范笔记_华为》

华为verilog编程规范是坊间流传出来华为内部的资料&#xff0c;其贴合实际工作需要&#xff0c;是非常宝贵的资料&#xff0c;希望大家善存。至于其介绍&#xff0c;在此不再赘述&#xff0c;大家可看下图详细了解&#xff0c;感兴趣的可私信移知教育老师领取《Verilog代码规范…

超长圆钢在线直线度检测 告别手工测量时代

圆钢的直线度指的是它的表面形状是否呈现出直线。直线度是圆钢的重要品质要求之一&#xff0c;与其物理性能密切相关。在工业制造中&#xff0c;如果圆钢的直线度不达标&#xff0c;就会影响其后续的加工和使用效果&#xff0c;严重时甚至会造成损失。 超长圆钢的检测&#xff…

4-4有人写了一个函数

#include<stdio.h> int main(){int x,y;for(int i0;i<3;i){printf("输入x:");scanf("%d",&x);if(x<0){y(-1);printf("x%d的结果是y%d\n",x,y);}else if(x>0){y1;printf("x%d的结果是y%d\n",x,y);}else{y0;printf(&…

多表查询内连接、外连接、子查询、笛卡尔积

1.1 多表查询&#xff1a;从多张表中进行查询 仅仅使用select * from tb_emp,tb_dept查询语句会显示如下结果&#xff08;笛卡尔积&#xff1a;两个表的所有的组合情况&#xff09;其中很大部分数据是冗余的。 1.2内连接&#xff1a;相当于查询A,B表交集部分的数据&#xff08…

作为电子信息工程的学生,学完stm32后,是应该学fpga还是Linux?

作为电子信息工程的学生&#xff0c;学完stm32后&#xff0c;是应该学fpga还是Linux? 我自己也是电子信息工程专业出身&#xff0c;FPGA和Linux都是我们大三的专业课&#xff0c;都学过基础也做了基础 的项目&#xff0c;我自己的选择是Linux。最近很多小伙伴找我&#xff0c…

预包装食品备案与食品经营许可证两者的关系

在食品行业中&#xff0c;预包装食品备案和食品经营许可证是两个重要的概念。它们之间存在一定的关系&#xff0c;但又不完全相同。本文将详细介绍两者的定义、区别和联系。 一、预包装食品备案 预包装食品备案&#xff0c;是指对预包装食品的生产者或进口商进行备案登记的一种…

【kafka】使用docker启动kafka

1.环境准备 docker拉取zookeeper镜像 docker pull zookeeper:3.4.14 创建zookeeper容器&#xff0c;默认端口号为2181 docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14 拉取kafka镜像 docker pull wurstmeister/kafka:2.12-2.3.1 创键kafka容器&#xff…

OpenCV [c++](图像处理基础示例小程序汇总)

OpenCV [c++](图像处理基础示例小程序汇总) 推荐 原创 NCUTer 2023-04-04 14:18:49 文章标签 Image 图像处理 文章分类 计算机视觉 人工智能 在51CTO的第一篇博文 阅读数1467 一、图像读取与显示 #include<opencv2/opencv.hpp> #include<iostream>using…

git修改commit历史提交时间、作者

1、修改最近的几条记录&#xff0c;进入提交记录列表&#xff0c;修改提交记录模式 git rebase -i HEAD~3 // 修改最近的三条记录&#xff0c;顺序排列按提交时间升序 指令说明&#xff1a; pick&#xff1a;保留该commit&#xff08;缩写:p&#xff09; reword&#xff1a…

迎接“全全闪”时代 星辰天合发布星海架构和星飞产品

11 月 17 日&#xff0c;北京市星辰天合科技股份有限公司&#xff08;简称&#xff1a;XSKY星辰天合&#xff09;在北京首钢园举办了主题为“星星之火”的 XSKY 星海全闪架构暨星飞存储发布会&#xff0c;到场嘉宾共同见证了全新的分布式全闪架构“星海&#xff08;XSEA&#x…

redis非关系型数据库

redis非关系型数据库&#xff0c;缓存型数据库 关系型数据库和非关系型数据库的区别 关系型数据库 关系型数据库是一个结构化的数据库。 记录方式&#xff1a;行和列 行的作用&#xff1a;记录对象的属性 列的作用&#xff1a;声明对象 表与表之间是有关联的&#xff1a…

代码模版-实现form表单输入框和label统一对齐,vue+elementui

文章目录 背景代码 背景 通过 vue elementUI 实现 form 表单中输入框还有 label 统一对齐 代码 el-form 中每个 el-form-item 都是一个单独的小项目&#xff0c;默认 el-form-item 都是换行的&#xff0c;除非加上:inline"true" 属性&#xff0c;就是表示弄成一…

Windows通过ssh连接远程服务器并进入docker容器

Windows操作系统可以使用vscode通过ssh远程连接ubuntu服务器&#xff1a; 首先下载安装vscode&#xff0c;然后安装插件Remote-SSH&#xff1a; 通过ctlshiftP可以打开Remote-SSH&#xff1a;connect to host&#xff1b; 输入ssh Userhostname -p port host和hostname对应的是…

【计算机网络笔记】ICMP(互联网控制报文协议)

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Tomcat web.xml文件中的mime-mapping

在Tomcat安装目录的conf/web.xml文件中&#xff0c;定义了大量的<mime-mapping>元素&#xff0c;例如&#xff1a; 其中<extension>指定了文件的扩展名&#xff0c;<mime-type>指定了mime类型&#xff0c;放在<mime-mapping>元素中&#xff0c;就是将…

排列数字(DFS深度优先搜索)

给定一个整数 n&#xff0c;将数字 1∼n 排成一排&#xff0c;将会有很多种排列方法。 现在&#xff0c;请你按照字典序将所有的排列方法输出。 输入格式 共一行&#xff0c;包含一个整数 n。 输出格式 按字典序输出所有排列方案&#xff0c;每个方案占一行。 数据范围 …

非上市公司的财务报表可以找到吗?

企业财务报表 财务报表是反映企业或预算单位一定时期资金、利润状况的会计报表。我国财务报表的种类、格式、编报要求&#xff0c;均由统一的会计制度作出规定&#xff0c;要求企业定期编报。国营工业企业在报告期末应分别编报资金平衡表、专用基金及专用拨款表&#xff0c;基…

LeetCode | 19. 删除链表的倒数第 N 个结点

LeetCode | 19. 删除链表的倒数第 N 个结点 OJ链接 思路&#xff1a; 定义虚拟头节点dummy并初始化使其指向head然后定义快慢指针让快指针先走n步然后一起走最后删除倒数第n个节点然后释放虚拟节点dummy struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {…