Hey all,
Designing a little control system for a NDA'd project. Basically, have 6 "projectors" that take the following inputs, as of now:
- Laser Brightness (via I2C DAC)
- Motor Speed / Direction (up to 3)
Right now, my design has them networked via CAN, and each node is powered by a dsPIC MCU. The dsPIC sports an integrated CAN controller, so I just need a cheap xcvr, like the MCP2551 also from Microchip. Using Rohm motor drivers, and the dsPIC comes in handy because of it's Motor Control PWM outputs (the Rohm IC is a bit funky when it comes to direction control as well).
Planning on using a standard USB<->CAN adapter with a good SDK, like something from Kvaser to interface with the PC. I've only got 3 CAN messages atm to carry all the data needed, and I think I can run the bus at pretty high data-rates, around 1Mbps because the cable length will be so short.
CAN has the benefit of being rated for "safety-critical" apps too which is nice, although regardless the protocol my firmware will kill off laser emission upon loss-of-communication. Would use Cat5(e) to run the CAN...with 8 wires in Cat5e, I wonder if I could carry CAN + 2 DMX channels in the same wire.
DMX would be around the same cost to implement, I'd just use a RS-485 transceiver like the SN75176B to interface with the bus. Right now I think I will leave room on the PCB for both interfaces (the dsPIC has enough pins to support both anyways) for flexibilities sake, but I'm curious to hear about members' here experiences with either protocol.
e: I don't think ILDA is applicable here, because these projectors have no XY control, etc, just what is described above. Perhaps projector is a misnomer.
e2: I think I'll leave DMX on there as well, as I may use these for some of the other laser units I have that are currently all analog, and would be interfaced via DMX in the future. Cheaper to make only one PCB and selectively populate it.
secondary questions
DAC IC - Laser has a 0V-5V modulation input. Is a 8-bit DAC granular enough, or should I look at 10-bit+ DACs?