Digital micro mirror device control

Status
Not open for further replies.

Bontempos

Member
Hello,

I am interested in trying some experiment using a teensy to control a digital micro mirror device, used on digital projectors, in replacement of a traditional display.

These devices are like a matrix of very tiny mirrors, where you can get the light to be reflected or not. Also you can get some grayscale by vibrating the mirrors.

I couldn't find any project, or even some boards to be assembled for beginners like me. But I am curious to try all by myself if this is possible to be achieve.

Digital projectors need to change the pattern of the matrix for each of the red, green or blue channel in a short period of time. I just want to use it on gray scale, so that part might be easier.

Below, some reference information I find related to the chip and its controller. But I am still very far of connecting the dots by myself, this if anyone could orient me I want to try this project.

http://www.mouser.com/new/Texas-Instruments/ti-dlp3000/
http://www.ti.com/lit/ml/dlpb004/dlpb004.pdf
http://www.ti.com/lit/ds/symlink/dlpc300.pdf
https://youtu.be/9nb8mM3uEIc
 
I destroyed a DMD before, and touched the micromirrors that looks like silver powder on my finger.

I don't think even the top of the line Teensys can control a DMD (but I maybe wrong).
They were originally controlled by FPGAs or dedicated ASICs (Application Specific ICs).

If you want to try one in Teensy, have Teensy 3.5 or Teensy 3.6, because these devices need quite a lot of code speed.
Also, you need to know about how to feed data into it (video pixel array data, control, sync, etc.).
Why speed? Each pixel can only be toggled on and off, so you need to PWM all of them (in software) to achieve grayscales.
Also, another constraint of this is RAM usage. It has so many pixels so it will occupy a lot of RAM space.
 
Originally, my first goal in term of code, was just to program something that turns all mirror off, except one, which I could control its X and Y positions along the matrix. In other words, there would be only one active pixel.

My concerns now are related to getting started, and connecting things together. I have a teensy 3.5 but I need to look for the rest. I will check the ASICs you talked about to understand a little more. Thanks for the suggestions!
 
Like a digitally-controlled laser beam kind of thing? That would pretty much be easier to implement than creating an image or playing a video using that device.
I think it is feasible with your Teensy 3.5 (don't know how well it goes with RAM usage). Regarding ASICs, DLPC300 is an ASIC. It might be much easier to know how to input data to it for it to be properly sent to the DMD.
 
Yes, I am just using one single laser. I as also seeking reference on using some libraries to drive contents on TFL display, but I am not sure if I can actually use it since that would be completely different hardware. Maybe its too much for me since I am a beginner.
I have seen the datasheet of DLPC300, and it might make some sense but I have no expertise. I would like to follow some tutorial or similar as a starting point, then I would have some confidence to try things more specifically oriented to this project with DMD. Would you recommend me some starting point ?
 
I can't recommend some starting point for this because I don't have any knowledge on how do these things communicate with an FPGA or a controller (except on how to destroy them and use the ICs for other purposes: collections, making miniature figures etc. :)). Maybe the DLPC300 datasheet you've linked may help?
 
Yes, well, my intention is really control these drivers in order to replace 2 servos I am using to point a laser device. So, i just want to learn in a way how to convert some PWM (for X, and Y, in the array), in to a signal that outputs on the dmd. I was hoping to use the less components the possible, due to the size and application I am aiming for it. Thanks again for the suggestion.
 
Hello!

Interesting timing for your post - I'm looking to control a DMD (DLP2000) for some optoelectronics research.

What I've determined so far:
The DLP2000 is driven from the TI ASIC with a DDR interface with an allowable clock range of 60 to 80 MHz at an IO level of 1.65V.

It's possible that with some level translators, there might be a Teensy peripheral that could drive DDR. Hopefully Paul could weigh in on this.

My current plan is to use an FPGA to get it working but using a Teensy at some later stage would be useful.
 
Hello Macaba, I hope so!
I feel a little far from the terms and knowledge necessary for even an starting point. I have done very basic things for my projects. I found something like this on my research, and I was thinking on how it could be also connected to Teensy, but maybe this is not related to what I want to achieve, since I want to learn how to drive the DMD matrix.
http://www.ti.com/tool/DLPDLCR2000EVM?HQS=dlp-pico-null-dlp2000-bs-evm-dlp2000size-wwe&DCM=yes#0

also these posts:
https://e2e.ti.com/support/dlp__mem...?tisearch=e2e-sitesearch&keymatch=arduino dmd

(including some system diagram)
https://e2e.ti.com/support/dlp__mem...1?tisearch=e2e-sitesearch&keymatch=teensy dmd



https://e2e.ti.com/support/dlp__mem...t/263483?tisearch=e2e-sitesearch&keymatch=DLP


https://e2e.ti.com/support/dlp__mem.../329442?tisearch=e2e-quicksearch&keymatch=DLP
 
Last edited:
Status
Not open for further replies.
Back
Top