Variable Speed Drive (VSD) Controller

SVII Demo Unit

A task that really pushed my limits was being the technical lead on a project to implement a VSD controller interface from the ground up.

We sold what most folks just refer to as Drives. These are actually one or more VSD units paired with all the accessory electronics to switch anywhere from 100 to 5000 volts over a wide range of frequencies. They are usually outfitted with a controller interface of some kind that also manages things like customer digital and analog I/O, MODBUS comms, SCADA services, and sensors.

All of our drive models came with a controller that would manage the components mentioned and run the whole system in several ESP specific operating modes to minimize downtime or optimize performance. Oh, and all of these bits of info, configuration, and operation options where exposed via a ~4" touchscreen display programmed with a vendor provided tool in ladder logic, function block diagram, and a sort of scripting language.

My task was to guide a team of developers and engineers in developing a replacement for both the hardware and software. The main goal being to pack everything into a form that would be open, accessible, and maintainable by as many developers and engineers as possible.

Hardware:
Technologics TPC-7990 w/ supercap addon
Nimbelink LTE Cell Modem
Panda Wireless WiFi Adapter
Custom sheet metal enclosure
Client Tech:
Yocto Linux, C++ 11, Qt 5.7, Python 3.4, MQTT, NGINX, MODBUS, Flask, SQLAlchemy