-
Updating the Software and EMC testing
07/30/2020 at 16:54 • 3 commentsSoftware and Webinterface
Well, despite the current situation we are making progress regarding the software development. m0fa is doing a great job by implementing the needed features using the Espressif IDF.
In the first version the firmware only handled UDP communication on a given port, mimicking the procotoll of our DMX-Bridge. In the meantime the dimmer can speak UDP, HTTP, Websocket and MQTT which is all configurable in the webinterface.
Also there will be a possibility to configure the PWM properties, such as the overall PWM frequency as well as the used dimming curve per channel and transition time. These values can be overridden which each control command.
We plan the following features for the first software release:
- DHCP/Static IP (v4) adressing, unique MAC
- Webinterface for settings and operation
- UDP protocoll like the DMX-Bridge
- MQTT with configured broker
- Websocket connection
- HTTP-Control-Interface with small limitations
- Adjustable PWM frequency from 300-1500Hz (all channels)
- Configurable dimming curve and speed for each channel
EMC Testing
As the final version of the DIN-Rail LED PWM Dimmer is approaching we had to make sure, that the device is compliant to european CE conformity guidelines - thus making sure that we comply with EMC/EMV.
To do that we got in contact with the local University (THM) who run a decent EMC testing laboratory and give local companys access to it. We had our first run together with two professors, who guided us through the process of meassuring and taking counter meassures if something went of the scale.
Indeed we designed the Dimmer accordingly and will only have to do minor changes. The next step will be optimizing the PCB and revise the load-FET's to completely comply with the EMC-CE guidelines.
As always keen on your input/feedback. I'll keep you updated.
Cheers,
Patrik -
Real-World Tests and fixed i2c communication
12/04/2019 at 16:15 • 2 commentsJust wanted to give you guys a short update.
We've finally found an homer-like flaw (doh) in the i2c communication to the PCA9685. Some idiot (me) forgot to tie the address lines of the PCA to ground properly. So in some raw situations the chip decided to change it's I2C address while communicating, thus resulting in kernel panic's on the ESP32 side.
After fixing this, handling the ESP32 exceptions better, refining the I2C pull-up's and meassuring the i2c bus for stability, we could move on to our first real-world test. Currently we drive up to 40 channels with 24V LED's with four dimmers over UDP without any problem.
We've built a custom mqtt-adaptor to talk to the dimmer via node-red and get some status information back to display it on a dashboard.
This functionality will be integrated into the dimmer itself as soon as whe have time to implement it. All different communication path's (UDP, HTTP, MQTT) will be selectable from the dimmer's webinterface.Currently the speed parameter is not working so well - next step here is to implement propper timing to be able to use miliseconds for this parameters.
The different dimming curves look stunning with smoth transitions, of course depending on the LED's.For a test we've also built https://esphome.io/ to run on the hardware - worked after getting the configuration right, as the output enable of the PCA9685 is wired to a GPIO.
I'll leave you guys with a photo :-)
Feel free comment in any way.Cheers,
Patrik -
Getting the first version going
08/19/2019 at 09:19 • 5 commentsFinally the Phoenix Contact cases arrived. As they have different sized openings on the top and on the bottom side, they are not off the shelf parts and needed 6 weeks to get here.
We also finished the first software version which will have no webinterface, sadly. But for the start it's UDP protocoll is completely compatible to our DMX bridge, with an addition for a high resolution command to dim the whole 12bit. Also dimcurves are implemented, so that you can decide how your input is layed out to the brightness of each channel.Valid inputs are 0-100%, 0-255 (8bit) and of course 0-4095 (12bit).
For future software releases there will be an webinterface and mqtt support.
What else do we need?