夏天罂粟 发表于 2016-8-19 19:47:39

【STM 32】之智能温控器(PCB、MCU源码和APP源码下载)

本帖最后由 Genius 于 2017-4-28 12:12 编辑

智能温控器特点: 能够使办公环境更舒适,空调更节能,自动调节温湿度,这一切后建筑更绿色…
原创声 明,转载请注明出处:http://club.gizwits.com/thread-3332-1-1.html
机智云智能硬件创新大赛:http://club.gizwits.com/thread-2646-1-1.html
作者:夏天罂 粟      看到机智云的这个活动有点晚,犹豫是否要参加一下这个活动。不管是否能完成,我申请几块开发板了,支持一下机智云,同时也熟悉一下机智云的各个开发环节,后面会提出一些建议:P。周日(8月14日)才把PCB投出,周四回来焊接组装,正在调试。言归正传,我要做的是一个简单实用的产品。智能温控器。
      
产品功能: 控制中央空调风机盘管的通断阀,风机高中低转速。应用环境: 楼宇中央空调的风机盘管控制,可以运用于写字楼、工厂等环境。
应用场景:      (1)夏天天气温度比较高,早上到办公室打开办公室空调,室内温度需要很长时间才能降下来。用户可以通过智能温控器把中央空调提前打开。      (2)有时候下班时忘记关闭空调,可以通过手机软件关闭,或者在温控器设置定时关闭。       (3)办公室、厂房空间比较大,温控器采样温度与出口温度不一致,用户可以通过手机软件设定温度和风速进行微调。       (4)为了防止有人故意把空调温度设置过低或者过高,可以通过手机APP将面板进行锁定。      (5)结合机智云平台数据分析,物业利用温控器的开通时间进行合理收费,不需要根据办公面积收费。
后面会陆续把原理图、PCB、软件代码、APP的UI和APP代码上传上来。
[ 项目名称 ] 基于STM32和ESP8266的智能温控器
[ 项目概述 ] 主要用于控制中央空调的风机。
[ 硬件准备 ] 机智云GOkit2开发板,壳体,烙铁和示波器等等。
[ 使用软件环境 ]                   单片机开发:KEIL5.1                  UI设计:AI                   APP设计:Android Studio 2
[ 相关源码 ] 原理及PCB、MCU源码、APP源码(基于Android Studio2)
                原理及PCB                  MCU源码                  APP源码(基于Android Studio2)

如果您需要Gokit APP for AndroidStudio源码,请投我一票,6号夏天** 智能温控器    我将发送给你。谢谢! 投票页面   
[ 项目介绍 ] (1)视频1操作http://v.youku.com/v_show/id_XMTY5NTMxNjk3Mg==.html
(2)视频2 设备调试http://v.youku.com/v_show/id_XMTY5NTMxNzA1Ng==.html
(3)视频3 设备调试http://v.youku.com/v_show/id_XMTY5NTMxNzEwOA==.html
(4)做好的APP界面(基于GOkit的APP进行修改,还是用的机智云)


[ 详细介绍 ]
       一、体系结构图
                      二、硬件篇(主要器件、BOM表和原理图)
                     三、硬件篇(焊接完成)
                     四、设备数据点定义篇
                     五、MCU代码篇
                  六、APP界面UI部分
      七、APP程序篇(陆续补充中)




一、 体系结构图这里所说的温控器是楼宇中央空调的控制面板,是比较常见的面板。传统面板不带通讯模块,及时有也是RS485,用来统一控制,没有实质和用户打交道。这款智能温控器是在传统温控器基础之上增加了WIFI模块,用户通过APP或微信控制更加人性化,更加简单。

(1)智能温控器通过WIFI连接到机智云服务器,用户可以通过APP来设置和控制中央空调。(2)用户可以远程开启和关闭办公室空调。(3)管理员可以查看大楼空调运行情况,可以根据开启时间收费。(4)可以和楼宇BA控制系统对接,提升大楼智能化水平。(5)可以通过微信将设备控制权分享给同事。
目标: 办公环境更舒适,空调更节能,这一切后建筑更绿色…
二、硬件篇(结构图、原理图和主要BOM)

产品内部系统结构图

http://club.gizwits.com/data/attachment/forum/201608/21/095425ott70a9lmez7eht7.png


1 电源DCDC部分
12V转4.5V。开关电源是12V输出,继电器用的是12V类型的
http://club.gizwits.com/data/attachment/forum/201608/21/095423me1ijce9t314g3lg.png
2、主芯片
Stm32F103C8T6
http://club.gizwits.com/data/attachment/forum/201608/21/095426b9dc4rcg9p9rgpd6.png

3、晶振
http://club.gizwits.com/data/attachment/forum/201608/21/095425q3975z452yu5fcfg.png

4、Cypress的触摸芯片http://club.gizwits.com/data/attachment/forum/201608/21/095424x4bsn5cbnlvobnnn.png
5、电平转换芯片http://club.gizwits.com/data/attachment/forum/201608/21/095424egb5twoxq7hw1xub.png
6、段式液晶驱动芯片http://club.gizwits.com/data/attachment/forum/201608/21/095424nrllfbzke1bb1rvb.png
7、蜂鸣器驱动http://club.gizwits.com/data/attachment/forum/201608/21/095425rj7fufo74gfnu78j.png8、ESP8266WIFI模块http://club.gizwits.com/data/attachment/forum/201608/21/095423nz6i2t3nr6rmziq6.png
主要BOM器件和成本估算方案总体成本估算60+元1 MCU stm32         5元2 触摸芯片         2元3 LCD驱动芯片         2元4 LCD段式液晶         4元5 NTC热敏电阻          1+元6 继电器型号 7A?      5+元7 液晶背光板(含液晶背光) 3元8 WIFI模块         12元9开关电源 及 DCDC      12元10蜂鸣器             1元11 壳体            10元三、硬件篇(焊接完成)
      (1)补充一下PCB布板图 反面
http://club.gizwits.com/data/attachment/forum/201608/22/164228jbrz2cgdicbbo2i9.png
(2)PCB正面
http://club.gizwits.com/data/attachment/forum/201608/22/164237ffm9gzku7fkau8us.png

(3)PCB 的3D图
http://club.gizwits.com/data/attachment/forum/201608/22/164537laea7vlremgzv6ug.pnghttp://club.gizwits.com/data/attachment/forum/201608/22/164544so5se8robez6shcs.png

(4)PCB焊接完成
http://club.gizwits.com/data/attachment/forum/201608/22/164752dllr0r8r6lhr4m4g.jpg

(5)PCB焊机水平还不错吧。 能看到ST和乐鑫的芯片模块。

http://club.gizwits.com/data/attachment/forum/201608/22/164922binntqbwvcmzvxti.jpg

(6)和电源主板相连接(借用公司的电源板,上面有开关电源、继电器和DCDC)
http://club.gizwits.com/data/attachment/forum/201608/22/164812t431zdjy4tyo4tyv.jpg

(7)PCB正面,触摸区域,NTC热敏电阻和段式液晶LCD
http://club.gizwits.com/data/attachment/forum/201608/22/165235fjo0poin0np11kk3.jpg

(8)点亮OK了,帅吧。壳体是阿里上的公模
http://club.gizwits.com/data/attachment/forum/201608/22/165407vkrkr9kn4ljev5vq.jpg IMG_1958.JPG (1.36 MB, 下载次数: 0)
下载附件
4 天前 上传




下片把MCU代码资源上传上来。期待着!!四、设备数据点定义篇
       温控器主要的操作有
    (1)冷水阀、热水阀的通断(四管制),用户理解就是制冷制热
      (2)风速 高中低三速 调整
      (3)温度调节
      (4)WIFI功能模式切换,softAP 和 airlink模式
      (5)故障上报
      (6)面板锁定(手机下发命令)
      (7)低温保护, 低于5摄氏度时启动空调

下图为设备数据点图
http://club.gizwits.com/data/attachment/forum/201608/22/172223a2zm3b1bft6aejja.jpghttp://club.gizwits.com/data/attachment/forum/201608/22/172227v7u36euii3ie55ux.jpg 五、MCU代码篇   
(1)MCU程序整体部分
http://club.gizwits.com/data/attachment/forum/201608/22/173444atlhp3pl78x1jt3r.jpg

(2)MCU程序用户处理部分
http://club.gizwits.com/data/attachment/forum/201608/22/173522pbwb9o8qacqofppn.jpg

(3)串口事件部分
http://club.gizwits.com/data/attachment/forum/201608/22/173551ebzkj0zdbx8xu2kb.jpg

(4) 处理用户部分代码
void userHandle(void)
{
    uint8_t ret= 0;
    static uint32_t lcdLastTimer = 0;
    static uint32_t capLastTimer = 0;
    static uint8_t last_cap=0;
    uint8_t cap_id=0;
    static uint16_t cap_time_count=0;
      static uint16_t cap_time_count1=0;         
   if((gizwitsGetTimerCount()-lcdLastTimer) > LCD_TIME_MAX) //timeout = 2S
   {
                              touch_scan();
      
                static uint8 power_on=0;
                ReadADCPoll(&temperature_c);
                if(0x00 == power_on)
                {
                  power_on=1;
                  memset_my(g_showBuff, 0x00, sizeof(g_showBuff));
            //      show_mode_signal();
                  return;
                }
                show_temperature(temperature_c.cur_temp, RT);
                show_mode_signal();
            //    show_time();                      //20160122时间不准,去掉显示时间
                lcd_reload();   
                if(temperature_c.backlight > 0)
                {
                  temperature_c.backlight--;
                  lcd_backlight(temperature_c.backlight);
                }
               
                if(temperature_c.sync_delay > 0)
                {
                  temperature_c.sync_delay--;
                  if(0x00 == temperature_c.sync_delay)
                  {
                        temperature_c.sync_flag = 1;
                  }
                }

         lcdLastTimer = gizwitsGetTimerCount();
      }


      if((gizwitsGetTimerCount()-capLastTimer) > CAP_SCAN_PERIOD) //timeout = 2S
      {
                  auto_rev_opt(&temperature_c);
                  led_buzzer_ctrl(0,0);      
          cap_id=GET_TOUCH_NUMBER();
          if (last_cap!=cap_id)
          {
            last_cap =cap_id;
          }
          else
          {
            if (0!=cap_id)
            {
                cap_pad.touch = 1; //for relay ctrl
                led_buzzer_ctrl(logicch2phych,1);
                led_buzzer_ctrl(5,1);
            }
          }
          if (cap_id == 1)
          {
            cap_time_count++;
            if (cap_time_count > 5000 / CAP_SCAN_PERIOD)
            {
                  gizwitsSetMode(SoftAp_Mode);
                  cap_time_count = 0;
                  lcd_init();
            }
          } else
          {
            cap_time_count = 0;
          }

          if (cap_id == 4)
          {
            cap_time_count1++;
            if (cap_time_count1 > 5000 / CAP_SCAN_PERIOD)
            {
                  gizwitsSetMode(AirLink_Mode);
                  cap_time_count1 = 0;
                  lcd_init();
            }
          } else
          {
            cap_time_count1 = 0;
          }
                  capLastTimer = gizwitsGetTimerCount();
      }
                        
}

(5)功能为触摸按键检测 、温度检测和 LCD刷新代码部分


void smart_frame(uint8_t cmd[],uint8_t buff[])
{
    uint8_t data,state=0;
      if ((cmd!=9)&&(cmd!=6)) return ;
    if (cmd!=3) return ;
      if (cmd!=0) return ;
      if (cmd!=0) return ;
      IWDG->KR=0xaaaa;
    smart_frame_buff *wifi_data = (smart_frame_buff *)buff;
    if (wifi_data->action==0x02)
    {
      //read;
       send_state_frame();
      //state|=((temperature_c.temp_param.mode<<2)&0x12);
    }
    if (wifi_data->action==0x01)
    {
      if (wifi_data->attrr_flags&0x01)
      {
         temperature_c.temp_param.on_off=(((wifi_data->attrr_value_L & 0x01)!=0 )?1:0);
      }
      if (wifi_data->attrr_flags&0x02)
      {
            temperature_c.temp_param.lock=(((wifi_data->attrr_value_L&0x02)!=0)?1:0);
      }
      if (wifi_data->attrr_flags&0x04)
      {
            temperature_c.temp_param.mode=((wifi_data->attrr_value_L&0x0c)>>2);
      }
      if (wifi_data->attrr_flags&0x08)
      {
            temperature_c.temp_param.speed=((wifi_data->attrr_value_L&0x30)>>4);
      }
      if (wifi_data->attrr_flags&0x16)
      {
            temperature_c.temp_param.limit_t=BIN2BCD(wifi_data->attrr_value_H);
      }
      //write
                led_buzzer_ctrl(5,1);
                temperature_c.backlight = 60;
      ctrl_reply();
    }
}


详细代码请查阅本主题帖代码附件,谢谢!六、APP界面UI部分

(1)登陆界面,取名智能温控器。 还有一个小绿叶,:P。


       http://club.gizwits.com/data/attachment/forum/201608/22/175210a8hp9rphp5rqpxkf.jpg


(2)控制界面
主要模式切换,温度调整、风速调节和面板锁定。

http://club.gizwits.com/data/attachment/forum/201608/22/175333jqo6iejiijeqjolo.jpg

绿色代表环保。

liufeng28 发表于 2020-3-1 11:38:12

能把完整的硬件电路图发给我吗?还有能把几个缺失的硬件驱动程序和LCD段码屏的链接也发给我吗?分享到15838776438@163.com

墨影染林 发表于 2017-6-17 11:13:17

楼主做的真不错,给楼主点赞

静水深浏 发表于 2017-3-8 00:41:38

核心代码没有,装了一手好比

Genius 发表于 2017-1-6 10:42:00

淡积云 发表于 2016-9-1 17:07
支持下楼主的工作!很详细哦。特别是用了Android Studio。机智云给出的APP源码都是eclipse下开发的。很想知 ...

机智云APP开源框架的源码可快速开发配套app(目前提供ios、Andriod版本),不仅无缝的支持设备到设备的互联,还能完成不同类型的消息推送,如:邮件推送、短信推送、百度推送和极光推送。
Eclipse版本下载地址:https://github.com/gizwits/GizOpenSource_AppKit_Android/archive/master.zip
Android Studio版本下载地址:https://github.com/gizwits/GOpenSource_AppKit_Android_AS
介绍机智云开源框架(GizOpenSource_AppKit_Android) 是开源的适用于物联网的软件框架,用于无缝的支持设备到设备的互联。能帮助开发者快速构建物联网生态系统,实现设备间互联,加速智能设备的应用开发。其包含Wi-Fi类智能硬件app通用功能的一套源码。只要是使用机智云协议的产品,开发者开发配套的app时都可以直接使用该框架的源码实现快速开发,从而缩短app的开发周期短、降低开发成本。请注意:使用机智云物联网开源APP之前,需要先在机智云开发平台创建您自己的产品和应用。开源App需要使用您申请的AppId、AppSecret以及您自己的产品ProductKey才能正常运行。具体申请流程请参见:http://docs.gizwits.com/hc/。

夏天罂粟 发表于 2016-9-21 11:33:42

YSJason 发表于 2016-9-20 16:39
你好已经投票了麻烦发一下Gokit APP for AndroidStudio源码QQ 527675007

你好!在1楼有下载,Gokit2.rar这个就是。

夏天罂粟 发表于 2016-8-22 17:54:56

本帖最后由 夏天罂粟 于 2016-8-31 01:07 编辑

夏天** 发表于 2016-8-22 17:40
五、MCU代码篇   
(1)MCU程序整体部分


六、APP界面UI部分

(1)登陆界面,取名智能温控器。 还有一个小绿叶,:P。


      


(2)控制界面
主要模式切换,温度调整、风速调节和面板锁定。



绿色代表环保。



七、智能温控器APP设计
(1)    环境搭建官方提供APP源码是基于Eclipse版本,发现ANDROID Studio 2非常强大,谷歌的确很厉害,就想法设法把源码导入到AS2里,最后发现开发APP还是很方便的。借助机智云的帮助文档,请教了同事,自己再捣鼓,期间遇到了不少问题,最后解决了。本人提供Gokit2源码,无需再花费精力导入了,有问题欢迎指出来。
(2)    程序结构用户只对界面编写和提供APP必要信息,一个简单APP就完成了。

(3)    添加APP必要信息在\java\com\gizwits\openSource\CommonModule\GosConstant.java文件中修改自己在// 在机智云开发者账号下申请的App_ID
public static final String App_ID ="6a790993c68c4ca1a35542c3da5fa4dd";
// 在机智云开发者账号下申请的App_Screct(必须与上述App_ID对应)
public static final String App_Screct = "05948ea8c30f47b7aa021b7d26e10ddd";
// 在机智云开发者账号下创建的产品ProductKeypublic static final String device_ProductKey = "164286c6b98a4ff3bfc2e934d5c2bfdd";
(4)    APP的UI将做好的界面切图,生成PNG格式,保存在drawable-xhdpi文件夹中。然后在layout中编写界面,格式xml。
(5)    如果是简单的界面,可以直接用Design界面进行拖拉。如果比较复杂,在text中编写,一般新手会在这儿费力气,建议先学习一下格式,我也花费不少时间。这个地方Android Studio优势就明显了,无需运行就能看到界面。
就说明一下智能按钮(雪花),这是一个图片,没有搞多复杂。<ImageView
    android:id="@+id/mode_cool"   // ID名称 JAVA代码中需要用到
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:src="@drawable/cool"/>   // 图片名称,保存在drawable-xhdpi文件夹中

(6)    程序实现就拿Gokit源码中\ControlModule\GosDeviceControlActivity.java进行了修改举个简单按钮,按键制冷模式。在初始化initViews()里对按键进行初始化,
   modeCool = (ImageView) findViewById(R.id.mode_cool);
在初始化事件里initEvents()对按键进行监听
modeCool.setOnClickListener(new OnClickListener() {   @Override
   public void onClick(View v) {   
try {         
                sendJson(KEY_MODE, 0); //发送数据到机智云         
               modeSet.setText("制冷");

             } catch (JSONException e) {

         e.printStackTrace();      }
   }

});

这样按键功能就实现了。 如果需要更新按键状态,handler里case UPDATE_UI:增加对某个要刷新数据。Handler handler = new Handler() {

(7)    关于调试可以利用机智云的虚拟设备进行调试APP,这个是非常方便的。硬件没有问题了,再进行联调,这样好确定问题点在哪儿。 APP要写东西太多了,我只能简单写写。如果有什么新体会后面再补充。


夏天罂粟 发表于 2016-8-22 17:40:47

本帖最后由 夏天罂粟 于 2016-8-22 17:44 编辑

夏天** 发表于 2016-8-22 17:23
四、设备数据点定义篇
       温控器主要的操作有
      (1)冷水阀、热水阀的通断(四管制),用户理解 ...
五、MCU代码篇   
(1)MCU程序整体部分


(2)MCU程序用户处理部分


(3)串口事件部分


(4) 处理用户部分代码
void userHandle(void)
{
    uint8_t ret= 0;
    static uint32_t lcdLastTimer = 0;
    static uint32_t capLastTimer = 0;
    static uint8_t last_cap=0;
    uint8_t cap_id=0;
    static uint16_t cap_time_count=0;
      static uint16_t cap_time_count1=0;         
   if((gizwitsGetTimerCount()-lcdLastTimer) > LCD_TIME_MAX) //timeout = 2S
   {
                              touch_scan();
      
                static uint8 power_on=0;
                ReadADCPoll(&temperature_c);
                if(0x00 == power_on)
                {
                  power_on=1;
                  memset_my(g_showBuff, 0x00, sizeof(g_showBuff));
            //      show_mode_signal();
                  return;
                }
                show_temperature(temperature_c.cur_temp, RT);
                show_mode_signal();
            //    show_time();                      //20160122时间不准,去掉显示时间
                lcd_reload();   
                if(temperature_c.backlight > 0)
                {
                  temperature_c.backlight--;
                  lcd_backlight(temperature_c.backlight);
                }
               
                if(temperature_c.sync_delay > 0)
                {
                  temperature_c.sync_delay--;
                  if(0x00 == temperature_c.sync_delay)
                  {
                        temperature_c.sync_flag = 1;
                  }
                }

         lcdLastTimer = gizwitsGetTimerCount();
      }


      if((gizwitsGetTimerCount()-capLastTimer) > CAP_SCAN_PERIOD) //timeout = 2S
      {
                  auto_rev_opt(&temperature_c);
                  led_buzzer_ctrl(0,0);      
          cap_id=GET_TOUCH_NUMBER();
          if (last_cap!=cap_id)
          {
            last_cap =cap_id;
          }
          else
          {
            if (0!=cap_id)
            {
                cap_pad.touch = 1; //for relay ctrl
                led_buzzer_ctrl(logicch2phych,1);
                led_buzzer_ctrl(5,1);
            }
          }
          if (cap_id == 1)
          {
            cap_time_count++;
            if (cap_time_count > 5000 / CAP_SCAN_PERIOD)
            {
                  gizwitsSetMode(SoftAp_Mode);
                  cap_time_count = 0;
                  lcd_init();
            }
          } else
          {
            cap_time_count = 0;
          }

          if (cap_id == 4)
          {
            cap_time_count1++;
            if (cap_time_count1 > 5000 / CAP_SCAN_PERIOD)
            {
                  gizwitsSetMode(AirLink_Mode);
                  cap_time_count1 = 0;
                  lcd_init();
            }
          } else
          {
            cap_time_count1 = 0;
          }
                  capLastTimer = gizwitsGetTimerCount();
      }
                        
}

(5)功能为触摸按键检测 、温度检测和 LCD刷新代码部分


void smart_frame(uint8_t cmd[],uint8_t buff[])
{
    uint8_t data,state=0;
      if ((cmd!=9)&&(cmd!=6)) return ;
    if (cmd!=3) return ;
      if (cmd!=0) return ;
      if (cmd!=0) return ;
      IWDG->KR=0xaaaa;
    smart_frame_buff *wifi_data = (smart_frame_buff *)buff;
    if (wifi_data->action==0x02)
    {
      //read;
       send_state_frame();
      //state|=((temperature_c.temp_param.mode<<2)&0x12);
    }
    if (wifi_data->action==0x01)
    {
      if (wifi_data->attrr_flags&0x01)
      {
         temperature_c.temp_param.on_off=(((wifi_data->attrr_value_L & 0x01)!=0 )?1:0);
      }
      if (wifi_data->attrr_flags&0x02)
      {
            temperature_c.temp_param.lock=(((wifi_data->attrr_value_L&0x02)!=0)?1:0);
      }
      if (wifi_data->attrr_flags&0x04)
      {
            temperature_c.temp_param.mode=((wifi_data->attrr_value_L&0x0c)>>2);
      }
      if (wifi_data->attrr_flags&0x08)
      {
            temperature_c.temp_param.speed=((wifi_data->attrr_value_L&0x30)>>4);
      }
      if (wifi_data->attrr_flags&0x16)
      {
            temperature_c.temp_param.limit_t=BIN2BCD(wifi_data->attrr_value_H);
      }
      //write
                led_buzzer_ctrl(5,1);
                temperature_c.backlight = 60;
      ctrl_reply();
    }
}


详细代码请查阅本主题帖代码附件,谢谢!






飞翔中的语言 发表于 2016-8-19 20:27:02

:loveliness:顶起,楼主加油!

夏天罂粟 发表于 2016-8-21 10:00:36

本帖最后由 夏天罂粟 于 2016-8-22 20:04 编辑

二、硬件篇(结构图、原理图和主要BOM)

产品内部系统结构图




1 电源DCDC部分
12V转4.5V。开关电源是12V输出,继电器用的是12V类型的

2、主芯片
Stm32F103C8T6


3、晶振


4、Cypress的触摸芯片
5、电平转换芯片
6、段式液晶驱动芯片
7、蜂鸣器驱动8、ESP8266WIFI模块
主要BOM器件和成本估算方案总体成本估算60+元 1 MCU stm32         5元2 触摸芯片         2元3 LCD驱动芯片         2元4 LCD段式液晶         4元5 NTC热敏电阻          1+元6 继电器型号 7A?      5+元7 液晶背光板(含液晶背光) 3元8 WIFI模块         12元9开关电源 及 DCDC      12元10蜂鸣器             1元11 壳体            10元




Genius 发表于 2016-8-21 15:58:52


小伙伴,你好。
你是第27个参赛者。
欢迎加入开源大赛群,一起交流讨论
机智云开源硬件大赛 583190709

JerryLiu 发表于 2016-8-22 16:51:47

我也来顶一下 :loveliness:

夏天罂粟 发表于 2016-8-22 16:56:38

夏天罂粟 发表于 2016-8-21 10:00
二、硬件篇

产品内部系统结构图


三、硬件篇(焊接完成)
      (1)补充一下PCB布板图 反面

(2)PCB正面


(3)PCB 的3D图


(4)PCB焊接完成


(5)PCB焊机水平还不错吧。 能看到ST和乐鑫的芯片模块。



(6)和电源主板相连接(借用公司的电源板,上面有开关电源、继电器和DCDC)


(7)PCB正面,触摸区域,NTC热敏电阻和段式液晶LCD


(8)点亮OK了,帅吧。壳体是阿里上的公模


下片把MCU代码资源上传上来。期待着!!

夏天罂粟 发表于 2016-8-22 17:23:32

夏天罂粟 发表于 2016-8-22 16:56
三、硬件篇(焊接完成)
      (1)补充一下PCB布板图 反面



四、设备数据点定义篇
       温控器主要的操作有
    (1)冷水阀、热水阀的通断(四管制),用户理解就是制冷制热
      (2)风速 高中低三速 调整
      (3)温度调节
      (4)WIFI功能模式切换,softAP 和 airlink模式
      (5)故障上报
      (6)面板锁定(手机下发命令)
      (7)低温保护, 低于5摄氏度时启动空调

下图为设备数据点图




JerryLiu 发表于 2016-8-24 10:38:28

这么冷清。。。我来顶一个:lol

林林 发表于 2016-8-25 09:41:48

做的不错!!!

地方 发表于 2016-8-25 16:51:20

又一大作,看起来棒棒哒:lol

夏天罂粟 发表于 2016-8-25 22:39:38

林林 发表于 2016-8-25 09:41
做的不错!!!

谢谢!!

Lin 发表于 2016-8-26 10:55:30

不错不错,赞赞赞

麦东东 发表于 2016-8-26 18:10:38

牛牛牛呀

夏天罂粟 发表于 2016-8-26 21:08:57

麦东东 发表于 2016-8-26 18:10
牛牛牛呀

谢谢夸奖,请投我一票。

飞翔中的语言 发表于 2016-8-29 11:12:05

投啦投啦楼主

秋风铁马 发表于 2016-8-30 09:37:22

太好了,就是MCU的代码少几个C文件?编译不过去?

JerryLiu 发表于 2016-8-30 10:21:45

顶起来!!~

hihaigui 发表于 2016-8-30 14:31:49

设计的不错,挺有创意的。也很实用。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【STM 32】之智能温控器(PCB、MCU源码和APP源码下载)