用海尔 201 给朋友做的投币洗衣机控制器
本帖最后由 lmhtz 于 2014-9-16 08:54 编辑补上 hex 文件,其他滞后....
补上 pcb 文件,徒手画无原理图,有需要有空再补,其他文件还在整理....
仅限交流,不得用于其他谋利目地....
文件正在整理,整理好后分享;
控制板有多路输出与输入,也可用于其他用途
功能包括:1、价格设置;2、洗涤时间设置;3、断电记忆设置;4、投币累计;5、可扩展刷卡;6、进排水及门开关与偏心平衡保护等....
PCB实物
程序截图
PCB文件
hex 文件
顶顶顶! 硬币识别模块用的哪种? 太棒了!~~ 程序就不要截图了吧,直接上代码呗 lklhzu 发表于 2014-9-15 21:43
硬币识别模块用的哪种?
这东西还用啥模块,又不是高档货,放个30左右的投币器OK 好东西哈顶顶 识别模块自己做的? weiqinghonghong 发表于 2014-9-15 21:48
程序就不要截图了吧,直接上代码呗
好几个独立的 C 构成,没整理很乱{:titter:} majialou 发表于 2014-9-15 21:53
识别模块自己做的?
投币识别用这玩意, 常用{:titter:}
普通的东西,别一想到识别就认为是什么高档货,普通的很,平常的很{:titter:} weiqinghonghong 发表于 2014-9-15 21:48
程序就不要截图了吧,直接上代码呗
预热预热{:lol:} 投币器,便宜的有¥20+ ,上面有一根线是投币识别成功脉冲输出,可设置极性 这种洗衣机我是不敢用哦,呵呵,以前在学校看到有人把鞋都丢里面洗! 看上去不错,功能比较全面。 这年头真是啥都有模块…… 对投币器的硬币识别感兴趣。 LZ的可扩展刷卡也是IC卡模块吗? cpwander 发表于 2014-9-15 23:08
LZ的可扩展刷卡也是IC卡模块吗?
有现成模块,在功能需求相应成本相当情况下自然是优先考虑,除非成本功能等无法达到预期才会考虑自己处理..... steven_hee 发表于 2014-9-15 23:01
对投币器的硬币识别感兴趣。
硬币识别应该不难,过一个线圈检测金属导磁率吧,或许加个测过线圈的速度,没分析过,大致如此吧,那玩意弄个大小材质相当的扔下即可..... zjy9430 发表于 2014-9-15 22:22
这种洗衣机我是不敢用哦,呵呵,以前在学校看到有人把鞋都丢里面洗!
这种东西放在公共场所,有这类情况难免的,大部分人还是守规矩的 很好,支持 几年前也做过一个,顶楼主 变压器左侧那种 插电源进线的端子叫什么名? 顶顶顶,再顶 wxws 发表于 2014-9-16 08:06
变压器左侧那种 插电源进线的端子叫什么名?
6.3 焊板插片 mark...... YS126 发表于 2014-9-16 08:03
几年前也做过一个,顶楼主
现在搞这个有点晚了,不是朋友三天两头催着给他弄,也懒的搞.... 感谢分享 支持 不错,很好 lmhtz 发表于 2014-9-16 08:08
6.3 焊板插片
谢谢,找到了。
原理图能不能贴一下?
特别是下方驱动阀的,驱动的是什么阀?220?
水位开关是普通洗衣机的气压式? 看到天微的LED驱动芯片 楼主这都可以开源!!!!!!!赞一个! 黄晨0410 发表于 2014-9-16 08:20
看到天微的LED驱动芯片
其他产品有在用,直接拿来{:titter:} 以前有朋友也做过,他们那个除了支持投币功能外,还能够刷会员卡洗衣服。 zky26 发表于 2014-9-16 08:26
楼主这都可以开源!!!!!!!赞一个!
又不是核弹,算不上高新尖,何必捏着紧紧不放.... 本帖最后由 lmhtz 于 2014-9-16 08:48 编辑
wxws 发表于 2014-9-16 08:20
谢谢,找到了。
原理图能不能贴一下?
徒手画的板,没图,有需要抽空看,进排水 ac 220v,水压使用机械式,电子式需要改动.... 厉害。。。。 太厉害了,学习的榜样! lmhtz 发表于 2014-9-16 08:34
其他产品有在用,直接拿来
楼主能否共享下TM驱动? 希望能开源,让大家学习学习 不错,好东西 这东西成品有在卖的很多了吧 功能不错, 买一个串口投币机就行了。我们公司就是买现成的。 以前学校有,偶尔可以在洗衣机里面捡到钱。
不过洗涤时间好像不能设置,用的时候按照投的币的多少决定是甩干还是洗涤,1个币甩干,3个币洗涤 lmhtz 发表于 2014-9-16 08:46
徒手画的板,没图,有需要抽空看,进排水 ac 220v,水压使用机械式,电子式需要改动.... ...
徒手画板,难道是不用原理图,直接摆元器件? lmhtz 发表于 2014-9-16 08:46
徒手画的板,没图,有需要抽空看,进排水 ac 220v,水压使用机械式,电子式需要改动.... ...
不要原理图就画板,你是怎么做的PCB检查? 我很想知道,5角 1元的如何识别?比如游戏机币呢 楼主徒手画板不累? 哈哈 记得很久之前有个朋友做设备 就是卡到硬币识别那了现在可以直接买现成的了 bestlong22 发表于 2014-9-16 14:20
楼主徒手画板不累?
系统不复杂还好,不建议这样做.... LVmcu 发表于 2014-9-16 13:05
不要原理图就画板,你是怎么做的PCB检查?
不画图不等于心中无图,不等于无概要略图..... 本帖最后由 lmhtz 于 2014-9-17 07:59 编辑
Bicycle 发表于 2014-9-16 10:09
楼主能否共享下TM驱动?
//包含文件
#ifndef TM1668_H_
#define TM1668_H_
#include "config.h"
#define TM1638_CLK PA6 //时钟线
#define TM1638_DIO PA7 //数据线
#define TM1638_STB PA5 //TM1668片选
//外部数据声明
//extern const unsigned char seg_code[];//数字段编码表
//extern unsigned char section2 play_buff;//显示内容寄存器
//extern unsigned char section2 key_data;//读取的按键数据
extern void display(void);//显示驱动
extern void key_scan(void);//键扫驱动
//
#endif
//****************************************************************
//写入数据
void indate(u8 input)
{
u8 i;
for (i=0; i<8; i++)
{
TM1638_CLK=0; //先将“CLK”清零
if ((input & 0x01) == 1) TM1638_DIO=1;
else TM1638_DIO=0;
TM1638_CLK=1; //送时钟的上升沿
input = input >> 1; //准备送下一个BIT
} //送完一个字节后退出循环
}
//****************************************************************
//读数据
u8 outdate(void)
{
u8 temp;
u8 i,dat = 0;//i—控制循环次数,dat—临时保存读到的数据
TM1638_DIO=1; //释放DIO为输入
PAT7 = 1; //输入输出状态
for (temp=0; temp < 100; temp++);
for (i=0; i<8; i++)
{
TM1638_CLK=0; //先将“CLK”清零
for (temp=0; temp < 100;temp++);
dat = dat >> 1;
if (TM1638_DIO == 1) dat = dat | 0x80; //读取数据
TM1638_CLK=1; //送时钟的上升沿
} //送完一个字节后退出循环
PAT7 = 0; //输入输出状态
return dat; //返回读到的1字节数据
}
void Write_COM(u8 cmd) //发送命令字
{
TM1638_STB=0;
indate(cmd);
TM1638_STB=1;
}
//===============================================
//键扫描程序
void key_scan(void)
{
u8 i,temp;
TM1638_STB=0; //保证“STB”为低电平,程序不依赖于之前端口的状态
indate(B0100_0010); //传数据设置命令,设置为读按键
for (i=0; i<4; i++)
{
temp = outdate();
key_data = temp;
}
TM1638_STB=1; //保证“STB”为低电平,程序不依赖于之前端口的状态
//-------------------------------
.........
读出的按键数据存于数组中,依据需要相应处理......
//===============================================
//****************************************************************
//显示处理
//显示内容预先放入 play_buff 中即可
void display(void)
{
TM1638_DIO=1; TM1638_CLK=1; TM1638_STB=1;
if (power == 1) Write_COM(B1000_1111); // 8f 开显示亮度最大
else Write_COM(B1000_0111); // 8f 开显示亮度最大
Write_COM(B0100_0000); //40 设置数据命令
TM1638_STB=0;
indate(B1100_0000); //c0 设置显示地址
//------------------------------
indate(seg_code]); indate(0);//0,1,时十位
indate(seg_code]); indate(0);//4,5,分十位
indate(seg_code]); indate(0);//6,7,分个位
indate(seg_code]); indate(0);//8,9,时个位
TM1638_STB=1;
}
看到case 73我就晕了,楼主写这个程序之前要写流程图之类的吗 lmhtz 发表于 2014-9-17 07:46
不画图不等于心中无图,不等于无概要略图.....
我公司也有一个工程师和你一样的做PCB,看他每次都是人工检查,很花时间呀。所以想请教下你是这样做的吗? 海尔201, Mark下. LVmcu 发表于 2014-9-17 09:12
我公司也有一个工程师和你一样的做PCB,看他每次都是人工检查,很花时间呀。所以想请教下你是这样做的吗 ...
我们这边也是需要人工检查的 海尔_小海 发表于 2014-9-17 15:14
我们这边也是需要人工检查的
人工检查是要的,但是想这种没有net的,有时候不该连在一起的线连起来而自己有没有发现的情况还是会有的,要是有net的话可以自动检查出来的。 lmhtz 发表于 2014-9-15 21:57
投币识别用这玩意, 常用
检测准确吗,游戏币能测出来吗? 看着有个工频变压器 顶一下 好东西 实用的东西 不错
楼主用的程序分支好多吧,以前做了一个类似的东西,用51,上了tiny RTOS,简单了很多 没几个分支,别被 case xx 吓到, dengnian602 发表于 2014-9-17 17:29
检测准确吗,游戏币能测出来吗?
必须的,一般的够用... LVmcu 发表于 2014-9-17 09:12
我公司也有一个工程师和你一样的做PCB,看他每次都是人工检查,很花时间呀。所以想请教下你是这样做的吗 ...
是,东西不复杂,即使查也花不了多少时间,留意端口类型与特性,规划好分配,小系统一般没什么问题..... wqtslove 发表于 2014-9-17 09:01
看到case 73我就晕了,楼主写这个程序之前要写流程图之类的吗
case 73,不是73,别吓到,写流程要看系统功能与复杂程度而定,一般搞一下主流程,分流程与详细的不会刻意写会随编程深入应变... 学习了,谢谢分享 不错, 奖励先 感觉不错。 不错啊,好东西。 支持支持 给力,感谢分享 学习了!没看出来用的是什么mcu 帮顶,,, 我是来赚分的。 第一个函数 有一个Return ;编译器也不报错? 收藏,谢谢分享 mark。。。。 我们学校刚上来几台投币洗衣机 学习,感谢分享。 有个疑问哦,洗衣机洗完有个完成信号输出么,不然怎么知道洗衣机洗完了没有 ylei12 发表于 2014-10-27 16:29
有个疑问哦,洗衣机洗完有个完成信号输出么,不然怎么知道洗衣机洗完了没有 ...
可以有输出信号,这个通常没多大必要吧,除非有连接下级什么东西需要有信号要求 厉害啊! 罗敏爱之恋 发表于 2014-10-27 19:01
厉害啊!
用点心,谁都可以,没什么大不了的 lmhtz 发表于 2014-10-27 18:56
可以有输出信号,这个通常没多大必要吧,除非有连接下级什么东西需要有信号要求 ...
那这个洗衣机就是洗完预定时间就停止,不像家里的全自动洗衣机一样洗涤、漂洗、脱水整个过程完成?如果要整个过程完成,应该要有个洗完成的信号输出给控制器,控制器再断电吧 很好的东西,谢谢。 ylei12 发表于 2014-10-27 19:36
那这个洗衣机就是洗完预定时间就停止,不像家里的全自动洗衣机一样洗涤、漂洗、脱水整个过程完成?如果要 ...
完整功能,投币触发,完成后待机等待再次投币.... 不错,顶下{:smile:} 程序也一块上吗,何必搞一部分呢 看看,,,,,,,,, 谢谢分享 学习,谢谢分享 期待程序 mark,标记 研究研究!!! 呵呵,洗球鞋 徒手画pcb略叼~
mark,标记
页:
[1]
2