chemistorge Posted September 10, 2021 Share Posted September 10, 2021 (edited) Hi All, I recently bought myself a little SW MAK102. While doing this I though it might be nice to use my ASI120MM-S camera with it for mono planetary imaging (just for fun!). To this end I though I could do with a filter wheel, so I searched for 3D printable one. I choose this one: https://www.thingiverse.com/thing:1292900 . It printed fine but I had to reprint the carousel several times to get the filter holes correctly sized. Also the model has female threads on both sides with no adaptor. Time when on and I thought why not motorise it! I looked online and found a git hub (https://github.com/Blueshawk/Rayz-indi-wheel) with Arduino code compatible with Xagyl filter wheel drivers and instructions to modify cheap manual filter wheels. This looked good until I tried the code, it was very buggy with INDI and the serial latency was poor. Fast Forward: I decided to design a motorised filter wheel from scratch and also completely rewrite the arduino code and I am happy to say it works completely with INDI (Kstars) and ASCOM (tested with sharp cap). The functions are limited to moving filters and set offsets only, but what else do you need. Additionally there are buttons on the wheel to manually move filters (although no feedback) . The filter wheel in the videos and pictures is my prototype. I have made slight modifications in the 3d cad files to improve the design. There are two designs for the bottom, either M42 for T2 connection to scope or M48 for connection via coma corrector. The filter box is bolted with M3 bolts and nuts and the circuitry lid uses M3 bolts that are threaded into plastic holes. The circuitry holder fits the Arduino Nano, Motor driver board and 28BYJ-48 motor and Hall Sensor. See GitHub for files and Code https://github.com/chemistorge/Arduino-Motorised-Filter-Wheel-Xagyl-compatible-ASCOM-and-INDI-. With indi drivers, you have to save configuration after setting offsets otherwise it resets them when you next connect. You can also use a serial monitor to talk to the wheel.. see code for commands. I will be adding more to Git hub as I get time. Video with ASCOM and SharpCap: ASCOM Example.mp4 Video with INDI: IMG_0076_1.mp4 Edited September 13, 2021 by chemistorge 4 Link to comment Share on other sites More sharing options...
CedricTheBrave Posted September 11, 2021 Share Posted September 11, 2021 great work well done 1 Link to comment Share on other sites More sharing options...
chemistorge Posted September 11, 2021 Author Share Posted September 11, 2021 Thank you, I am currently modifying the cad to take 2" filters, the firmware will be the same. Link to comment Share on other sites More sharing options...
chemistorge Posted September 12, 2021 Author Share Posted September 12, 2021 (edited) Here is a photo with a asi120mm and 2x Barlow connected. One thing to note with Indi is to put the driver into auto search mode, I have sometimes 4 arduinos connected (mount, focuser, dew heater, filter wheel) and the driver needs to hunt for the correct one. Edited September 12, 2021 by chemistorge 2 Link to comment Share on other sites More sharing options...
OscarP Posted March 16 Share Posted March 16 Very interesting building. I have the wheel (purchased one, i hate make theads in my 3d printer), i have the electronic, ascom recognize it, wheel move , but need config and choose a position for the hall sensor...... ....but, please, can you explain me what i must change in the code for use the same motor attached to the exterior side of the inner wheel? using friction to move, but a lot of more steps per revolution..... Watching your video i see that you installed the magnet between two filter positions, i have a very small neodymiun that trigger the digital hall sensor perfectly, but what values must i change? (i see the changes in lines 23 y 24 for choose digital and low sensor). I see some lines that sure i must change, but i am not a programmer (only a "copy and paste" man), and it was very usefull to know what changes i must make depending of the total steps for revolution... line 8 #define Steps 4 //stepper steps 2048 per rev line 22 #define analogSensorThreshold 430 // set the threshold below which the homing sensor is triggered #define HALLSENSORTYPE 2 // SET to 1 for ANALOG HALL Sensor, CHANGE to 2 for DIGITAL HALL SENSOR #define HALLACTIVETYPE 2 // SET to 1 for ACTIVE HIGH Digital Sensor, CHANGE to 2 for ACTIVE LOW digital Sensor line 26 const int filterPos[] = {0, 56, 466, 876, 1286, 1696}; //Rough alignment of filterPos line 85 stepper.runToNewPosition(stepper.currentPosition() - 500); //back magnet off sensor stepper.moveTo(3000); //set move to as 3000 (one rotation is ~2000 steps so if not homed by then raise error. Thanks.. OscarP Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now