Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Do you know of a simple lamp dimming protocol, or a DALI_TO_0-10V converter?

Status
Not open for further replies.
T

treez

Guest
Hello,
We make dimmable lamps. However, we can’t write DALI software, and rely on external software engineers to do this for us. We realise that just about everything is DALI in lighting, ..if we don’t do DALI, then we can’t sell anything. 8-O

Do you know of a simple lamp dimming protocol which is much simpler than DALI to implement in software? (then we could write the lamp dimming code ourselves) For example, it could receive say DALI commands from a ‘master’ via a radio link, and then give out a simple 0-10V signal to request the dimming. We would then be capable of writing software to dim the lamp in accordance with the 0-10V signal. We could write this code ourselves. We are software numpties but we could muster up the small bit of code skill needed for this. :thumbsup:

At the moment , we rely on an external engineer to write our DALI software for us, because we ourselves cannot manage the DALI software. However, this software engineer is undoubtedly sabotaging our software. :cry: :cry: :cry: :cry:

Multiple times, on multiple products, he declares huge numbers of non connected micro pins as inputs…and doesn’t enable internal pullups. He does multiple other similar things.
We found this out after 4 months of a certain product either not working or working intermittently. The software engineer, for 4 months, repeatedly blamed our hardware, saying it was noisy and causing the micro to fail… (this was nonsense because the hardware worked fine with our own simple software) …in 4 months he never once mentioned his declaration of multiple unconnected pins as inputs……it took us, after 4 months of pulling our hair out , to go trawling through his code and realise that he had done this to us. Then on a few other products, he did the same again. Recently he declared 30 unconnected pins as inputs. He has given explanations for our products not working which we have proved to be incorrect…and proved it was his software that was at fault.
He is the only software engineer we can afford. 8-O
If we don’t find a simple way to implement DALI, or a different, simpler comms protocol for the dimming commands, then we will go bankrupt. Do you know of anything?
Our software engineer is the grim reaper waiting to destroy us….goodness only knows what bugs and Trojans he has put in our software which will make the lamps fail in x years time. Please help. SOS.
If we could buy an off-the-shelf unit which received DALI dimming commands, and then chucked out a nice 0-10V signal for us..something like that?
 

Lunatone Dali to 0-10 volt interface.
 
  • Like
Reactions: treez

    T

    Points: 2
    Helpful Answer Positive Rating
My system controls all kinds of things including lighting with my own simple protocol. Everything is in ASCII so it is easy to monitor and debug.

All I do is use a simple serial link (I use RS432 but you can use 232, 422, 485 or any other suitable for your environment) connecting UARTs on PICs. The master controller can aways transmit and receive and all the slaves always receive. Only an addressed slave can enable its bus driver to transmit, this allows a virtually unlimited number of slaves to be connected, the limit being only the cable and driver circuit capability.

All slaves monitor for a start byte, I use ASCII STX (0x02). When they receive the start byte they clear their receive buffers in preparation for data arriving. The first byte after STX is the number (address) of the module being contacted. If it is zero it is a 'broadcast' message to all modules. The following bytes are the command and parameters for the addressed module followed by an ASCII carriage return character. If the command is a request for information, the slave enables its driver and sends it back to the controller.

For example:
<STX> 2 L 55 <CR> would send command 'L' and data 55 to module 2. In my system that would set a bank of LEDs to brightness level 55.
<STX> 4 Q <CR> would send a 'Q' command (Query) to module 4 which would respond with <STX> 4 xxxxxxxx <CR> where xxxxxxxx would be a number from an RFID reader.
<STX> 3 M 13 this is a message <CR> would send a 'M' command (Message) to module 3 which would then superimpose "this is a message" at line 1 character 3 position on the security camera monitors.

I use a queued and paced command dispatcher so up to 30 commands can be lined up and sent using timer interrupts so it doesn't block the controller program while waiting for replies from slaves.

It actually isn't complicated to implement and it is very adaptable if other modules are added to the network..

Brian.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top