e2: Ooops, "this is not the my laser is broken" forum, I'm dumb. If a mod could move it over to the right place, that'd be great!
Hi guys,
Having some trouble with two 1W Viasho Green Lasers from CT Lasers.
The setup (important things that pertain to this):
- Custom circuit board that uses an Analog Devices AD53x5-series DAC. The output from this DAC feeds the Viasho Driver.
- The driver is I believe a VA-II-N series from Viasho. CT Lasers doesn't list the model numbers online and the laser is currently setup around 200 miles away. It's an external driver that takes in DC power and outputs to the laser head over a HD-15 umbilical cable.
- Power supplies for the Viashos are the supplied ones from CT Lasers
- Switches on the driver are set to 'ANG', which I believe should be Analog modulation. I assume TTL+ is active-high TTL and TTL- is active-low TTL. I helpfully did not receive any documentation with this laser
The issue:
The intent is for the brightness to be controlled over CAN bus based on input from a Kinect. In the software I wrote, I added a "manual" mode, which is basically a bunch of sliders that go from 0-255 for each color. In this mode, the lasers run fine and I can vary their brightness happily. Nothing breaks, and the Viashos happily go down to 0 (0V) and back up to 255 (5.0001V) with no issues.
As soon as Kinect mode goes on though, the green lasers very quickly cease to emit coherent light. The fan on the laser continues to run, but there is not output. The primary difference between these modes is that in Kinect mode, I am sending update messages every frame, or every 33.33 milliseconds. I see on CT Lasers website that the Analog Modulation is rated to 10kHz, which is a period of 100us. My resultant signalling rate should be well within the specifications of this input.
Even weirder, this seems to cause some kind of latch-up with regard to the driver (or triggers some safety cutout in the head). I have to power-cycle the lasers, ensuring that they power up with the analog modulation clamped to ground (the DAC in-contrast powers up in High-Z until I activate it), and then switch it back over to DAC control.
Questions/theories:
1. Anyone have a manual / datasheet for this thing?
2. Is there a warm-up period for the laser? Is this defined as power-on the laser and emit no light for a good 10 minutes before using it? In one case, the laser was powered on and immediately set to emit light, but remained at a constant brightness for a hour or so. Upon trying to switch to the faster control rate (via Kinect), they went down in a few seconds.
3. Input impedance of the driver may be lower than expected / DAC is drawing too much current with rapid updates.
4. 10kHz update rate is a lie, and I'm updating too fast. I don't think this is the case though, because I'm sure people use these in projectors.
5. I thought there was a grounding issue, but I ensured that the grounds of all the disparate power supplies are tied together, so it should have the same reference as the DAC.
6. I noticed that as the load increases (i.e. brightness) and therefore the current draw, the OEM PSUs respond by pretty aggressively over compensating and outputting ~13.5V (obvious as you can hear the fan get louder as its voltage increases) vs. expected voltage sagging/regulation to 12V.
For what it's worth, the other lasers are powered by FlexMods and identical copies of my custom board, and they've been abused for 10+ hours at the Kinect update speed, and they have never choked once. The boards themselves run at 40MHz, and the fastest control loop I had running took around 300 microseconds to run.
And to make my life even harder, these are part of an exhibit set-up two hundred miles away. Took a late night trip out there a few hours ago (2 hours of sleep, joy) after getting bug reports, and trying to debug the damn thing.
e: Oh, and the switch on the outside labeled 'Rt' / 'Curr' on the driver, does that select what voltage I get at the Test pins on the driver? I.E., I get some kind of current sense voltage, or a relative TEC voltage that correspond/scale up to real values?