The Montgomery College Satellite Antenna Rotator Project



Similar documents
Schematic & Parts List: PIC16F688 Satellite Tracker & Rotor Controller

Tech Info Document: PIC16F84A LCD Satellite Antenna Tracking Interface

Schematic & Parts List: PIC16F688 Satellite Tracker & Rotor Controller

Adafruit's Raspberry Pi Lesson 9. Controlling a DC Motor

UGLYDATV 0.1 by F5OEO Evariste

Table 1 below is a complete list of MPTH commands with descriptions. Table 1 : MPTH Commands. Command Name Code Setting Value Description

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

ETEC Digital Controls PIC Lab 10 Pulse Width Modulation

Microtronics technologies Mobile:

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

ADS9850 Signal Generator Module

Ocean Controls RC Servo Motor Controller

Technical Data Sheet UM-005. UM005-doc In reference to UM005-c-01.04

Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

HC(S)08-System for Development and Training

SMS Alarm Messenger. Setup Software Guide. SMSPro_Setup. Revision [Version 2.2]

Application Note 49. Using the Digi TransPort Fleet Card. October 2011

Software Manual RS232 Laser Merge Module. Document # SU Rev A

CENTRONICS interface and Parallel Printer Port LPT

[F/T] [5] [KHz] [AMP] [3] [V] 4 ) To set DC offset to -2.5V press the following keys [OFS] [+/-] [2] [.] [5] [V]

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

RIGtalk. Revision 5. Owner s Manual 2012.

Servo Motors (SensorDAQ only) Evaluation copy. Vernier Digital Control Unit (DCU) LabQuest or LabPro power supply

Playing sounds and using buttons with Raspberry Pi

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Construction and Application of a Computer Based Interface Card

LDG DTS-4/4R Desktop Coaxial Switch / Remote

Single channel data transceiver module WIZ2-434

Kernel Testing: Tool and Techniques. Matt Porter Texas Instruments 21 February 2013

Computer Networking. Definitions. Introduction

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

Work with Arduino Hardware

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

MeshBee Open Source ZigBee RF Module CookBook

RCForb Server Setup. Overview

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

RN-WIFLY-EVAL-UM. WiFly Evaluation Kit Roving Networks. All rights reserved. RN-WIFLY-EVAL-UM Version 1.32r 10/9/2012 USER MANUAL

Mobile Satellite Solutions. A WiWorld Partner SATELLITE TV ANTENNA CONTROLLER RFM-1000/1100 TECHNICAL MANUAL STOW SEARCH

Digicom Remote Control for the SRT

Chapter 1 Hardware and Software Introductions of pcduino

1. Learn about the 555 timer integrated circuit and applications 2. Apply the 555 timer to build an infrared (IR) transmitter and receiver

High-Stability Time Adjustment with Real-Time Clock Module

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

XPort Universal Demo Board User Guide

BIODEX ADDENDUM BIODEX EMG/ANALOG SIGNAL ACCESS CONFIGURATION UTILITY SOFTWARE FOR SYSTEM 3 REVISION 2 AND SYSTEM 4 DYNAMOMETERS

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

SUDT AccessPort TM Advanced Terminal / Monitor / Debugger Version 1.37 User Manual

Matrix 510/520 User Guide

LDG Electronics External Meter Serial Communications Protocol Specification

obems - open source Building energy Management System T4 Sustainability Ltd

Massachusetts Institute of Technology

Wifi Web Server Module w TF Socket User s Guide

USB2.0 <=> I2C V4.4. Konverter Kabel und Box mit Galvanischetrennung

Step-by-Step Tutorial For Using LinkSprite UART- WIFI Module Model LS_UART_WIFI

INTRODUCTION TO SERIAL ARM

To perform Ethernet setup and communication verification, first perform RS232 setup and communication verification:

Camera Sensor Driver Development And Integration

Surveillance System Using Wireless Sensor Networks

Synapse s SNAP Network Operating System

A RF18 Remote control receiver MODULE

MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence :

Instructions for - Installation of Satellite Channels

Addonics T E C H N O L O G I E S. NAS Adapter. Model: NASU Key Features

RPLIDAR. Low Cost 360 degree 2D Laser Scanner (LIDAR) System Development Kit User Manual Rev.1

Monitor Your Home With the Raspberry Pi B+

ServoOne. Specification. Option 2 - Technology. x 11. x 8 X 8. x 10. x 9. x 7. x 6 TTL Encoder / TTL Encoder simulation

How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

CONNECTING THE RASPBERRY PI TO A NETWORK

Production ISP Programming Tools for SIGMA Z-Wave modules and ICs

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

Guide for Updating Firmware and Troubleshooting Connection Issues

Description. Dimensions. Features. precision works better

BASIC WINLINK 2000 TRAINING GUIDE

DK40 Datasheet & Hardware manual Version 2

MicroMag3 3-Axis Magnetic Sensor Module

Servo Info and Centering

Quick Start Guide. MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD

Plotting Spectrum Analyzer Data without a Plotter

JNIOR. Overview. Get Connected. Get Results. JNIOR Model 310. JNIOR Model 312. JNIOR Model 314. JNIOR Model 410

WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide

Six-servo Robot Arm. DAGU Hi-Tech Electronic Co., LTD Six-servo Robot Arm

RN-XV-RD2 Evaluation Board

VALIANT COMMUNICATIONS LIMITED

Bob Rathbone Computer Consultancy

ECE 495 Project 3: Shocker Actuator Subsystem and Website Design. Group 1: One Awesome Engineering

DS1621 Digital Thermometer and Thermostat

Designing AirPort Extreme Networks

Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V th November L6470 Stepper Motor Shield

eztcp Technical Document Modbus/TCP of eztcp Caution: Specifications of this document may be changed without prior notice for improvement.

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable. Created by Simon Monk

The Programming Interface

ICS 351: Today's plan

An Arduino Controlled GPS Corrected VFO

UniPi technical documentation REV 1.1

Timer A (0 and 1) and PWM EE3376

TCP/IP MODULE CA-ETHR-A INSTALLATION MANUAL

GPS NTP Time Server for Intranet Networks DIN RAIL Version

Transcription:

Ham Radio in STEM Education The Montgomery College Satellite Antenna Rotator Project Daniel Albuquerque, Raymond Botty, KK4HDR, Jordan Deuser, Kyle Nathan, Dennis Ngo presented by David Bern, W2LNX, adviser Montgomery College, Rockville, Maryland David.Bern @ MontgomeryCollege.edu W2LNX @ AMSAT.org 1 of 27

Introduction agenda using ham radio in STEM education desire to play with Raspberry Pis a solution looking for a problem organize a hacker/maker/diy/robotics/ham radio club summer student workshop at Montgomery College At the AMSAT-DC Spring 2013 Workshop Tom K3IO, suggested to use DiSEqC antenna rotators as inexpensive azimuth and elevation rotator system a problem to solve with a Raspberry Pi? 2 of 27

DiSEqC rotator Eagle Aspen Pro Brand International rotator runs on 13 V DC, 450 degrees 3 of 27

Raspberry Pi computer software Raspbian Linux with Python, C/C++ installed hardware GPIO pins, Ethernet and USB ports 4 of 27

DiSEqC protocol Eutelsat Digital Satellite Equipment Control DiSEqC DiSEqC signal and power on same wire 22±4 KHz pulse train 650±250 mv peak-to-peak one-third bit Pulse Width Keying (PWK) 0 bit: 1.0 ms followed by 0.5 ms silence 1 bit: 0.5 ms followed by 1.0 ms silence 6 ms between DiSEqC commands 5 of 27

DiSEqC protocol DiSEqC signal from Eagle Aspen controller DiSEqC signal to TTL level converter circuit 6 of 27

DiSEqC protocol DiSEqC commands bytes unidirectional to Eagle Aspen rotator does not use parity bit five command bytes to set position example: GO TO 255.0 DEGREES E0 31 6E 0F F0 E0 framing byte: command from master, no reply required 31 address byte: polar/azimuth positioner 6E drive motor to angular position ( ) 0F F0 255 x 16 7 of 27

DiSEqC protocol Raspberry generates pulse width modulated (PWM) DiSEqC signals on its GPIO pins gates a 22 KHz square wave oscillator DiSEqC command and 22 KHz square wave 8 of 27

DiSEqC protocol TTL level to DiSEqC signal converter simplified circuit prototype 9 of 27

Raspberry Pi software Python scripts about 600 lines of code diseqc_rotator_control.py reads from standard input ASCII AZ-EL position data and converts to DiSEqC commands sent to rotators schedule_pass.py translates ASCII AZ-EL position data from a file generated by PREDICT of a satellite pass and writes to standard output handles cases when azimuth position goes below zero degree or beyond 450 degrees read_serial_port.py translates ASCII AZ-EL position data read from serial port and writes to standard output EASYCOMM I and II protocol 10 of 27

Raspberry Pi software PREDICT 11 of 27

Raspberry Pi software gsat and EZ-EL tracking 12 of 27

Software tools Ethernet router connect to Internet for current time dhcp server Ethernet cables to desktop computer and Raspberry Pi On Raspberry Pi sshfs mounts Linux file directory over ssh On Linux computer my development environment gedit programmer text editor ssh, scp secure shell and ssh copy On Windows computer MobaXterm provides ssh, xterm, scp, and text editor 13 of 27

Raspberry Pi software Python scripts about 600 lines of code diseqc_rotator_control.py reads from standard input ASCII AZ-EL position data and converts to DiSEqC commands sent to rotators schedule_pass.py translates ASCII AZ-EL position data from PREDICT satellite pass file and writes to standard output handles cases when azimuth position goes below zero degree or beyond 450 degrees read_serial_port.py translates ASCII AZ-EL position data read from serial port ASCII AZ-EL position commands and writes to standard output EASYCOMM I and II protocol 14 of 27

diseqc_rotator_control.py # # main routine # initialize() azimuth_rotator = Eagle_Aspen_rotator(0, 450, AZIMUTH_PIN) elevation_rotator = Eagle_Aspen_rotator(0, 180, ELEVATION_PIN) run_interactive_mode(azimuth_rotator, elevation_rotator) print sys.argv[0], "finished... goodbye" 15 of 27

diseqc_rotator_control.py # # this routine runs this program in interactive mode # def run_interactive_mode(azimuth_rotator, elevation_rotator): while (True): print try: input = raw_input('command: '); print input except EOFError: break input = input.split() azimuth_rotator.update_position(input[1]) elevation_rotator.update_position(input[2]) if (azimuth_rotator.check_limits() == True and elevation_rotator.check_limits() == True): run_diseqc_command(azimuth_rotator, elevation_rotator) else: azimuth_rotator.position = azimuth_rotator.last_position elevation_rotator.position = elevation_rotator.last_position 16 of 27

diseqc_rotator_control.py # # this routine runs the DiSEqC command for the azimuth and elevation... # def run_diseqc_command(azimuth_rotator, elevation_rotator): azimuth_rotator.run_diseqc_command() time.sleep(0.1) elevation_rotator.run_diseqc_command() time.sleep(0.1) 17 of 27

diseqc_rotator_control.py import RPi.GPIO as GPIO import time import sys import os from configuration import * from Eagle_Aspen_rotator import Eagle_Aspen_rotator from routines import * PULSE_TIMING = DiSEqC.PULSE_TIMING AZIMUTH_PIN = GPIO_pin.AZIMUTH_PIN ELEVATION_PIN = GPIO_pin.ELEVATION_PIN STATUS_PIN = GPIO_pin.STATUS_PIN # # this routine initializes the program # def initialize(): GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(AZIMUTH_PIN, GPIO.OUT) GPIO.setup(ELEVATION_PIN, GPIO.OUT) GPIO.setup(STATUS_PIN, GPIO.OUT) print sys.argv[0], "starting... hello" 18 of 27

Eagle_Aspen_rotator.py class Eagle_Aspen_rotator: def init (self, lower_limit, upper_limit, GPIO_pin):... def update_position(self, input):... def calc_stop_position(self):... def run_diseqc_command(self):... def make_diseqc_command(self):... def check_limits(self):... 19 of 27

Recommendations and conclusion Recommendations Eagle Aspen rotators are fine for demonstrations and for casual amateur satellite work rotators occasionally wander around the correct position during a pass mitigated by sending position when it changes by at least two degrees needed to reset to zero position with its controller happened once Conclusion agenda of using ham radio for STEM education this was a great experience for the students 20 of 27

Continuing work We plan to develop a printed circuit board for the Eagle Aspen rotators if there is interest explore motors, stepper motors and rotary encoders explore interfacing Raspberry Pi to G-5500 rotator control box assemble the least expensive satellite ground station home made antennas using WA5VJB's Cheap Yagis 21 of 27

Availability All source code, schematics, and documentation are available on The Montgomery College Satellite Antenna Rotator Project Website at http://code.google.com/p/mc-satellite-antenna-rotator-project/ Questions, ideas, suggestions, requests and comments are welcome by sending email to mc.antenna.rotator.project @ gmail.com 22 of 27

My students 23 of 27

My students Kyle, Daniel, Jordan, Dennis, Ray, KK4HDR 24 of 27

Acknowledgments Tom Clark, K3IO, for inspiring and advising us on this project Gilbert Mackall, N3RZN, for lending us his Yaesu G5500 rotator and a Yaesu GS232A Dr. Muhammad Kehnemouyi, the chairman of the Department of Physics, Engineering, and Geosciences at Montgomery College, Rockville for his encouragement and support others... 25 of 27

Questions? demonstration in the demonstration room 26 of 27

Thank you! I received this book when I was a child... Thank you! 27 of 27