发表于:2008/8/13 9:33:00
#0楼
有个难题我始终不能解开,望单片机高手们指点迷津.
本人想实现在一块89C51的单片机上实现可设置系数的计数测速仪,在计数方面已解决,但在测速上还没个头绪.
功能要求:计数和测速的设置系数均为0.001~2.000.被测信号频率范围为2~166Hz[用来测量马达的转数(120转/分~9999转分之间)和定型机上的出布速度---也就是车速(0~9999米/分).显示的值为0~9999个计数值和0~9999转/分钟(每转一个信号脉冲)
举例:
若实际脉冲个数为50,设置系数为0.440,则显示的计数值50*0.440=22
若实际的测速值为1000转/分种,设置系数为1.220.则显示的测速值为1000*1.220=1200个/分钟
计数方面的实现办法为:
每个的信号脉冲引发INT0中断,并加一次所设计数系数的值,如0.440.则当3个信号时所累计的值为0.440+0.440+0.440=1.32,则显示1,当10个信号时内存值为4.4,而显示值为4.
现在问题因为被测信号的频率很低,只有2~100Hz,那么若按每秒钟的脉冲个数来计算测速的办法,精确度极低.所以需要用测量被测信号的间隔时间值来计算,计算的公式为:(60/脉宽时间)*设置系数=[60,000,000/脉宽值(10,000uS~50,000uS之间)}*设置系数
问题是用上面的公式能精确的计算出每分钟的转速,但由于计算量太大了,象这样的8位单片在计算象10mS的信号时,光计算一次转数值就估计要花几秒时间,这样设计出来的是不实用的.
所以烦请哪位高手指点一下.
本人想实现在一块89C51的单片机上实现可设置系数的计数测速仪,在计数方面已解决,但在测速上还没个头绪.
功能要求:计数和测速的设置系数均为0.001~2.000.被测信号频率范围为2~166Hz[用来测量马达的转数(120转/分~9999转分之间)和定型机上的出布速度---也就是车速(0~9999米/分).显示的值为0~9999个计数值和0~9999转/分钟(每转一个信号脉冲)
举例:
若实际脉冲个数为50,设置系数为0.440,则显示的计数值50*0.440=22
若实际的测速值为1000转/分种,设置系数为1.220.则显示的测速值为1000*1.220=1200个/分钟
计数方面的实现办法为:
每个的信号脉冲引发INT0中断,并加一次所设计数系数的值,如0.440.则当3个信号时所累计的值为0.440+0.440+0.440=1.32,则显示1,当10个信号时内存值为4.4,而显示值为4.
现在问题因为被测信号的频率很低,只有2~100Hz,那么若按每秒钟的脉冲个数来计算测速的办法,精确度极低.所以需要用测量被测信号的间隔时间值来计算,计算的公式为:(60/脉宽时间)*设置系数=[60,000,000/脉宽值(10,000uS~50,000uS之间)}*设置系数
问题是用上面的公式能精确的计算出每分钟的转速,但由于计算量太大了,象这样的8位单片在计算象10mS的信号时,光计算一次转数值就估计要花几秒时间,这样设计出来的是不实用的.
所以烦请哪位高手指点一下.
[此贴子已经被作者于2008-8-13 9:35:50编辑过]
呜呜。我没有个性化Logo,谁能帮我设计个?拜托啦。