极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18257|回复: 13

Arduino,自动化设备,家酿啤酒机,控制器

[复制链接]
发表于 2015-10-21 16:52:34 | 显示全部楼层 |阅读模式
本帖最后由 mimeoff 于 2015-10-29 17:35 编辑

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







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




当时因为预算,买了个最小的屏幕,分辨率: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串口上还不显示,就这么个问题弄了几天,最后也解决了。接收过来的数据我存储到数组里,然后在强制转换成字符串。不过这时候问题来了我写的程序不知道怎么优化了。贴出来让高能给指点指点。

最近的进度
代码我也贴上来, 看哪位兄台给优化优化。知识有限啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-10-21 19:49:20 | 显示全部楼层
代码好长,新手路过学习下,
回复 支持 反对

使用道具 举报

发表于 2015-10-21 20:21:28 | 显示全部楼层
楼主动手能力好强,悟性也高
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-21 22:09:55 | 显示全部楼层
li23108 发表于 2015-10-21 19:49
代码好长,新手路过学习下,

木有办法啊,不会自己写库啊。还没学会呢
回复 支持 反对

使用道具 举报

发表于 2015-10-22 14:58:48 | 显示全部楼层
楼主厉害,作为爱好者,能做出这样的设计很不错!后期可以加上其他的比如:利用app控制等
回复 支持 反对

使用道具 举报

发表于 2015-10-23 08:01:18 | 显示全部楼层
不错的工程哟,可惜不懂酿酒,只会喝。
对程序、硬件,还是比较精通,LZ需要帮忙可以找我Q:1103012
回复 支持 反对

使用道具 举报

发表于 2015-10-23 08:08:35 | 显示全部楼层
大概看了下程序,不知道你用的是哪家的串口屏,实在无从下手。
另外现在的程序,好象只是个接收命令、执行。
没有自动化的处理,比如 多少度维持多少时间。
还能更深入的。不然太浪费arduino了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-27 10:21:11 | 显示全部楼层
本帖最后由 mimeoff 于 2015-10-29 17:35 编辑
wxws 发表于 2015-10-23 08:08
大概看了下程序,不知道你用的是哪家的串口屏,实在无从下手。
另外现在的程序,好象只是个接收命令、执行 ...


确实是,而且资源调度我也做的不是很好。 最近入手了一块2560.代码又重新写了。还是一堆堆的问题。主要问题还是在收发数据上。 我加您QQ 回头还要多跟您请教。我的QQ:171464746
贴上最近的代码2560板子的[code]/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-29 17:53:10 | 显示全部楼层
不新开帖子了.
最近继续在调整代码,不过有如下几个问题.
1.没有开始想象的那么简单.一开始玩玩儿,一个模块一个模块的抄抄网上的例程,玩玩儿没问题.可真要做成一个项目要学很多东西.

2.一开始写的代码都是看别人写的代码,然后手抄下来理解编程的思路,看到不会的函数或者字段就找找资料.分两种,

1) 是基础的C或者C++语法上的问题,这些问题导致了我一开始调试时候的各种问题,因为不知道,所以小白的我,每个语句都花了很长时间去理解,(当时咋就没想到看看书,找找C语言和C++语言的基础教程呢.二了).所以花了2天时间不写代码,认真的重新学习C语言和C++语言的基础,主要几个方面,函数,类的派生.继承.多态.指针.数组.枚举,当然还要搞清楚,变量占用字节的问题真很重要!.

2)是Arduino的不熟悉,其实例程里给了很多很好的方法和提示,只是从来都没去看过.也没每一个尝试去编译过.主要原因都是英文的注释.看不懂啊.不过用了一天的时间去尝试了几个例程.比如字符串的例程就很好.Sering ,如果需要字符串操作强烈建议看看例子

3.编译工具的问题, 对于小白来讲使用官方的IDE 是没有错误的.不过就是累.写的多了,长了就恼火的很. 另外一个是记性差.总是记不住前面写了啥.用了1天时间去弄工具.最后用MAC下的XCODE来编好多了,唯一的麻烦就是英文的,继续恼火.不过适应适应也没啥.就是好多功能不知道干啥的.不过编译,上传,调试.没啥问题了. 还有语法高亮.挺舒服的.

4.最近很多人加我QQ 问我问题,说实话我也是大白,啥也不懂的,不过你花时间去学习总是有结果的.

5.从几天开始重新写我的啤酒机控制器了,不过这次开始就没有那么着急去写一个功能了,我先从类库开始写的.打算写一个自己用的驱动HMI屏幕的库.这里要感谢论坛"WXWS"的帮助,看了他写的代码后我才知道自己想少了.所以重新开始去考虑框架和构架,这问题早想过,可不知道如何实现.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-10-30 10:23:10 | 显示全部楼层
楼主你做到现在还在搞UI么?你这样弄完hmi屏就要花很多时间了.
其实你可以简单些,用串口输入参数,arduino只管继电器和传感器.然后电脑连上arduino,开个串口调试器输入温度和时间.
如果你这个arduino要控制温度时间,你还要上pid和传感器,感觉这方面才是工作量的大头
回复 支持 反对

使用道具 举报

发表于 2015-10-30 18:07:20 | 显示全部楼层
自己酿酒~~~不明觉厉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-30 21:26:02 | 显示全部楼层
tempchar 发表于 2015-10-30 10:23
楼主你做到现在还在搞UI么?你这样弄完hmi屏就要花很多时间了.
其实你可以简单些,用串口输入参数,arduino只 ...

恩,屏幕今天已经弄好了,一开始就说给自己弄了一个大坑,不过还好吧,总算是能学学变成.
屏幕也是串口的输入,输出,这里搞不定用电脑的问题是一样的.
不过接下来的事情也挺麻烦的. 因为我不知道下面的逻辑该怎么写了.思考中
回复 支持 反对

使用道具 举报

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-11-3 01:46:25 | 显示全部楼层
酿酒机这个在欧美应该很有市场,绝命毒师里就有自酿啤酒。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 19:24 , Processed in 0.048359 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表