上次说道,乘着国庆佳节时,我将这个旋转LED点阵搞定了,按照之前的约定,现将制作过程和经验与大家分享。本制作套件购买自51电子,文中部分图片也是从该网站获得,如需购买请与该网站联系。
制作过程分为三个阶段:
1、硬件制作:电路板焊接,调试;
2、机械制作:外壳打孔,装配;
3、编程调试:编写软件,进行程序调试。
一、硬件制作
整个硬件分为两部分,即旋转主板部分和无线供电部分。无线供电部分类似变压器原理,替代了传统的电刷供电,提高了使用寿命,并且几乎没有噪音。主板主控为STC51,相信大家都很熟悉了,4组I/O都接了LED,共2组32个。一组为红色,一组为绿色,所以该点阵能实现双色显示效果。红外收发是为了能让CPU知道起始位置,从该位置开始刷新要显示的内容。
可以这么说,这是迄今为止最考验我焊接水平的小制作。首先,元器件标号比较混乱(给了一张黑白的装配图,不是很清楚),有很多洞洞没有用,很容易搞错。再者,LED是立在PCB上焊接的,当时我找了一个朋友帮忙,焊接32个LED仍用了2个多小时。
焊接完成之后,先进行简单的测试。首先连接好ISP下载电路,测试程序是否可以正常下载,如果不行,检查单片机电源是否为5V,TXD/RXD的接口是否与单片机连通了,有没有引脚短路。若不行,用示波器查看晶振是否起振,若没有,则更换起振电容后再试。若再不行,将单片机引脚重新补焊一下。如果还不行,就只能更换单片机了。我运气不是非常好,第一次焊接时单片机的方向焊错了,更换了一片单片机后却没有办法下载程序,之后又多次重新补焊,才得以正常下载。
可以正常下载程序后,就要测试LED了,因为LED是共阳的,通过令P0~P3都为0x00就可以点亮所有LED,如果有个别LED不亮或较暗,则因进行更换(LED在焊接时比较容易坏)。
二、机械部分
机械部分的制作比较简单,按照网上的教程即可。主要是安装好电刷和电机部分,需要使用热熔胶固定,也需要有点钻来开孔。注意引线的长度,防止在底座接线时不够长。
这部分完成后如下图所示:
至此,电路和机械全部完成,剩下的就是调试与编程了。
三、调试与编程
之前在制作硬件时已经有了电路调试的工作,这里还需要调试电源。我在给无线供电模块上电时,LED并没有被点亮(已下载LED全亮程序),无线模块发热,测量单片机电压,只有3.1V。首先检查了模块本身的问题,将原级线圈断开取下,再次上电,无线模块不发热,可以肯定无线供电模块没有发生短路;接上原级线圈,空载测试,模块依旧发热。怀疑是无线供电模块供电能力太弱,
考虑通过提高输入电压和降低输出降压来解决。将发生电路D1去除,相当于提高0.7V输入电压,输出反而变为2.93V。调整次级线圈的位置,输出电压在2.81V-3.33V之间变动。将输出端串接的4148二极管(0.7V压降)更换为肖特基二极管(0.5V压降),输出电压竟然高达7V了,还好即时发现,电路没有烧坏。以上诸多不合理现象,后我仔细考虑,疑似稳压管有问题,更换了稳压管D5。调整次级线圈位置,输出电压在2.95 – 5V变动,正常工作。我仔细看了”稳压管”上的标注,原来是我把稳压管和4148的位置搞反了(没办法,长得很像啊)。
程序编写方面,注意利用好红外传感器的中断,尽量提高系统的响应时间(减小主循环时间)。刚上电启动时,因为转速不稳定,画面会有一些抖动,将程序优化后,只要转速稳定,大的抖动就不会出现。
好了,公布成果 :)
祝大家制作成功!
本文由云飞机器人实验室 (www.yfworld.com) 原创,作者戴晓天保留对该文的所有权以及变更权。你可以自由转载,但需注明原文出处。
>> 本文章版权归作者所有,如需转载请联系作者授权许可。
>> 原文来自: 云飞机器人实验室
>> 原文地址: 十字旋转LED点阵的制作
>> 关于我们: 关于云飞实验室
>> 支持我们: 帮助我们可持续发展
请问采用的电动机是直流伺服电机吗
你好!只是普通的直流电机。一圈只有一个位置反馈(通过固定位置的红外对射管)。
我也在做这个东西,能否问个问题,写程序时外部中断2怎样设置?我就是进不了中断服务程序。能不能给出代码?
EA=1; //开总中断
EX1=1; //开外部中断1
IT1=0; //外部中断边沿触发,下降沿触发
中断服务程序记得加后缀,如void INT1_ISP() interrupt 2