[开源]阿莫蜘蛛进度报告[2015-02-15更新]

2020-02-19 20:53发布

本帖最后由 Gorgon_Meducer 于 2015-2-15 22:31 编辑


此贴专门用于阿莫蜘蛛项目进度报告







傻孩子工作室作品

STAFF

   
    Hardware Design           yiming988
    Driver Design                y574924080
    Movement Design         qufuta    sunfulong
    Mechanical Designing     老陈
    Production                   老陈

    Architecture Design Gorgon_Meducer



SPONSOR               

    amobbs, Freescale

ACKNOWLEDGE
   
    Armok
   




- 2015-2-15
    a. 更新Joint类,增加Time属性可以控制动作在指定的时间内精确的完成,大幅度提升蜘蛛舞蹈的时间精度。

    工程模板需要在IAR7.x下编译,单击这里下载: SpiderRobot_Template(v1.5).rar (1.1 MB, 下载次数: 102) 2015-2-15 22:28 上传 点击文件名下载附件
        特别说明,工程文件在“SpiderRobot_Templateapplication emplateuild_iar”下面

- 2015-2-04
    a. 更新第一版舞蹈
        http://v.youku.com/v_show/id_XODg2MDIwOTA0.html
        讨论在这里
        http://www.amobbs.com/forum.php? ... p;page=1#pid8405770

        感谢sunfulong的精彩作品!

- 2015-1-28
    a. 发布工程模板v1.4a
        - 提供宏模板,用以将指定的动作重复指定的次数,范例:

  1.         ACTION_REPEATE( REF_ACTION(Spider_Go_Front),    //!< target action
  2.                         10,                             //!< times
  3.                         REF_STATE(Spider_Action1));  
复制代码
        重复执行动作(Spider_Go_Front)10次,完成后直接切换到Spider_Action1状态

        - 提供宏模板,用以延时指定的时间(非阻塞延时),范例:

  1.         ACTION_DELAY_MS(4000,                           //!< delay time in ms
  2.                         REF_STATE(Spider_Action2));     //!< next state
复制代码
        延时4000ms,完成后直接切换到Spider_Action2状态

        - 提供脚本模式,并提供范例脚本,演示了重复前进10步,延时4秒,后退10步,前进一步的简单脚本

  1. /*! rief play action script
  2. *! param none
  3. *! eturn access result
  4. */
  5. bool play_action_script(void)
  6. {
  7.     utilitis_init();

  8.     return NEW_FSM(SpiderPlay, REF_STATE(Spider_Init));
  9. }


  10. IMPLEMENT_FSM(SpiderPlay)

  11.     PRIVATE STATE(Spider_Init) BEGIN
  12.         
  13.         IO_CFG(
  14.             {PB20, IO_WORKS_AS_GPIO, IO_PULL_UP},
  15.         );
  16.         GSP_PORTB.DIR &= ~PB20_MSK;
  17.         
  18.         TRANSFER_TO_STATE(Spider_Wait_for_Trigger);
  19.         EXIT_STATE;
  20.     END


  21.     PRIVATE STATE(Spider_Wait_for_Trigger) BEGIN
  22.         
  23.         //! press key to start
  24.         if (!(GSP_PORTB.IN & PB20_MSK)) {
  25.             TRANSFER_TO_STATE(Spider_Play);
  26.         }

  27.         REFLEXIVE_STATE
  28.     END
  29.     PRIVATE STATE(Spider_Play) BEGIN
  30.         
  31.         ACTION_REPEATE( REF_ACTION(Spider_Go_Front),    //!< target action
  32.                         10,                             //!< times
  33.                         REF_STATE(Spider_Action1));  

  34.         EXIT_STATE;
  35.     END

  36.     PRIVATE STATE(Spider_Action1) BEGIN

  37.         ACTION_DELAY_MS(4000,                           //!< delay time in ms
  38.                         REF_STATE(Spider_Action2));     //!< next state
  39.         EXIT_STATE
  40.     END

  41.     PRIVATE STATE(Spider_Action2) BEGIN

  42.         ACTION_REPEATE(REF_ACTION(Spider_Go_Back), 10, REF_STATE(Spider_Action3));
  43.         EXIT_STATE
  44.     END


  45.     PRIVATE STATE(Spider_Action3) BEGIN

  46.         CALL_ACTION_EX( REF_ACTION(Spider_Go_Front),    //!< target action
  47.                         REF_STATE(Spider_Action4));     //!< next

  48.         EXIT_STATE
  49.     END

  50.     PRIVATE STATE(Spider_Action4) BEGIN

  51.         //! performance complete!!! wait for trigger again
  52.         TRANSFER_TO_STATE(Spider_Wait_for_Trigger);
  53.         EXIT_STATE
  54.     END
  55.    
  56. END_IMPLEMENT_FSM
复制代码

    b. 整理工程架构,提供动作模板和脚本模板
         1.jpg (221.53 KB, 下载次数: 0) 下载附件 2014-8-3 15:02 上传



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
myiccdream
1楼-- · 2020-02-21 19:29
1个光耦1rmb。而且这个光耦不是用于隔离作用,只是做个电平转换,这成本太高了
LM2576的不轮layout的体积,还是成本感觉都不是最好的。这个电源部分可以大部分的压缩空间和成本
yiming988
2楼-- · 2020-02-21 19:42
myiccdream 发表于 2014-8-4 10:32
1个光耦1rmb。而且这个光耦不是用于隔离作用,只是做个电平转换,这成本太高了
LM2576的不轮layout的体积, ...

硬件是我做的,软件工程师做硬件真是有点勉为其难了,您能把更好的方案说的详细一点吗? 光耦在这里确实是隔离用,控制和舵机的地是分开的,只是光耦这么用不知合不合适,更经济的光耦型号有哪些;供电部分2576确实占面积而且贵,我也是手头有这个所以直接用了,您有改进的选型能说一下吗?蜘蛛测试版做完后我可以在第二版上改进
myiccdream
3楼-- · 2020-02-21 23:26
 精彩回答 2  元偷偷看……
hhxb
4楼-- · 2020-02-22 01:45
不在乎速度光耦换成TLP281-4GB;4光耦,SOP16封装。
开关电源用TPS54331 ;3.5V 至 28V 输入、3A、570kHz 降压转换器
yiming988
5楼-- · 2020-02-22 03:55
myiccdream 发表于 2014-8-4 11:36
我从原理图上看你所使用的是非隔离的电源(隔离电源可以参考金升阳的模块)。所以我个人觉得这个地方不算严 ...

嗯 确实不算隔离,用隔离的dcdc模块确实是更好的选择,多谢指点!
yiming988
6楼-- · 2020-02-22 04:35
hhxb 发表于 2014-8-4 11:39
不在乎速度光耦换成TLP281-4GB;4光耦,SOP16封装。
开关电源用TPS54331 ;3.5V 至 28V 输入、3A、570kHz  ...

查了一下这个光耦的资料,确实是更好的选择, 电源IC也比2576更适合,谢谢!

一周热门 更多>