
STM32
纵向深耕
这个作者很懒,什么都没留下…
展开
-
用过的三种常用步进电机驱动电路
相对成本较高,可实现半流锁止、半流启动,电流、细分数等参数可通过SPI配置,我有一篇博文实现S曲线启停就是基于TMC2660。电流调节需要调整电位器,输入PWM、方向及使能信号即可控制,价格相对比较便宜。调整细分数及电流即可驱动,驱动电流较大,接口电路光耦隔离。原创 2023-10-29 13:59:50 · 684 阅读 · 0 评论 -
电路驱动电路
2个电路用于驱动大功率直流电机。原创 2023-10-28 17:52:47 · 150 阅读 · 0 评论 -
售货机相关的电路
一、货道选通矩阵电路,类似扫描电路,驱动哪个电机,就打开相应的行线与列线输出。二、MDB纸币器,虽然现在国内都是手机支付,但如果机器还是外销国外还是有用。三、硬币器电路,投币与退币,脉冲信号。其它都是普通的数字电路。原创 2023-10-28 17:31:03 · 182 阅读 · 0 评论 -
TMC2660步进电机驱动
TMC2660步进电机驱动原创 2023-10-10 11:48:09 · 1208 阅读 · 0 评论 -
两轮平衡电动车原理简单叙述
为一个高通滤波,叠加角度数值与角速率值,除采样次数得到当前倾斜角度。倾斜角度计算使用P参数,角速率计算使用D参数,全车调试主要针对P参数与D参数调整。Steeringsignal 通过编码器不同速度条件下计算的转向PWM值。加入slope_add校正,计算电机需要保持平衡的PWM值。Drive_A 与 Drive_B 输出到电机实际PWM值。Drivespeed 为陀螺仪与加计计算出来电机驱动值。Steeringsignal 为摇杆计算出来电机驱动值。五、计算实际输出电机PWM数值。四、计算转向摇杆数值。原创 2023-10-10 11:30:37 · 238 阅读 · 0 评论 -
步进电机S曲线驱动模块
42步进电机S曲线控制模块原创 2023-10-07 11:32:11 · 151 阅读 · 0 评论 -
机械臂运动控制,通讯的解包->运动控制->数据封包上报过程
基于 stm32f4的通讯协议解包封包,机械臂控制程序原创 2023-10-07 11:08:16 · 329 阅读 · 0 评论 -
利用串口示波器调试PID参数
推荐一个串口示波器软件调试PID原创 2023-09-27 11:16:33 · 559 阅读 · 0 评论 -
开源一个基于的rt-thread系统的烟感采集系统
一个基于的rt-thread系统的烟感采集系统原创 2023-09-26 21:18:16 · 196 阅读 · 0 评论 -
TEC 高精度控温算法
TEC 匀速升降温的实现与恒温要求原创 2023-09-18 01:25:33 · 2718 阅读 · 5 评论 -
stm32f103步进电机S曲线加减速计算
步进电机S曲线计算算法原创 2023-09-18 00:27:49 · 1733 阅读 · 4 评论 -
硬件设计得好,软件就会多简单,以一个H桥电路来说说
硬件设计得好,软件就会多简单原创 2022-12-03 01:17:04 · 924 阅读 · 0 评论 -
介绍一个自适应sx126x,127x lora驱动,比官方的要好
介绍一个自适应sx126x,127x lora驱动,比官方的要好原创 2022-11-21 23:47:19 · 2756 阅读 · 1 评论 -
利用EMQX建立MQTT服务器通讯
嵌入式建立MQTT客户端连接服务器,发布,订阅消息原创 2022-11-03 20:00:07 · 996 阅读 · 0 评论 -
嵌入式数据库操作SQLite及FalshDB
嵌入式中常用数据库使用原创 2022-11-03 00:14:59 · 1956 阅读 · 0 评论 -
自建OTA服务器实现设备固件自动更新
实现设备固件自动更新原创 2022-11-01 18:33:57 · 1571 阅读 · 0 评论 -
分布式系统下,主控向分控通过485或lora下发升级固件,支持断点续传
分布式系统主控向分控下发固件原创 2022-10-31 23:58:42 · 261 阅读 · 0 评论 -
stm32F4 AES256加解密
stm32F4 AES加解密的使用原创 2022-10-31 23:41:02 · 1272 阅读 · 0 评论 -
STM32F4读写AT88SC0104加密存储芯片驱动库
AT88SC存储加密芯片读写驱动原创 2022-10-31 23:23:19 · 910 阅读 · 0 评论 -
keil MDK 调试运行中程序
Keil MDK调试运行中的程序原创 2022-10-16 16:01:31 · 1080 阅读 · 0 评论 -
rt-thread最小硬件与软件系统
rt-thread最小软件与硬件系统原创 2022-06-16 19:07:24 · 1818 阅读 · 0 评论 -
KEIL5 DEBUG报错--Encountered an improper argument
只要退出调试时,有断点,KEIL软件必挂,除非在退出调试时清空所有断点,但这个方法操作上也很不方便,搜索了不少方法,其中一个是工程目录不能有中文,全部改成英文,也不见能解决后来发现工程目录下有keilkilll.bat文件,可以清空临时文件,清空完毕完全正常,估计是电脑的加密软件对临时文件加密错误,造成工程出错del *.bak /sdel *.ddk /sdel *.edk /sdel *.lst /sdel *.lnp /sdel *.mpf /sdel *.mpj /sdel *.原创 2022-04-26 13:51:39 · 1804 阅读 · 1 评论 -
NRF24L01 大数据分包组包传输
NRF24L01一个数据包最大32字节,对于视频音频不适用,定义一个应用层协议对传输数据进行分包组包,应用层数据收发队列存储,向对方发送数据进行拆包,每发一包应答确认超时重发,接收完整大数据包向应用层提交协议typedef union _SEG_STA{ uint8_t byte; struct{ uint8_t data_len:5; uint8_t reserve:3; }transmit; struct{ uint8_t reserve:6; uint8_t st原创 2022-01-05 09:17:10 · 4192 阅读 · 0 评论 -
NTC温度计算
double ntc_temp_trans(uint16_t ADC_value){ double temp; //数据进入前,可先做滤波处理 double Rt = 0; //NTC电阻 double Rb = 0; //并电阻 double R = 29.9; //B值最小温度值对应的电阻值 double T0 = 273.15+150; //转换为开尔文温度 do原创 2021-12-25 09:00:43 · 1379 阅读 · 0 评论 -
rt-thread http_ota通过WIFI下载固件文件的内存不足解决
rt-thead、SPI flash、FAL分区、AT框架CPU通过ESP8266 AT指令使用AT框架连接http服务器,下载文件过程中发生内存不足的错误打印1、造成这个报警原因:(1)spi flash单数据线,写入速率较慢。(2)对比以前通过NB IOT升级没问题的原因,也可能是WIFI的速率太快,系统缓存不过来2、查看http_ota_fw_download函数源码,OTA先获取文件大小,再擦除相就的大小flash的空间,而且提示信息也是先有擦除消息打印,再有内存不足打印3、将flash擦原创 2021-09-02 18:42:22 · 775 阅读 · 0 评论 -
利用结构体定义数据存储结构并读写
很多时候读I2C存储芯片,需要定义一堆的地址,读写长度,如果后期在中间插入一个存储,维护的成本就会很高,调试修改都很困难,介绍一种利用结构体定义存储结构的方法,需要用到以下两个宏定义计算结构成员在结构体内的偏移地址,用在I2C的存储结构中很方便知道每个变量的存储地址,修改存储结构也不会影响到程序的修改#define offsetof(TYPE, MEMBER) ((int)(&((TYPE *)0)->MEMBER))计算结构成员的占用的空间sizeof(((CANDIDATE_T*原创 2021-08-28 18:39:39 · 410 阅读 · 0 评论 -
2016年使用eCos+ucGUI写的一个售货机UI界面
跑的芯片是stm32F105,单色12864LCM模组,eCos系统,ucGUI移植原创 2021-06-26 09:01:18 · 256 阅读 · 0 评论 -
快速定位程序触发Cortex-M的hardfault问题
这个工具叫CmBacktrace,网上有很它的相应添加教程如果程序中产生的hardfault,通过串口打印相应的寄存器,堆栈信息看到show more call stack info by run:的信息,把addr2line -e rtthread.axf -a -f 9002b2fc 9002b2fc 9001a81复制出来,然后再到工程目录下,找到相应的axf文件,输入 命令addr2line -e rtthread.axf -a -f 9002b2fc 9002b2fc 9001a81就原创 2021-06-25 19:32:15 · 424 阅读 · 0 评论 -
lora 与 485 双线备份式通讯
无线有有无线的便利快捷,有线有有线的可靠,两种方式同时使用或只使用其中一种,都很大便利的系统的施工在FreeRTOS中建立消息队列,通过在内存池申请内存存放发送消息typedef struct{ void *data; ///<发送数据地址 uint8_t len; ///<发送数据长度 uint16_t seq; ///<当前发送帧的序号,...原创 2019-01-15 09:05:01 · 2062 阅读 · 1 评论 -
segger RTT当STM32打开CCM后不能使用的问题
当STM32F4系列的CPU打开CCM后,编译器具有优先分配的内存的权限,CCM不属于总线矩阵,所有很多原来分配到SRAM的变量都会移到这个区域,造成需要硬件访问的内存区域都不能访问,例如DMA,SEGGER RTT,所以需要强制这些变量分配在SRAM中将需要的文件编译强制分配在指定内存区域或使用关键字将指定的变量分配在指定的地址__attribute__((at(DMA_START_AD...原创 2019-01-14 11:48:53 · 1656 阅读 · 1 评论