求一个基于STM32的速度测速程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个基于STM32的速度测速程序相关的知识,希望对你有一定的参考价值。
就是我想测自行车的速度
硬件部分:轮毂固定磁铁车轮圈安装霍尔传感器,经整形和电平匹配后驳接stm32任意定时器输入引脚。软件部分:将定时器配置成测周模式,设置slave模式当捕捉发生后reset counter,同时使能捕捉和计数溢出中断,当捕捉中断发生时取得周期T,用轮胎直径除以T就是速度,当溢出中断发生时证明速度很低或停止。关键:计算计时器分频,最好状态是在最快时速时霍尔传感每输出一个脉冲计时20个ticks左右。追问你有没有程序和硬件图呢?有的话可不可以参考一下哈
追答在出差,这个周末回去给你代码。
追问亲,代码有没有呢?有路图更好啦,哈哈
参考技术A 硬件:用红外对管制和光码盘进行测速。软件用STM32的编码模式进行测量,编码模式的程序固件库有挺好用的,很准确。测速小工具
测试一下速度,可以掌握运算或操作耗用时间,为掌握程序运行速度提供帮助。
//--------------------------------------------------------------------------- //测速 _LARGE_INTEGER iTestSpeed_StartTime; double fTestSpeed_Freq;//测速用频率 void __fastcall StartTiming(void)//开始计时 { _LARGE_INTEGER f; QueryPerformanceFrequency(&f);//读取频率 fTestSpeed_Freq = (double)f.QuadPart; QueryPerformanceCounter(&iTestSpeed_StartTime);//开始计时 } void __fastcall StopTiming(TForm *Form)//停止计时 { _LARGE_INTEGER iTestSpeed_StopTime; double fResult; QueryPerformanceCounter(&iTestSpeed_StopTime); fResult = ((double)(iTestSpeed_StopTime.QuadPart - iTestSpeed_StartTime.QuadPart) / fTestSpeed_Freq * 1000);//Ret ms Form->Caption = FormatFloat("0.0", fResult); } //---------------------------------------------------------------------------
开始时,使用StartTiming,结束时使用StopTiming,结果显示在窗体标题栏上。返回显示的单位是ms。
以上是关于求一个基于STM32的速度测速程序的主要内容,如果未能解决你的问题,请参考以下文章
基于51单片机霍尔测速直流电机控制设计(含源码+原理图+论文+PCB封装)基于STM32闭环步进电机控制系统设计(仿真,程序,说明)-转发分享
我们自己画了一块STM32的板子,想用rs-485做串口通信,跪求一个基于rs-485的STM32驱动程序,不胜感激....