Ishow a soundcard DAC?
Ishow a soundcard DAC?
Ishow is a DAC?
it comes with a Digital USB port and has a Analog ILDA output which i gets Converted into...
dongle they like to call it
if im wrong, please correct me... ive only been playing-studying for a few months now
Last edited by mrfloppy; 01-16-2013 at 08:48. Reason: spell check
Mrfloppy, the Lasershark converts digital signals from a laser show application (like OpenLase) sent over USB into proper ILDA-standard analog signals (although not through a standard ILDA connector) that can be used to control galvo and laser drivers plus interlock channels. It will also break out a bunch of unused microcontroller pins in case folks want to use them for some custom setup. If you were wondering why it wouldn't have a standard ILDA connector on it, it is because I intend for it to be stuffed in a box along with the lasers and galvos. I hate parallel cables!
I've re-read your responses and I'm still lost when you say "both functions" so I hope my former statement in this post will clear that up
To clarify mixedgas's response, I think he was assuming you were using an audio dac setup:
Some clever folks use modified multi-channel USB sound cards to convert digital lasershow data to analog signals. This would be referred to as a DAC. While these sound card DACs do output analog signals, they do not follow the ILDA specs thus you could not directly connect a laser driver or galvo amplifier to the sound card DAC. To remedy this, a "correction amplifier board" is connected to the sound card DAC in order to boost the signal voltages and generate "close enough" ILDA standard signals.
So in your case:
what you were calling a DAC = sound card
what you were calling a Controller card = correction amplifier board
Last edited by macpod; 01-17-2013 at 18:47.
There is no reason why the OpenLase software couldn't run on the raspberry pi EXCEPT there are some routines for transformation that are written in x86 assembly. These are common matrix transformation functions intended to speed up operations which could be replaced with their arm counterparts without too much of a hassle.. but it would require you to modify some code.
The schematic entry has started using the LPC1754. In addition to being pin compatible with the more powerful (and more expensive lpc1756, 1758 [has ethernet support], and 1759) packages if more horsepower is needed there may also be an upgrade path the some upcoming 18xx cortex M4.
This chip has:
-100Mhz clock speed
-32K sram
-128K flash
-Sadly no hardware USB bootloader, but alleged code exists for a USB MSD bootloader so folks can still easily upgrade/tinker.
-USB library that should work without me having to muck with it like the LPC1343!
-1024byte ISO endpoints
-a few 6/12bit ADCs (but not very good ones)
-1 10-bit DAC I'm not sure how I will use this yet.
The problem with using some of the on-board dacs and gpio pins for stuff is that the startup state is unknown. If I use a DAC like the one on the LaserShark board, then I can be assured at startup the lasers will be off. The DAC pin will likely be configured as a digital input pin with high impedance and as I learned with the interlock and c channel on the lasershark, that can cause some wild voltages to be output
I still need to figure out the floating input for the interlock channel.. I don't know if a resistor between the pin and a X value resistor to ground will be enough to assure it is stable.. and I don't want to have to add a spi/i2c port expander with guaranteed starting outputs.
I'm waiting for someone before heading out to dinner so I thought I would quickly hop on and show some analog circuitry that I plan to use in the lasershark pro. If you think you have a better circuit for these operations, now would be a nice time to hear about them
I will be using AD's 4 channel 12-bit DAC124S085 for the galvos and color intensity. I like this DAC aside from it's dropoff in settling time and linearity near the bottom and top of it's output ranges.
I haven't speced out the 8 or 10bit 4+channel dac for the laser channels yet. I will probably go with AD again since they have dacs capable of 40Mhz spi comms and that frees up the processor from having to sit around and wait for transfers significantly.
1. The galvo circuit is the same as what is used in the lasershark. This circuit was a pain to design and I'm still not completely happy with it. I doubt folks will notice it, but if you attach a high accuracy voltmeter to the outputs you will notice:
-Towards the high and low range you may loose some linearity due to the dac I am using.
-You can tune the output to swing from -10 to 10v differential perfectly, but the center point will be at ~0.06v. I haven't experimented with this, but I wonder if it affects linearity or even how monotonic the output is.
2. The laser driver is the same as from the lasershark unit. It should be fine for everyone but if you look at it on a scope you will see that it doesn't totally go down to zero (caused by a combination of the dac ouptut range, dac op-amp offset, and op-amp offset) and won't peak out at exactly 5v (because of resistor tolerances).. more like 4.9x to 5.0x. This could be fixed by swapping out a resistor for a pot to allow for adjustments on the high end, but I don't feel the issue warrants the cost and board space.
3. I was unhappy with the interlock and ttl circuit in the lasershark because they can go significantly out of range when the firmware is not running (e.g. when you are programming it and when it is in reset mode). The new circuit does away with the driving op-amp (which I won't have free anymore because it will be used for another laser channel) and uses two p-fets that are attached to the USB or 5v rail. This setup prevents out-of-range voltages and should also keep the line low when the device is programmed/reset.
I may choose to use a double packaged zener diode and attach one zener to the vcc_usb/5v rail too for over AND under voltage protection... mabey
Fun fact: I modeled some of these with LTspice and LT components.. then built the circuits using the same parts. Reality conflicted with my simulations![]()
Last edited by macpod; 02-12-2013 at 18:59.