基于ESP32的曲轴凸轮信号发生器

该方案采用乐鑫公司的ESP32芯片,可以产生1路360°可任意编辑的凸轮方波信号、1路360°可任意编辑的曲轴方波信号、2路0~3.3V的电压输出。网页通过websocket协议与ESP32通讯,协议为自定义。
ESP32运行websocket server,IP地址需要局域网内使用mDNS服务进行服务发现,默认端口号80;网页运行client。

URL
WIFI名称
WIFI密码
芯片重置

电压输出通道 0 mv
电压输出通道 1 mv
转速允许最大值 rpm
发动机转速 rpm
转速允许最小值 rpm
EGCC介绍

该方案采用乐鑫公司的ESP32芯片制作,方案采用定时器+GPIO操作,简单方便,无需过多硬件需求。芯片采用GPIO18作为凸轮信号输出针脚,采用GPIO17作为曲轴信号输出针脚,采用GPIO25作为电压输出通道0,采用GPIO26作为电压输出通道1。usb采用串口烧录和debug调试信息输出和芯片的供电。

通讯方案

通讯方案采用websocket协议。esp32芯片作为websocket服务器,上位机网页作为websocket客户端,两者采用局域网内通讯。websocket的URL地址格式为:ws://192.168.0.1:80:/ws 。服务器端口号固定80。上位机可以采用串口获取esp32芯片的server服务器IP地址,或者在PC端中使用mDNS服务进行局域网服务器搜索(如window10可在命令行CMD.exe中输入指令:ping egcc -4 ,即可得到esp32的websocket服务器IP地址)。得到ESP32 Sever 的IP地址后,替换格式中ws://192.168.0.1:80:/ws中的IP地址,输入网页URL地址中,即可连接。

通讯协议

协议很简单,websocket一帧只能传输一条指令,多的esp32将忽略。

协议以字符##+指令代号开头,为ASCII字符,指令代号从字符”A“开始:

  1. ##AXXXX。设置esp32输出转速,其中XXXX为16进制字符。
  2. ##BXXXX。