资讯详情

【项目总结】stm32红外循迹蓝牙超声波小车

名称 使用的外设 所需模块

stm32蓝牙汽车循环

USART串口->HC-05蓝牙

TIM定时器

->PWM输出

->TB6612

->GS90

->PWM输入捕获

->SR04

I2C->OLED

ADC->ADC采集电压

C8T6主控

12-5v稳压模块

TB6612电机驱动

SR04超声波

TCRT5000红外

HC-05蓝牙模块

GS-90舵机

直流无刷电机

0.96’OLED

TB6612

AIN1

AIN2

BIN1

BIN2控制电机正反转 或停止四个引脚(0或1)

PWMA

PWMB 两个引脚控制(占空比越大越快)电机转速

使用思路:使用同一侧电机AIN1与AIN一、另一侧使用BIN1和BIN2,注意同一侧的两个电机接法,因为只使用一个电机驱动模块 ,左转,左轮倒转,右轮向前。

SR04

Trig引脚触发信号:低跳变到高 ,并且高电平时间要大于10us,840KHz如果检测到回波,则输出回声信号,脉冲宽度与测量距离成正比

Echo 引脚回声信号:输出GPIO高电平,高电平的持续时间是发射时间

使用思路:GPIO给 Trig 一个大于10us高电平,通过delay_us(13)模块发射超声波(40KHz),检测回波后,Echo将高电平输入单片机TIM根据声音在空气中的传播速度,计算高电平时间:

c=(331.45+0.607*T)  T为摄氏度

       0摄氏度:330.45m/s

       20摄氏度:342.62m/s

       40摄氏度:354.85m/s

结合公式:S=声音传播速度*时间/2

如需精确需要进行温度补偿,0-40度内误差7%;

TCRT5000红外光电传感器

红外二极管发射红外线,当发射出来的红外线感应没有被反射回来或者 反射的红外线过弱,光敏三极管的基极无电压 或者过小,光敏三极管断开,模块DO(数字)引脚输出低电平,指示LED灯熄灭,反之….

       推荐安装位置距被测位置为37mm,最佳检测距离为2.5mm

使用思路:GPIO为输入模式,判断GPIO高还是低电平,如果为低,说明遇到黑色(黑色吸收红外线最多),使小车向该传感器反方向转;

HC-05蓝牙模块

HC-05,通电前按住模块上按钮 可以进入AT模式,用电脑USB,CH340转TLL电平用USART通信方式 给模块发送AT指令,可以改变蓝牙密码,通信波特率等等。

       使用思路:同过手机给蓝牙模块发送 字符, 蓝牙模块 通过 USART与STM32通信

       stm32启用USART中断服务函数来判断,字符,从而设置小车模式,一位行进方向.

失误总结

  1. 在调试舵机的时候发现,用一个有BUG的工程(很可能软件配置有问题)去产生PWM波形,舵机无反应,接示波器发现按正确公式(舵机使用周期在20ms)推导出来的TIM的ARR和PSC设置,在此工程文件中无法产生正确的波形(周期x10倍),将TIM配置文件转移其他工程发现可以产生正确的周期20ms的PWM波形。

        舵机损坏一个 

  1. PCB与模块焊接存在虚焊现象,在调试蓝牙时候最终发现了这一点,以后焊接一定要认真,防止找bug找半天浪费时间!!
  2. 焊接时候一定 要将焊锡渣清理干净,防止PCB短路!!!(损失惨重)

标签: 光敏三极管t12d

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台