micro-ELC
Functions | Variables
main.cpp File Reference

Functions

void setup ()
 called once on startup by Arduino More...
 
void loop ()
 called repeatedly by Arduino More...
 

Variables

const byte numRelays = 5
 how many relays are in your array? More...
 
RelaysDriverBasic< numRelaysrelayDriver = RelaysDriverBasic<numRelays>(LOW, { 21, 22, 19, 23, 26 })
 
LoadAdjustRelayParallelBinary< numRelayscoarseLoadAdjust = LoadAdjustRelayParallelBinary<numRelays>(relayDriver, true)
 
LoadAdjustAnalogWrite fineLoadAdjust = LoadAdjustAnalogWrite(18)
 
LoadAdjustCoarseFine loadAdjust = LoadAdjustCoarseFine(coarseLoadAdjust, fineLoadAdjust, pow(2, numRelays), 32, 10)
 
JEncoderAS5048bI2C tachEncoder = JEncoderAS5048bI2C()
 
TachometerJEncoder tach = TachometerJEncoder(tachEncoder, 6)
 
float setpoint = .5
 
float input = 0
 
float output = 0
 
QuickPID pidControl = QuickPID(&input, &output, &setpoint)
 

Function Documentation

◆ loop()

void loop ( )

called repeatedly by Arduino

◆ setup()

void setup ( )

called once on startup by Arduino

Variable Documentation

◆ coarseLoadAdjust

◆ fineLoadAdjust

◆ input

float input = 0

◆ loadAdjust

◆ numRelays

const byte numRelays = 5

how many relays are in your array?

This software is for making an Electronic Load Controller.

It controls an array of resistors to keep the frequency of a synchronous generator constant.

https://github.com/joshua-8/micro-ELC

Use PlatformIO to upload to an esp32 dev module

started by Joshua in spring 2022

◆ output

float output = 0

◆ pidControl

QuickPID pidControl = QuickPID(&input, &output, &setpoint)

◆ relayDriver

RelaysDriverBasic<numRelays> relayDriver = RelaysDriverBasic<numRelays>(LOW, { 21, 22, 19, 23, 26 })

◆ setpoint

float setpoint = .5

◆ tach

◆ tachEncoder

JEncoderAS5048bI2C tachEncoder = JEncoderAS5048bI2C()