所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

历时三个月!从1.0到2.0理工男自制<自动洗衣粉机>

阿偶 阿偶 2021-09-07 08:32:44
2
1
简单

    【导读】你的业余时间都在做什么呢?阿偶,历时三个月自制自动洗衣粉机从1.0到2.0(每天的业余时间只有一个半钟的时间),从手绘结构草图——元器件的选用——电路板的设计——程序的编写和调试——外观结构的设计——整体调试;1.0的失败差点令我放弃,中间思考了一段时间,直到2.0成功出现在卫生间……..

 【项目介绍】

   自小编的上一个作品自动洗手液泡沫机,万万没想到我们一线员工竟然用不起洗手液,那用什么?用…..用不伤手的立白洗衣粉呗!你一抓我一抓,浪费不说还洒了一地;呃???自动洗衣粉机可以有!

projectImage
projectImage
步骤1 步骤1
流程图如下
projectImage
材料清单 材料清单
1x
DFRobot Beetle控制器
1x
DFROBOT出品 42步进电机
1x
DRV8825步进电机驱动
1x
DRV8825步进电机驱动器扩展板
1x
DFROBOT红外数字避障传感器
2x
AMS1117-5.5电源模块
1x
小轴承6*12*4mm
1x
小轴承5*11*4mm
1x
微型直流震动马达3V
1x
12V2A开关电源
2x
不锈钢角码调节长孔
1x
DC2.1母座
2x
切断式洞洞板

1、Beetle是DFRobot专门为电子制作爱好者和工作坊设计的微型Leonardo控制器

2、DFROBOT出品 42步进电机,这是一款带减速箱的步进电机,采用常规的8mm外径D型输出轴,电机步距角1.8°,额定电压2.78V,额定电流1.6A/相,静转矩3600g·cm,配减速比5.18的行星减速箱,外形尺寸为42×42×40mm,安装面板4个M3的安装螺纹孔,安装简便可靠,可应用于各种自动化控制系统

3、DRV8825步进电动机驱动器具有高达45V的输出驱动能力,可让您控制一个双极步进电动机,每个线圈的最大输出电流为2.2A

4、3v震动马达可加速帮助洗衣粉的掉落

5,电池可有可无,由于小编厂里的卫生间没有市电插头,所以加了个电池

步骤2 步骤2
电路板焊接

小编不是很擅长电路图的绘制,手绘版的请笑纳

projectImage
projectImage
projectImage
步骤3 步骤3
转轴的加工
projectImage

磨床加工

projectImage
projectImage

火花机加工

projectImage
步骤4 步骤4
外壳的设计与打印
projectImage
projectImage
projectImage

3D打印

这盖子是不是有点眼熟呢!!

projectImage
projectImage
projectImage
projectImage
步骤5 步骤5
组装
projectImage
projectImage
projectImage
projectImage
projectImage
projectImage
projectImage

容量为550克

projectImage
projectImage

程序

代码 代码
	                    					const int EnPin = A0;                           //步进电机使能引脚
const int DirPin =A1;                           //步进电机方向引脚
const int StepPin = A2;                         //步进电机脉冲引脚
const int IrPin = 9;                            //红外传感器信号引脚
const int LedPin = 10;                          //LED工作指示引脚
const int VibMotoPin = 11;                     //震动电机引脚
const unsigned int stepsPerRevolution = 33151;  //转一圈所需的脉冲数,计算方法:1度的需的脉冲数=一圏(360度)/步距角(1.8度)
                                                //  =200*电机的减速比(5.18:1)=1036*DRV8825细分数(1/32)=33152
const int Angle = 4143;                         //45度所需的脉冲数

void setup(){
  pinMode(StepPin,OUTPUT);                      //步进电机脉冲引脚设置为输出模式
  pinMode(DirPin,OUTPUT);                       //步进电机方向引脚设置为输出模式
  pinMode(EnPin,OUTPUT);                        //步进电机使能引脚设置为输出模式
  pinMode(IrPin,INPUT_PULLUP);                  //红外传感器设置为上拉模式
  pinMode(LedPin,OUTPUT);                       //LED设置为输出模式
  pinMode(VibMotoPin,OUTPUT);                  //震动电机设置为输出模式
  digitalWrite(EnPin,HIGH);                     //步进电机初始化为停止
  digitalWrite(LedPin,HIGH);                    //LED初始化为关灯
  digitalWrite(VibMotoPin,LOW);                //震动电机初始分为停止
}

void loop(){
  if(!digitalRead(IrPin)){                      //读取红外传感器
    digitalWrite(LedPin,LOW);                   //LED灯亮
    digitalWrite(VibMotoPin,HIGH);              //震动电机工作
    digitalWrite(EnPin,LOW);                    //使能步进电机
    digitalWrite(DirPin,LOW);                  //步进电机正转
    for(int x=0; x<Angle; x++){
      digitalWrite(StepPin,HIGH);
      delayMicroseconds(100);
      digitalWrite(StepPin,LOW);
      delayMicroseconds(100);
    }
   digitalWrite(LedPin,HIGH);                   //LED灯灭
   digitalWrite(VibMotoPin,LOW);                //震动电机停止
   while(!digitalRead(IrPin));                  //等待手放开
   delay(1000);                                 //延迟1秒,防止手未完全放开又触发
  }else
    digitalWrite(EnPin,HIGH);                   //无任何操作时电机停止
    digitalWrite(LedPin,HIGH);                   //LED灯亮
    digitalWrite(VibMotoPin,LOW);              //震动电机工作
}

	                    				

上视频

【项目总结】

1、没有对洗衣粉余量的检测,可在适当位置加上红外对射传感器时刻检测洗衣粉的余量

2、没有让洗衣粉保持干燥,可在盖子上加上干燥剂和密封圈来实现对洗衣粉的干燥

3、在制作的过程中,我也遇到了很多问题,然后通过找资料把问题一个个的解决,不过最后看到完整的作品诞生,而且是能够和大家一起分享,也很有成就感,这就是创客的精神

【相关资源】

 最后分享程序源文件和外壳的stl文件

附件 附件
Makelog作者原创文章,未经授权禁止转载。
2
1
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]