- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 基于梯形加减速的步进电机控制
基于梯形加减速的步进电机控制##1.步进电机基础方程##如果要步进电机以恒定的速度旋转,我们就需固频率发送脉冲,我们通过控制器的定时功能来实现脉冲发送,如图1-1所示,t0为脉冲发送的起始时刻,t1为发送第二个脉冲的时刻,t2为发送第三个脉冲的时刻。t0与t1之间的时间隔(时间延时)为△t= c0 * Tt,其中c0为定时器在t0与t1这段时间的定时器计数值,Tt为定时器的计数周期。t1与t2之前的时间隔为△t= c1 * Tt,其中c1为定时器在t1与t2这段时间的计数值,Tt为定时器的计数周期。比
2021-03-04 16:14:14
994
1
原创 步进电动机入门笔记一
1,步进电动机的特征1.1,系统构成步进电动机运行系统以步进电动机,驱动器,控制器3要素构成。步进电动机上一级控制器向电动机发出指令,进行开环运行。运行系统(开环控制):运转系统构成的3要素:1控制器 2驱动器 3步进电动机。 控制器:输出控制步进电动机的运转量与运转速度的脉冲信号。驱动器:依据脉冲信号来控制电动机运转的驱动元件。脉冲信号:是一种方状的电气信号,主要用来控制电动机的运转量与运转速度。1.2,高精度定位
2021-03-04 15:37:35
481
1
原创 音频信号FFT变换后节拍检测的软件实现(STM32)
前言:在人耳能听到的频率范围(20-20KHz)中,故我们设置采样频率为44100Hz(根据采样定理,采样频率要大于信号最大频率的两倍,才能保证不失真)来采集这0-20KHz的音频信号。我们把采样点数设置为1024个点,那么在进行1024点FFT时,将得到44100Hz / 1024 = 43Hz的频率分辨率.采样频率:Fs = 44100Hz样本数量:NPT = 1024这两个参数是FFT计算时候要用到的编程整体思路:1.使用ADC采集音频信号2.使用官方提供的FFT函数对采集到的信号进行处
2020-05-13 15:24:54
2701
原创 基于单片机系统串口控制台的软件实现(RTOS-STM32)
基于单片机系统串口控制台的软件实现(RTOS-STM32)1.前言玩过Linux的朋友, 是不是对Linux无所不能的串口Shell命令控制台羡慕不已, 要是自己做的STM32F系列低档次的MCU也有这种控制交互能力, 会给调试/维护和配置省下多少麻烦事呀, 比如启动/关闭调试或自检模式, 打印调试信息, 配置系统参数, 传输文件等等, 也有相当多的朋友凭借自己出色的编程能力可以实现这些功能, 下面是我自写的一个控制台软件, 以作交流.本平台(console)具备以下性能特点:1) 移植性强,代码文
2020-05-13 13:44:07
1135
2
原创 串口IAP升级软件实现
串口IAP软件在线升级一,IAP的原理IAP其实是将传统的程序分为了两个部分或者三部分,一个称为BootLoader区,另一个称为APP区域(用于存放用户升级的程序,还有一个就是APP备份区,如下所示: /******************* -------- 0x08000000 8k | boot | boot引导区域 -------- ...
2020-01-18 15:20:32
1648
原创 嵌入式RTOS软件新架构: 模式 + 状态机
嵌入式RTOS软件新架构: 模式 + 状态机:一,定义接口函数以及消息数据结构:#ifndef NULL #define NULL ( OS_NULL )#endif#define sys_ticks() OSGetTickCount()#define tick_timeout(x) ((int)(sys_ticks() - x) > 0)#define PE...
2020-01-18 11:35:39
2010
原创 位置式and增量式pid算法
/*增量式与位置式区别:1 增量式算法不需要做累加,控制量增量的确定仅与最近几次偏差采样值有关,计算误差对控制 量计算的影响较小。而位置式算法要用到过去偏差的累加值,容易产生较大的累加误差。2 增量式算法得出的是控制量的增量,例如在阀门控制中,只输出阀门开度的变化部分,误动作 影响小,必要时还可通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。而位置式的输出直接对应对象的输出,...
2020-01-18 08:58:44
1617
原创 全彩RGB呼吸灯效果实现-STM32
全彩RGB呼吸灯效果实现——PWM方式全彩LED 灯控制原理:使用STM32控制LED灯输出多种亮度等级,可以通过控制输出脉冲的占空比来实现,见图1.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDFPJ2Ny-1573807073244)(C:/Users/Administrator/Desktop/makedownfile/1.png)]图1 不同占空...
2019-11-15 16:39:12
13017
1
原创 软件定时器模块-STM32
/******************************************************************************* 文件名称:SoftTimer.h* 内容摘要:软件定时器模块头文件* 其他说明:首先运行TimersInit函数,需向该函数提供"1ms的系统时钟"和"最大系统ms数",* 然后在各自的应用模块中调用CreatT...
2019-11-15 16:31:38
619
原创 单片机串口环形缓冲队列处理架构
我们知道的串口收发都是:接收一个数据,触发中断,然后把数据发回来。这种处理方式是没有缓冲的,当数量太大的时候,亦或者当数据接收太快的时候,我们来不及处理已经收到的数据,那么,当再次收到数据的时候,就会将之前还未处理的数据覆盖掉。那么就会出现丢包的现象了,对我们的程序是一个致命的创伤;于是就自己写了个缓冲区,代价就是消耗一部分内存空间,时间-空间本来就是一对矛盾体,想减少串口通信中数据丢失问题只能牺...
2019-07-22 15:14:20
1323
原创 单片机系统——基于STM32
1,裸机系统之轮询系统 轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情;轮询系统是一种非常简单的软件结构,通常只适用于那些只需要顺序执行代码且不需要外部事件来驱动的就能完成的事情,实时性比较低。轮询系统代码实例如下:1 int main(void)2 {3 /* 硬件相关初始化 */4 HardWareIni...
2019-07-21 19:01:14
1442
原创 深入了解函数指针与指针函数
一,概念函数指针:指向函数的指针变量,本质上是一个指针变量,指向的是一个函数指针函数:顾名思义就是带有指针的函数,即其本质是一个函数,只不过这种函数返回的是一个对应类型的地址,即返回的是一个指针。二,定义函数指针: type (*func)(type , type ),如 void (*func)(void),定义一个指向void类型的指针变量。指针函数:type ...
2017-11-22 11:57:05
273
转载 PICKIT3脱机烧写指导书
一: PICKIT3的联机烧写方法PICKIT3的联机烧写与ICD2一致,只是需要在MPLAB IDEV840或者更高版本下使用PICKIT3。烧写时,从MPLAB IDE的菜单“PROGRAMMER——PICKIT3”,选中PICKIT3即可。由于原装的PICKIT3能提供的烧写电流比较小,联机烧写时,建议目标板带电。二: PICKIT3的脱机烧写步骤1
2017-11-21 11:39:09
9605
音频信号FFT变换后节拍检测的软件.zip
2020-05-13
单片机串口缓存处理架构.html
2019-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人