基于stm32单片机的app视频遥控抽水灭火水泵小车设计
- 1、项目简介
- 1.1 系统构成
- 1.2 系统功能
- 2、部分电路设计
- 2.1 L298N电机驱动电路设计
- 2.2 继电器控制电路设计
- 3、部分代码展示
- 3.1 小车控制代码
- 3.1 水泵控制代码
- 4 演示视频及代码资料获取
1、项目简介
- 视频简介中包含资料
- https://www.bilibili.com/video/BV1em4y1P7im/?spm_id_from=333.999.0.0&vd_source=0fb8a603c3cd84c0c72e5fa5d4201605
1.1 系统构成
本系统采用stm32单片机+esp32 cam wifi摄像头+L298N电机驱动+继电器+水泵+手机app+LED灯设计而成。
1.2 系统功能
- 1、使用手机APP控制小车移动
- 2、在手机APP可以查看小车上的视频
- 3、通过手机APP可以控制水泵、LED的打开与关闭
2、部分电路设计
2.1 L298N电机驱动电路设计
L298N使用注意事项:
- 1、当你的驱动电压(上图标识为12V输入,实际可以接受的输入范围是7-12V)为7V-12V的时候,可以使能板载的5V逻辑供电,当使用板载5V供电之后,接口中的+5V供电不要输入电压,但是可以引出5V电压供外部使用。(这种即为常规应用!)
- 2、当驱动电压高于12V,小于等于24V(芯片手册中提出可以支持到35V,但是按照经验一般298保守应用大电压支持到24V已经很了不起!)时,比如要驱动额定电压为18V的电机。首先必须拔除板载5V输出使能的跳线帽。然后在5V输出端口外部接入5V5V使能即 一个电平为5V的控制信号,当此信号输入有效时,且电机驱动模块中电源供电正常时,电机驱动模块输出电流。否则即使电源供电正常,电机上也无电流。电压对L298N内部逻辑电路供电。(这种是高压驱动的非常规应用!)
这里只展示前轮的电机驱动电路图,后轮与前轮一样。
2.2 继电器控制电路设计
电路图如下所示:
3、部分代码展示
3.1 小车控制代码
//占空比 = TIMx_CCRx / TIMx_ARR
//moto_r:右轮电机,moto_l:左轮电机. 数值 0-100
void MOTO_PWM_Out_AB(u16 moto_A, u16 moto_B)
{
TIM_OCInitTypeDef TIM_OCInitSructure;
TIM_OCInitSructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitSructure.TIM_OutputState= TIM_OutputState_Enable;
//CH1 左前电机-A
TIM_OCInitSructure.TIM_Pulse = moto_A;//占空比= ccr/100
TIM_OC1Init(TIM3, &TIM_OCInitSructure);//参数初始化
TIM_OC1PolarityConfig(TIM3, TIM_OCPreload_Enable);//开始输出pwm
//CH42 右前电机-B
TIM_OCInitSructure.TIM_Pulse = moto_B;//占空比= ccr /100
TIM_OC2Init(TIM3, &TIM_OCInitSructure);//参数初始化
TIM_OC2PolarityConfig(TIM3, TIM_OCPreload_Enable);//开始输出pwm
TIM_ARRPreloadConfig(TIM3, ENABLE);//启动自动重装
}
3.1 水泵控制代码
//水泵控制
switch(realy_control)
{
case 0x0a: //打开水泵
RELAY_ON
break;
case 0x0b: //关闭水泵
RELAY_OFF
break;
default:
RELAY_OFF //关闭水泵
break;
}
4 演示视频及代码资料获取
- 视频简介中包含资料
- https://www.bilibili.com/video/BV1em4y1P7im/?spm_id_from=333.999.0.0&vd_source=0fb8a603c3cd84c0c72e5fa5d4201605