<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zisi</id>
	<title>SatNOGS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.satnogs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zisi"/>
	<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/Special:Contributions/Zisi"/>
	<updated>2026-05-31T18:55:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=RFFE-modules&amp;diff=3770</id>
		<title>RFFE-modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=RFFE-modules&amp;diff=3770"/>
		<updated>2021-07-05T09:43:32Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Initial documentation for RFFEs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page tries to document all different RFFE modules that used in SatNOGS Network.&lt;br /&gt;
&lt;br /&gt;
==RFFE Set-Up==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
TxRx.png&lt;br /&gt;
Rx.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==RFFE Modules==&lt;br /&gt;
*[https://gitlab.com/rf-modules RFFE modules]&lt;br /&gt;
*[https://gpio.com/ RFFE modules]&lt;br /&gt;
*[https://wiki.satnogs.org/Antenna_switching RF-Switch], [https://community.libre.space/t/antenna-switching-project/2311 Community discussion]&lt;br /&gt;
*[https://community.libre.space/t/2m-70cm-diplexer/2370 2m/70cm Diplexer with Bias-T]&lt;br /&gt;
*[https://community.libre.space/t/filter-lna-diplexer-board/4429/19 LNA with Filters]&lt;br /&gt;
*[https://www.minikits.com.au RFFE modules]&lt;br /&gt;
*[https://enigma-shop.com/index.php?option=com_hikashop&amp;amp;ctrl=product&amp;amp;task=show&amp;amp;name=mitsubishi-ra07h4047m-rf-power-amplifier-module&amp;amp;cid=753 HPA module]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:TxRx.png&amp;diff=3769</id>
		<title>File:TxRx.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:TxRx.png&amp;diff=3769"/>
		<updated>2021-07-05T09:29:51Z</updated>

		<summary type="html">&lt;p&gt;Zisi: A Tx/Rx set up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A Tx/Rx set up&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Rx.png&amp;diff=3768</id>
		<title>File:Rx.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Rx.png&amp;diff=3768"/>
		<updated>2021-07-05T09:29:15Z</updated>

		<summary type="html">&lt;p&gt;Zisi: A Rx set up for 3 antennas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
A Rx set up for 3 antennas&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=3704</id>
		<title>Review of Commercial Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=3704"/>
		<updated>2020-11-14T17:29:52Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add a link related to G-5500 controller relays&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Review of Commercial Rotators}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
The existing rotator controllers are old-fashioned and use obsolete technology, either in hardware or in software. Almost all the motor drivers are based on electromechanical switches like relays. This introduces limits to the usefulness in connection with satellite observations, and cause reduced accuracy in the movements of the rotator. In the following, we will be reviewing the three most popular commercially available rotator systems in the ham radio community:&lt;br /&gt;
&lt;br /&gt;
*[https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500]&lt;br /&gt;
*[http://www.alfaradio.ca/ SPID rotators]&lt;br /&gt;
**[https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS]&lt;br /&gt;
**[https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
*SPX rotators,&lt;br /&gt;
**[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
**[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
**[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
==Yaesu G-5500==&lt;br /&gt;
&lt;br /&gt;
===Electronics===&lt;br /&gt;
&lt;br /&gt;
[https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500] is an AZ/EL rotator. The [http://www.radiomanual.info/schemi/ACC_rotator/Yaesu_G-5500_user.pdf datasheet] states that it has AC motors (26V@2.8A, specifications of transformer for both motors), potentiometer (not multiturn) for position feedback which are operated with +6V, and the control loop is implemented with analog IC's (comparators and op-amps). Also, the system has end-stops in both axes in both directions (min-max), that immediately cut off the current to the motors. The connection to the client is implemented via a rotator interface, for example an [https://gitlab.com/librespacefoundation/satnogs/g5500-ardushield ardushield] that runs [https://github.com/ppapadeas/k3ng_rotator_controller/tree/lsf-g5500 k3ng rotator firmware]. The cost of the entire system is ~750$ including an analog controller.&lt;br /&gt;
&lt;br /&gt;
Useful links:&lt;br /&gt;
&lt;br /&gt;
*[https://kb5wia.blogspot.com/2012/03/yaesu-g5500-rotator-motor-repair.html Motor Repair]&lt;br /&gt;
*[https://community.libre.space/t/g-5500-controller-relays/6303/4 G-5500 controller relays]&lt;br /&gt;
&lt;br /&gt;
[[File:Yaesug5500-electronics-1.jpeg|thumb|center|300x300px|alt=|Yaesu G5500 - Controller]]&lt;br /&gt;
&lt;br /&gt;
===Mechanical===&lt;br /&gt;
&lt;br /&gt;
The gear box of the rotator it is a spur gear box. Almost all the gears are made from laser cut sheet metal, and the output gear is a stack of laser cut sheet metal gears. Another interesting thing is the brake system, which is a torsional spring in the motor axis, that blocks the movement from output to input. When a torque is applied from output to input, the torsional spring &amp;quot;opens&amp;quot; and blocks the rotation. A mechanical failure in of one brackets that mount the pins of the gears was observed in [https://network.satnogs.org/stations/6/ station 6] after a lot of observations (the oval hole). This problem is caused by the antennas being back-mounted without a counterbalance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Yaesug5500-mech-1.jpeg|Yaesu G5500, Gear box&lt;br /&gt;
File:Yaesug5500-mech-2.jpeg|Yaesu G5500, Mechanical failure&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Alternative Rotator Controllers===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
&lt;br /&gt;
*[https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$&lt;br /&gt;
*[http://www.af6sa.com/projects/AZ_EL_Rotor.html, AZ-EL USB Rotor Controller AE-21]&lt;br /&gt;
*[http://www.arrl.org/files/file/ETP/Satellite%20Tracker%20Interface%20ver%201_2.pdf DIY solution from ARRL]&lt;br /&gt;
&lt;br /&gt;
==SPID rotators==&lt;br /&gt;
&lt;br /&gt;
This company it has two AZ/EL models:&lt;br /&gt;
&lt;br /&gt;
*[https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS]&lt;br /&gt;
*[https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
&lt;br /&gt;
===Electronics===&lt;br /&gt;
&lt;br /&gt;
Both the models are using DC motors, according to the datasheets, [https://www.rfhamdesign.com/downloads/spid-bigras-specifications.pdf BIG-RAS] and [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf RAS]. The power consumption for both rotators is 12V@6-10A or 18V@6-11A. For the position sensor, a reed switch is used, one in each axis. This sensor is mounted in the first stage of a worm gear box (in total two worm gear boxes), with a total of 6 magnets that produce pulses with Vp-p according to the Vcc of the reed switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
File:Ras-reedswitch.jpeg| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, magnets of position sensor&lt;br /&gt;
File:Ras-pulses.jpeg| RAS, pulses of position sensor (reed switch)&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It seems that the encoder is relative, so when the system starts, it is programmed for the zero position. When the system loses power, the rotator controller knows the last position, it stores the last position in a non-volatile memory.&lt;br /&gt;
Also the system has two hard stops in the elevation axis, that limits the rotation between 0-180 deg. These switches immediately cut off the current to the elevation motor. There is no end stop in the azimuth axis.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-endstop.jpeg|thumb|center|300x300px|alt=|RAS, end-stops in elevation axis]]&lt;br /&gt;
&lt;br /&gt;
The default rotator controller is [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf Rot2Prog], the motor driver consists of relays. The interface with the client is done with [Hamlib](https://hamlib.github.io/) via a USB. A note here: The cable is USB-A male to USB-A male, which is non-standard. The USB-Serial chip inside the Rot2Prog is normally powered via the USB port, and there are known issues with inrush current on Raspberry Pi units, resulting in the USB-Serial not operating. This can be resolved by modifying the Rot2Prog to power the FTDI chip from the onboard 5V regulator (which powers the main micro-controller) instead of the USB port.&lt;br /&gt;
&lt;br /&gt;
Two rectifier bridges are used for protection of the board from the currents of the DC motors. The cost of Rot2Prog  is ~250$.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-rotatorcontroller.jpeg|thumb|center|300x300px|alt=|RAS, Default rotator controller]]&lt;br /&gt;
&lt;br /&gt;
The [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf datasheet of RAS] refers to a parameter called [https://en.wikipedia.org/wiki/Mean_time_between_failures MTBF] which is the mean time between failures. For the rotator controller  is 15000 hours @ -5 to +40°C. For a system that is connected to the [https://network.satnogs.org/ SatNOGS network], i.e.:&lt;br /&gt;
&lt;br /&gt;
*in 1h, at least 2 observations of 15min each&lt;br /&gt;
*in 15000 hours, 30000 observations&lt;br /&gt;
*which means almost 2 years of operation&lt;br /&gt;
&lt;br /&gt;
Station #232 has observed one relay failure (open circuit, thankfully) approximately every year of operation. The relays are [https://octopart.com/rm85-2011-35-1012-relpol-30513939 readily available] via most major electronics parts outlets, and are fairly easy to replace with a desoldering station. A suitable [https://octopart.com/gd50-altech-24259941?r=sp relay socket] is also available to make relay changes easier.&lt;br /&gt;
&lt;br /&gt;
===Mechanical===&lt;br /&gt;
Both of the rotators consist of two stages of worm gear boxes. The second stage (the output) take all the load. In this system, the brake mechanism is the two stage worm gear box (big gear ratio and also the lead angle of worm gear). The cost for RAS with Rot2Prog controller is ~1200$, for BIG-RAS with Rot2Prog controller is ~1600$.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, First stage of worm gear&lt;br /&gt;
File:Ras-wormgear.jpg| RAS, Second (output) stage of worm gear&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Alternative Rotator Controllers===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
&lt;br /&gt;
*[https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$. This has a nice feature: &amp;quot;Allows different Azimuth and Elevation rotators from any manufacturer provided they both use either AC or DC motors.  (Example:  We can configure the Azimuth to use an OR-2800 and the Elevation to use a DC motor linear actuator.  OR, the Azimuth to use a T2X, and the Elevation to use a Yaesu G-550)&amp;quot;&lt;br /&gt;
*[http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf MD-01/02 HR], which is a high resolution edition rotator controller, with resolution of 0.1875 deg. Instead of using reed switches in the first stage of the worm gear box, it uses a hall effect sensor. Again, the motor driver consist of electromechanical switches, as shown in the picture on [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf page 3 of the datasheet]. This controller also supports soft-start functionality (PWM control), but only when the power supply is higher than 20V, [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 according to this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cost of this controller (only) is calculated:&lt;br /&gt;
&lt;br /&gt;
*RAS/HR, RAS rotator and MD-02/HR controller is ~[1435E](http://www.rfhamdesign.com/products/spid-hr-antenna-rotators/ras-hr-az--el-rotor/index.php)&lt;br /&gt;
*only the RAS rotator costs ~900E (an estimation)&lt;br /&gt;
&lt;br /&gt;
so the cost of MD-02/HR is ~500E.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Az-El controller front G.gif| RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;br /&gt;
File:Rotator-controller-md.png| Rotator Controller, MD-01/02 HR&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==SPX rotators==&lt;br /&gt;
&lt;br /&gt;
===Electronics &amp;amp; Mechanical===&lt;br /&gt;
&lt;br /&gt;
A series of AZ/EL rotators:&lt;br /&gt;
&lt;br /&gt;
*[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
*[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
*[http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
All of these rotators seem to be based on the same first stage worm gear box as the RAS. The second stage looks like [https://ae01.alicdn.com/kf/HTB1uzY4PVXXXXX4XXXXq6xXFXXXE/NMRV050-Speed-Ratio-50-1-Worm-Gearbox-14mm-19mm-Input-Shaft-90-Degree-Worm-Gear-Speed.jpg_640x640.jpg this] and changed according to the maximum output load (and maximum break torque). From all the data-sheets, it seems that the motor needs 12-18V@3-20A or 20-24V@3-20A (max current depends on load or rotator controller, e.g. PWM control). All of these rotators use the same controllers as RAS/BIG-RAS. The motors are DC (it seems that they are the same as RAS/BIG-RAS). For position sensor, a reed switch for the standard version and a hall effect sensor for high resolution version are used. &lt;br /&gt;
&lt;br /&gt;
There are no end-stops to this rotator in either azimuth or elevation, with the rotation limits entirely controlled in software, which can enable 720 degrees of continuous azimuth rotation, and up to 180 degrees of elevation if the users cable and antenna mounting setup supports it. Most SPX-based systems only use 90 degrees of elevation movement, but 'flip' mode (like the Yaesu G-5500) is theoretically possible.&lt;br /&gt;
&lt;br /&gt;
In this system, the brake system is the double worm gear. In the specification, the rotation range is AZ/EL:360/180deg - the same as the RAS. The available rotator controllers are the same as the SPID rotators (Rot2Prog, and MD-01/02).&lt;br /&gt;
&lt;br /&gt;
A SPX-02 has been operating on station #232 for approximately 2 years, running in fairly light duty. The only failure in the rotator noted was a snapped first-stage worm-drive, which appears to be a manufacturing defect, and was replaced by the manufacturer for free. The brushed motors produce some EMI on both 2m and 70cm when moving, which can be mitigated using ferrites clamped over the control cables near the motor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Spx-wormgear.jpeg| SPX, second stage of worm gear&lt;br /&gt;
File:Spx-station232.jpg|  SPX-02 rotator, [https://network.satnogs.org/stations/232/ station 232]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3684</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3684"/>
		<updated>2020-09-15T10:36:56Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add description of wiring&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485/UART loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wiring===&lt;br /&gt;
&lt;br /&gt;
The silkscreen of PCB shows where the end-stops, rotary encoders, motors and communication interface are connected. For example SW1 is referred to azimuth end-stop, I2C-1 to elevation rotary encoder and M1 to azimuth motor. An example of wiring with [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Cover_Box_-_Cabling SatNOGS Rotator v3].&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3683</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3683"/>
		<updated>2020-09-15T10:19:29Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add more details to Counterweight for Antenna&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~220 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tags/v3.1-pre-release&lt;br /&gt;
|latest-release-name= v3.1&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/&lt;br /&gt;
|documentation= [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ v3.0.1] [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Build_Sequence v3.1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread]. Also in this wiki page you can also find a &amp;quot;How to build the rotator&amp;quot;, mechanical analysis and all documentation about the [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator SatNOGS rotator].&lt;br /&gt;
&lt;br /&gt;
Also in this [https://www.ethercalc.org/v3specs list] is presented different rotators, either commercial or DIY builds.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||15&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||38&lt;br /&gt;
|-&lt;br /&gt;
|Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||[[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Frame Material||Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||7&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||?, ~30&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||?&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||280x140x140 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||~5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Design Goals====&lt;br /&gt;
Considering the specifications as detailed in the [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Mechanical_Analysis_.5BWIP.5D Mechanical Analysis], we would also like for the 3rd version of SatNOGS rotator to be:&lt;br /&gt;
&lt;br /&gt;
*inexpensive (less than €300, if possible)&lt;br /&gt;
*lightweight and portable (~6Kg, size:~300x~150x~150mm)&lt;br /&gt;
*rigid and durable&lt;br /&gt;
*easy to build and fix (try to use easily available materials)&lt;br /&gt;
*weatherproof&lt;br /&gt;
*electromagnetically shielded, so that noise in reception is reduced&lt;br /&gt;
*accurate (&amp;lt;1deg, backlash reduction and use of encoders at the axis)&lt;br /&gt;
&lt;br /&gt;
==Sourcing==&lt;br /&gt;
&lt;br /&gt;
'''3d Printing at a Fab Lab or your local hackerspace:''' If you don't have your own 3d printer, then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines, but this should be discussed with the Fab Lab or hackerspace. You then pay for the material, time or a combination of the two for each of the parts or any other agreement in place.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fabfoundation.org/fab-labs FabLabs]&lt;br /&gt;
*[https://wiki.hackerspaces.org/List_of_Hacker_Spaces List of hacker spaces]&lt;br /&gt;
&lt;br /&gt;
Most people building the rotator have had success builds with simple ABS material for the 3D printing parts.&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself, then you may be able to find a supplier that will do this for you.   ([http://www.kjnltd.co.uk/ Here's one in the United Kingdom].)&lt;br /&gt;
&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA]; they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
====Vendors Table====&lt;br /&gt;
&lt;br /&gt;
Like the [https://reprap.org/wiki/RepRap_Buyers%27_Guide RepRap Buyers' Guide wiki], feel free to populate the table. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Vendor&lt;br /&gt;
!Location&lt;br /&gt;
!Parts&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pololu.com/ pololu]&lt;br /&gt;
|USA, Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://mouser.com/ mouser]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.ebay.com/ ebay]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.aliexpress.com/ aliexpress]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://grobotronics.com/ grobotronics]&lt;br /&gt;
|GR, EU&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.motedis.com/shop/index.php motedis]&lt;br /&gt;
|DE, EU&lt;br /&gt;
|T-Slots, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://uk.misumi-ec.com/ Misumi]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|T-Slots, Tubes, Fasteners, Pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.omc-stepperonline.com/ omc-stepperonline]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Stepper motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.fastenal.ca/ fastenal]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mcmaster.com/ mcmaster]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.rs-online.com/ rs]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Electronics, fasteners, motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://8020.net/ 80/20]&lt;br /&gt;
|USA&lt;br /&gt;
|T-Slots&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pcbway.com/ pcbway]&lt;br /&gt;
|CN&lt;br /&gt;
|PCB fabrication&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.servocity.com/ servocity]&lt;br /&gt;
|USA&lt;br /&gt;
|Motors, T-slots, fasteners&lt;br /&gt;
|Most of parts are not metric&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Build Sequence==&lt;br /&gt;
&lt;br /&gt;
====Tools &amp;amp; Consumables====&lt;br /&gt;
Here are presented tools and consumables about part fabrication, port-processing and assembly process.&lt;br /&gt;
Most of the tools are available in every hackerspace, makerspaces, FabLabs etc. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Tool/Consumable&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Drill bits&lt;br /&gt;
|2mm for aluminum, 3mm, 4mm and 5mm for plastic&lt;br /&gt;
|-&lt;br /&gt;
|Drill driver&lt;br /&gt;
|For aluminum tube drill hole, 3D printed part&lt;br /&gt;
|-&lt;br /&gt;
|Sandpaper&lt;br /&gt;
|80(dry), 120(dry), 240(dry) and 1000(wet) grit&lt;br /&gt;
|-&lt;br /&gt;
|Acetone&lt;br /&gt;
|For acetone vapor bath&lt;br /&gt;
|-&lt;br /&gt;
|Hacksaw&lt;br /&gt;
|For aluminum Tube&lt;br /&gt;
|-&lt;br /&gt;
|Square File&lt;br /&gt;
|For worm axis, for use on steel&lt;br /&gt;
|-&lt;br /&gt;
|Precision Knife&lt;br /&gt;
|For general use, especially in 3d-Printed parts&lt;br /&gt;
|-&lt;br /&gt;
|Caliper&lt;br /&gt;
|Measuring Range 0-150mm&lt;br /&gt;
|-&lt;br /&gt;
|Combination Wrenches&lt;br /&gt;
|5.5mm, 7mm and 8mm&lt;br /&gt;
|-&lt;br /&gt;
|Thread-locker&lt;br /&gt;
|Like Loctite 271&lt;br /&gt;
|-&lt;br /&gt;
|Cyano acrylic glue&lt;br /&gt;
|Like Loctite 401&lt;br /&gt;
|-&lt;br /&gt;
|Screw driver&lt;br /&gt;
|Number 1 Phillips&lt;br /&gt;
|-&lt;br /&gt;
|Heat Gun&lt;br /&gt;
|For Heat-shrinkables or use a lighter&lt;br /&gt;
|-&lt;br /&gt;
|Ball-End L-Keys&lt;br /&gt;
|Hex 1.5mm, 2mm, 2.5mm, and 3mm&lt;br /&gt;
|-&lt;br /&gt;
|Soldering iron and consumables&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Wire Cutter&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Long-Nose Plier&lt;br /&gt;
|General purpose&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Parts====&lt;br /&gt;
Make sure you have all parts, according to [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM].&lt;br /&gt;
&lt;br /&gt;
Most of the parts could be fabricated by a FDM 3D-printer. Some parts have only 2D geometry so could be&lt;br /&gt;
fabricated by a laser cutter. Other parts have modifications of common(hardware) parts like threaded rods or&lt;br /&gt;
aluminum pipes. Also you could find a lot of guides for [https://www.3dhubs.com/knowledge-base/post-processing-fdm-printed-parts post processing for FDM printed parts].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:C1001.png|C1001, Aluminum Tube 6063 OD40mm TH1.5mm L240mm, 2 variants -1 and -3&lt;br /&gt;
File:C1010-3.png|C1010-3, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1011-3.png|C1011-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1020-1.png|C1020-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1021-1.png|C1021-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath], [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1022-3.png|C1022-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1030-1.png|C1030-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1040-1.png|C1040-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1041-1.png|C1041-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1042-1.png|C1042-1, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1043-1.png|C1043-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Support material, Brim Width: 2 mm&lt;br /&gt;
File:C1050.png|C1050, Aluminum Profile 20x20 B-type slot 6, 2 variants -1 and -5&lt;br /&gt;
File:C1060-1.png|C1060-1, M5 Threaded rod A2 stainless steel(304)&lt;br /&gt;
File:C1061.png|C1061, 2 variants -5 and -6, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1062-1.png|C1062-1, It is recommended to build in laser sintering like Shapeways with White Versatile Plastic (cost ~10€) or like C1030-1 and [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1070-1.png|C1070-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1071-1.png|C1071-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1072-1.png|C1072-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1083-1.png|C1083-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1080-3 2.png|C1080-3, Cover Box bottom part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1081-3 2.png|C1081-3, Cover Box top part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1082-5.png|C1082-5, Cover Box side part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1084-1.png|C1084-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Assembly====&lt;br /&gt;
Follow the [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ instructions for mechanical assembly] and also you can [https://www.youtube.com/watch?v=D6P9HK23Gmo watch timelapse]&lt;br /&gt;
Also, exploded views and instructions are present here.&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Prior to Step 8, the rotary encoders must be ready and prior to Step 11 the motor must be mounted in A1070-1. For the rotary encoder assembly look at the next section [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Rotator_Controller Rotator_Controller].}}&lt;br /&gt;
&lt;br /&gt;
Some notes for assembly:&lt;br /&gt;
&lt;br /&gt;
*Resolve collision between of end-stop arm and C1042-1 end-stop mount, [https://community.libre.space/t/rotator-3-1-end-stop-switch-mounting/3463 community post]&lt;br /&gt;
*[https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/7 Running the worm gear] and [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/9 lapping the worm gear] to get gear box running smooth&lt;br /&gt;
*[https://community.libre.space/t/stepper-motor-bolts-v3-1/3388 Collision between bolts and motor], this issue can be created by using wrong M4 screws(H1100-5) and washers(H1110-1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;180&amp;quot; heights=&amp;quot;180&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:A1010-1.png|Step 1, Prepare the assembly of worm gear&lt;br /&gt;
File:A1011.png|Step 2, Prepare the assembly of worm gear mount, 2 variants -1 and -2 (mirror)&lt;br /&gt;
File:A1020-1.png|Step 3, Prepare the assembly of shaft collar for worm wheel&lt;br /&gt;
File:A1033-1.png|Step 4, Prepare the encoder gear&lt;br /&gt;
File:A1070-1.png|Step 5, Prepare the Motor mount&lt;br /&gt;
File:A1060-1.png|Step 6, In case of DC motor configuration&lt;br /&gt;
File:A1031-1.png|Step 7, Bearing side without encoder and end-stop mounts&lt;br /&gt;
File:A1032-1.png|Step 8, Bearing side with encoder and end-stop mounts&lt;br /&gt;
File:A1030.png|Step 9, Prepare symmetric and asymmetric axis, 2 variants -1 and -3&lt;br /&gt;
File:A1001-3.png|Step 10, Frame with worm gear mount and A1001-1 assembly&lt;br /&gt;
File:A1040.png|Step 11, Rotator module 2 Variants -1 and -3, symmetric and asymetric  [[:File:Tip for Step 11 (A1040) -- Note 10 - use of M5 Nuts to attach Drill.jpg|(Assembly Tip - Note 10:Jam two M5 nuts together at end of shaft to easily run gearbox manually)]]&lt;br /&gt;
File:A1050-1.png|Step 12, Final step of Antenna Rotator&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Rotator Controller====&lt;br /&gt;
The default way of controlling the rotator is to use the [[SatNOGS Rotator Controller]].This works for both stepper motor and DC motor set ups (Note: If you are uing the [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Encoders the rotary encoders] these will need to be set up). An alternative is to use the [[SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller]], whih has been used as a stand alone set up for use with GPredict. &lt;br /&gt;
&lt;br /&gt;
It's also possible to use a standard 3d printing RAMPs 1.4 board as an alternative, though note that these are designed for steppers which may cause extra RF noise. A RAMPs 1.4 [https://github.com/TheSkorm/satnogs-rotator-ramps14 firmware] has been developed. &lt;br /&gt;
&lt;br /&gt;
====Cover Box - Cabling====&lt;br /&gt;
Prepare the cover box and install it to antenna rotator with rotator controller and cables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Cover_box_1.JPG| Put the C1080-3 with screws M4 L10 DIN912, C1084-1 and washers M4 DIN125 to the azimuth module. The screw with the Phillips Rounded Head Screws For Sheet Metal, M3,5 X 6,5, DIN 7981,INOX A2, C1082-5 to the C1080-3 and put the C1083-1. Note screw only the middle screw.&lt;br /&gt;
File:Power_cable_1.JPG| The power - data cable must be passed inside the azimuth axis. This solution is tested [https://network.satnogs.org/stations/200/ in station 200] without problem.&lt;br /&gt;
File:Power_cable_2.JPG| In the other side of power cable must be installed a connector with  4 terminals and waterproof like [https://grobotronics.com/connector-sp-4-pin-male.html Weipu - SP1310/P4I]. Also it is needed to have the female connector for cable that connected to the client. For cheaper solution use a bigger cable to connect the rotator with client and power source.&lt;br /&gt;
File:Other_cables_2.JPG|The 3 CAT5e UTP cables are 2x sensors (encoders - end stops) 1x power and data (RS-485). For color code use [https://en.wikipedia.org/wiki/Power_over_Ethernet#Pinouts 802.3af Standards A and B] from the power sourcing equipment perspective.&lt;br /&gt;
File:Other_cables_3.JPG|The other cables are for DC motor or stepper motors. In each side of the CAT5e UTP cables must be put a Heat-shrinkable asreferred in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM]. Also a Heat-shrinkable must be putin the cable gland in rotator controller for motor cables.&lt;br /&gt;
File:Other_cables_1.JPG|Pass all the cables though the hole in the bottom of C1080-3 &lt;br /&gt;
File:Motor_ferrite_bead.JPG|Add ferrite beads for motor cables, dimensions L25mm and OD 13mm&lt;br /&gt;
File:Velcro_for_controller_1.JPG|Add velcro to mount the rotator controller outside the box. Velcro tape specifications: Heavy duty, stick on, max 7Kg, 50mm x 100mm. The tape might be used to mount [https://wiki.satnogs.org/No_rotator client box]  in the rotator.&lt;br /&gt;
File:Rotator_controller_1.JPG| Cabling management inside the rotator controller. The controller is mounted to the rotator by using a tape as mentioned previously.&lt;br /&gt;
File:Rotator controller 2.JPG| Cabling management outside the rotator controller&lt;br /&gt;
File:Testing_1.JPG| The rotator is ready for testing, before the final step do not put the C1081-3, in order to most of components must be accessible&lt;br /&gt;
File:Testing 2.JPG| The final step. If everything is working properly, must be put the C1081-3 by using sheet metal screws as mentioned previously. In this step if the holes of C1081-3 are not aligned with the holes of the other two parts, C1082-5 and C1080-3, drill new holes and screw them, take a look in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/issues/73 issue 73]. Put stickers!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Testing====&lt;br /&gt;
You are ready! Proceed with [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Troubleshooting_hints testing].&lt;br /&gt;
&lt;br /&gt;
====Heading Calibration====&lt;br /&gt;
The heading calibration is a manual process:&lt;br /&gt;
&lt;br /&gt;
*Power the rotator, it starts moving in order to find the home position, to find the end-stops&lt;br /&gt;
*Remove the power from the rotator, the rotator is in home position&lt;br /&gt;
*Install the rotator to vertical axis by using U-Bolt clamps&lt;br /&gt;
*The azimuth axis it must be heading to the North, this is achieved by using a compass (e.g. from smart phone)&lt;br /&gt;
*Secure the rotator in the vertical axis&lt;br /&gt;
*Install the elevation axis with the same process, now the zero elevation is achieved by using a pocket level&lt;br /&gt;
*Secure the elevation axis&lt;br /&gt;
*In the case of wrong rotation:&lt;br /&gt;
**For stepper motors swap a pair of two stepper motor cables ([https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 it exists an open issue to be done by a command])&lt;br /&gt;
**For DC motors, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/commit/961fb696536e35642f2b7064cc3c64676ebebb17 change the sign of encoder reading], it is a hacky method but it would be resolved by [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 this issue]&lt;br /&gt;
&lt;br /&gt;
====Counterweight for Antenna====&lt;br /&gt;
It is necessary to balance the antenna in elevation and azimuth axis in order to not wear the gear box of rotator. In elevation axis would be done either by using back mounted antennas or by mounting the center of antenna mass in the mast. For a back mounted antenna, it is necessary to use counter-balance weights. An idea is to use weights that is used for training (it's cheap). The parts that used to mount weights to [https://www.wimo.com/en/x-quad X-quad antenna] are this [https://gitlab.com/librespacefoundation/satnogs/satnogs-hardware-misc/-/tree/master/mount-counterweight 3D printing part], a square aluminum profile 15x15 mm, weights with inner hole D28mm and M5 hex nuts DIN934 with M5 screws DIN912 L12 stainless steel to lock the weights in specific distance. Another way to [https://community.libre.space/t/quartapounds-satnogs-rotator-v3-1/3453/57 balance the antenna].&lt;br /&gt;
&lt;br /&gt;
[[File:Counter-weight.jpg|thumb|center|800x420px|alt=|Counterweights]]&lt;br /&gt;
&lt;br /&gt;
==Mechanical Analysis [WIP]==&lt;br /&gt;
&lt;br /&gt;
====Brake Torque====&lt;br /&gt;
The greatest force the tracker needs to withstand is the force created by strong wind. The worst case is when one antenna is elevated at 90 degs, facing the direction of the wind. We based our calculations on an [http://k7nv.com/notebook/topics/windload.html article] found online after comparing it to others. We “translated” the second table in metric (because we don’t understand imperial and because we needed same units system in our calculations)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Method&lt;br /&gt;
!Wind Zone(km/h)&lt;br /&gt;
!Height (m)&lt;br /&gt;
!Pressure(N/m^2)&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-C&lt;br /&gt;
|160&lt;br /&gt;
|N/A&lt;br /&gt;
|1280&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1500&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1290&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1160&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|990&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|1360&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Generic Formula&lt;br /&gt;
|150&lt;br /&gt;
|N/A&lt;br /&gt;
|1270&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and we applied the worst case model (EIA-222-F) in 3 different antennas: in the biggest one of our designs, and in two others, for which we obtained data from [http://download.qrz.ru/pub/hamradio/antenna/rotators/G-800SA_1000SA.pdf yaesu G800 rotator manual at page 3]. We assumed that antennas are mounted in 1m away from the azimuth axis. For our antenna with 2m length (actual, not wavelength), made by 2cm square tube, the generated torque was ≈600Kg*cm. For the 144MHz 10-elements Yagi from the article is ≈6000Kg*cm and for the third 430MHz, 12-elements Yagi is ≈1800Kg*cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Moment of inertia====&lt;br /&gt;
Now for the moment of inertia: (for all installation methods we assumed that antennas are counterbalanced in the elevation axis) the worst case scenario here is to use two 3kg (our designs are less than 1kg) back mounted yagis with 3kg counterbalances both mounted in 0.75m away from azimuth axis. The torque you need in order to accelerate this system from ω=0deg/s angular velocity to ω=5deg/s (the math about angular velocity is below) in one second is about 60kg*cm.&lt;br /&gt;
&lt;br /&gt;
Note: we suppose that the mass of antennas is near to the altitude axis, so the torque of this axis that is needed to accelerate is approximately 0.&lt;br /&gt;
&lt;br /&gt;
*M1: torque of Azimuth axis&lt;br /&gt;
*L: length of center of mass of antennas from azimuth axis (0.75m)&lt;br /&gt;
*m: mass of antennas and of counterweight (3kg + 3kg = 6kg)&lt;br /&gt;
*I: moment inertia&lt;br /&gt;
*a: angular acceleration of azimuth axis 5deg/s^2&lt;br /&gt;
*I = I1 + I2 = m*L^2 + m*L^2 = 2*m*L^2 = 6.75 kg*m^2&lt;br /&gt;
*M1 = I*a = 6.75kgm^2 * 0.087rad/s^2 = 0.58 Nm = 5.8 kgm = 58 kgcm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Angular velocity====&lt;br /&gt;
(How well do you remember trigonometry?)For the angular velocity max needed in altitude axis the things are straightforward. The closer is the satellite the larger the velocity. According to the wikipedia article about LEO, the lowest height limit is 160 km and the speed unit to orbit earth in this altitude is 7,8 km/s. As a result, maximum velocity in ALT axis is 2,8 deg/s. In ALT AZ rotator design there is a well known limitation: the closer something passes near zenith the biggest gets the velocity of the AZ axis. Therefore, we have analyzed this problem to figure out the optimal velocity and how high we are allowed to track a target in relation to AZ velocity. The picture below illustrates a ground station B which tracks a satellite Γ in X degrees altitude. The satellite velocity at this point is vertical to the screen (page) plane.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
The equations that lead to maximum altitude at which we can track in relation to AZ angular velocity are&lt;br /&gt;
&lt;br /&gt;
*ω : angular velocity of AZ DOF in rad/s&lt;br /&gt;
*H = ΑΕ + ΕΓ : Minimum Height of LEO, 160 km&lt;br /&gt;
*R = ΑΕ : Radius of Earth, 6500 km&lt;br /&gt;
*u : linear velocity of satellite that rotates in 160km height is 7.8 km/s&lt;br /&gt;
*ΒΔ = u / ω : ΒΔ in km&lt;br /&gt;
*α = atan(ΒΔ / R)&lt;br /&gt;
*δ = π - α&lt;br /&gt;
*γ = asin( sqrt(R^2+ΒΔ^2) * sin(δ) / (H+R) )&lt;br /&gt;
*ά = π - δ - γ&lt;br /&gt;
*ΓΔ = (H+R) * sin(ά) / sin(δ)&lt;br /&gt;
*χ = atan(ΓΔ / ΒΔ)&lt;br /&gt;
&lt;br /&gt;
Below you can see the plot of the equations mentioned above, where horizontal axis represents angular velocity (ω) in deg/s and vertical axis shows the max track altitude (χ) for lower bound of LEO.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity_plot.png|thumb|center|800x420px|alt=|Angular Velocity Plot]]&lt;br /&gt;
&lt;br /&gt;
After studying this diagram, we came up to the conclusion that an angular velocity of 5 deg/s is adequate. For this decision, we took into consideration the main lobe of antenna (Δ3db) which in most situations is about 20 deg.&lt;br /&gt;
&lt;br /&gt;
====Pulleys/Belts/Gearing====&lt;br /&gt;
Horizontal distance between pulleys (P1, P2) is 58mm.&lt;br /&gt;
Vertical distance between pulleys (P1, P2) is w = 9.5mm.&lt;br /&gt;
&lt;br /&gt;
Pulleys and Belt are GT2, 2mm pitch. &lt;br /&gt;
Belt width, 6mm. &lt;br /&gt;
Belt thickness, 1.38mm (0.76 tooth). &lt;br /&gt;
&lt;br /&gt;
Wrap angle in both pulleys is larger than 60deg. &lt;br /&gt;
At least 6 teeth in contact with the pulley at any given time. &lt;br /&gt;
In practice that means you want a minimum of a 12 tooth pulley, and usually try to get at least 18 teeth. &lt;br /&gt;
&lt;br /&gt;
Outer Diameter of pulleys:&lt;br /&gt;
&lt;br /&gt;
P(T) | OD(mm) &amp;lt;br /&amp;gt;&lt;br /&gt;
16   | 10.2 &amp;lt;br /&amp;gt;&lt;br /&gt;
20   | 12.7 &amp;lt;br /&amp;gt;&lt;br /&gt;
36   | 22.9 &amp;lt;br /&amp;gt;&lt;br /&gt;
40   | 25.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Belt calculation (according to calculator):&lt;br /&gt;
&lt;br /&gt;
Ratio    | P1(T)   | P2(T)   | Belt(T) | L(mm)  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.25|16|36|85/86|58.65/59.66  &amp;lt;br /&amp;gt;&lt;br /&gt;
1.8|20|36|86/87/88|57.78/58.78/59.78  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.5|16|40|87/88|58.5/59.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
2|20|40|89/90|58.65/59.66 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Motor Maximun no-load speed, 200RPM = 1200deg/s &lt;br /&gt;
Motor Maximum stall-torue, 1.2Nm &lt;br /&gt;
&lt;br /&gt;
[[File:Motor_perfomance_graph.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
Position of idler do not care, or min 1.3*P1, max 1.5*P1 (for 20T, ~16mm/~20mm).&lt;br /&gt;
&lt;br /&gt;
Belt gear selection:&lt;br /&gt;
&lt;br /&gt;
*20/36 with 1.8 ratio and 86T/172mm belt without idler&lt;br /&gt;
*20/40 with 2 ratio and 90T/190mm belt with idler&lt;br /&gt;
&lt;br /&gt;
To calculate Deflection force, (page T-31, sdp - design-guidelines)&lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 1.3kg&lt;br /&gt;
*span length, t = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*Fd,min =&lt;br /&gt;
*Fd,max =&lt;br /&gt;
*2.8kg Working Tension [shapeoko - Belts and Pulleys](https://www.shapeoko.com/wiki/index.php/Belts_and_Pulleys#Tensile_Cord_Materials)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   P3  &amp;lt;br /&amp;gt;&lt;br /&gt;
  /  \  &amp;lt;br /&amp;gt;&lt;br /&gt;
 P1  P2  &amp;lt;br /&amp;gt;&lt;br /&gt;
     |  &amp;lt;br /&amp;gt;&lt;br /&gt;
     P4-P5  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Determination of design load&lt;br /&gt;
&lt;br /&gt;
According to perfomance graph of DC motor, the optimal output power is Tm = 0.6Nm  with efficiency of 0.2 and 100RPM = 600deg/s. &lt;br /&gt;
Select a service factor of 1.5 (service factors between 1.5 and 2.0 are generally recommended when&lt;br /&gt;
designing small pitch synchronous drives). &lt;br /&gt;
Tpeak = SF*Tm = 1.5*0.6 = 0.9Nm &lt;br /&gt;
&lt;br /&gt;
*Choice of belt pitch&lt;br /&gt;
&lt;br /&gt;
Due to backslash and accuracy in both directions of movements and volume constrains, we choose GT2, pitch 2mm.&lt;br /&gt;
&lt;br /&gt;
*Check belt pitch selection based on individual graphs&lt;br /&gt;
&lt;br /&gt;
Due to Tpeak = 0.9Nm No-load speed,(Speed of fastest shaft) = 100RPM = 600deg/s &lt;br /&gt;
GT2 pitch 2mm belt is the better solution for our application. &lt;br /&gt;
&lt;br /&gt;
*Determine speed ratio&lt;br /&gt;
&lt;br /&gt;
Speed ratio 1.8-2.25 according to specification of output rotation speed of 5deg/s.&lt;br /&gt;
&lt;br /&gt;
*Check belt speed&lt;br /&gt;
&lt;br /&gt;
V(m/s) = 0.0000524 x pulley PD (mm) x pulley rpm = 0.066548m/s &lt;br /&gt;
Belt speeds up to 6,500 fpm (33.02 m/s) do not require special pulleys. &lt;br /&gt;
&lt;br /&gt;
*Determine belt length&lt;br /&gt;
&lt;br /&gt;
Table 'Belt calculation (according to calculator)'&lt;br /&gt;
Teeth in mesh: 9&lt;br /&gt;
&lt;br /&gt;
*Determine the belt width&lt;br /&gt;
&lt;br /&gt;
From Table 43 &lt;br /&gt;
torque = 0.17Nm &lt;br /&gt;
Length Correction Factor = 0.9 &lt;br /&gt;
width multiplier = 1.00 &lt;br /&gt;
torque*Length Correction Factor*width multiplier = 0.17*0.9*1.00 = 0.153Nm &lt;br /&gt;
Teeth in mesh: 9 &lt;br /&gt;
Tpeak = 0.9Nm, so belt width is nice for our application &lt;br /&gt;
&lt;br /&gt;
*Check the number of teeth in mesh&lt;br /&gt;
&lt;br /&gt;
Teeth in mesh: 9 according to calculator &lt;br /&gt;
&lt;br /&gt;
*Determine proper belt installation tension&lt;br /&gt;
&lt;br /&gt;
SECTION 10, on page T50, look at 'To calculate Deflection force, (page T-31, sdp - design-guidelines)' &lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 0.812*DQ/d + mS^2 = 12.8lb + 0 = 5.8kg&lt;br /&gt;
*DQ = Tpeak = 0.9Nm = 7.9lb-in&lt;br /&gt;
*d = 12.7mm = 0.5in&lt;br /&gt;
*S = (0.5*100/3.82)/1000 = 0.0131ft/min&lt;br /&gt;
*m = 0.039&lt;br /&gt;
*span length, t = sqrt(CD^2 - (PD-pd/2)^2) = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*t/L = 0.32&lt;br /&gt;
*Fd,min = 0.8lb = 0.36kg&lt;br /&gt;
*Fd,max = 0.9lb = 0.41kg&lt;br /&gt;
&lt;br /&gt;
*Safety factor 1.5&lt;br /&gt;
&lt;br /&gt;
*P2 timing pulley torque - Maximum radial load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
Tpeak = 0.9Nm &lt;br /&gt;
TorqueP2 = 2*0.9Nm = 1.8Nm, PDp2 = 25.5mm &lt;br /&gt;
Radial static load of 625ZZ is 0.38kN &lt;br /&gt;
T-39&lt;br /&gt;
&lt;br /&gt;
*Maximum thrust load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
*Maximum radial and thrust load of output ball bearings 6008zz&lt;br /&gt;
&lt;br /&gt;
Calculate or evaluate correct loads for deep groove ball bearings&lt;br /&gt;
radial static load = 11.6kN &lt;br /&gt;
thrust static load = 0.7*11.6kN = 8.12kN &lt;br /&gt;
This type of construction permits the bearings to support relatively high thrust load in either direction. &lt;br /&gt;
In fact the thrust load capacity is about 70% of the radial load capacity. A ball bearing primarily  designed &lt;br /&gt;
to support radial load can also support high thrust load; because only few balls carry the radial load, &lt;br /&gt;
whereas all the balls can withstand the thrust load. &lt;br /&gt;
&lt;br /&gt;
*Maximum self-locking or back-drivable torque of gear box (according to more weak component)&lt;br /&gt;
&lt;br /&gt;
It necessary to achieve [specs](https://community.libre.space/t/satnogs-rotator-version-3/226), 60Nm (6Kg in 1 meter)&lt;br /&gt;
&lt;br /&gt;
*Nominal torque of drivable torque of gear box (according to more weak component) and maximum rotational speed of gear box&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*[https://sdp-si.com/eStore/CenterDistanceDesigner sdp distance calculator]&lt;br /&gt;
*[http://www.ebay.com/itm/2GT-Timing-Belt-L-172-232-240-244-640-810-GT2-Belts-closed-loop-5pcs-lot-/221977955532?var=&amp;amp;hash=item33aeeacccc:m:me5GvSt_amrm6RWT03Ut4JA belt GT2-6mm wide, 172mm]&lt;br /&gt;
*[https://www.ebay.com/itm/2GT-GT2-synchronous-Timing-belt-Perimeter-98-194mm-width-6-9mm-Cogged-close-loop/222574382655?ssPageName=STRK%3AMEBIDX%3AIT&amp;amp;var=521434616407&amp;amp;_trksid=p2060353.m2749.l2649 belt GT2-6mm wide, 180mm]&lt;br /&gt;
*[http://www.ebay.com/itm/5pcs-Timing-Pulley-GT2-Idler-16-20T-gear-Bearing-Reprap-6mm-Belt-3-5mm-Bore-3D-/132195520937?var=&amp;amp;hash=item1ec77791a9:m:mljSYBViBlKOgXr3Gy-u0Tg idler pulley, no-teeth-ID3mm-OD18mm]&lt;br /&gt;
*[http://www.brecoflex.com/products/pulleys/design-guidelines/ brecoflex - design-guidelines]&lt;br /&gt;
*[http://www.shreegeeimpex.com/TECH_DATA_PAG/idlers_ten.htm shreegeeimpex - design-guidelines]&lt;br /&gt;
*[http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf sdp - design-guidelines]&lt;br /&gt;
&lt;br /&gt;
====Motor Specification====&lt;br /&gt;
&lt;br /&gt;
General Specification about motors. The voltage and current consumption also it depends from the motor controller which is (maybe) different&lt;br /&gt;
from [https://wiki.satnogs.org/SatNOGS_Rotator_Controller SatNOGS Rotator Controller].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Specification&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Stall Torque (Nm)&lt;br /&gt;
|0.4 - 1.5&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Speed (RPM)&lt;br /&gt;
|100 - 200&lt;br /&gt;
|-&lt;br /&gt;
|Size (mm) (LxWxH)&lt;br /&gt;
|47x42x64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Motor mount dimensions.png|Motor mount dimensions&lt;br /&gt;
File:Max motor height.png|Maximum Motor Height&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worm Gear Box Calculations====&lt;br /&gt;
&lt;br /&gt;
*Gear ratio: i12 = 30&lt;br /&gt;
*Angle between axis of gears: δ = 90 deg&lt;br /&gt;
*Number of threads in worm: If i12 &amp;gt;= 30 then z1 = 1&lt;br /&gt;
*Number of teeth in worm wheel: z2 = i12*z1 = 30&lt;br /&gt;
*Center distance: initial case a = 45.5 mm&lt;br /&gt;
*Worm reference diameter: AGMA d01&amp;gt;= 11.5*(a/25.4)^0.875 = 19.15 mm, so d01 = 19.5mm&lt;br /&gt;
*Worm wheel reference: d02 = 2*a - d01 = 71.5 mm&lt;br /&gt;
*Axial module: ms = d02/z2 = 2.38 , so ms = 2.5&lt;br /&gt;
&lt;br /&gt;
Recalculate d02, a with new axial module&lt;br /&gt;
&lt;br /&gt;
*d02 = z2*ms = 75mm, a = (d02+d01)/2 = 47.25mm&lt;br /&gt;
*Axial pitch: ts = π*ms = 7.854mm&lt;br /&gt;
*Reference lead angle: γ0 = atan(d02/(i12*d01)) = 7.3 deg&lt;br /&gt;
*Worm tip diameter: dk1 = d01 + 2*hk = 24.5mm&lt;br /&gt;
**Worm teeth reference addendum in axial section: hk = hk* *ms = 2.5mm&lt;br /&gt;
**Worm tooth reference addendum coefficient: hk* = 1&lt;br /&gt;
*Worm root diameter: df1 = d01 - 2*hf = 13.5mm&lt;br /&gt;
**Worm tooth reference dedendum: hf = hf* _ms = 1.2_ms = 3mm&lt;br /&gt;
**Dedendum coefficient: hf* = 1.2&lt;br /&gt;
*Worm length: L = 2.5_ms_sqrt(z2+2) = 35.36mm&lt;br /&gt;
*Worm tooth thickness: smx1 = smx1* * ts = 3.927mm&lt;br /&gt;
**Tooth thickness coefficient: smx1* = 0.5&lt;br /&gt;
*Normal pressure angle: aon = 20 deg&lt;br /&gt;
*Worm wheel throat diameter: dk2 = d02+2*hk = 80mm&lt;br /&gt;
*Worm wheel root diameter: df2 = d02 - 2*hf = 69mm&lt;br /&gt;
*Worm wheel outside diameter: de2 = dk2 + 2*mx = 83.5mm&lt;br /&gt;
**Worm wheel tooth external addendum: mx = n*ms, 0.4&amp;lt;=n&amp;lt;=1.5&lt;br /&gt;
*Effective worm wheel face width: b2H,max = sqrt((2_a - df2)^2 - (2_a - de2)^2) = 23mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3682</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=3682"/>
		<updated>2020-09-15T10:12:04Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add how to balance the antennas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~220 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tags/v3.1-pre-release&lt;br /&gt;
|latest-release-name= v3.1&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/&lt;br /&gt;
|documentation= [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ v3.0.1] [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Build_Sequence v3.1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread]. Also in this wiki page you can also find a &amp;quot;How to build the rotator&amp;quot;, mechanical analysis and all documentation about the [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator SatNOGS rotator].&lt;br /&gt;
&lt;br /&gt;
Also in this [https://www.ethercalc.org/v3specs list] is presented different rotators, either commercial or DIY builds.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
|Plastic Parts||15&lt;br /&gt;
|-&lt;br /&gt;
|Non Printed Parts||38&lt;br /&gt;
|-&lt;br /&gt;
|Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
|Controller Electronics||[[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
|Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
|Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
|Frame Material||Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
|Speed (deg/sec)||7&lt;br /&gt;
|-&lt;br /&gt;
|Torque (Nm)||?, ~30&lt;br /&gt;
|-&lt;br /&gt;
|Brake Torque (Nm)||?&lt;br /&gt;
|-&lt;br /&gt;
|Dimensions (mm)||280x140x140 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
|Weight (kg)||~5&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Design Goals====&lt;br /&gt;
Considering the specifications as detailed in the [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Mechanical_Analysis_.5BWIP.5D Mechanical Analysis], we would also like for the 3rd version of SatNOGS rotator to be:&lt;br /&gt;
&lt;br /&gt;
*inexpensive (less than €300, if possible)&lt;br /&gt;
*lightweight and portable (~6Kg, size:~300x~150x~150mm)&lt;br /&gt;
*rigid and durable&lt;br /&gt;
*easy to build and fix (try to use easily available materials)&lt;br /&gt;
*weatherproof&lt;br /&gt;
*electromagnetically shielded, so that noise in reception is reduced&lt;br /&gt;
*accurate (&amp;lt;1deg, backlash reduction and use of encoders at the axis)&lt;br /&gt;
&lt;br /&gt;
==Sourcing==&lt;br /&gt;
&lt;br /&gt;
'''3d Printing at a Fab Lab or your local hackerspace:''' If you don't have your own 3d printer, then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines, but this should be discussed with the Fab Lab or hackerspace. You then pay for the material, time or a combination of the two for each of the parts or any other agreement in place.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fabfoundation.org/fab-labs FabLabs]&lt;br /&gt;
*[https://wiki.hackerspaces.org/List_of_Hacker_Spaces List of hacker spaces]&lt;br /&gt;
&lt;br /&gt;
Most people building the rotator have had success builds with simple ABS material for the 3D printing parts.&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself, then you may be able to find a supplier that will do this for you.   ([http://www.kjnltd.co.uk/ Here's one in the United Kingdom].)&lt;br /&gt;
&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA]; they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
====Vendors Table====&lt;br /&gt;
&lt;br /&gt;
Like the [https://reprap.org/wiki/RepRap_Buyers%27_Guide RepRap Buyers' Guide wiki], feel free to populate the table. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Vendor&lt;br /&gt;
!Location&lt;br /&gt;
!Parts&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pololu.com/ pololu]&lt;br /&gt;
|USA, Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://mouser.com/ mouser]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.ebay.com/ ebay]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.aliexpress.com/ aliexpress]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://grobotronics.com/ grobotronics]&lt;br /&gt;
|GR, EU&lt;br /&gt;
|Motors, electronics, Fasteners, T-Slots, pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.motedis.com/shop/index.php motedis]&lt;br /&gt;
|DE, EU&lt;br /&gt;
|T-Slots, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://uk.misumi-ec.com/ Misumi]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|T-Slots, Tubes, Fasteners, Pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.omc-stepperonline.com/ omc-stepperonline]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Stepper motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.fastenal.ca/ fastenal]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.mcmaster.com/ mcmaster]&lt;br /&gt;
|USA&lt;br /&gt;
|Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.rs-online.com/ rs]&lt;br /&gt;
|Worldwide&lt;br /&gt;
|Electronics, fasteners, motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://8020.net/ 80/20]&lt;br /&gt;
|USA&lt;br /&gt;
|T-Slots&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.pcbway.com/ pcbway]&lt;br /&gt;
|CN&lt;br /&gt;
|PCB fabrication&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.servocity.com/ servocity]&lt;br /&gt;
|USA&lt;br /&gt;
|Motors, T-slots, fasteners&lt;br /&gt;
|Most of parts are not metric&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Build Sequence==&lt;br /&gt;
&lt;br /&gt;
====Tools &amp;amp; Consumables====&lt;br /&gt;
Here are presented tools and consumables about part fabrication, port-processing and assembly process.&lt;br /&gt;
Most of the tools are available in every hackerspace, makerspaces, FabLabs etc. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Tool/Consumable&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Drill bits&lt;br /&gt;
|2mm for aluminum, 3mm, 4mm and 5mm for plastic&lt;br /&gt;
|-&lt;br /&gt;
|Drill driver&lt;br /&gt;
|For aluminum tube drill hole, 3D printed part&lt;br /&gt;
|-&lt;br /&gt;
|Sandpaper&lt;br /&gt;
|80(dry), 120(dry), 240(dry) and 1000(wet) grit&lt;br /&gt;
|-&lt;br /&gt;
|Acetone&lt;br /&gt;
|For acetone vapor bath&lt;br /&gt;
|-&lt;br /&gt;
|Hacksaw&lt;br /&gt;
|For aluminum Tube&lt;br /&gt;
|-&lt;br /&gt;
|Square File&lt;br /&gt;
|For worm axis, for use on steel&lt;br /&gt;
|-&lt;br /&gt;
|Precision Knife&lt;br /&gt;
|For general use, especially in 3d-Printed parts&lt;br /&gt;
|-&lt;br /&gt;
|Caliper&lt;br /&gt;
|Measuring Range 0-150mm&lt;br /&gt;
|-&lt;br /&gt;
|Combination Wrenches&lt;br /&gt;
|5.5mm, 7mm and 8mm&lt;br /&gt;
|-&lt;br /&gt;
|Thread-locker&lt;br /&gt;
|Like Loctite 271&lt;br /&gt;
|-&lt;br /&gt;
|Cyano acrylic glue&lt;br /&gt;
|Like Loctite 401&lt;br /&gt;
|-&lt;br /&gt;
|Screw driver&lt;br /&gt;
|Number 1 Phillips&lt;br /&gt;
|-&lt;br /&gt;
|Heat Gun&lt;br /&gt;
|For Heat-shrinkables or use a lighter&lt;br /&gt;
|-&lt;br /&gt;
|Ball-End L-Keys&lt;br /&gt;
|Hex 1.5mm, 2mm, 2.5mm, and 3mm&lt;br /&gt;
|-&lt;br /&gt;
|Soldering iron and consumables&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Wire Cutter&lt;br /&gt;
|For cables&lt;br /&gt;
|-&lt;br /&gt;
|Long-Nose Plier&lt;br /&gt;
|General purpose&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Parts====&lt;br /&gt;
Make sure you have all parts, according to [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM].&lt;br /&gt;
&lt;br /&gt;
Most of the parts could be fabricated by a FDM 3D-printer. Some parts have only 2D geometry so could be&lt;br /&gt;
fabricated by a laser cutter. Other parts have modifications of common(hardware) parts like threaded rods or&lt;br /&gt;
aluminum pipes. Also you could find a lot of guides for [https://www.3dhubs.com/knowledge-base/post-processing-fdm-printed-parts post processing for FDM printed parts].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:C1001.png|C1001, Aluminum Tube 6063 OD40mm TH1.5mm L240mm, 2 variants -1 and -3&lt;br /&gt;
File:C1010-3.png|C1010-3, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1011-3.png|C1011-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1020-1.png|C1020-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1021-1.png|C1021-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath], [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1022-3.png|C1022-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1030-1.png|C1030-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1040-1.png|C1040-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1041-1.png|C1041-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1042-1.png|C1042-1, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1043-1.png|C1043-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Support material, Brim Width: 2 mm&lt;br /&gt;
File:C1050.png|C1050, Aluminum Profile 20x20 B-type slot 6, 2 variants -1 and -5&lt;br /&gt;
File:C1060-1.png|C1060-1, M5 Threaded rod A2 stainless steel(304)&lt;br /&gt;
File:C1061.png|C1061, 2 variants -5 and -6, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1062-1.png|C1062-1, It is recommended to build in laser sintering like Shapeways with White Versatile Plastic (cost ~10€) or like C1030-1 and [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1070-1.png|C1070-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1071-1.png|C1071-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1072-1.png|C1072-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1083-1.png|C1083-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1080-3 2.png|C1080-3, Cover Box bottom part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1081-3 2.png|C1081-3, Cover Box top part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1082-5.png|C1082-5, Cover Box side part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1084-1.png|C1084-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Assembly====&lt;br /&gt;
Follow the [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ instructions for mechanical assembly] and also you can [https://www.youtube.com/watch?v=D6P9HK23Gmo watch timelapse]&lt;br /&gt;
Also, exploded views and instructions are present here.&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Prior to Step 8, the rotary encoders must be ready and prior to Step 11 the motor must be mounted in A1070-1. For the rotary encoder assembly look at the next section [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Rotator_Controller Rotator_Controller].}}&lt;br /&gt;
&lt;br /&gt;
Some notes for assembly:&lt;br /&gt;
&lt;br /&gt;
*Resolve collision between of end-stop arm and C1042-1 end-stop mount, [https://community.libre.space/t/rotator-3-1-end-stop-switch-mounting/3463 community post]&lt;br /&gt;
*[https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/7 Running the worm gear] and [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/9 lapping the worm gear] to get gear box running smooth&lt;br /&gt;
*[https://community.libre.space/t/stepper-motor-bolts-v3-1/3388 Collision between bolts and motor], this issue can be created by using wrong M4 screws(H1100-5) and washers(H1110-1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;180&amp;quot; heights=&amp;quot;180&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:A1010-1.png|Step 1, Prepare the assembly of worm gear&lt;br /&gt;
File:A1011.png|Step 2, Prepare the assembly of worm gear mount, 2 variants -1 and -2 (mirror)&lt;br /&gt;
File:A1020-1.png|Step 3, Prepare the assembly of shaft collar for worm wheel&lt;br /&gt;
File:A1033-1.png|Step 4, Prepare the encoder gear&lt;br /&gt;
File:A1070-1.png|Step 5, Prepare the Motor mount&lt;br /&gt;
File:A1060-1.png|Step 6, In case of DC motor configuration&lt;br /&gt;
File:A1031-1.png|Step 7, Bearing side without encoder and end-stop mounts&lt;br /&gt;
File:A1032-1.png|Step 8, Bearing side with encoder and end-stop mounts&lt;br /&gt;
File:A1030.png|Step 9, Prepare symmetric and asymmetric axis, 2 variants -1 and -3&lt;br /&gt;
File:A1001-3.png|Step 10, Frame with worm gear mount and A1001-1 assembly&lt;br /&gt;
File:A1040.png|Step 11, Rotator module 2 Variants -1 and -3, symmetric and asymetric  [[:File:Tip for Step 11 (A1040) -- Note 10 - use of M5 Nuts to attach Drill.jpg|(Assembly Tip - Note 10:Jam two M5 nuts together at end of shaft to easily run gearbox manually)]]&lt;br /&gt;
File:A1050-1.png|Step 12, Final step of Antenna Rotator&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Rotator Controller====&lt;br /&gt;
The default way of controlling the rotator is to use the [[SatNOGS Rotator Controller]].This works for both stepper motor and DC motor set ups (Note: If you are uing the [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Encoders the rotary encoders] these will need to be set up). An alternative is to use the [[SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller]], whih has been used as a stand alone set up for use with GPredict. &lt;br /&gt;
&lt;br /&gt;
It's also possible to use a standard 3d printing RAMPs 1.4 board as an alternative, though note that these are designed for steppers which may cause extra RF noise. A RAMPs 1.4 [https://github.com/TheSkorm/satnogs-rotator-ramps14 firmware] has been developed. &lt;br /&gt;
&lt;br /&gt;
====Cover Box - Cabling====&lt;br /&gt;
Prepare the cover box and install it to antenna rotator with rotator controller and cables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Cover_box_1.JPG| Put the C1080-3 with screws M4 L10 DIN912, C1084-1 and washers M4 DIN125 to the azimuth module. The screw with the Phillips Rounded Head Screws For Sheet Metal, M3,5 X 6,5, DIN 7981,INOX A2, C1082-5 to the C1080-3 and put the C1083-1. Note screw only the middle screw.&lt;br /&gt;
File:Power_cable_1.JPG| The power - data cable must be passed inside the azimuth axis. This solution is tested [https://network.satnogs.org/stations/200/ in station 200] without problem.&lt;br /&gt;
File:Power_cable_2.JPG| In the other side of power cable must be installed a connector with  4 terminals and waterproof like [https://grobotronics.com/connector-sp-4-pin-male.html Weipu - SP1310/P4I]. Also it is needed to have the female connector for cable that connected to the client. For cheaper solution use a bigger cable to connect the rotator with client and power source.&lt;br /&gt;
File:Other_cables_2.JPG|The 3 CAT5e UTP cables are 2x sensors (encoders - end stops) 1x power and data (RS-485). For color code use [https://en.wikipedia.org/wiki/Power_over_Ethernet#Pinouts 802.3af Standards A and B] from the power sourcing equipment perspective.&lt;br /&gt;
File:Other_cables_3.JPG|The other cables are for DC motor or stepper motors. In each side of the CAT5e UTP cables must be put a Heat-shrinkable asreferred in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM]. Also a Heat-shrinkable must be putin the cable gland in rotator controller for motor cables.&lt;br /&gt;
File:Other_cables_1.JPG|Pass all the cables though the hole in the bottom of C1080-3 &lt;br /&gt;
File:Motor_ferrite_bead.JPG|Add ferrite beads for motor cables, dimensions L25mm and OD 13mm&lt;br /&gt;
File:Velcro_for_controller_1.JPG|Add velcro to mount the rotator controller outside the box. Velcro tape specifications: Heavy duty, stick on, max 7Kg, 50mm x 100mm. The tape might be used to mount [https://wiki.satnogs.org/No_rotator client box]  in the rotator.&lt;br /&gt;
File:Rotator_controller_1.JPG| Cabling management inside the rotator controller. The controller is mounted to the rotator by using a tape as mentioned previously.&lt;br /&gt;
File:Rotator controller 2.JPG| Cabling management outside the rotator controller&lt;br /&gt;
File:Testing_1.JPG| The rotator is ready for testing, before the final step do not put the C1081-3, in order to most of components must be accessible&lt;br /&gt;
File:Testing 2.JPG| The final step. If everything is working properly, must be put the C1081-3 by using sheet metal screws as mentioned previously. In this step if the holes of C1081-3 are not aligned with the holes of the other two parts, C1082-5 and C1080-3, drill new holes and screw them, take a look in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/issues/73 issue 73]. Put stickers!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Testing====&lt;br /&gt;
You are ready! Proceed with [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Troubleshooting_hints testing].&lt;br /&gt;
&lt;br /&gt;
====Heading Calibration====&lt;br /&gt;
The heading calibration is a manual process:&lt;br /&gt;
&lt;br /&gt;
*Power the rotator, it starts moving in order to find the home position, to find the end-stops&lt;br /&gt;
*Remove the power from the rotator, the rotator is in home position&lt;br /&gt;
*Install the rotator to vertical axis by using U-Bolt clamps&lt;br /&gt;
*The azimuth axis it must be heading to the North, this is achieved by using a compass (e.g. from smart phone)&lt;br /&gt;
*Secure the rotator in the vertical axis&lt;br /&gt;
*Install the elevation axis with the same process, now the zero elevation is achieved by using a pocket level&lt;br /&gt;
*Secure the elevation axis&lt;br /&gt;
*In the case of wrong rotation:&lt;br /&gt;
**For stepper motors swap a pair of two stepper motor cables ([https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 it exists an open issue to be done by a command])&lt;br /&gt;
**For DC motors, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/commit/961fb696536e35642f2b7064cc3c64676ebebb17 change the sign of encoder reading], it is a hacky method but it would be resolved by [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 this issue]&lt;br /&gt;
&lt;br /&gt;
====Counterweight for Antenna====&lt;br /&gt;
It is necessary to balance the antenna in elevation and azimuth axis in order to not wear the gear box of rotator. In elevation axis would be done either by using back mounted antennas or by mounting the center of antenna mass in the mast. For a back mounted antenna, it is necessary to use counter-balance weights. An idea is to use weights that is used for training (it's cheap). A part that used to mount weights to X-quad antenna is this [https://gitlab.com/librespacefoundation/satnogs/satnogs-hardware-misc/-/tree/master/mount-counterweight 3D printing part]. Another way to [https://community.libre.space/t/quartapounds-satnogs-rotator-v3-1/3453/57 balance the antenna].&lt;br /&gt;
&lt;br /&gt;
[[File:Counter-weight.jpg|thumb|center|800x420px|alt=|Counterweights]]&lt;br /&gt;
&lt;br /&gt;
==Mechanical Analysis [WIP]==&lt;br /&gt;
&lt;br /&gt;
====Brake Torque====&lt;br /&gt;
The greatest force the tracker needs to withstand is the force created by strong wind. The worst case is when one antenna is elevated at 90 degs, facing the direction of the wind. We based our calculations on an [http://k7nv.com/notebook/topics/windload.html article] found online after comparing it to others. We “translated” the second table in metric (because we don’t understand imperial and because we needed same units system in our calculations)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Method&lt;br /&gt;
!Wind Zone(km/h)&lt;br /&gt;
!Height (m)&lt;br /&gt;
!Pressure(N/m^2)&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-C&lt;br /&gt;
|160&lt;br /&gt;
|N/A&lt;br /&gt;
|1280&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|EIA-222-F&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1500&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|14&lt;br /&gt;
|1290&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1160&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|21&lt;br /&gt;
|1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|30&lt;br /&gt;
|1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|990&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|UBC'97&lt;br /&gt;
|128&lt;br /&gt;
|42&lt;br /&gt;
|1360&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Generic Formula&lt;br /&gt;
|150&lt;br /&gt;
|N/A&lt;br /&gt;
|1270&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and we applied the worst case model (EIA-222-F) in 3 different antennas: in the biggest one of our designs, and in two others, for which we obtained data from [http://download.qrz.ru/pub/hamradio/antenna/rotators/G-800SA_1000SA.pdf yaesu G800 rotator manual at page 3]. We assumed that antennas are mounted in 1m away from the azimuth axis. For our antenna with 2m length (actual, not wavelength), made by 2cm square tube, the generated torque was ≈600Kg*cm. For the 144MHz 10-elements Yagi from the article is ≈6000Kg*cm and for the third 430MHz, 12-elements Yagi is ≈1800Kg*cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Moment of inertia====&lt;br /&gt;
Now for the moment of inertia: (for all installation methods we assumed that antennas are counterbalanced in the elevation axis) the worst case scenario here is to use two 3kg (our designs are less than 1kg) back mounted yagis with 3kg counterbalances both mounted in 0.75m away from azimuth axis. The torque you need in order to accelerate this system from ω=0deg/s angular velocity to ω=5deg/s (the math about angular velocity is below) in one second is about 60kg*cm.&lt;br /&gt;
&lt;br /&gt;
Note: we suppose that the mass of antennas is near to the altitude axis, so the torque of this axis that is needed to accelerate is approximately 0.&lt;br /&gt;
&lt;br /&gt;
*M1: torque of Azimuth axis&lt;br /&gt;
*L: length of center of mass of antennas from azimuth axis (0.75m)&lt;br /&gt;
*m: mass of antennas and of counterweight (3kg + 3kg = 6kg)&lt;br /&gt;
*I: moment inertia&lt;br /&gt;
*a: angular acceleration of azimuth axis 5deg/s^2&lt;br /&gt;
*I = I1 + I2 = m*L^2 + m*L^2 = 2*m*L^2 = 6.75 kg*m^2&lt;br /&gt;
*M1 = I*a = 6.75kgm^2 * 0.087rad/s^2 = 0.58 Nm = 5.8 kgm = 58 kgcm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Angular velocity====&lt;br /&gt;
(How well do you remember trigonometry?)For the angular velocity max needed in altitude axis the things are straightforward. The closer is the satellite the larger the velocity. According to the wikipedia article about LEO, the lowest height limit is 160 km and the speed unit to orbit earth in this altitude is 7,8 km/s. As a result, maximum velocity in ALT axis is 2,8 deg/s. In ALT AZ rotator design there is a well known limitation: the closer something passes near zenith the biggest gets the velocity of the AZ axis. Therefore, we have analyzed this problem to figure out the optimal velocity and how high we are allowed to track a target in relation to AZ velocity. The picture below illustrates a ground station B which tracks a satellite Γ in X degrees altitude. The satellite velocity at this point is vertical to the screen (page) plane.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
The equations that lead to maximum altitude at which we can track in relation to AZ angular velocity are&lt;br /&gt;
&lt;br /&gt;
*ω : angular velocity of AZ DOF in rad/s&lt;br /&gt;
*H = ΑΕ + ΕΓ : Minimum Height of LEO, 160 km&lt;br /&gt;
*R = ΑΕ : Radius of Earth, 6500 km&lt;br /&gt;
*u : linear velocity of satellite that rotates in 160km height is 7.8 km/s&lt;br /&gt;
*ΒΔ = u / ω : ΒΔ in km&lt;br /&gt;
*α = atan(ΒΔ / R)&lt;br /&gt;
*δ = π - α&lt;br /&gt;
*γ = asin( sqrt(R^2+ΒΔ^2) * sin(δ) / (H+R) )&lt;br /&gt;
*ά = π - δ - γ&lt;br /&gt;
*ΓΔ = (H+R) * sin(ά) / sin(δ)&lt;br /&gt;
*χ = atan(ΓΔ / ΒΔ)&lt;br /&gt;
&lt;br /&gt;
Below you can see the plot of the equations mentioned above, where horizontal axis represents angular velocity (ω) in deg/s and vertical axis shows the max track altitude (χ) for lower bound of LEO.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity_plot.png|thumb|center|800x420px|alt=|Angular Velocity Plot]]&lt;br /&gt;
&lt;br /&gt;
After studying this diagram, we came up to the conclusion that an angular velocity of 5 deg/s is adequate. For this decision, we took into consideration the main lobe of antenna (Δ3db) which in most situations is about 20 deg.&lt;br /&gt;
&lt;br /&gt;
====Pulleys/Belts/Gearing====&lt;br /&gt;
Horizontal distance between pulleys (P1, P2) is 58mm.&lt;br /&gt;
Vertical distance between pulleys (P1, P2) is w = 9.5mm.&lt;br /&gt;
&lt;br /&gt;
Pulleys and Belt are GT2, 2mm pitch. &lt;br /&gt;
Belt width, 6mm. &lt;br /&gt;
Belt thickness, 1.38mm (0.76 tooth). &lt;br /&gt;
&lt;br /&gt;
Wrap angle in both pulleys is larger than 60deg. &lt;br /&gt;
At least 6 teeth in contact with the pulley at any given time. &lt;br /&gt;
In practice that means you want a minimum of a 12 tooth pulley, and usually try to get at least 18 teeth. &lt;br /&gt;
&lt;br /&gt;
Outer Diameter of pulleys:&lt;br /&gt;
&lt;br /&gt;
P(T) | OD(mm) &amp;lt;br /&amp;gt;&lt;br /&gt;
16   | 10.2 &amp;lt;br /&amp;gt;&lt;br /&gt;
20   | 12.7 &amp;lt;br /&amp;gt;&lt;br /&gt;
36   | 22.9 &amp;lt;br /&amp;gt;&lt;br /&gt;
40   | 25.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Belt calculation (according to calculator):&lt;br /&gt;
&lt;br /&gt;
Ratio    | P1(T)   | P2(T)   | Belt(T) | L(mm)  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.25|16|36|85/86|58.65/59.66  &amp;lt;br /&amp;gt;&lt;br /&gt;
1.8|20|36|86/87/88|57.78/58.78/59.78  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.5|16|40|87/88|58.5/59.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
2|20|40|89/90|58.65/59.66 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Motor Maximun no-load speed, 200RPM = 1200deg/s &lt;br /&gt;
Motor Maximum stall-torue, 1.2Nm &lt;br /&gt;
&lt;br /&gt;
[[File:Motor_perfomance_graph.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
Position of idler do not care, or min 1.3*P1, max 1.5*P1 (for 20T, ~16mm/~20mm).&lt;br /&gt;
&lt;br /&gt;
Belt gear selection:&lt;br /&gt;
&lt;br /&gt;
*20/36 with 1.8 ratio and 86T/172mm belt without idler&lt;br /&gt;
*20/40 with 2 ratio and 90T/190mm belt with idler&lt;br /&gt;
&lt;br /&gt;
To calculate Deflection force, (page T-31, sdp - design-guidelines)&lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 1.3kg&lt;br /&gt;
*span length, t = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*Fd,min =&lt;br /&gt;
*Fd,max =&lt;br /&gt;
*2.8kg Working Tension [shapeoko - Belts and Pulleys](https://www.shapeoko.com/wiki/index.php/Belts_and_Pulleys#Tensile_Cord_Materials)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   P3  &amp;lt;br /&amp;gt;&lt;br /&gt;
  /  \  &amp;lt;br /&amp;gt;&lt;br /&gt;
 P1  P2  &amp;lt;br /&amp;gt;&lt;br /&gt;
     |  &amp;lt;br /&amp;gt;&lt;br /&gt;
     P4-P5  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Determination of design load&lt;br /&gt;
&lt;br /&gt;
According to perfomance graph of DC motor, the optimal output power is Tm = 0.6Nm  with efficiency of 0.2 and 100RPM = 600deg/s. &lt;br /&gt;
Select a service factor of 1.5 (service factors between 1.5 and 2.0 are generally recommended when&lt;br /&gt;
designing small pitch synchronous drives). &lt;br /&gt;
Tpeak = SF*Tm = 1.5*0.6 = 0.9Nm &lt;br /&gt;
&lt;br /&gt;
*Choice of belt pitch&lt;br /&gt;
&lt;br /&gt;
Due to backslash and accuracy in both directions of movements and volume constrains, we choose GT2, pitch 2mm.&lt;br /&gt;
&lt;br /&gt;
*Check belt pitch selection based on individual graphs&lt;br /&gt;
&lt;br /&gt;
Due to Tpeak = 0.9Nm No-load speed,(Speed of fastest shaft) = 100RPM = 600deg/s &lt;br /&gt;
GT2 pitch 2mm belt is the better solution for our application. &lt;br /&gt;
&lt;br /&gt;
*Determine speed ratio&lt;br /&gt;
&lt;br /&gt;
Speed ratio 1.8-2.25 according to specification of output rotation speed of 5deg/s.&lt;br /&gt;
&lt;br /&gt;
*Check belt speed&lt;br /&gt;
&lt;br /&gt;
V(m/s) = 0.0000524 x pulley PD (mm) x pulley rpm = 0.066548m/s &lt;br /&gt;
Belt speeds up to 6,500 fpm (33.02 m/s) do not require special pulleys. &lt;br /&gt;
&lt;br /&gt;
*Determine belt length&lt;br /&gt;
&lt;br /&gt;
Table 'Belt calculation (according to calculator)'&lt;br /&gt;
Teeth in mesh: 9&lt;br /&gt;
&lt;br /&gt;
*Determine the belt width&lt;br /&gt;
&lt;br /&gt;
From Table 43 &lt;br /&gt;
torque = 0.17Nm &lt;br /&gt;
Length Correction Factor = 0.9 &lt;br /&gt;
width multiplier = 1.00 &lt;br /&gt;
torque*Length Correction Factor*width multiplier = 0.17*0.9*1.00 = 0.153Nm &lt;br /&gt;
Teeth in mesh: 9 &lt;br /&gt;
Tpeak = 0.9Nm, so belt width is nice for our application &lt;br /&gt;
&lt;br /&gt;
*Check the number of teeth in mesh&lt;br /&gt;
&lt;br /&gt;
Teeth in mesh: 9 according to calculator &lt;br /&gt;
&lt;br /&gt;
*Determine proper belt installation tension&lt;br /&gt;
&lt;br /&gt;
SECTION 10, on page T50, look at 'To calculate Deflection force, (page T-31, sdp - design-guidelines)' &lt;br /&gt;
&lt;br /&gt;
*Y = 2.05, Tst = 0.812*DQ/d + mS^2 = 12.8lb + 0 = 5.8kg&lt;br /&gt;
*DQ = Tpeak = 0.9Nm = 7.9lb-in&lt;br /&gt;
*d = 12.7mm = 0.5in&lt;br /&gt;
*S = (0.5*100/3.82)/1000 = 0.0131ft/min&lt;br /&gt;
*m = 0.039&lt;br /&gt;
*span length, t = sqrt(CD^2 - (PD-pd/2)^2) = 57.64mm&lt;br /&gt;
*Belt pitch length, L = 180mm&lt;br /&gt;
*t/L = 0.32&lt;br /&gt;
*Fd,min = 0.8lb = 0.36kg&lt;br /&gt;
*Fd,max = 0.9lb = 0.41kg&lt;br /&gt;
&lt;br /&gt;
*Safety factor 1.5&lt;br /&gt;
&lt;br /&gt;
*P2 timing pulley torque - Maximum radial load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
Tpeak = 0.9Nm &lt;br /&gt;
TorqueP2 = 2*0.9Nm = 1.8Nm, PDp2 = 25.5mm &lt;br /&gt;
Radial static load of 625ZZ is 0.38kN &lt;br /&gt;
T-39&lt;br /&gt;
&lt;br /&gt;
*Maximum thrust load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
*Maximum radial and thrust load of output ball bearings 6008zz&lt;br /&gt;
&lt;br /&gt;
Calculate or evaluate correct loads for deep groove ball bearings&lt;br /&gt;
radial static load = 11.6kN &lt;br /&gt;
thrust static load = 0.7*11.6kN = 8.12kN &lt;br /&gt;
This type of construction permits the bearings to support relatively high thrust load in either direction. &lt;br /&gt;
In fact the thrust load capacity is about 70% of the radial load capacity. A ball bearing primarily  designed &lt;br /&gt;
to support radial load can also support high thrust load; because only few balls carry the radial load, &lt;br /&gt;
whereas all the balls can withstand the thrust load. &lt;br /&gt;
&lt;br /&gt;
*Maximum self-locking or back-drivable torque of gear box (according to more weak component)&lt;br /&gt;
&lt;br /&gt;
It necessary to achieve [specs](https://community.libre.space/t/satnogs-rotator-version-3/226), 60Nm (6Kg in 1 meter)&lt;br /&gt;
&lt;br /&gt;
*Nominal torque of drivable torque of gear box (according to more weak component) and maximum rotational speed of gear box&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*[https://sdp-si.com/eStore/CenterDistanceDesigner sdp distance calculator]&lt;br /&gt;
*[http://www.ebay.com/itm/2GT-Timing-Belt-L-172-232-240-244-640-810-GT2-Belts-closed-loop-5pcs-lot-/221977955532?var=&amp;amp;hash=item33aeeacccc:m:me5GvSt_amrm6RWT03Ut4JA belt GT2-6mm wide, 172mm]&lt;br /&gt;
*[https://www.ebay.com/itm/2GT-GT2-synchronous-Timing-belt-Perimeter-98-194mm-width-6-9mm-Cogged-close-loop/222574382655?ssPageName=STRK%3AMEBIDX%3AIT&amp;amp;var=521434616407&amp;amp;_trksid=p2060353.m2749.l2649 belt GT2-6mm wide, 180mm]&lt;br /&gt;
*[http://www.ebay.com/itm/5pcs-Timing-Pulley-GT2-Idler-16-20T-gear-Bearing-Reprap-6mm-Belt-3-5mm-Bore-3D-/132195520937?var=&amp;amp;hash=item1ec77791a9:m:mljSYBViBlKOgXr3Gy-u0Tg idler pulley, no-teeth-ID3mm-OD18mm]&lt;br /&gt;
*[http://www.brecoflex.com/products/pulleys/design-guidelines/ brecoflex - design-guidelines]&lt;br /&gt;
*[http://www.shreegeeimpex.com/TECH_DATA_PAG/idlers_ten.htm shreegeeimpex - design-guidelines]&lt;br /&gt;
*[http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf sdp - design-guidelines]&lt;br /&gt;
&lt;br /&gt;
====Motor Specification====&lt;br /&gt;
&lt;br /&gt;
General Specification about motors. The voltage and current consumption also it depends from the motor controller which is (maybe) different&lt;br /&gt;
from [https://wiki.satnogs.org/SatNOGS_Rotator_Controller SatNOGS Rotator Controller].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Specification&lt;br /&gt;
!Value&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Stall Torque (Nm)&lt;br /&gt;
|0.4 - 1.5&lt;br /&gt;
|-&lt;br /&gt;
|Min-Max Speed (RPM)&lt;br /&gt;
|100 - 200&lt;br /&gt;
|-&lt;br /&gt;
|Size (mm) (LxWxH)&lt;br /&gt;
|47x42x64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Motor mount dimensions.png|Motor mount dimensions&lt;br /&gt;
File:Max motor height.png|Maximum Motor Height&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Worm Gear Box Calculations====&lt;br /&gt;
&lt;br /&gt;
*Gear ratio: i12 = 30&lt;br /&gt;
*Angle between axis of gears: δ = 90 deg&lt;br /&gt;
*Number of threads in worm: If i12 &amp;gt;= 30 then z1 = 1&lt;br /&gt;
*Number of teeth in worm wheel: z2 = i12*z1 = 30&lt;br /&gt;
*Center distance: initial case a = 45.5 mm&lt;br /&gt;
*Worm reference diameter: AGMA d01&amp;gt;= 11.5*(a/25.4)^0.875 = 19.15 mm, so d01 = 19.5mm&lt;br /&gt;
*Worm wheel reference: d02 = 2*a - d01 = 71.5 mm&lt;br /&gt;
*Axial module: ms = d02/z2 = 2.38 , so ms = 2.5&lt;br /&gt;
&lt;br /&gt;
Recalculate d02, a with new axial module&lt;br /&gt;
&lt;br /&gt;
*d02 = z2*ms = 75mm, a = (d02+d01)/2 = 47.25mm&lt;br /&gt;
*Axial pitch: ts = π*ms = 7.854mm&lt;br /&gt;
*Reference lead angle: γ0 = atan(d02/(i12*d01)) = 7.3 deg&lt;br /&gt;
*Worm tip diameter: dk1 = d01 + 2*hk = 24.5mm&lt;br /&gt;
**Worm teeth reference addendum in axial section: hk = hk* *ms = 2.5mm&lt;br /&gt;
**Worm tooth reference addendum coefficient: hk* = 1&lt;br /&gt;
*Worm root diameter: df1 = d01 - 2*hf = 13.5mm&lt;br /&gt;
**Worm tooth reference dedendum: hf = hf* _ms = 1.2_ms = 3mm&lt;br /&gt;
**Dedendum coefficient: hf* = 1.2&lt;br /&gt;
*Worm length: L = 2.5_ms_sqrt(z2+2) = 35.36mm&lt;br /&gt;
*Worm tooth thickness: smx1 = smx1* * ts = 3.927mm&lt;br /&gt;
**Tooth thickness coefficient: smx1* = 0.5&lt;br /&gt;
*Normal pressure angle: aon = 20 deg&lt;br /&gt;
*Worm wheel throat diameter: dk2 = d02+2*hk = 80mm&lt;br /&gt;
*Worm wheel root diameter: df2 = d02 - 2*hf = 69mm&lt;br /&gt;
*Worm wheel outside diameter: de2 = dk2 + 2*mx = 83.5mm&lt;br /&gt;
**Worm wheel tooth external addendum: mx = n*ms, 0.4&amp;lt;=n&amp;lt;=1.5&lt;br /&gt;
*Effective worm wheel face width: b2H,max = sqrt((2_a - df2)^2 - (2_a - de2)^2) = 23mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Counter-weight.jpg&amp;diff=3681</id>
		<title>File:Counter-weight.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Counter-weight.jpg&amp;diff=3681"/>
		<updated>2020-09-15T10:09:08Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3680</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3680"/>
		<updated>2020-09-14T18:48:25Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Fix the position of warnig&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485/UART loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3679</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3679"/>
		<updated>2020-09-14T18:45:46Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Fix misalignment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485 loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3678</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3678"/>
		<updated>2020-09-14T18:45:13Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Fix misalignment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485 loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3677</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3677"/>
		<updated>2020-09-14T18:44:20Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Change position of warning message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485 loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3676</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3676"/>
		<updated>2020-09-14T18:43:10Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Describe problem with RS-485 and lost packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
{{Warning |When the power supply (or PoE) of Raspberry Pi isn't good isolated (R ~7MΩ) with the main PSU (48V@1A) and the RS-485 loses packages, the ground of Raspberry Pi must be connected to the main ground of rotator (ground star).}}&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3675</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3675"/>
		<updated>2020-09-14T18:25:23Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Update the latest release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.3&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3674</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3674"/>
		<updated>2020-09-14T18:23:44Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add fabrication parameters for part C1000-1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:C1000-1 enclosure pcb mount.png|thumb|center|800x420px|alt=|FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material]]&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:C1000-1_enclosure_pcb_mount.png&amp;diff=3673</id>
		<title>File:C1000-1 enclosure pcb mount.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:C1000-1_enclosure_pcb_mount.png&amp;diff=3673"/>
		<updated>2020-09-14T18:22:42Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3578</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3578"/>
		<updated>2020-04-26T10:39:01Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Remove link for fabrication of unreleased board&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3417</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3417"/>
		<updated>2020-02-12T15:46:23Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Fix duplication&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the V2.0 of the board directly using [https://dirtypcbs.com/store/designer/details/6933/5904/satnogs-v3-motor-controller-zip this DirtyPCBs link]. This will need the Fuse Blade Holder (like [https://www.mouser.com/ProductDetail/Keystone-Electronics/3557-2?qs=sGAEpiMZZMtfCDX1wnHMcowjmEoZUedNE516C61jMvM%3D this one]) and a Fuse (like this [https://www.mouser.com/ProductDetail/Littelfuse/0891002U?qs=sGAEpiMZZMsh2y49K8ANrXgtX8Cl56UGn32K05CNM%252Bk%3D Low Profile] one) instead of the SMD Fuse. This board is also missing the ISP header for the Arduino (if you were planning to use it).&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3416</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=3416"/>
		<updated>2020-02-12T15:45:16Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add details about fabrication of encoder parts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v2==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
&lt;br /&gt;
*It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
*Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
*The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
*The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
*Filtered power supply of micro controller.&lt;br /&gt;
*An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
*A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
*There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
*Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
*Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
*Using different paths for digital and power (motors) GND.&lt;br /&gt;
*Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
*Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
===Build sequence===&lt;br /&gt;
&lt;br /&gt;
*Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
*Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow], [https://www.makerfabs.com Makerfabs] have been used in the past with good results.&lt;br /&gt;
**You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link]&lt;br /&gt;
**You can order the V2.0 of the board directly using [https://dirtypcbs.com/store/designer/details/6933/5904/satnogs-v3-motor-controller-zip this DirtyPCBs link]. This will need the Fuse Blade Holder (like [https://www.mouser.com/ProductDetail/Keystone-Electronics/3557-2?qs=sGAEpiMZZMtfCDX1wnHMcowjmEoZUedNE516C61jMvM%3D this one]) and a Fuse (like this [https://www.mouser.com/ProductDetail/Littelfuse/0891002U?qs=sGAEpiMZZMsh2y49K8ANrXgtX8Cl56UGn32K05CNM%252Bk%3D Low Profile] one) instead of the SMD Fuse. This board is also missing the ISP header for the Arduino (if you were planning to use it).&lt;br /&gt;
**You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
**You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio&lt;br /&gt;
*Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
*Assemble the PCB, by soldering the components&lt;br /&gt;
*Burn the firmware&lt;br /&gt;
*Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
*You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Assembly Guide====&lt;br /&gt;
&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
====Microcontroller====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
&lt;br /&gt;
*[https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
*[http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!-&lt;br /&gt;
!QTY.&lt;br /&gt;
!VCC(V)&lt;br /&gt;
!IDD(mA)&lt;br /&gt;
!Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
|AS5601&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|6.5&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|PCA9540B&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|SN65HVD485E&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|TC74&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|0.35&lt;br /&gt;
|0.35&lt;br /&gt;
|-&lt;br /&gt;
|arduino pro mini&lt;br /&gt;
|1&lt;br /&gt;
|5&lt;br /&gt;
|20&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|MC33926&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.2&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|DRV8825&lt;br /&gt;
|2&lt;br /&gt;
|5&lt;br /&gt;
|0.1&lt;br /&gt;
|0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
====Motor Drivers====&lt;br /&gt;
=====Stepper motor driver=====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
&lt;br /&gt;
*2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
*4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
*2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
*6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP3/JP6'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP2/JP5'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''JP1/JP4'''&lt;br /&gt;
| style=&amp;quot;background:#f0f0f0;&amp;quot; align=&amp;quot;center&amp;quot; |'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Low'''|| style=&amp;quot;background:#f0f000;&amp;quot; align=&amp;quot;center&amp;quot; |'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''Low'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''High'''|| align=&amp;quot;center&amp;quot; |'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
*If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Microstep: 1/8 step&lt;br /&gt;
*Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
&lt;br /&gt;
*1.8 deg/step stepper motor&lt;br /&gt;
*full step&lt;br /&gt;
*gear ratio 54&lt;br /&gt;
&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
&lt;br /&gt;
*[http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors]&lt;br /&gt;
*add a heat-sink.&lt;br /&gt;
*plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
&lt;br /&gt;
*Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
*Weight: 390 g&lt;br /&gt;
*Shaft diameter: 5 mm&lt;br /&gt;
*Step Angle: 1.8 deg&lt;br /&gt;
*Nominal speed @ 12V: 720deg/s&lt;br /&gt;
*Rated Current/phase: 2.0A&lt;br /&gt;
*Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
=====DC motor driver=====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
&lt;br /&gt;
*Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
*Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
*Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier]&lt;br /&gt;
&lt;br /&gt;
*Motor driver: MC33926&lt;br /&gt;
*Motor channels: 2&lt;br /&gt;
*Minimum operating voltage: 5V&lt;br /&gt;
*Maximum operating voltage: 28V&lt;br /&gt;
*Operating voltage: 12V&lt;br /&gt;
*Continuous output current per channel: 2.5A&lt;br /&gt;
*Current sense: 	0.525 V/A&lt;br /&gt;
*Maximum PWM frequency: 	20 kHz&lt;br /&gt;
*Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
*Minimum logic voltage: 	2.5V&lt;br /&gt;
*Operating logic voltage: 5V&lt;br /&gt;
*Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
&lt;br /&gt;
*Size: 37D x 54L mm&lt;br /&gt;
*Weight: 195 g&lt;br /&gt;
*Shaft diameter: 6 mm&lt;br /&gt;
*Free-run speed @ 12V: 200 rpm&lt;br /&gt;
*Free-run current @ 12V:	300 mA&lt;br /&gt;
*Stall current @ 12V: 5000 mA&lt;br /&gt;
*Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Communication====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
=====''UART''=====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
&lt;br /&gt;
*solder JP7 and JP8&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
=====''RS-485''=====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
&lt;br /&gt;
*solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
*solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
*not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Power Supply====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Endstops====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
&lt;br /&gt;
*SW1 and GND for azimuth axis&lt;br /&gt;
*SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]]&lt;br /&gt;
[[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Encoders====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab] Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]][[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]Fabrication files are placed in latest tag of [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Encoder-case-3DP.png|center|thumb|583x583px|'''Parts''': C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear, '''Material''': ABS, '''Layer height''': 0.4 mm, '''Perimeters''': 2, '''Top/bottom solid layers''': 3, '''Fill density''': 20%, '''Fill pattern''': Honeycomb, '''Fan speed''': [35, 100], '''Generate support materia'''l (options of it depends of 3D printer).]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Firmware and Pin Assignments===&lt;br /&gt;
&lt;br /&gt;
=====Firmware=====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
=====Pins Configuration=====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
*M1IN1 10, Step or PWM1&lt;br /&gt;
*M1IN2 9, Direction or PWM2&lt;br /&gt;
*M1SF  7, Status flag&lt;br /&gt;
*M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
*M2IN1 11, Step or PWM1&lt;br /&gt;
*M2IN2 3, Direction or PWM2&lt;br /&gt;
*M2SF  6, Status flag&lt;br /&gt;
*M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
*MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
*SW1 5, Endstop for axis 1&lt;br /&gt;
*SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
*RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
*SDA_PIN 3, Data I2C pin&lt;br /&gt;
*SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
*PIN12 12, Digital output pin&lt;br /&gt;
*PIN13 13, Digital output pin&lt;br /&gt;
*A2    A2, Analog input pin&lt;br /&gt;
*A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pre-Flight Check===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
*Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
*Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
*Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
*Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting hints===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
*'''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
*'''RESET''', move to home position&lt;br /&gt;
*'''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
*'''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
*'''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rotator Controller v1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Build]]&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Encoder-case-3DP.png&amp;diff=3415</id>
		<title>File:Encoder-case-3DP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Encoder-case-3DP.png&amp;diff=3415"/>
		<updated>2020-02-12T15:41:44Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;C1010-1_encoder_case, C1011-1_encoder_case FDM-3Dprinted, C1012-1_magnet_mount, C1013-1_encoder_gear Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Generate support material (options of it depends of 3D printer).&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=2720</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=2720"/>
		<updated>2019-06-30T11:33:10Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add RAMPS 1.4 as an option for rotator controllers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Building a ground station need not be complicated. There are a few things to consider when working out what it is you are going to do. Choices such as the desire to have a fixed or steerable ground station will play a big part in the amount of equipment needed and the time taken as well as the complexity of any build. If you are new to this and a little unsure then a fixed (no rotator) option is a good choice. If you fancy a challenge and want to pick out the weakest signals then the steerable ground station might be what you are after. There is more detail in the [[Ground Stations]] page&lt;br /&gt;
&lt;br /&gt;
The illustration below sets out the various major components to give an idea as to what is commonly used.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_imagemap.png|center]]&lt;br /&gt;
&lt;br /&gt;
Here are some links explaining the different options:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Platform&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [[SatNOGS Rotator Controller|SatNOGS Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SatNOGS_Client_Ansible|Debian system]]&lt;br /&gt;
| [http://spid.net.pl/en/rot2prog-2/ Rot2Prog]&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
|&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux Desktop]]&lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [https://wiki.satnogs.org/SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller Arduino UNO CNC Shield based controller]&lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [https://community.libre.space/t/ramps-1-4-board-for-satnogs-rotator/3386 RAMPS 1.4 Board for SatNOGS Rotator]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. RPi3 &amp;gt; Yaesu G550 &amp;gt; SDR &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== How do I pick? ==&lt;br /&gt;
&lt;br /&gt;
'''Client''': The Raspberry Pi 3 is the reference platform for SatNOGS, and is currently the option that has the best support from the community.  Certain SDRs may benefit from a more powerful CPU, like what you'd find in a desktop machine; however, currently you'll need to set that up on your own.&lt;br /&gt;
&lt;br /&gt;
'''Rotator''': A rotator, like the [[SatNOGS_Rotator_v3|SatNOGS Rotator v3]], will allow your antenna to follow satellites as they move across the sky, and thus pick up fainter signals.  But if you want to get started quickly, or don't have the hardware skills to build your own, you can still pick up stronger signals (the ISS, NOAA and Meteor weather satellites) with a [[No_rotator|no-rotator]] setup.  If you already have [https://github.com/Hamlib/Hamlib/wiki/Supported-Rotators a rotator supported by rotctl], you can use that.&lt;br /&gt;
&lt;br /&gt;
'''Signal Reception''': The reference radio for SatNOGS is the [https://www.rtl-sdr.com RTL-SDR v3], but other latest-generation SDRs like the [http://www.nooelec.com/store/nesdr-smart-sdr.html NooElec NESDR SMart] should work as well.  Higher-end SDRs should work as well, but can get a bit expensive.  Alternately, [https://sourceforge.net/p/hamlib/wiki/Supported%20Radios/ any radio supported by rigctl] should work.&lt;br /&gt;
&lt;br /&gt;
Amplification is generally done by a low noise amplifier, or LNA. There are multiple options:&lt;br /&gt;
&lt;br /&gt;
* A wide-band LNA next to your SDR (see [http://lna4all.blogspot.com/ LNA4ALL], [https://iz7boj.wordpress.com/2019/04/11/spf5189z-lna-measurements-on-vna/ SPF5189] and similar)&lt;br /&gt;
* A band specific (or two) pre-amplifiers next to your antennas ([http://www.wimo.com/mast-preamplifier_e.html example])&lt;br /&gt;
* No amplification at all...just pump the gain of your SDR.  (This is not recommended for the rtl-sdr.)&lt;br /&gt;
&lt;br /&gt;
'''Antenna''':  Stationary antennas (eg: [https://en.wikipedia.org/wiki/Turnstile_antenna Turnstile], [https://community.libre.space/t/parasitic-lindenblad-on-uhf/1128/2 Lindenblad]) will be easy to build and mount, as they won't require rotator hardware.  They will let you receive stronger broadcasts, like NOAA weather satellites and ISS broadcasts, but may not work for receiving fainter cubesat broadcasts.  Directional antennas (eg: Yagis, Helicals) can be more complicated to build, but will also require a rotator to track satellites across the sky.  The advantage is that they will let you pick up fainter broadcasts from cubesats or ham radio satellites.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2695</id>
		<title>Review of Commercial Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2695"/>
		<updated>2019-04-22T14:35:56Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add link for motor repair process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
The existing rotator controllers are old fashioned and use obsolete technology either in hardware or in software. Almost all the motor drivers are based in electromechanical switches like relays. This introduce in a system a limit of how usual could be used for an observation of a satellite and also in accuracy in movements of the rotator. In this review, it is presented the most popular in HAM community, rotator systems.&lt;br /&gt;
&lt;br /&gt;
Existing commercial rotator systems:&lt;br /&gt;
There are three rotator systems, as i searched, are the most popular in HAM community for tracking satellites.&lt;br /&gt;
* [https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500]&lt;br /&gt;
* [http://www.alfaradio.ca/ SPID rotators]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
*  SPX rotators,&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
== Yaesu G-5500 ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
[https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500], it is an AZ/EL rotator. From [http://www.radiomanual.info/schemi/ACC_rotator/Yaesu_G-5500_user.pdf data sheet], could understand that it has AC motors (26V@2.8A, specifications of transformer for both motors), potentiometer (isn't multiturn) for position feedback which are operated in +6V, and all control loop is implemented with analog IC's (comparators and op amps). Also the system has end-stops in both axis in both directions (min-max), that immediately cut off the current of motors. The connection with a client is implemented via a rotator interface for example an [https://gitlab.com/librespacefoundation/satnogs/g5500-ardushield ardushield] that runs [https://github.com/ppapadeas/k3ng_rotator_controller/tree/lsf-g5500 k3ng rotator firmware]. The cost of all system is ~750$ with analog controller.&lt;br /&gt;
&lt;br /&gt;
Useful links:&lt;br /&gt;
* [https://kb5wia.blogspot.com/2012/03/yaesu-g5500-rotator-motor-repair.html Motor Repair]&lt;br /&gt;
[[File:Yaesug5500-electronics-1.jpeg|thumb|center|300x300px|alt=|Yaesu G5500 - Controller]]&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
&lt;br /&gt;
The gear box of rotator it is a spur gear box. Almost all the gears are made from laser cut sheet metal and the output gear is a stack of laser cut sheet metal gears. Another interesting thing is the brake system that it's a torsional spring in motor axis that blocks the movement from output to input. When a torque applied from output to input the torsional spring &amp;quot;opens&amp;quot; and block the rotation. A mechanical fail of one bracket that mounts the pins of gears are done in [https://network.satnogs.org/stations/6/ station 6] after a lot of observations (oval hole). This problem is produced because the antennas are back mounted without counter balance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Yaesug5500-mech-1.jpeg| Yaesu G5500, Gear box&lt;br /&gt;
File:Yaesug5500-mech-2.jpeg| Yaesu G5500, Mechanical fail&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$&lt;br /&gt;
* [http://www.af6sa.com/projects/AZ_EL_Rotor.html, AZ-EL USB Rotor Controller AE-21]&lt;br /&gt;
* [http://www.arrl.org/files/file/ETP/Satellite%20Tracker%20Interface%20ver%201_2.pdf DIY solution from ARRL]&lt;br /&gt;
&lt;br /&gt;
== SPID rotators ==&lt;br /&gt;
&lt;br /&gt;
This company it has two AZ/EL models:&lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS] &lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
Both of models are using DC motors, according to data-sheets, [https://www.rfhamdesign.com/downloads/spid-bigras-specifications.pdf BIG-RAS] and [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf RAS]. The power consumption for both rotators is , 12V@6-10A or 18V@6-11A. For position sensor, a reed switch is used, one in each axis. This sensor is mounted in the first stage of worm gear box (in total two worm gear boxes), with total 6 magnets that produce pulses with Vp-p according to Vcc of reed switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
File:Ras-reedswitch.jpeg| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, magnets of position sensor&lt;br /&gt;
File:Ras-pulses.jpeg| RAS, pulses of position sensor (reed switch)&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It seems that the encoder is relative, so when the system starts it programmed the zero position. When the system lose the power, the rotator controller knows the last position, it stores the last position in a non-volatile memory.&lt;br /&gt;
Also the system has two hard stops in elevation axis that limits the rotation between 0-180 deg. This switches immediately cut off the current to elevation motor. In the azimuth there is no end-stop.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-endstop.jpeg|thumb|center|300x300px|alt=|RAS, end-stops in elevation axis]]&lt;br /&gt;
&lt;br /&gt;
The default rotator controller is [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf Rot2Prog], the motor driver again, it consist of relays. The interface with client is done with [Hamlib](https://hamlib.github.io/) via a USB. A note here, is  the cable is USB-A male to USB-A male, that is weird. Two rectifier bridges used for protection of the board from the currents of DC motors. The cost of Rot2Prog  is ~250$.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-rotatorcontroller.jpeg|thumb|center|300x300px|alt=|RAS, Default rotator controller]]&lt;br /&gt;
&lt;br /&gt;
The [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf datasheet of RAS] is referred to a parameter [https://en.wikipedia.org/wiki/Mean_time_between_failures MTBF] which is the mean time between failures. For rotator controller is 15000 hours @ -5 to +40°C. For a system that is connected to [https://network.satnogs.org/ SatNOGS network] means:&lt;br /&gt;
* in 1h, at least 2 observations of 15min each&lt;br /&gt;
* in 15000 hours, 30000 observations&lt;br /&gt;
* which means almost 2 years of operation&lt;br /&gt;
But how usual the relays are worked?&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
Both of the rotators are consist of two stages of worm gear box. The second stage (the output) it takes all the loads. In this system the brake mechanism is the two stage worm gear box (big gear ratio and also the lead angle of worm gear). The cost for RAS with Rot2Prog controller is ~1200$, for BIG-RAS with Rot2Prog controller is ~1600$.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, First stage of worm gear&lt;br /&gt;
File:Ras-wormgear.jpg| RAS, Second (output) stage of worm gear&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$. This feature is nice, &amp;quot;Allows different Azimuth and Elevation rotators from any manufacturer provided they both use either AC or DC motors.  (Example:  We can configure the Azimuth to use an OR-2800 and the Elevation to use a DC motor linear actuator.  OR, the Azimuth to use a T2X, and the Elevation to use a Yaesu G-550)&amp;quot;&lt;br /&gt;
* [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf MD-01/02 HR], it is high resolution edition of rotator controller, with resolution of 0.1875 deg. Instead of using reed switches in first stage of worm gear box, it uses a hall effect sensor. Again the motor driver is electro mechanical switches as shown in picture in the [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf page 3 of data-sheet]. This controller, also, support soft-start functionality (PWM control) only when the power supply is higher than 20V, [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 according to this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cost of this controller (only) is calculated:&lt;br /&gt;
* RAS/HR, RAS rotator and MD-02/HR controller is ~[1435E](http://www.rfhamdesign.com/products/spid-hr-antenna-rotators/ras-hr-az--el-rotor/index.php)&lt;br /&gt;
* only the RAS rotator costs ~900E (an estimation)&lt;br /&gt;
so the cost of MD-02/HR is ~500E.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Az-El controller front G.gif| RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;br /&gt;
File:Rotator-controller-md.png| Rotator Controller, MD-01/02 HR&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== SPX rotators ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics &amp;amp; Mechanical ===&lt;br /&gt;
&lt;br /&gt;
A series of AZ/EL rotators:&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
All of these rotators it seems that are based in the same, first stage, worm gear box with the RAS. The second stage it is like [https://ae01.alicdn.com/kf/HTB1uzY4PVXXXXX4XXXXq6xXFXXXE/NMRV050-Speed-Ratio-50-1-Worm-Gearbox-14mm-19mm-Input-Shaft-90-Degree-Worm-Gear-Speed.jpg_640x640.jpg that] and changed according to the maximum output load (and maximum break torque). From all the data-sheets seems that motor needs power 12-18V@3-20A or 20-24V@3-20A (max current depends on load or rotator controller, e.g. PWM control). All of these rotator use the same controllers with RAS/BIG-RAS. The motors are DC (it seems that are the same with RAS/BIG-RAS). For position sensor, a reed switch for standard version and a hall effect sensor for high resolution version. From the number of cables and from the type of controller it seems that there no an interface of end-stops connected to rotator controller. [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 This post] confirms that the SPX-01 and SPX-02 have no end stop switches on either azimuth or elevation. Also the limits are set in the controller, based on the users cabling setup.&lt;br /&gt;
In this system the brake system is the double worm gear. In the specification, the rotation range is AZ/EL:360/180deg is the same with the RAS. The available rotator controllers are the same with the SPID rotators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Spx-wormgear.jpeg| SPX, second stage of worm gear&lt;br /&gt;
File:Spx-station232.jpg|  SPX-02 rotator, [https://network.satnogs.org/stations/232/ station 232]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2673</id>
		<title>Review of Commercial Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2673"/>
		<updated>2019-04-08T11:33:27Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add alternative rotator controller for yaesu G5500&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
The existing rotator controllers are old fashioned and use obsolete technology either in hardware or in software. Almost all the motor drivers are based in electromechanical switches like relays. This introduce in a system a limit of how usual could be used for an observation of a satellite and also in accuracy in movements of the rotator. In this review, it is presented the most popular in HAM community, rotator systems.&lt;br /&gt;
&lt;br /&gt;
Existing commercial rotator systems:&lt;br /&gt;
There are three rotator systems, as i searched, are the most popular in HAM community for tracking satellites.&lt;br /&gt;
* [https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500]&lt;br /&gt;
* [http://www.alfaradio.ca/ SPID rotators]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
*  SPX rotators,&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
== Yaesu G-5500 ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
[https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500], it is an AZ/EL rotator. From [http://www.radiomanual.info/schemi/ACC_rotator/Yaesu_G-5500_user.pdf data sheet], could understand that it has AC motors (26V@2.8A, specifications of transformer for both motors), potentiometer (isn't multiturn) for position feedback which are operated in +6V, and all control loop is implemented with analog IC's (comparators and op amps). Also the system has end-stops in both axis in both directions (min-max), that immediately cut off the current of motors. The connection with a client is implemented via a rotator interface for example an [https://gitlab.com/librespacefoundation/satnogs/g5500-ardushield ardushield] that runs [https://github.com/ppapadeas/k3ng_rotator_controller/tree/lsf-g5500 k3ng rotator firmware]. The cost of all system is ~750$ with analog controller.&lt;br /&gt;
&lt;br /&gt;
[[File:Yaesug5500-electronics-1.jpeg|thumb|center|300x300px|alt=|Yaesu G5500 - Controller]]&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
&lt;br /&gt;
The gear box of rotator it is a spur gear box. Almost all the gears are made from laser cut sheet metal and the output gear is a stack of laser cut sheet metal gears. Another interesting thing is the brake system that it's a torsional spring in motor axis that blocks the movement from output to input. When a torque applied from output to input the torsional spring &amp;quot;opens&amp;quot; and block the rotation. A mechanical fail of one bracket that mounts the pins of gears are done in [https://network.satnogs.org/stations/6/ station 6] after a lot of observations (oval hole). This problem is produced because the antennas are back mounted without counter balance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Yaesug5500-mech-1.jpeg| Yaesu G5500, Gear box&lt;br /&gt;
File:Yaesug5500-mech-2.jpeg| Yaesu G5500, Mechanical fail&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$&lt;br /&gt;
* [http://www.af6sa.com/projects/AZ_EL_Rotor.html, AZ-EL USB Rotor Controller AE-21]&lt;br /&gt;
* [http://www.arrl.org/files/file/ETP/Satellite%20Tracker%20Interface%20ver%201_2.pdf DIY solution from ARRL]&lt;br /&gt;
&lt;br /&gt;
== SPID rotators ==&lt;br /&gt;
&lt;br /&gt;
This company it has two AZ/EL models:&lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS] &lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
Both of models are using DC motors, according to data-sheets, [https://www.rfhamdesign.com/downloads/spid-bigras-specifications.pdf BIG-RAS] and [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf RAS]. The power consumption for both rotators is , 12V@6-10A or 18V@6-11A. For position sensor, a reed switch is used, one in each axis. This sensor is mounted in the first stage of worm gear box (in total two worm gear boxes), with total 6 magnets that produce pulses with Vp-p according to Vcc of reed switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
File:Ras-reedswitch.jpeg| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, magnets of position sensor&lt;br /&gt;
File:Ras-pulses.jpeg| RAS, pulses of position sensor (reed switch)&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It seems that the encoder is relative, so when the system starts it programmed the zero position. When the system lose the power, the rotator controller knows the last position, it stores the last position in a non-volatile memory.&lt;br /&gt;
Also the system has two hard stops in elevation axis that limits the rotation between 0-180 deg. This switches immediately cut off the current to elevation motor. In the azimuth there is no end-stop.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-endstop.jpeg|thumb|center|300x300px|alt=|RAS, end-stops in elevation axis]]&lt;br /&gt;
&lt;br /&gt;
The default rotator controller is [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf Rot2Prog], the motor driver again, it consist of relays. The interface with client is done with [Hamlib](https://hamlib.github.io/) via a USB. A note here, is  the cable is USB-A male to USB-A male, that is weird. Two rectifier bridges used for protection of the board from the currents of DC motors. The cost of Rot2Prog  is ~250$.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-rotatorcontroller.jpeg|thumb|center|300x300px|alt=|RAS, Default rotator controller]]&lt;br /&gt;
&lt;br /&gt;
The [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf datasheet of RAS] is referred to a parameter [https://en.wikipedia.org/wiki/Mean_time_between_failures MTBF] which is the mean time between failures. For rotator controller is 15000 hours @ -5 to +40°C. For a system that is connected to [https://network.satnogs.org/ SatNOGS network] means:&lt;br /&gt;
* in 1h, at least 2 observations of 15min each&lt;br /&gt;
* in 15000 hours, 30000 observations&lt;br /&gt;
* which means almost 2 years of operation&lt;br /&gt;
But how usual the relays are worked?&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
Both of the rotators are consist of two stages of worm gear box. The second stage (the output) it takes all the loads. In this system the brake mechanism is the two stage worm gear box (big gear ratio and also the lead angle of worm gear). The cost for RAS with Rot2Prog controller is ~1200$, for BIG-RAS with Rot2Prog controller is ~1600$.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, First stage of worm gear&lt;br /&gt;
File:Ras-wormgear.jpg| RAS, Second (output) stage of worm gear&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$. This feature is nice, &amp;quot;Allows different Azimuth and Elevation rotators from any manufacturer provided they both use either AC or DC motors.  (Example:  We can configure the Azimuth to use an OR-2800 and the Elevation to use a DC motor linear actuator.  OR, the Azimuth to use a T2X, and the Elevation to use a Yaesu G-550)&amp;quot;&lt;br /&gt;
* [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf MD-01/02 HR], it is high resolution edition of rotator controller, with resolution of 0.1875 deg. Instead of using reed switches in first stage of worm gear box, it uses a hall effect sensor. Again the motor driver is electro mechanical switches as shown in picture in the [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf page 3 of data-sheet]. This controller, also, support soft-start functionality (PWM control) only when the power supply is higher than 20V, [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 according to this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cost of this controller (only) is calculated:&lt;br /&gt;
* RAS/HR, RAS rotator and MD-02/HR controller is ~[1435E](http://www.rfhamdesign.com/products/spid-hr-antenna-rotators/ras-hr-az--el-rotor/index.php)&lt;br /&gt;
* only the RAS rotator costs ~900E (an estimation)&lt;br /&gt;
so the cost of MD-02/HR is ~500E.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Az-El controller front G.gif| RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;br /&gt;
File:Rotator-controller-md.png| Rotator Controller, MD-01/02 HR&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== SPX rotators ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics &amp;amp; Mechanical ===&lt;br /&gt;
&lt;br /&gt;
A series of AZ/EL rotators:&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
All of these rotators it seems that are based in the same, first stage, worm gear box with the RAS. The second stage it is like [https://ae01.alicdn.com/kf/HTB1uzY4PVXXXXX4XXXXq6xXFXXXE/NMRV050-Speed-Ratio-50-1-Worm-Gearbox-14mm-19mm-Input-Shaft-90-Degree-Worm-Gear-Speed.jpg_640x640.jpg that] and changed according to the maximum output load (and maximum break torque). From all the data-sheets seems that motor needs power 12-18V@3-20A or 20-24V@3-20A (max current depends on load or rotator controller, e.g. PWM control). All of these rotator use the same controllers with RAS/BIG-RAS. The motors are DC (it seems that are the same with RAS/BIG-RAS). For position sensor, a reed switch for standard version and a hall effect sensor for high resolution version. From the number of cables and from the type of controller it seems that there no an interface of end-stops connected to rotator controller. [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 This post] confirms that the SPX-01 and SPX-02 have no end stop switches on either azimuth or elevation. Also the limits are set in the controller, based on the users cabling setup.&lt;br /&gt;
In this system the brake system is the double worm gear. In the specification, the rotation range is AZ/EL:360/180deg is the same with the RAS. The available rotator controllers are the same with the SPID rotators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Spx-wormgear.jpeg| SPX, second stage of worm gear&lt;br /&gt;
File:Spx-station232.jpg|  SPX-02 rotator, [https://network.satnogs.org/stations/232/ station 232]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=2655</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=2655"/>
		<updated>2019-03-12T11:28:41Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add an example with stepper motor velocity and accelaration selection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= 60-80€&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= -&lt;br /&gt;
|latest-release= v2.2&lt;br /&gt;
|source-repo= [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller satnogs-rotator-controller - GitLab]&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v2 ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Pcb_schema_v2_revC.png&lt;br /&gt;
Pcb_board_v2_revC.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
* Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini], [https://github.com/sparkfun/Arduino_Pro_Mini_328 SparkFun's Arduino Pro Mini 328] dev-board with ATmega328p.&lt;br /&gt;
* The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
* The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
* Filtered power supply of micro controller.&lt;br /&gt;
* An I2C multiplexer is used to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
* A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-heating.&lt;br /&gt;
* There are some spare dev-pins in order to connect other peripherals like IMU or an LCD display.&lt;br /&gt;
* Pins with integrated RC-Low Pass filter for end-stops connection.&lt;br /&gt;
* Default communication interface is RS-485 but it can also be used as a UART.&lt;br /&gt;
* Using different paths for digital and power (motors) GND.&lt;br /&gt;
* Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
* Flashed either by using UART or ISP header&lt;br /&gt;
&lt;br /&gt;
=== Build sequence ===&lt;br /&gt;
* Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
* Buy the PCB.  [https://oshpark.com OshPark],[https://www.seeedstudio.com/fusion_pcb.html Seeed Fusion][https://www.pcbway.com PCBWay.com], [http://dirtypcbs.com DirtyPCBs.com], [https://www.elecrow.com/ Elecrow] have been used in the past with good results.&lt;br /&gt;
** You can order the v2.2 of the board directly using [https://oshpark.com/shared_projects/w0s8d4OJ this OSHPark link] or [https://dirtypcbs.com/store/designer/details/6933/5904/satnogs-v3-motor-controller-zip this DirtyPCBs link].&lt;br /&gt;
** You can order the v1.0 of the rotary encoder board using [https://oshpark.com/shared_projects/I3b8SCci this OSHPark link]&lt;br /&gt;
** You can order PCB as well as [https://www.seeedstudio.com/prototype-pcb-assembly.html PCB Assembly service] from Seeed Studio &lt;br /&gt;
* Get all the necessary components according to BOM from latest tag (or the version that you want to build), [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Gitlab Tags]&lt;br /&gt;
* Assemble the PCB, by soldering the components&lt;br /&gt;
* Burn the firmware&lt;br /&gt;
* Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
* You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Assembly Guide ====&lt;br /&gt;
&lt;br /&gt;
[[File:H1000_aluminium_enclosure.png|thumb|center|800x420px|alt=|Rotator Controller - Drill holes]]&lt;br /&gt;
[[File:Rotator_controller_sheet1.png|thumb|center|800x420px|alt=|Rotator Controller sheet 1/2]]&lt;br /&gt;
[[File:Rotator_controller_sheet2.png|thumb|center|800x420px|alt=|Rotator Controller sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
==== Microcontroller ====&lt;br /&gt;
&amp;lt;gallery mode=packed  heights=&amp;quot;250px&amp;quot;&amp;gt;&lt;br /&gt;
Uc.png|Microcontroller&lt;br /&gt;
Uc_orientation.png|Microcontroller Orientation&lt;br /&gt;
I2c_pullup.png|I2C pull-up resistors&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- changed at feb.25th 2018&lt;br /&gt;
{|&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
|&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
|&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors|left]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main micro-controller of the board is arduino pro-mini 5V@16MHz, ATmega328P.&lt;br /&gt;
The +5V of the controller are produced from arduino pro-mini.&lt;br /&gt;
Some clones do not use correct parts in LDO, like the original one, with&lt;br /&gt;
result, when it powers up with +12V, burned.&lt;br /&gt;
&lt;br /&gt;
Some examples, &lt;br /&gt;
* [https://community.libre.space/t/v2-controller-board-magic-smoke/1878 SatNOGS Community]&lt;br /&gt;
* [http://westsideelectronics.com/blew-up-a-cheap-arduino-pro-mini-clone/ West Side Electronics]&lt;br /&gt;
&lt;br /&gt;
One Solution is not use clones, use [https://www.sparkfun.com/products/11113# Sparkfun's arduiuno pro-mini 5V@16MHz, ATmega328P]. &lt;br /&gt;
The second solution is to add a LDO, like [https://gr.mouser.com/datasheet/2/268/mic5205-778789.pdf MIC5205] (maybe in a new revision of v2).&lt;br /&gt;
&lt;br /&gt;
The power consumption in +5V is:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! -&lt;br /&gt;
! QTY.&lt;br /&gt;
! VCC(V)&lt;br /&gt;
! IDD(mA)&lt;br /&gt;
! Total(mA)&lt;br /&gt;
|-&lt;br /&gt;
| AS5601&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 6.5&lt;br /&gt;
| 13 &lt;br /&gt;
|-&lt;br /&gt;
| PCA9540B&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 0.1&lt;br /&gt;
| 0.1&lt;br /&gt;
|-&lt;br /&gt;
| SN65HVD485E&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| TC74&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 0.35&lt;br /&gt;
| 0.35&lt;br /&gt;
|-&lt;br /&gt;
| arduino pro mini&lt;br /&gt;
| 1&lt;br /&gt;
| 5&lt;br /&gt;
| 20&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| MC33926&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 0.2&lt;br /&gt;
| 0.4&lt;br /&gt;
|-&lt;br /&gt;
| DRV8825&lt;br /&gt;
| 2&lt;br /&gt;
| 5&lt;br /&gt;
| 0.1&lt;br /&gt;
| 0.2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The LDO MIC5205 guaranteed 150mA output, for Stepper motors ~35-40mA, for DC motors ~35-40mA.&lt;br /&gt;
&lt;br /&gt;
==== Motor Drivers ====&lt;br /&gt;
===== Stepper motor driver =====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options have been tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
* 2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
* 4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
* 2 fixed terminal blocks P7, P8, Amphenol-VI0421550000G&lt;br /&gt;
* 6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
Note: [https://hackaday.com/2016/08/29/how-accurate-is-microstepping-really/ Guide for microstepping selection]&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP3/JP6'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP2/JP5'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP1/JP4'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Do'''NOT''' solder 2 resistors 100k, R4, R7 in default configuration (full step)&lt;br /&gt;
* If you have A4988 for stepper motor drive and you want to use micro stepping, when the MS1 is HIGH&lt;br /&gt;
it is necessary to solder R4, R7 according to [https://www.pololu.com/product/1201 A4983 Stepper Motor Driver Carrier, Step (and microstep) size].&lt;br /&gt;
&lt;br /&gt;
In case of DRV8825, all pins MS1, MS2, MS3 have internal pull-up resistor.&lt;br /&gt;
&lt;br /&gt;
Also it is necessary to update the definitions in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino firmware], according to microstepping selection.&lt;br /&gt;
Example:&lt;br /&gt;
* Step Angle: 1.8 deg&lt;br /&gt;
* Microstep: 1/8 step&lt;br /&gt;
* Steps per Revolution: (360/1.8)*8 = 1600&lt;br /&gt;
&lt;br /&gt;
That means:&lt;br /&gt;
&lt;br /&gt;
 #define MICROSTEP          8     ///&amp;lt; Set Microstep&lt;br /&gt;
 #define MAX_SPEED          6400  ///&amp;lt; In steps/s, consider the microstep&lt;br /&gt;
 #define MAX_ACCELERATION   1600  ///&amp;lt; In steps/s^2, consider the microstep&lt;br /&gt;
 #define SPR                1600L  ///&amp;lt; Step Per Revolution, consider the microstep&lt;br /&gt;
&lt;br /&gt;
It is necessary to change the maximum speed and acceleration according to new SPR.&lt;br /&gt;
&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
The speed = 300steps/s and acceleration = 100steps/s^2 with&lt;br /&gt;
* 1.8 deg/step stepper motor&lt;br /&gt;
* full step&lt;br /&gt;
* gear ratio 54&lt;br /&gt;
means speed = 10deg/s and acceleration = 3.3deg/s^2 according to this [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/stepper_motor_controller/stepper_motor_controller.ino#L224 function]. &lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
* [http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors] &lt;br /&gt;
* add a heat-sink.&lt;br /&gt;
* plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
The stepper motor that is used, is [https://www.omc-stepperonline.com/hybrid-stepper-motor/nema-17-bipolar-59ncm-84ozin-2a-42x48mm-4wires-w-1m-cable-and-connector-17hs19-2004s1.html Nema 17 Bipolar 59Ncm], &lt;br /&gt;
* Size: &amp;amp;#9649;42 x 48 mm&lt;br /&gt;
* Weight: 390 g&lt;br /&gt;
* Shaft diameter: 5 mm&lt;br /&gt;
* Step Angle: 1.8 deg &lt;br /&gt;
* Nominal speed @ 12V: 720deg/s&lt;br /&gt;
* Rated Current/phase: 2.0A&lt;br /&gt;
* Stall torque @ 12V: 0.59Nm&lt;br /&gt;
&lt;br /&gt;
===== DC motor driver =====&lt;br /&gt;
[[File:Dc_motor_driver.png|thumb|320x240px|DC motor driver]]&lt;br /&gt;
&lt;br /&gt;
It is necessary to solder: &lt;br /&gt;
* Solder U6 with 0.1&amp;quot; female connectors as shown in picture&lt;br /&gt;
* Solder 2 pads in yellow circle by using ~1mm diameter wire&lt;br /&gt;
* Solder 2 2-pin 3.5mm terminal blocks for 2 DC motors&lt;br /&gt;
&lt;br /&gt;
The DC motor controller is [https://www.pololu.com/product/1213 Dual MC33926 Motor Driver Carrier ]&lt;br /&gt;
&lt;br /&gt;
* Motor driver: MC33926&lt;br /&gt;
* Motor channels: 2&lt;br /&gt;
* Minimum operating voltage: 5V&lt;br /&gt;
* Maximum operating voltage: 28V&lt;br /&gt;
* Operating voltage: 12V&lt;br /&gt;
* Continuous output current per channel: 2.5A&lt;br /&gt;
* Current sense: 	0.525 V/A&lt;br /&gt;
* Maximum PWM frequency: 	20 kHz&lt;br /&gt;
* Operating PWM frequency: 3921.5Hz (~4kHz)&lt;br /&gt;
* Minimum logic voltage: 	2.5V&lt;br /&gt;
* Operating logic voltage: 5V&lt;br /&gt;
* Maximum logic voltage: 	5.5V&lt;br /&gt;
&lt;br /&gt;
The DC motor that we use is [https://www.pololu.com/product/1104 50:1 Metal Gearmotor 37Dx54L mm], &lt;br /&gt;
* Size: 37D x 54L mm&lt;br /&gt;
* Weight: 195 g&lt;br /&gt;
* Shaft diameter: 6 mm&lt;br /&gt;
* Free-run speed @ 12V: 200 rpm&lt;br /&gt;
* Free-run current @ 12V:	300 mA&lt;br /&gt;
* Stall current @ 12V: 5000 mA&lt;br /&gt;
* Stall torque @ 12V: 1.2Nm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Communication ====&lt;br /&gt;
Note: For both options the firmware is the same.&lt;br /&gt;
===== ''UART'' =====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
* solder JP7 and JP8&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* not solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
* A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
===== ''RS-485'' =====&lt;br /&gt;
[[File:RS485_solder.png|thumb|320x240px|RS485]]&lt;br /&gt;
[[File:Missing_rs485_r19.png|thumb|320x240px|RS485]]&lt;br /&gt;
&lt;br /&gt;
To use RS485:&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* solder C1, U2, R18, R19 R9, R8, R1, D3&lt;br /&gt;
* not solder JP7 and JP8&lt;br /&gt;
&lt;br /&gt;
If you use PCB without R19 footprint, you can add it in arduino pro-mini UART header.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Power Supply ====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
Recommended power supply for rotator controller is: 48V @ 1A DC.&lt;br /&gt;
A good choice is the [https://gr.mouser.com/ProductDetail/709-LRS50-48 MEAN WELL  LRS-50-48]&lt;br /&gt;
&lt;br /&gt;
The switching power supply could get as input voltage, 19-60V DC.&amp;lt;br&amp;gt;&lt;br /&gt;
In different input voltages, must be change the components like D4 and F1.&amp;lt;br&amp;gt;&lt;br /&gt;
Default PCB components works at 48VDC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Endstops ====&lt;br /&gt;
[[File:Endstop_part.png|thumb|320x240px|Endstop Specification]]&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
In reference design, mechanical endstops (the [https://www.aliexpress.com/item/10PCS-MICROSWITCH-LIMIT-SWITCH-3pin-N-O-N-C-MICRO-SWITCH-free-shipping/32692144896.html?spm=2114.search0104.8.13.2f3c2457pmCyFH&amp;amp;transAbTest=ae803_5&amp;amp;priceBeautifyAB=0 P/N SS0505] of endstop is specified in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator satnogs rotator BOM]) , are used.&lt;br /&gt;
&lt;br /&gt;
The controller has the capability to accommodate optical or magnetic endstop which connected to&lt;br /&gt;
P2 header with silkscreen, SW1, SW2, +5V and GND.&lt;br /&gt;
&lt;br /&gt;
Mechanical endstops are connected to&lt;br /&gt;
* SW1 and GND for azimuth axis &lt;br /&gt;
* SW2 and GND for elevation axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Encoders ====&lt;br /&gt;
Source files: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller-encoder satnogs-rotator-controller-encoder - GitLab]&lt;br /&gt;
Firmware: [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/libraries/as5601.h  satnogs-rotator-firmware - GitLab]&lt;br /&gt;
&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
For DC motor setup is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Encoder_sheet1.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 1/2]]&lt;br /&gt;
[[File:Encoder_sheet2.png|thumb|center|800x420px|alt=|Rotary Encoder sheet 2/2]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firmware and Pin Assignments ===&lt;br /&gt;
&lt;br /&gt;
===== Firmware =====&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For stepper motors] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware For DC motors, thanks to ] [https://github.com/ph4as ph4as]&lt;br /&gt;
&lt;br /&gt;
===== Pins Configuration =====&lt;br /&gt;
This configuration is from the latest release in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-controller/tags Rotator Controller repository] &lt;br /&gt;
&lt;br /&gt;
* M1IN1 10, Step or PWM1&lt;br /&gt;
* M1IN2 9, Direction or PWM2&lt;br /&gt;
* M1SF  7, Status flag&lt;br /&gt;
* M1FB  A1, Load measurment&lt;br /&gt;
&lt;br /&gt;
* M2IN1 11, Step or PWM1&lt;br /&gt;
* M2IN2 3, Direction or PWM2&lt;br /&gt;
* M2SF  6, Status flag&lt;br /&gt;
* M2FB  A0, Load measurment&lt;br /&gt;
&lt;br /&gt;
* MOTOR_EN 8, Enable/Disable motors&lt;br /&gt;
&lt;br /&gt;
* SW1 5, Endstop for axis 1&lt;br /&gt;
* SW2 4, Endstop for axis 2&lt;br /&gt;
&lt;br /&gt;
* RS485_DIR 2, RS485 Half Duplex direction pin&lt;br /&gt;
&lt;br /&gt;
* SDA_PIN 3, Data I2C pin&lt;br /&gt;
* SCL_PIN 4, Clock I2C pin&lt;br /&gt;
&lt;br /&gt;
* PIN12 12, Digital output pin&lt;br /&gt;
* PIN13 13, Digital output pin&lt;br /&gt;
* A2    A2, Analog input pin&lt;br /&gt;
* A3    A3, Analog input pin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pre-Flight Check ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pcb_testing_points.png|thumb|center|800x420px|alt=|Testing Points]]&lt;br /&gt;
&lt;br /&gt;
* Power your PCB with 48VDC, without plug-in arduino pro-mini and motor drivers, measure with multimeter the voltage in point 1. Expected voltage +12V (reference to GND).&lt;br /&gt;
* Plug arduino pro-mini and measure with multimeter the voltage in point 2. Expected voltage +5V (reference to GND).&lt;br /&gt;
* Plug motor drivers (for steppermotors ensure the current is adjusted properly)&lt;br /&gt;
* Connect all peripheral devices like motors, sensors, endstops&lt;br /&gt;
&lt;br /&gt;
If the two first steps fail, something is wrong (maybe there is a short circuit) in PCB. Check the connections with a multimeter.&lt;br /&gt;
&lt;br /&gt;
Then the board is ready to run the firmware, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md satnogs-rotator-firmware].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting hints ===&lt;br /&gt;
&lt;br /&gt;
As soon as the board is powered up or reset, it will auto-home, on first build you can trigger a reset multiple time or move the homing ring to get it &amp;quot;home&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/blob/master/README.md Connecting directly to the Arduino pro-mini] you will need to use 19200 bauds and &amp;quot;newline&amp;quot; line ending.&lt;br /&gt;
&lt;br /&gt;
Here is some commands (took from [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware#easycomm-implemantation]) you can issue in the terminal emulator of your choice to test things:&lt;br /&gt;
&lt;br /&gt;
* '''VE''', it will returns something like &amp;quot;SatNOGS-v2.0&amp;quot;&lt;br /&gt;
* '''RESET''', move to home position&lt;br /&gt;
* '''AZxx''', '''ELxx''', move to specified position (number)&lt;br /&gt;
&lt;br /&gt;
Nothing moves ? Look at the status and error register :&lt;br /&gt;
&lt;br /&gt;
* '''GS''', status register : 1 idle, 2 moving, 4 pointing, 8 error&lt;br /&gt;
* '''GE''', error register : 1 no error, 2 sensor, 4 homing, 8 motor, 12 over temperature, 16 watch dog timer interrupt&lt;br /&gt;
&lt;br /&gt;
By example, at first start, you might be in '''GS8''' and '''GE4''' until you get a good homing position for the rotator to start working.&lt;br /&gt;
&lt;br /&gt;
If you using an unreleased version of the board (the board that has fuse holder), in [https://community.libre.space/t/stepper-motor-issue/2438/2 community post] you can find pin configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=2654</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=2654"/>
		<updated>2019-03-12T09:42:16Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add link for CNC shield based controller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Building a ground station need not be complicated. There are a few things to consider when working out what it is you are going to do. Choices such as the desire to have a fixed or steerable ground station will play a big part in the amount of equipment needed and the time taken as well as the complexity of any build. If you are new to this and a little unsure then a fixed (no rotator) option is a good choice. If you fancy a challenge and want to pick out the weakest signals then the steerable ground station might be what you are after. There is more detail in the [[Ground Stations]] page&lt;br /&gt;
&lt;br /&gt;
The illustration below sets out the various major components to give an idea as to what is commonly used.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_imagemap.png|center]]&lt;br /&gt;
&lt;br /&gt;
Here are some links explaining the different options:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Platform&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [[SatNOGS Rotator Controller|SatNOGS Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SatNOGS_Client_Ansible|Debian system]]&lt;br /&gt;
| [http://spid.net.pl/en/rot2prog-2/ Rot2Prog]&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
|&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux Desktop]]&lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| [https://wiki.satnogs.org/SatNOGS_Arduino_Uno/CNC_Shield_Based_Rotator_Controller Arduino UNO CNC Shield based controller]&lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. RPi3 &amp;gt; Yaesu G550 &amp;gt; SDR &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== How do I pick? ==&lt;br /&gt;
&lt;br /&gt;
'''Client''': The Raspberry Pi 3 is the reference platform for SatNOGS, and is currently the option that has the best support from the community.  Certain SDRs may benefit from a more powerful CPU, like what you'd find in a desktop machine; however, currently you'll need to set that up on your own.&lt;br /&gt;
&lt;br /&gt;
'''Rotator''': A rotator, like the [[SatNOGS_Rotator_v3|SatNOGS Rotator v3]], will allow your antenna to follow satellites as they move across the sky, and thus pick up fainter signals.  But if you want to get started quickly, or don't have the hardware skills to build your own, you can still pick up stronger signals (the ISS, NOAA and Meteor weather satellites) with a [[No_rotator|no-rotator]] setup.  If you already have [https://github.com/Hamlib/Hamlib/wiki/Supported-Rotators a rotator supported by rotctl], you can use that.&lt;br /&gt;
&lt;br /&gt;
'''Signal Reception''': The reference radio for SatNOGS is the [https://www.rtl-sdr.com RTL-SDR v3], but other latest-generation SDRs like the [http://www.nooelec.com/store/nesdr-smart-sdr.html NooElec NESDR SMart] should work as well.  Higher-end SDRs should work as well, but can get a bit expensive.  Alternately, [https://sourceforge.net/p/hamlib/wiki/Supported%20Radios/ any radio supported by rigctl] should work.&lt;br /&gt;
&lt;br /&gt;
Amplification is generally done by a low noise amplifier, or LNA. There are multiple options:&lt;br /&gt;
&lt;br /&gt;
* A wide-band LNA next to your SDR (see [http://lna4all.blogspot.com/ LNA4ALL] and similar)&lt;br /&gt;
* A band specific (or two) pre-amplifiers next to your antennas ([http://www.wimo.com/mast-preamplifier_e.html example])&lt;br /&gt;
* No amplification at all...just pump the gain of your SDR.  (This is not recommended for the rtl-sdr.)&lt;br /&gt;
&lt;br /&gt;
'''Antenna''':  Stationary antennas (eg: [https://en.wikipedia.org/wiki/Turnstile_antenna Turnstile], [https://community.libre.space/t/parasitic-lindenblad-on-uhf/1128/2 Lindenblad]) will be easy to build and mount, as they won't require rotator hardware.  They will let you receive stronger broadcasts, like NOAA weather satellites and ISS broadcasts, but may not work for receiving fainter cubesat broadcasts.  Directional antennas (eg: Yagis, Helicals) can be more complicated to build, but will also require a rotator to track satellites across the sky.  The advantage is that they will let you pick up fainter broadcasts from cubesats or ham radio satellites.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=2642</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=2642"/>
		<updated>2019-03-08T20:48:41Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add notes for assembly instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~220 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tags/v3.1-pre-release&lt;br /&gt;
|latest-release-name= v3.1&lt;br /&gt;
|source-repo= https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/&lt;br /&gt;
|documentation= [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ v3.0.1] [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Build_Sequence v3.1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread]. Also in this wiki page you can also find a &amp;quot;How to build the rotator&amp;quot;, mechanical analysis and all documentation about the [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator SatNOGS rotator].&lt;br /&gt;
&lt;br /&gt;
Also in this [https://www.ethercalc.org/v3specs list] is presented different rotators, either commercial or DIY builds.&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; |&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; |'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
| Plastic Parts || 15&lt;br /&gt;
|-&lt;br /&gt;
| Non Printed Parts || 38&lt;br /&gt;
|-&lt;br /&gt;
| Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
| Controller Electronics|| [[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
| Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
| Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
| Frame Material|| Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
| Speed (deg/sec) || 7&lt;br /&gt;
|-&lt;br /&gt;
| Torque (Nm) || ?, ~30&lt;br /&gt;
|-&lt;br /&gt;
| Brake Torque (Nm) || ?&lt;br /&gt;
|-&lt;br /&gt;
| Dimensions (mm) || 280x140x140 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
| Weight (kg) || ~5&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design Goals ====&lt;br /&gt;
Considering the specifications as detailed in the [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Mechanical_Analysis_.5BWIP.5D Mechanical Analysis], we would also like for the 3rd version of SatNOGS rotator to be:&lt;br /&gt;
&lt;br /&gt;
* inexpensive (less than €300, if possible)&lt;br /&gt;
* lightweight and portable (~6Kg, size:~300x~150x~150mm)&lt;br /&gt;
* rigid and durable&lt;br /&gt;
* easy to build and fix (try to use easily available materials)&lt;br /&gt;
* weatherproof&lt;br /&gt;
* electromagnetically shielded, so that noise in reception is reduced&lt;br /&gt;
* accurate (&amp;lt;1deg, backlash reduction and use of encoders at the axis)&lt;br /&gt;
&lt;br /&gt;
== Sourcing ==&lt;br /&gt;
&lt;br /&gt;
'''3d Printing at a Fab Lab or your local hackerspace:''' If you don't have your own 3d printer, then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines, but this should be discussed with the Fab Lab or hackerspace. You then pay for the material, time or a combination of the two for each of the parts or any other agreement in place.&lt;br /&gt;
&lt;br /&gt;
* [http://www.fabfoundation.org/fab-labs FabLabs]&lt;br /&gt;
* [https://wiki.hackerspaces.org/List_of_Hacker_Spaces List of hacker spaces]&lt;br /&gt;
&lt;br /&gt;
Most people building the rotator have had success builds with simple ABS material for the 3D printing parts.&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself, then you may be able to find a supplier that will do this for you.   ([http://www.kjnltd.co.uk/ Here's one in the United Kingdom].)&lt;br /&gt;
&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA]; they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
==== Vendors Table ====&lt;br /&gt;
&lt;br /&gt;
Like the [https://reprap.org/wiki/RepRap_Buyers%27_Guide RepRap Buyers' Guide wiki], feel free to populate the table. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Vendor&lt;br /&gt;
! Location&lt;br /&gt;
! Parts &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.pololu.com/ pololu]&lt;br /&gt;
| USA, Worldwide &lt;br /&gt;
| Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [http://mouser.com/ mouser]&lt;br /&gt;
| Worldwide &lt;br /&gt;
| Motors, electronics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.ebay.com/ ebay]&lt;br /&gt;
| Worldwide &lt;br /&gt;
| Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.aliexpress.com/ aliexpress]&lt;br /&gt;
| Worldwide &lt;br /&gt;
| Motors, electronics, Fasteners, T-Slots, pulleys, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://grobotronics.com/ grobotronics]&lt;br /&gt;
| GR, EU&lt;br /&gt;
| Motors, electronics, Fasteners, T-Slots, pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.motedis.com/shop/index.php motedis]&lt;br /&gt;
| DE, EU&lt;br /&gt;
| T-Slots, Tubes&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://uk.misumi-ec.com/ Misumi]&lt;br /&gt;
| Worldwide&lt;br /&gt;
| T-Slots, Tubes, Fasteners, Pulleys&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.omc-stepperonline.com/ omc-stepperonline]&lt;br /&gt;
| Worldwide&lt;br /&gt;
| Stepper motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.fastenal.ca/ fastenal]&lt;br /&gt;
| USA&lt;br /&gt;
| Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.mcmaster.com/ mcmaster]&lt;br /&gt;
| USA&lt;br /&gt;
| Fasteners&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.rs-online.com/ rs]&lt;br /&gt;
| Worldwide&lt;br /&gt;
| Electronics, fasteners, motors&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://8020.net/ 80/20]&lt;br /&gt;
| USA&lt;br /&gt;
| T-Slots&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.pcbway.com/ pcbway]&lt;br /&gt;
| CN&lt;br /&gt;
| PCB fabrication&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.servocity.com/ servocity]&lt;br /&gt;
| USA&lt;br /&gt;
| Motors, T-slots, fasteners&lt;br /&gt;
| Most of parts are not metric&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Build Sequence ==&lt;br /&gt;
&lt;br /&gt;
==== Tools &amp;amp; Consumables ====&lt;br /&gt;
Here are presented tools and consumables about part fabrication, port-processing and assembly process.&lt;br /&gt;
Most of the tools are available in every hackerspace, makerspaces, FabLabs etc. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Tool/Consumable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| Drill bits&lt;br /&gt;
| 2mm for aluminum, 3mm, 4mm and 5mm for plastic&lt;br /&gt;
|-&lt;br /&gt;
| Drill driver&lt;br /&gt;
| For aluminum tube drill hole, 3D printed part&lt;br /&gt;
|-&lt;br /&gt;
| Sandpaper&lt;br /&gt;
| 80(dry), 120(dry), 240(dry) and 1000(wet) grit&lt;br /&gt;
|-&lt;br /&gt;
| Acetone&lt;br /&gt;
| For acetone vapor bath&lt;br /&gt;
|-&lt;br /&gt;
| Hacksaw&lt;br /&gt;
| For aluminum Tube&lt;br /&gt;
|-&lt;br /&gt;
| Square File&lt;br /&gt;
| For worm axis, for use on steel&lt;br /&gt;
|-&lt;br /&gt;
| Precision Knife&lt;br /&gt;
| For general use, especially in 3d-Printed parts&lt;br /&gt;
|-&lt;br /&gt;
| Caliper&lt;br /&gt;
| Measuring Range 0-150mm&lt;br /&gt;
|-&lt;br /&gt;
| Combination Wrenches&lt;br /&gt;
| 5.5mm, 7mm and 8mm&lt;br /&gt;
|-&lt;br /&gt;
| Thread-locker&lt;br /&gt;
| Like Loctite 271&lt;br /&gt;
|-&lt;br /&gt;
| Cyano acrylic glue&lt;br /&gt;
| Like Loctite 401&lt;br /&gt;
|-&lt;br /&gt;
| Screw driver&lt;br /&gt;
| Number 1 Phillips&lt;br /&gt;
|-&lt;br /&gt;
| Heat Gun&lt;br /&gt;
| For Heat-shrinkables or use a lighter&lt;br /&gt;
|-&lt;br /&gt;
| Ball-End L-Keys&lt;br /&gt;
| Hex 1.5mm, 2mm, 2.5mm, and 3mm&lt;br /&gt;
|-&lt;br /&gt;
| Soldering iron and consumables&lt;br /&gt;
| For cables&lt;br /&gt;
|-&lt;br /&gt;
| Wire Cutter&lt;br /&gt;
| For cables&lt;br /&gt;
|-&lt;br /&gt;
| Long-Nose Plier&lt;br /&gt;
| General purpose&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Parts ====&lt;br /&gt;
Make sure you have all parts, according to [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM].&lt;br /&gt;
&lt;br /&gt;
Most of the parts could be fabricated by a FDM 3D-printer. Some parts have only 2D geometry so could be&lt;br /&gt;
fabricated by a laser cutter. Other parts have modifications of common(hardware) parts like threaded rods or&lt;br /&gt;
aluminum pipes. Also you could find a lot of guides for [https://www.3dhubs.com/knowledge-base/post-processing-fdm-printed-parts post processing for FDM printed parts].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:C1001.png|C1001, Aluminum Tube 6063 OD40mm TH1.5mm L240mm, 2 variants -1 and -3&lt;br /&gt;
File:C1010-3.png|C1010-3, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1011-3.png|C1011-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1020-1.png|C1020-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1021-1.png|C1021-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath], [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1022-3.png|C1022-3, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1030-1.png|C1030-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1040-1.png|C1040-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1041-1.png|C1041-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material, [https://community.libre.space/t/version-3-1-stepper-varient-with-v2-controller/1430/5 Imperial variant], [https://community.libre.space/t/help-to-buy-metric-tubing-for-v3-rotator/784/6 tool that helps to build imperial part]&lt;br /&gt;
File:C1042-1.png|C1042-1, laser cut in 3mm Acrylic Sheet or in FDM-3Dprinter with same fabrication parameters as C1010-3&lt;br /&gt;
File:C1043-1.png|C1043-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], Support material, Brim Width: 2 mm&lt;br /&gt;
File:C1050.png|C1050, Aluminum Profile 20x20 B-type slot 6, 2 variants -1 and -5&lt;br /&gt;
File:C1060-1.png|C1060-1, M5 Threaded rod A2 stainless steel(304)&lt;br /&gt;
File:C1061.png|C1061, 2 variants -5 and -6, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1062-1.png|C1062-1, It is recommended to build in laser sintering like Shapeways with White Versatile Plastic (cost ~10€) or like C1030-1 and [http://sinkhacks.com/building-acetone-vapor-bath-smoothing-3d-printed-parts/ Smoothing the part with acetone vapor bath]&lt;br /&gt;
File:C1070-1.png|C1070-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1071-1.png|C1071-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1072-1.png|C1072-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1083-1.png|C1083-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
File:C1080-3 2.png|C1080-3, Cover Box bottom part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1081-3 2.png|C1081-3, Cover Box top part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1082-5.png|C1082-5, Cover Box side part, galvanized steel sheet, thickness 0.5mm&lt;br /&gt;
File:C1084-1.png|C1084-1, FDM-3Dprinted, Material: ABS, Layer height: 0.4 mm, Perimeters: 2, Top/bottom solid layers: 3, Fill density: 20%, Fill pattern: Honeycomb, Fan speed: [35, 100], No support material&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Assembly ====&lt;br /&gt;
Follow the [https://ohai.satnogs.org/project/satnogs-rotator-v3-mechanical-assembly/hardware/ instructions for mechanical assembly] and also you can [https://www.youtube.com/watch?v=D6P9HK23Gmo watch timelapse]&lt;br /&gt;
Also, exploded views and instructions are present here.&lt;br /&gt;
&lt;br /&gt;
{{Message|&lt;br /&gt;
Prior to Step 8, the rotary encoders must be ready and prior to Step 11 the motor must be mounted in A1070-1. For the rotary encoder assembly look at the next section [https://wiki.satnogs.org/SatNOGS_Rotator_v3#Rotator_Controller Rotator_Controller].}}&lt;br /&gt;
&lt;br /&gt;
Some notes for assembly:&lt;br /&gt;
* Resolve collision between of end-stop arm and C1042-1 end-stop mount, [https://community.libre.space/t/rotator-3-1-end-stop-switch-mounting/3463 community post]&lt;br /&gt;
* [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/7 Running the worm gear] and [https://community.libre.space/t/rotator-3-1-worm-gear-issues/1858/9 lapping the worm gear] to get gear box running smooth&lt;br /&gt;
* [https://community.libre.space/t/stepper-motor-bolts-v3-1/3388 Collision between bolts and motor], this issue can be created by using wrong M4 screws(H1100-5) and washers(H1110-1)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;180&amp;quot; heights=&amp;quot;180&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:A1010-1.png|Step 1, Prepare the assembly of worm gear&lt;br /&gt;
File:A1011.png|Step 2, Prepare the assembly of worm gear mount, 2 variants -1 and -2 (mirror)&lt;br /&gt;
File:A1020-1.png|Step 3, Prepare the assembly of shaft collar for worm wheel&lt;br /&gt;
File:A1033-1.png|Step 4, Prepare the encoder gear&lt;br /&gt;
File:A1070-1.png|Step 5, Prepare the Motor mount&lt;br /&gt;
File:A1060-1.png|Step 6, In case of DC motor configuration&lt;br /&gt;
File:A1031-1.png|Step 7, Bearing side without encoder and end-stop mounts&lt;br /&gt;
File:A1032-1.png|Step 8, Bearing side with encoder and end-stop mounts&lt;br /&gt;
File:A1030.png|Step 9, Prepare symmetric and asymmetric axis, 2 variants -1 and -3&lt;br /&gt;
File:A1001-3.png|Step 10, Frame with worm gear mount and A1001-1 assembly&lt;br /&gt;
File:A1040.png|Step 11, Rotator module 2 Variants -1 and -3, symmetric and asymetric  [[:File:Tip for Step 11 (A1040) -- Note 10 - use of M5 Nuts to attach Drill.jpg|(Assembly Tip - Note 10:Jam two M5 nuts together at end of shaft to easily run gearbox manually)]]&lt;br /&gt;
File:A1050-1.png|Step 12, Final step of Antenna Rotator&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rotator Controller ====&lt;br /&gt;
Once mechanical assembly is ready, construct the [[SatNOGS Rotator Controller]].&lt;br /&gt;
Also construct [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Encoders the rotary encoders] for DC motor set up.&lt;br /&gt;
&lt;br /&gt;
==== Cover Box - Cabling ====&lt;br /&gt;
Prepare the cover box and install it to antenna rotator with rotator controller and cables.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Cover_box_1.JPG| Put the C1080-3 with screws M4 L10 DIN912, C1084-1 and washers M4 DIN125 to the azimuth module. The screw with the Phillips Rounded Head Screws For Sheet Metal, M3,5 X 6,5, DIN 7981,INOX A2, C1082-5 to the C1080-3 and put the C1083-1. Note screw only the middle screw.&lt;br /&gt;
File:Power_cable_1.JPG| The power - data cable must be passed inside the azimuth axis. This solution is tested [https://network.satnogs.org/stations/200/ in station 200] without problem.&lt;br /&gt;
File:Power_cable_2.JPG| In the other side of power cable must be installed a connector with  4 terminals and waterproof like [https://grobotronics.com/connector-sp-4-pin-male.html Weipu - SP1310/P4I]. Also it is needed to have the female connector for cable that connected to the client. For cheaper solution use a bigger cable to connect the rotator with client and power source.&lt;br /&gt;
File:Other_cables_2.JPG|The 3 CAT5e UTP cables are 2x sensors (encoders - end stops) 1x power and data (RS-485). For color code use [https://en.wikipedia.org/wiki/Power_over_Ethernet#Pinouts 802.3af Standards A and B] from the power sourcing equipment perspective.&lt;br /&gt;
File:Other_cables_3.JPG|The other cables are for DC motor or stepper motors. In each side of the CAT5e UTP cables must be put a Heat-shrinkable asreferred in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/blob/master/rotator-bom.ods BOM]. Also a Heat-shrinkable must be putin the cable gland in rotator controller for motor cables.&lt;br /&gt;
File:Other_cables_1.JPG|Pass all the cables though the hole in the bottom of C1080-3 &lt;br /&gt;
File:Motor_ferrite_bead.JPG|Add ferrite beads for motor cables, dimensions L25mm and OD 13mm&lt;br /&gt;
File:Velcro_for_controller_1.JPG|Add velcro to mount the rotator controller outside the box. Velcro tape specifications: Heavy duty, stick on, max 7Kg, 50mm x 100mm. The tape might be used to mount [https://wiki.satnogs.org/No_rotator client box]  in the rotator.&lt;br /&gt;
File:Rotator_controller_1.JPG| Cabling management inside the rotator controller. The controller is mounted to the rotator by using a tape as mentioned previously.&lt;br /&gt;
File:Rotator controller 2.JPG| Cabling management outside the rotator controller&lt;br /&gt;
File:Testing_1.JPG| The rotator is ready for testing, before the final step do not put the C1081-3, in order to most of components must be accessible&lt;br /&gt;
File:Testing 2.JPG| The final step. If everything is working properly, must be put the C1081-3 by using sheet metal screws as mentioned previously. In this step if the holes of C1081-3 are not aligned with the holes of the other two parts, C1082-5 and C1080-3, drill new holes and screw them, take a look in [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/issues/73 issue 73]. Put stickers!!!!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testing ====&lt;br /&gt;
You are ready! Proceed with [https://wiki.satnogs.org/SatNOGS_Rotator_Controller#Troubleshooting_hints testing].&lt;br /&gt;
&lt;br /&gt;
==== Heading Calibration ====&lt;br /&gt;
The heading calibration is a manual process:&lt;br /&gt;
&lt;br /&gt;
* Power the rotator, it starts moving in order to find the home position, to find the end-stops&lt;br /&gt;
* Remove the power from the rotator, the rotator is in home position&lt;br /&gt;
* Install the rotator to vertical axis by using U-Bolt clamps&lt;br /&gt;
* The azimuth axis it must be heading to the North, this is achieved by using a compass (e.g. from smart phone)&lt;br /&gt;
* Secure the rotator in the vertical axis&lt;br /&gt;
* Install the elevation axis with the same process, now the zero elevation is achieved by using a pocket level&lt;br /&gt;
* Secure the elevation axis&lt;br /&gt;
* In the case of wrong rotation:&lt;br /&gt;
** For stepper motors swap a pair of two stepper motor cables ([https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 it exists an open issue to be done by a command])&lt;br /&gt;
** For DC motors, [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/commit/961fb696536e35642f2b7064cc3c64676ebebb17 change the sign of encoder reading], it is a hacky method but it would be resolved by [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator-firmware/issues/15 this issue]&lt;br /&gt;
&lt;br /&gt;
== Mechanical Analysis [WIP] ==&lt;br /&gt;
&lt;br /&gt;
==== Brake Torque ====&lt;br /&gt;
The greatest force the tracker needs to withstand is the force created by strong wind. The worst case is when one antenna is elevated at 90 degs, facing the direction of the wind. We based our calculations on an [http://k7nv.com/notebook/topics/windload.html article] found online after comparing it to others. We “translated” the second table in metric (because we don’t understand imperial and because we needed same units system in our calculations)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method&lt;br /&gt;
! Wind Zone(km/h)&lt;br /&gt;
! Height (m) &lt;br /&gt;
! Pressure(N/m^2)&lt;br /&gt;
|-&lt;br /&gt;
| EIA-222-C&lt;br /&gt;
| 160&lt;br /&gt;
| N/A&lt;br /&gt;
| 1280&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EIA-222-F &lt;br /&gt;
| 128&lt;br /&gt;
| 14&lt;br /&gt;
| 1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EIA-222-F&lt;br /&gt;
| 128&lt;br /&gt;
| 21&lt;br /&gt;
| 1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EIA-222-F &lt;br /&gt;
| 128&lt;br /&gt;
| 30&lt;br /&gt;
| 1500&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 14&lt;br /&gt;
| 1290&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 21&lt;br /&gt;
| 1160&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 21&lt;br /&gt;
| 1390&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 30&lt;br /&gt;
| 1260&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 42&lt;br /&gt;
| 990&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UBC'97&lt;br /&gt;
| 128&lt;br /&gt;
| 42&lt;br /&gt;
| 1360&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Generic Formula &lt;br /&gt;
| 150&lt;br /&gt;
| N/A&lt;br /&gt;
| 1270&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
and we applied the worst case model (EIA-222-F) in 3 different antennas: in the biggest one of our designs, and in two others, for which we obtained data from [http://download.qrz.ru/pub/hamradio/antenna/rotators/G-800SA_1000SA.pdf yaesu G800 rotator manual at page 3]. We assumed that antennas are mounted in 1m away from the azimuth axis. For our antenna with 2m length (actual, not wavelength), made by 2cm square tube, the generated torque was ≈600Kg*cm. For the 144MHz 10-elements Yagi from the article is ≈6000Kg*cm and for the third 430MHz, 12-elements Yagi is ≈1800Kg*cm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Moment of inertia ====&lt;br /&gt;
Now for the moment of inertia: (for all installation methods we assumed that antennas are counterbalanced in the elevation axis) the worst case scenario here is to use two 3kg (our designs are less than 1kg) back mounted yagis with 3kg counterbalances both mounted in 0.75m away from azimuth axis. The torque you need in order to accelerate this system from ω=0deg/s angular velocity to ω=5deg/s (the math about angular velocity is below) in one second is about 60kg*cm.&lt;br /&gt;
&lt;br /&gt;
Note: we suppose that the mass of antennas is near to the altitude axis, so the torque of this axis that is needed to accelerate is approximately 0.&lt;br /&gt;
&lt;br /&gt;
* M1: torque of Azimuth axis&lt;br /&gt;
* L: length of center of mass of antennas from azimuth axis (0.75m)&lt;br /&gt;
* m: mass of antennas and of counterweight (3kg + 3kg = 6kg)&lt;br /&gt;
* I: moment inertia&lt;br /&gt;
* a: angular acceleration of azimuth axis 5deg/s^2&lt;br /&gt;
* I = I1 + I2 = m*L^2 + m*L^2 = 2*m*L^2 = 6.75 kg*m^2&lt;br /&gt;
* M1 = I*a = 6.75kgm^2 * 0.087rad/s^2 = 0.58 Nm = 5.8 kgm = 58 kgcm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Angular velocity ====&lt;br /&gt;
(How well do you remember trigonometry?)For the angular velocity max needed in altitude axis the things are straightforward. The closer is the satellite the larger the velocity. According to the wikipedia article about LEO, the lowest height limit is 160 km and the speed unit to orbit earth in this altitude is 7,8 km/s. As a result, maximum velocity in ALT axis is 2,8 deg/s. In ALT AZ rotator design there is a well known limitation: the closer something passes near zenith the biggest gets the velocity of the AZ axis. Therefore, we have analyzed this problem to figure out the optimal velocity and how high we are allowed to track a target in relation to AZ velocity. The picture below illustrates a ground station B which tracks a satellite Γ in X degrees altitude. The satellite velocity at this point is vertical to the screen (page) plane.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
The equations that lead to maximum altitude at which we can track in relation to AZ angular velocity are&lt;br /&gt;
* ω : angular velocity of AZ DOF in rad/s&lt;br /&gt;
* H = ΑΕ + ΕΓ : Minimum Height of LEO, 160 km&lt;br /&gt;
* R = ΑΕ : Radius of Earth, 6500 km&lt;br /&gt;
* u : linear velocity of satellite that rotates in 160km height is 7.8 km/s&lt;br /&gt;
* ΒΔ = u / ω : ΒΔ in km&lt;br /&gt;
* α = atan(ΒΔ / R)&lt;br /&gt;
* δ = π - α&lt;br /&gt;
* γ = asin( sqrt(R^2+ΒΔ^2) * sin(δ) / (H+R) )&lt;br /&gt;
* ά = π - δ - γ&lt;br /&gt;
* ΓΔ = (H+R) * sin(ά) / sin(δ)&lt;br /&gt;
* χ = atan(ΓΔ / ΒΔ)&lt;br /&gt;
&lt;br /&gt;
Below you can see the plot of the equations mentioned above, where horizontal axis represents angular velocity (ω) in deg/s and vertical axis shows the max track altitude (χ) for lower bound of LEO.&lt;br /&gt;
&lt;br /&gt;
[[File:Anglular_velocity_plot.png|thumb|center|800x420px|alt=|Angular Velocity Plot]]&lt;br /&gt;
&lt;br /&gt;
After studying this diagram, we came up to the conclusion that an angular velocity of 5 deg/s is adequate. For this decision, we took into consideration the main lobe of antenna (Δ3db) which in most situations is about 20 deg.&lt;br /&gt;
&lt;br /&gt;
==== Pulleys/Belts/Gearing ====&lt;br /&gt;
Horizontal distance between pulleys (P1, P2) is 58mm.&lt;br /&gt;
Vertical distance between pulleys (P1, P2) is w = 9.5mm.&lt;br /&gt;
&lt;br /&gt;
Pulleys and Belt are GT2, 2mm pitch. &lt;br /&gt;
Belt width, 6mm. &lt;br /&gt;
Belt thickness, 1.38mm (0.76 tooth). &lt;br /&gt;
&lt;br /&gt;
Wrap angle in both pulleys is larger than 60deg. &lt;br /&gt;
At least 6 teeth in contact with the pulley at any given time. &lt;br /&gt;
In practice that means you want a minimum of a 12 tooth pulley, and usually try to get at least 18 teeth. &lt;br /&gt;
&lt;br /&gt;
Outer Diameter of pulleys:&lt;br /&gt;
&lt;br /&gt;
P(T) | OD(mm) &amp;lt;br /&amp;gt;&lt;br /&gt;
16   | 10.2 &amp;lt;br /&amp;gt;&lt;br /&gt;
20   | 12.7 &amp;lt;br /&amp;gt;&lt;br /&gt;
36   | 22.9 &amp;lt;br /&amp;gt;&lt;br /&gt;
40   | 25.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Belt calculation (according to calculator):&lt;br /&gt;
&lt;br /&gt;
Ratio    | P1(T)   | P2(T)   | Belt(T) | L(mm)  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.25|16|36|85/86|58.65/59.66  &amp;lt;br /&amp;gt;&lt;br /&gt;
1.8|20|36|86/87/88|57.78/58.78/59.78  &amp;lt;br /&amp;gt;&lt;br /&gt;
2.5|16|40|87/88|58.5/59.5 &amp;lt;br /&amp;gt;&lt;br /&gt;
2|20|40|89/90|58.65/59.66 &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Motor Maximun no-load speed, 200RPM = 1200deg/s &lt;br /&gt;
Motor Maximum stall-torue, 1.2Nm &lt;br /&gt;
&lt;br /&gt;
[[File:Motor_perfomance_graph.png|thumb|center|800x420px|alt=|Angular Velocity]]&lt;br /&gt;
&lt;br /&gt;
Position of idler do not care, or min 1.3*P1, max 1.5*P1 (for 20T, ~16mm/~20mm).&lt;br /&gt;
&lt;br /&gt;
Belt gear selection:&lt;br /&gt;
* 20/36 with 1.8 ratio and 86T/172mm belt without idler&lt;br /&gt;
* 20/40 with 2 ratio and 90T/190mm belt with idler&lt;br /&gt;
&lt;br /&gt;
To calculate Deflection force, (page T-31, sdp - design-guidelines)&lt;br /&gt;
* Y = 2.05, Tst = 1.3kg&lt;br /&gt;
* span length, t = 57.64mm&lt;br /&gt;
* Belt pitch length, L = 180mm&lt;br /&gt;
* Fd,min = &lt;br /&gt;
* Fd,max = &lt;br /&gt;
* 2.8kg Working Tension [shapeoko - Belts and Pulleys](https://www.shapeoko.com/wiki/index.php/Belts_and_Pulleys#Tensile_Cord_Materials)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   P3  &amp;lt;br /&amp;gt;&lt;br /&gt;
  /  \  &amp;lt;br /&amp;gt;&lt;br /&gt;
 P1  P2  &amp;lt;br /&amp;gt;&lt;br /&gt;
     |  &amp;lt;br /&amp;gt;&lt;br /&gt;
     P4-P5  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Determination of design load &lt;br /&gt;
According to perfomance graph of DC motor, the optimal output power is Tm = 0.6Nm  with efficiency of 0.2 and 100RPM = 600deg/s. &lt;br /&gt;
Select a service factor of 1.5 (service factors between 1.5 and 2.0 are generally recommended when&lt;br /&gt;
designing small pitch synchronous drives). &lt;br /&gt;
Tpeak = SF*Tm = 1.5*0.6 = 0.9Nm &lt;br /&gt;
&lt;br /&gt;
* Choice of belt pitch&lt;br /&gt;
Due to backslash and accuracy in both directions of movements and volume constrains, we choose GT2, pitch 2mm.&lt;br /&gt;
&lt;br /&gt;
* Check belt pitch selection based on individual graphs&lt;br /&gt;
Due to Tpeak = 0.9Nm No-load speed,(Speed of fastest shaft) = 100RPM = 600deg/s &lt;br /&gt;
GT2 pitch 2mm belt is the better solution for our application. &lt;br /&gt;
&lt;br /&gt;
* Determine speed ratio&lt;br /&gt;
Speed ratio 1.8-2.25 according to specification of output rotation speed of 5deg/s.&lt;br /&gt;
&lt;br /&gt;
* Check belt speed&lt;br /&gt;
V(m/s) = 0.0000524 x pulley PD (mm) x pulley rpm = 0.066548m/s &lt;br /&gt;
Belt speeds up to 6,500 fpm (33.02 m/s) do not require special pulleys. &lt;br /&gt;
&lt;br /&gt;
* Determine belt length&lt;br /&gt;
Table 'Belt calculation (according to calculator)'&lt;br /&gt;
Teeth in mesh: 9&lt;br /&gt;
&lt;br /&gt;
* Determine the belt width&lt;br /&gt;
From Table 43 &lt;br /&gt;
torque = 0.17Nm &lt;br /&gt;
Length Correction Factor = 0.9 &lt;br /&gt;
width multiplier = 1.00 &lt;br /&gt;
torque*Length Correction Factor*width multiplier = 0.17*0.9*1.00 = 0.153Nm &lt;br /&gt;
Teeth in mesh: 9 &lt;br /&gt;
Tpeak = 0.9Nm, so belt width is nice for our application &lt;br /&gt;
&lt;br /&gt;
* Check the number of teeth in mesh&lt;br /&gt;
Teeth in mesh: 9 according to calculator &lt;br /&gt;
&lt;br /&gt;
* Determine proper belt installation tension&lt;br /&gt;
SECTION 10, on page T50, look at 'To calculate Deflection force, (page T-31, sdp - design-guidelines)' &lt;br /&gt;
* Y = 2.05, Tst = 0.812*DQ/d + mS^2 = 12.8lb + 0 = 5.8kg &lt;br /&gt;
* DQ = Tpeak = 0.9Nm = 7.9lb-in &lt;br /&gt;
* d = 12.7mm = 0.5in &lt;br /&gt;
* S = (0.5*100/3.82)/1000 = 0.0131ft/min &lt;br /&gt;
* m = 0.039 &lt;br /&gt;
* span length, t = sqrt(CD^2 - (PD-pd/2)^2) = 57.64mm &lt;br /&gt;
* Belt pitch length, L = 180mm &lt;br /&gt;
* t/L = 0.32 &lt;br /&gt;
* Fd,min = 0.8lb = 0.36kg &lt;br /&gt;
* Fd,max = 0.9lb = 0.41kg &lt;br /&gt;
&lt;br /&gt;
* Safety factor 1.5&lt;br /&gt;
&lt;br /&gt;
* P2 timing pulley torque - Maximum radial load of timing belt ball bearing 625zz&lt;br /&gt;
Tpeak = 0.9Nm &lt;br /&gt;
TorqueP2 = 2*0.9Nm = 1.8Nm, PDp2 = 25.5mm &lt;br /&gt;
Radial static load of 625ZZ is 0.38kN &lt;br /&gt;
T-39&lt;br /&gt;
&lt;br /&gt;
* Maximum thrust load of timing belt ball bearing 625zz&lt;br /&gt;
&lt;br /&gt;
* Maximum radial and thrust load of output ball bearings 6008zz&lt;br /&gt;
Calculate or evaluate correct loads for deep groove ball bearings&lt;br /&gt;
radial static load = 11.6kN &lt;br /&gt;
thrust static load = 0.7*11.6kN = 8.12kN &lt;br /&gt;
This type of construction permits the bearings to support relatively high thrust load in either direction. &lt;br /&gt;
In fact the thrust load capacity is about 70% of the radial load capacity. A ball bearing primarily  designed &lt;br /&gt;
to support radial load can also support high thrust load; because only few balls carry the radial load, &lt;br /&gt;
whereas all the balls can withstand the thrust load. &lt;br /&gt;
&lt;br /&gt;
* Maximum self-locking or back-drivable torque of gear box (according to more weak component)&lt;br /&gt;
It necessary to achieve [specs](https://community.libre.space/t/satnogs-rotator-version-3/226), 60Nm (6Kg in 1 meter)&lt;br /&gt;
&lt;br /&gt;
* Nominal torque of drivable torque of gear box (according to more weak component) and maximum rotational speed of gear box &lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* [https://sdp-si.com/eStore/CenterDistanceDesigner sdp distance calculator]&lt;br /&gt;
* [http://www.ebay.com/itm/2GT-Timing-Belt-L-172-232-240-244-640-810-GT2-Belts-closed-loop-5pcs-lot-/221977955532?var=&amp;amp;hash=item33aeeacccc:m:me5GvSt_amrm6RWT03Ut4JA belt GT2-6mm wide, 172mm]&lt;br /&gt;
* [https://www.ebay.com/itm/2GT-GT2-synchronous-Timing-belt-Perimeter-98-194mm-width-6-9mm-Cogged-close-loop/222574382655?ssPageName=STRK%3AMEBIDX%3AIT&amp;amp;var=521434616407&amp;amp;_trksid=p2060353.m2749.l2649 belt GT2-6mm wide, 180mm]&lt;br /&gt;
* [http://www.ebay.com/itm/5pcs-Timing-Pulley-GT2-Idler-16-20T-gear-Bearing-Reprap-6mm-Belt-3-5mm-Bore-3D-/132195520937?var=&amp;amp;hash=item1ec77791a9:m:mljSYBViBlKOgXr3Gy-u0Tg idler pulley, no-teeth-ID3mm-OD18mm]&lt;br /&gt;
* [http://www.brecoflex.com/products/pulleys/design-guidelines/ brecoflex - design-guidelines]&lt;br /&gt;
* [http://www.shreegeeimpex.com/TECH_DATA_PAG/idlers_ten.htm shreegeeimpex - design-guidelines]&lt;br /&gt;
* [http://www.sdp-si.com/PDFS/Technical-Section-Timing.pdf sdp - design-guidelines]&lt;br /&gt;
&lt;br /&gt;
==== Motor Specification ====&lt;br /&gt;
&lt;br /&gt;
General Specification about motors. The voltage and current consumption also it depends from the motor controller which is (maybe) different&lt;br /&gt;
from [https://wiki.satnogs.org/SatNOGS_Rotator_Controller SatNOGS Rotator Controller].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Specification&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Min-Max Stall Torque (Nm)&lt;br /&gt;
| 0.4 - 1.5&lt;br /&gt;
|-&lt;br /&gt;
| Min-Max Speed (RPM)&lt;br /&gt;
| 100 - 200&lt;br /&gt;
|-&lt;br /&gt;
| Size (mm) (LxWxH)&lt;br /&gt;
| 47x42x64&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot; perrow=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
File:Motor mount dimensions.png|Motor mount dimensions&lt;br /&gt;
File:Max motor height.png|Maximum Motor Height&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Worm Gear Box Calculations ====&lt;br /&gt;
&lt;br /&gt;
* Gear ratio: i12 = 30&lt;br /&gt;
* Angle between axis of gears: δ = 90 deg&lt;br /&gt;
* Number of threads in worm: If i12 &amp;gt;= 30 then z1 = 1&lt;br /&gt;
* Number of teeth in worm wheel: z2 = i12*z1 = 30&lt;br /&gt;
* Center distance: initial case a = 45.5 mm&lt;br /&gt;
* Worm reference diameter: AGMA d01&amp;gt;= 11.5*(a/25.4)^0.875 = 19.15 mm, so d01 = 19.5mm&lt;br /&gt;
* Worm wheel reference: d02 = 2*a - d01 = 71.5 mm&lt;br /&gt;
* Axial module: ms = d02/z2 = 2.38 , so ms = 2.5&lt;br /&gt;
Recalculate d02, a with new axial module&lt;br /&gt;
* d02 = z2*ms = 75mm, a = (d02+d01)/2 = 47.25mm&lt;br /&gt;
* Axial pitch: ts = π*ms = 7.854mm&lt;br /&gt;
* Reference lead angle: γ0 = atan(d02/(i12*d01)) = 7.3 deg&lt;br /&gt;
* Worm tip diameter: dk1 = d01 + 2*hk = 24.5mm&lt;br /&gt;
** Worm teeth reference addendum in axial section: hk = hk* *ms = 2.5mm&lt;br /&gt;
** Worm tooth reference addendum coefficient: hk* = 1&lt;br /&gt;
* Worm root diameter: df1 = d01 - 2*hf = 13.5mm&lt;br /&gt;
** Worm tooth reference dedendum: hf = hf* _ms = 1.2_ms = 3mm&lt;br /&gt;
** Dedendum coefficient: hf* = 1.2&lt;br /&gt;
* Worm length: L = 2.5_ms_sqrt(z2+2) = 35.36mm&lt;br /&gt;
* Worm tooth thickness: smx1 = smx1* * ts = 3.927mm&lt;br /&gt;
** Tooth thickness coefficient: smx1* = 0.5&lt;br /&gt;
* Normal pressure angle: aon = 20 deg&lt;br /&gt;
* Worm wheel throat diameter: dk2 = d02+2*hk = 80mm&lt;br /&gt;
* Worm wheel root diameter: df2 = d02 - 2*hf = 69mm&lt;br /&gt;
* Worm wheel outside diameter: de2 = dk2 + 2*mx = 83.5mm&lt;br /&gt;
** Worm wheel tooth external addendum: mx = n*ms, 0.4&amp;lt;=n&amp;lt;=1.5&lt;br /&gt;
* Effective worm wheel face width: b2H,max = sqrt((2_a - df2)^2 - (2_a - de2)^2) = 23mm&lt;br /&gt;
&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Rotators&amp;diff=2638</id>
		<title>Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Rotators&amp;diff=2638"/>
		<updated>2019-03-01T16:35:12Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add a link to a review of commercial rotators&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
The SatNOGS Client uses [http://hamlib.sourceforge.net/ hamlib] to speak to a rotator. With this, we are able to support almost any commercially available rotator, and have the flexibility to support home built rotators that implement protocols like [https://www.mustbeart.com/software/easycomm.txt EasyComm] or Yaesu GS-232.&lt;br /&gt;
&lt;br /&gt;
In this [https://wiki.satnogs.org/Review_of_Commercial_Rotator wiki page] you could read a review about the AZ/EL rotators, which are popular in HAM community.&lt;br /&gt;
&lt;br /&gt;
If you would rather start with a stationary antenna setup (no rotator), see our [[Omnidirectional Station How To|omnidirectional guide]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 49%&amp;quot; |&lt;br /&gt;
=== Commercial Rotators ===&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;width: 49%&amp;quot; |&lt;br /&gt;
=== Homebuilt Rotators ===&lt;br /&gt;
|-&lt;br /&gt;
|[[File:G5500.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== [[G-5500|Yaesu G-5500]] ====&lt;br /&gt;
The G-5500 is a common rotator for amateur radio AZ/EL applications. The SatNOGS client interfaces with this rotator via the hamlib library. While a commercial computer interface is available from Yaesu, the SatNOGS project provides an open hardware design that is much cheaper. &lt;br /&gt;
* [[G-5500|G-5500 SatNOGS Wiki page]]&lt;br /&gt;
* G-5500 Arduino interface&lt;br /&gt;
* [https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500 Product link]&lt;br /&gt;
|&lt;br /&gt;
|[[File:30033213301 ef78e64120 k.jpg|left|frameless|133x133px]]&lt;br /&gt;
&lt;br /&gt;
====[[SatNOGS Rotator v2]]====&lt;br /&gt;
The v2 rotator is not recommended, as v3 provides much greater strength and durability. These docs remain for historical purposes.&lt;br /&gt;
* [[SatNOGS Rotator v2|SatNOGS v2 Wiki page]]&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tree/v2 SatNOGS v2 source code]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Portable Rotation.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== Portable Rotation AZ/EL ====&lt;br /&gt;
Docs to be written, but we do have successful stations using this rotator with the SatNOGS client.&lt;br /&gt;
&lt;br /&gt;
* [http://portablerotation.com/shop/azel-portable-rotor-system/ Portable Rotation product link]&lt;br /&gt;
|&lt;br /&gt;
|[[File:V3.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
====[[SatNOGS Rotator v3]]====&lt;br /&gt;
The v3 rotator is a complete overhaul on the v2 design. The 2020 slotted extrusion frame and larger gears provide for a stronger rotator with greater wind loading.&lt;br /&gt;
* [[SatNOGS Rotator v3|SatNOGS v3 Wiki page]]&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tree/v3.0 SatNOGS v3 source code]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Alfa Spid.jpg|left|frameless|133x133px]]&lt;br /&gt;
&lt;br /&gt;
==== Alfa Spid X-Y ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[SPID Big RAS|Alfa Spid SatNOGS Wiki page]]&lt;br /&gt;
* [http://alfaradio.ca/alfaspid-azel.html Alfa Spid product link]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dwingleloo.png|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== Dwingeloo Radio Observatory ====&lt;br /&gt;
(okay, you're not likely to keep a deep space observatory on the network, but it has been done!)&lt;br /&gt;
* [https://www.youtube.com/watch?v=wGJh139EDfk Video of the observatory in action on SatNOGS (YouTube)]&lt;br /&gt;
* [https://network.satnogs.org/stations/384/ Dwingeloo on SatNOGS network]&lt;br /&gt;
* [[wikipedia:Dwingeloo_Radio_Observatory|About the Dwingeloo Radio Observatory (wikipedia)]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[ Category:Rotator ]]&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2637</id>
		<title>Review of Commercial Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Review_of_Commercial_Rotators&amp;diff=2637"/>
		<updated>2019-03-01T16:31:18Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add the review for commercial rotator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
The existing rotator controllers are old fashioned and use obsolete technology either in hardware or in software. Almost all the motor drivers are based in electromechanical switches like relays. This introduce in a system a limit of how usual could be used for an observation of a satellite and also in accuracy in movements of the rotator. In this review, it is presented the most popular in HAM community, rotator systems.&lt;br /&gt;
&lt;br /&gt;
Existing commercial rotator systems:&lt;br /&gt;
There are three rotator systems, as i searched, are the most popular in HAM community for tracking satellites.&lt;br /&gt;
* [https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500]&lt;br /&gt;
* [http://www.alfaradio.ca/ SPID rotators]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS]&lt;br /&gt;
** [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
*  SPX rotators,&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
** [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
== Yaesu G-5500 ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
[https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500], it is an AZ/EL rotator. From [http://www.radiomanual.info/schemi/ACC_rotator/Yaesu_G-5500_user.pdf data sheet], could understand that it has AC motors (26V@2.8A, specifications of transformer for both motors), potentiometer (isn't multiturn) for position feedback which are operated in +6V, and all control loop is implemented with analog IC's (comparators and op amps). Also the system has end-stops in both axis in both directions (min-max), that immediately cut off the current of motors. The connection with a client is implemented via a rotator interface for example an [https://gitlab.com/librespacefoundation/satnogs/g5500-ardushield ardushield] that runs [https://github.com/ppapadeas/k3ng_rotator_controller/tree/lsf-g5500 k3ng rotator firmware]. The cost of all system is ~750$ with analog controller.&lt;br /&gt;
&lt;br /&gt;
[[File:Yaesug5500-electronics-1.jpeg|thumb|center|300x300px|alt=|Yaesu G5500 - Controller]]&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
&lt;br /&gt;
The gear box of rotator it is a spur gear box. Almost all the gears are made from laser cut sheet metal and the output gear is a stack of laser cut sheet metal gears. Another interesting thing is the brake system that it's a torsional spring in motor axis that blocks the movement from output to input. When a torque applied from output to input the torsional spring &amp;quot;opens&amp;quot; and block the rotation. A mechanical fail of one bracket that mounts the pins of gears are done in [https://network.satnogs.org/stations/6/ station 6] after a lot of observations (oval hole). This problem is produced because the antennas are back mounted without counter balance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Yaesug5500-mech-1.jpeg| Yaesu G5500, Gear box&lt;br /&gt;
File:Yaesug5500-mech-2.jpeg| Yaesu G5500, Mechanical fail&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$&lt;br /&gt;
* [http://www.arrl.org/files/file/ETP/Satellite%20Tracker%20Interface%20ver%201_2.pdf DIY solution from ARRL]&lt;br /&gt;
&lt;br /&gt;
== SPID rotators ==&lt;br /&gt;
&lt;br /&gt;
This company it has two AZ/EL models:&lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/ras-az--el-rotator/index.php RAS] &lt;br /&gt;
* [https://www.rfhamdesign.com/products/spid-antenna--rotator/big-ras-az--el-rotor/index.php BIG-RAS]&lt;br /&gt;
&lt;br /&gt;
=== Electronics ===&lt;br /&gt;
&lt;br /&gt;
Both of models are using DC motors, according to data-sheets, [https://www.rfhamdesign.com/downloads/spid-bigras-specifications.pdf BIG-RAS] and [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf RAS]. The power consumption for both rotators is , 12V@6-10A or 18V@6-11A. For position sensor, a reed switch is used, one in each axis. This sensor is mounted in the first stage of worm gear box (in total two worm gear boxes), with total 6 magnets that produce pulses with Vp-p according to Vcc of reed switch.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
File:Ras-reedswitch.jpeg| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, magnets of position sensor&lt;br /&gt;
File:Ras-pulses.jpeg| RAS, pulses of position sensor (reed switch)&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It seems that the encoder is relative, so when the system starts it programmed the zero position. When the system lose the power, the rotator controller knows the last position, it stores the last position in a non-volatile memory.&lt;br /&gt;
Also the system has two hard stops in elevation axis that limits the rotation between 0-180 deg. This switches immediately cut off the current to elevation motor. In the azimuth there is no end-stop.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-endstop.jpeg|thumb|center|300x300px|alt=|RAS, end-stops in elevation axis]]&lt;br /&gt;
&lt;br /&gt;
The default rotator controller is [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf Rot2Prog], the motor driver again, it consist of relays. The interface with client is done with [Hamlib](https://hamlib.github.io/) via a USB. A note here, is  the cable is USB-A male to USB-A male, that is weird. Two rectifier bridges used for protection of the board from the currents of DC motors. The cost of Rot2Prog  is ~250$.&lt;br /&gt;
&lt;br /&gt;
[[File:Ras-rotatorcontroller.jpeg|thumb|center|300x300px|alt=|RAS, Default rotator controller]]&lt;br /&gt;
&lt;br /&gt;
The [https://www.rfhamdesign.com/downloads/spid-ras-specifications.pdf datasheet of RAS] is referred to a parameter [https://en.wikipedia.org/wiki/Mean_time_between_failures MTBF] which is the mean time between failures. For rotator controller is 15000 hours @ -5 to +40°C. For a system that is connected to [https://network.satnogs.org/ SatNOGS network] means:&lt;br /&gt;
* in 1h, at least 2 observations of 15min each&lt;br /&gt;
* in 15000 hours, 30000 observations&lt;br /&gt;
* which means almost 2 years of operation&lt;br /&gt;
But how usual the relays are worked?&lt;br /&gt;
&lt;br /&gt;
=== Mechanical ===&lt;br /&gt;
Both of the rotators are consist of two stages of worm gear box. The second stage (the output) it takes all the loads. In this system the brake mechanism is the two stage worm gear box (big gear ratio and also the lead angle of worm gear). The cost for RAS with Rot2Prog controller is ~1200$, for BIG-RAS with Rot2Prog controller is ~1600$.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Ras-magnets.jpeg| RAS, First stage of worm gear&lt;br /&gt;
File:Ras-wormgear.jpg| RAS, Second (output) stage of worm gear&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Alternative Rotator Controllers ===&lt;br /&gt;
&lt;br /&gt;
A list of available digital controllers:&lt;br /&gt;
* [https://www.greenheronengineering.com/proddetail.php?prod=RT-21azel RT-21 Azimuth/Elevation, Green Heron Engineering LLC], 889$. This feature is nice, &amp;quot;Allows different Azimuth and Elevation rotators from any manufacturer provided they both use either AC or DC motors.  (Example:  We can configure the Azimuth to use an OR-2800 and the Elevation to use a DC motor linear actuator.  OR, the Azimuth to use a T2X, and the Elevation to use a Yaesu G-550)&amp;quot;&lt;br /&gt;
* [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf MD-01/02 HR], it is high resolution edition of rotator controller, with resolution of 0.1875 deg. Instead of using reed switches in first stage of worm gear box, it uses a hall effect sensor. Again the motor driver is electro mechanical switches as shown in picture in the [http://www.rfhamdesign.com/downloads/spid-ras_hr-specifications.pdf page 3 of data-sheet]. This controller, also, support soft-start functionality (PWM control) only when the power supply is higher than 20V, [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 according to this post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cost of this controller (only) is calculated:&lt;br /&gt;
* RAS/HR, RAS rotator and MD-02/HR controller is ~[1435E](http://www.rfhamdesign.com/products/spid-hr-antenna-rotators/ras-hr-az--el-rotor/index.php)&lt;br /&gt;
* only the RAS rotator costs ~900E (an estimation)&lt;br /&gt;
so the cost of MD-02/HR is ~500E.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
| RAS, position sensor&lt;br /&gt;
File:Az-El controller front G.gif| RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;br /&gt;
File:Rotator-controller-md.png| Rotator Controller, MD-01/02 HR&lt;br /&gt;
&amp;lt;/gallery&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== SPX rotators ==&lt;br /&gt;
&lt;br /&gt;
=== Electronics &amp;amp; Mechanical ===&lt;br /&gt;
&lt;br /&gt;
A series of AZ/EL rotators:&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-01-az--el/index.php SPX-01]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-02-az--el/index.php SPX-02]&lt;br /&gt;
* [http://www.rfhamdesign.com/products/spx-antenna-rotators/spx-03-az--el/index.php SPX-03]&lt;br /&gt;
&lt;br /&gt;
All of these rotators it seems that are based in the same, first stage, worm gear box with the RAS. The second stage it is like [https://ae01.alicdn.com/kf/HTB1uzY4PVXXXXX4XXXXq6xXFXXXE/NMRV050-Speed-Ratio-50-1-Worm-Gearbox-14mm-19mm-Input-Shaft-90-Degree-Worm-Gear-Speed.jpg_640x640.jpg that] and changed according to the maximum output load (and maximum break torque). From all the data-sheets seems that motor needs power 12-18V@3-20A or 20-24V@3-20A (max current depends on load or rotator controller, e.g. PWM control). All of these rotator use the same controllers with RAS/BIG-RAS. The motors are DC (it seems that are the same with RAS/BIG-RAS). For position sensor, a reed switch for standard version and a hall effect sensor for high resolution version. From the number of cables and from the type of controller it seems that there no an interface of end-stops connected to rotator controller. [https://community.libre.space/t/review-of-commercial-rotator-controllers/3428/7 This post] confirms that the SPX-01 and SPX-02 have no end stop switches on either azimuth or elevation. Also the limits are set in the controller, based on the users cabling setup.&lt;br /&gt;
In this system the brake system is the double worm gear. In the specification, the rotation range is AZ/EL:360/180deg is the same with the RAS. The available rotator controllers are the same with the SPID rotators.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300&amp;quot; heights=&amp;quot;300&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
File:Spx-wormgear.jpeg| SPX, second stage of worm gear&lt;br /&gt;
File:Spx-station232.jpg|  SPX-02 rotator, [https://network.satnogs.org/stations/232/ station 232]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Spx-station232.jpg&amp;diff=2636</id>
		<title>File:Spx-station232.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Spx-station232.jpg&amp;diff=2636"/>
		<updated>2019-03-01T16:28:55Z</updated>

		<summary type="html">&lt;p&gt;Zisi: SPX-02 rotator, station 232&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
 SPX-02 rotator, station 232&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Spx-wormgear.jpeg&amp;diff=2635</id>
		<title>File:Spx-wormgear.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Spx-wormgear.jpeg&amp;diff=2635"/>
		<updated>2019-03-01T16:18:21Z</updated>

		<summary type="html">&lt;p&gt;Zisi: SPX, second stage of worm gear&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
SPX, second stage of worm gear&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Rotator-controller-md.png&amp;diff=2634</id>
		<title>File:Rotator-controller-md.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Rotator-controller-md.png&amp;diff=2634"/>
		<updated>2019-03-01T15:48:19Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Rotator Controller, MD-01/02 HR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Rotator Controller, MD-01/02 HR&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Az-El_controller_front_G.gif&amp;diff=2633</id>
		<title>File:Az-El controller front G.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Az-El_controller_front_G.gif&amp;diff=2633"/>
		<updated>2019-03-01T15:47:16Z</updated>

		<summary type="html">&lt;p&gt;Zisi: RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
RT-21 Azimuth/Elevation, Green Heron Engineering LLC&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-wormgear.jpg&amp;diff=2632</id>
		<title>File:Ras-wormgear.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-wormgear.jpg&amp;diff=2632"/>
		<updated>2019-03-01T15:34:36Z</updated>

		<summary type="html">&lt;p&gt;Zisi: RAS, Second (output) stage of worm gear&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
RAS, Second (output) stage of worm gear&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-rotatorcontroller.jpeg&amp;diff=2631</id>
		<title>File:Ras-rotatorcontroller.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-rotatorcontroller.jpeg&amp;diff=2631"/>
		<updated>2019-03-01T15:12:37Z</updated>

		<summary type="html">&lt;p&gt;Zisi: RAS, Default rotator controller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
RAS, Default rotator controller&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-endstop.jpeg&amp;diff=2630</id>
		<title>File:Ras-endstop.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-endstop.jpeg&amp;diff=2630"/>
		<updated>2019-03-01T15:05:55Z</updated>

		<summary type="html">&lt;p&gt;Zisi: RAS, end-stops in elevation axis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
RAS, end-stops in elevation axis&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-pulses.jpeg&amp;diff=2629</id>
		<title>File:Ras-pulses.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-pulses.jpeg&amp;diff=2629"/>
		<updated>2019-03-01T15:03:51Z</updated>

		<summary type="html">&lt;p&gt;Zisi: RAS, pulses of position sensor (reed switch)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
RAS, pulses of position sensor (reed switch)&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-magnets.jpeg&amp;diff=2628</id>
		<title>File:Ras-magnets.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-magnets.jpeg&amp;diff=2628"/>
		<updated>2019-03-01T14:59:18Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Ras, magnets of position sensor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Ras, magnets of position sensor&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Ras-reedswitch.jpeg&amp;diff=2627</id>
		<title>File:Ras-reedswitch.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Ras-reedswitch.jpeg&amp;diff=2627"/>
		<updated>2019-03-01T14:58:26Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Position sensor of RAS rotator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Position sensor of RAS rotator&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Yaesug5500-mech-2.jpeg&amp;diff=2626</id>
		<title>File:Yaesug5500-mech-2.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Yaesug5500-mech-2.jpeg&amp;diff=2626"/>
		<updated>2019-03-01T14:39:40Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Mechanical fail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Mechanical fail&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Yaesug5500-mech-1.jpeg&amp;diff=2625</id>
		<title>File:Yaesug5500-mech-1.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Yaesug5500-mech-1.jpeg&amp;diff=2625"/>
		<updated>2019-03-01T14:38:47Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Yaesu G5500, gear box and motor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Yaesu G5500, gear box and motor&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=File:Yaesug5500-electronics-1.jpeg&amp;diff=2624</id>
		<title>File:Yaesug5500-electronics-1.jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=File:Yaesug5500-electronics-1.jpeg&amp;diff=2624"/>
		<updated>2019-03-01T14:33:33Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Yaesu G5500 electronics, rotator controller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Yaesu G5500 electronics, rotator controller&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Rotators&amp;diff=2623</id>
		<title>Rotators</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Rotators&amp;diff=2623"/>
		<updated>2019-02-28T14:43:02Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
The SatNOGS Client uses [http://hamlib.sourceforge.net/ hamlib] to speak to a rotator. With this, we are able to support almost any commercially available rotator, and have the flexibility to support home built rotators that implement protocols like [https://www.mustbeart.com/software/easycomm.txt EasyComm] or Yaesu GS-232.&lt;br /&gt;
&lt;br /&gt;
If you would rather start with a stationary antenna setup (no rotator), see our [[Omnidirectional Station How To|omnidirectional guide]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 49%&amp;quot; |&lt;br /&gt;
=== Commercial Rotators ===&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;width: 49%&amp;quot; |&lt;br /&gt;
=== Homebuilt Rotators ===&lt;br /&gt;
|-&lt;br /&gt;
|[[File:G5500.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== [[G-5500|Yaesu G-5500]] ====&lt;br /&gt;
The G-5500 is a common rotator for amateur radio AZ/EL applications. The SatNOGS client interfaces with this rotator via the hamlib library. While a commercial computer interface is available from Yaesu, the SatNOGS project provides an open hardware design that is much cheaper. &lt;br /&gt;
* [[G-5500|G-5500 SatNOGS Wiki page]]&lt;br /&gt;
* G-5500 Arduino interface&lt;br /&gt;
* [https://www.yaesu.com/indexVS.cfm?cmd=DisplayProducts&amp;amp;ProdCatID=104&amp;amp;encProdID=79A89CEC477AA3B819EE02831F3FD5B8 Yaesu G-5500 Product link]&lt;br /&gt;
|&lt;br /&gt;
|[[File:30033213301 ef78e64120 k.jpg|left|frameless|133x133px]]&lt;br /&gt;
&lt;br /&gt;
====[[SatNOGS Rotator v2]]====&lt;br /&gt;
The v2 rotator is not recommended, as v3 provides much greater strength and durability. These docs remain for historical purposes.&lt;br /&gt;
* [[SatNOGS Rotator v2|SatNOGS v2 Wiki page]]&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tree/v2 SatNOGS v2 source code]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Portable Rotation.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== Portable Rotation AZ/EL ====&lt;br /&gt;
Docs to be written, but we do have successful stations using this rotator with the SatNOGS client.&lt;br /&gt;
&lt;br /&gt;
* [http://portablerotation.com/shop/azel-portable-rotor-system/ Portable Rotation product link]&lt;br /&gt;
|&lt;br /&gt;
|[[File:V3.jpg|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
====[[SatNOGS Rotator v3]]====&lt;br /&gt;
The v3 rotator is a complete overhaul on the v2 design. The 2020 slotted extrusion frame and larger gears provide for a stronger rotator with greater wind loading.&lt;br /&gt;
* [[SatNOGS Rotator v3|SatNOGS v3 Wiki page]]&lt;br /&gt;
* [https://gitlab.com/librespacefoundation/satnogs/satnogs-rotator/tree/v3.0 SatNOGS v3 source code]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Alfa Spid.jpg|left|frameless|133x133px]]&lt;br /&gt;
&lt;br /&gt;
==== Alfa Spid X-Y ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[SPID Big RAS|Alfa Spid SatNOGS Wiki page]]&lt;br /&gt;
* [http://alfaradio.ca/alfaspid-azel.html Alfa Spid product link]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Dwingleloo.png|left|frameless|100x100px]]&lt;br /&gt;
&lt;br /&gt;
==== Dwingeloo Radio Observatory ====&lt;br /&gt;
(okay, you're not likely to keep a deep space observatory on the network, but it has been done!)&lt;br /&gt;
* [https://www.youtube.com/watch?v=wGJh139EDfk Video of the observatory in action on SatNOGS (YouTube)]&lt;br /&gt;
* [https://network.satnogs.org/stations/384/ Dwingeloo on SatNOGS network]&lt;br /&gt;
* [[wikipedia:Dwingeloo_Radio_Observatory|About the Dwingeloo Radio Observatory (wikipedia)]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[ Category:Rotator ]]&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=2608</id>
		<title>Omnidirectional Station How To</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Omnidirectional_Station_How_To&amp;diff=2608"/>
		<updated>2019-02-18T15:48:30Z</updated>

		<summary type="html">&lt;p&gt;Zisi: Add link for no-rotator setup, building a box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Omnidirectional VHF Turnstile Antenna.jpg|alt=VHF Turnstile Antenna|thumb|VHF Turnstile antenna, [https://network.satnogs.org/stations/23/ SatNOGS Station 23]]]&lt;br /&gt;
This How-To is written to get you quickly receiving satellite data with an Omnidirectional antenna (an antenna that does not move).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites/Background ==&lt;br /&gt;
I'm assuming that you are a bit familiar with amateur radio, or linux in general, or you already have a Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
=== Expectation Management ===&lt;br /&gt;
First off, I'd like to set some expectations around a SatNOGs station with an omnidirectional antenna. Yes, you will be able to hear satellites, Morse code beacons, maybe even some voice contacts on a FM transponder. But for CubeSats with 1 watt transmitters at 9600 baud, it's going to be really difficult to actually decode any data with an omni antenna. You'll definitely see squiggly lines on the waterfall plot, but demodulating the signal and extracting satellite telemetry is going to be pretty difficult.&lt;br /&gt;
&lt;br /&gt;
The only way to get more signal is a better antenna. And a better antenna with more gain is going to be more directional, which means you will need a way to point that antenna at the satellite, and this How-To just got a lot more complicated. So we're not going there.&lt;br /&gt;
&lt;br /&gt;
A better preamp helps a bit, see the LNA section below.&lt;br /&gt;
&lt;br /&gt;
=== Hardware Required ===&lt;br /&gt;
This is a list of the hardware for indoor/testing purposes:&lt;br /&gt;
* Raspberry Pi&lt;br /&gt;
** Power supply + cable (see note below)&lt;br /&gt;
** Up to 16 GB Micro SD card&lt;br /&gt;
** Ethernet cable&lt;br /&gt;
* RTL SDR Blog v3 dongle&lt;br /&gt;
* Various short lengths of coax&lt;br /&gt;
* Preamp/LNA - Or not if your coax is short, see LNA section below&lt;br /&gt;
* Omnidirectional antenna - just a dual mag-mount on a cookie sheet will work OK for stronger satellites&lt;br /&gt;
&lt;br /&gt;
== Setting up the Raspberry Pi ==&lt;br /&gt;
I chose the [https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Raspberry Pi 3 Model B] for my station. &lt;br /&gt;
&lt;br /&gt;
=== Downloading/Writing the SD image ===&lt;br /&gt;
The SatNOGs team has done a great job creating a Raspbian image with all the required software. Simply navigate over to the [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/tags latest tag on Gitlab], and click on the &amp;quot;Zipped image&amp;quot; link under the latest tag. It's about 650 MBytes.&lt;br /&gt;
&lt;br /&gt;
For linux:&lt;br /&gt;
# Unzip the downloaded file: '''unzip image_2018-08-03-Raspbian-SatNOGS-lite.zip'''&lt;br /&gt;
# Figure out which device is the SD card. SD cards are usually start with mmcblk. '''sudo lsblk'''&lt;br /&gt;
# Write the image. This will take a while. Make sure you don't overwrite your host OS: '''sudo dd if=2018-08-03-Raspbian-SatNOGS-lite.img of=/dev/mmcblk0'''&lt;br /&gt;
&lt;br /&gt;
=== Power notes ===&lt;br /&gt;
Thinking I could save a few bucks, I used a no-name generic 2.4 amp &amp;quot;tablet&amp;quot; USB power supply I got as a freebie, and a micro-USB cable I use for charging my phone. What a mistake! The Micro-USB cable wire gauge was too small, so there was too much voltage drop on the cable, so the Raspberry Pi reported power problems every time it was doing anything.&lt;br /&gt;
&lt;br /&gt;
Power problems are indicated by either a lightning bolt in the upper right of the monitor, or the red power LED flashes on the board itself. If The Raspberry Pi processor itself is pretty forgiving of power droops because it runs at 3.3 volts. But the 5v USB ports are directly tied to input power, so undervoltage conditions will cause problems for USB devices, such as the RTL SDR dongle.&lt;br /&gt;
&lt;br /&gt;
== Software Configuration ==&lt;br /&gt;
&lt;br /&gt;
=== Creating a SatNOGs Network account ===&lt;br /&gt;
There are several different websites to be aware of and sign in to. As of 12/2018, most of our websites use a unified login provided by Auth0, so when you create an account on one of these sites it will work across the others as well:&lt;br /&gt;
* Required: [https://network.satnogs.org/ Network]: for registering your station and adding data to the network.&lt;br /&gt;
* Recommended: [https://community.libre.space Forums]: for asking questions.&lt;br /&gt;
* Optional: [https://db.satnogs.org/ Database]: Only if you want to add satellites/modes. Not necessary for receiving satellite data.&lt;br /&gt;
&lt;br /&gt;
=== Registering the station ===&lt;br /&gt;
Log in to your Network account, and click the &amp;quot;+ Add Ground Station&amp;quot; button, or click [https://network.satnogs.org/stations/edit/ here] Fill out the short form, and your station will be added to the database. For &amp;quot;Antenna&amp;quot;, pick something that encompasses the frequency range of your antenna. For wideband reception, use VHF Discone 26-1200 MHz.&lt;br /&gt;
&lt;br /&gt;
The important info you'll need later on is the Station ID number, lat/lon/altitiude. I would also use a Minimum Horizon of 30 degrees or so, this will keep your station from allowing low-elevation passes to be scheduled. Make sure to keep the &amp;quot;Testing&amp;quot; flag checked, as this lets people know that your station isn't quite ready for real use.&lt;br /&gt;
&lt;br /&gt;
=== Booting and Configuring Raspbian ===&lt;br /&gt;
After you have the image burned onto a Micro-SD card, boot it! I would recommend hooking up a keyboard and HDMI monitor, you can watch the boot process. If it doesn't boot at all, double check that you wrote the SatNOGs Raspbian image correctly.&lt;br /&gt;
&lt;br /&gt;
After a successful boot, log in with username '''pi''' and password '''raspbian''':&lt;br /&gt;
# Change your password! '''passwd'''&lt;br /&gt;
# Update and upgrade raspbian strech: '''sudo apt update''' then '''sudo apt upgrade'''&lt;br /&gt;
# You'll probably update a lot of packages and get a new kernel, so reboot after this: '''sudo reboot'''&lt;br /&gt;
# Run '''sudo raspi-config''' to set up the base OS. ''Tab'' switches between the options and ''select''.&lt;br /&gt;
## 4 Localisation Options: I1 Change Locale: en_US.UTF-8 UTF-8&lt;br /&gt;
## 4 Localisation Options: I2 Change Timezone: None of the above: UTC&lt;br /&gt;
## 4 Localisation Options: I3 Change Keyboard Layout:&lt;br /&gt;
## 7 Advanced Options: A1 Expand Filesystem &amp;lt;br /&amp;gt;This will expand the ~2GB Micro-SD card partition to fill the entire SD card.&lt;br /&gt;
The Raspberry Pi needs to reboot to expand the filesystem, so do this now. It might take a while. '''sudo reboot''&lt;br /&gt;
&lt;br /&gt;
==== Disabling WiFi and Bluetooth ====&lt;br /&gt;
To disable WiFi and Bluetooth, edit the /boot/config.txt file, and add the following lines at the bottom:&lt;br /&gt;
 # Disable WiFi and bluetooth&lt;br /&gt;
 dtoverlay=pi3-disable-wifi&lt;br /&gt;
 dtoverlay=pi3-disable-bt&lt;br /&gt;
&lt;br /&gt;
Then reboot again. To make sure that it worked, run '''ifconfig''' and make sure that ''wlan0'' isn't listed. I'm not sure how to tell if bluetooth is turned off.&lt;br /&gt;
&lt;br /&gt;
==== Additional software ====&lt;br /&gt;
I like to install this additional software with '''sudo apt install bmon''' ...&lt;br /&gt;
* bmon - a graphical network usage analyzer.&lt;br /&gt;
* vnstat - keeps track of your bandwidth usage&lt;br /&gt;
* vim - the world's best text editor ;)&lt;br /&gt;
* irssi - a terminal IRC client, for chatting on the #satnogs IRC channel&lt;br /&gt;
&lt;br /&gt;
If you can't tell by now, I'm always a big fan of rebooting. It certainly doesn't take that long... '''sudo reboot'''&lt;br /&gt;
&lt;br /&gt;
=== Configuring the satnogs-client ===&lt;br /&gt;
Once you have the base Raspbian Strech OS installed, updated, and looking good, you can configure SatNOGs. Plug in your RTL SDR if you haven't already.&lt;br /&gt;
&lt;br /&gt;
First thing to do is update the satnogs-setup program. Run '''sudo satnogs-setup'''. This will probably take a while, then '''Update''', which will also take a while. Per usual, after the update I like to reboot the raspberry pi just to make sure everything was updated and is actually running the new code.&lt;br /&gt;
&lt;br /&gt;
==== Basic Configuration ====&lt;br /&gt;
Then the actual configuration of the station:&lt;br /&gt;
# Run '''sudo satnogs-setup''' again&lt;br /&gt;
# Basic Configuration:&lt;br /&gt;
## SATNOGS_API_TOKEN: After logging in to network.satnogs.org, this is in the upper right under &amp;quot;API Key&amp;quot;&lt;br /&gt;
## SATNOGS_RX_DEVICE: rtlsdr&lt;br /&gt;
## SATNOGS_STATION_ELEV: station elevation in meters&lt;br /&gt;
## SATNOGS_STATION_ID: The number of your station. Newer stations are high 200s.&lt;br /&gt;
## SATNOGS_STATION_LAT and LON: Latitude and Longitude in decimal degrees&lt;br /&gt;
## HAMLIB_UTILS_ROT_ENABLE: no&lt;br /&gt;
Then back to the main menu and ''Apply'' to save the configuration. Ansible will run, change some stuff, and probably take a while. If you want to quit, just keep pressing ''back'' to exit.&lt;br /&gt;
&lt;br /&gt;
==== Setting the gain ====&lt;br /&gt;
The next step is to set the gain on the RTL SDR. You're looking for a total gain of about 25 dB. If you have a 25dB LNA, perfect, set the RTL SDR gain at zero. Otherwise, do the math. There are only a few gain options that the RTL SDR supports. The easiest way to see what the options are is to run the rtl_test command. Ctrl-C immediatly to stop:&lt;br /&gt;
 pi@raspberrypi:~ $ rtl_test &lt;br /&gt;
 Found 1 device(s):&lt;br /&gt;
   0:  Realtek, RTL2838UHIDIR, SN: 00000001&lt;br /&gt;
 &lt;br /&gt;
 Using device 0: Generic RTL2832U OEM&lt;br /&gt;
 Found Rafael Micro R820T tuner&lt;br /&gt;
 Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 &lt;br /&gt;
 [R82XX] PLL not locked!&lt;br /&gt;
 Sampling at 2048000 S/s.&lt;br /&gt;
 &lt;br /&gt;
 Info: This tool will continuously read from the device, and report if&lt;br /&gt;
 samples get lost. If you observe no further output, everything is fine.&lt;br /&gt;
 &lt;br /&gt;
 Reading samples in async mode...&lt;br /&gt;
 ^CSignal caught, exiting!&lt;br /&gt;
 &lt;br /&gt;
 User cancel, exiting...&lt;br /&gt;
 Samples per million lost (minimum): 0&lt;br /&gt;
 pi@raspberrypi:~ $&lt;br /&gt;
&lt;br /&gt;
Since I have a LNA with a gain of slightly under 20dB, I picked 8.7dB of gain for the RTL SDR. This value goes into the SATNOGS_RF_GAIN setting under Advanced settings in satnogs-setup.&lt;br /&gt;
&lt;br /&gt;
=== Checking the setup ===&lt;br /&gt;
SatNOGs come with a built-in web server on port 5000. So just surf over to IP address of your Raspberry Pi on port 5000, and you should see a screen similar to this:&lt;br /&gt;
&lt;br /&gt;
== Hardware Configuration ==&lt;br /&gt;
Basic hardware configuration is Antenna &amp;gt; Short coax &amp;gt; LNA &amp;gt; Coax &amp;gt; RTL SDR.&lt;br /&gt;
&lt;br /&gt;
=== LNA ===&lt;br /&gt;
The way to measure the performance of an antenna is using a figure of merit called the Antenna gain-to-noise-temperature (G/T). It's a positive unitless number, higher the better.&lt;br /&gt;
&lt;br /&gt;
G/T is comprised of antenna gain (in dB) on the top, and the system noise temperature (in Kelvins) on the bottom. There's a lot of somewhat-hard math involved, but here's the bottom line: to make your system perform better, you either need to increase the antenna gain or decrease the system noise temp. [https://en.wikipedia.org/wiki/Antenna_gain-to-noise-temperature Wikipedia]&lt;br /&gt;
&lt;br /&gt;
Increasing the antenna gain is difficult, only because we decided on an omnidirectional antenna as the basis for this How-To. Omnidirectional antennas top out at maybe 7 dB gain or so, and that's just from pushing the radiation pattern up to the sky away from the ground. Any more gain than that and it's not an omni antenna; it's got a direction that the antenna needs to be pointed in. And we want to stay away from pointing antennas for now.&lt;br /&gt;
&lt;br /&gt;
Reducing the system temperature is the the way forward then. The RTL-SDR dongle has a noise figure of [https://network.satnogs.org/stations/edit/ 6dB or so], depending on frequency, which is pretty horrible. But it turns out that the system noise temperature is largely determined by the first device in the receive chain. Since we can't change the antenna, adding a low-noise amplifier helps quite a bit. See this [https://www.youtube.com/watch?v=snifc_x_2sE youtube video] from Adam 9A4QV on how a LNA helps. (Also check out his other videos about the RTL SDR dongle, and SDR in general)&lt;br /&gt;
&lt;br /&gt;
More info on noise and preamps:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Noise_temperature System noise from wikipedia], pretty high-level&lt;br /&gt;
* [https://www.rtl-sdr.com/tutorial-on-properly-positioning-a-preamp-lna-in-a-radio-system/ Where to put an LNA], from rtl-sdr.com&lt;br /&gt;
&lt;br /&gt;
=== Antenna ===&lt;br /&gt;
For testing on the bench, pretty much any antenna will do. Or if you have a whip antenna already outside for repeater work, use that. As I mentioned before, I've successfully used a mag-mount antenna stuck to a cookie sheet, sitting inside my living room window.&lt;br /&gt;
&lt;br /&gt;
Also, remember that some new low emissivity double-pane windows use metal films to keep heat inside. Unfortunately, this also attenuates pretty much all RF signals, see [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5501855/ this article] for more background.&lt;br /&gt;
&lt;br /&gt;
== Testing the station ==&lt;br /&gt;
[[File:Pass predictions.png|300px|right]]&lt;br /&gt;
Now that you have the hardware and software up and running, go ahead and schedule some passes. Navigate to your station page, and click on the Schedule button on the right side of some promising passes. The green and red bars beneath the satellite name is a quick visual indication of the number of Good and Bad passes on the network. Unfortunately, this data is not time-stamped at all, so a satellite that had a lot of Good observations a long time ago, but recently died, would still show as Green.&lt;br /&gt;
&lt;br /&gt;
=== Rating an Observation ===&lt;br /&gt;
[[File:Rating.png|right]]&lt;br /&gt;
After each observatios, you should rate it. More information [https://wiki.satnogs.org/Operation#Rating_observations here], but the bottom line is rate the observation:&lt;br /&gt;
* '''Good''' if the satellite is seen in the waterfall at all. The satellite will be a straight line in the middle of the waterfall plot.&lt;br /&gt;
* '''Bad''' if the satellite is not seen.&lt;br /&gt;
* '''Failed''' if there was a problem with the station, such as a mis-configuration, or if the waterfall is missing or a solid color.&lt;br /&gt;
&lt;br /&gt;
=== Calibrating frequency offset (PPM) ===&lt;br /&gt;
This is not super important for a new station.&lt;br /&gt;
&lt;br /&gt;
== Next Steps ==&lt;br /&gt;
Now that you've got this station working on the bench, what's next?&lt;br /&gt;
&lt;br /&gt;
For permanent mast-mounted installation, I would recommend adding:&lt;br /&gt;
* [https://www.adafruit.com/product/3785 PoE splitter] - Make sure to get one that actually conforms to the 48-volt IEEE 802.3af standard&lt;br /&gt;
* POE injector for powering station remotely - Again, get a real 48-volt IEEE 802.3af standard&lt;br /&gt;
* Large mast-mounted waterproof box&lt;br /&gt;
* Waterproof cord grips, both to keep out the rain but also spiders and critters&lt;br /&gt;
* Desiccant to keep the humidity down&lt;br /&gt;
* Mastic tape for weatherproofing antenna connectors&lt;br /&gt;
* Better omnidirectional antenna&lt;br /&gt;
&lt;br /&gt;
=== Building a Box ===&lt;br /&gt;
* [https://wiki.satnogs.org/No_rotator No-Rotator setup]&lt;br /&gt;
== External links ==&lt;br /&gt;
* IQ3KU Omnidirectional station [https://www.i3vfj.net/SATNOGS/Satnogs_348_notes.pdf build write-up].&lt;br /&gt;
[[ Category:How-tos ]]&lt;br /&gt;
[[ Category:Omnidirectional Antennas ]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=1802</id>
		<title>SatNOGS Rotator v3</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_v3&amp;diff=1802"/>
		<updated>2017-10-02T19:22:20Z</updated>

		<summary type="html">&lt;p&gt;Zisi: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Rotator&lt;br /&gt;
|Rotator-Name=SatNOGS Rotator v3&lt;br /&gt;
|image=V3.jpg&lt;br /&gt;
|type= Az/El&lt;br /&gt;
|cost=~200 USD&lt;br /&gt;
|status= Beta&lt;br /&gt;
|latest-release= https://github.com/satnogs/satnogs-rotator/releases/tag/v3.0.1&lt;br /&gt;
|latest-release-name= Torx Flathead (v3.0.1)&lt;br /&gt;
|source-repo= https://github.com/satnogs/satnogs-rotator&lt;br /&gt;
|documentation= http://satnogs.dozuki.com/Guide/SatNOGS+Rotator+v3+Mechanical+Assembly/7&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
v3 marks a major re-haul of the SatNOGS Rotator design, with learnings from [[SatNOGS Rotator v2|v2]] applied. You can see a lot of the thinking and background research that was conducted prior to v3 development in this [https://community.satnogs.org/t/satnogs-rotator-version-3/226 thread].&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|''''''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''SatNOGS v3 Rotator'''&lt;br /&gt;
|-&lt;br /&gt;
| Plastic Parts || 26&lt;br /&gt;
|-&lt;br /&gt;
| Non Printed Parts approx.||345&lt;br /&gt;
|-&lt;br /&gt;
| Cost||~ $220&lt;br /&gt;
|-&lt;br /&gt;
| Controller Electronics|| [[SatNOGS Rotator Controller]]&lt;br /&gt;
|-&lt;br /&gt;
| Type||AZ/EL (possible X/Y)&lt;br /&gt;
|-&lt;br /&gt;
| Motors||2x NEMA 17 Stepper or 2x DC Motors&lt;br /&gt;
|-&lt;br /&gt;
| Frame Material|| Aluminum T-slot 20x20&lt;br /&gt;
|-&lt;br /&gt;
| Speed (deg/sec) || 6.5 (Stepper motor), 20 (DC motor)&lt;br /&gt;
|-&lt;br /&gt;
| Torque (Nm) ||  ~26 (Stepper motor), ~64 (DC motor)&lt;br /&gt;
|-&lt;br /&gt;
| Dimensions (mm) || 306.5x197x142.5 (AZ/EL)&lt;br /&gt;
|-&lt;br /&gt;
| Weight (kg) || 6.2&lt;br /&gt;
|-&lt;br /&gt;
| Pro||&lt;br /&gt;
|-&lt;br /&gt;
| Con||&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sourcing ==&lt;br /&gt;
&lt;br /&gt;
3d Printing at a Fab Lab or you local hackerspace- If you don't have your own 3d printer then a local Fab Lab or hackerspace may be able to do it for you. Fab Labs and hackerspaces are places that have invested in the machinery and you can take the designs to them. Generally they need .stl files to import into the software that runs the machines but this should be discussed with the Fab Lab or hackerspace. You then pay for the colume of material or time or a combination of the two for each of the parts or any other agreement in place. FabLabs:[http://www.fabfoundation.org/fab-labs/] Hackerspaces:[https://wiki.hackerspaces.org/List_of_Hacker_Spaces]&lt;br /&gt;
&lt;br /&gt;
'''T Slot''' - If you don't want to cut the pieces yourself then here is a UK supplier[http://www.kjnltd.co.uk/]&lt;br /&gt;
Hidden corner connectors - AliExpress gave the cheapest supplier&lt;br /&gt;
&lt;br /&gt;
A good US source is [http://us.misumi-ec.com/ MISUMI-USA], they will also cut to length.  MISUMI has several other global locations [https://www.misumi-ec.com].&lt;br /&gt;
&lt;br /&gt;
Beware, the 20-series T-slot from [https://8020.net/ 80/20 Inc.] in the US has slots that are only 5.2mm wide.  The hidden corner connectors from e.g. AliExpress '''will not fit'''.&lt;br /&gt;
&lt;br /&gt;
'''Stepper Motors''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Belts''' - eBay&lt;br /&gt;
&lt;br /&gt;
'''Fixings / Pipe''' - eBay&lt;br /&gt;
&lt;br /&gt;
== Build Sequence ==&lt;br /&gt;
&lt;br /&gt;
* Make sure you have all parts&lt;br /&gt;
* Follow the [http://satnogs.dozuki.com/Guide/SatNOGS+Rotator+v3+Mechanical+Assembly/7 instructions for mechanical assembly]&lt;br /&gt;
* Once mechanical assembly is ready, construct the SatNOGS Rotator Controller and connect it to the assembly.&lt;br /&gt;
* You are ready! Proceed with testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Sequence ==&lt;br /&gt;
&lt;br /&gt;
Test sequence needed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/satnogs/satnogs-rotator/releases/tag/v3.0.1 Rotator hardware v3 release files]&lt;br /&gt;
* [https://github.com/satnogs/satnogs-rotator-controller Rotator controller v3 release files]&lt;br /&gt;
* [https://wiki.satnogs.org/SatNOGS_Rotator_v3 Wiki page with main documentation]&lt;br /&gt;
* [http://satnogs.dozuki.com/Guide/SatNOGS+Rotator+v3+Mechanical+Assembly/7 Instructions for mechanical assembly]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rotator]]&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=1801</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=1801"/>
		<updated>2017-10-02T18:31:54Z</updated>

		<summary type="html">&lt;p&gt;Zisi: /* Options for Ground Stations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_options.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
Thanks for your interest on building a satellite ground station!&lt;br /&gt;
First things first: you need to understand all the different components of a ground station. Read on to learn more about ground stations. Once you have familiarized yourself with all the components, you need to make a selection on what you are going to be building (and/or buying). Below you can find a table outlining all the different options.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Hardware&lt;br /&gt;
! Software&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [https://docs.satnogs.org/en/stable/satnogs-client/doc/installation.html SatNOGS Client]&lt;br /&gt;
| [[SatNOGS Rotator Controller|SatNOGS Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| Linux Desktop&lt;br /&gt;
| &lt;br /&gt;
| Rot2Prog&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
| [[Radio#HW Radio|Transceiver]]&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. SatNOGS Network &amp;gt; SatNOGS Client &amp;gt; RaspberryPi &amp;gt; Yaesu G550 &amp;gt; Kenwood TS2000 &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=1800</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=1800"/>
		<updated>2017-10-02T18:26:06Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_options.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
Thanks for your interest on building a satellite ground station!&lt;br /&gt;
First things first: you need to understand all the different components of a ground station. Read on to learn more about ground stations. Once you have familiarized yourself with all the components, you need to make a selection on what you are going to be building (and/or buying). Below you can find a table outlining all the different options.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Hardware&lt;br /&gt;
! Software&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [[SatNOGS_Client|SatNOGS Client]]&lt;br /&gt;
| [[SatNOGS Rotator Controller|SatNOGS Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| Linux Desktop&lt;br /&gt;
| &lt;br /&gt;
| Rot2Prog&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
| [[Radio#HW Radio|Transceiver]]&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. SatNOGS Network &amp;gt; SatNOGS Client &amp;gt; RaspberryPi &amp;gt; Yaesu G550 &amp;gt; Kenwood TS2000 &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=1799</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=1799"/>
		<updated>2017-10-02T18:24:14Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_options.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
Thanks for your interest on building a satellite ground station!&lt;br /&gt;
First things first: you need to understand all the different components of a ground station. Read on to learn more about ground stations. Once you have familiarized yourself with all the components, you need to make a selection on what you are going to be building (and/or buying). Below you can find a table outlining all the different options.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Hardware&lt;br /&gt;
! Software&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [[SatNOGS_Client|SatNOGS Client]]&lt;br /&gt;
| [[SatNOGS Controller|SatNOGS Rotator Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| Linux Desktop&lt;br /&gt;
| &lt;br /&gt;
| Rot2Prog&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
| [[Radio#HW Radio|Transceiver]]&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. SatNOGS Network &amp;gt; SatNOGS Client &amp;gt; RaspberryPi &amp;gt; Yaesu G550 &amp;gt; Kenwood TS2000 &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=Build&amp;diff=1798</id>
		<title>Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=Build&amp;diff=1798"/>
		<updated>2017-10-02T18:23:49Z</updated>

		<summary type="html">&lt;p&gt;Zisi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
[[File:Satnogs_options.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
Thanks for your interest on building a satellite ground station!&lt;br /&gt;
First things first: you need to understand all the different components of a ground station. Read on to learn more about ground stations. Once you have familiarized yourself with all the components, you need to make a selection on what you are going to be building (and/or buying). Below you can find a table outlining all the different options.&lt;br /&gt;
&lt;br /&gt;
== Options for Ground Stations ==&lt;br /&gt;
&lt;br /&gt;
A satellite ground station is made up from different parts. The following diagram can help you select your setup based on your needs and/or your existing setup.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
! Hardware&lt;br /&gt;
! Software&lt;br /&gt;
! Controller&lt;br /&gt;
! Rotator&lt;br /&gt;
! Radio&lt;br /&gt;
! Antenna&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry_Pi_3|Raspberry Pi 3]]&lt;br /&gt;
| [[SatNOGS_Client|SatNOGS Client]]&lt;br /&gt;
| [[SatNOGS Controller|SatNOGS_Rotator_Controller]]&lt;br /&gt;
| [[SatNOGS_Rotator_v3|SatNOGS Rotator]]&lt;br /&gt;
| [[Radio#SDR|SDR]]&lt;br /&gt;
| [[Antennas|Yagi]]&lt;br /&gt;
|-&lt;br /&gt;
| Linux Desktop&lt;br /&gt;
| &lt;br /&gt;
| Rot2Prog&lt;br /&gt;
| [[SPID Big RAS]]&lt;br /&gt;
| [[Radio#HW Radio|Transceiver]]&lt;br /&gt;
| [[Antennas|Helical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[G-5500|lsf-g5500]]&lt;br /&gt;
| [[G-5500|Yaesu G5500]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Vertical]]&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [[No rotator]]&lt;br /&gt;
| &lt;br /&gt;
| [[Antennas|Cross-Yagi]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Message|Use the above table to select your setup. E.g. SatNOGS Network &amp;gt; SatNOGS Client &amp;gt; RaspberryPi &amp;gt; Yaesu G550 &amp;gt; Kenwood TS2000 &amp;gt; UHF helical &amp;amp; VHF Cross Yagi}}&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Once you have a ground station ready, you should go ahead and operate it! More info can be found on the [[Operation]] wiki page.&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=1733</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=1733"/>
		<updated>2017-09-01T13:48:39Z</updated>

		<summary type="html">&lt;p&gt;Zisi: /* Rotator Controller enclosure - Placement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= ?&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= v2&lt;br /&gt;
|latest-release= v2&lt;br /&gt;
|source-repo= https://github.com/satnogs/satnogs-rotator-controller SatNOGS Rotator Controller&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v2 ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Schematic.png&lt;br /&gt;
Pcb.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
* Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini] dev-board with ATmega328p.&lt;br /&gt;
* The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
* The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
* Filter in power supply of micro controller.&lt;br /&gt;
* It has an I2C multiplexer to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
* A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-temperature.&lt;br /&gt;
* More dev-pins to connect other peripherals like IMU, LCD display.&lt;br /&gt;
* Pins with RC-Low Pass filter for end-stops.&lt;br /&gt;
* Default communication interface is RS-485 (WIP) but it can be also used UART.&lt;br /&gt;
* Avoid connection with GNDD directly with motor GND use keep out area.&lt;br /&gt;
* Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
&lt;br /&gt;
=== Build sequence ===&lt;br /&gt;
* Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
* Buy the PCB&lt;br /&gt;
* Assemble the PCB, by soldering the components&lt;br /&gt;
* Burn the firmware&lt;br /&gt;
* Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
* You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Micro controller ====&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Motor Drivers ====&lt;br /&gt;
===== Stepper motor driver =====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options are tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
* 2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
* 4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
* 2 fixed terminal blocks, Phoenix 1985467&lt;br /&gt;
* 6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
* '''Not''' solder 2 resistors 100k, R4, R7&lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
* [http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors] &lt;br /&gt;
* add a heat-sink.&lt;br /&gt;
* plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP3/JP6'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP2/JP5'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP1/JP4'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== DC motor driver =====&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Communication ====&lt;br /&gt;
===== ''UART'' =====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
* solder JP7 and JP8&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* not solder C1, U2, R18, R9, R8, R1, D3&lt;br /&gt;
* A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
===== ''RS-485'' =====&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Power Supply ====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Endstops ====&lt;br /&gt;
* Mechanical Endstops&lt;br /&gt;
&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Encoders ====&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wiring ====&lt;br /&gt;
&lt;br /&gt;
[[File:Tmp_wiring.jpg|thumb|center|800x420px|alt=|Temporary wiring]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rotator Controller enclosure - Placement ====&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firmware and Pin Assignments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pre-Flight Check ===&lt;br /&gt;
Need to add testing procedure here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=1732</id>
		<title>SatNOGS Rotator Controller</title>
		<link rel="alternate" type="text/html" href="https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller&amp;diff=1732"/>
		<updated>2017-09-01T13:38:04Z</updated>

		<summary type="html">&lt;p&gt;Zisi: /* Encoders */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Development&lt;br /&gt;
|Name= SatNOGS Rotator Controller&lt;br /&gt;
|image= Rotator controller v2.jpg&lt;br /&gt;
|type= Rotator Controller for SatNOGS rotator.&lt;br /&gt;
|cost= ?&lt;br /&gt;
|status= Working&lt;br /&gt;
|latest-release-name= v2&lt;br /&gt;
|latest-release= v2&lt;br /&gt;
|source-repo= https://github.com/satnogs/satnogs-rotator-controller SatNOGS Rotator Controller&lt;br /&gt;
|documentation= https://wiki.satnogs.org/index.php?title=SatNOGS_Rotator_Controller SatNOGS wiki&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
SatNOGS Rotator Controller refers to the set of electronics designed to operate a SatNOGS Rotator. There have been multiple iterations of the rotator controller design, but the modularity of the approach enables operations between different versions of the controller and the rotator.&lt;br /&gt;
Since the start of 2016, the rotator controller design is able to facilitate a DC-motors or stepper-motors rotator design. We intend to keep this modularity for the electronics and firmware design to facilitate the variety of build by our community.&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v2 ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Schematic.png&lt;br /&gt;
Pcb.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The PCB are tested in this [https://network.satnogs.org/stations/9/ ground station]. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is designed to fit the entire electronics needed to control rotator in Euroboard 80x50 mm.&lt;br /&gt;
* Main micro-controller is [https://store.arduino.cc/arduino-pro-mini Arduino pro-mini] dev-board with ATmega328p.&lt;br /&gt;
* The modular design includes plug-in either [https://www.pololu.com/product/2133 DRV8825]/[https://www.pololu.com/product/1182 A4988] or [https://www.pololu.com/product/1213/resources DC motor drivers] (MC33926).&lt;br /&gt;
* The power supply in embed in the same board in contrast with previous version.&lt;br /&gt;
* Filter in power supply of micro controller.&lt;br /&gt;
* It has an I2C multiplexer to connect I2C encoders AS5601 (same ID) to get position feedback for each axis.&lt;br /&gt;
* A temperature sensor TC-74 monitoring the temperature inside the controller box in order to protect them from over-temperature.&lt;br /&gt;
* More dev-pins to connect other peripherals like IMU, LCD display.&lt;br /&gt;
* Pins with RC-Low Pass filter for end-stops.&lt;br /&gt;
* Default communication interface is RS-485 (WIP) but it can be also used UART.&lt;br /&gt;
* Avoid connection with GNDD directly with motor GND use keep out area.&lt;br /&gt;
* Electrolytic capacitor and TVS-diode in PSU input&lt;br /&gt;
&lt;br /&gt;
=== Build sequence ===&lt;br /&gt;
* Make sure you have a [[SatNOGS Rotator v3|mechanical assembly]] of the rotator constructed and ready&lt;br /&gt;
* Buy the PCB&lt;br /&gt;
* Assemble the PCB, by soldering the components&lt;br /&gt;
* Burn the firmware&lt;br /&gt;
* Using the wiring diagram, connect the controller to the Rotator&lt;br /&gt;
* You are ready! Proceed with testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Micro controller ====&lt;br /&gt;
[[File:Uc.png|thumb|320x240px|Microcontroller]]&lt;br /&gt;
[[File:Uc_orientation.png|thumb|320x240px|Microcontroller Orientation]]&lt;br /&gt;
[[File:I2c_pullup.png|thumb|320x240px|I2C pull-up resistors]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Motor Drivers ====&lt;br /&gt;
===== Stepper motor driver =====&lt;br /&gt;
[[File:Stepper_2.png|thumb|320x240px|Stepper motor driver]]&lt;br /&gt;
[[File:Stepper_1.png|thumb|320x240px|Jumpers]]&lt;br /&gt;
[[File:Stepper_orientation.jpg|thumb|320x240px|Orientation]]&lt;br /&gt;
&lt;br /&gt;
For the stepper motor driver 2 options are tested, [https://www.pololu.com/product/2133 DRV8825] and [https://www.pololu.com/product/1182 A4988].&lt;br /&gt;
For both options it is necessary to solder:&lt;br /&gt;
* 2 electrolytic capacitors C3, C4 100uF&lt;br /&gt;
* 4 single 0.1&amp;quot; male connectors for U3, U4&lt;br /&gt;
* 2 fixed terminal blocks, Phoenix 1985467&lt;br /&gt;
* 6 jumpers to adjust the micro-step, '''default option is Full Step'''&lt;br /&gt;
* '''Not''' solder 2 resistors 100k, R4, R7&lt;br /&gt;
&lt;br /&gt;
Be careful:&lt;br /&gt;
* [http://reprap.org/wiki/Pololu_stepper_driver_board adjust the current (current limiting) for stepper motors] &lt;br /&gt;
* add a heat-sink.&lt;br /&gt;
* plug the stepper motor drivers&lt;br /&gt;
&lt;br /&gt;
{| {{table}}&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP3/JP6'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP2/JP5'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''JP1/JP4'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|'''Microstep Resolution'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f000;&amp;quot;|'''Full step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Half step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/4 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''1/8 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/16 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''Low''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''High''' || align=&amp;quot;center&amp;quot;|'''1/32 step'''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== DC motor driver =====&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Communication ====&lt;br /&gt;
===== ''UART'' =====&lt;br /&gt;
[[File:Jumper.png|thumb|320x240px|UART Jumpers]]&lt;br /&gt;
[[File:Rs 485.png|thumb|320x240px|Pin Header]]&lt;br /&gt;
&lt;br /&gt;
To use UART:&lt;br /&gt;
* solder JP7 and JP8&lt;br /&gt;
* solder pin header 0.1&amp;quot; female connector&lt;br /&gt;
* not solder C1, U2, R18, R9, R8, R1, D3&lt;br /&gt;
* A is TX and B is RX&lt;br /&gt;
&lt;br /&gt;
===== ''RS-485'' =====&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Power Supply ====&lt;br /&gt;
[[File:Psu.png|thumb|320x240px|Power Supply]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Endstops ====&lt;br /&gt;
* Mechanical Endstops&lt;br /&gt;
&lt;br /&gt;
[[File:Endstop.jpg|thumb|320x240px|Endstop]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Encoders ====&lt;br /&gt;
For stepper motor setup is optional (AS5601 encoder).&lt;br /&gt;
&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wiring ====&lt;br /&gt;
&lt;br /&gt;
[[File:Tmp_wiring.jpg|thumb|center|800x420px|alt=|Temporary wiring]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rotator Controller enclosure - Placement ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Firmware and Pin Assignments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pre-Flight Check ===&lt;br /&gt;
Need to add testing procedure here.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rotator Controller v1 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zisi</name></author>
		
	</entry>
</feed>