Page 5 of 12
Posted: Mon Aug 04, 2008 11:52 am
Here is a quick sketch of the modified DMX with PIC receiver.
The PIC can be set to one of 32 panels, we only need 28. The PIC is pre-set to expect to receive 25 bytes of data starting from the pre-set panel number and to ignore all other data. The PIC doesnâ€™t store the data, it simply provides the clock to allow the data to be entered into the shift register. The data is fed to all shift registers in every panel, but only the panel with the active PIC will provide a clock pulse to clock the data in. When all 200 bits of data have been entered, the final job of the PIC is to generate a latch pulse to update the display. Then it waits for a reset signal before repeating the process. And thatâ€™s all it does.
As you can se it is based on the DMX data format but with all the unnecessary bits removed. If we assume that each receiver always expects 200 pixel data, then with 28 panels, this gives 5600 pixels maximum, of which we will use only 3700. But DMX maximum is 512x8=4096, so this would also be different from DMX standard. But the advantage is that the receiver PIC is as simple code wise as possible.
Had a quick word with bro and he should be able to do this. I will need to construct a simulator so that he has something to test the code out on. This will not be difficult to make, and in fact would come in handy when testing the actual display and panels.
Posted: Mon Aug 04, 2008 2:35 pm
Thanks a lot!!
The PIC Solution is brilliant! so simple. I though that the Data line had to go through the PIC, Itâ€™s a great relief it doesnâ€™t.
At this point you have help me so much with this project that I feel I owe you big time, thanks Rob, and now your brother is helping tooâ€¦ I would have to send you a huge gift from this side of the ocean. Thanks..
I can put together a prototype with the PIC and everything else here to try also, let me know what PIC your brother is considering.
One question, what do you mean by â€œthe PIC can be set to one of the 32 panelsâ€
Posted: Tue Aug 05, 2008 3:37 am
Yes, your summary is correct. There will be a single RS485 line daisy-chaining the 28 panels and that it apart from the power. With a 5 bit channel selector we have 0-31 channels that can be selected, of which we need only 28. No individual select lines needed.
[One question, what do you mean by â€œthe PIC can be set to one of the 32 panelsâ€
Posted: Tue Aug 05, 2008 6:31 am
I don't think I agree about TRIACs at such low current, but I'll let that alone for now (too many cooks ...) Procede with the testing.
How are you creating the images/patterns to be displayed? I might find time to take a try at a PC program to make or translate bitmaps to serial bits to feed whatever you and Viking come up with.
Posted: Tue Aug 05, 2008 6:38 am
Hello Dyarker, yes I agree, this may not work, hence the need to test this as soon as possible.
dyarker wrote:I don't think I agree about TRIACs at such low current, but I'll let that alone for now (too many cooks ...) Procede with the testing.
Posted: Tue Aug 05, 2008 8:48 am
It works great with the Z0402 triac, and actually this way I can go up to the ideal voltage for the NPD220 film to achieve maximum transparency, 50VAC, but we can keep it at 30VAC and there is almost no difference.
I tried speed from 10 ms to over a sec and it works great. I just try with the Basic Stamp and the triac directly without the A6818 (thatâ€™s the next thing Iâ€™m trying) though.
Rob, so it seems that to normalize each panel to 25 channels despite the number of bits is the best way to go. Itâ€™ll make the checksum process also easier I think.
Itâ€™s a pity because the guys from UNM university suggest me to make all panels 200 pixels, so you could render a square image instead of circular, but that considerably increased the budget, so we couldnâ€™t do it. May be I will make them reconsider this.
Dyarker, It would be amazing if you could give it a try with the program to translate an image to patterns of 1 and 0, thanks you so so much.
Posted: Tue Aug 05, 2008 10:01 am
Thatâ€™s good news about the triac, I was never quite sure if this was going to work. Were you driving the triac gate from a 5V logic signal through a suitable resistor to give you a minimum gate current of 3mA, something like a 680R resistor should give you about 5mA, 1K would give about 3.5mA, only just enough.
If we change the VBB voltage on the 6818 to 5V and the gate resistors to 470R, then we can run the circuit on a single 5V supply. Would be sensible to carefully de-couple the supplies for the logic from the supply to the triac drives to prevent glitches.
If we donâ€™t adhere strictly to the DMX standard and the only reason we would want to is if there is commercially available software that would allow us to do the conversion from video/picture image to pixel pattern. I suspect that there isnâ€™t, after all DMX is used to control lights and smoke machines etc, and this is probably a unique application. So we will have to write our own, in which case go with the 700 channels, fixed size panels an slower operating speed.
Adding more pixels (if over the 4096 limit) would make this incompatible with DMX altogether.
So I would go with the original round 3700 design, in any case this reduces the amount of construction you will need to do.
Posted: Tue Aug 05, 2008 10:21 am
I used a 1k, and the regulated 5V signal from the Stamp, and nothing was getting hot at all.
What value do you think I should use for the decoupling capacitor.
Letâ€™s go with the 3700 solution then and if the school decides to increase the budget (unlikely) to make the screen square then weâ€™ll try the other way.
Thanks a lot
Posted: Tue Aug 05, 2008 10:38 am
With the 1k resistor, the gate current of the triac is only just enough to trigger it on. We would go for something around half that value if operating of a 5V supply to ensure all triacs were turned on.
For de-coupling it is a combination of supply filtering and careful circuit layout in order to isolate the supplies to the two parts of the circuit as much as possible.
I will put something together to show what I mean.
If we go with the simple 200 pixels per panel scheme, then we have the potential of driving 5600 pixels without changing the basic operating scheme, would just be a matter of installing more shift registers/pixel drivers and changing the software to make use of the extra pixels. Each receiver will still operate as if it had a full compliment of 200 pixels.
Posted: Tue Aug 05, 2008 10:52 am
I'll be nice to have standard panels, so if one panel fails it can be replaced by a backup panel they may have there while the damaged one is repaired.
Let's see what they have to say.
so, despite of the number of pixels we end having, do you recommend the 3700 design? so even if we modify the speed of the standard we don't mess with the number of channels.
Posted: Tue Aug 05, 2008 11:27 pm
We will still use 3700 pixels, and the receivers will operate as if it had the full 200. But some of the panels, and four in particular, will not be populated with the full set of shift registers and pixels. If we make the shift registers modular then we can populate each panel with just the right amount of hardware for that panel and repairs could be done by just pulling the defective module.
Do you remember HAL in the film 2001? The computer was hut down at the end by having all its circuits pulled out one by one. A bit like that for this. Only drawback is all the interconnections tend to reduce reliability, especially if this is installed in an outside location, so something to have a careful think about
Posted: Thu Aug 07, 2008 10:57 am
I got it, HAL..that's a good analogy, I hope this one doesn't start misbehaving and kill us all.
I have been testing the prototype with the triacs for the last few days exposed to the fierce NY august summer and so far so good.
Posted: Fri Aug 08, 2008 8:51 pm
I got lost somewhere. Where did 25 channels come from?
A full panel has 200 pixels.
200 / 32 = 6.25, or 7 A6818s per full panel
7 panels wide times 4 panels high is 28 panels
I have started writing a program to read a 70 x 70 bitmap and output to serial port a byte stream where each bit is on or off for each A6818 output.
What I'll need is a list of which A6818 output drives which pixel, and unused A6818 outputs.
A PIC or Stamp stores multiple displays, and "plays" them one after another in a loop?
Or PIC or Stamp is only an RS-232 to DMX converter, and a PC is connected continuously to send new display frames?
Posted: Fri Aug 08, 2008 9:50 pm
Give me a day or two to pull all the design together in one package. So much has changed, then changed again, that I probably the one on who has the full picture now! So I will put together a full and detailed spec on this.
Posted: Sat Aug 09, 2008 4:06 am
(Original drawing removed)
(Original drawing removed)
Data is written to all 200 locations on each panel irrespective if whether there is a pixel there or not. This makes the receiver easier to design, and means all 28 receiver chips are identical.
More to follow on waveform timing.