首页-达尔闻    全部    【项目分享】低成本打造STM32 IoT便携式功率计

【项目分享】低成本打造STM32 IoT便携式功率计

这个功率计虽然是采用最最基础的STM32F030实现,但这个项目有三点还是有一些难度,一是交流电流/电压的测试方法,二是TCP通信协议,三是安卓APP的程序开发。如果将上述三点,弄明白讲清楚,还是可以收获很多知识。
收藏
  • 资料下载:

    WifiPowerMonitor:点击下载

    WifiPowerMonitor.apk.1.1:点击下载

    STM32F030F4P6_energy_meter::点击下载


    这是一个非常便宜的交流功率测量仪,成本约49元,能够测量交流电压值、交流电流值、有功功率、无功功率、视在功率和功率因数,并配有一个1.8寸的Nokia 101 LCD屏(分辨率为128x160)。

    硬件部分设计

    测量仪的硬件组成有:1)价格低廉且性能强劲的STM32F030F4P6作为主控来对交流电压和电流进行测量并显示在LCD上;2)ESP8266烧入esp-link固件,将测量数据从单片机通过串口进行传输,并通过wifi进行发送,ESP8266配置成STA模式连接到家中路由器。3)项目开发者开发了一个简单的安卓app,使用TCP Client来读出数据并将其显示在手机上。

    测量交流电压的基本思路是用电阻网络先将其分压,将分压后的交流电压通过一个滤波器进行滤波,然后将滤波后的交流信号加上一个直流偏置来消除正弦波的负半周波形,最后将它送入单片机的ADC。 

    交流电流的测量也使用了相同的思路,有一点不同的是交流电流测量电路使用了电流互感器(75/0.1A),在电流流互感器两端并联了一个100欧姆的采样电阻进行电流-电压转换,然后再使用和测量交流电压相同的方法进行处理。

    LCD屏使用了一款在诺基亚低端机的屏幕,只需要四根信号线就能驱动,最重要的是它不需要任何连接座,可以直接焊在PCB上。诺基亚的屏幕很多工程师有情节在,但如果换成中景园的IIC OLED也是会很好用,有想做的小伙伴可以一试。 

    ESP8266方面,使用了ESP-12模块,烧录了esp-link固件,串口和STM32的串口一相连,用来传输测量数据和接收命令。ESP-12配置成STA模式用来和家中路由器相连。 

    软件程序开发

    STM32F103开发软件使用的是CoIDE,一款免费的ARM Cortex MCU嵌入式集成开发环境IDE。CoIDE集成了CoBuilder和CoDebugger,适用于编译、烧写及调试嵌入式系统应用。为ARM Cortex-M系列的开发者提供了一套完整的集成开发环境,包括工程管理、编辑、编译工具、调试器。

    由于CoIDE是基于eclipse开发的,其基础是Java开发,因此必须安装Java运行环境,才能安装和运行CoIDE. Java Runtime Environment(JRE),对STM32进行编程,同时用天朝盗版ST-Link下载程序。

    手机APP是简单的安卓APP,TCP 服务器也就是ESP8266连接,读取并显示数据。同时APP可以计算出将功率因数补偿到1.0所需要的电容值。


    妮mo点评

    这个功率计虽然是采用最最基础的STM32F030实现,但这个项目有三点还是有一些难度,一是交流电流/电压的测试方法,二是TCP通信协议,三是安卓APP的程序开发。如果将上述三点,弄明白讲清楚,还是可以收获很多知识。