从6月开始在台湾做出雏形给一家机器人公司看了之后,确定这个项目。本来打算9月初结束这个项目的,可惜回来之后,校省赛上面投入了一些时间,后来一段时间自己也没调整过来。总算在断断续续中把这个项目可以先告一段落,后面的版本升级跟维护目前也把这推到后面再说。

  在这个过程中遇到了大量的问题,因为用PSoC(CY8C29466/CY8C27443)来实现,目前找不到任何的资料,因为目前业界用PSoC做这个的只有一家美国的Parallax公司,而实现该公司的作品难度会低很多,因为他没有考虑动作的记录,只是上位机做动作,不能离线控制,所以限制了它的应用。而目前所看到的控制器大多是用AVR的一些中高端芯片实现,或者用STC32实现,查找microchip公司的产品,也会看到这方面的应用,但售价却相对较高。当初为了去尝试,给自己挑战,突出卖点,因此最终选择了PSoC,而上位机则使用NI 的Labview,而用它实现这种上位机的也少之又少,一般Labview是配合NI公司的介面卡实现灵活快速的控制。而我则利用它良好的界面,跟G语言,来实现该编程,第一次用它实现串口通讯,第一次做文件存储,第一次用触发事件……都得从零开始自己去摸索。

   在台湾的时候的雏形只是为了让公司我们有实力完成,让公司放心。所以我当时也很赶,利用13个PWM8来简单的实现,出现的问题自然很多,精度,速度方面都达不到要求。不过只是雏形,所以要求能看到效果就行。

   回来之后,查找了大量的英文资料,为了充分利用硬件资源,实现16路的精度1uS的PWM输出,想了很久,最后想到利用PSoc的动态重构功能去实习两路PWM输出16个PWM信号,经过一番测试,终于可以了。然而这才开始,要重新打乱以前的成果,去用更好的方法去完成。接着操作记忆IC存储动作,从测试到完成花了最长的时间,因为跟上位机要有良好的通讯机制,出现的每一个问题都花了很长的时间去找,因为PSoC Designer没有simulator,而Emulator需要昂贵的调试器。所以我只能一边看程序,一边看动作,去找问题的原因。遇到一些很弱智的问题,也遇到一些难缠的问题。最后我利用唯一能利用的串口,将相应位置的信息传回电脑分析。有时候还是出现莫名其妙的问题,现在这种问题仍然偶然性的发生,因此我利用其他方法将该问题先代替。等过段时间回头再看看,或许会有更新的发现吧。

下一版本需要改进的问题:

1、讲记录数从254增加到1000;

2、下载起始码为特定值,增加稳定性;

3、在线演示上添加插入,删除,暂停,停止等动作;

4、多种Bound rate自动调整;

5、增加附加功能,做页面切换管理;

6、利用剩下的两只PIN做进一步扩展控制功能

7、……

 

附:

 

codesys机器人库_测试

codesys机器人库_测试_02


codesys机器人库_存储_03

codesys机器人库_存储_04


codesys机器人库_测试_05


codesys机器人库_通讯_06


codesys机器人库_codesys机器人库_07