Monthly Archives: September 2019

New product: Toshiba TB67S128FTG stepper driver carrier

via Pololu Blog

Our wide selection of stepper motor drivers has grown once again, this time with the addition of a full breakout board for Toshiba’s TB67S128FTG. The TB67S128FTG has many of the same great innovative features as the TB67S2x9FTG carriers we released last year, including Active Gain Control (AGC) for automatically reducing the current when full torque is not needed and Advanced Dynamic Mixed Decay (ADMD) for smoother, more even microsteps. On top of that, it adds features such as microstepping down to 1/128th-step and an optional serial interface. The driver offers a wide operating voltage range of 6.5 V to 44 V, and it can deliver 2.1 A per phase continuous (5 A peak) on our carrier board without any heat sink or forced air flow, making it our highest-current integrated driver (bested only by our discrete MOSFET High-Power Stepper Motor Driver 36v4).

These stepper motor driver carriers first debuted at Toshiba’s booth at Maker Faire Tokyo in August, and now that we finally have the drivers in volume, we are able to offer them to you! All of the driver’s control pins and outputs are available, so it can function as a complete evaluation board for the TB67128FTG, yet it is compact enough to integrate into actual projects without taking up an excessive amount of space:

TB67S128FTG Stepper Motor Driver Carrier, top view with labeled pinout.

Introductory special

As with all of our new product announcements, we are offering an introductory discount to make it extra easy to try out this new driver. Be among the first 100 customers to use coupon code TB67S128INTRO (click to add the coupon code to your cart) and up to three units for just $7.95 each.

New products: ACHS-7124/7125 current sensor carriers

via Pololu Blog

We have expanded our line of Hall effect-based linear current sensors from Broadcom to include ±40 A and ±50 A versions. These easy-to-use bidirectional current sensors are now available in five current range options:

With these additions, our full line of current sensors now includes 15 options with current and sensitivity ratings ranging from ±5 A with 400 mV/A sensitivity to ±75 A with 28 mV/A sensitivity. The following table shows all of current sensor options:


ACS709 Current
Sensor Carrier

ACS711EX Current
Sensor Carriers

ACS714 Current
Sensor Carriers

ACS724 Current
Sensor Carriers

ACHS-712x Current
Sensor Carriers
Sensor IC: ACS709 ACS711EX ACS714 ACS724 ACHS-712x
Current range / sensitivity(1): ±75 A / 28 mV/A ±15.5 A / 136 mV/A
±31 A / 68 mV/A
±5 A / 185 mV/A
±30 A / 66 mV/A
0–⁠10 A / 400 mv/A
0–⁠30 A / 133 mV/A
±5 A / 400 mV/A
±20 A / 100 mV/A
±50 A / 40 mV/A
±10 A / 185 mV/A
±20 A / 100 mV/A
±30 A / 66 mV/A
±40 A / 50 mV/A
±50 A / 40 mV/A
Path resistance: 1.1 mΩ 0.6 mΩ 1.2 mΩ 1.2 mΩ 0.7 mΩ
Bandwidth 120 kHz 100 kHz 80 kHz 120 kHz 80 kHz
Vcc range:(1) 3 V–5.5 V 3 V–5.5 V 4.5 V–5.5 V 4.5 V–5.5 V 4.5 V–5.5 V
Size: 0.82″ × 0.9″ 0.7″ × 0.8″ 0.7″ × 0.8″ 0.7″ × 0.8″ 0.7″ × 0.8″
Special features: configurable
over-current threshold,
low-voltage operation,
high bandwidth
over-current fault pin,
low-voltage operation
Differential Hall sensing
rejects common-mode fields,
high bandwidth
1-piece price: $9.95 $3.25 $9.95 $9.95 $4.95
1 Sensitivity based on when Vcc is 5V.

Introductory special

As usual, we are offering an extra introductory special discount on the ACHS-712x current sensor carriers, to help share in our celebration of releasing a new product. The first hundred customers to use coupon code ACHSINTRO can get up to five units for just $3 each!

Enginursday: Playing with CRCs in Python

via SparkFun: Commerce Blog

Recently, the engineering team has needed to implement Cyclic Redundancy Checks (CRCs) for several different projects. The algorithm is easy enough to copy from the internet and forget, but my curiosity just couldn't quit there! CRCs have a very fascinating mathematical underpinning that relates to information theory, computer hardware and more. Trying to get a better understanding of CRCs eventually led me to discover the fantastic legendary ASCII text file called 'crc_v3.txt`. Dr. Ross Williams, the author, once hosted the file at http://www.ross.net, however it can't be found there any more 😔.

Don't fret - everyone knows nothing ever really disappears on the internet, and this is no exception. A work of art and a beacon for curious minds 'crc_v3.txt' will live on forever. You can go pay it a visit here.

Alone 'crc_v3.txt' is a great read, but there are still a few points that might be hard to follow. To satiate my curiosity I created a follow-along Python script to demonstrate the math. You can check it out on GitHub CRC_Exploration or by trying it out live in this post, thanks to the REPL.it widget below. Just click the green 'run' arrow and peruse the output, then try changing the code yourself!

comments | comment feed

Make a keyboard-bashing sprint game | Wireframe issue 23

via Raspberry Pi

Learn how to code a sprinting minigame straight out of Daley Thompson’s Decathlon with Raspberry Pi’s own Rik Cross.

Spurred on by the success of Konami’s Hyper Sports, Daley Thompson’s Decathlon featured a wealth of controller-wrecking minigames.

Daley Thompson’s Decathlon

Released in 1984, Daley Thompson’s Decathlon was a memorable entry in what’s sometimes called the ‘joystick killer’ genre: players competed in sporting events that largely consisted of frantically waggling the controller or battering the keyboard. I’ll show you how to create a sprinting game mechanic in Python and Pygame.

Python sprinting game

There are variables in the Sprinter() class to keep track of the runner’s speed and distance, as well as global constant ACCELERATION and DECELERATION values to determine the player’s changing rate of speed. These numbers are small, as they represent the number of metres per frame that the player accelerates and decelerates.

The player increases the sprinter’s speed by alternately pressing the left and right arrow keys. This input is handled by the sprinter’s isNextKeyPressed() method, which returns True if the correct key (and only the correct key) is being pressed. A lastKeyPressed variable is used to ensure that keys are pressed alternately. The player also decelerates if no key is being pressed, and this rate of deceleration should be sufficiently smaller than the acceleration to allow the player to pick up enough speed.

Press the left and right arrow keys alternately to increase the sprinter’s speed. Objects move across the screen from right to left to give the illusion of sprinter movement.

For the animation, I used a free sprite called ‘The Boy’ from gameart2d.com, and made use of a single idle image and 15 run cycle images. The sprinter starts in the idle state, but switches to the run cycle whenever its speed is greater than 0. This is achieved by using index() to find the name of the current sprinter image in the runFrames list, and setting the current image to the next image in the list (and wrapping back to the first image once the end of the list is reached). We also need the sprinter to move through images in the run cycle at a speed proportional to the sprinter’s speed. This is achieved by keeping track of the number of frames the current image has been displayed for (in a variable called timeOnCurrentFrame).

To give the illusion of movement, I’ve added objects that move past the player: there’s a finish line and three markers to regularly show the distance travelled. These objects are calculated using the sprinter’s x position on the screen along with the distance travelled. However, this means that each object is at most only 100 pixels away from the player and therefore seems to move slowly. This can be fixed by using a SCALE factor, which is the relationship between metres travelled by the sprinter and pixels on the screen. This means that objects are initially drawn way off to the right of the screen but then travel to the left and move past the sprinter more quickly.

Finally, startTime and finishTime variables are used to calculate the race time. Both values are initially set to the current time at the start of the race, with finishTime being updated as long as the distance travelled is less than 100. Using the time module, the race time can simply be calculated by finishTime - startTime.

Here’s Rik’s code, which gets a sprinting game running in Python (no pun intended). To get it working on your system, you’ll first need to install Pygame Zero.

Get your copy of Wireframe issue 23

You can read more features like this one in Wireframe issue 23, available now at Tesco, WHSmith, all good independent UK newsagents, and the Raspberry Pi Store, Cambridge.

Or you can buy Wireframe directly from Raspberry Pi Press — delivery is available worldwide. And if you’d like a handy digital version of the magazine, you can download issue 23 for free in PDF format.

Autonauts is coming to colonise your computers with cuteness. We find out more in Wireframe issue 23.

Make sure to follow Wireframe on Twitter and Facebook for updates and exclusive offers and giveaways. Subscribe on the Wireframe website to save up to 49% compared to newsstand pricing!

The post Make a keyboard-bashing sprint game | Wireframe issue 23 appeared first on Raspberry Pi.

New product: Tic 36v4 USB Multi-Interface High-Power Stepper Motor Controller

via Pololu Blog

I am pleased to announce the release of the Tic 36v4 USB Multi-Interface High-Power Stepper Motor Controller, the fifth model in our line of Tic Stepper Motor Controllers. The Tic 36v4 features a discrete MOSFET stepper motor driver that can deliver up to approximately 4 A per phase, without a heat sink or forced air flow, over a broad 8 V to 50 V operating range. With the ability to provide more than twice as much current as any of our previous stepper motor controllers, this is our highest-power Tic yet, and the first that can drive the most demanding stepper motors we carry (#1474 and #1478) with their full rated current (2.8 A).

Tic 36v4 USB Multi-Interface High-Power Stepper Motor Controller controlling a #1478 stepper motor from USB.

The Tic 36v4 supports microstepping resolutions down 1/256 step, which is 8 times smaller than any previous Tic model. These new, finer microstep resolutions make it increasingly important to be able to take steps at a high speed since with microsteps that small, it takes up to 51,200 of them to complete one revolution on standard stepper motors with 200 full steps per revolution. The Tic firmware takes care of that for you: it is designed to be able to produce up to 50,000 steps per second, meaning that you can get 58 RPM out of most of our stepper motors even when using 1/256 step mode. Every power of two step mode between full stepping and 1/256 is supported, allowing you to choose the right trade-off between speed and resolution.

By default, the Tic 36v4 uses an automatic mixed decay mode for current regulation. In this mode, it dynamically selects between fast or slow decay based on the actual coil current, allowing it to achieve extremely smooth stepping in most applications without a lot of manual tuning—especially at high microstepping resolutions. (Isn’t that a nice sine wave in the picture above?)

However, if you want more control, this Tic also gives you the option to select a fixed decay mode and adjust several timing parameters to fine-tune the current decay behavior. This can be easily done with the Tic’s free graphical configuration software.

Like the other members of the Tic family, the Tic 36v4 makes basic speed or position control of a stepper motor easy, with lots of configurable parameters (e.g. max speed and acceleration) and support for six high-level control interfaces:

  • USB for direct connection to a computer
  • TTL serial operating at 5 V for use with a microcontroller
  • I²C for use with a microcontroller
  • RC hobby servo pulses for use in an RC system
  • Analog voltage for use with a potentiometer or analog joystick
  • Quadrature encoder input for use with a rotary encoder dial, allowing full rotation without limits (not for position feedback)

This video gives a brief demonstration of these interfaces in action:


The Tic 36v4 is available with connectors soldered in or without connectors soldered in. If you do not need the high-level interfaces provided by the Tic, we also offer the Pololu High-Power Stepper Motor Driver 36v4.

Here is a handy comparison chart with all five Tic stepper motor controllers:


Tic T500

Tic T834

Tic T825

Tic T249

Tic 36v4
Operating voltage range: 4.5 V to 35 V(1) 2.5 V to 10.8 V 8.5 V to 45 V(1) 10 V to 47 V(1) 8 V to 50 V(1)
Max continuous current per phase
(no additional cooling):
1.5 A 1.5 A 1.5 A 1.8 A 4 A
Peak current per phase
(additional cooling required):
2.5 A 2 A 2.5 A 4.5 A 6 A
Microstep resolutions: full
half
1/4
1/8
full
half
1/4
1/8
1/16
1/32
full
half
1/4
1/8
1/16
1/32
full
half
1/4
1/8
1/16
1/32
full
half
1/4
1/8
1/16
1/32
1/64
1/128
1/256
Automatic decay selection: Yes Yes Yes
Automatic gain control (AGC): Yes
Driver IC: MP6500 DRV8834 DRV8825 TB67S249FTG discrete MOSFETs
Price (connectors not soldered): $19.95 $29.95 $29.95 $39.95 $49.95
Price (connectors soldered): $21.95 $31.95 $31.95 $41.95 $51.95

1 See product pages and user’s guide for operating voltage limitations.

Introductory special

As usual, we are offering an extra introductory special discount on the Tic 36v4, to help share in our celebration of releasing a new product. The first hundred customers to use coupon code TIC36V4INTRO can get up to five units for just $24.95! And we’ll even cover the shipping in the US!

Welcome to the Real World

via SparkFun: Commerce Blog

Machine learning is pretty incredible, and sometimes seems like it belongs in sci-fi movies. We’re pretty excited about the seemingly endless possibilities that machine learning offers, which is why we’ve partnered with Hackster to launch a new contest: Machine Learning in the Real World.

We’re looking for the next great group of projects that help incorporate machine learning into everyday life. Projects will need to utilize our new RedBoard Artemis ATP, at least one Qwiic component, and machine learning (we recommend TensorFlow for that aspect).

Check out the Hackster Contest page!


Show us what you got!

Projects can be entered into one of the four categories below:

  • Business : Are you an inventor or entrepreneur with a great idea? Show us how you would use Artemis, Qwiic components and machine learning in a product.
  • Home: Any type of project that has something to do with solving everyday problems around the house - could be security related, help with meal planning, or add to backyard fun.
  • Nature: Any project that helps solve problems in nature, like helping folks explore outside or helping with wildlife conservation.
  • Wildcard: If your project doesn't quite fit any of the other categories, this is the place for it!

Important Dates:

  • Application for free hardware closes Oct. 17, 2019, at 11:59 p.m. PT
  • Recipients announced Oct. 24, 2019
  • Project submissions are due Jan. 26, 2020, at 11:59 p.m. PT

Free hardware info:

Forty participants will receive free hardware in the form of one of two kits. Applications will be accepted through the Hackster contest page until October 17, 2019, at 11:59 p.m. PT. Be prepared to describe your project in the application! Even if you don’t get selected for free hardware, you’re still able to enter a project into the competition. Be aware, if you receive free hardware but do not submit a project, you will no longer be eligible to receive hardware in future Hackster contests.

Apply for free hardware here

Kit 1

alt text

Kit 2

alt text

Prizes

It’s a contest; of course there are prizes! First, second and third place in each category will receive a prize.

Home, Nature and Wildcard categories:

  • 1st: $1,000 SFE gift card
  • 2nd: $100 SFE gift card
  • 3rd: $50 SFE gift card

Business:

  • 1st: 100 Artemis modules to help get your product to market, plus a $100 SFE gift card
  • 2nd: $100 SFE gift card
  • 3rd: $50 SFE gift card

We can't wait to see what you come up with!

comments | comment feed