ATMEGA8 加 75LBC184 把采集的数据用485线传给上位机显示,调试上位机就我的笔记本电脑。
MEGA8 用内部RC振荡 工作在1M频率 校准用出厂的校准值没去改过, 串口波特率4800,8数据位,1停止位,在实验室调试的时候,模块需要的5V和24V供电是用一个开关电源盒子供的,485线长1米,通信完全没问题。
到了现场使用模块自己的线性电源,380V转9V和28V给7805和7824,就这样一个简单的线性电源,变压器是2.5瓦的,也不算大,变压器在模块上距离MEGA8和75LBC184也就3个CM远吧,因为模块做的像个盒子,几个PCB垂直搭起来的,电源板和单片机板是垂直的,垂直距离3CM。就这样,通信数据被干扰的不想样子。
使用开关电源时,一口气发10个字节,一点问题都没有,长时间稳定的数据,所以不可能是使用RC不准的问题,为了这个内部RC做通信,特意找了叶大侠很老的帖子专门做这个讨论的来看,所以感觉硬件电路和程序都没大问题,难道说这线性电源变压器比大功率天线还厉害?对电源不了解,也听说线性电源的干扰没开关电源大,为此我故意把开关电源盒子和单片机板子靠一起,通信稳稳的。
再描述下干扰的问题,我测试少量数据发送,就发A5和E3两个字节,一秒发一次,串口调试助手看到的 A5 E3 连续出现3 到4个正确的后,就开始出现错码,很多错码看起来和真实值相差也就是某些位置0变1,有的像是真实值左移一位。错的离谱的就是发两字节收到1字节。
恳请有经验的高人们指点下,我也是被搞的焦头烂额了。 |