This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

The control of the states of each micro-mirror independently through the GUI

Other Parts Discussed in Thread: DLP5500, DLPC200

Hello,

 We have purchased the DLP-LC-DLP5500-10R. I have a question for the control software:

We will only  use the DMD and controller module and insert into our optical bench for an experiment. We will not connect any video or static image to this mirror array. We will only direct our external light source by changing the states of mirrors separately.

The problem is how I can control the state of each mirror. I could not find any module to control the micro mirrors independently in the GUI software (by LogicPD) for our Light Commander.

Is there any new GUI or API for the direct control of the mirrors. What should I do?

I will be very appreciated if you could inform me about this issue .

Thanks.

  • Hello Salih,

    Welcome to DLP & MEMS forum.

    There is no way to directly control mirror to turn it ON  or OFF. Everything boils down to the binary data stored under each mirror based on this data the mirror takes either ON or OFF position. LightCommander(TM) mirrors take position for a video source or static images.

    If there is NO strict requirement on the 'interval' between controlling two mirros then you can easily use the static image concept. I can provide more details on this before that would like to know your opinion on the timing requirement.

    Regards,

    Sanjeev

     

  • Hello,

    Thanks for  your prompt response. Actually, the timing is not so important but how fast I can change the sate of mirrors  (the frame rate)?   Also, is it possible to use Matlab or any other software to generate cascaded static images dynamically and control the mirrors?

    It will be much better if you can provide me with more details.

    Thanks.

  • Hi Salih,

    I am not aware of any ready made software availability which can generate static images on the fly. May be some one in the forum who might have already done could respond. Or you will have develop your own code to generate static images.

    Since you wanted direct control of individual mirror I suggest configuring the LightCommander in 1bit per pixel mode. Once you have the data ready there are two options you can drive the LightCommander; #1 would allow higher frame refresh rate but there is over head of downloading pattern via USB.

    1) The dynamically generated static images can be downloaded to LightCommader and then displayed. Here  after the pattern is downloaded it can be refreshed at 5000fps for binary images.

    2) Configure LightCommander to display strcutured light patterns from external DVI port. With this configuration you can refresh the patterns at 1440fps binary patterns.

    Regards,

    Sanjeev

  • How do you do the second option? And does that allow you to actual send unique patterns at 1440fps?

    Thanks,

    Steve

  • Steve,

    The GUI and the API for the LightCommander allow for a project for Structured Light with input from the DVI. The input must be in 1024x768 60Hz video with 24 bit color. Each of the 24 bits will be treated in turn as a "bit plane", and there will be 60x24 = 1440 bit planes per second.

    The user must encode the input video in such a way that each bit in the 24 bit color space is loaded with the pattern for that respective bit plane.

  • Thanks for the quick reply.

    I think I see what you are saying, but I'm really only updating the display from the user end at 60Hz. Meaning, if I need to change the pattern, on the fly, at faster than 60 times a second, I can't really do it. When I load the one frame, subdivided into 24 1 bit planes, I need to load all 24 at the same time. We need to be able to change the patterns faster than 60 times a second, but we can't look ahead and preload what those frames will be over the next 24 1 bit planes.

    It seems that if one could access the actual DMD data interface on the DLP5500 it could be done, but though I see electrical and timing information for that port, I see nothing on how the data is structured. Is there anything available on that?

    Thanks,

    Steve

  • Steve,

    You are correct in the observation that 24 frames have to be pre-calculated and stuffed into a frame at a time - using the DVI Structured Light mode.

    The architecture of the DLPC200/DLP5500 does not allow for direct bit plane access. The bit planes have to either be grabbed from the incoming 60 Hz video frame (DVI SL mode) or pre-stored as separate 1-bit images in the internal Static Image Buffer.

    Sanjeev may have more to add to this.

  • Thanks again,

    That has me thinking along another line then; a few more questions:

    If we pre-store frames:

    1. how many frames can be stored?

    2. how fast can the stored frames be switched?

    Thanks,

    Steve

  • Steve,

    In the internal structured light mode the LC can store up to 960 binary patterns, and can run through the patterns at up to 5000 patterns per second.

    I am going to anticipate a question which you probably will have: can you rearrange the patterns on the fly? No. The patterns will be executed in the order in which they are uploaded.

  • You are a step ahead of me! Thanks!

    If I understand the product line right, maybe we should really be looking at the DLP Discovery chipset (which I realize would require a different DMD)?

    If it truly has random row addressing then it could work well. Basically we need to change maybe 30 rows at a rate of 600 or faster frames per second. And here I mean 30 rows as a frame. Does that make sense?

    -Steve

  • Steve,

    Yes. Perhaps the Discovery 4100 would be the only way to achieve what you are looking for. I will make sure that the person who can tell you more about the D4100 is made aware of your interest.

  • Let me ask one more question on this please. Although the Discovery chipset does seem better suited to our task, we have invested a considerable amount of time and expense designing around a DLP5500 device (our fault). As I mentioned before, it seems that we might achieve our goal with the 5500 if we controlled the DMD DDR Data and Control signals to the 5500. It appears that TI does not document this interface to the end user. Is this correct? Is there any way that we could get the interface information and directly control the frame data? If not, I understand - but I just want to be absolutely sure before moving on.

    Thanks again,

    Steve

  • Steve,

    You understand correctly. TI does not document or support direct control of the DLP5500 DMD. TI only supports and documents the use of the DLPC200 controller with the DLP5500 DMD.

  • That's actually probably the answer I want, as I think the other way will be better in the end.

    I really appreciate the quick and direct answer to my questions.

    Thanks!

    Steve