Overview

Welcome to the Support and Information site for the Raspberry Pi Pulse Train Hat.

The Pulse Train Hat is an add-on board for the Rapsberry Pi computer and allows clean, fast and accurate pulses to be created using simple ASCII commands.

There are many hardware designs where a variable frequency pulse is needed, but one that is the most popular is for driving stepper/servo motors that use pulse and direction lines.

Motors like this are found in machines such as 3D Printers, CNC machines, Robot Arms and not to mention the other endless motion control and automation machines.

Controlling motors may seem simple, but when you get down to detailed control, it can all become very confusing and a big learning curve.

With the PTHAT ( Pulse Train Hat ) add-on for the Raspberry Pi and this support site, we plan to make that task very simple and allow everyone to easily create their automation product.

When controlling a motor, you have a lot of different tasks to consider, such as speed, ramping, interpolation, accuracy, counters, gearing to mention a few.

Please note although the PTHAT is crammed with commands and features, it is still and will always be under development as we get feed back and fix any bugs or add features requests as required. For this reason we have provided an easy way to upgrade new releases of the firmware by supplying each mainboard with a Jtag programmer. Please check out the Firmware link for more details.

The Pulse Train Hat has the following features:

=

Complies to the Raspberry Pi HAT specifications. Designed to allow access to all the Raspberry Pi GPIO pins via extended header pins.

=

Accepts simple Serial commands in ASCII format.

=

On Board Arm Cortex M4 processor running at 100MHz

=

Dedicated Direct digital synthesizer (DDS) pulse generators with 0.004Hz resolution for each channel.

=

Up to 4 individual pulse train outputs (X,Y,Z,E)

=

Step, Direction and enable 5v outputs for each channel.

=

Limit Switch and Emergency Stop inputs.

=

Three Aux switched 5 volts lines that can be used for switching on/off devices.

=

2 ADC inputs for monitoring sensors or for speed control etc

=

Counter for each pulse train with auto stop.

=

UP/Down Ramping to allow motors to run at higher than normal speeds.

=

Pulse train speeds of 0.004 HZ to 125kHz output.

=

JTAG connector for easy updating of the firmware updates or programming your own firmware.

=

CE certified/ROHS compliant

By using high resolution DDS generators we can generate clean fast pulses that are ideal for high speeds and also interpolation when syncing motors is critical. For example, If you need to stop and start 4 motors on a machine that are all travelling different distances, at the same time then this can be achieved easily with some simple commands. The hard work and monitoring of this task is take care of by the ARM processor.

The Raspberry Pi GPIO ports are 3.3 volts, yet most motor driver inputs are 5 volts. the PTHAT takes care of the up scaling of these voltages and all outputs are brought out and buffered to 5 volts.

We appreciate that not everyone wants to control 4 motors, so we are offering the PTHAT as a single 1 channel add-on board and also a PTHAT Top Hat which adds the extra 3 channels. Please see the pictures that give more of an idea.

Closer look at the PCB’s

PTHAT

Click on the various components to view there properties.

Processor

On Board Arm Cortex M4 processor running at 100MHz that takes care of all the complicated routines for you.

JTAG

The PTHAT will be supplied with a JTAG programmer so new firmware updates can be easily be done by the end user. Also ideal for anyone wanting to develop their own firmware.

Reset

Reset button can be used to re-start the processor or using built in software commands.

Extension block for Top Hat

34 Pin expansion block allows a Top Hat board to be attached, that adds three more pulse outputs.

Connector Block for X-Axis (Channel1 Output)

This connector block has outputs for the X-Axis motor driver. These include Step(pulse), Direction, Enable, 5V and X-Limit Switch input.

Crystal

1MHz precision Crystal for driving the DDS chips.

DDS generator

Dedicated Direct digital synthesizer (DDS) pulse generators with 0.004Hz resolution for each channel.

Rasberry Pi Connector with extended pins

This 40 pin connector block is for mounting the PTHAT onto the Raspberry Pi.
With extended pins it still allows full access to the Raspberry Pi pins when the PTHAT is in place.

High Speed Switch

Individual high speed switches for each channel to allow for more control when outputting and counting pulses.

Eeprom

Complies to the Raspberry PI HAT specifications by having an Eeprom that can be read from the RPI.

Voltage Level Buffer

Each 3.3V line gets taken to 5 volts using Voltage Level Buffer chips.

Connector Block for Y-Axis (Channel2 Output)

This connector block has outputs for the Y-Axis motor driver. These include Step(pulse), Direction, Enable, 5V and Y-Limit Switch input.

Emergency stop Connector Block

This connector block is for connection of a dedicated Emergency Stop Button.

I/O Connector Blocks

On this block we have connections 3.3V,0V, ADC inputs and 5V outputs.

Connector Block for Z-Axis (Channel3 Output)

This connector block has outputs for the Z-Axis motor driver. These include Step(pulse), Direction, Enable, 5V and Z-Limit Switch input.

 

Connector Block for E-Axis (Channel4 Output)

This connector block has outputs for the E-Axis motor driver. These include Step(pulse), Direction, Enable, 5V and E-Limit Switch input.

DDS generators

Dedicated Direct digital synthesizer (DDS) pulse generators with 0.004Hz resolution for each channel.

High Speed Switches

Individual high speed switches for each channel to allow for more control when outputting and counting pulses.

Extension Pins

34 Pin connector allows easy connection to the PTHAT.

Share This