27
Arduino based Antenna Positioning System Umesh Ghodke, K6VUG South Bay Amateur Radio Association

Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

  • Upload
    lydat

  • View
    259

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Arduino based Antenna Positioning System

Umesh Ghodke, K6VUG South Bay Amateur Radio Association

Page 2: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 2

Video Introduction

Page 3: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 3

Presentation Overview

1. Mechanical Assembly 2. RC Servo Basics 3. Arduino Pro Mini Microcontroller 4. Programming The Arduino 5. Position Control Program 6. Hands On Demonstration

Page 4: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 4

Close­up View

Page 5: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 5

Mechanical Assembly

a) Azimuth Rotator n Housing for Servo n Mounts to tripod or mast n Rotates Elevation Rotor thru 180 degrees

b) Elevation Rotator n Housing for Servo n Mounts on top of Azimuth Rotor n Provides mounting for antenna etc. n Rotates antenna thru 180 degrees

Page 6: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 6

RC Servo Overview

A Closed Loop Positioning System

Page 7: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 7

RC Servo Specifications (typical)

n Rotation Angle – 180 degrees *** n High Speed – 60 deg in 0.25 seconds n Excellent Torque – 7.1 kg/cm n Pulse Width – 1 to 2 microseconds n Pulse Rate – 20 milliseconds n Simple Power Requirements – 4.5 V, 1.2 A

Precision Angle Control by PWM signal Small & Easy­to­use Package

Page 8: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 8

360 o Azimuth using Flip Mode

180

0

181

360

Elevation 0 to 90

Elevation 180 to 90 90 270

NORMAL FLIP

Page 9: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 9

Arduino Microcontroller

n Popular & Easy to use Microcontroller Boards n Efficient Interrupt­driven Architecture n Pulse Width Modulation Feature Built­in ***

n Web Site www.arduino.cc n Jump Start Instructions & Samples n Free IDE Software for Development and Test

Page 10: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 10

Arduino Specifications (typical)

n ATmega32x 16 MHz Microcontroller n 32 KB Flash Memory (program storage) n 2 KB SRAM (program execution) n 1 KB EEPROM (data storage) n 14 Digital I/O Pins (6 PWM outputs) *** n 6 Analog Input Pins n Operating Voltage 5V, 50mA n USB or Serial Interface n Includes Boot Loader (0.5 KB)

Page 11: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 11

Arduino Uno & Pro Mini

Arduino Pro Mini – Embeds easily into a project

Page 12: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 12

Writing A Software Program

1. Structure – The Solution a. Defines the Sequence of steps (Algorithm) b. Independent of Programming Language c. Provides Clarity to the Solution

2. Syntax – The Code a. Encodes Solution into Micro­Actions b. Completely Language Specific c. May provide ways to be Efficient

Page 13: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 13

Arduino Program Structure

// Run Once After Reset void setup ()

initialization statements;

// Run Continuously Until Next Reset void loop ()

data processing statements;

Page 14: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 14

Arduino Program Example

#define pin 13; // specify the LED pin void setup () pinMode (pin, OUTPUT); // set the ‘pin’ as output

void loop () digitalWrite (pin, HIGH); // turn LED pin on delay (1000); // pause for one second digitalWrite (pin, LOW); // turn LED pin off delay (1000); // pause for one second

Page 15: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 15

More Sample Statements

// Using the Serial Port Serial.begin(BAUDRATE); // initialize COM Port inByte = Serial.read(); // read a byte

// Using the PWM Output Servo AzServo; // initialize AZ pin AzServo.attach(pin9, minPW, maxPW); AzServo.write(curAzimuth); // turn the servo

Page 16: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 16

Position Control Program Specs.

n Handle EasyComm II commands n Generate PWM signals to accurately position Azimuth & Elevation Servos

n Provide full sweep using Flip Mode n Provide a wide range speeds (1 to 50 rpm)

Page 17: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 17

Control Program Structure

Initialize Wait for Cmd

Set New AZ Position *

AZ Cmd?

EL Cmd?

System Cmd?

Set New EL Position *

Process Sys Cmd

Y * Separate Process

Turns Servos At Preset Speed Y

Y

Page 18: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 18

Commands Implemented n VE (display version) n AZ[nnn.n] (0 – 360 degrees) n EL[nn.n] (0 – 90 degrees)

n HELP (display this page) n SET (display settings) n SET AZPW|ELPW [nnn nnnn] (min/max pulse widths) n SET SPEED [nn] (1 ­ 50 rpm) n SET DEFAULTS (load defaults)

( Audience Participation Demo !!! )

Page 19: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 19

Summary

n High Utility & Fun DIY Project using Arduino n Programming Complexity – ‘Intermediate’ n Works with any Software that supports EasyComm II ­ HRD Satellite, PC­Sat, etc.

n Simple Mechanical Parts n Easily Portable & Quickly Setup n Perfect for Light­weight Satellite Antennas !

Page 20: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 20

Project Cost

n Arduino Pro Mini ~ $20 n RS232 Level Converter ~ $15 n Servos (x2) ~ $60 n Power Adapter 5V 1.5A DC ~ $15 n Plastic Sheets 8x10 inch (x2) ~ $2 n Hardware ­ Nuts and Bolts ~ $3 n DB9 Adapters & Phone Cable ~ $9 n Elbow Grease ~ Priceless !

Page 21: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 21

References

n Arduino Web Site www.arduino.cc n Arduino Project Ideas www.arduino.cc/playground/Projects/Ideas

n How RC Servos Work www.pcbheaven.com n RC Store sheldonshobbbies.com n Tap Plastics Store www.tapplastics.com

Page 22: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 22

Thank you !

Wishing you a fun time building Arduino & Amateur Radio projects !

Email Questions or Comments to [email protected]

Page 23: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 23

The End

Page 24: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 24

Arduino Boot Loader

n Activated by Reset n Completes basic checks n Transfers control to the custom uploaded program

n Makes it very easy to upload & run new programs

Page 25: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 25

EasyComm II Protocol

n Specifies Commands to Control Rotator, Radio, etc.

n Simple Text Command Format n Example: AZ123.0 EL45.0

n Commands can be spaced out in one line n New commands override previous commands – helps rapid change in movement

Page 26: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 26

Pulse Width Modulation

Pulse Rate: 20mS

Pulse Width: 1mS

Pulse Width: 8mS

Pulse Width: 3mS

Page 27: Arduino based Antenna - SBARA · Arduino based Antenna Positioning System ... A Closed Loop Positioning System. ... Arduino Pro Mini – Embeds easily into a project

Umesh Ghodke, K6VUG, SBARA 27

PWM Drive in RC Servos

n Smart way to transmit analog signals over long distances

n Excellent tolerance to electrical noise and attenuation

n Simple algorithm converts a range of analog values to a range of pulse widths

n Simple electronics at the receiving end reconstructs the analog signal