pwm

STM32F103最小系统板制作FPV穿越机(从零到起飞全面教程!)

拜拜、爱过 提交于 2021-02-07 11:48:20
STM32F103最小系统板制作FPV穿越机(从零到起飞全面教程!) 前言(心理建设) 上个学期学习了嵌入式开发课程,对于自主开发智能小车和手环产生了浓厚兴趣,但是这些项目都是同学们玩剩下了,所以寒假决定利用stm32F1做无人机,但是无人机的代码工程量很大,一番查找资料后决定制作穿越机,直接烧写固件(其实也是借鉴@caizi大佬),大家可以选择制作空心杯电机(比较便宜,一套动力下来不出50),作者用的是5寸机架加2205电机+30A电调,动力下来就238了全套包括遥控器得400+,所以要入坑的同学请着重考虑噢~ 所需材料准备 CH340串口下载模块1个(2.5元) 淘宝截图哈哈没有广告嫌疑,为了大家购买方便 GY-521加速度计模块1个(3.8元) STM32F103C8T6开发板1个(11.5元) 洞洞板和电阻三极管 机架桨叶20 动力套装238 装机配件(强烈建议买护架) 接收机(我选minibus)和遥控器 电池和平衡充70 有了这些加上焊枪杜邦线就可以开工拉 飞控板焊接 飞控板原理图如下,要焊接的引脚不多,只是注意一下走线,按照自己的意愿来就可以了。我的焊功太差,还请见谅哈哈~ 有三种接收机模式可以选择:SBUS(三根线)、PPM(三根线)、PWM(每个通道都要接线-8根线)。我们这里是sbus,并且去掉了电容、蜂鸣器和稳压管 焊接注意戴口罩,不要心急,争取不要返工

圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车

一世执手 提交于 2021-02-07 06:33:46
接前面几篇文章: 圆曾经的小车梦,造一台智能小车(一) 圆曾经的小车梦,造一台智能小车(二) 基于小熊派WIFI PWM控制小车前进后退 圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架 QT控制界面大致如下,非常简单: 包含前进、后退、左转、右转4个按钮,外加一个显示 如何来实现呢?很简单。 一、分别拖四个QPushButton按钮过去 改成自己想要表达的方式 二、再拖一个textBrowser 三、设置按钮转到槽 主要是设置按钮的具体功能,比如单击、按下,释放等等,当发现这些动作的时候就会触发对应的槽函数。 鼠标右键对应的按钮,然后选择转到槽 这里我们分别选择pressed()和released()这两个信号,意思是按下和释放,然后点击OK,程序就会自动生成对应的槽函数,依次类推,我们为前进、后退、左转、右转这四个按钮都这么来设置。 由于我们要控制的是Wifi小车,所以需要 在 .pro中包含: network 网络模块 QT += core gui network 接下来看mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> //包含对应的头文件 #include <QTcpSocket> #include <QDebug> #include <QString

STM32F103 如何实现 FFT?

馋奶兔 提交于 2021-02-01 10:52:40
笔者能力有限,如果文中出现错误的地方,还希望各位朋友能够给我指出来,我将不胜感激,谢谢~ 引言 数字信号在我们生活中随处可见,自然而然地就会涉及到对于数字信号的处理,最为典型的一个应用就是示波器,在使用示波器的过程当中,我们会通过示波器测量到信号的频率以及幅值,同时我们也可以通过示波器对测量到的信号进行 FFT ,从而能够观察到待测信号的频谱,方便直观的看出信号的高频分量和低频分量,从而帮助我们去除信号中携带的噪声。而在嵌入式方面的应用,我们可以直接使用 DSP 芯片对信号进行处理,同时, ARM 公司推出的 Cortex-M4F 内核是带有 FPU ,DSP 和 SIMD 单元的,针对于这些单元也增加了专用的指令,指令如下图所示: 不同架构的指令集合 ARM 官方也对此专门做了一个 DSP 方面的库,方便用户调用。关于 Cortex M4 的信号处理本文暂不进行阐述,相反本文的对象是 Cortex M3 ,基于 STM32F103 的 FFT,而在上述图中,我们看到针对于 Cortex M3 来说,是不带 FPU 以及 DSP 的,那有如何来进行 FFT 呢? FFT 的提出 在数字信号处理中常常需要使用到离散傅里叶变换(DFT),从而能够获取到信号的频域特征。尽管传统的 DFT 算法能够获取到信号的频域特征,但是算法计算量大,耗时长,不利于进行计算机实时对信号进行处理

STM32学习之GPIO配置 (STM32F401ZGT6)

最后都变了- 提交于 2021-01-31 23:41:08
一.GPIO的作用 1.当作输入输出口 输出数字信号 0/1 TTL电平 0 0~1.5V 1 2.5~5V STM32中 - 0±0.1V 1 3.3±0.3V 2.直接驱动外部电路 如LED,蜂鸣器等等 3.使用I/O口模拟通信协议 IIC 4.模拟PWM波 通过循环改变占空比来实现 二.STM32F407ZGT6芯片中GPIO口的数量及命名 1.114个I/O口,每个I/O口上有不同的通用功能,复用功能等 2.命名 Port + 端口号 + 管脚号 端口号 : A B C D E F G H 在A~G上每个端口有16个管脚(0~15),H只有2个管脚(1,2) 例 PA5 A端口的第5个管脚 三.如何操作GPIO口 通过AHB1时钟总线与GPIO口通信 操作提供的接口----寄存器 四.STM32F407ZTG6中GPIO的寄存器 1.寄存器:一块存储空间(8/16/32位),具有RAM具有的特性(掉电数据丢失,读写速度快),每个位 都有自己独特的作用。 2.如何操作寄存器 通过指针操作 例如我们想操作一个地址为0x4000的寄存器只需要通过*(unsigned int *)0x4000进行我们需要的操作(赋值,加减,位操作) 3.寄存器的特性 有读/写,只读,只写,读取/清零,读取/置位,切换,保留(reserved)等 数据(DR)寄存器:保存接受/发送的数据,一般用

树莓派出微控制器了!Raspberry Pi Pico 只需 4 美元

倖福魔咒の 提交于 2021-01-28 02:31:02
整理 | 郑丽媛 来源 | CSDN(ID:CSDNnews) 昨天,树莓派搞了个大动作:推出了首款微控制器开发板 Raspberry Pi Pico!该开发板基于树莓派开发的全新芯片——RP2040,并且作为双核 Arm Cortex-M0+ 的它只需 4 美元(人民币约 26 元),这是什么神仙板子? 典型的树莓派存在缺陷 迄今为止,树莓派已售出约 3700 万台,它能经久不衰得益于其连接软硬件方面的卓越能力,开发爱好者们可以通过运行在树莓派上的软件去读取传感器、执行计算和驱动执行器等等。 但与此同时,Raspberry Pi Trading 的首席运营官 James Adams 也指出,原本的树莓派存在一些缺陷: 最低功率模式下,Raspberry Pi Zero 也要消耗 100 毫瓦的电量; 树莓派本身不支持模拟输入; 树莓派虽然可以运行“裸机”软件,但是在 Linux 等通用操作系统下运行的软件并不适合对单个 I/O 引脚进行低延迟控制。 因此,现实中许多业余爱好者与工业应用程序都将树莓派与微控制器相结合,由树莓派负责繁重的计算、网络访问和存储,微控制器来处理模拟输入和低延迟I/O,有时还提供极低功耗的待机模式。 树莓派官方也一直想制作出属于自己的微控制器级产品,最终顿悟:想做出自己真正想要的产品,首先得学会自制芯片! RP2040 芯片 RP2040

#2020征文-开发板#鸿蒙开发板智能家居项目

吃可爱长大的小学妹 提交于 2021-01-26 09:52:20
鸿蒙智能家居项目 目录: 一、系统介绍 1 二、功能描述 2 (1)家电控制功能 2 (2)配网功能 3 (3)数据存储功能 3 (4)MQTT、OneNET接入协议支持 3 (5)驱动能力 3 三、代码描述 3 (1)代码流程 3 (2)家电控制部分 4 (3)OneNET初始化部分 5 (4)LED亮度控制 6 (5)数据存储 6 (6)按键处理 7 一、系统介绍 本系统硬件采用Hispark WiFi开发板,主控芯片为Hi3861,操作系统为Harmony OS,软件上支持MQTT、OneNET接入协议,驱动开发包括按键驱动、OLED驱动、PWD驱动开发,其它功能模块有NV数据存储、WiFi配网功能。 整个系统框架如下: 整个系统主要分为3大部分: (1)云平台:这里我使用的是OneNET云平台 (2)Harmony OS软件开发:在开发板上实现相关功能。 (3)硬件:使用到的硬件有:LED灯、OLED屏幕、按键。 整个鸿蒙开发板的软件分为4层: (1)应用:实现智能家居的应用逻辑处理部分。 (2)功能组件:包括MQTT、JSON、数据存储、WiFi配网功能等,为智能家居应用提供关键能力。 (3)内核:Harmony OS内核提供关键能力。 (4)驱动:包括PWM驱动、OLED驱动、WiFi驱动、按键驱动等,为硬件控制提供了能力。 二、功能描述 (1)家电控制功能

SPI接口的FLASH

て烟熏妆下的殇ゞ 提交于 2021-01-22 04:24:21
SPI flash W25Qxx: W25Q系列的spiflash。每页(Page)256B,每16个page为一个sector(扇区=4KB),每16个扇区为一个block(块=64KB) W25Q16=16Mb=2MB=2048KB=32block=512sector=8192page; 操作:SPI flash写操作必须确保为0XFF才能写入,否则需要檫除操作,檫除的最小单位为Sector即4KB,所以有的会在单片机内部开一个4K的缓存(有点奢侈),写之前先读出来,檫除数据,合并数据(在檫除数据的同时进行操作,合并完了在检查檫除是否完成,不闲着;操作系统级的 将因此进入挂起。要么设定一个合适的超时时间,要么有一个专门的轮训这些标志完成则发信号量),再写入。 驱动程序:https://blog.csdn.net/weixin_42381351/article/details/80813104 SPI SPI flash驱动规范: 1 硬件SPI/软件SPI涉及的MOSI/MISO/SCK的IO设置、SPI设置读写一个字节。 2 存储器件IC涉及的片选、调用SPI读写一个字节操作在某个指定地址读写一个字节/多个字节,檫除等操作。 3业务层次的读写记录,APP升级等。 一主多从可以通过不同片选来发送(都片选则都会收到),但对接收,如果关闭某个片选则可能得不到及时相应

ST MC SDK生成自己的MCU工程教程

橙三吉。 提交于 2021-01-18 11:20:34
如何用ST MC SDK生成自身不包含芯片的工程。 1.工程创建 2.参数设置 2.1电机参数设置 2.2电流检测 2.3转子位置检测 2.4过流保护 2.5开光管的最小死区时间和开关频率 2.6上下管驱动PWM的有效极性设置 2.7驱动控制管理 2.7.1启动参数管理 2.7.2驱动设置 2.8欠压检测及保护 2.9电压、电流、温度采样 2.10IO口配置 2.11DAC功能 2.12IO口冲突检查 2.13生成工程 3.更改MCU型号 我用的是STM32F407ZGT6,但是 SDK支持的MCU里并不包含这款,如下图所示,本文就来记录如何创建一个工程以及将工程更改成适合自己MCU的文件。 1.工程创建 双击打开SDK后,因为控制板和功率板都是自己的,并不是ST的套件,所以此处选择应该如下图所示。 选择MCU 的时候尽量选择与自己所用MCU型号相近的,首先基于相同系列,其次基于相同管脚数。所以这里选择STM32F407IGT6,稍后需要做进一步的修改。 频率的话只能选择外部频率,就要根据自己手里的硬件进行选择,我手里的最小系统是25MHz外部晶振。如下图所示。 进来以后如下图所示。 2.参数设置 实验室有直流电源,所以AC INPUT那里不用管,首先设置BUS VOLTAGE。功率板电路原理图(母线电压采样)如下图所示: 相应的工程设置如下图所示: 2.1电机参数设置

#2020征文-开发板# 用鸿蒙开发AI应用(一)硬件篇

女生的网名这么多〃 提交于 2021-01-13 16:09:04
目录: 前言 开发板简介 产品特色及功能 产品参数 各个主板功能简介 Hi3516DV300 芯片手册 前言 鸿蒙2.0的系统刚开源出来,华为志在打造1+8+N万物互联的全场景智慧生活,不仅是国产操作系统之梦,一次开发多设备部署也戳中开发者的痛点。这次开源的主要是基于嵌入式实时场景的微内核版本,用于手机端的宏内核版本预计要到明年。 最近申请到了一块 HarmonyOS HiSpark AI Camera 开发板,我们来体验一下AI应用的开发。 开发板简介 Hi3516DV300作为新一代行业专用Smart HD IP摄像机SOC,集成新一代ISP、业界最新的H.265视频压缩编码器,同时集成高性能NNIE引擎,使得Hi3516DV300在低码率、高画质、智能处理和分析、低功耗等方面引领行业水平。 产品特色及功能 主芯片Hi3516DV300 为海思Smart HD IP Camera SoC:双核Cortex-A7 @900MHz 处理器;集成新一代 ISP、业界最新的 H.265 视频压缩编码器,同 时集成高性能NNIE 引擎,1.0TOPS。 支持Linux OS、Lite OS、鸿蒙OS 多操作系统 一组DDRC,支持32bit/1GB 处理空间,最大数据速率1.8Gbps eMMC4.5,支持4bit/8GB 存储空间 外部扩展SD 存储接口,最大支持2TB SDXC 卡

嵌入式单片机之STM32F103C8T6最小系统板电路设计参考

会有一股神秘感。 提交于 2021-01-05 06:04:17
STM32F103C8T6最小系统板电路设计      一。电源部分   设计了一个XH插座,以便使用3.7V锂电池供电,接入电压不允许超过6V。      二。指示灯部分      电源指示灯可以通过一个短路帽控制亮灭,以达到节电的目的。   三。复位电路      四。按键电路      KEY_1为用户自己定义   RST复位按键   WKUP为唤醒按键。   RST按键的作用:   程序下载的方式是SWD模式,BOOT0和BOOT1都接地,单片机一上电就会执行用户程序,所以不支持串口下载。      五。OLED电路      支持IIC和SPI两种通信模式   六。扩展口         七。电源部分      TIM1的CH1和CH2输出PWM控制一个轮子的转速。   TIM1的CH3和CH4控制一个轮子的转速。   TIM4的CH1和CH2控制一个轮子的转速。   TIM4的CH3和CH4控制一个轮子的转速。   每一个轮子都可以独立的控制正转,反转和速度。   避障模块用3个引脚   寻迹模块用3个引脚   测速模块用4个引脚(定时器的捕获功能)用于检测每个轮子的转速   PB10到PB15用于2.4G的无线通信模块   32.768K晶振,它的负载电容不能用12.5pF,推荐负载电容为6pF的晶振。 还是分享些相应的资料便于学习参考 (零基础电子产品设计)