专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机智能小车设计

作者:佚名   来源:本站原创   点击数:  更新时间:2013年11月19日   【字体:

小车升级为无线遥控啦!去年买的遥控直升机没玩几次就摔坏了,后来买了个配件,玩了两回又摔坏了,实在不想修了。前一段时间小车做好后,一直想用无线遥控,想了很长时间,也没想什么 好的方法来做一个漂亮的遥控器。后来我把注意打到了遥控直升机遥控器了。我想,要是能把它改成小遥控器,那操作手感一定很棒。起先还准备用示波器破解直升机遥控器和直升机之间传输的信号,研究了一段时间,才发现自己很幼稚,因为原理图也没有,什么资料都没,就只知道遥控器的无线频率是2.4GH了,这样要破解的话,比登天还难。后来想想用STC单片机做一个也不是很难。于是乎,我一下狠心就把飞机遥控器给拆了。我先把里面的控制电路板拆下来。再用斜口钳把按钮和电源开关那部分电路板给剪下来,装回去,当然,两个操纵杆是要保留的,其实就是4个电位器。然后焊了一个单片机最小系统,把按钮和电位器往上一接硬件就算完事了。然后又把STC单片机的ADC例程一改,再把USART例程一改,往上一加。软件也就完事了。我的自定义协议是:一次用串口发送21字节数据,ADC的分辨率为256级,每个电位器用3 字节ACSII码表示,所以前12个字节是4 个电位器数据,后8个字节用来表示8 个按钮,按下发ACSSII码 ‘6’ ,否则发‘0’。最后一个固定为0xaa,用于检察通讯是否错误。  好了就写这了,有空再接着写吧。


前段时间买了个STM32最小系统板,把我那个神舟IV板换了下来。



那个小板是无线模块。花了我不少钱。














这个就是用直升机遥控器改的。里面也有个无线模块,无线模块是带串口透传型的。因为SPI接口和SI4432研究的还不是很熟。惭愧啊!

这回升级后效果是非常好的,小车很灵活。可以在我们的宿舍里自由穿行。


每个学单片机的都会做个小车,我也不愿意例外,这是这几个星期的成果。 
小车的功能有:红外遥控功能(可用双遥控,舵机驱动转向功能,无级调速功能,倒车功能,
停车制动功能,超声波避障功能,有警笛,测速功能待扩展。

这是制作现场,比较乱。

条件简陋啊!




这是超声波避障器,至今还没调试好,距离测的还比较准确,就是不好完美整合到整个程序中。用TIM3的第一通道用输入捕获方式超声波回声的高电平宽度的。

主控板用的是神舟IV实验板。中间那个像三极管的是红外接收头。我是用TIM3的第二通道用输入捕获方式测红外脉冲宽度解码的。

一个是TCL监控显示器上的,一个是天敏电视盒上的。TCL的红外协议比较乱套,不过我有USB模拟示波器,看到波形就好办了。天敏用的是NEC红外协议,但不完全是,两地址码不是反码关系。感觉买个USB模拟示波器结学单片机非常有帮助。也不贵,我的才100多。

用TIM2的第一通道,以PWM波驱动舵机,舵机是MG995。用第二通道以PWM波驱动主马达。整个后轮部分是从旧玩具车上拆下的。

小车的动力来自两节锂电池,是从我的笔记本电脑上拆下来的,电脑一直插着电源,感觉电池没在上面也没什么用,还不如拆下来搞实验有价值。



继电器是用来倒车用的,这个继电器是6V 双刀双掷的,还是很少见的,我好像是从应急灯的电路板上拆下来的。右下边的三极管是用来驱动主马达的。

靠舵机左边的是一个警笛。用一个8050三极管驱动。

主要用到就是STM32的定时器功能,32的定时器功能确实强大。51的和它都没法比。它的复杂让我晕了很久,现在算是比较清楚了。
可以说小车是一个载体,是一个移动实验平台。以后各种功能都可往上加,比如机械手什么的。现在用的是红外遥控,这只是暂时的,等无线模块玩熟了,将改成无线的。那才适合控制小车,昨天试车发现一到强烈的阳光下红外遥控就失灵了,后来想了一下,正常啊,阳光中有很强的红外线足以干扰遥控器了。还有电视遥控控制转向根本跟不上,因为要快速转向时,控制的关系根本不是线性关系。我想用无级操纵杆应该很合适。以前就研究过操纵杆,以后会买个好一点来控制小车。
 
关闭窗口

相关文章