电子说
电源是非常有用的测试设备,但是大多数(如果不是全部)都是手动控制的。在这个Maker Pro项目中,我们将RIOTOUS与电压控制电源相结合,以创建物联网控制的电源。
工作原理:硬件
RIOTOUS电源的硬件有两个主要方面:
基于LM317的可变线性稳压器
设置LM317输出电压的PWM发生器
LM317是一款线性稳压器,具有三个引脚:VIN,VOUT和ADJ。 VIN和VOUT引脚分别用于电压输入和电压输出,ADJ引脚代表“调整”,用于调节电压输出。
如果使用下面的电路对于LM317,输出电压在下面的等式中给出。
然而,事实证明,如果反馈电阻R1留在原位并且R2被电压源替换,则LM317的输出电压比输入电压高约1.3V。因此,如果我们可以从PIC16F1825创建可变电压,我们应该能够控制LM317输出。 PIC16F1825具有可用于产生可变电压源的DAC,但这是一个5位DAC,因此只有32种可能的电压。相反,我们将使用平滑的PWM源来创建一个电压源,其幅度由PWM信号的占空比控制。
使用PIC16F1825的PWM信号存在一个问题,是PWM信号的最大输出电压是PIC的电源电压。因此,我们可以从LM317中获得的最大电压为3.3V + 1.3V = 4.6V。要解决这个问题,请使用运算放大器,将PWM信号的输出电压乘以10,这样可以实现1.3V至34.7V的电压范围。
工作原理:软件
客户端(RIOTOUS-powered PIC)通过配置IO端口,内部振荡器和RIOTOUS框架来启动。完成此操作后,将启用中断,然后微控制器尝试连接到指定的Wi-Fi网络。连接后,系统会尝试连接到服务器,一旦建立成功连接,就会执行主while循环。
在此循环中,代码首先检查服务器是否有发送数据以调整占空比,如果有,则将输入占空比字符串转换为整数,然后转移到占空比变量。一旦处理了输入数据,PIC就会运行PWN生成代码。虽然PIC确实有一个板载PWM模块,但是尝试使其工作时会引起很多麻烦(特别是当CCP1使用ESP引脚所需的RX引脚时)。因此,PWM信号是在代码中生成的,并且实现起来非常简单。
在主循环的每次迭代中,计数器变量递增,并将该值与周期变量进行比较。如果定时器超过了周期变量,则重置定时器。如果定时器值低于占空比值,则PIC将PWM引脚设置为1,否则将其设置为0.
服务器程序是使用VB.net编写的,包含一个简单的表单应用程序,一个用于启用服务器的按钮,一个用于设置电压的按钮,以及一个允许用户选择所需输出电压的滑块。加载时,表单应用程序初始化RIOTOUS服务器,当单击按钮Start Server时,使用端口333在机器的IP地址上启动RIOTOUS服务器。表单中包含一个计时器作为程序自动收报机。检查RIOTOUS事件,但由于我们的客户端不向服务器发送数据,因此不需要此自动收报机。调整水平条时,“电压标签”将更改为显示水平条表示的电压,按下“设置电压”按钮后,服务器会将新的占空比发送给PIC。
构造
这个项目可以使用许多不同的技术构建,包括条形板,面包板,矩阵板和定制PCB。对于这个项目,我选择使用面包板制作电路,但这确实提供了一两个挑战。首先,该项目不适合一个小面包板,因此需要将两个连接在一起。其次,ESP-01不是面包板友好的。因此,需要一个适配器来使ESP-01与面包板一起工作,这是通过使用一小块条形板和一些头来实现的。
虽然这个项目没有提供电源所需的其他功能,例如整流和输出显示,但它显示了一个概念证据,即RIOTOUS和ESP8266可以用来制作任何互联网控制的东西。如果添加其他组件,包括变压器,电源连接,大型平滑电容器和各种其他电源组件,那么这个项目很快就可以成为功能齐全的物联网电源!
全部0条评论
快来发表一下你的评论吧 !