基于CPLD+AD2S1200实现的旋变解码
程序功能:(1)实现旋转变压器0~360°的角度解码,精度为0.1°;
(2)采集的角度解码数据通过12位并口输出(亦可在程序中设定为串口);
(3)解码后的角度值通过数码管以十进制的形式显示出来;
(4)该程序同时可以实现电机转速解码,同样的转速可以通过数码管显示出来;
解码程序(内附详细程序说明)ourdev_660114J15GI7.rar(文件大小:1015K) (原文件名:CPLD+AD2S1200程序.rar) 回复【楼主位】ctk520
-----------------------------------------------------------------------
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660115SDM2M8.jpg
AD2S1200时序图 (原文件名:AD2S1200时序图.jpg)
AD2S1200英文资料ourdev_660116P2VXKK.rar(文件大小:346K) (原文件名:AD2S1200.rar)
AD2S1200中文资料ourdev_660117JG6INX.rar(文件大小:291K) (原文件名:AD2S1200_cn.rar)
AD2S1200评估板(内含原理图)ourdev_660118MJQTAJ.rar(文件大小:1.23M) (原文件名:AD2S1200评估板.rar)
AD2S1210英文资料(AD2S1200升级版)ourdev_660119D0O5NL.rar(文件大小:657K) (原文件名:AD2S1210_cn.rar) 回复【楼主位】ctk520
-----------------------------------------------------------------------
再附上配套的旋转变压器的相关资料,如下:
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_660120UCF4DX.jpg
旋转变压器外观图 (原文件名:旋转变压器外观图.jpg)
旋转变压器说明书ourdev_660121FYYPWY.rar(文件大小:300K) (原文件名:BEM50.5-1旋转变压器.rar) 感谢lz无私奉献,以前听一个同事说,旋变解码很难 回复【3楼】wangyj173
-----------------------------------------------------------------------
旋变解码原理性的东西其实也不难,解码芯片的应用也不难,关键是要充分地阅读并理解其datasheet,将时序图完全吃透,写程序时最好是采取状态机的方法,一步步读取数据就ok了,剩余的一些小问题再针对性地解决就好了~ %>_<%第一次发帖,竟然都无人问津,太寒心了,泪奔ing... 绝对得顶,这个~估计用的人不多的缘故吧 编码器不了解,现在学习一下 楼主有没出现上电后编码器输出角度翻转180度的情况。 顶起,虽然现在用不上,学习一下总是好的。 记号一下 回复【6楼】adsladsl
-----------------------------------------------------------------------
恩,呵呵,应该是,用的人少,所以问津的人也少~ 回复【7楼】.oOo.
-----------------------------------------------------------------------
我也是刚接触不久。据了解,旋变解码主要是用在对电机转子位置和旋转速度的精确测量,能适应冲击震动和温湿度变化等恶劣的工作环境,普通的光电编码器很容易损坏,而旋转变压器由于其坚固耐用而可靠性比较高。 回复【12楼】ctk520
-----------------------------------------------------------------------
是的,说的很有道理~楼主圈圈是什么?
你用的编码器是哪家公司的?多摩川的吗? 回复【8楼】adsladsl
-----------------------------------------------------------------------
我在调试的过程中倒从来没有遇到过编码器输出角度翻转180°的情况,但在网上也有看到一些网友说有此类情况出现,类似削峰,就是编码器输出的sin或cos波形只有正半轴或负半轴(不知与你说的情况是否一致),其中的原因无非有二:一是编码器的驱动电路设计的有问题,这个可以参照AD2S1200资料手册上的参考电路设计,一般应该没什么问题;二是编码器的接线有问题,"+"、"-"接反了。
再附上一些有关ADI芯片应用的问答集锦,以供大家参考:
ADI论坛问答集锦1ourdev_661634OJF0MN.rar(文件大小:333K) (原文件名:ADI论坛问答集锦1.rar)
ADI论坛问答集锦2ourdev_661635E01LBS.rar(文件大小:961K) (原文件名:ADI论坛问答集锦2.rar) 回复【14楼】ctk520
-----------------------------------------------------------------------
是有时候开机的时候出现翻转180的情况。找不到原因,开始我们也是用cpld驱动的,后来用74hc14,单片机直接读信号。 回复【13楼】adsladsl
-----------------------------------------------------------------------
圈圈是指?
多摩川的编码器好像应用的是比较多的,性能也比较好,但我用的是上海一家公司自产的编码器(公司名字就不说了,旋转变压器说明书里面有,免得有做广告的嫌疑,呵呵~) 回复【15楼】adsladsl
-----------------------------------------------------------------------
有时候?那我也晕了,毕竟我没遇到这种情况,所以也猜不出具体是什么原因,如果实在解决不了且必须解决的话,我建议你可以直接联系ADI的技术支持,可以针对性地去解决,一般两天左右可以得到回复。
我用单片机和CPLD都试了,都没出现什么大问题,只是在对时序控制和解码精度的问题上费了一些功夫,还算比较顺利O(∩_∩)O~ 回复【17楼】ctk520
-----------------------------------------------------------------------
有没试过直接用单片机读取,可以省掉CPLD的。这个方案是我们从代理商那里买的板子上的~ 回复【18楼】adsladsl
-----------------------------------------------------------------------
恩,试了啊,最初用的是单片机+74HC573来读取AD2S1200的12位并行数据的输出,两者的控制接口直接通过100R的电阻相连就可以了,后来因为项目的需要才改成CPLD的,单片机或CPLD选其一均可~ 我目前正在做的位置检测正是采用AD2S1210做解码读取位置控制PMSM,但存在一些问题,采用SPI接口读写AD2S1210的寄存器,发现寄存器的值可以自己改变,如控制字自己变化后励磁信号没有了输出,整个位置读写即出现了错误,不知有没朋友遇到过。希望能和楼主交流一下!!回复【楼主位】ctk520
----------------------------------------------------------------------- 回复【20楼】guaiguaima
-----------------------------------------------------------------------
寄存器的值不稳定,读出的数据总是发生变化,应该是AD2S1200的控制时序出了问题。
第一,既然你采用的是SPI接口读写,解码数据应该是串行输出,串行读写时序图,如下:
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_661675QYMBZY.jpg
(原文件名:1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_43/ourdev_661676YJD8Y8.jpg
(原文件名:2.jpg)
在时间的控制上,要特别注意Min和Max的取值范围,最好是能像我在1楼发的“并行时序图”那样,将每一个状态机的时序标注出来,然后跟自己的程序一一对照,这样可以做到一目了然,就不会出现时序混乱的问题了;
第二,如果你只需要读取位置寄存器(POS),最好是将速度寄存器(VEL)禁止掉,使RDVEL恒等于1,这样就不会出现所读取的位置和速度数据相互干扰的问题;
以上观点仅供参考,具体问题还得具体分析,呵呵~ 控制时序没有问题,用示波器详细的看了时序满足要求,唯一怀疑的就是电路受到了干扰!目前正在排除故障,还有一问题想与楼主交流,你的旋变返回给AD2S1200的信号波形是什么样的?能否发点图,即SIN,SINLO之间,SIN,GND之间和SINLO,GND之间!不知道你的旋变输出到AD2S1200之间有没信号调理电路? 收藏一下! 回复【20楼】guaiguaima
-----------------------------------------------------------------------
你好,能和你交流下吗?554254640 回复【21楼】ctk520
-----------------------------------------------------------------------
这个旋变屏蔽措施也得做好,尤其是针对控制电机而言,有机会探讨下,Q554254640 楼主 我现在做AD2S1210解码相关,,您的这个程序能发给我参考一下么,谢谢。 好东西,现在正在用旋变,谢谢楼主分享!讲的真的很好。 搞了几周了,还是没能搞定,难 mark........ 感谢楼主的无私奉献! 好资料,工控很常用的! 请问你有旋变和AD2S1210的电路图吗?我的图感觉一直有问题,我的旋变是:变比0.5,励磁频率是10KHZ,输入电压7Vrms. 学习一下 正好需要,谢谢啊!
页:
[1]