Quantcast
Channel: PoBlog™
Viewing all 131 articles
Browse latest View live

PoKeys USB and ethernet DAQ devices – comparison

$
0
0

PoKeys DAQ devices family

There are multiple variations of PoKeys DAQ devices (digital acquisition devices) available. The PoKeys57 family consists of PoKeys57U, PoKeys57E and PoKeys57CNC, which is our latest addition to the PoKeys device family.

PoKeys devices in general

PoKeys devices are highly-customizable general purpose I/O devices that extend the I/O capabilities of a host computer in order to interface various signals of the physical world. PoKeys devices can therefore be used to input or output digital signals, analog signals, interface LCD display, encoders, I2C and 1-wire sensors etc. PoKeys devices offer various communication options – USB and/or Ethernet.

Devices can also function as powerful CNC motion controller devices – they can output step and direction signals for driving stepper motors of a CNC machine, while also handling various switches and sensors of a typical machine. Due to a rich set of supported peripherals, one PoKeys device can take care of interfacing the machine and the human operator via switches, selectors, knobs (with encoders), potentiometers, LCD display etc.

PoLabs introduced a programmable logic controller in PoKeys56 family of devices and PoKeys57 family extends this with even more memory and functions.

See highlights of various PoKeys devices below and check the guide on selecting the connection type you need.

The following table gives an overview of many features the PoKeys devices support

PoKeys57U PoKeys57E PoKeys57CNC
Number of pins on the board 55 55 see pinout diagram
Digital inputs 55 55 see pinout diagram
Digital outputs 55 55 see pinout diagram
Analog inputs 7x 12-bit 7x 12-bit 5x 12-bit
Number of encoders (normal) up to 25 up to 25 up to 14
Number of fast encoders 3 3 3
Number of ultra fast encoders 1 1 1
Number of PWM outputs 6 (25 MHz clock) 6 (25 MHz clock) 4 (25 MHz clock)
Number of digital counters 24 24 22
Pulse capture inputs 3 3 3
LCD support Alphanumeric up to 4×20 Alphanumeric up to 4×20 Alphanumeric up to 4×20
Matrix keyboard support Up to 16×8 Up to 16×8 Up to 16×8
Matrix LED Two 8×8 Two 8×8 No
Keyboard emulation Yes No Yes
Joystick emulation Yes No Yes
Pulse engine v2 (step/dir motion controller) Yes (3 axes integrated) Yes (3 axes integrated) Yes (dedicated connections for 8 axes)

see pinout diagram

Connectivity USB Ethernet (IPv4 + DHCP) Ethernet (IPv4 + DHCP) and USB
Modbus TCP support No Yes Yes
I2C sensors Yes Yes Yes
1-wire sensors Yes Yes Yes
EasySensors Yes (up to 100 sensors) Yes (up to 100 sensors) Yes (up to 100 sensors)
PoExtBus support up to 10 devices up to 10 devices up to 10 devices
PoNET bus support up to 16 devices up to 16 devices up to 16 devices
Power supply powered from USB external 5V power supply USB for testing,

external 6-26V power supply for full functionality

Number of devices per computer practically unlimited practically unlimited practically unlimited
Automatic device discovery Yes Yes (in local network) Yes (in local network)
Free configuration application Yes Yes Yes
Free firmware upgrades Yes Yes Yes
Communication DLL support Yes Yes Yes

PoKeys57U

PoKeys57U

PoKeys57U is a general purpose I/O device that connects to a standard USB port. It provides 55 I/O (5V tolerant) pins, which can individually be configured for digital input or digital output function. Up to 7 pins can be configured as analog inputs and 6 as PWM outputs. The rich set of features includes support for LCD, matrix keyboards, matrix LED displays, encoders, I2C and 1-wire sensors etc.

The USB connectivity of the device enables it to emulate a standard USB keyboard and joystick, thus allowing the user to map the digital inputs to USB keyboard or joystick keys, while analog inputs can be mapped to USB joystick axes. Integrated programmable logic controller can be used to enhance the functionality of USB keyboard and/or joystick with custom logic and signal processing (e.g. an interface between R/C PPM servo signals to USB joystick can simply be realized since both are supported by PoKeys57U).

The device by itself can be used as a 3-axis CNC motion controller and can be upgraded to 8-axis with the use of external pulse generator boards.

If you would like to know more about this device, the information is available on the product webpage: PoKeys57U.

PoKeys57E

PoKeys57E

PoKeys57E is an ethernet version of PoKeys57U device. As PoKeys57U, it provides 55 I/O (5V tolerant) pins, which can individually be configured for digital input or digital output function. Up to 7 pins can be configured as analog inputs and 6 as PWM outputs. The rich set of features includes support for LCD, matrix keyboards, matrix LED displays, encoders, I2C and 1-wire sensors etc.

 

 

 

The PoKeys57E has a built-in web server (named Dashboard) that serves a simplified interface with various (and customizable) values of sensors, digital inputs and outputs, counters etc.

PoKeys57E dashboard

PoKeys57E dashboard

Moreover, PoKeys57E has a built-in Modbus TCP server, allowing it to be interfaced with various industrial equipment. The device also features a server reporting feature, allowing it to upload selected measurement data to a server in a cloud.

As PoKeys57U, the PoKeys57E device by itself can be used as a 3-axis CNC motion controller and can be upgraded to 8-axis with the use of external pulse generator boards.

If you would like to know more about this device, the information is available on the product webpage: PoKeys57E.

PoKeys57CNC

PoKeys57CNCPoKeys57CNC is a PoKeys device that is specialized for the use as the CNC machine motion controller device. The device is designed to be a plug&play solution and hosts dedicated connectors for motor drivers, limit/home switches, pendant, LCD etc. It also has two integrated relays, four galvanically-isolated open-collector outputs and a galvanically isolated 0-10 V analog output.

Layout of the mounting holes, communication connectors and signal connectors allow the device to be installed with ease.

Unlike PoKeys57U and PoKeys57E, the PoKeys57CNC device comes with both USB and ethernet connectivity and the use can select which to use (see chapter below on selecting the connection type).

As is standard in PoKeys57 series devices, PoKeys57CNC device comes with an integrated Programmable Logic Controller – PoKeys57CNC can therefore take care of motion control, user interface and driving auxilary devices, which would normally require dedicated controllers.

More information on this device can be found on its product webpage: PoKeys57CNC.

 

Selecting connection type

Some PoKeys devices offer both USB and ethernet connections, while others have only one option available. We gathered the following facts to help you choose the connection type when in doubt which one to use:

  • Cable length: USB devices are limited to a combined cable length of 5 meters, while ethernet cables are limited to 100 metersin length
  • Power supply: USB devices can usually be powered directly from the USB port of the host device, while ethernet devices require an external power supply to function. If the device is connected to multiple loads and peripherals, the power from USB may not be enough and the device will require an additional power supply (as in case of PoKeys57CNC)
  • Reliability: both connection types provide high reliability and protection against electrical noise. However, since ethernet devices are galvanically isolated, the odds of ground loops are greatly reduced
  • Convenience: since most of computers have built-in USB ports, connecting the PoKeys57CNC to a PC via a USB cable is the most convenient solution. However, this requires that the computer is in close proximity to the machine. On the other hand, ethernet cable can be connected to a standard router and make the PoKeys57CNC device available to any PC in the network
  • USB only features: PoKeys57CNC device functions as a virtual USB keyboard and joystick, which can be fully configured by the user (e.g. activating the screen controls via keyboard shortcut)
  • Ethernet only feature: PoKeys57CNC device feature a built-in web interface and support for Modbus TCP (Server). Both are accessible to other devices in the network, allowing a remote  supervision of sensor values or other parameters. Ethernet PoKeys devices also support server reporting feature for uploading measured data to cloud servers.

 

The post PoKeys USB and ethernet DAQ devices – comparison appeared first on PoBlog™.


PC oscilloscope software

$
0
0

PC oscilloscope software represents a mandatory part in USB oscilloscope measurement package. Without it we cannot process and analyze data acquired by USB oscilloscope. In previous post we explained how we can use USB oscilloscope to acquire date, let’s do similar now for PC oscilloscope software.

.

USB oscilloscope connected (via USB) to PC and communicating with PC oscilloscope software

Fig. 1: USB oscilloscope connected (via USB) to PC and communicating with PC oscilloscope software

.

Figure 1 shows complete measurement package which includes USB oscilloscope for data acquisition connected to PC with installed PC oscilloscope software which displays and draws data. The software package includes device drivers for communciation with USB oscilloscope and all or even more features similar to those on classic analog oscilloscope.

PoScope4 as PC oscilloscope software

PoScope4 is a multithreaded Windows based PC oscilloscope software which enables usage of single or multiple USB oscilloscopes such as PoScopeMega1 at same time. PoScope4 offers many different data displays such as Oscilloscope, FFT, X/Y, Recorder and Logic analyzer. Displays offers features to analyze and export captured data. Logic analyzer includes logic decoder that decodes captured digital signals to various protocols such as I2C, 1-Wire and makes debugging of communication protocols easier.

PoScope4 as PC oscilloscope software with all features of classic oscilloscope

Fig. 2: PoScope4 as PC oscilloscope software with all features of classic oscilloscope

Changing settings and accessing features of Mega1 USB oscilloscope is easy via GUI included in PoScope4. Graphical user interface of such control panel is presented on figure 3.

Graphical user interface (GUI) for accessing and changing settings of Mega1 USB oscilloscope

Fig. 3: Graphical user interface (GUI) for accessing and changing settings of Mega1 USB oscilloscope

Advantages of using PoScope4 as PC oscilloscope

1. It runs on any PC equipped with Windows operating system (Laptop, Tablet etc..)
2. Includes all basic features and we are regulary adding new ones.
3. Free upgrades and bug fixes
4. Features by needs of users. Users can tell us what they need and we will implement it.

If you’re interested in PC oscilloscopes you can visit our web store and find more informations there.

 

The post PC oscilloscope software appeared first on PoBlog™.

Lowest power consumption USB oscilloscope

$
0
0

 

USB oscilloscopes in general offers really low power consumption. Low power consumption is important factor when buying an oscilloscope for two main reasons. One is definitely saving the energy and the second reason is highly connected with the first one and it’s autonomy of measurement system.

Measurement system usually represent a personal computer and USB oscilloscope. Personal computer can be desktop computer or notebook. Desktop computers are limited with mobility so let’s focus on measurement systems with notebooks and outdoor measurements.

For outdoor measurements without accessible third party power supply we have to rely on notebook battery to power up our whole measurement system. This includes notebook itself and USB oscilloscope.  To extend the autonomy and longevity of measurement system we have to provide low power consumption. For PoLabs as a manufacturer of USB oscilloscopes the only way to do that was to design lowest power consumption USB oscilloscope.

 

PoScopeMega1 – the lowest power consumption USB oscilloscope on the market

When designing PoScopeMega1 we primarily focused on reducing power consumption and keeping as many as possible features. The designing process consisted of many tests and design revisions and the whole iteration process lasted until we were really happy with it. We designed PoScopeMega1 – the lowest power consumption USB oscilloscope on the market – which draws only 60mA when all possible features are running. That means we can use PoScopeMega1 in dual channel mode, sampling at 200kS/s and 12-bit data and simultaneously run function generator. Full-speed USB transfer rate is around 1,2MBps.

Image below shows power measuring device between the PoScopeMega1 and USB port of notebook. 7-segment LED on the device shows current draw of 0.06A. The power supply voltage of PoScopeMega1 is 5V which results to max. 300mW of power consumption.

Many will ask how do we know that our USB oscilloscope has lowest power consumption on the market? We compared other similar products by measuring their power consumption with all features they offer. The results of measurements proved our assumptions.

Lowest power consumption USB oscilloscope - the measurement

Fig. 1: USB oscilloscope power consumption measurement

Conclusion

PoScopeMega1 is the lowest power consumption USB oscilloscope, function generator and logic analyzer all-in-one available on the market. It draws only 60mA thus the best choice for measurement environments which demands power autonomy and longevity. It’s especially convenient for outdoor measurements in remote places where power supply is limited and portability is very important.

PoScopeMega1 lowest power USB osciloscope on the market

Fig. 2: PoScopeMega1 lowest power USB osciloscope on the market

 

The post Lowest power consumption USB oscilloscope appeared first on PoBlog™.

Mach3 tutorial with PoKeys – first steps

$
0
0

Introduction to Mach3 tutorial

This is the first Mach3 tutorial in a series of tutorials which will help you to know PoKeys devices and how to use them with Mach 3 software for controlling your CNC machine.

The tutorials will begin with simple configurations which will describe how to setup Mach3 and PoKeys plugin properly and then advance to more complex features that the PoKeys devices provide.

Interfacing with Mach3

All of the devices interface with Mach3 software via PoKeys plugin which is the same for all of the devices. The devices use USB or Ethernet connection to connect to the computer unlike older motion controllers which use parallel port.

First you should install the latest version of Mach3. When you have completed the installation download the latest PoKeys, PoBlocks and Mach3 plugin installation package from the product webpage. The installation package can be found under Downloads section.

Mach3 tutorial 1

When the download is complete simply start the installation and follow the instructions. For the purpose of this tutorial it is recommended that you select full installation. But a minimal requirement is that you install Mach3 PoKeys plugin.

When the installation is complete you are ready to connect to your device with Mach3 plugin.

First start Mach3 software and then in menu click the Config button and the Config Plugins.

Mach3 tutorial 2

When you click the Config Plugins option a window with all of the plugins should open. Then search for PoKeys plugin and click on the red cross to enable it. It should change to a green check mark.

Mach3 tutorial 3

Now, click on CONFIG right of the PoKeys plugin name. The PoKeys plugin settings window should open.

Mach3 tutorial 4

If you have not already connected your PoKeys device to the computer you should do that now and wait for the drivers to install. If you are using ethernet connection between PoKeys and your computer (in case of PoKeys57E or PoKeys57CNC), make sure that your network settings are configured correctly.

Then click on the Add New button. Now another window will open where you will select your PoKeys device. When the device is selected, click OK and then restart Mach3.

Mach3 tutorial 5

In this example the PoKeys57U device is used, but same also applies to both PoKeys57E and PoKeys57CNC. We will use PoKeys57U in all of our tutorials, but since PoKeys57CNC has more onboard functionality that will be also covered.

Please note that if there are any problems during this process make sure you have the latest PoKeys device firmware version which can be checked and updated via PoKeys configuration software, that you have the latest Mach3 PoKeys plugin installed and the latest Mach3 version also.

Now that your PoKeys device is added you can start to configure the plugin to control stepper motors with Mach3. We will cover this in the next Mach3 tutorial.

The post Mach3 tutorial with PoKeys – first steps appeared first on PoBlog™.

PoKeys tutorial – getting started with PoKeys57CNC

$
0
0

usb cnc controller

This post is a first PoKeys tutorial in the series of the tutorials for PoKeys57CNC devices. This one will cover the basics on connecting your PoKeys device with the computer and configuring the network connection if it is used.

PoKeys57CNC is a blend between general purpose PoKeys device and a USB CNC controller. The device is targeted primarily for controlling up to 8 STEP/DIR signal driven motors (stepper motors, servo drives, etc.) in various applications with the addition of powerful PoKeys device features. Device contains dedicated connectors for connections with motor drivers, pendants, (HD44780-compatible) LCD module, etc. In addition, 5 analog inputs with 12-bit resolution are available. The device also features four galvanically-isolated open-collector outputs and 0 to 10 V analog output.

 

Installation

Follow the installation guide below to start using PoKeys57CNC device.

Requirements

In order to start using PoKeys57CNC device, the following equipment is needed:

  • A power supply (any voltage in the range from 6 to 26 V) rated at 2.5 W or more (e.g. 12 V 250 mA)
  • An ethernet or USB cable
  • A free ethernet port in your computer or router (if ethernet connection is used)
  • A free USB port (if USB connection is used)

Selecting connection type

PoKeys57CNC supports both USB and ethernet connections and allows the user to choose the preferred connection type. The following facts can help choosing the connection type when in doubt which one to use:

  • Cable length: USB devices are limited to a combined cable length of 5 meters, while ethernet cables are limited to 100 metersin length
  • Power supply: both connection types require that the PoKeys57CNC device is connected to an external power supply. However, for configuration purposes, PoKeys57CNC can be powered via USB connection if no external loads are connected
  • Reliability: both connection types provide high reliability and protection against electrical noise. However, since ethernet devices are galvanically isolated, the odds of ground loops are greatly reduced
  • Convenience: since most of computers have built-in USB ports, connecting the PoKeys57CNC to a PC via a USB cable is the most convenient solution. However, this requires that the computer is in close proximity to the machine. On the other hand, ethernet cable can be connected to a standard router and make the PoKeys57CNC device available to any PC in the network
  • USB only features: PoKeys57CNC device functions as a virtual USB keyboard and joystick, which can be fully configured by the user (e.g. activating the screen controls via keyboard shortcut)
  • Ethernet only feature: PoKeys57CNC device feature a built-in web interface and support for Modbus TCP (Server). Both are accessible to other devices in the network, allowing a remote  supervision of sensor values or other parameters

 

Using USB connection

Step 1: Locate a free USB 2.0 port oPoKeys57CNC_USBn your computer (1) and PoKeys57CNC board (2) and connect them with a standard USB cable.

Step 2: Connect the PoKeys57CNC board to an appropriate power supply (3).

Step 3: Install PoKeys software

Step 4: Open PoKeys application, connect to your PoKeys57CNC device and enable Fast USB interface (go to Settings > Enable Fast USB interface).

Step 5: Remove the USB cable from PoKeys57CNC device and insert it again. The computer will find a new device and search for drivers. See FAQ section of the manual if driver installation fails.

 

 

 

Using Ethernet connection

Ethernet connection can be used to connect PoKeys57CNC and PC directly or via router. Accessing the PoKeys57CNC device over a wireless network (employing a wireless router) is highly discouraged.

Since most network devices use IP-based communication, a proper configuration of a network is of a utmost significance. Each device in the network must have a unique IP address assigned – this has to be done manually (if using direct connection to a PC) or is done by a router with a DHCP server. PoKeys57CNC devices are designed to operate in /24 subnets (network mask of 255.255.255.0). Other network configurations can also be used, but the operation of the devices will not be optimal (reduced capabilities of automatic device discovery).

Direct ethernet connection PoKeys57CNC – PC

PoKeys57CNC_ethernet1Make sure that an appropriate IP address is assigned to a network card of your PC, that the PoKeys57CNC device is connected to. Follow the steps, described in the following guide: Change TCP/IP settings in Windows 7.

Step 1: Locate ethernet ports on your router (1) and PoKeys57CNC board (2) and connect them with RJ-45 cable (standard network cable).

Step 2: Connect the PoKeys57CNC board to an appropriate power supply (3).

Step 3: Install PoKeys software

Step 4: see below for configuration of network settings

 

 

 

PoKeys57CNC connected to a network with DHCP server

PoKeys57CNC_ethernet2If your router is properly configured, it will automatically assign addresses to your PC and PoKeys57CNC device.

Step 1: Locate ethernet ports on your router (1) and PoKeys57CNC board (2) and connect them with RJ-45 cable (standard network cable).

Step 2: Connect the PoKeys57CNC board to an appropriate power supply (3).

Step 3: Install PoKeys software

Step 4: see below for configuration of network settings

 

 

 

Configuring PoKeys57CNC network settings

Open PoKeys configuration application. A ‘Select device’ (Connect) dialog will appear, listing all available PoKeys devices that have been automatically detected. The following screen capture shows a list of 4 devices that have been detected – one PoKeys57U device, one PoKeys57E device and two PoKeys57CNC devices. By clicking on the PoKeys57CNC device entry, the device data section on the right of the dialog will show device details, including currently assigned IP address.

PoKeys57CNC_configureEthernetIn order to configure the PoKeys57CNC device network settings, click on ‘Configure’ button and the following dialog will appear, allowing you to change between automatic IP retrieval (using DHCP) or manual configuration.

PoKeys57CNC_networkSettings

Only IP address can be manually configured here since you are not yet connected to the device fully. In order to configure all network settings, connect to the device first, then open Device > Network device settings.

Autoconfiguration of the device address

PoKeys57CNC devices employ an autoconfiguration process that in case of unconfigured (or misconfigured) PoKeys57CNC device network settings, assigns a temporary address to the device so that the device can be detected by the PoKeys application and configuration updated. Such address is recognized by the last part of the IP address being equal to .250. This address must not be used during normal operation of the device.

The autoconfiguration can be disabled in network device settings dialog under ‘Advanced’ options (by checking the ‘Disable automatic cross-subnet detection’ option). If automatic device discovery option is disabled, the software will not be able to automatically detect PoKeys devices in the network and a correct IP address of the device will be needed to connect to it. If settings are misconfigured, the device can be put into Recovery mode and settings reset, as described in the PoKeys manual.

 

The post PoKeys tutorial – getting started with PoKeys57CNC appeared first on PoBlog™.

Visiting Productronica 2015 in Munich

$
0
0

We try to keep up in touch with the modern production methods and visiting Productronica 2015 in Munich has become our tradition. It’s one of the many fairs we really like to visit especially because it’s located in Munich – Charming capital of Bavaria. There are many things to see or do in Munich beside fairs and it’s always a great idea to spent few days here. Besides being a great event to extend our horizons, we also do some teambuilding, work on new ideas and discuss the issues in more relaxed environment.

Visiting Productronica 2015 in Munich

Our apartment in Neufinsing.

We stayed in apartment located in a small town Neufinsing which is located 25km NW out of the Munich. Neufinsing is a lovely small town close to the hydroelectric power plant with large reservoir within a walking distance from our apartment. Because we arrived a day before Productronica opened the doors, we had enough time to discover Neufinsing and all attractions it offers. Among all we discovered GokartArena and of course went racing to find out who is faster.

 

Having good time.

Having good time.

Following day we went to Messe Munich to visit Productronica 2015 fair. There were 8 exhibition halls and it took us almost whole day to see the most of it. However at the end of the day we had a luck with Mentor Graphics sweepstake and Aljoša won Anki Overdrive – Bluetooth racing cars. And yes, you guessed we spent the rest of the evening playing with the cars in our apartment. :)

 

Boris is trying "lead free" ice cream.

Boris is trying “lead free” ice cream.

We tried several soldering tools.

We tried several soldering tools.

Racing with bluetooth cars.

Racing with bluetooth cars.

Matevž had the best time from our team.

Matevž had the best time in our team.

Boris had a conversation with his new friend.

Boris had a conversation with his new friend.

Equipped with promotional material.

Equipped with promotional material.

The lucky winner of Anki Overdrive bluetooth driven racing cars.

Mentor Graphics sweepstake winner Aljoša received Anki Overdrive bluetooth driven racing cars.

At the end of the long and lucky day.

At the end of the long and lucky day.

Productronica 2015

Productronica 2015

Visiting Productronica 2015 in Munich – Last day

Last day, on the way home, we made a stop in Berchtesgaden Salzbergwerk – salt mine.  Many of us had visited this salt mine before but in those years many things changed and it’s always interesting and worth to visit it again. Walking through the mines and sliding down the slides can be a great adventure.

 

Salzbergwerk Berchtesgaden entrance

Salzbergwerk Berchtesgaden entrance

Before the adventure.

Before the adventure.

Lake in the salt mine.

Lake in the salt mine.

On the slide.

On the slide.

 

 

http://www.productronica.com/

 

 

The post Visiting Productronica 2015 in Munich appeared first on PoBlog™.

5 reasons to switch your CNC from LPT to USB

$
0
0

Have you ever considered switching your CNC from LPT to USB? Let us point out 5 reasons to do so and use a USB CNC controller instead of an ancient LPT port.

1. LPT ports are disappearing

Computer industry these days has no more interest in maintaining LPT port functionality. This is a legacy port that enabled communication mostly with printers over the parallel bus. Printers have now moved on to USB. Moreover, the trend nowadays is in using high-speed serial communication (USB, HDMI etc.) that improves the user experience – focusing on lighter and more manageable cables, smaller and more practical connectors.

2. Increased maintenance costs of an old machine with LPT

Other 11 Uses For An Old PC (CNC from LPT to USB)

Click on an image for other 11 Uses For An Old PC

If you own a PC with an LPT port, the maintenance of such a machine is becoming more expensive year after year. The replacement parts are usually not available anymore for purchase and scavenging other older machines brings reliability risks. If the parts are still available, they are mightly overpriced.

Stripped down version of Windows XP has been a popular choice for CNC machines. In 2014, Microsoft ended the support for Windows XP.

3. Use small, compact and fast PC to run your CNC

Intel NUC mini PC

Intel NUC mini PC

A mini PC with a pair of USB ports and monitor connector is all you need to run a CNC. You can even run the CNC machine from your laptop, what seemed to be impossible just a few years back.

4. No more glitches

Glitches happen when the PC momentarily does something else than producing continuous pulse trains. If these glitches are short, there might be no direct result. However, if glitches become larger, stepper motors may loose the position and even stop, ruining the machined object.

With external motion controllers, dedicated hardware deals with the pulse generation and glitches on the PC do not affect the generated motion.

Glitches are usually not an art, but still cost a lot

Glitches are usually not an art, but can still cost you a lot

5. Get additional I/O

USB bus allows the external motion controller to host a large variety of additional I/O peripherals – now the same device can run CNC machine motors, display information on an alphanumeric LCD, handle manual pulse generators, read additional switches, switch external loads, potentiometers etc.

With PoKeys57CNC you even get a powerful programmable logic controller built-in, that allows peripheral tasks to be automated.

 

PoKeys57CNC

Switching your CNC from LPT to USB is easy

Usually this process is simple and straight forward. Instead of connecting your stepper motor drivers to the LPT port signals, rewire them to the external motion controller board (such as PoKeys57CNC). Get more information on PoKeys57CNC – affordable USB / Ethernet CNC motion controller

PoKeys devices support Mach3 and Mach4 software via freely available plugins (can be downloaded from PoLabs homepage).

The post 5 reasons to switch your CNC from LPT to USB appeared first on PoBlog™.

Record and export data captured with USB oscilloscope PoScopeMega1

$
0
0

This article will show you how to record and export data captured with USB oscilloscope PoScopeMega1.

To follow this tutorial we need to meet requirements below:

  • we need PoScope Mega1 device. If you don’t have it you can buy it here.
  • we need PC with pre-installed Windows operating system (XP, Vista, 7, 8, 10)
  • we need to download and install latest PC oscilloscope software PoScope4 (when writting this article the most recent version was 2.5). Click here to download it.
  • we need to plug PoScopeMega1 to USB port

Here is short video about how to install PoScope4

When all requirements are fullfiled and installation process succeed we can start with the tutorial.

 

Record and export data


To record and export data with PoScope4 is really simple. In first step we run PoScope4 and open Recorder display by clickin on the Recorder icon as on image below.

record and export data

Fig. 1: Open Recorder display

Before we start recording we usually have to set up device to match the voltage divider and sampling frequency. Note that PoScopeMega1 can record up to the 200kS/s sampling frequency. Adjust the parameters for your own case. To open the GUI for PoScopeMega1 device click on the PoScopeMega1 button in the left bottom corner. 

Set up the PoScopeMega1

Fig. 2: Set up the PoScopeMega1

When you are satisfied with settings close or move PoScopeMega1 GUI away. In next step press the Record button on Recorder display (red dot icon). Settings window will pop up. You can set folder, file type, file name and comments for the destination file. File type can be PoScope4 native file or PCM (pulse-coded modulated) file. Note that PCM supports only 16 bit data format, therfore all float values are represented as 16 bit integer values. This format is useful when recording sound and when you don’t need such accuracy. In our case we will stick with PoScope4 recorder file type. Type your choices in and press OK button. If everything is set fine recording process will begin.

 Start recording

Fig. 3: Start recording

Grayed source button shows that recorder is really recording

Fig. 4: Grayed source button shows that recorder is really recording

When you recorded data you were interested in press record button again to stop recording process. Recorder will stop recording and recorded data is now stored in file you specified. Now let’s open recorded data. Click on recorder display source device (PoScopMega1) to open menu which gives some options for source data for recorder and click on Open file.

Open recorded file

Fig. 5: Open recorded file

Search for the file you recorded and select it. Recorder will open the file and switch to player mode. Major difference you’ll notice will be that in player mode overview bar and page selector are added to the top of the chart. Overview shows current content of the complete buffer. Yellow rectangle around the overview shows which part of that buffer is shown on the recorder chart below. You can modify overview’s yellow rectangle with mouse scroller (resize) and you can move it by simply dragging it arround. Data in file is organised in pages and page selector left to the overview bar let’s you choose which page from the file to load into recorder.

 Open file (Overview and page selector

Fig. 6: Opened file (Overview and page selector)

Now let’s export loaded data for further analysis. Click on the Export button on the Recorder display and Export toolbar will popup. You can select which channel to export and range. If you select Selected range then only data surrounded with yellow rectangle on the overview above will be exported. If you select Complete file then all data (all pages) will be exported. Make your selection and click on Export button located on the right.

Export recorded data

Fig. 7: Export recorded data

Save dialog will popup and you will be able to select among few different formats. For our tutorial we will export to CSV format.

Export to CSV format

Fig. 8: Export to CSV format

Note that export process can take some time to complete. Be patient, please.

Export process

Fig. 9: Export process

When export is finished we can use exported file in any third-party software for further analysis. Just as an example let’s open our exported file in MS Excel. File format is CSV and Excel can import it easily. This is true for any other software as long it supports import of selected file format.

Open exported data in CSV format in Excel

Fig. 10: Open exported data in CSV format in Excel

As you can see record and export data with PoScope4 is simple and everyone can do that. We hope this tutorial delivered enough informations about how to do that. If there are still questions you are welcome to ask it on our support web page here.

The post Record and export data captured with USB oscilloscope PoScopeMega1 appeared first on PoBlog™.


Stepper motor driver – explanation

$
0
0

What is a stepper motor driver?

A stepper motor driver is an electronic device that is used to drive the stepper motor. By itself it usually does nothing and must be used together with a controller like PoKeys57CNC.

There are a lot of different types of stepper motor drivers but in general all do the same thing – move stepper motors.

Why do I need one?

Stepper motors require voltages and/or currents that the controller simply can’t produce. Therefor we need to use a stepper motor driver. This electronic device will transform our movement instructions from a controller in to a sequence where the winding in stepper motor will be turned on or off while still providing enough power to it.

All of this can of course be produced by a microcontroller driving a few FETs but the design and the programming would take time. Thankfully there are already made solutions.

Types of drivers

In general there are two types of drivers. The constant voltage drivers (L/R drivers) and constant current drivers (chopper drivers).

  • constant voltage drivers (L/R drivers):
    • they are cheaper than constant current drivers
    • use voltage to produce torque
    • usually not efficient
    • worse performance than chopper drivers
  • constant current drivers (chopper drivers):
    • more expensive
    • more complex circuits
    • use constant current to produce torque
    • much better performance than the L/R drivers

The constant current drivers are almost always used since there are many ICs available and offer much better performance. You can find integrated circuits which already have integrated FETs, these are usually meant for lower currents (up to a couple of A) since they are small and heat dissipation could be a problem. Another type uses external FETs and the maximum current is only limited by the external FETs used.

For example the PoStep25-32 uses an integrated circuit which has integrated FETs and can provide up to 2.5A unlike the PoStep60-256 which uses external FETs and can provide up to 6 Amps.

stepper motor driver postep25-32stepper motor driver PoStep60-256

Microstepping

Stepper motors move in steps which is usually 1.8°,that is 200 steps per revolution. This can be a problem when we need small movements. One option would be to use some kind of transmission but there is also another way – microstepping. Microstepping means that we can have more than 200 steps per revolution and in turn have smaller movements. This option is already integrated in most ICs and can be configured by simply moving a jumper like on PoStep25-32.

When driving stepper motors with full steps the output of the stepper motor driver looks like a square signal and produces rough movements. The bigger the microstepping the more the output signal looks like a sine wave and the stepper motor moves more smoothly. But there is a downside to this. With increasing microstepping value the torque drops a quite lot and if the value is too great it could happen that the motor can’t produce enough torque to even turn. Usually 1/4, 1/8 or even 1/16 can produce satisfactory smooth movements while still producing enough torque.

The following image shows how the output changes when selecting different microstepping values. You can see that the output looks increasingly more like a sine wave.

stepper motor driver microstepping

So what do these values even mean?

Microstepping tells us how many micro steps should a stepper make to produce one full step. The 1/1 value tells us that the stepper must make one microstep to produce one full step (so there is no microstepping). Value of 1/2 is called a half step and tells us that the stepper motor must make 2 microsteps for one full step. This means that the stepper motor should make 400 steps for one full revolution. A value of 1/8 will tell us that the motor should make 8 microsteps for one full step and 1600 steps for one full revolution. The same principle applies for all of the microstepping values.

How to drive the stepper motor driver

Most stepper motor drivers have a step/dir input. This means there are only two signals needed for each driver. The step signal is used for making steps and looks like a PWM signal. Each pulse means that the stepper will move for one step (or microstep). The dir signal means direction and is used to signal in which direction (CW or CCW) will the stepper turn.

Conclusion

We have found out that the stepper motor driver is a must have if our design requires the use of a stepper motor since the controller can’t produce enough current and enough high voltage. There are different types but the chopper drivers offer the best performance. Also the microstepping offers a great solution at first sight but produces a problem of decreased torque. It is still extremely useful but must be used properly. There are a lot of different ICs available for driving the stepper motor and many already made solutions like PoStep25-32 and PoStep60-256 which provide plug and play solution and are easy to use.

And if you would like to learn more here is a great starting point.

The post Stepper motor driver – explanation appeared first on PoBlog™.

PoKeys update 3.1.67 released

$
0
0

We just released a new PoKeys update 3.1.67 that contains some bug fixes and new features.

New features in PoKeys update 3.1.67

PoKeys update 3.1.67 brings firmware update 3.1.67 for PoKeys56 series devices and firmware update 4.1.44 for PoKeys57 series devices.

The update can be downloaded here: PoKeys v3.1.67, PoBlocks, Mach3 plugin (30.11.2015).exe

Matrix mapping to joystick buttons now possible

It is now possible to map the matrix keyboard switches to joystick buttons. Use the drop-down menu under ‘Select pin’ in the Joystick mapping settings to select matrix keyboard switches. Upper 8×8 matrix keyboard is supported. This feature is supported in PoKeys56U, PoKeys57U and PoKeys57CNC.

Matrix to joystick

 

PoStep driver interface on PoKeys57CNC

By connecting the PoStep60-256 stepper motor drivers to PoKeys57CNC device by the use of the 10-pin PoExtension cables, one can configure the PoStep driver settings directly by using PoKeys application or PoKeys Mach4 plugin

Settings can be accessed using the new ‘Configure PoStep drivers’ button from the Pulse engine dialog (see below).

Configure PoStep

A dialog appears that allows you to configure currents, temperature limit and step mode (microstepping resolution) without the need to connect the PoStep60-256 stepper motor driver to USB.

PoStep confguration

The same settings can also be accessed directly from PoKeys plugin for Mach4 (available soon).

PoStep configuration in Mach4

 

Bug fixes

Device discovery user ID bug fixed

PoKeys57 series devices always responded with user ID of 0, making in-advance identification of PoKeys devices not possible. This is now fixed and works correctly.

False user ID reported
1-wire PoIL command (get status) bug fixed

The 1-wire PoIL system function kept returning 1-wire bus busy status. This is now fixed and works correctly.

Joystick triggered mapping fix

We discovered that the joystick triggered mapping settings did not produce correct results in the device. This is now fixed.

LCD pins protected from IO updates

Some users noticed that anomalies appeared on the LCD module if digital outputs were updated. The update command affected the LCD IO lines and introduced anomalies in the display. This is now fixed.

LCD anomalies

LCD anomalies

PoNET bus reliability update

PoNET keyboard kbd48CNC may become unresponsive in case of communication errors on the PoExtBus/PoNET. This is fixed in the latest release.

PoNET kbd48CNC

PoNET kbd48CNC

 

 

The post PoKeys update 3.1.67 released appeared first on PoBlog™.

PoKeys as flight simulator interface

$
0
0

Have you ever imagined that the same device family that is able to function as a fully fledged USB CNC controller can be used in a completely different application, like a flight simulator interface?

Look at the following flight simulator (courtesy of Beau Williamson and Christopher Link).

PoKeys as flight simulator interface in simulator by Christopher Link

Christopher Link sent us a few words on their simulator, which we included below.

We are using PoKeys as flight simulator interface to interface the F-16’s Integrated Control Panel (ICP) to the flight simulator’s computer. The ICP is the primary Human Interface used to input information into the F-16’s flight computer and it consist of a 8×7 matrix keyboard, 4-analog inputs and several discrete inputs. Additionally, we used the same PoKeys to interface 24 indicator lights and 26 discrete switches that interfaces the entire forward instrument panel. The diversity and small size of the PoKeys made it a perfect fit for this application.

 

F16 flight simulator booth, showing simulator with PoKeys as flight simulator interface

F16 flight simulator booth

 

The sophistication of this simulator is beyond amazement and requires capable flight simulator interface to bring all those auxiliary swithes, knobs and indicators into the simulated environment.

IMG_2373 (Large)

IMG_4141 (Large)

On the picture below, a test setup of a stack of PoExtBusRe relay boards and the PoKeys57U device driven ICP (Integrated Control Panel) is shown during bench testing.

IMG_3889 (Large)

 

The following two pictures show the same modules ready for the installation into the flight simulator.

IMG_3892 (Large)

IMG_3861 (Large)

You can find more information about the Christopher’s F-16 simulator at http://nflightaviation.com/

 

PoKeys as flight simulator interface – usage examples

Since PoKeys devices are highly configurable, there are numerous application possibilities for them as flight simulator interface. Let us list a few of them:

  • add switches to simulator – physical toggle switches provide a tactile feedback that increases the realism of the simulation
  • use the matrix keyboard functionality to connect a large set of buttons and/or switches to a single PoKeys device
  • use digital outputs to light the indicators
  • use rotary encoder switches to adjust the simulated instruments – quickly adjust the parameters of the radio, autopilot etc.
  • create custom joystick interfaces with PoKeys57U as a virtual joystick device – use the analog input functionality to sense the position of levers and convey this information to the simulator. The position of flaps, landing gear, trims etc. can simply be ‘digitalized’ and made available to the simulator.

 

Note that 3rd party simulator plugin is required for full input/output functionality.

The post PoKeys as flight simulator interface appeared first on PoBlog™.

Auggie – CNC machine controller software for PoKeys

$
0
0

Art Fenerty, the original author or Mach3 CNC machine controller decided to share a Christmas surprise – free demo of Auggie, an augmented CNC machine controller that supports PoKeys devices directly. This gives PoKeys devices even more usefulness.

The software supports USB CNC controllers and Ethernet CNC controllers based on PoKeys device family (PoKeys56U, PoKeys56E, PoKeys57U, PoKeys57E, PoKeys57CNC and a new compact device that is coming soon). By using our open-source PoKeysLib library, the Auggie is another proof that PoKeys devices are highly versatile, capable and developers-friendly.

Auggie - CNC motion controller for PoKeys

Introduction

Look at the following Art’s presentation video of Auggie

 

Availability of the Auggie – CNC machine controller for PoKeys

Art decided to make the alpha release of this software available as a free download at the moment. It is a part of the Gearotic Motion package that Art is working on lately. Jump to his page, look at his introduction and let your imagination come true.

Download is available at www.gearotic.com, install the Development version of the Gearotic Demo and Auggie’s icon will appear on your desktop.

Words of wisdom

This is how Art presented the software on the Yahoo group Mach1,Mach2 and Mach3 CNC

Yes, the Pokeys has an awful lot of things that can be connected, from 4wire sensors such as gravity and accelerometers to temperature… you name it. It’s C++ library was genius and made this all possible. Boris is, as are all the hardware vendors in my view, very responsive to users needs and is always expanding things,
and he’s very lucky in that he has a programmer who does amazing work.
The Pokeys connection library is the proof that the future is in open concepts of connection to my mind. So I intend to help push this ideal, as hardware has traditionally been too hard to attach to in my view.

Since its Christmas, allow me to wax on a moment as I know some of you are in relax mode and dont mind reading a bit. Auggie was begun as a way for me to get my fingers deep enough into the hardware to run a laser program to do things no controller can do at present. When I asked Boris if it’d be possible to work with them to get a PWM channel to respond to 1ms commands, he was very receptive. That made Auggie possible and I began the work.

With one excellent tester, who you likely know as YaNvrNo (Who am I to out his real name..:) ), we have built, in 8 months a framework I think can be exciting to the hobbyists who like to play with non traditional approaches. The next thing to be added to Auggie will be the global library. (Another of YaNvrNo’s better ideas…), this will allow users to exchange, trade and collect scripts. why? Why Scripts and not GCode? Well, consider for a second Conversational CNC, it pops up every once in a while as a program in which you enter commands conversationally like “MoveTo(5,5,5)”, this being easier for some folks to use than G1X5Y5Z5.

Conversational , while it arrives every now and then, never seems to take off to any degree, one of the reason I think is that one programmer cannot perceive everyone’s world or understand enough about how people work togeneralize the command structures enough for everyone. As you may see in Auggies video’s, my intent is to mix the concepts. GCode is powerful, evolved, and stable. Scripting is powerful, unstable due to being overly powerful, and growing in popularity worldwide as it crosses industries and operations to encompass many fields.

So my thought is what if a controller can understand both. What if a user can write a script named CoolFlower(radius) which cuts a cool looking decorative flower at a location. How about if he saves it, sends it to Gearotics board, and its in the next release. Can we develop a system  where the commands grow due to users
in various types of use add scripts and modify others each of which does some little thing, but in sum total do wondrous things as each script can call other scripts.. Can we end up with things like this…

g0x10Y10
{ CoolFlower( AskUser(“Radius”,1)) }
G0X20

… (I’ll bet you can intuit what the lines above do.. :) ). My plan is for a library of hundreds of such functions, as I’m pretty sure there are hundreds of people out there with a favorite trick of geometry or math that makes really nice effects. Each a possibility for a script name. Each script in the library properly attributed to its author. The YaNvrNo-Flower, the Art-FaceEngraver, the You-MakesACoolPattern scripts..

Yes, to those that say “But you can do that now. “. But though I can do it, many controller users cannot, it would require making an MCode for an operation, difficult parameter passing and hassles all around mainly using text few understand. Mach3 was very configurable and people forgave many of its bugs because of that configuration capability. Brian and Steve have created Mach4 to make a badly needed Stable operating system for CNC.
Reading the comments and sometimes heated rhetoric over the past year has solidified my thought that CNC people come in too many flavors to simply lock the box after creating a great system for the professional. Brian and his guys are innovative, but their in a locked box of required stability from which they cannot escape. They must conform to the requirements of their profession and Mach4 will not have the opportunity to experiment the way I can, so Auggie is and will be very experimental. Perhaps, as features prove themselves useful, they will be “stolen” for use in more stable and traditional programs like Mach4. Dont get me
wrong, M4 will be innovating in its own path, but in more traditional forms I suspect, where Auggie can spread out a bit and be silly and totally nonprofessional, from my garish graphics and laughable screen noises such as hearing me go “hmmmm” as it shuts down. Ive always taken heat for my outrageous displays and silly graphics, and those that like to find that funny will have lots to laugh about in the future as I get my fun on…:) ( after a one in a million EStop you may hear me intone “That will leave a mark.” for example.. ).

All of this is on purpose, as I described to my collaborator, as what I’m building I cannot describe, because I have no true idea as to its purpose, that’s up to the user. Mine will be for Lasers, so its likely that’s the most useful area at first. :), beyond that I can only pursue in the context of not knowing who will use it, and for what purpose. SO when I see a cool capability I add it, if I see graphics I can add, I do so fully with the knowledge I have no use for it and may never have one, but someone will. Somewhere, sometime, and I’ll get a kick when they tell me. :). So I guess Auggie is like a Conversational GCode group think library for creating the first CNC program to be totally open where the users as a community modify the Gcode language.., now G++Code, where users scripts become part of the lexicon.

Will this work? Christ only knows. The more people who decide to play, the better it will likely work. The larger the library gets the more useful it will become. I’m a math lab user, and when I see how useful it is for people around the world to kick in ideas and formulas in that program, Im left to think..why not in CNC.. but in the end, all I can promise is that Auggie will generate some interesting conversations, and some cool capabilities. :)

So that’s it, the first real explanation of what I’m doing, or the direction I face, it will be silly, funny, powerful and a group empowering program, something I cant possibly do alone, but Ill end up with a laser either way that does what I want, so my bases are convered. :)

Anyway, Ive waxed enough for this X Mas,
(and a Merry Christmas to all. :)

Art
www.gearotic.com

Merry Christmas to you also, Art!

The post Auggie – CNC machine controller software for PoKeys appeared first on PoBlog™.

CNC controller will now ship faster with DHL

$
0
0

Our newest top thing we salute our new shipping provider DHL Express. Now your usb cnc controller and usb oscilloscope won’t get lost in the mail, broken and arrive in decent time. This is most crucial for all the users who have deadlines and cannot effort for a package to get lost. You can easily track your package, wait for it to arrive and start working on you project immediately.

PoLabs DHL shipping

For example. The DHL is almost 80 percent faster then local postal service and faster then express delivery providers. It also delivers in the cuontries that for some reasons have not been reachable due classical postal service.

DHL Advanced tracking system for shiping your usb cnc controller to your doorstep

The other top-notch feature is the most accurate tracking system in the world. This allows you to track your parcel shipment at any time at point events shipments (time and place of the pickup, status of the shipment).

DHL tracking

You can also use DHL ProView (link na dhl pro view) shipping monitoring that offers real-time shipment monitoring and automatic notifications via email or text for all of your express deliveries. This way your goodies wont get lost and will arrive on time.

DHL proview for your usb cnc controller

The post CNC controller will now ship faster with DHL appeared first on PoBlog™.

PoScopeMega1 as logic analyzer

$
0
0

Logic analyzer is an electronic measurement instrument, capable of capturing and displaying multiple signals from a digital circuits. With this powerful tool you can observe many digital signals at the same time and perform exact time measurements. It is useful for various tasks in electronics design, testing and repair:

  • analyze timing errors,
  • verify timing diagrams,
  • observe timing relationships among many signals,
  • decode the information on buses,
  • view state machine traces.

PoScopeMega1+ as logic analyzer

With PoScope Mega1+ you can simultaneously display, capture and analyze up to 16 digital channels varying from 0 to +5V. There are two ports (Port A and Port B) and each supports up to 8 signals. The pinout of DB25 connector from the back of the PoScopeMega1 is on the image below.

Logic analyzer pinout

Logic analyzer pinout

 

For this example we used our PoKeys I/O device. PoKeys is a powerful little device with extensive amount of functions. You can program it with easy-to-use graphic tool, the PoBlocks. We used PoProbe to tap into its outputs, also available in our web store.

PoScopeMega1 as logic analyzer

PoScopeMega1 as logic analyzer

 

Open  Logic Analyzer display by clicking its icon in the Displays tab of PoScope4 software:

Open Logic analyzer display in PoScope4

Open Logic analyzer display in PoScope4

 

Below you can see an example of displaying digital ports of a PoKeys input / output device. As in oscilloscope mode, you can click Analyze button to closely view the captured data.

Visualized signals in logic analyzer

Visualized digital signals

 

When you’re in Analyze mode, use the yellow selector above to select the part of captured data for even closer observation. Resize the yellow selector with scroll wheel and drag it to the point of interest.

Logic analyzer in Analyze mode with Overview window open

Analyze mode with Overview window open

 

On the right side of the Logic analyzer display you will find 2 tabs. Under measurements you will find width, frequency, period and duty cycle. Values will change as you hover over the chart and signals.

Logic analyzer measurements panel

Logic analyzer measurements panel

When done, you can hover mouse over the part of the certain waveform on the chart to see additional measurements.

Hover your mouse over the signal to see fast measurements

Hover your mouse over the signal to see fast measurements

You can export the data selected in overview window to an external file in different data formats.

Logic analyzer export settings

Export settings

 

Additional informations

If you’d like to read more about how to decode I2C protocol please click HERE.

Users can get more general informations about logic analyzers on link HERE.

More informations about USB oscilloscope PoScopeMega1.

The post PoScopeMega1 as logic analyzer appeared first on PoBlog™.

Decoding I2C protocol with PoScopeMega1

$
0
0

Decoding I2C protocol

Inter – integrated circuit (I2C) simplifies the hardware part of electronic devices. It consists of only 2 wires. One is used for clock synchronization, the other one is for data transfer purposes. On each I2C bus you will find one master and multiple slaves. Most I2C busses work on frequencies up to 100 kHz, which can go higher if needed. I2C mostly uses 7-bit addresses which are actually 8-bit because the first bit describes whether the Master is reading or writing to the slave address. Mega 1 has the ability of decoding 8 I2C busses. Each bus can hold up to 128 devices, therefore the PoScopeMega1 can connect up to 1024 devices. This tutorial will explain the process of decoding I2C protocol with PoScopeMega1.

*Decoding of UART, SPI, 1-WIRE will be available soon as a free upgrade.

Decoding I2C protocol with PoScopeMega1

To see how I2C decoder works, you can use our PoKeys controller, connect it to PoSensors board and tap into the clock and data lines of i2c bus. They can be connected to any input of the logic analyzer port.

Decoding I2C protocol

Decoding I2C protocol

To decode an I2C protocol with PoScopeMega1 open  PoScope 4 application. With PoScopeMega1 set to digital mode and logic analyzer display open, click the Analyze button. In order to assure quality measurements, note that sampling rate has to higher than the signal frequency / bus clock rate. I2C is by default 100kBits/s (different speeds are supported) so we suggest you to setup sampling frequency to 500kS/s and set PoScope4 for capturing. After a second or so (so the buffers will be full) press Analyze button to switch to analyze.

Use the overview yellow selector and mouse scroller to select part of data for analysis and decoding. Pin that has most dense pulses is usually the clock. The second pin is data. You can also rename Pin by double-clicking its name.

I2C decoder clock (SCL) and data (SDA) lines

I2C decoder clock (SCL) and data (SDA) lines

To start decoding I2C protocol, click the + button on the I2C pane under Decoders tab to add I2c decoder.

Adding I2C decoder

Adding I2C decoder

If you name your pins as I2C standard names (SCL, SDA) the decoder settings window will automatically recognize lines and use them for decoding otherwise you have to manually select pins for data sources.

I2C Settings window

I2C Settings window

 

Right panel with I2C decoder

Right panel with I2C decoder

Under the View, you can select how you want to display decoded data on the signal line:

  • HEX – show hexadecimal value ,
  • DEC – show decimal value,
  • CHAR –  show ASCII char
  • BIN – show binary representation of the value.

There are available also some other combinations such as HEX & CHAR and DEC & CHAR. All decoded data will be visualized on the data signal in chart. Additional signal measurements can be shown in the right side panel or as a hint when you hover the mouse cursor over the decoded I2C data. If you hover your mouse over the decoded item, hint will show its full content and description if available.

Decoded I2C data in Logic analyzer display

Decoded I2C data in Logic analyzer display

I2C decoded data consists of:

  • The start bit,
  • Master read initialization,
  • The address master wants to read from/write to,
  • The acknowledge bit,
  • The transferred data and
  • The stop bit.

There is short video to explain how to decode I2C protocol with PoScope4 and PoScopeMega1.

This tutorial explained and demonstrated how easy is decoding of I2C protocol with PoScopeMega1 logic analyzer. If you are interested in PoScopeMega1 logic analyzer  you can read more about it here.

The post Decoding I2C protocol with PoScopeMega1 appeared first on PoBlog™.


Mach3 setup tutorial – first movements

$
0
0

Mach3 setup tutorial summary

This Mach3 setup tutorial will show you how to connect everything together and how to configure the PoKeys plugin so you can move your CNC.

You can find the previous Mach3 setup tutorial here.

Connecting everything together

First you must connect the stepper motors to the drivers. This first step is chosen first intentionally so that you can’t power up the stepper motor driver, without connected motor, by accident.

The stepper motors usually have 4, 6 or 8 wires. In this example we will use SY60STH86-3008 stepper motor and PoStep25-32 stepper motor driver.

As you can see from the datasheet the stepper motor has 8 wires, which we have to connect. We connect them to the driver with the help of this table:

Mach3 setup tutorial - table

The last column will tell you, which wires to connect together and which ones go to the driver.

If you have different stepper motor and/or driver you should check their documentation to determine the correct connections. And if you would like to know more about how stepper motors work, you can start reading here.

Next we will connect the driver to the controller. For the controller we will use PoKeys57U. As shown in the documentation of both products, we connect them with the help of the following pictures:

Mach3 setup tutorial - connections

Now you can power up the stepper motor driver since it has the motor connected. Remember to never apply power to the driver without connecting the stepper motor first.

Configuring Mach3

First we will configure Mach3. To get to the motor configuration window, click on the »Config« menu the then select »Motor tuning«. A new window should open. Select the axis you want to configure by pressing on the axis button.

Mach3 setup tutorial - motor tuning 1

There are a couple of different options we will configure.

The “steps per” tells us, how many steps should a stepper make to move it a given unit. If you use mm, that means 1 mm, and for inches, that means 1in.

To calculate this, there is a great excel sheet found here. Just input the values and you should get the right value. You can also leave the value as is, since there is another option described later.

The velocity and acceleration should be low for this part so we have enough time to press the emergency button if the machine is about to hit something. These values can then be changed depending on your machine to give it greater maximum speed and acceleration if desired.

When done, click the »SAVE AXIS SETTINGS« button and repeat the configuration for all of the axis used. When done, click OK.

Mach3 setup tutorial - motor tuning 2

Configuring PoKeys plugin for Mach3

Now we also have to configure the PoKeys plugin. To do that, open the PoKeys plugin configuration. Click on the »PlugIn Control« menu and then select Configure PoKeys. A new window should open, and there click on the Pulse engine settings tab.

If there are any problems  so far please redo the previous Mach3 setup tutorial.

For this example we will use the integrated 3ch pulse engine, so we select this option on the Pulse engine configuration window. For other options you must use PoKeys57CNC or PoExtBusOC16.

Mach3 setup tutorial - plugin1

If you have not done that already, you should wire an emergency button to the PoKeys before continuing. If it appears that your Emergency switch is pressed even if it isn’t, than you can check the Invert emergency stop input option.

Mach3 setup tutorial - plugin2

Next set all of the limit switches to Disabled, as we will configure this in the next tutorial.

To check if the PoKeys plugin has been configured correctly, click on the PoKeys mapping tab and see if the Pin functions are properly configured.

Mach3 setup tutorial - plugin3

Different PoKeys devices use different pins for this function, so the pin mapping may not be the same as in the picture.

Testing configuration

If you have done everything correctly you should be able to move your CNC by pressing the keys on your keyboard. To move your CNC on X or Y axis you should press the arrow keys, and to move the Z axis you should press the page up or page down key.

If the motors don’t spin please recheck the connections and proper configuration of the Mach3 and PoKeys plugin.

It is possible that the stepper motor moves in the wrong direction. There are two possible ways to correct this. You can do it in Mach3 or change the connection to the driver.

To change the direction in Mach3 click on the »Config« button in the menu, and then click on the »Homing/Limits« option. A new window should open. Here you should see a reverse option for each of the axis. To change the direction, simply click on the reverse option for the axis you want to change the direction.

Mach3 setup tutorial - reverse direction

Another way is to rewire the stepper motor connection to the driver. This can be done by reversing the connections to one winding. For example you should switch the wires connected to the A and A’ terminals or B and B’ terminals. If red wire is connected to A and blue to A’, you must connect the blue to A and red to A’ to reverse direction.

In one of the previous steps we had to manually calculate and input the »step per« value. This can also be done automatically in Mach3. The best way is still to manually calculate it, because there can be errors due to measurements. But this feature is still useful for checking your calculations. Please make sure that you are ready to press the emergency button in case the machine should hit something since the limit switches have not been configured yet. I recommend that you move your machine to the center before starting the calibration.

To start the calibration click on the Settings tab (or access it by pressing Alt key and then 6). In the lower left corner, above Reset button there should be a »Set Steps per Unit button«. Click on it and follow the instructions. When done, Mach3 will provide you with a new Step per Unit value. If it is about the same of what you calculated, you do not have to accept it, since your calculations are correct. If not you can either accept the new value or recalculate it yourself.

Mach3 setup tutorial - steps per 1

Mach3 setup tutorial - steps per 2

Mach3 setup tutorial - steps per 3

Mach3 setup tutorial - steps per 4

Mach3 setup tutorial - steps per 5

Conclusion

If you have done everything correctly you should now be able to move your CNC machine from the keyboard and even actually use it to make something. However I don’t recommend using a machine without the limit switches properly configured. We will cover this in the next Mach3 setup tutorial. If your CNC machine isn’t moving, please retry all of the steps from this Mach3 setup tutorial.

If you think that your machine can go faster or is maybe too fast and the stepper motors are losing steps simply adjust the Velocity and Acceleration options in the Motor tuning configuration.

The post Mach3 setup tutorial – first movements appeared first on PoBlog™.

RC simulator interface – PPM signal decoding

$
0
0

Some users asked us to implement the support RC simulator interface, that would decode the data from a general purpose R/C (remote control) receiver in order to control outputs of the PoKeys device and/or allow the PoKeys device to be used as RC simulator interface. Allow us to present how easy is to use PPM sum signal decoding functionality, built-into PoKeys57 series devices.

R/C PPM sum signal

R/C systems for model planes, ships, cars etc. transmit the signal from the hand-held operator device (R/C transmitter) to a receiver, attached to a model (R/C receiver). To allow a good control over the model, multiple commands (servo channels) must be controlled at the same time – some systems support 3, 4, 6 or even 8 (or more) servo channels. This allows the model airplane pilot to control airplane’s elevator, rudder, ailerons, flaps, landing gear, airbrakes, lights etc. Each servo channel controlled the attached servo motors by the use of the PWM (pulse-width-modulated) signal, where the width of the periodically occuring pulses defines the servo arm position.

Before the rise of the digital transmission schemes in R/C transmitter and receivers, data for all servo channels had to be transmitter over a single wireless link, requiring all servo channel signals to be joined into one stream of pulses using PPM (pulse-position-modulation). Transmitter would encode the servo channel signals into PPM sum signal, then send it over wireless link. R/C receiver would then receive this stream of pulses and decode it by splitting it into the multiple servo channels (see the illustration below).

PPM sum signal decoding

PPM sum signal decoding (source: http://www.pabr.org/index.en.html)

The rise of the PPM sum signal usage was advocated by the autopilot systems that appeared in mass market about 2010. When using autopilot system, the R/C pilot is not controlling the aircraft control surfaces directly, but via a processing system of a autopilot. Signals from the receiver must therefore be router first to autopilot and then to different servo motors on a model. Wiring between the R/C receiver and the autopilot box is much simplified if only PPM sum signal is connected, allowing the autopilot software to decode information of all servo channels at once.

Even though digital R/C systems are now predominantly used in the R/C hobby, the same PWM signals are used to control the servo motors on models. Multiple digital R/C receivers therefore support outputting of PPM sum signal in order to be used with systems, that can decode and use it.

Decoding R/C PPM data with PoKeys device – RC simulator interface

PoKeys57U and PoKeys57E devices are capable of decoding the PPM sum signals, then use this information in PoBlocks. In this example, we will take a look on how this can be used to fly a model airplane in a computer simulation environment using the standard R/C equipment, making PoKeys a very capable RC simulator interface.

Preparing the receiver

The receiver we had laying around did not officially support PPM sum output signal. Nevertheless, the signal was found in one of the internal signals and routed out instead of servo channel 1. If one uses a receiver that already supports PPM sum signal, this step can be omitted.

Corona R/C receiver modification - PPM sum

Corona R/C receiver modification – PPM sum

Connecting the R/C receiver and PoKeys device

The connection between PoKeys57U (or PoKeys57E) device is simple – connect receiver’s ground to PoKeys’s GND pin, receiver’s power supply to PoKeys’s 5 V pin and the PPM sum signal to pin 3 (PoKeys57U) or pin 24 (PoKeys57E).

PoKeys and RC receiver connection for RC simulator interface

PoKeys and RC receiver connection

Enabling the PPC decoder in PoKeys device

Activate the R/C transmitter and open PoKeys configuration software. Under Peripherals > PPM decoder, PPM decoder can be enabled in PoKeys device. The progress bars display received signals, in this case, all 8 channels are active.

Decoded PPM signal

Decoded PPM signal

The following image shows the status of RC transmitter’s outputs. It can be seen that the signals are correctly decoded:
-100 % on the transmitter equals to 1.09 ms wide servo channel pulse
+100 % on the transmitter equals to 1.9 ms wide servo channel pulse
0 % on the transmitter equals to 1.47 ms wide servo channel pulse

PoKeys receiving R/C signals

PoKeys receiving R/C signals

Using the decoded PPM data

Now, the decoded PPM data can be imported into PoBlocks, processed, then exported as USB Joystick data. In the example, we’ll also display the axes values on the LCD screen.

RC simulator interface example using PoKeys

RC simulator interface example using PoKeys

 

The example project contains three important sections – import of PPM signal values, signal remapping and joystick override. There is also a PWM output block for setting the LCD display contrast voltage and LCD UI block for displaying the received data.

Application in PoBlocks

Application in PoBlocks

Download PoBlocks example: RC_receiver_PPM.xml

PPM signal values

PPM signal values are imported into PoBlocks using the Custom PoIL code block. Code can be edited by double-clicking on the blue block:

PPM decoder - PoIL code

The left side defines the inputs and outputs of the PoIL block. In this case, we have eight 32-bit outputs. On the right side, the PoIL code of the block is given. In this example, the values are copied from PPM decoder registers to block outputs. The register addresses are given in the PoIL.pdf document (in PoKeys installation folder) under memory organisation topic (the table below is from that manual). PPM decoder values start at address 0x0610, are word-type (16-bit signed integer) and are read-only. To read the register, LOAD Wh610 command is used – LOAD instruction loads the working register with the value given by the operand. Operand Wh610 indicates that this is a Word (16-bit) register at hexadecimal address of 610 (0x0610). The STORE out1 in the next line stores the value to the output port of the block.

PoIL: PPM and joystick registers

PoIL: PPM and joystick registers

Signal remapping

PPM signal is decoded into multiple channels of PWM servo signals. Each decoder channel’s value indicates a width of the pulse, given in 40 ns (nanosecond) units (default high-resolution time unit in PoKeys devices). The neutral servo state (center) is usually defined by a pulse width of 1.5 ms (millisecond) – in terms of PPM decoder values, it has the value of 1,5 ms / 0.00004 = 37 500.

In order to make sense of these values, the signal rescaling block is used to remap the values from the [27000 – 47000] interval to [0 – 4095], which can be directly fed to PC as 12-bit joystick data.

Joystick override

Another PoIL block is used to present the decoded and remapped PPM signal data as USB joystick axes movement. PoKeys57U device represents itself as multi-axes USB joystick device with each axis having 12-bit resolution (this is why we had to remap the signals in the previous step). By default, joystick is configured in PoKeys configuration application, where analog inputs of the PoKeys device can be mapped to individual joystick axes.

However, in this example, PPM signal data should be used to set the USB joystick axes values. As can be seen in the registers table above, registers 0x0630-0x0635 contain joystick override flags. These are registers that can be accessed as a Byte or bit register. Register at address 0x0630 contains bit-mapped joystick axes override flags. To override the axes 2 (x-axis), 3 (y-axis), 4 (z-axis) and 5 (throttle), bits 2-5 must be set in this register. This is done by writing a hexadecimal value of 0x3C (00111100 in binary) to the register 0x0630 using the commands

LOAD DL[h3C] # Load literal hexadecimal value of 0x3C to working register
STORE Bh630  # Save the working register to 0x0630 joystick axis override flags register

Override_Joystick_PoIL

The block has 4 input declarations (hence displaying 4 input ports in PoBlocks). The in1 (first input) should be mapped to joystick’s x-axis. Since this is axis 2 of the PoKeys device, the value of input 1 must be saved to axis 2 register at address of 0x0644. Each value is of 16-bit word type, therefore 0x0640 is the address for the axis 0, while 0x0642 is the address for the axis 1. Similarly, values of inputs 2, 3 and 4 are mapped to registers 0x0646, 0x0648 and 0x064A, respectively.

Testing

Once the R/C transmitter is activated, PoKeys will start functioning as RC simulator interface, allowing the use of various PC simulators with the standard RC receiver. One can fly in the virtual environment with the same equipment as in reality, allowing the pilot to use the interface he/she is accustomed with.

However, the received PPM signals can also be additionally processed in PoBlocks, allowing the user to activate and control different loads with a remote control – the signals can be evaluated and used to drive digital outputs, PWM outputs etc. of the PoKeys device.

The post RC simulator interface – PPM signal decoding appeared first on PoBlog™.

PoKeys update 4.1.58 released

$
0
0

PoKeys update 4.1.58 was just released with a few new features for PoKeys devices.

New features in PoKeys update 4.1.58

We changed the PoKeys update versioning scheme. We try to release both software and firmware for PoKeys devices with the same versions in order to improve the user experience. Until now, we based our versioning on PoKeys56 series device family that matured and are now being slowly replaced by PoKeys57 series devices. We will still keep the important updates for PoKeys56 coming to our users, but the development is now focused on PoKeys57 series devices that share the same firmware. For a while, updates to the PoKeys57 series firmware were made available as subversions (you may have noticed updates from 3.1.68a to 3.1.68i), which did not really fit into our idea of updates.

So, we jumped from 4.1.68i to 4.1.57 and now we present the update 4.1.58, which is available for download here: PoKeys v4.1.58, PoBlocks, Mach3 plugin (13.3.2016).exe

If you’re using Mach4, don’t forget to download the latest Mach4 plugin here: PoKeys Mach4 plugin 7.25.0.2914 + manuals (13.3.2016).zip. We included an updated manual for Mach4 with all new features described. We will be working on providing Mach4 tutorials for the beginners and advanced users.

What’s new in 4.1.58?

The update 4.1.58 brings some interesting new features to Pulse engine functionality

Homing algorithm customization

We received requests to improve the homing functionality of PoKeys devices and now we are presenting customizable homing algorithm. The algorithm now also supports homing using encoder index signal. Using encoder index for homing together with the updates in the synchronisation between external pulse generator and Pulse engine, PoKeys devices can now home extremely precisely.

The algorithm is based on executing selected actions on different events:

  • On Home event (home switch contact is detected) – this event happens when the machine touches and activates the home switch (configured in the options above)
  • Out Home event (home switch contact is released) – this event happens when the machine backs off the switch or gets past the home switch.

On these two events, the combination of the following actions can be configured:

  • Stop and reset the position (8) – this action marks last position as home position and commands the motion to stop. It also finishes the homing procedure for the axis
  • Arm the encoder index for stop (4) – this action arms the encoder index input for the selected axis. On the next encoder index signal, the position of the axis is marked as home, axis is commanded to stop and the homing procedure for the axis is finished. Fast encoders index inputs 1, 2, 3 (pins 9, 10 and 11 on PoKeys57CNC and 9, 11 and 27 for other PoKeys devices) are used for axes 1, 2, 3, while ultra fast encoder index input is used for axis 4.
  • Reverse direction (2) – reverse the homing direction
  • Slow down (1) – slow down the homing speed to the reduced speed, as configured

Let us present some examples of the homing algorithm configuration – mode byte describes the actions of the ‘out home’ (first number) and ‘on home’ (second number) using the action codes above.

Default (mode 0x83): Slow-down and reverse on home, stop and reset position on home release

This mode was the default homing mode in PoKeys devices and is used when no valid configuration has been specified.

Homing algorithm - mode 0x83

Homing algorithm – mode 0x83

Forward home (mode 0x81): Slow-down on home, stop and reset position on home release

This mode differs from default mode 0x83 in the fact that the motion continues in the same direction with the reduced speed

Homing algorithm - mode 0x81

Homing algorithm – mode 0x81

Encoder index based reverse (mode 0x43): Slow-down and reverse on home, arm encoder index on home release

This mode starts similarly to default mode 0x83, but arms the encoder index input on home release. When next encoder index event is detected, homing is stopped and position is reset. One can also configure the encoder arm action on the ‘on home’ event, which will arm the encoder together with slow-down and direction reversal.

 

Homing algorithm - mode 0x43

Homing algorithm – mode 0x43

Encoder index based forward (mode 0x41): Slow-down, arm encoder index on home release

This mode is similar to previous (mode 0x43), but without the motion reversal. Encoder can be armed either on ‘on home’ or ‘out home’ events.

Homing algorithm - mode 0x41

Homing algorithm – mode 0x41

 

Input filters for home and limit signals

PoKeys device can now filter home and limit signals in order to deal with the electrical noise in these signals. The filter period is configurable from 0 to 25.4 ms in 0.1 ms steps.

Digital filter for inputs

Digital filter for inputs

Chargepump output pin selection

PoKeys generates 5 kHz chargepump signal when the Pulse engine is in specific states (some states can be additionally enabled besides ‘Running’). This signal can be used to enable power to motor drivers. The idea is that the power supply to the motors is cut-off if motion controller hangs. PoKeys devices used a predefined pin for the chargepump output functionality, but we decided to make this configurable in order to support various machine configurations and new PoKeys devices.

Fast encoder index inputs on PoKeys57CNC

PoKeys57CNC device did not support fast encoder index input signals due to a limited number of available general-purpose pins. In order to support homing on encoder index, three pins have been defined on the Pendant connector – PoKeys pins 9, 10 and 11 (instead of 9, 11 and 27, as were used in PoKeys56 and other general-purpose PoKeys57 series devices).

 

 

The post PoKeys update 4.1.58 released appeared first on PoBlog™.

Happy Easter and PoKeys57CNCdb25 announcement

$
0
0

It’s Easter time and we have a new product to announce – PoKeys57CNCdb25. As its name suggests, it is a PoKeys57CNC in a smaller package, a package that allows it to be directly connected to a DB-25 connector of your old CNC machine.

One would think that PoKeys57CNCdb25 is only a USB to parallel port converter, but the truth is far off. It is a fully fledged PoKeys device and is fully integrated into Mach4 plugin.

Here are the highlights:

  • Up to 4 axes are supported – we analyzed the most frequently used pinouts of the DB-25 connectors on CNC machines and made PoKeys57CNCdb25 compatible with them. There are two alternate settings – step signals on pins 2, 4, 6 and 8 in default configuration or on pins 3, 5, 7 and 9 in alternate configuration. See the pinout illustration below.

 

 

PoKeys57CNCdb25 pinout

PoKeys57CNCdb25 pinout

  • Total of 12 digital outputs (4 of those support PWM output) and 5 digital inputs
  • Step frequency of up to 125 kHz
  • Comes with ~1.7 m USB cable
  • It’s a PoKeys device – there are frequent firmware updates that bring new features. It uses the same communication protocol and is directly supported by other 3rd party applications

PoKeys57CNCdb25 setup

Setup is made really simple. Install latest PoKeys setup package (available at www.poscope.com under product download section). We suggest updating the firmware using PoKeys software – simply connect the PoKeys57CNCdb25 to your PC and start PoKeys application. After the update, close PoKeys software since all configuration is done in Mach4 directly.

Configuring PoKeys57CNCdb25 in Mach4

PoKeys plugin for Mach4 is also available as a free download and it comes with an updated manual. Plugin requires that the Microsoft Visual C++ Redistributable Package 2010 x86 is installed.

Copy the Mach4PoKeysPlugin.m4pw and Mach4PoKeysPlugin.sig into Mach4’s plugins folder, then connect the PoKeys57CNCdb25 to your CNC using the DB-25 connector and connect PoKeys57CNCdb25 to your PC via USB (if not done earlier).

Let’s go through the steps below on how to configure your new PoKeys57CNCdb25 device in Mach4. Start Mach4 and create a new profile.

Mach4 profile selection for PoKeys57CNCdb25

Mach4 profile selection for PoKeys57CNCdb25

Select the new profile and start Mach4 by clicking OK. Mach4 will notify you that there is no motion controller device present. Since the PoKeys device hasn’t been configured yet, this is completely normal. Click on Cancel and wait for Mach4 to finish loading.

Mach4 telling there is no motion device

Mach4 telling there is no motion device

Once Mach4 screen is loaded in the background, start the new device configuration by opening the new device wizard as suggested by the PoKeys plugin welcome screen.

Wait Mach4 to load completely

Wait Mach4 to load completely

The wizard guides you through configuration of the PoKeys device. The most common device configuration options are directly configurable in the wizard.

Start new device wizard

Start new device wizard

PoKeys plugin for Mach4 supports multiple PoKeys devices at a time (one with motion controller enabled). It automatically detects unconfigured PoKeys devices and presents them in the list of available devices. Find your new PoKeys57CNCdb25 device and continue.

Select PoKeys57CNCdb25 device from the list

Select PoKeys57CNCdb25 device from the list

In the next step, custom device name can be assigned to the new PoKeys device. We suggest avoiding using special characters and spaces in device name, since this name is used in Mach4 to identify your device. You can select the type of the motor drivers, swap the function of step/direction pins and enable 5 kHz charge-pump output. Since the device has limited number of pins, some features (like LCD and pendant support) are not available.

Select options for PoKeys57CNCdb25

Select options for PoKeys57CNCdb25

The wizard then enables you to select your machine switches configuration. You are free to select one of the available options or use a custom configuration. If selecting custom configuration you will have to configure the switches in the PoKeys device configuration later on.

Configure switches

Configure switches

Once the configuration using the wizard is complete, device configuration dialog will open. At this step, we suggest restarting Mach4 in order for it to acknowledge new device.

Restart Mach4

Restart Mach4

Since a blank profile was selected in the beginning, no axis mapping is present. Axis mapping tells Mach4 how each of the 4 motors is positioned. Open Mach4 configuration dialog and switch to axis configuration page.

Open Mach4 configuration

Open Mach4 configuration

The following image shows the default configuration – motor 0 is mapped to axis x, motor 1 to axis y etc. Adjust motion parameters next.

Configure axis mapping

Configure axis mapping

At this step, device configuration is complete. We wish you to enjoy using your PoKeys-alized CNC.

Use your CNC machine

Use your CNC machine

PoKeys57CNCdb25 can be directly connected to a DB-25 connector on the CNC machine or an extension cable can be used if it simplifies the routing and reduces the strain to the connector, as shown below.

PoKeys57CNCdb25

PoKeys57CNCdb25 during testing

The post Happy Easter and PoKeys57CNCdb25 announcement appeared first on PoBlog™.

Mach3 limit switch tutorial with PoKeys

$
0
0

About Mach3 limit switch tutorial

This Mach3 limit switch tutorial will help you to setup all of the switches that can be used on your CNC machines as well as any options that are also connected to the safety of your machine.

You can find the previous tutorial here.

More about limit switches and switches in general can be found by clicking on link.

Why use limit switches?

Limit switches are important for safety of you and your machine. Besides emergency switch (or E-stop for short) these are meant to immediately stop everything and also signal the controller that state. Limit switches can be position on either positive, negative or both sides of the axis travel on your CNC machine. On some machines, limit switches can also be used for homing the machine, eliminating the need for an additional switch.

Different PoKeys devices have different pins designated for E-stop so read the manual to find out which pin is used in your case. This Mach3 limit switch tutorial will cover all of them as all of the PoKeys devices are configured the same way.

E-stop

Emergency stop switch is the one that assures the safety for the operator. If this switch is pressed, the machine must not move. Also, if something goes wrong during operation it is crucial that you have at least one in the reach of your hand. It is not uncommon that there is more than 1 E-stop on larger machines. In this case, all switches are wired in series – activating one of them will trigger the emergency stop.

The switch should lock when pressed and cut power to the machine without affecting the controller. For this case either special emergency relay or E-stop with two terminals is required, one NC (normally-closed) through which the machine is powered and one NC (normally-closed) or NO (normally-open) that signals the controller that an error occurred and the E-stop has been pressed. The E-stop should be properly wired. An example for one E-stop switch is shown below.

Mach3 limit switch img1

PoKeys plugin has E-stop switch mapped to the default input. In case that Mach3 shows the E-stop is pressed even if it isn’t, check the type of your E-stop switch. If you are using a NO (normally-open) switch you can go to PoKeys plugin, click on “pulse engine settings” and select “invert emergency stop input”.

Mach3 limit switch img2

Now if you press the E-stop you should see Mach3 detect the press and you shouldn’t be able to move your machine. The ‘Reset’ button will automatically start blinking, displaying the emergency state.

Mach3 limit switch img3

Limit switches

This part will cover Mach3 limit switch configuration in positive and negative direction. Homing switches will be covered in the next chapter.

Limit switches are not crucial for the operation of your machine but are a good safety feature to have. Although these can be to some extent replaced by soft-limits, the hardware switches can prevent damage to your machine in unpredicted operation. Soft limits are machine borders determined in software and will be discussed later in this Mach3 limit switch tutorial. Even if you do have soft limits setup, limit switches will provide additional protection to your machine.

Limit switches are mounted at the ends of the machine travel, but so, that, when the machine hits the switch, it still has room to stop before crashing.

This switches can be wired in many different ways. Most common ones are to have NC switches wired in series, NO switches wired in parallel or if the controller has enough inputs, to wire each switch separately. Another option is to wire all of the switches on one input and the software will, depending on the axis moving and the direction, determine which switch was pressed, but I recommend to use separate input for each axis.

An example of two most common connections are on this picture:

Mach3 limit switch img4

To enable limit switches in Mach3, open PoKeys plugin configuration and go to pulse engine settings. Here you can select on which pin your limit switch is connected. And if Mach3 shows that the limit switch is active, even if it is not, you have the option to invert it (if NO switches are used). When you configure the input pin, if the square is red that means that the switch is active, and if it is not if should be inverted.

In this example only X-axis was set. We used two NC switches wired in series. Since one signal is produced from such wiring scheme, only one of the Lim+ or Lim- should be configured.

Mach3 limit switch

To test if your switches are working you can go to Mach3 diagnostic tab (or press Alt and 7). Here you can see if the switch is pressed or not.

Mach3 limit switch img6

Homing switches

Homing switches are a useful feature if you want your machine to constantly have the same absolute coordinates. They can be mounted anywhere on the machine and can also be shared with limit switches. To configure them follow the same steps as in the above (Limit switches) example.

Once they are setup you can home your machine. This means, that the machine will move in the specified direction until it hits the home switch (or limit switch if they are shared) and it will then know its exact location.

To setup homing procedure click on Config menu in Mach3 and then on Homing/Limits. A window will open where you will configure the procedure.

Mach3 limit switch img7

This dialog is used to configure the axis coordinate system and homing procedure. The ‘Reversed’ option inverts (reverses) the axis direction in general. Checking this will make the machine move the opposite way. By default, homing procedure starts by machine motion in negative direction (towards negative coordinates) – if positive direction is required, check the ‘Home neg.’ field. “Home Off.” sets the home switch offset. For example if your home switch would be in the middle of the machine (100mm from the edge) and you wouldn’t want to have coordinate 0 there, but 100 you would setup this value to 100. The “speed %” sets the homing speed in % of your velocity. I recommend that this value is low so the machine doesn’t accidentally crash when homing.

Soft limits

Soft limits act like limit switches the only difference is, that they are defined in software (Mach3) and don’t need actual switches. It is recommended that you have homing switches properly setup before you configure the soft limits. The soft limits will only work if the machine is properly initialized (homing procedure is completed) and limits are defined.

To setup soft limits open the same Homing/Limits window as in the previous step. Then setup “soft max.” and “soft min.”. This varies from machine to machine.

Mach3 limit switch img8

If you have X0, Y0 coordinates on the lower left side of the machine and the operating area is 200×100 (X x Y) large, you would setup X max. to 200, Y max. to 100, and both minimum values to 0.

If for example your X0 and Y0 would be in the middle of the operating area, you would setup X max. to 100, Y max. to 50, X min. to -100 and Y min- to -50.

Z axis goes the same. If you have Z0 on the top and it can move for 40mm down, set Z max. to 0 and Z min. to -40.

Slow zone option is not supported by PoKeys devices.

Once done, you must enable the soft limits. You can do this in the main window by clicking on the soft limits button

Mach3 limit switch img9

Testing the configuration

To test everything that you have setup in this Mach3 limit switch tutorial first make sure all of your switches are properly detected. You can see this under Mach3 diagnostic tab. When all this is working set the jogging speed to low so you can manually do the test. Be extremely careful not to crash the machine.

First test the E-stop. Slowly jog the machine, and when moving press the E-stop button. The movement should stop and you should see a notification in Mach3. Also if you still tried to jog your machine in any direction, you shouldn’t be able to do that until E-stop condition is removed. If this works you can go to the next step.

If you do have limit switches setup, slowly jog to them and when they are pressed, the machine should stop. Mach3 has a limit switch override option, found under Settings tab (Alt-6) that ignores the state of the switch. You can use this to manually jog of the switch. A safer alternative would be, to press the limit switch and try to jog. That way you are less likely to crash your machine if the switch is not detected.

To test the homing, first be prepared to press the E-stop button or Stop in Mach3. For the first time I recommend that you set the homing speed even lower. The press the “ref all home” button and the machine should move.

Mach3 limit switch img10

If the axis moves in the wrong direction, stop the machine and reverse the homing direction. Once the home switch is pressed the next axis should move. And once the homing is finished, you should see the right coordinates (for example 0,0,0 if you have setup the machine that way). If you don’t see the right coordinates, make sure that you are displaying absolute coordinates: the “Machine Coord’s” button on the main page (Alt-1) should have a red border.

Last step in this Mach3 limit switch tutorial is to test the soft limits. If you have setup the homing and soft limits correctly, you should not be able to jog over the virtual border. Set the jogging speed to slow and start jogging. The machine should stop once you have reached the soft limits border.

Conclusion

If everything was done correctly this Mach3 limit switch tutorial should finish the basics of setting up your machine. You should now have a working and safe machine for you to work on.

The post Mach3 limit switch tutorial with PoKeys appeared first on PoBlog™.

Viewing all 131 articles
Browse latest View live