MacroMaster 5000000

MacroMaster logo

MacroMaster 5000000 (MM5M)

Single axis linear focus rail for focus stacking and other shenanigans.

Main features in short:

  • 120 mm of travel
  • Linear rails
  • Automatic & semi-automatic mode
  • Arca Swiss compatible
  • Dual direction operating mode
  • Adjustable focus increments – down to 1µm
  • Mechanical adjustment for minimal backlash
  • Automatic backlash compensation in firmware
  • Opto-isolated circuit for interfacing with remote trigger

Detail description of functionalities

MM5M main chassis is designed to be 3D printed, precision linear rails are mounted to the chassis to allow for a smooth and precise movement but also to introduce additional stiffness to the 3D printed chassis. 

Linear actuation is provided through converting rotational motion from a stepper motor to linear motion with use of a lead screw. The nut engaging with the lead screw is adjustable to reduce the system backlash. The lead screw has a pitch of 2 mm, resulting in 2 mm of linear movement per 360° of rotational movement. The stepper motor have 200 steps per revolution, but with use of micro stepping this can be altered, allowing for higher resolution.

In HighRes mode 1/16 micro stepping is used, giving a linear resolution as following:
Lead screw pitch / steps per revolution = 2 mm / (200/(1/16)) = 0,625 µm (0,000625 mm)

This, however comes with the cost of lower speeds, hence in normal operation a linear resolution of 2,5 µm (0,0025 mm) is utilized.

The MM5M controller was originally based on an Atmel ATmega328 microcontroller, with custom designed PCB. But due to little memory available within this chip – combined with  additionally “nice to have” functionality I opted to change the chip to an ATmega 2560 (mainly a result of a fairly memory demanding library used for the OLED combined with my poor programming skills and low eager to optimize my code) .

The controller utilize a TMC2209 based stepper motor driver, which is an ultra-silent motor driver IC for two phase stepper motors. 

The stepper motor used is of NEMA 17 size with a max motor length of 28 mm.

User interface is done with an 1,3″ monochrome OLED display in combination with two soft keys and an rotary encoder w/push button. This allows for setting the various parameters and to show relevant information and system feedback.

A reed sensor is used to read the position of the camera carrier (CC) during a homing sequence performed at system start up. This allows the controller to keep track of the position of the CC throughout the operation sequence, preventing the user to define travel parameters that are out of range. 

The main power switch have a LED ring sowing the status of the unit:

  • Off – the main power is off
  • On – the main power is on, no sequence active
  • Flashing – sequence active

Optionally the power LED can be user defined to be OFF during sequence operation.

An piezo speaker allows for audible status feedback, the scope of the audible feedback is user defined, following modes can be defined:

  • No audio – no feedback given
  • Setup – feedback during setup only
  • Sequence – feedback for sequence start, photo taken, sequence finished & setup
  • Sequence end – feedback for sequence finished & setup

Further and more detailed status information will be relayed through the OLED screen.

An opto-isolated circuit is provided for interfacing with remote camera triggering. The physical connection is done through a 3,5 mm stereo jack connector. There are two channels, one for focus and one for trigger, both channels are toggled from open to ground (in-camera ground) during sequence to trigger the camera. The trigger hold time and optional delay between focus and shutter trigger are adjustable. 

As of February 2023 – functionality shown in red  & italic is not yet fully implemented in the current firmware, but needed hardware is integrated.

Start up & homing
Prior to power up, you must verify that the camera carrier (CC) is within homing range, this area is marked on the chassis.

At power up you are prompted to perform a automatic homing procedure. When the homing procedure is activated the CC moves rapidly a set distance in positive direction – thereafter it moves in negative direction while searching for homing reference. Once the homing reference is found, the speed is reduced and the CC is moved to axis zero position. The system is now ready for use. 

Setting of global parameter are possible prior to above mentioned homing sequence, but all other settings are prohibited.

Global Settings 
The following settings can be accessed in the global settings menu: 

  • Focus increment – movement of camera carrier for each step in mm
  • Dwell timer – delay from camera carrier is in position to the trigger is activated, in ms. This is to allow camera movements to settle prior to taking the picture
  • Max Speed – system max speed
  • Acceleration – system acceleration
  • Trigger Duration – how long the trigger signal is keep high
  • Shutter speed comp. – compensating for  shutter speed, additional delay added after trigger is activated – to allow slow shutter speeds to be utilized. Unit in ms.
  • Num. Pics. – number of pictures taken at each position
  • Start Delay – delay from camera carrier is in position for first photo until the shutter is activated. Valid for first photo only. Unit in ms.
  • Shutter Lag – delay between activating focus and shutter, focus is always activated first.
  • Audio feedback – setting for audible feeback
  • LED feedback – settings for LED feedback
  • HighRes – mode for higher resolution
  • Op. Mode – mode for operation, auto or semi-auto

(some settings described will probably be moved out of global settings to another menu at a later time – this in conjunction with the possibility to store  different profiles)

Manual Mode
Enter manual mode by pressing and holding the rotary encoder for approx 1,5 seconds. You can now manually jog the CC by rotating the rotary encoder. Pressing the rotary encoder swiftly will toggle between fast and slow jog mode.

By use of soft keys you can register start & end position and also manually trigger the shutter.

Pres and hold rotary encoder for approx 1,5 second to exit manual mode.

Setting Start & End Positions
To be able to execute a sequence the system needs to know the start & end position, with this information- in combination with the global settings, the system will calculate the theoretical travel distance and number of steps needed.

To set the start & end position you need to enter manual mode and jog the CC to your desired start or end position. Use the screen or the viewfinder of your camera to verify that the desired area is within focus and use the corresponding soft key to registrer if this is the start or end position. 

If the registered end position is greater than the registered start position, the sequence runs in positive direction, if the registered end position is less than the registered start position, the sequence runs in negative direction.

Please note that if the theoretical travel distance is not divisible by the selected Focus Increment, the system will adjust the number of steps in a maner that makes sure that the en position is reached. This means that the actual end position may exceed the registered end position by the amount up to one Focus Increment. If this results in an end position that is out of range, you will be informed and prompted to redefine your end position. 

Automatic Mode
Automatic mode is selected in Global Setting.

Automatic mode perform in the following way:

  • CC moves 1 mm beyond start position, with respect to the travel direction
  • CC moves to start position
  • Dwell time for settling movements
  • Trigger camera 
  • Optional delay for slow shutter speed
  • Loops two last steps if multiple pictures are to be taken
  • Moves to next position
  • Loops through five last steps until actual end position is reached
  • Returns to start position 

Semi-Automatic Mode
Semi-Automatic mode is selected in Global Setting.

This is a semi-automatic sequence that perform in the following way:

  • CC moves 1 mm beyond start position, with respect to the travel direction
  • CC moves to start position
  • Dwell time for settling movements
  • Waiting for user to activate camera trigger
  • Optional delay for slow shutter speed
  • Loops two last steps if multiple pictures are to be taken
  • Moves to next position
  • Loops through five last steps until actual end position is reached
  • Returns to start position 

This mode is use full in situations when you i.e. are dealing with variable naturally light or other variabels where you want manual control for when the camera shutter is triggered.

As of February 2023 – functionality shown in red  & italic is not yet fully implemented in the current firmware, but needed hardware is integrated.

Download files for Macro Master 5000000

Icon

MacroMaster_5000000 85.48 KB 10 downloads

Revision 1.0 of electrical schematics - w/ ATmega 328 microcontroller ...

Icon

MacroMaster_5000000 85.48 KB 9 downloads

Revision 2.0 of electrical schematics - w/ ATmega 2560 microcontroller ...