求一个基于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和传感器码盘的测速

我们自己画了一块STM32的板子,想用rs-485做串口通信,跪求一个基于rs-485的STM32驱动程序,不胜感激....

求宽带测速软件

把stm32单片机的swd和jtag口给关闭了,怎么把程序刷了?跪求,求速度

STM32cubeMX--增量式PID调节电机速度(霍尔编码器)