宠物自动喂食装置|创意进度帖

zca123   2013-9-20 12:23 楼主
周计划:https://bbs.eeworld.com.cn/thread-380398-1-1.html

以下将按照周机会回帖汇报...

回复评论 (12)

上靓照|进度汇报

板子比想象中要小巧。
WP_20130920_001.jpg
从左到右依次为板载仿真器,自带USB转UART、通过跳线帽链接到主芯片,右边是两个按键;两个LED;一个可调电阻。没有其他多余的外设。

板子的3个晶振封装都不常见。分别是32.768K的实时时钟;仿真器的晶振,用于USB的时钟,25M(16M?)?;板子上唯一一次未焊接的器件也是一个晶振,16M,主振荡器。

LED旁边的跳线帽用于ADC模拟信号的接入。除了管脚的引出,板子上留出了各种仿真和下载接口,方便拓展。

板子的四周布了一圈的地线,这中做法不是很常见,走线和文字有浮雕和镂空的feel,比较精致;曰本系的layout engineer风格不太一样啊。

WP_20130920_002.jpg

配套的光盘很用心,把几乎需要的所有资料都包含了进去。通过引导方式启动,一路next到最后就安装了全部的软件,过程中几乎为遇到任何的纠结,但是需要联网注册一个激活码。

QQ截图20130920132741.png


所有软件、资料如上图。其中demo上位机软件展示了相当一部分功能,现在的单片机功能都差不多。导航小工具里包含了可能会用到的所有文档,所以不必再费心思到互联网上搜寻文档,包括:原理图、start guide、硬件指导、软件指导...当然还可以自己添加在论坛下载的中文手册进去。

总体来说,考虑得相当得周到。很用心,赞!
点赞  2013-9-20 13:59

总体方案设计

自动喂食装置涉及到机械装置的制作难度超过了我的预期。因为要想制作一款实用的喂食器外观不能太丑,个人DIY活动不能开模、用料也很局限,所以很难达到商用的成品的美观,摘一张来自淘宝的图片
T2DOLNXdRXXXXXXXXX_!!699569623.jpg
第二的困难是控制的机械部分,不是特定的模具、实在不好做。但是既然给自己定了这个任务,就要努力去完成,丑点就丑点吧。国庆放假回老家,进度落后了。目前我想到的机械部分的方案如下:
两个大矿泉水瓶,上面那个用于盛狗粮,下面的在底部开槽,做出粮皿。在中间做流量控制和控制开关。
WP_20131007_001.jpg
由于瓶口很小,且是漏斗型,所以狗饼干会慢慢掉下来。只有控制好瓶盖处就好了。

瓶盖处的开关也是个麻烦事。我想到了3个办法,第一个如下图
WP_20131007_002.jpg
在下面的瓶子里放一个圆筒状的东西,用电机带动他转动,平时是堵住的。每转一圈,就有一段时间狗饼干可以从开口处掉下来。
这样测试了一下,效果还是可以。但是有个问题是,我没办法很好的找到转筒的中心点。所以转起来就不稳当。

还有一个办法是如下图所示的桨:
T2Q3sBXatXXXXXXXXX_!!1633924939.jpg
竖着放在接口处,电机带动着转。但是不知道效果如何。
另外一种办法是,如下图的桨:
T1_Mp_Fd8aXXXXXXXX_!!0-item_pic.jpg_210x210.jpg
在里面平这放,当转起来以后有一半的时间是打开的,一半的时间是关断的。
这两种桨可以避免找不到中心轴的问题。但是具体效果还不得而知...因为尺寸刚好合适的桨也不好找。

对于机械部分,很是恼火。我在这里请各位帮忙出出点子,该如何来做这机械部分,大家不妨都来聊聊,讲讲奇思妙想。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
    电机:买了带减速齿轮的步进电机,这样做可以更精确地控制转动的角度,如下图:
WP_20131007_003.jpg
T2vjInXedaXXXXXXXX_!!128600268.jpg
大电机是步进3.75°,小电机是15°+100:1的减速。
   驱动:由于ULN2003的最大电流只有500ma,带大电机会比较吃力,所以准备采用芯片BA6845F,配合四线双相步进电机。
QQ截图20131007221031.png
    通讯:为了实现手机端的控制,准备用美国RN公司的RN-171,低功耗UART转wifi透传模块。在PC上可虚拟成串口,在手机端可解析TCP包来实现通讯,甚至远端控制。

   人机交互:如果用液晶屏或者数码管+矩阵键盘的方式来实现,在外观上只会让实物变得更丑,所以直接通过wifi模块进行设置就好了。我要做的是编写基于PC的上位机配置软件,第二步的基于安卓的,基于安卓的要留着慢慢搞了。

   软件:核心是瑞萨单片机了。必须要用的外设是它的定时器和实时时钟,uart。我看了手册,实时时钟貌似跟一般的单片机不太一样,它是时钟格式的数据,类似时钟芯片。一天中大部门时间都是在低功耗模式下的实时时钟。只有当设定的喂食时间到了以后,跳出低功耗模式,产生驱动步进电机需要的时序,来实现喂食。淘宝上无论多漂亮多贵的喂食器都还没有实现互联网的接入,这或许是我这个丑陋喂食器的真正方便之处。
  为了防止停转和校准角度,加入红外对管,对扇叶角度实时监控。留出通讯接口,用于拓展外设。
  等机械部分解决以后,下周的工作主要是原理图绘制。

[ 本帖最后由 zca123 于 2013-10-7 22:34 编辑 ]
点赞  2013-10-7 21:33
对了,还应该增加余量监控的功能
点赞  2013-10-7 22:37

CubeSuite+初识

瑞萨单片机的标配开发环境是CubeSuite+,在官网上下载以后就能直接使用,省去了注册和和谐的步奏,挺实在的。

1.png
工程主要包括了:
R5F104LE文件为只读;
CA78K0R相当于KEIL里的PROJECTOPTION,是工程和编译配置,可读可写;
RL78 E20 是与开发板配套的仿真器设置文件;
Code Generator 是图形化配置软件,第一次默认不开启,可在tool里设置开启,比较有用;


以点灯为例,熟悉Code Generator的使用:
2.png
首先应该配置系统的时钟:

3.png
但是双击clock的结果却是端口重配置界面,是64+ pin单片机的管脚复用与配置,用于开启某些管脚的备选功能,如图中的UART2管脚。配置完成后点击Fix settings按钮,以后不可再更改。
4.png
真正的时钟配置在第二个选项卡,为了适应5V3.3V系统,我把EVDD的范围设置到了2.7-5.5V
5.png
红色部分可选择系统的主频,上限跟电压有关。其他几个选项卡可以选择是否片上仿真和包括CRC校验和内存保护在内的安全设置;
双击PORT,用于配置IO的状态,这个非常容易理解
6.png
板载的LEDP7.7,我拓展板上的LEDP0.5P0.6,设置为输出。
Timer是定时器配置了,可用于产生LED翻转的信号

7.png
8.png
每个定时器都有很多种模式,还可以配置溢出时间;
如果仅仅是闪烁灯,这些外设就够了,其他外设配置方法类似,可以对照着“硬件指南”手册来看。最后生成代码:
9.png
软件自动生成了很多文件并添加到了工程:

10.png
其中带user的多为中断服务函数和需要用户自己添加的,而不带user的多为初始化和配置文件。
由于软件已经帮我写好了IO口、定时器、系统时钟的初始化代码,所以我只需要在main函数中添加即可。

11.png
这些函数可以在对应的.C文件中找到实体;其中EI()和配置文件里的DI()为中断使能和屏蔽语句。可以在帮助文件中找到说明:

12.png
13.png
timer_user.C文件中软件已经生产了对应的中断服务函数的壳,自己添加翻转IO的代码即可:
15.png
然后选择编译,下载即可实现LED的闪烁。
总的来说,CubeSuite+的界面还算亲民,操作还算方便。使用Code Generator可以比较省事的初始化配置。这种方式非常常见与一些16位的MCU中,比如MSP430也有图形化配置软件。这种方式对于一次性配置的外设比较方便,需要经常改写的不适用,算是一个不错的小工具。
  • 14.png
点赞  2013-11-24 18:07

原理图

20.png
几乎没有什么,留了NOKIA5110屏的接口,看重他的低功耗(差不多一个LED的功耗)通讯设计的串口服务器模块,以实现与电脑、手机、以及互联网的无缝链接。模块接口直接串入了50R的电阻,防止电平兼容性带来的大电流。在电源部分分压过后链接到瑞萨单片机的模拟输入口,对电源电压的监控。
点赞  2013-11-24 18:11

PCB图

21.png
器件都是很简单的器件,原理也不复杂。发的顺X(和谐)捷(可以选颜色不加钱),就做的白色。
点赞  2013-11-24 18:12

焊接

板子差不多一周回来了,不算快,中规中矩吧。
22.png
最大的败笔是把功率驱动器的封装画错了,伤心死人。才知道原来SOP16还有几种不同的封装。无奈回学校,请朋友帮刻了一个转接板,然后背面再铣掉,留下薄薄的一层,然后画了他3个小时帮我焊上,最小间距是8mil,手工很强啊。

23.png
特写:

24.png
论坛送的焊台配合饱和松香水和助焊剂就是好用,比我以前那把烙铁用起来舒服多了。最后再用酒精洗一下,板子又恢复了白白净净。
点赞  2013-11-24 18:14
通过定时器实现节拍实现,在定时器中断函数里定义好变量static unsigned char step以后就可以很容易驱动步进电机了。通过逻辑分析仪读波形:
单拍驱动:
QQ截图20131204212918.png

    switch(step)
    {
    case (0):
            P2.0 = 1;
        P2.1 = 0;
        P2.2 = 0;
        P2.3 = 0;
        break;
    case (1):
            P2.0 = 0;
        P2.1 = 1;
        P2.2 = 0;
        P2.3 = 0;
        break;
    case (2):
            P2.0 = 0;
        P2.1 = 0;
        P2.2 = 1;
        P2.3 = 0;
        break;
    case (3):
            P2.0 = 0;
        P2.1 = 0;
        P2.2 = 0;
        P2.3 = 1;
        break;


    }
step =(step+1)%4;

这种驱动方式基本可以满足要求。

整步驱动:
QQ截图20131204213250.png
   switch(step)
    {
    case (0):
            P2.0 = 1;
        P2.1 = 1;
        P2.2 = 0;
        P2.3 = 0;
        break;
    case (1):
            P2.0 = 0;
        P2.1 = 1;
        P2.2 = 1;
        P2.3 = 0;
        break;
    case (2):
            P2.0 = 0;
        P2.1 = 0;
        P2.2 = 1;
        P2.3 = 1;
        break;
    case (3):
            P2.0 = 1;
        P2.1 = 0;
        P2.2 = 0;
        P2.3 = 1;
        break;


    }
step =(step+1)%4;

这种方式可以减少失步。

半步驱动:
QQ截图20131204213759.png
这种办法比前两种可以更精确的控制。
点赞  2013-12-4 21:45

通讯

要想实现PC,手机的远程控制,就必须要使用通用的协议。比如蓝牙和wifi。蓝牙功耗更低,wifi可以实现远程的控制。蓝牙4.0 BLE:
WP_20131202_003.jpg
模块用的是CC2540,与SensorTag中的核心器件CC2541是亲兄弟。功耗非常低,但是必须得安卓4.3+蓝牙4.0。否则只能模块对模块。外接硬件对手机控制来说显然不可取。
WP_20131204_002.jpg
右边那个小家伙就是RN171低功耗wifi模块。可实现串口服务器。在手机端可以通过解析TCP包来通讯。在PC端,可以通过一款叫VSPM的软件把TCP包虚拟成串口。这样可以大大简化上位机的开发。这个软件一般不支持WIN7,只有图中的版本才可以。找了好久才找到的。
QQ截图20131204215657.png


基于WIFI的透传主要方式有两种。
①,把下位机做成路由的形式,上位机做成客户端,通过监控server端的一个确定的IP和端口,来实现通讯,好处是可以一个下位机带多个上位机;
②,利用路由器做AD,下位机和上位机都做ED,通过路由器中转。

但是这两张方式都还不能实现下位机接入互联网。因为路由器给喂狗器分配的IP地址是虚拟的IP。即使是采用了静态IP和静态路由表的方式,只能保证在局域网内部的IP地址确定。但是路由器接入公网的IP是每次都不一样的。所以远程计算机还是没办法通过一个具体的IP地址联系到喂狗器。

折腾了几天,解决的办法是通过花生壳软件申请一个免费域名,然后在路由器里把具体的端口映射到内网中给喂狗器分配的具体IP上。在远程机上监控该端口通讯。
点赞  2013-12-4 22:14

语言播报

模块是以前剩下的,资料还在,布板的时候就给补上了,通过IO口控制录音,播音,停止、选地址段等功能。很傻瓜。插卡使用
WP_20131204_001.jpg
板子上还布了NOKIA5110屏。可能是我水平退步了,可能是屏坏了,用上逻辑分析器对照着时序写也还是没有调通,总是花屏。汗颜啊。
点赞  2013-12-4 22:19

:carnation: :carnation: :carnation: ——来自一个有想法木实践的人

:carnation::carnation::carnation:也想过,甚至想过远程可以视频的那种,可是眼高手低啊。看到楼主的实践,真心地赞赏。来学习的。标题中的花怎么不显。

[ 本帖最后由 bhuigoo 于 2013-12-5 08:46 编辑 ]
点赞  2013-12-5 08:45
  看起来很不错~~

要是真的拿这个给我们家lucky,估计连瓶子带狗粮都吃了~~
点赞  2013-12-5 10:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复