[PIC®/AVR® MCU]

【CuriosityNano测评报告】定时器用于超声波传感器

[复制链接]
18036|11
手机看帖
扫描二维码
随时随地手机跟帖
南来之风|  楼主 | 2022-8-7 13:48 | 显示全部楼层 |阅读模式
本帖最后由 南来之风 于 2022-8-7 13:48 编辑

之前的测评提及了Timer0超级方便的使用方法,这次把手头的超声波传感器模块拿来与PIC18F57Q43搭配一下。看看能否获取距离?此次使用的超声波传感器型号是:HC-SR04,其内部模块原理图如下:
2652162ef4bf8330f4.png
与PIC单片机相连供电Vcc与单片机的VTG相连,Trig与RD0,Echo与RD1相连接。


超声波.png

测距的原理是:
6320062ef4c54e9090.png

体现在程序中:
void DistanceMeasure(void){

        myCounterViaTimer = 0;
        int i = 0;
        for(i = 0; i < 10; i++){
            IO_RD0_Trigger_SetLow();        DELAY_microseconds(2);
            IO_RD0_Trigger_SetHigh();       DELAY_microseconds(15);
            IO_RD0_Trigger_SetLow();        
        
            /***/
            TMR0_StartTimer();
            TMR0_Reload();
        
            while(IO_RD1_Echo_GetValue() == 0);
            StartCounter = TMR0_ReadTimer();
            while(IO_RD1_Echo_GetValue() == 1);
            EndCounter = TMR0_ReadTimer();
            myCounterViaTimer += (uint16_t)(EndCounter - StartCounter);
            TMR0_StopTimer();
        }
        
        myCounterViaTimer /= 10;

}


其中定时器Timer0在MCC中进行配置,如下: 1648662ef4fe23835d.png

其中计数器选择的是16bit,TMR0H-TMR0L组合起来可以计数65535us。如果这个时间对应Echo接收到的高电平宽度,那么实际声波传输时间为65535/2 = 32ms,
340*100cm*32 /1000  = 1088cm,接近10m。所以我们做个小实验用这个计数器还是绰绰有余的。
WeChat Image_20220807134535.jpg

7489662ef50d0e79ef.png

附上项目,希望有时间有兴趣的朋友,可以给出优化建议:
CHAOSHENGBO.X.zip (1.59 MB)
超声波.png

使用特权

评论回复
评论
jy666 2022-9-10 12:07 回复TA
感谢 
南来之风|  楼主 | 2022-8-7 13:50 | 显示全部楼层
参考视频:https://www.bilibili.com/video/BV1x94y1Q7fV?spm_id_from=333.851.header_right.history_list.click&vd_source=06b417808f9325071f39e5fd55985221

使用特权

评论回复
xiaoyaodz| | 2022-8-17 15:55 | 显示全部楼层
CuriosityNano哪个芯片呢   

使用特权

评论回复
earlmax| | 2022-8-17 16:44 | 显示全部楼层
定时器开发简单可靠一些   

使用特权

评论回复
timfordlare| | 2022-8-18 18:45 | 显示全部楼层
直接定时器捕获不行吗  

使用特权

评论回复
abotomson| | 2022-9-3 18:14 | 显示全部楼层
超声波传感器必须用中断吗?  

使用特权

评论回复
loutin| | 2022-9-3 20:58 | 显示全部楼层
谢谢楼主分享的资料了。   

使用特权

评论回复
abotomson| | 2022-9-3 21:57 | 显示全部楼层
每计算完一次时间和距离时都要对定时器 T1 清零  

使用特权

评论回复
pmp| | 2022-9-5 13:17 | 显示全部楼层
   PWM脉宽捕获+超声波传感器测距

使用特权

评论回复
ulystronglll| | 2022-9-5 15:43 | 显示全部楼层
超声波传感器多少钱是比较合适的?  

使用特权

评论回复
rock00210| | 2022-9-7 06:54 | 显示全部楼层
麻烦问下楼主,0~10us的信号能读的到吗?谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则