NEWS
| LinuxCNC 2.5.2 Release |
There are no translations available. LinuxCNC 2.5.2 Update Released (changelog). |
| LinuxCNC 2.5.1 Release |
There are no translations available. LinuxCNC 2.5.1 Update Released (changelog). If the Package Manager does not prompt you to upgrade see this page. |
| LinuxCNC 2.5.0 Release |
There are no translations available. New major release (changelog). See the instructions to update your system from EMC 2.4 to LinuxCNC 2.5. |
Home
Forum
Hardware
Driver Boards
Pico Systems FAQ
Forum
Hardware
Driver Boards
Pico Systems FAQ
|
Welcome,
Guest
|
|
TOPIC: Pico Systems FAQ
Pico Systems FAQ 20 Nov 2011 21:04 #14977
|
What products does Pico Systems offer for use with LinuxCNC?
For use with axis drives that take step and direction signals, we have the Universal Stepper Controller. It controls up to 4 motion axes and is capable of generating steps up to 300,000 steps per second/axis. It is also capable of reading encoders on one or more axes instead of running open-loop. If the motor stalls, LinuxCNC will be able to detect it and all axes can be stopped. The USC also has an output that can drive a DAC for spindle speed control, and 15 digital inputs for home and limit switches. It is connected to the computer via the parallel port in EPP mode. Two boards can be "daisy-chained" if additional axes are required. For use with servo amplifiers that take a digital PWM signal, we have the Universal PWM Controller. It has four encoder counters that can count quadrature encoder signals up to one million counts per second. It has four PWM generators that are clocked at 40 MHz, therefore it can produce PWM resolution of 25 ns. (For instance, at 50 KHz, it has a resolution of one part in 800.) The UPC also has an output that can drive a DAC for spindle speed control, and 15 digital inputs for home and limit switches. It is connected to the computer via the parallel port in EPP mode. Two boards can be "daisy-chained" if additional axes are required. For use with analog velocity servo amplifiers (commonly referred to as +/- 10V) , we have the PPMC (Parallel Port Motion Control) which is a configurable set of boards that plug into a motherboard. There is a 4-axis encoder counter board, a 4-axis digital to analog converter board and a digital I/O board. These boards can be plugged into the motherboard in whatever combination is needed to supply the inputs and outputs for your particular machine configuration. Up to eight boards can be plugged into the motherboard, an additional motherboard can be added if more boards are needed. Where can I get more info on these products? pico-systems.com ***** Universal Stepper Controller ***** Initial setup of the Pico Systems Universal Stepper Controller (USC). First, you need to establish reliable communications between the LinuxCNC PC and the USC. A parallel port cable with DB-25 male on one end and DB-25 female on the other is required. But, this cable **MUST** be made specifically to be IEEE-1284 (parallel port EPP mode) compliant. Ordinary 25-pin cables are not suitable due to crosstalk between the wires. The cable should have "IEEE-1284 compliant" printed right on the cable jacket. Download the USC diagnostics program from pico-systems.com/codes/univstepdiags.tgz It is best to download this directly onto the LinuxCNC system using the Firefox web browser, to avoid any file translation problems. But, you can download it with another system and browser, and then copy it over. The file is unpacked with this command, executed from a terminal (command line) window: tar xzvf univstepdiags.tgz This will unpack the executable file univstepdiags into the current directory. Execute the program with a command line like this : sudo ./univstepdiags 378 bus This uses sudo to give the program the necessary priveledges to access the parallel port hardware. On the next line it will ask for the user's password. If you have the system set up for automatic login without password, you need to remember what password you gave during the LinuxCNC install. the "./" is required syntax for the bash shell to execute a program from the current directory. univstepdiags is the name of the diagnostic command. The 378 is the hexadecimal address of the default parallel port. If your parallel port has a different address, enter that after the command name. bus is the function of this program to use first, to make sure the diagnostic can communicate with the board. If it is successful, it will give a list of the 16 possible device addresses on the parallel port and what board it finds at that location. (Note the USC ties up two consecutive addresses, so if a board is found at the default address of zero, the diag will skip address 1, as it is also used by the USC.) If this test is successful, then use the communication reliability test like this: sudo ./univstepdiags 378 commtest This test loads random values into the encoder counter registers and then reads the value back. If the values disagree, an error is reported. If they agree, only every thousand tests is reported, with a cumulative error count. If 100,000 test cycles can be performed with no error, then it can be assumed that communications are reliable. The test can be ended with the ctrl/C character. Finally, you need to satisfy the emergency stop circuits to allow the board to come out of the power-up state of E-stop. A closed connection from EG to Input 15 will cause the green LED LED9 to light up, indication the E-stop switches are all in the OK (closed) condition. You want to wire all your manual Estop switches in series, using the normally closed contacts. Thus, when any switch contact is opened, the USC goes to E-stop mode, and also tells LinuxCNC of the condition. You can check the condition of digital inputs with this command : sudo ./univstepdiags 378 diocontinuous This continually reads the digital inputs and displays them on the screen, 1 for a closed input circuit, zero for the open circuit. All digital inputs are wired from EG to the digital input desired. WARNING!! Note that this program ALSO writes a rippling pattern to digital outputs 1-7 and turns on digital output 8 (indicating the out-of-Estop condition). If you have solid state relays in positions 1-8 connected to external devices, make sure they are disabled or will not create a hazard when turned on. Step Ouputs: The step outputs of the USC drive the output to +5 V during a step pulse. This is ideal for motor drivers that have a common ground or universal common for the step and direction inputs. The common terminal should be connected to one of the ground terminals on the USC. On motor drivers that only provide a common + 5 V terminal, there could be a problem with the direction pulse changing while the step input is low. Timing of step pulses can be adjusted with parameters in the univstep_motion.hal file. setp ppmc.0.stepgen.00-03.pulse-width-ns 3500 This command sets the width of the step pulses to 3.5 microseconds for all 4 step outputs on the first board. Different step timings can be set for each board, but all step generators on the same board need to have the same timing. setp ppmc.0.stepgen.00-03.pulse-space-min-ns 3500 This sets the minimum timing between coonsecutive step pulses on the same axis. This example sets the time to 3.5 us. Note that the pulse-width-ns plus the pulse-space-min-ns sets the maximum step rate. In the above example 3.5 + 3.5 = 7 us, which equals a maximum step rate of about 140,000 steps/second. setp ppmc.0.stepgen.00-03.setup-time-ns 1000 This line sets the time before and after a direction change where step pulses are not permitted. This allows the step driver to be sure which direction each step pulse was meant to move in. The above example sets it to one microsecond. Digital Inputs: There are 15 general-purpose digital inputs on the UPC board. These are electrically isolated from the logic circuits on the board, and powered by an isolating DC-DC converter. Grounding any of the inputs (0 -- 14) to terminal EG turns that input on. Digital input 15 is dedicated to the E-stop function. A green LED (LED 9) will light when the E-stop chain is complete. Digital Ouputs: There are positions on the board to mount up to 8 solid state relays such as the Crydom D2W202F (2 A, 240 V AC). You can also mount DC power SSRs and signal -level SSRs (Pico Systems makes their own signal-level DC SSRs as there seems to be nothing on the market with the right pin spacing at a reasonable cost. To use the SSRs, you need to either place a Pico-II fuse (from Littelfuse, available through Mouser, Digi-Key, etc.) or a piece of #24 wire in the fuse position next to the SSR. Fuses of 2A up to 5A can be used, 5 A is the limit for the connectors and board traces. Switch settings : There is a 10-position DIP switch that configures some options of the board. Switches 1-4 should be set to OFF to use the board in open-loop mode, where the step pulses are counted to maintain position. Switch one corresponds to the first axis, typically X. Switches 2-4 apply to the next consecutive axes. If these switches are in the ON position, then the board accepts quadrature encoder inputs at connector P3 or J3 to sense machine position. Switches 5-8 select the output format to the drives. When ON, the output is step and direction. When OFF, the output is a full-step wave drive sequence, which is identical to a quadrature encoder counting sequence. Each switch controls one axis. Switch 9 is normally left ON, where the timing of the direction signal is controlled by the PPMC driver in LinuxCNC. When this switch is OFF, the direction signal may only change at the beginning of a step pulse. This is to accommodate some Gecko drives with step multiplier boards. Switch 10 is normally left ON, to make the board appear on the bus at address zero. If the switch is turned OFF, the board responds to address 2, allowing two USC boards to be used on one parallel port. A short ribbon cable can connect the first board to the second. Jumpers: JP4 is the only jumper of interest to the user. This jumper turns the watchdog timer on or off. In the on position, the watchdog will put the board into the E-stop state if it gets no commands from the computer for 20 milliseconds. This will stop all PWM pulses immediately, shut off all solid state relays, and also turn off the spindle DAC if it is installed. If the jumper is set to off, then the only way to go to the E-stop state is via software command or breaking the E-stop switch chain. This jumper needs to be off for certain diagnostic programs to run. It should be set to ON when operating under LinuxCNC. ****************** UPC *************** Initial setup of the Pico Systems Universal PWM Controller (UPC). First, you need to establish reliable communications between the LinuxCNC PC and the UPC. A parallel port cable with DB-25 male on one end and DB-25 female on the other is required. But, this cable **MUST** be made specifically to be IEEE-1284 (parallel port EPP mode) compliant. Ordinary 25-pin cables are not suitable due to crosstalk between the wires. The cable should have "IEEE-1284 compliant" printed right on the cable jacket. Download the UPC diagnostics program from pico-systems.com/codes/univpwmdiags.tgz It is best to download this directly onto the LinuxCNC system using the Firefox web browser, to avoid any file translation problems. But, you can download it with another system and browser, and then copy it over. The file is unpacked with this command, executed from a terminal (command line) window: tar xzvf univpwmdiags.tgz This will unpack the executable file univpwmdiags into the current directory. Execute the program with a command line like this : sudo ./univpwmdiags 378 bus This uses sudo to give the program the necessary priveledges to access the parallel port hardware. On the next line it will ask for the user's password. If you have the system set up for automatic login without password, you need to remember what password you gave during the LinuxCNC install. the "./" is required syntax for the bash shell to execute a program from the current directory. univpwmdiags is the name of the diagnostic command. The 378 is the hexadecimal address of the default parallel port. If your parallel port has a different address, enter that after the command name. bus is the function of this program to use first, to make sure the diagnostic can communicate with the board. If it is successful, it will give a list of the 16 possible device addresses on the parallel port and what board it finds at that location. (Note the UPC ties up two consecutive addresses, so if a board is found at the default address of zero, the diag will skip address 1, as it is also used by the UPC.) If this test is successful, then use the communication reliability test like this: sudo ./univpwmdiags 378 commtest This test loads random values into the encoder counter registers and then reads the value back. If the values disagree, an error is reported. If they agree, only every thousand tests is reported, with a cumulative error count. If 100,000 test cycles can be performed with no error, then it can be assumed that communications are reliable. The test can be ended with the ctrl/C character. Finally, you need to satisfy the emergency stop circuits to allow the board to come out of the power-up state of E-stop. A closed connection from EG to Input 15 will cause the green LED LED9 to light up, indication the E-stop switches are all in the OK (closed) condition. You want to wire all your manual Estop switches in series, using the normally closed contacts. Thus, when any switch contact is opened, the UPC goes to E-stop mode, and also tells LinuxCNC of the condition. You can check the condition of digital inputs with this command : sudo ./univpwmdiags 378 diocontinuous This continually reads the digital inputs and displays them on the screen, 1 for a closed input circuit, zero for the open circuit. All digital inputs are wired from EG to the digital input desired. WARNING!! Note that this program ALSO writes a rippling pattern to digital outputs 1-7 and turns on digital output 8 (indicating the out-of-Estop condition). If you have solid state relays in positions 1-8 connected to external devices, make sure they are disabled or will not create a hazard when turned on. PWM Ouputs: The PWM outputs of the UPC drive the output to +5 V during the "ON" time of a pulse. The on time is proportional to the commanded input value, from 0.0 to 1.0 . The frequency is generally set in the hal file univpwm_motion.hal with a command like this : setp ppmc.0.pwm.00-03.freq 50000 This line of code sets the PWM frequency to 50 KHz for PWM channels 0-3. All PWM outputs on one UPC board must be at the same frequency, although if you had additional boards, these could be set to different frequencies. If your servo amplifiers need a pulse in each direction after coming out of E-stop, you can select this with a line like the following : setp ppmc.0.pwm.00.bootstrap TRUE This tells the driver to generate a pulse of about 5% duty cycle with the direction pin first low, then high, and then go to normal operation, every time the system comes out of E-stop. The number after ppmc.0.pwm. is the PWM channel number. If you need to do this on all 4 axes, the line should be repeated 4 times with 00 through 03 in that position. Some amplifiers need to have an upper limit on duty cycle. If so, the following line sets that. 0.99 equals a duty cycle of 99%. setp ppmc.0.pwm.00.max-dc 0.99 Again, this line needs to be repeated for each axis. If you are driving synchronous-antiphase drivers instead of sign-magnitude, then the idle state is a 50% duty cycle and the direction output is not used. You need to add an offset with the PID BIAS setting in the .ini file's [AXIS_n] section. Digital Inputs: There are 15 general-purpose digital inputs on the UPC board. These are electrically isolated from the logic circuits on the board, and powered by an isolating DC-DC converter. Grounding any of the inputs (0 -- 14) to terminal EG turns that input on. Digital input 15 is dedicated to the E-stop function. A green LED (LED 9) will light when the E-stop chain is complete. Digital Ouputs: There are positions on the board to mount up to 8 solid state relays such as the Crydom D2W202F (2 A, 240 V AC). You can also mount DC power SSRs and signal -level SSRs (Pico Systems makes their own signal-level DC SSRs as there seems to be nothing on the market with the right pin spacing at a reasonable cost. To use the SSRs, you need to either place a Pico-II fuse (from Littelfuse, available through Mouser, Digi-Key, etc.) or a piece of #24 wire in the fuse position next to the SSR. Fuses of 2A up to 5A can be used, 5 A is the limit for the connectors and board traces. Switch settings : There is a 10-position DIP switch that configures some options of the board. Switch 10 is normally left ON, to make the board appear on the bus at address zero. If the switch is turned OFF, the board responds to address 2, allowing two UPC boards to be used on one parallel port. A short ribbon cable can connect the first board to the second. Jumpers: JP4 is the only jumper of interest to the user. This jumper turns the watchdog timer on or off. In the on position, the watchdog will put the board into the E-stop state if it gets no commands from the computer for 20 milliseconds. This will stop all step pulses immediately, shut off all solid state relays, and also turn off the spindle DAC if it is installed. If the jumper is set to off, then the only way to go to the E-stop state is via software command or breaking the E-stop switch chain. This jumper needs to be off for certain diagnostic programs to run. It should be set to ON when operating under LinuxCNC. ************** PPMC *************** The PPMC system is designed as an industrial-grade interface for higher-end machine tools using analog-input velocity servo amplifiers. It is made to be expandable by plugging in additional modules. The three types of plug in boards are: A 4-axis encoder counter, capable of reading either single-ended or differential encoders, with index pulse (if present). A 4-axis 16-bit Digital to Analog Converter (DAC) with +/- 10 V output. This allows 32767 discrete velocities in each direction. An E-stop condition clamps the output to zero Volts. And, there is a Digital Input/Output board which has 16 opto-isolated inputs and positions to mount up to 8 Solid-State relays of your choice right on the board. There is also an additional input for an Estop chain. The DAC board has a watchdog timer that will command an E-stop if it is not updated at least every 20 ms. This can be disabled by moving a jumper for running diagnostics. It should be left in the "ON" position when running with LinuxCNC. If more than one DIO board is present, the one with the lowest address will be set as the master, and that is the board that needs the E-stop chain connected. Any other DIO board will be a slave, and will follow the E-stop status of the master. When the master DIO has a closed circuit on the E-stop chain (ST2 pins 7 to 8) the green LED (LED9) will light up, indicating the E-stop chain has no open switches. Only when this LED is lit will it be possible for LinuxCNC to bring the board out of E-stop. (LinuxCNC should be updating the DAC board(s) by that time to satisfy the watchdog timer.) Addresses of the boards are set by a 4-position DIP switch on each board. A closed switch indicates a zero, an open switch indicates a one. Switch number 1 is the least significant bit of the address. So, a setting of address five would require switches 1 and 3 to be off and 2 and 4 to be on. Initial setup of the Pico Systems Parallel Port Motion Control (PPMC). First, you need to establish reliable communications between the LinuxCNC PC and the PPMC. A parallel port cable with DB-25 male on one end and DB-25 female on the other is required. But, this cable **MUST** be made specifically to be IEEE-1284 (parallel port EPP mode) compliant. Ordinary 25-pin cables are not suitable due to crosstalk between the wires. The cable should have "IEEE-1284 compliant" printed right on the cable jacket. Download the PPMC diagnostics program from pico-systems.com/codes/ppmcdiags.tgz It is best to download this directly onto the LinuxCNC system using the Firefox web browser, to avoid any file translation problems. But, you can download it with another system and browser, and then copy it over. The file is unpacked with this command, executed from a terminal (command line) window: tar xzvf ppmcdiags.tgz This will unpack the executable file ppmcdiags into the current directory. Execute the program with a command line like this : sudo ./ppmcdiags 378 bus This uses sudo to give the program the necessary priveledges to access the parallel port hardware. On the next line it will ask for the user's password. If you have the system set up for automatic login without password, you need to remember what password you gave during the LinuxCNC install. the "./" is required syntax for the bash shell to execute a program from the current directory. univpwmdiags is the name of the diagnostic command. The 378 is the hexadecimal address of the default parallel port. If your parallel port has a different address, enter that after the command name. bus is the function of this program to use first, to make sure the diagnostic can communicate with the PPMC. If it is successful, it will give a list of the 16 possible device addresses on the parallel port and what board it finds at that location. Each PPMC plug-in board has a 4-position DIP switch to set the address of that board. The settings should be unique for each board. The LinuxCNC driver for the PPMC system is very flexible, and enumerates the boards in any combination. But, the diagnostic program is much less intelligent, and will only test an encoder board at address zero, a DAC board at address 4 and a DIO board at address 6. (It will function correctly if an additional DIO board is set for address 7 by setting that board as a slave DIO.) If this test is successful, then use the communication reliability test like this: sudo ./ppmcdiags 378 commtest This test loads random values into the encoder counter registers and then reads the value back. If the values disagree, an error is reported. If they agree, only every thousand tests is reported, with a cumulative error count. If 100,000 test cycles can be performed with no error, then it can be assumed that communicatons are reliable. The test can be ended with the ctrl/C character. Finally, you need to satisfy the emergency stop circuits to allow the board to come out of the power-up state of E-stop. A closed connection from ST2 pins 7 to 8 will cause the green LED LED9 to light up, indication the E-stop switches are all in the OK (closed) condition. You want to wire all your manual Estop switches in series, using the normally closed contacts. Thus, when any switch contact is opened, the UPC goes to E-stop mode, and also tells LinuxCNC of the condition. You can check the condition of digital inputs with this command : sudo ./ppmcdiags 378 diocontinuous This continually reads the digital inputs and displays them on the screen, 0 for a closed input circuit, 1 for the open circuit. All digital inputs are wired from ST2 pin 9 to the digital input desired. WARNING!! Note that this program ALSO writes a rippling pattern to digital outputs 1-8. If you have solid state relays in positions 1-8 connected to external devices, make sure they are disabled or will not create a hazard when turned on. Also, the LEDs are in series with the SSRs so they will only light if an SSR is plugged into the relay socket. (510 Ohm resistors can be plugged into the two closest pins of the SSR pattern to simulate a relay to make the LEDs work for testing.) Analog outputs: Digital Inputs: There are 16 general-purpose digital inputs on the DIO board. These are electrically isolated from the logic circuits on the board, and powered by an isolating DC-DC converter. Grounding any of the inputs (0 -- 15) to terminal ST2 pin 9 turns that input on. Digital Ouputs: There are positions on the board to mount up to 8 solid state relays such as the Crydom D2W202F (2 A, 240 V AC). You can also mount DC power SSRs and signal-level SSRs (Pico Systems makes their own signal-level DC SSRs as there seems to be nothing on the market with the right pin spacing at a reasonable cost.) To use the SSRs, you need to either place a Pico-II fuse (from Littelfuse, available through Mouser, Digi-Key, etc.) or a piece of #24 wire in the fuse position next to the SSR. Fuses of 2A can be used. ****************** Additional Products ********************* We also have special interfacing products that are not completely specific to LinuxCNC, but are of use in general CNC retrofits. Resolver Converter - for interfacing axis or spindle motors that use a resolver instead of encoder for position sensing. Fanuc Encoder Converter - for use with the early Fanuc "red cap" brushless servo motors to convert their proprietary encoder commutation signals to the industry standard. Fanuc Serial pulse coder converter - for converting the later Fanuc serial pulse coder signals to standard quadrature with index and commutation signals. PWM Servo Amplifier - a digital servo amplifier for brush motors up to 20 A and 120 V, compatible with the Pico Systems PWM controller and others from Mesa. PWM Brushless Servo Amplifier - same as above but for brushless motors. Power Switch and Braking Module - can be used with the above servo amps to cut power and engage a braking resistor when going into E-stop. Copley Interface - adapts enable and amplifier fault signals from Copley 400-series and some AMC velocity servo amps. Can be used with a variety of CNC control interfaces. Spindle DAC - a digital to analog converter designed to control spindle speed on DC drives and VFDs. Plugs into the universal PWM Controller or universal Stepper Controller boards. Gecko Interface - connects encoders to both the Gecko 320-series drives and the universal Stepper Controller, so the LinuxCNC system becomes part of the servo loop. Provides more accurate following error limits, ability to graph servo response, and the capability of going to E-stop, moving the machine by hand while LinuxCNC acts as a DRO, and then resuming CNC control. Panasonic Encoder Converter - converts proprietary commutation signals from the Panasonic MUMS (Minas) series motors to industry compatible (Hall) signals. All of these products can be viewed on the Pico Systems web store at pico-systems.com/osc2.5/catalog/ |
|
Last Edit: 30 Avr 2013 04:25 by jmelson. Reason: add more info
The administrator has disabled public write access.
|
|
Time to create page: 2.063 seconds
© 2013 LinuxCNC.org
Joomla! is Free Software released under the GNU General Public License.
