单片机
忆往昔
转眼二十余年已逝
做过项目如过江之鲫
但第一个项目依旧清晰
如初恋难以忘记
阻容感耦
多磨砺
项目概况:
虽然在学校曾经接触过单片机,但毕竟多是理论知识,没有实际项目的练手,不能算是真正接触。
上班后的第一个单片机项目,印象深刻,因为几乎将Atmel的89S52发挥到了极致。
项目现在回头看看,有些要求超前,在各方面都满足时,单片机确实有些力不从心,更优的应该是ARM+单片机或者增加其它辅助的控制器件。
项目的要求有:
1.步进电机的控制(ADC+开关信号输出)
2.电脑上位机控制(RS232接口)
3.面板控制(并口按键扫描)
4.外部的编码器、电流等各类传感器读取(并口+DAC)
5.面板显示(LCD并口)
随着项目的推进,软件方面的局限逐步暴露,当时软件也是硬着头皮上手,第一次练手啊。
项目调试中的各位问题:
1.步进电机控制,最初采用ADC和压控恒流方式,结果发现占用单片机时间多,串口、按键扫描等功能上了后,系统运行周期太长,经过紧急讨论磋商(属于当时的非主流课题,没有领导关注的项目),将电机驱动控制改为使用现成的驱动器,单片机通过输出不同的方波信号,控制驱动器运行,从而大大减轻单片机的负担;
2.串口,这部分调试是最顺利的,RS232的驱动抗干扰能力都证明过硬;
3.面板扫描:这个折腾,主要是由于按键很多,第一版方案时每个按键通过焊接导线方式与主板相连,焊接了一般就进行不下去了,乱如麻、空间狭小,操作困难。。。。。。反复思考、痛定思痛,采用做电路板形式,连接导线的工作由电路板上的布线实现,突击了三天三夜,板子出去,微动开关板装,通过排线插座连接主板,一下子,清爽了。。。。。
4.外部传感问题,干扰、信号耦合、阻抗匹配,就是调试时间长,需要反复折腾;
5.面板显示,在上述问题都搞定后,调试它就容易多了,基本上一两天就通了。
经验收获满满啊,这次练手的项目,难度之大超乎想象,这次项目,知道了单片机当时运行下(11.0592MHz),最大只能输出20KHz的方波,这个问题还专门找了一位用汇编老师傅,用最简单代码,让一个IO口高低电平反复变化,测出来就是20KHz多一点点,这导致了电机驱动的细分数量受限;这为后续研究分析PWM驱动频率打下了基础;
硬件方面:更是全面熟悉了各种阻容感、按键、微动开关、继电器、各类连接件等等,算是硬件入门的全面培训,电子市场也是跑了N多趟,和现在网上下单相比,确实不方便,费时费力,效率低下。
损失也是可观:烧毁仿真器一台,后专门去了售后花了近两百大洋修复了;烧毁三极管若干、MOSFET若干(做电机驱动,上下桥直通了导致的,同时导致了仿真器的局部烧毁);板子也是局部器件烧了更换飞线割线连线。
花絮1:
调试电机驱动时,去采购步进驱动器,在乐兹的代理处,他们的彭总,给我讲了一个多小时的电机驱动细分的原理,还画了经典的正余弦的圆和电流的对应关系,这张草图,我拿了很久,一直反复看反复思考。日本乐兹的驱动器是比较牛,功能也非常强大,就是太贵了。
花絮2:
在某工厂调试,半夜12点多,某电机驱动器的人开车来,送其驱动模块,半夜三更,某个大树林立的郊区厂门口,一辆破旧的桑塔纳,接头见面,递出一个牛皮纸的方块,回头想想,真有特务接头的感觉啊,而且在哪个阴森森的厂区里穿梭,当时竟然没有害怕的感觉。那次就是连续三天三夜的调试,一下子打通了。
年代久远,在当时数码刚刚出现的时间,照片很少,甚为遗憾!
感谢那个不眠不休的几个月,也感谢全力协助的几位好同事!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
相关活动:【单片机忆往昔】你做的第一个单片机项目是什么?做过最牛的项目又是什么?(500元京东卡福利)