Update on DIY Precision S&S System

Have questions about the equipment used for macro- or micro- photography? Post those questions in this forum.

Moderators: rjlittlefield, ChrisR, Chris S., Pau

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Update on DIY Precision S&S System

Post by mawyatt »

I've been working on a DIY Precision S&S System to try an create control algorithms for the stepper motors to help reduce movement induced vibrations to a level where quick (1~2 second) steps can be potentially achieved.

Long story short is I'm still developing the algorithms/concepts to do such. Some progress has been made as many different stepper motor drivers/controllers have been evaluated and I've narrowed the research & testing to the Pololu & Trinamic controller/drivers. I'm still struggling with the Trinamic devices but have the Pololu Tic-500 working well. The control algorithms allow separate acceleration and deceleration profiles and when stepping a different "slow approach" deceleration profile is utilized. The Trinamic devices have potential for better vibration & resonance control, but are more difficult to handle code wise, and I'm not a good programmer. :roll:

Over the course of this development I've moved the Tic-500 to the XY & Z motors in an effort to reduce complexity and wiring clutter. X & Y are based upon the THK KR-15 and the Tic-500 are mounted on the top of the NEMA 11 motors, the Z axis is based on a THK KR-20 or HIWIN KK50 (KR-26 env.) with the Tic-500 mounted on the NEMA 17 motor backside. I've also included start-homing sensors (Panasonic GX-F12A) and control for the Z axis.

The 3 controllers are interfaced to a Raspberry Pi 3B via USB and a custom interface board developed for optical isolated triggering the camera and strobes. All the camera & strobe parameters are controllable including a delay for the strobes to allow use with EFCS.

The motor/rail parameters are also controllable, things like Motor Max Current, Holding Current, Steps per Rev, Micro-Steps, Rail Thread Pitch, Rail Range and so on.

On potential issue with 1~2 steps is can the strobes keep up? I'm using multiple strobes and have confirmed the ability to recycle within ~1 second and over long periods without overheating.

I've attached images of the 2 systems, one is based upon the Wemacro Vertical stand with KR-15 for X and Y and KR-20 for Z, and this is a somewhat portable completely automated S&S System. The other is centered upon a Thor Labs base with 95mm precision components, and utilizes KR-15 for X and Y and HIWIN KK50 for Z. This is also completely automated.

I've had a request to shoot a video of the system in operation, I'll try an accommodate this soon if I have some available time.

Here's some previous posts on the development of these S&S Systems

http://www.photomacrography.net/forum/v ... hp?t=38511
http://www.photomacrography.net/forum/v ... hp?t=38548
http://www.photomacrography.net/forum/v ... hp?t=38604
http://www.photomacrography.net/forum/v ... hp?t=38512

Best,

Wemacro Based Setup:

Image
Image
Image
Image


Thor Labs Based Setup:

Image
Image
Image
Image
Image
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Smokedaddy
Posts: 1953
Joined: Sat Oct 07, 2006 10:16 am
Location: Bigfork, Montana
Contact:

Post by Smokedaddy »

Nice work. Looks complicated too. <g>

iconoclastica
Posts: 486
Joined: Sat Jun 25, 2016 12:34 pm
Location: Wageningen, Gelderland

Post by iconoclastica »

The 3 controllers are interfaced to a Raspberry Pi 3B via USB
So, the controllers are full blown microcontrollers that can handle commands sent via USB? Are the USB here just serial ports or are they the kind of complex busines like in Windows?
--- felix filicis ---

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

iconoclastica wrote:
The 3 controllers are interfaced to a Raspberry Pi 3B via USB
So, the controllers are full blown microcontrollers that can handle commands sent via USB? Are the USB here just serial ports or are they the kind of complex busines like in Windows?
Yes, the microcontrollers handle the USB directly and just pass the commands serially both ways. I don't know much about Windows , I use Mac.

Here's a link to Pololu, I'm using the Tic-500.

https://www.pololu.com/docs/0J71

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

kaleun96
Posts: 270
Joined: Sat Oct 20, 2018 3:47 pm
Location: Stockholm, Sweden

Post by kaleun96 »

Coming along nicely! Do you have any physical controls for moving the rails (e.g. joysticks, buttons) or is everything done over serial?
I'm still struggling with the Trinamic devices but have the Pololu Tic-500 working well.
Tell me about it. I picked up the TMC2130 and it's pretty difficult to find any resources that aren't intending the driver to integrate with Marlin (3D printer software).

iconoclastica
Posts: 486
Joined: Sat Jun 25, 2016 12:34 pm
Location: Wageningen, Gelderland

Post by iconoclastica »

Interesting. I am trying their A4988 right now, without much success to drive a geared stepper. Negotions continue...
--- felix filicis ---

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

kaleun96 wrote:Coming along nicely! Do you have any physical controls for moving the rails (e.g. joysticks, buttons) or is everything done over serial?
I'm still struggling with the Trinamic devices but have the Pololu Tic-500 working well.
Tell me about it. I picked up the TMC2130 and it's pretty difficult to find any resources that aren't intending the driver to integrate with Marlin (3D printer software).
I have routines built in the overall S&S System program to do things like set timing for camera, strobes/flash and rail settling, find Z axis home, set XYZ zero positions, X & Y center, set X & Y range and steps, set Z range and step at each X & Y position, and review each X, Y and Z position. All this is controlled over USB.

Each rail start and end position is by a keyboard entered number in microns, and loops for another number until exiting the loop which stores the last position. It's easy to get the rails to directly move or iterate to a desired position, I often use the camera (Nikon) HDMI output to view when selecting the positions. All the positions and timing data are stored to selectable files for recall. I've created a number of "built in" routines on file to help with debugging and rail motor control optimization (mainly vibration reduction).

For verification testing I've run a few long test routines, one which lasted ~3hrs and was "hands off" completely automated.

When I do a S&S session I plan the image sections out before hand based upon the subject size and magnification, then use the X & Y range to find and set the respective Start and End positions for X & Y, then set the step size for each. The Z axis Start and End positions are determined at each X & Y position ( & step size) if desired or just used as the same for each X & Y position. This allows one to selectively use different Z axis Start and End positions to save wasted images in unwanted areas (usually the corners), or just use the same Z parameters and have the extra wasted images.

All this data is stored on a definable file for reuse if desired.

Everything is run over a VNC network which means no monitor, keyboard or mouse is required with the Raspberry Pi Control Computer, all remote on a laptop or desktop computer.

I also couldn't find much on the Trinamic either, although I do have the TMC5061 running (just rotating at various speeds back and forth) and it's smooth but a long way from being integrated into the S&S System. If I end up figuring out how to get these working as desired then I'll probably just use them on the Z axis since the Pololu's work so nicely for X and Y.

Sorry for the long explanation, but hope this helps.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

iconoclastica wrote:Interesting. I am trying their A4988 right now, without much success to drive a geared stepper. Negotions continue...
I also have the A4988 and DRV8825 and had them working but because I'm using the Raspberry Pi the operation wasn't what I wanted (too slow), so I tried the Pololu Tic with the microcontroller, which ended up a better solution for my needs.

Pololu was founded by some MIT Robotics group members I believe, their on-line help is really good, actually superb IMO.

Here's a snip from their support area about something I found:

My note:

"Hello,

I’m using a number of Tic-500s in a couple XYZ setups for precision imaging use. I’ve just noticed a potential Photonic type EMI issue with the new “b” version boards (haven’t tried with older version “a” boards). I utilize a group of 7 strobes for lighting, sometimes up to 12, but generally 3~7. Just noticed when the strobes are triggered (all simultaneously) that the X and Y Tic-500s get a “Motor holding because of safe start violation” error, the Z doesn’t but it’s further away from the strobes.

At first I thought it might be an EMI cable issue and tried replacing the USB cable thinking it was coupling EMI and corrupting the USB signal, this didn’t help. So then I covered the Tic-500 with a spare metal reflector and this blocked the safe start violation error, then tried just a business card over the Tic-500 and it also blocked the error. So this pointed to an photon induced EMI type error, and not the usual EMI type issue.

Using some black tape I’ve traced the problem to the Red LED that shows when the motors are active. Obviously LEDs are electro-optical devices (emit photons), but also can convert photons to electrons just like a standard photodiode. I surmise what is happening as the LED is off when the motors are active, and the high intensity optical burst from the strobes is causing a “glitch” from the Red LED and disrupting the Tic controller, causing the Safe Start Violation error.

Anyway, the fix is simple I’ll just place some black tape over the Red LED, although I do like having the visual indication when the motors are active and inactive, which I now won’t have :>( "

A follow up:

"I was able to confirm this behavior with a standard camera speedlight held above the Tic-500 at 1~2 feet and 1/32 power. I wonder if the pin driving the Red LED is Tristate when off, rather than pulling to ground?"

Pololu response:

"Hello, Mike.

That is an interesting error. Yes, the pin is a high impedance tristate input when the LED is off. It is designed like that primarily so it is possible to chain the error pins on several Tics together and have all of them all halt if one throws an error. We have more details about that part of the circuit in the “Error Handling” section of the user’s guide 2.

There is an option to “Ignore ERR line high” in the advanced settings of the Tic Control Center software to disable error monitoring on that pin. The Tic will still illuminate the LED to indicate errors if that option is enabled.

-Nathan"


My Response:

"Hi Nathan,

Interesting error indeed!! I did go and read the Users Guide as suggested and the error does make sense as the LED supplies enough current when illuminated by the flash/strobe to cause the voltage to rise above ~2 volts I suspect.

I’ll select the “Ignore ERR line high” per your suggestion, so I don’t have to cover the LED (I like the Motor Deactivated feature!!).

Best,"

This is a really good knowledgable Customer Support example IMO.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Post Reply Previous topicNext topic