|
本帖最后由 shadow 于 2014-8-23 13:56 编辑
只要一块单片机,四个舵机,一块电池,就可以做出来。是的,你没有看错,不要晶振,不要电阻,不要电容,不要7805,不要AMS1117,不要三极管。还在等什么,心动不行动,赶紧动手吧
咳咳。这个机器人可以往前直行,倒着走,左转,右转。
为了方便控制使用了遥控。遥控使用315MHz收发模块(不带2262,2272等编码解码芯片)做的。串口透明传输,发射接收都要做反相处理,所以呢,实际是有三极管和电阻滴。
使用的是STC15W204S单片机。代码太长就直接上传附件吧。
无线串口-四足昆虫.rar
(11.08 KB, 下载次数: 686)
已附带HEX文件,可直接烧录。P1^0,1,2,3口子分别接左上,右上,左下,右下四个舵机。不愿做遥控的可以直接用两根线(RX,GND)与电脑连接,用串口助手发送指令控制。指令格式为0x55 0x55 0x2A 0x5A + 三字节数据 + 一字节异或校验
当中三字节数据只取低4位,高4位为其反码。第一字节未使用,第二字节为左右方向,第三字节为前后和速度。具体的还是参考源代码吧。。。如55 55 2A 5A F0 78 78 0A,这个指令的执行结果是原地不动,四脚垂直
当中舵机驱动部分可以分离出来,这个驱动可以带很多舵机,你愿意的话带8*4=32个舵机也没问题。
注意事项
1.推荐使用STC15W204S单片机,烧写方便。宽电压范围不需要稳压芯片,程序大于2K所以至少要4K的单片机。
2.为了解决中断和主程序间的数据更新同步问题多处使用双缓冲,且代码本身是拼凑的,本是用于其他地方。所以冗余非常大,如果只是实现往前走的功能,代码量可以大大减少(现在有六百多行)。
3.由于使用串口透明传输,串口中断一定要处理好。315MHz接收模块会给RX端大量无用数据,导致程序频繁进入串口中断,主程序的实际执行时间远比你想象的长。
4.舵机工作时会吸取较大电流,在我的板子上不用滤波电容也能正常工作。但之前出现过复位的问题。所以建议还是加上大容量电解改善电压波动问题。在多个舵机一起工作时应避免大量舵机同时改变角度,可以适当错开舵机间的运动时间。
5.编译时注意参数,STC15W204只有256字节内存,Memory Model选Small,Code Rom Size选Compact。烧写时选24MHz。
6.如果要移植到其他单片机请注意串口问题。这里使用的波特率是9600.STC15W204S使用的是T2定时器作为串口工作模式1的时钟,而一般单片机都是定时器1。另外角度计算部分和定时器0的计数时间有关
7.遥控还可以控制P3^7口上拉的LED。并且接收到指令后会在TX发出当前的步伐数据,即每步中各个舵机的角度 |
评分
-
1
查看全部评分
-
|