<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Dali Slave issues with physical min level and writing dim level coming from zero in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Dali-Slave-issues-with-physical-min-level-and-writing-dim-level/m-p/621813#M24366</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I made a design for a Dali slave like described in AN11174. I use the LPC1114FBD48/302,1 µC. During the first operation when I was sending the first commands from the Dali Master I observed two things, which are not good:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. When I send dim levels to the Dali Slave, which are lower than 170 (decimal on Dali wires), the program "rounds-up" the value to 170 in the Dali_DimCurve lookup table. Usually a value or 170 does correspond to 10% duty cycle in the Dali standard. Since my LED-driver is able to make duty cycles of 1% and even lower of course I want to use the range between the lowest possible value and 10%. In the app_config.h I set the DALI_PHYSICAL_MIN_LEVEL to 1 and also to 0 but this does not change the explained behaviour. So today I have two opportunities:&lt;/P&gt;&lt;P&gt;a) I take a standard Dali_DimCurve and accept that all the dim values under 170 are "rounded-up" to 170 resulting in a 10% duty cycle for my LED-driver. So I loose aproximately 2/3 (170/254) of visible (subjective) dimming range.&lt;/P&gt;&lt;P&gt;b) I modify the DimCurve lookup table so that the value 170 corresponds to 1% duty cycle (or even less). So I get the full dimming range of my LED-driver but I loose approximately 2/3 of my dimming resolution.&lt;/P&gt;&lt;P&gt;I'm interested in opportunity c which does not round up the communicated Dali values. So I would be able to use the full range from 0-254 and of course the full resolution since the Dali_DimCurve has not to be modified to get lower duty cycles. But how to get to this aim?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. When the Slave is put off via the Dali master and afterwards the dim level directly set to 50% (for example) the corresponding pwm pin does not ramp up smoothly to 50%. Instead of this, the pwm ramps up and down chaotically for some moments resulting my LED in flashing around. The duty cycle then remains at some level &amp;lt;&amp;gt; 50%. After sending the same request once again, the slave reacts like expected: it smoothly ramps up to 50% duty cycle. Also setting a new duty cycle outgoing from a dim level &amp;gt; 0% works well. The issue can only be observed when coming from 0% (e.g. off). I think I need some hints/help to avoid this ugly behavior.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Jan 2017 18:25:01 GMT</pubDate>
    <dc:creator>jenson</dc:creator>
    <dc:date>2017-01-17T18:25:01Z</dc:date>
    <item>
      <title>Dali Slave issues with physical min level and writing dim level coming from zero</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Dali-Slave-issues-with-physical-min-level-and-writing-dim-level/m-p/621813#M24366</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I made a design for a Dali slave like described in AN11174. I use the LPC1114FBD48/302,1 µC. During the first operation when I was sending the first commands from the Dali Master I observed two things, which are not good:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. When I send dim levels to the Dali Slave, which are lower than 170 (decimal on Dali wires), the program "rounds-up" the value to 170 in the Dali_DimCurve lookup table. Usually a value or 170 does correspond to 10% duty cycle in the Dali standard. Since my LED-driver is able to make duty cycles of 1% and even lower of course I want to use the range between the lowest possible value and 10%. In the app_config.h I set the DALI_PHYSICAL_MIN_LEVEL to 1 and also to 0 but this does not change the explained behaviour. So today I have two opportunities:&lt;/P&gt;&lt;P&gt;a) I take a standard Dali_DimCurve and accept that all the dim values under 170 are "rounded-up" to 170 resulting in a 10% duty cycle for my LED-driver. So I loose aproximately 2/3 (170/254) of visible (subjective) dimming range.&lt;/P&gt;&lt;P&gt;b) I modify the DimCurve lookup table so that the value 170 corresponds to 1% duty cycle (or even less). So I get the full dimming range of my LED-driver but I loose approximately 2/3 of my dimming resolution.&lt;/P&gt;&lt;P&gt;I'm interested in opportunity c which does not round up the communicated Dali values. So I would be able to use the full range from 0-254 and of course the full resolution since the Dali_DimCurve has not to be modified to get lower duty cycles. But how to get to this aim?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. When the Slave is put off via the Dali master and afterwards the dim level directly set to 50% (for example) the corresponding pwm pin does not ramp up smoothly to 50%. Instead of this, the pwm ramps up and down chaotically for some moments resulting my LED in flashing around. The duty cycle then remains at some level &amp;lt;&amp;gt; 50%. After sending the same request once again, the slave reacts like expected: it smoothly ramps up to 50% duty cycle. Also setting a new duty cycle outgoing from a dim level &amp;gt; 0% works well. The issue can only be observed when coming from 0% (e.g. off). I think I need some hints/help to avoid this ugly behavior.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jan 2017 18:25:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Dali-Slave-issues-with-physical-min-level-and-writing-dim-level/m-p/621813#M24366</guid>
      <dc:creator>jenson</dc:creator>
      <dc:date>2017-01-17T18:25:01Z</dc:date>
    </item>
  </channel>
</rss>

