蓝牙小车马上发车
本帖最后由 地瓜patch 于 2024-3-27 20:58 编辑非常感谢二姨家的外包平台DIY小车的活动收到后就迫不及待的安装起来
咱家娃也帮忙打下手
焊接完成的样子
MCU单片机STC89C52
一个CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写10000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的ST89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。ST89C52芯片具有以下特性:
指令集和芯片引脚与Intel公司的8051兼容;8KB片内在系统可编程Flash程序存储器;128字节片内随机读写存储器(RAM);32个可编程输入/输出引脚;2个16位定时/计数器;6个中断源,2级优先级;全双工串行通信接口;监视定时器;
STC89C52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。
电机驱动
L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。
蓝牙模块HC-05
蓝牙无线通信模块有两种工作方式,一个是命令响应工作模式,另一个是自动连接工作模式。在命令响应工作模式下,使用者通过向模块发送AT工作指令来对模块的控制参数进行设定和下达控制指令。而在自动连接工作模式下, 模块又有三种工作模式,分别为主机(Master)、从机(Slave)和回环(Loopback)三种工作模式,选定工作模式后,模块就自动按照提前设定好的方式进行数据传输。通过调节模块外部引脚的输入电平来动态转换模块的工作状态。
通电后一切正常,但是用手机控制,电极转动就不能停止,不受控
一会儿驱动芯片就烧掉了
新买的驱动芯片刚到,还未找到问题所在,后续持续更新。
真不错 好眼馋 本帖最后由 地瓜patch 于 2024-3-28 21:48 编辑
蓝牙通信程序if (newLineReceived)
{
switch(inputString)
{
case run_car: g_carstate = enRUN; break;
case back_car:g_carstate = enBACK;break;
case left_car:g_carstate = enLEFT;break;
case right_car: g_carstate = enRIGHT;break;
case stop_car:g_carstate = enSTOP;break;
default:g_carstate = enSTOP;break;
}
if(inputString == '1')//ÓÒÐýת
{
TR0= 1;
tright();
delay(2000);//ÑÓʱ2s
stop();
TR0= 0;
}
else if(inputString == '2') // ×óÐýת
{
TR0= 1;
tleft();
delay(2000);//ÑÓʱ2s
stop();
TR0= 0;
}
if(inputString == '1')//ÃùµÑ
{
FM = 0;
delay(1000);
FM = 1;
}
if(inputString == '1')//¼ÓËÙ
{
g_volume++;
if(g_volume>=4)
{
g_volume = 4;
}
}
if(inputString == '1')//¼õËÙ
{
g_volume--;
if(g_volume<=0)
{
g_volume = 1;
}
}
if(inputString == '1')//µÆ
{
FIRE = (FIRE == 1)?0:1;
}
PutString(returntemp); //·µ»ØÐÒéÊý¾Ý°ü
newLineReceived = 0;
memset(inputString, 0x00, sizeof(inputString));
}
switch(g_carstate)
{
case enSTOP: stop();TR0= 0;break;
case enRUN:stop();delay(1);TR0= 0;run();TR0= 1;break;
case enLEFT:stop();delay(1);TR0= 0;leftrun();TR0= 1;break;
case enRIGHT:stop();delay(1);TR0= 0;rightrun();TR0= 1;break;
case enBACK:stop();delay(1);TR0= 0;back();TR0= 1;break;
default:stop();TR0= 0;break;
}
switch(g_volume)
{
case 1: enMinMin();break;
case 2: enMin();break;
case 3: enMidle();break;
case 4: enMax();break;
default:enMidle();break;
}
本帖最后由 地瓜patch 于 2024-3-28 21:47 编辑
电机驱动程序//ǰ½ø
void run(void)
{
Left_moto_go ; //×óµç»úÍùǰ×ß
Right_moto_go ;//ÓÒµç»úÍùǰ×ß
}
//×óת
void leftrun(void)
{
Right_moto_go ;//ÓÒµç»úÍùǰ×ß
Left_moto_Stop ;//×óµç»úÍ£Ö¹
}
//ÓÒת
voidrightrun(void)
{
Left_moto_go; //×óµç»úÍùǰ×ß
Right_moto_Stop ;//ÓÒµç»úÍùǰ×ß
}
//ºóÍË
void back(void)
{
Left_moto_back;// ×óÂÖºóÍË
Right_moto_back;// ×óÂÖºóÍË
}
//ͣת
void stop(void)
{
Right_moto_Stop; //ͣת
Left_moto_Stop ; //
}
//×óÐýת
void tleft(void)
{
Left_moto_back; //×óµç»úºóÍË
Right_moto_go ;// ÓÒµç»úǰ½ø
}
//ÓÒÐýת
void tright(void)
{
Left_moto_go; //×óµç»úǰ½ø
Right_moto_back;//ÓÒµç»úºóÍË
}
/************************************************************************/
// PWMµ÷ÖÆµç»úתËÙ
// ×óµç»úµ÷ËÙ
/*µ÷½Úpush_val_leftµÄÖµ¸Ä±äµç»úתËÙ,Õ¼¿Õ±È*/
void pwm_out_left_moto(void)
{
if(Left_PWM_ON)
{
if(pwm_val_left<=push_val_left)
{
EN1=1;
}
else
{
EN1=0;
}
if(pwm_val_left>=32)
pwm_val_left=0;
}
else
{
EN1=0; //Èô먦ÆôPWMÔòEN1=0 ×óµç»ú Í£Ö¹
}
}
/******************************************************************/
/* ÓÒµç»úµ÷ËÙ */
void pwm_out_right_moto(void)
{
if(Right_PWM_ON)
{
if(pwm_val_right<=push_val_right) //20msÄÚµçÆ½ÐźŠ111 111 0000 0000 0000 00
{
EN2=1; //Õ¼¿Õ±È6:20
}
else
{
EN2=0;
}
if(pwm_val_right>=32)
pwm_val_right=0;
}
else
{
EN2=0; //Èô먦ÆôPWMÔòEN2=0 ÓÒµç»ú Í£Ö¹
}
}
烧掉的部分驱动器 技术真的在快速发展,遥想10年前,我们做小车都没有这些成品组件就算有也买不起,都是自己手搓出来的,各种不稳定再加疑难杂症; 商周 发表于 2024-4-2 11:08
技术真的在快速发展,遥想10年前,我们做小车都没有这些成品组件就算有也买不起,都是自己手搓出来的,各种 ...
有市场,有利润就有技术发展 地瓜patch 发表于 2024-4-4 18:13
有市场,有利润就有技术发展
现在直接用店家的code了,只要自己写的code写的低于20%一般都能正常运行; 板载驱动电路有问题,验证了,控制是没问题的 插接电路把驱动器单挑出来测试控制正常 本帖最后由 地瓜patch 于 2024-4-12 20:55 编辑
用面包板重新搞了一下驱动电路
把灯改为左转左灯亮,右转右灯亮 看起来不错哦。 这是啥活动
页:
[1]