§01 电子负载WiFi接口


一、为什么对FZ35增加WiFi接口?

FZ35恒流电子负载检测测试 对于一款 恒流电子负载 对于一款进行了测试,并且对于它的串口功能进行了测试。

▲ XY-FZ35

但是在测试中,使用了一款 基于CH340C制作的MicroUSB转串口 的测试板,通过USB来控制模块的设定电流值。但这种有线的设置,会在将来测试一些大功率,或者具有强干扰的情况对于计算机产生干扰。

借助于 ESP8266-01s 小型模块,实现WiFi 到UART的直通串口设置,便可以方便的使用WiFi,通过UDP编程,在实验室环境下完成对于电子负载的控制。

二、制作步骤

完成以上制作,需要逐步确认以下内容:

  • 通过MciroPython编程,使得ESP8266能够自动在实验室环境下接入局部WiFi,并且实现WiFi-UART直通的功能;
  • 制作与FZ35连接的小型电路板,提供电源(+5V,+3.3V)以及连接接口,这部分可以通过 快速电路板制作 的方式完成。

§02 ESP直通串口


一、ESP外部接口

根据 修改ESP8266-01S MicroPython下载固件,看是否能够烧录程序 中对于ESP8266-01S的定义,其中提到了本位于PIN6(RST)在其上标志位PIO6。关于这部分可以进行测试一下。

▲ ESP-01模块及其外部引脚定义

二、直通程序

将下面的程序存为ESP8266-01s 器件内部的程序boot.py,它上电之后便可以自动运行该程序。

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-04-26
#
# Note:
#============================================================from machine                import Pin,freq
import time
from machine                import UART
import network
import usocket
import uospin = Pin(2, Pin.IN, Pin.PULL_UP)#------------------------------------------------------------
wlan = network.WLAN(network.STA_IF) # create station interface
wlan.active(True)                   # activate the interface
wlan.connect('TENDA626A', 'gniqouhz')
print(wlan.ifconfig())#------------------------------------------------------------
us = usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM)
sockaddr = usocket.getaddrinfo('0.0.0.0', 8003)[0][-1]
sendaddr = usocket.getaddrinfo('192.168.0.109', 4455)[0][-1]us.bind(sockaddr)
us.sendto('lalala~\r\n', sendaddr)#------------------------------------------------------------
uart = UART(0, baudrate=9600)#------------------------------------------------------------
while True:data,addr = us.recvfrom(1024)if len(data) > 2:if data[-2:] == b'\r\n':data = data[:-2]uart.write(data)if pin.value() == 0:break#------------------------------------------------------------uart = UART(0,baudrate=115200)
uos.dupterm(uart, 1)
print("End of the user.")#------------------------------------------------------------#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

使用STM32BOOTLOADER,进行发送命令,便可以通过ESP8266的串口输出了。

网络配置参数:
IP:192.168.0.125
Port:8003

▲ STM32 BOOTLOADER

三、确定IP地址

上面的ESP的IP地址“192.168.0.125”是由 实验室中Tenda无线路由器 动态分配的。 确定这个IP地址,可以由Tenda路由器设置信息查看。

由Tenda路由器直连计算机通过 “192.168.0.1”访问:

DHCP服务器中的 DHCP客户列表查看 主机及其IP地址。实际上刚刚上电的ESP模块可以通过 租约时间最短的 对应的IP地址来查看。

▲ 图2.1 通过Tenda配置网页查看分配的IP地址

§03 FZ35接口板


一、电路板设计1

▲ 接口板SCH

▲ 快速制版测试的电路板

二、功能测试1

1、加电静态特性

▲ 安装有ESP8266-01S的FZ35

2、通过程序改变电流设置

▲ 接收WiFi命令后的设置电流命令

3、测试程序

  • 下面是测试程序
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-04-26
#
# Note:
#============================================================from headm import *
import socket
import socket
import socket#------------------------------------------------------------
UDP_HOST  = '192.168.0.125'
UDP_PORT  = 8003
UDP_BUFSIZE = 0x1000
uport = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
uport.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, UDP_BUFSIZE)
uport.settimeout(0.2)def uportsend(data):ADDR = (UDP_HOST, UDP_PORT)if type(data) != str:data = str(data)data = bytes(data, 'gbk')uport.sendto(data, ADDR)def uportrecv():try:data, ADDR = uport.recvfrom(UDP_BUFSIZE)except socket.timeout:printf('Meter time out.')data = ''if len(data) > 0:return data.decode('utf-8')else: return ''def uportval():uportsend('MEMOS')splitstr = uportrecv().split(' ')data = []for val in splitstr:if len(val) > 1:data.append(eval(val))return data#------------------------------------------------------------
printf('\a')for i in range(100):uportsend('1.%02dA'%i)time.sleep(.2)#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================

※ 实验总结 ※


通过设置ESP8266-01s为WiFi-UART直通模块,使得FZ35模块可以通过无线WiFi进行设置。

基础的设置命令:

uportsend('1.00A')

下图为WiFi设置的电流设置值,然后使用DH1766可编程直流电源输出直流电。他们之间的对应的关系。

▲ 电流设置与DH1766实际输出电流

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY                     -- by Dr. ZhuoQing 2021-04-26
#
# Note:
#============================================================from headm import *
import socket
import socket
import socket
from tsmodule.tsvisa        import *#------------------------------------------------------------
UDP_HOST  = '192.168.0.125'
UDP_PORT  = 8003
UDP_BUFSIZE = 0x1000
uport = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
uport.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, UDP_BUFSIZE)
uport.settimeout(0.2)def uportsend(data):ADDR = (UDP_HOST, UDP_PORT)if type(data) != str:data = str(data)data = bytes(data, 'gbk')uport.sendto(data, ADDR)def uportrecv():try:data, ADDR = uport.recvfrom(UDP_BUFSIZE)except socket.timeout:printf('Meter time out.')data = ''if len(data) > 0:return data.decode('utf-8')else: return ''def uportval():uportsend('MEMOS')splitstr = uportrecv().split(' ')data = []for val in splitstr:if len(val) > 1:data.append(eval(val))return data#------------------------------------------------------------
printf('\a')idim = []
iset = []for i in range(100):uportsend('0.%02dA'%i)time.sleep(1)curr = dh1766curr()iset.append(i/100.0)idim.append(curr)printff(i, curr)uportsend('0.00A')plt.plot(iset, idim)
plt.xlabel("Set(A)")
plt.ylabel("Current(A)")
plt.grid(True)
plt.tight_layout()
plt.show()#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#============================================================

■ 相关文献链接:

  • FZ35恒流电子负载检测测试
  • 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型
  • 修改ESP8266-01S MicroPython下载固件,看是否能够烧录程序
  • 一分钟制版法

※ 实验附件 ※



  1. 接口板的AD工程文件:AD\Test\2021\FZ35 ↩︎ ↩︎

基于ESP8266-01s 增加对于FZ35恒流电子负载WiFi接口相关推荐

  1. FZ25/FZ35 恒流电子负载

    ▌01 电子负载   在 关于无线节能组无线电能输出功率测量 涉及到电子负载的使用.这里给出了电子负载的操作说明,以备之后应用时所需. ▲ XY-FZ35 1.功能说明   1. 可以显示电流A 电压 ...

  2. FZ35恒流电子负载检测测试

    ▌01 恒流电子负载 1.背景简介   在 FZ25/FZ35 恒流电子负使用说明 介绍了由龙邱提供的两台电子负载.它对于之后进行电源调整自动获取数据非常有用处.   对于早期大功率 电子负载 已经拆 ...

  3. 基于ZIGBEE通信的功率电子负载

    ▌01 电子负载 使用功率电子负载,也就是可以设定其消耗的电流,可以在自动测量中做到非常好的效果. 之前的电子负载属于大功率的负载,可以消耗电流在50A左右.这样就不太有利于对一些小型负载进行测量. ...

  4. 恒流恒压电源模块参数调节方法说明

    关于带恒流功能电源模块参数调节方法 前言 电源模块 恒压 恒流 参数调节 恒压调节 恒流调节 总结 原文链接:https://www.yourcee.com/newsinfo/2929217.html ...

  5. SG3525matlab,基于SG3525芯片的大功率恒压/恒流LED电源研制 - 全文

    本文介绍了以SG3525为控制芯片.采用半桥变换的拓扑结构,输出为恒压/恒流12V/20A,负载输出小于0.6W时,为恒流工作模式,当负载大于0.6W时,其工作在恒压模式,电源在最大输出功率240W, ...

  6. 基于matlab的螺线管仿真,基于COMSOL Multiphysics恒流螺线管的电磁场仿真分析

    27 电子技术研发 Electronics R & D 10.3969/j.issn.1000-0755.2017.11.008 0 引言 在现代的工业生产中,螺线管在微电子.传感器.机电等领 ...

  7. ESP8266 01S WIFI 网络

    ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网 ...

  8. 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)

    ESP8266和ESP32智能彩灯开发系列文章目录 第一篇:最简单DIY基于ESP8266的智能彩灯①(在网页用按钮点亮普通RGB灯) 第二篇:最简单DIY基于ESP8266的智能彩灯②(在网页用按键 ...

  9. Mocha NTA基于单采集器实现的多种流协议分析

    业内主流的Flow协议技术         网络业界基于流(Flow)的分析技术主要有NetFlow.sFlow.cFlow和NetStreem四种.NetFlow是Cisco公司的独有技术,它既是一 ...

最新文章

  1. Rexsee API介绍:Android传感器系列之 - 磁场传感器Magnetic Field源码
  2. mysql中数据库database、实例instance、会话session的关系
  3. InnoDB支持的最大事务数量
  4. cf13C Sequence(DP)
  5. Git快速入门+复习笔记
  6. 数据结构链表之循环链表——4
  7. 欧洲互联网将“死于”版权法?
  8. 分享一些不错的sql语句
  9. 原因及解决办法:Failed to load module “canberra-gtk-module“
  10. SQLServer------基本操作
  11. 一键生成ai伪原创文章的方法
  12. Kotlin 密封类
  13. 我今天给来学习的学员试讲的课程笔记-2019-04-20
  14. 除了美团点评合并,国庆长假O2O还发生了什么?
  15. echarts动态渲染柱状图背景颜色以及顶部数值
  16. 说大数据杀熟,这锅可不背!
  17. 江苏省基础云计算机服务平台,江苏省一师一优课一课一名师登录入口
  18. Richard Matthew Stallman
  19. Unity3D优化技巧系列八
  20. zabbix模板-天融信防火墙

热门文章

  1. 通过 .gitlab-ci.yml配置任务-官方配置文件翻译
  2. 个人对面向对象的理解总结
  3. python 模拟HTTP服务端
  4. 现行技术体系的问题总结
  5. 还原dede数据后系统基本参数空白无显示的解决方法
  6. PC厂商如何演化移动互联网市场格局?
  7. 2019-4-25 html学习笔记
  8. Java字符串那些事儿
  9. js中==与===的区别
  10. linux驱动之i2c学习