Thursday, November 12, 2015

YoctoAzEl - Targeting the Moon (III)

I've been busy, busy, busy on this application.

Since my last post I was able to get a set of USB controller Relays to turn on and off to power a Rotor.

I've also been spec'ing out the use of PWM Controllers for Brushed DC Motors.  Average price ranges on these are about $50-150.00 on average, but I still have a lot more investigation to go on that.  I'd much rather use a PWM type controller to limit current to the DC motors without modifying Voltage.  This is a much safer way to go.  Additionally I like the idea of PWM as I can then control the speed of the motor, unlike using a Relay to pulse (which can surge) on and off, this applies voltage and can slowly ramp up and ramp down the current to the load required.  Making it possible to slowly start turning antenna's and then slowly stop, instead of jerking motions.  Which is basically hard on everything in the long run.

But...today was really a good day.  The Yocto-Wireless-g module arrived.  About 30 minutes later I had it running with my code.  I took some time to do firmware updates on the new module as well as my Yocto-3d.  And also I wanted to try to setup the new Wireless Wifi USB hub to work within my current LAN.

After that I started looking at what would be required as far as code changes in the app and much to my utter amazement....I only really had to add ONE LINE of code.  That was it.  Period.  Nothing else.

After that when I started my application it just worked over wifi instead of a direct WIRED connection to the sensor.  THIS IS SOME COOL SH*T!

Here's a brief video demo'ing it working, as well as the relay board that is being controlled by my application and some other toys I've been playing with in the Application.



Monday, November 9, 2015

YoctoAzEl - Targeting the Moon (II)


So I've been continuing to work on some simple Visual Tools to help me quickly check to see how well my array is aligned with a target (the moon in this case).  I posted a video on this yesterday, and since then I've continued to do a bit more work on it.  This bit was a little tricky to resolve how to handle.

Basically I wanted to not only see at an instant in time (now) where the array IS, but I also wanted to know how well the entire system has been tracking for the last 15 minutes, and anything older than 15 minutes would just fade off the visual tool.

So while this seems 'bling-y' there's a reasoning behind it.  

1.) I want to see how well the array is currently aimed.

2.) I want to know if the wind's been blowing me around or if my tracking software is failing to maintain it's mechanical track with the moon.  In other words, are the relays ON/OFF pulses timing properly (the software is controlling that so it's important to know if that bit is working (over time). 

So here's a little demo of how it works currently.  (some of this may change, but it's advanced enough at this point that I thought I'd share what it looks like)

(simulating a windy day)

(array not moving, but the moon continues to move)




Friday, November 6, 2015

YoctoAzEl (my software array controller I'm building)


I had this idea last night that I could create a tool that could give me a nice visual of my array alignment related to the moons position.

This is just using some test data not actually tracking and that's just an image of the moon (a photo I took a long time ago).  But the it does show how the tool would work.

Another view of this much improved ( the following day after some debugging )




Building my own AZ/EL Controller (Part III)

Building my own AZ/EL Controller (Part III)

This past week I've done almost all of the initial C# software requirements to control my new Application which will drive my antenna array.  This has been a mostly pleasurable experience with just a few days where I got hung up on things like running Threaded tasks in C# "WPF" but I managed to overcome that.  

Now that the software is mostly well organized I need to move on to a few more bits of hardware.  

For the "EL" (elevation) part, I needed to spec out a industrial grade 24" Jack Screw capable of push/pull @ 1000 lbs (which is way overkill for this, but I don't want something weak to break).

I also needed to determine a DC Gearmotor combination to drive the Jack Screw.  There is a LOT to consider when looking at mating up the motor and the jack screw.  I'll post my notes on that later (below).

I also then needed a set of Relays that could drive the motor as well as a Azimuth rotor which I already have.  These need to be rated well above the requirements of both the azimuth and elevation motors, as relay failures are not something I want to have happen.
In addition to Relays I wanted to find a combination of Relays, but mounted on a Controller board and ready to accept commands via USB.

For the Jack Screw I went with a Duff Norton double clevis B9250CC-24B this can move 1000 lbs on it's output shaft with only 21 lbs of torque at it's input shaft.  40 turns at the input equates to 1" of travel on the jack screw output.

I wanted this to be able to elevate my array from 0 degrees to 90 degrees in about 1 minute.  90 degrees of travel will be managed by the 24" stroke of the jack screw.  So 40 turns on the input = 1" of travel, total travel = 24" so (40 * 24) = 960 the RPM required of the DC motor to move from 0 to 90 degrees.
  
Finding a High Torque DC motor to a fairly exact specification I found, was not easy.  There's a lot of crap on the internet when you search for high torque dc gearmotor.  Eventually, I did find what I was searching for and decided to use MMP D33-455D-24V GP81-04.3 this can handle 21lbs of torque using 24VDC @ 14.1 Amps which is available at: http://www.midwestmotion.com/ This motor falls perfectly into my requirements for the Jack Screw and the NCD USB R420 Relay.

This is what I settled on for the USB/Relay Board: National Control Devices: R420PL_USB Once that arrives I'll be able to start coding around this board specifically to control my rotors.  Since I already have a rotor on the tower connected to a large antenna, I will be able to test the relay board almost as soon as it arrives in controlling my azimuth rotor.
I'll post more on this later today.  It's still early here, but I wanted to post an update to this thread.

I was sad to find that yoctopuce.com usb relay board was only good to 5 amps. :(  I love their code libraries.  But I really didn't want a two-stage relay one low power relay and then one high power relay that actually does the work.  As this adds more points of failure as well as lag time (even if only a few milliseconds) I didn't find this option acceptable so I went with something that could provide usb and the relay amp size I needed at the voltage needs I have.

Since I'm building OUTWARDS from my computer to the tower and since I have my software project well underway, the next thing to order-in is the R420 USB relay board which I've done today.

Monday, November 2, 2015

Building my own AZ/EL controller (part II)

This is a brief demo of my app I'm working on that will control Azimuth and Elevation rotors of my new EME array.  

I only have the sensor to work with at this point, but in a few weeks I'll also have a USB connected set of relays which will power and control the motion of the rotors and in in turn will allow my software to point the array at the moon when it's visible and within Upper and Lower limit range of the Rotors.

So here's the video demo'ing the software attempting to correct the position of the sensor by moving the array...



Sunday, November 1, 2015

Building my own AZ/EL controller

I've used the Yocto-3D Sensor for a few years now in a Linux application (search "Driveby" on this blog for details).  Now I've got a new use for it.  




Using this Yocto-3D device (pictured above) I can know where something is pointed in Azimuth and in Elevation.  I'm starting to think about replacing my large single 6m Yagi with an EME (earth-moon-earth) array made up of 4 each 7 element LFA type antenna's.    It would look something like this:


(this is G8BCG's array, it's similar to what I would build)

While I would use this the same way I've used my large 10 element single yagi antenna, it would also be able to move not only in Azimuth as it does now, but also in Elevation.  This would enable me to track the Moon and get away from some earth bound terrestrial noise problems when I'm trying to make contacts off the moon with others here on Earth.

This has been done for MANY years by hams and scientists and NASA as well as many others.  It's not that unusual.

But I got to thinking instead of paying a TON of money for someone else to provide me with software and hardware to move my antenna around that I could build a Windows (Llinux, MacOS, or smartphone) application fairly easily using software libraries that yoctopuce.com already has made available.

So today I started playing around and I installed FREE (yes really free) "Microsoft Blend for Visual Studio". Download HERE  I know it's hard to believe it's free but it is, and I downloaded and installed it today.

Within a few hours I've managed to build a simple application using C# that can take readings from the Yocto-3D sensor and display them in my application.


(this is my new app actually running)





A little more reading and search on yoctopuce.com's website and I found they also have USB powered, and controlled relay's capable of switch 250 volts at 5 amps.  Which is WAY overkill for what I need, but might be something I could EASILY use to power the two rotors on the tower (azimuth and elevation).  Yocto-MaxiPowerRelay

I know I could add logic into my application that could track where the moon is exactly in the sky, and then it's just a matter of adding some logic to power the USB relays that could control the rotors in order to keep my EME array pointed directly at the moon's position in the sky as it passed over.

I'll be posting more on this as things develop but for now I just wanted to share what I've been talking about online to help some folks get a feel for this.