Trace: » nsc_200_controllers
USB to Serial converter
NSC200 controllers communicate with the computer via serial port (RS 232). If your computer doesn't have a serial port, you need a serial to usb converter. If you buy one, it should come with drivers. Install them.
The USB to Serial converter will pretend to be a serial port, so the software treats it like a serial port. You don't have to know anything about USB, but you have to find the name of the serial port you're pretending to use.
Check your driver status
on Windows : Go to Control Panel/Administrative Tools/Computer Management/Device Manager Look at the list of devices. You should see something called “USB SERIAL CONVERTER” or something similar. If it has a yellow question mark next to it, the driver is not installed. It might be under “Other devices”.
If the driver is installed, the Device Manager should show a “USB Serial Converter” under “Universal Serial Bus controllers”. Make sure this is enabled.
Look again at the list of devices. Under Ports(COM & LPT), you should see a port called “USB Serial Port (COM3)”. If you have real serial ports, you'll also see something like “Communications Port (COM1)” etc. If you have real serial ports you probably don't want to bother with a converter. The “COMx” designation is important, because that's the pretend serial port that your USB converter chose. RClick: General : make sure this is enabled Port Settings: these settings have to match those required by your hardware.
Test the NSC controllers using their provided software
NSC200 pegs and controllers come with software that allows you to control them. The software works ONLY on Windows. It allows you to test your controllers and your ability to control your pegs from the computer.
If you want to control the NSC200 from your own software
The pegs can be manually controlled with knobs, which is pretty natural feeling. If you want to control them from a computer, you can use the software provided by Newport (on Windows). Otherwise, you have to write your own. NSC200s are controlled with ASCII commands, listed in the manual.
Writing your own software has two major components: interacting with the pegs at all (sending and receiving commands) and designing the control mechanism you want to use.
Testing the Serial Port
If you're having problems (you think you're sending commands to the pegs and they are not moving, for example), first test your serial port connection to them. Download ADRCOM Terminal Emulation Software. ADRCOM allows you to directly talk to the serial port, and is set up to display the answers in its window. You type something like “1ST?” and it sends the appropriate command to the controller which will answer with something like “80”. If this doesn't happen it could be because …
* you're not using the correct settings for the serial port or emulation (in which case, it's easier to figure out what they are from ADRCOM than from your own C or java script because you just click options)
* the controller isn't in “remote mode”
* your command is invalid
* the controller is not initialized (unfortunately, the easiest way to initialize it is by using the Newport software…)
The settings on ADRCOM should be consistent with your hardware's specs. For the NSA200: Port: (usually COM3, but check the “testing serial port” section to figure out which one you're using) Baud: 19200 Parity: none Data Bits: 8 Stop Bits: 1 If you go to TTY/Flow Control you'll be given additional options for handshaking etc. You don't have to touch any of these (default works) but you can use it to test which protocols are necessary.
If you don't know what your hardware needs (what baudrate etc), look in the instruction manual or email the manufacturers, because the instruction manual might be incomplete.
The ADRCOM webiste has many examples of how to send ASCII commands to serial port from different programming languages.
NSA200 misbehavior
- The Status LEDs do not seem to behave normally. NSA200 have only 2 LEDs, red and green. When they're both on, the light is supposed to look yellow, or orange, but it may be hard to tell. Additionally, the orange/yellow light seems to change hue. The green and red are clear by themselves, however, so you can just infer that it's yellow if it's not red or green. Sometimes the red light is on (which is supposed to indicate an Error condition), but the controller works fine. Sometimes the peg is clearly moving, but the light doesn't indicate that (by turning flashing green) immediately.
NSC200 controllers seem to inexplicably stop working sometimes. Try the following:
- unplug the power, leave it out for a few seconds and plug it back in. sometimes this helps
- unplug the connection to the peg from the controller. plug it back in and push well. sometimes this helps too
Weird software errors
(which have happened to me)
- The NSC200 NewStep software claims that there are non-NSC200 controllers on the line when there are only those on the line
- The software shows metastable positions for the controller, as if the peg is teleporting from one position to another. I think this can happen if you have two controllers which are initialized to the same value. It is best to manually reset each controller by pushing the little pin in its back if you're worried you might have two controllers initialized to the same value.
- The connection to the software times out and disconnects you from the controller.
- The software issues dialog with error 6, that command foo is not a valid command. This is ridiculous because the software itself issues the commands. why is it issuing a non existent command?
Initialization
- You manually reset each controller on a bus. then you try to reinitialize them. You put the first on the bus, initialize it. then you put another one on the bus, and the software tells you there are no uninitialized controllers on the bus, even though you just put one there and you manually uninitialized it. Restart the software. It will probably see the next controller the second time around. If that doesn't work, manually uninitialize the controller again; If you're having problems, (aka the software won't recognize that there is an uninitialized controller), try unplugging the the controller, plugging it back in and uninitializing again.
- The software claims there is at least one uninitialized controller on the bus. You have already initialized all of them and you can't think of why they might have become uninitialized again. Try restarting the program. If that doesn't work, reinitialize them but make sure you have only one non initialized one on the bus.