Arduino-based controller for beam shutter and flip mirror applications
The repository provides open-source hardware and software designs for very simple servo based applications requiring the switching between two predifined positions. Examples: beam shutter, flip mirror, etc.
This project is far from finished, the current state only allows limited functionality and not proprely tested in all experimental situations. Use it with caution, and if you have suggestions or want to join development please contact us, make your own fork, create pull requests, submit issues, leave comments ....
The electronic design is based on an Arduino nano (but any type can be used) and PCA9685 16-Channel Servo Driver.
The arduino code provided in the .code folder gives a very basic control implementation with three predefined positions (servo pwm value has to be calibrated before used, see)
The arduino communicates to the board by I2C thus only a few connection are required. The software implementation is using the PCA9685 16-Channel PWM Driver Module Library library.
The following wiring is adviced especially with using multiple servos:
For further infromation we refer to the servo board documentation.
Our implementation looks like this: PHOTO
The arduino code handles the servo control (position values: SERVOMIN, SERVOMAX, SERVOMID have to be set) and provides a very basic command set to change positions and get the current position values using serial commands (using Arduino-CommandParser).
Currently, the following protocol was implemented:
Command: SETPOS A motornumber Action: Moves the servo addresse by <int: motornumber> to position A Example: "POS A 0"
Command: SETPOS B motornumber Action: Moves the servo addresse by <int: motornumber> to position B Example: "POS B 0"
Command: SETPOS O motornumber Action: Moves the servo addresse by <int: motornumber> to home position with is the middlepoint between A and B
Command: GETPOS motornumber Action: Returns the current position of the mirror flip based on the PWM value of the controller board
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.