Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
marcocipriani01 committed Dec 25, 2020
1 parent c77c5ba commit d957c9c
Show file tree
Hide file tree
Showing 2 changed files with 150 additions and 7 deletions.
92 changes: 92 additions & 0 deletions Circuits/Teensy max PCB with flip flap/eagle.epf
Original file line number Diff line number Diff line change
Expand Up @@ -808,9 +808,101 @@ UsedLibraryUrn="urn:adsk.eagle:library:199"
UsedLibrary="D:/ThunderFocus/Circuits/Arduino Nano focuser and power box/DRV8825.lbr"

[Win_1]
Type="Board Editor"
Number=2
File="D:/ThunderFocus/Circuits/Arduino Nano focuser and power box/Circuit.brd"
View="-2.3602 -5.92328 69.6702 77.5513"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=1
WireBendSet=0
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=1
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=1

[Win_2]
Type="Schematic Editor"
Number=1
File="D:/ThunderFocus/Circuits/Arduino Nano focuser and power box/Circuit.sch"
View="-12.9393 -2.37266 163.167 94.8529"
WireWidths=" 0.0762 0.1016 0.127 0.15 0.2 0.2032 0.254 0.3048 0.4064 0.508 0.6096 0.8128 1.016 1.27 2.54 0.1524"
PadDiameters=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
PadDrills=" 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.65 0.7 0.75 0.8 0.85 0.9 1 0.6"
ViaDiameters=" 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.3 0"
ViaDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
HoleDrills=" 0.2 0.25 0.3 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 1 0.35"
TextSizes=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.778"
PolygonSpacings=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 5.08 6.4516 1.27"
PolygonIsolates=" 0.254 0.3048 0.4064 0.6096 0.8128 1.016 1.27 1.4224 1.6764 1.778 1.9304 2.1844 2.54 3.81 6.4516 0"
MiterRadiuss=" 0.254 0.3175 0.635 1.27 2.54 1 2 2.5 5 7.5 10 0"
DimensionWidths=" 0 0.127 0.254 0.1 0.26 0.13"
DimensionExtWidths=" 0.127 0.254 0.1 0.13 0.26 0"
DimensionExtLengths=" 1.27 2.54 1 2 3 0"
DimensionExtOffsets=" 1.27 2.54 1 2 3 0"
SmdSizes=" 0.3048 0.1524 0.4064 0.2032 0.6096 0.3048 0.8128 0.4064 1.016 0.508 1.27 0.6604 1.4224 0.7112 1.6764 0.8128 1.778 0.9144 1.9304 0.9652 2.1844 1.0668 2.54 1.27 3.81 1.9304 5.08 2.54 6.4516 3.2512 1.27 0.635"
WireBend=0
WireBendSet=31
WireCap=1
MiterStyle=1
PadShape=0
ViaShape=1
PolygonPour=0
PolygonRank=0
PolygonThermals=1
PolygonOrphans=0
TextRatio=8
DimensionUnit=1
DimensionPrecision=2
DimensionShowUnit=0
PinDirection=3
PinFunction=0
PinLength=2
PinVisible=3
SwapLevel=0
ArcDirection=0
AddLevel=2
PadsSameType=0
Layer=91
Views=" 1: -12.9393 -2.37266 163.167 94.8529"
Sheet="1"

[Win_3]
Type="Control Panel"
Number=0

[Desktop]
Screen="1920 1080"
Window="Win_1"
Window="Win_2"
Window="Win_3"
65 changes: 58 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,62 @@ I really appreciate help, feel free to fork, open issues, start pull requests...

## The electronics

I will be soon provide more info about building it. For the moment, you'll find the Eagle CAD files in the `Circuits/` folder. Make sure to enable the local libraries in each project.

## The motor and the 3D-printed bracket

I will be soon provide more info about them. For the moment, you'll find one 3D bracket in the `Motor brackets/SkyWatcher Dual-Speed Crayford` folder.
I created several circuits for ThunderFocus, all sharing more or less the same functionalities:

1. The prototype I use on my own telescope (not in this repository).
2. A Teensy 4 "overkill" board, with RTC and dual focuser support, not yet implemented in software. The PCB also includes a flip-flap circuit for [my other project](https://github.com/marcocipriani01/ArduinoFlatBox).
3. The **recommended Arduino Nano PCB**, which supports:
- One focuser (bipolar motor)
- Hand controller
- Two PWM outputs and one digital for dew heaters and telescope mount power (with relay) respectively.
- I2C RTC clock predisposition, to be implemented in software
- Protection against over-current and reverse polarity

If you want to replicate this project, please build the third PCB. You can use the included CAM job to generate the gerber files and order them using services like [JLCPCB](https://jlcpcb.com/). The board is designed to be cut (following a line on the silkscreen) if you don't want the output controller: in this way, you can order 5 identical PCBs (the minimum on JLCPCB) and choose which one to cut and which not to. Maybe give the remaining boards to your friends and avoid wastes!

Building the board is an easy job, just add the components you see in the schematics. For reference, here's the list of what you need:

| Number | Component |
|----------|:-----------------------------:|
| C1 | 100uF electrolytic capacitor |
| C2 | 0.33uF electrolytic capacitor |
| C3 | 0.1uF electrolytic capacitor |
| C4 | 47uF electrolytic capacitor |
| C5 | 100uF electrolytic capacitor |
| CN1 | 2.1x5.5mm barrel plug socket |
| CN2 | 2.1x5.5mm barrel plug socket |
| CN3 | 2.1x5.5mm barrel plug socket |
| CN4 | 2.1x5.5mm barrel plug socket |
| D1 | 1N4004 diode |
| D2 | 1N4004 diode |
| DRV1 | DRV8825 stepper driver |
| F1 | 5x20 fuse holder |
| IC1 | LM7805 linear regulator |
| J2 | RJ11/RJ12 female connector |
| JP1 | 2x pinheader |
| JP2 | 5x pinheader |
| JP3 | 4x pinheader |
| JP4 | 2x pinheader |
| K1 | 12V relay |
| LED1 | 5mm red LED |
| Q2 | IRF540 N-channel MOSFET |
| Q3 | IRF540 N-channel MOSFET |
| Q5 | BC547 NPN transistor |
| R1 | 330 ohm resistor |
| R2 | 1K resistor |
| R3 | 4.7K resistor |
| R4 | 4.7K resistor |
| R5 | 10K resistor |
| U1 | Arduino Nano board |
|||

## 3D-printed brackets

At the moment, the only bracket in the repository is for the Sky-Watcher 200 f/5 newtonian (2017 model, newer ones may be different) and uses a circular connector. I'm looking forward to add new 3D models with the right connector - the RJ11. Feel free to submit yours using pull requests!

## The stepper motor

The firmware is pretty much motor/driver-agnostic. Just make sure to select the right driver type in the configuration files (`DRIVER_POLOLU` if you're using the Arduino Nano PCB). On my newtonian OTA, which has a crayford focuser and only moves a DSLR, I'm using a small NEMA 11 stepper motor. My recommendation is to use a geared (1:4 ~ 1:14) stepper if you're attaching the motor directly to the focuser axis or a direct stepper if on the knob of a dual-speed focuser. Use properly sized timing belt and pulley or a shaft coupler to connect the motor to the focuser.

## Development

Expand All @@ -53,8 +104,8 @@ I will be soon provide more info about them. For the moment, you'll find one 3D
2. Install the Arduino or Teensy core in the PlatformIO boards manager
3. Open the `ThunderFocus-firmware` folder inside VS Code
4. Select the PlatformIO Project Environment (`nanoatmega328` or `teensy40`) from the status bar, or add a custom one in `platformio.ini`
5. Open `src/config.h` and enable **one and only one** of the following lines:
- `#include "boards/ard_nano_proto.h"`
5. Open `src/config.h` and enable **one and only one** of the following lines (according to the PCB you built):
- `#include "boards/arduino_nano_pcb.h"`
- `#include "boards/teensy_max_pcb.h"`
6. Open the configuration file you enabled and make the appropriate changes (comments in the file will guide you)
- Select the pins according to your circuit
Expand Down

0 comments on commit d957c9c

Please sign in to comment.