查看: 7114|回复: 11

[项目] 2016年新进度-Arduino uno Ustar-HMI 自酿啤酒机项目

[复制链接]
本帖最后由 mieoff 于 2016-5-1 22:05 编辑

   十月初的时候萌生一个想法,想自己做一台自控的设备,用来酿造啤酒。国内这个圈子比较小,因流程复杂每次做啤酒厨房都很乱,所以想自己做一台自动化的设备,国内目前类似设备还很少。所以网上搜索了些方案准备动手开始做,大概讲讲过程吧。
首先我做IT行业的,但是做IT太广泛了。三六九我属于最差那个吧。文化程度对于我来说是个问题,不过谁让咱在IT行业呢,别丢脸。仗着胆子就弄了。刚开始查了差不多半个月的资料。有了些思路就开始弄了。首先说说要解决的问题,1.编程不会、2.电器电路不会(停留在物理世界,比如点灯开关是220V)、3.产品UI设计不会、4.结构设计不会。5.英文不会!当然还有其它不会的多多。
不会好办自己学吧。
一、开始我先设计的产品结构,脑子里有雏形在本子上画了画,然后就网络上搜索了一些教程,最后用选择用Solidworks,学习了3天左右。设计了2个结构框架,见下图:
A97C073C-C10D-4D45-868D-F843C012EE93.png





二、有了结构框架,接下来就需要设计自动化程序,查了几天资料,选择有AVR、51、PLC、Arduino纠结了好几天,各有利弊对于初学者来说确实太难了,PLC的设备太大、AVR看了1天有些复杂,不能快速实现。51大概看了下也麻烦.Arduino是最后看每个淘宝店铺都在卖,查了2天资料,关键没套件也可以先编编程序啥的,还有1个原因就是MAC下也可以编程,最终选Arduino了。
三、选择了可以控制的产品,然后应该选个显示设备,看了很多淘宝店。有几种选择OLED、LED、LCD。看几种我都觉不太满意。应该要有个彩色的UI和屏幕。因为之前看过很多PLC控制屏,了解了几天大概知道意思就选了个国产的串口屏幕(这个选择最终没后悔,过程后悔了)。选择的时候也没想过怎么来控制他们之间的显示,我时十一放假开始采购的。Arduino的新手套件儿没到。屏幕先到了所以我就花了几天时间做了几个界面,当然又学习了PS!。
2_0007_toggle-off.png 2_0005_btn_03-副本.png 2_0006_继电器测试-副本.png

1B0B2010FC26BB1718E9D7CC6A393D5D.jpg C43E54F2557907C43B69475A69A206C6.jpg

当时因为预算,买了个最小的屏幕,分辨率:400*240的3.2寸,最终看到的效果不是很好不过还是实现了。这个是我用Arduino控制继电器的照片。
四、程序的UI、框架设计完了这时候应该给它个核心了,可这时候我还不会编程,悲催啊!!。不过高兴的事情是Arduino的新手套件到了。一打开就犯愁了,我不认识它,它也不认识我。不过好在相关的资料多,网易上翁叔有套视频教程算是启蒙了,不过用的是图形化编程。教程一共两套,我都看了下挺好的。然后就摸着石头过河,按照教程1个1个整,不过我买的套件和那个不匹配,跟DFRobot上得文字教程到是有些,没有直接用例子程序,自己手打到IDE里面理解的。几天下来大概能完成几个例程了。这时候我就想不用按键控制Arduino。我想用我的屏幕来控制,一开始给自己挖的这个坑太大了。搜索了几天的资料没有做过的。51和SYSTM32到是很多人做过。而且屏幕的厂商也提供了驱动的例程,没提供Arduino的,也没打算提供。这时候就犯愁了想放弃了。不过很快我在串口通讯上有了突破,关键是不断的在网络上搜索资料和实验。自己在笨点儿花了差不多1个星期让它有动静了。可以实现控制啥的了。步骤我是先看了屏幕官方给的51通过串口控制屏幕的例程,然后在根据我自己的理解改成ARduino的程序。这里我要感谢serialEvent这个串口中断,然后也在别的论坛上看了关于串口通信的协议啥的。不会的就手打理解。主要2个问题解决了就OK一个是发送一个是接收,1个是厂商的屏幕要发送3个结束字符串“0XFF,0XFF,0XFF”就这么三个字符串。可是我怎么发送都不行,最后用Serial.write()发送过去了,屏幕也显示了。另外一个就是屏幕厂商发送过来的是“0X65 0X01 0X02 0X00 0XFF 0XFF 0XFF”这么个字符串在Arduino的IDE串口上还不显示,就这么个问题弄了几天,最后也解决了。接收过来的数据我存储到数组里,然后在强制转换成字符串。不过这时候问题来了我写的程序不知道怎么优化了。贴出来让高能给指点指点。

  学习ARDUINO快1年了. 最初的目的是想做一个自己在家酿酒的机器,之前发过一个帖子,我本人没啥学历,初中没毕业,靠着爱好的坚持,一直边学边写,到今天有了初步的进程,从程序到项目, 对目前的我来说太难了. 还请高人指点,我吧代码和视频贴出来,望牛人,大神指教.


代码下载. 放到云盘了
http://pan.baidu.com/s/1eSe46zS





mieoff  见习技师
 楼主|

发表于 2015-10-17 06:58:58

回复 支持 反对

使用道具 举报

栽培者  初级技师

发表于 2015-10-17 08:15:29

楼主谦虚了,这是啥都会的样子啊。动手能力好强。
回复 支持 反对

使用道具 举报

大连林海  初级技神

发表于 2015-10-17 18:02:04

太牛掰了
回复 支持 反对

使用道具 举报

dsweiliang  版主

发表于 2015-10-19 13:37:07

味道如何?
回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2015-10-19 23:52:05


还在编程序呢?
一边儿编一边儿学,好处是每天都学会新东西。坏处是不系统,每次当我学到一个新的指令的时候,我才发现之前二了,然后在学一看又二了,老折返回去重新写,这两天让ProtoThreads给折腾死了。 发现怎么调BUG都是越调越多。
回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2015-10-19 23:54:17

本帖最后由 mieoff 于 2016-5-1 22:04 编辑

复制代码
回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2015-10-20 22:17:54

本帖最后由 mieoff 于 2016-5-23 10:19 编辑

汇报今天的进度,代码重新写了一次,用PT的库,用了差不多一个星期,总算还是搞定了。把界面也重新设置了一下,代码重新写了一遍。因为每天都能学到新东西,所以在不断的完善。uart_hmi的屏幕和Arduino的通信改了一下,不然老是报错。用了一组7位的数组传递页面和按钮的事件,用一个8位的数组传递数据和校验按钮状态。贴几张图和代码。另外吧UART—HMI的上位机打包发上来。大家如果需要刚好。代码如下,注释有错误的地方,大家凑合看哈,等都完成了我在检查检查。

复制代码


代码和上位机程序和素材都放到压缩文件里。不过分辨率比较小。
zd_0001s_0001_自动关.png

今天晚上看能不能把这个搞定。

my_ui_code.zip

980.22 KB, 下载次数: 107, 下载积分: 创造力 -1

回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2015-10-21 02:46:56

本帖最后由 mieoff 于 2016-5-23 10:18 编辑

自动程序做了一半,这个温度传感器读过来得温度和控制传感器的事件两个都有抖动,不好调啊。现在调好了估计也没用。 估计还有另外的因素,比如水泵的流量,加热板的加热速度和抖动时间。今天休息了,把今天最后调试的代码发出来吧。哥哥们帮看看那里可以优化,不胜感激。还有就是代码越来越多了,而且我的UNO资源估计不够了,一共3个18B20还有4个继电器,还要担负屏幕的驱动。在等等实在不行在找找其它板子,哥哥们帮推荐一块儿。

复制代码

回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2015-11-1 20:09:42

人活着总要接受各种现实世界的烦扰,因为家庭的原因项目目前只能暂停了.驱动UART_HMI屏幕的Ardunio库,磕磕绊绊,学学写写,也算是弄好了,还有些具体的功能还没实现,不过能用了,有另外一件让我必须去做的事儿,所以这个想法暂时需要搁置了,不会阑尾, 不会割掉,以后在继续,我把代码贴上有用到的也算回馈给那些帮助过我的朋友吧.

MY_berr11.1.zip

1.09 MB, 下载次数: 120, 下载积分: 创造力 -1

回复 支持 反对

使用道具 举报

suoma  中级技匠

发表于 2015-11-14 15:23:31

uno IO不够的话使用mega2560
回复 支持 反对

使用道具 举报

mieoff  见习技师
 楼主|

发表于 2016-5-1 22:05:14

更新了. 各位可以看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail