搜索
bottom↓
回复: 19

[原创]绕线机计数器、长度计(12位数码管+24LC02)Proteus仿真[测试7.4SP3的bug] 【恢复

[复制链接]

出330入0汤圆

发表于 2008-11-18 00:03:36 | 显示全部楼层 |阅读模式


 (原文件名:showimg3.jpg) 

    最近正在搞这个东东,各种功能还没有完善,使用的单片机型号为PIC16F73,EEPROM型号为24LC02。数码管型号为共阴。原理是,利用PIC单片机的CCP模块捕捉光电编码器传送过来的脉冲信号进行计数,并且能够判断绕线轮盘是正转还是反转。设置的各种参数和记录的绕线圈数保存到24LC02中,这样掉电后,所有的参数和记录都不会丢失。

    源代码是由几个部分拼凑起来,其中一个重要的部分就是单片机对24LC02进行I2C总线读写,这部分是从一个例子中得到,但是原来的例子中有错误,原班不动地照抄到你自己的程序中去,就会发现单片机根本无法对24LC02读写。经过纠正,可以仿真通过了。纠正的地方我已经做了记号,也就是“!!!!!!!!!!!!”。

    上面有不少按键,有设置键、复位键、修改显示数字的按键、设置功能的按键。



(源程序工程文件暂时就不发出来了,因为还没把所有功能都完成,等做完了再酌情发出来。)

本贴被 zcllom 编辑过,最后修改时间:2008-11-18,00:53:46.

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出330入0汤圆

 楼主| 发表于 2008-11-27 16:38:30 | 显示全部楼层
图片不见了?

出0入0汤圆

发表于 2008-11-21 10:04:25 | 显示全部楼层
标记学习 谢谢

出330入0汤圆

 楼主| 发表于 2008-11-19 21:07:32 | 显示全部楼层
数码管显示出错,应该不是7.4的问题,估计是楼主的程序问题会多一点,可以的话把显示部分列出来讨论一下! 

==============================================

我倒希望是楼主我自己的问题,盼星星盼月亮好不容易盼到了7.4SP3,谁也不想它出现倒退情况。把程序贴出来,我正有此意。少安毋躁。。

出0入0汤圆

发表于 2008-11-19 10:40:17 | 显示全部楼层
数码管显示出错,应该不是7.4的问题,估计是楼主的程序问题会多一点,可以的话把显示部分列出来讨论一下!

出0入0汤圆

发表于 2008-11-18 22:04:14 | 显示全部楼层
感觉好多原7.2可以仿的,7.4都一堆问题,不知道是破解的原因,还是7.4变垃圾了

出330入0汤圆

 楼主| 发表于 2008-11-18 18:01:38 | 显示全部楼层
4位显示,频率3K就足够,加上比例就够,用来将编码器信号转化为长度显示。

======================================

看来我们研究的东西类似啊,多多切磋,共同进步,呵呵

出0入0汤圆

发表于 2008-11-18 13:19:19 | 显示全部楼层
4位显示,频率3K就足够,加上比例就够,用来将编码器信号转化为长度显示。

出330入0汤圆

 楼主| 发表于 2008-11-18 12:49:40 | 显示全部楼层
谢谢,最近也在测试高速计数器,4位的

=============================

速度多快?频率是多少?我的这个最高频率5K(200uS脉宽)

出0入0汤圆

发表于 2008-11-18 10:05:34 | 显示全部楼层
谢谢,最近也在测试高速计数器,4位的,一直在LED数码管上没通过,以前7.2SP6上也没通过
头像被屏蔽

出0入0汤圆

发表于 2008-11-18 09:58:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2008-11-18 09:54:15 | 显示全部楼层
标个记。这是个好贴子!!!

出0入0汤圆

发表于 2008-11-18 09:46:46 | 显示全部楼层
站长的头好圆!!!

出330入0汤圆

 楼主| 发表于 2008-11-18 01:02:58 | 显示全部楼层
这张图是Proteus7.4SP3下的仿真效果:运行的时候,数码管好象反应不过来,有数字的地方都是用“横杠杠”来糊弄我。

(程序改动不大,改成上排红光数码管显示计数值了,下排的数码管备用,以后做功能设置显示用)





 (原文件名:I2C.JPG) 

出330入0汤圆

 楼主| 发表于 2008-11-18 00:33:24 | 显示全部楼层
上图是在Proteus7.2SP6的环境下仿真出来的效果。觉得显示的比较稳定。

换成7.4SP3后发现闪烁的厉害。不知道是版本的原因,还是因为后来又添加了小功能进去,导致程序有bug(换了7.4SP3就没换回到7.2了)



另:

1、由于我在proteus中没有看到光电、旋转编码器的模型,因此无法对电动机的转动进行脉冲记数,更进一步说,无法利用旋转编码器的发出的A相、B相信号的相位差,来判断电动机是正转还是反转,这个我得找另外的办法解决。目前,是利用proteus里的时钟信号供PIC采集脉冲边沿,从而进行记数。



2、掉电保护数据,在实际中是用了一个电源监测芯片7044A来判断电压跌落到4.4V,立即给单片机一个信号,然后单片机赶紧将记录的圈数、设置的参数通过I2C方式写到EEPROM芯片24LC02中。在仿真中,我在单片机PIC16F73的RA5腿上放了一个开关,模拟掉电的情况。按一下开关,单片机就写I2C总线保存数据。然后在下次来电后,在程序的初始化过程中,把保存的数据通过I2C读到单片机中。



3、关于读写24LC02,目前发现,Proteus里的24LC02模型可以把数据保存到永远!也就是说,你这次打开Proteus仿真,把绕线圈数写进了24LC02中,关闭Proteus,过几天,你再打开Proteus,仿真,24LC02中的数据居然没有丢失。单片机读出来然后从这个圈数开始继续记录数据。



这里把Proteus仿真以及程序的HEX文件放上来:

点击此处下载 ourdev_502542.rar(文件大小:125K) (原文件名:jishuqi.rar) 

出330入0汤圆

 楼主| 发表于 2008-11-18 00:42:55 | 显示全部楼层
哈哈,站长占沙发的工夫一流啊。

另:将源程序工程文件发上来,得等我把按键处理、参数设置、记数变成长度的算法、继电器控制等功能写完。如果大家有兴趣,就考虑发上来。
头像被屏蔽

出0入0汤圆

发表于 2008-11-18 00:09:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-9-7 23:21:43 | 显示全部楼层
好东西,学习啦。

出0入0汤圆

发表于 2011-12-6 21:55:29 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-12-6 23:11:35 | 显示全部楼层
Mark!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 22:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表