Hello,
We have designed some 40W, offline 230VAC, non isolated LED lamps which have no AC input filter. (-because they are based on linear current regulators). They can be dimmed up and down by a microcontroller which receives DALI input signals. We had some builders in to our factory to do some work, and whenever they operated their heavy machinery such as drills and angle grinders, our LED lamps began to turn ON and OFF , -ie malfunction.
The micro in the lamp is PIC16F18856.
The ones that malfunctioned had software in them which is written by our remote software contractor. We actually loaded some of our own simple software into the lamps, and this software did not malfunction. Our simple software simply repeatedly dims the lamp up and down.
Why did our software work fine, when our contractor’s software malfunctioned?
Our simple software actually declares the ports to inputs or outputs in just the same way as the contractor’s software…..the difference was that our software does not actually read from the ports declared as inputs.
There aren’t that many inputs to the microcontroller….just the DALI RX signal, the MCP9700 temperature sensor signal, and the SFH5711 light sensor signal.
Why did our contractors software malfunction, but our software did not malfunction?
Is there something about the universally available DALI software libraries which is overly noise sensitive? Maybe the DALI software libraries just read the DALI signal with one read per bit….instead of taking multiple reads during a bit to really check that a bit is high or low…..ie, to check that a “high” or low input isn’t just a noise-spike input.
Also, the builders have gone now, but we want to buy something that will cause the problem again, so that we can see how we can solve the problem….what equipment would you recommend to get this kind of interference?…what about a laptop SMPS with its AC input filter removed?