Jump to content

Banner.jpg.b89429c566825f6ab32bcafbada449c9.jpg

Simple usb autoguiding hardware


samtheeagle

Recommended Posts

I've come across the Shoestring autoguiding products, and they look pretty nice, but they also look pretty pricey considering that there doesn't seem much to them. Maybe I'm missing something? Maybe I'm just tight?

Anyway, I'm toying with making my own usb st4 interface. I've found a simple (and cheap) usb to serial interface board, and done some reading up on writing an ASCOM driver for it, and it doesn't seem that bad...

I'm a code monkey by trade, so the driver part I have few concerns over, it's the hardware side that I'll find tricky. But as far as I can make out the main requirement is to support the pulse guide feature to emulate button presses on the hand controller.

Sounds simple doesn't it? :icon_rolleyes: I reckon I can make this for ~30 quid.

Anyone else been loopy enough to try something like this?

Link to comment
Share on other sites

  • Replies 37
  • Created
  • Last Reply

There is a cheaper version out there. I don't know much about it as I'm a techno numpty so I just bought the EQDIR thingy. I know JGS001 has recently done somehting like you are talking about.:icon_rolleyes:

Sam

Link to comment
Share on other sites

Hi Sam, I've been toying with an 'Arduino' board recently, I'm looking at the board to do multiple things. So far its being dev'd as am automatic dew heater (take ambient and scope temp, compare, adjust scope temp accordingly). I had also thought about using it as a focuser controller, possibly even something to control webcams via 12c.

Anyhoo, my point is this, the arduino is either usb controllable or if you give it its own power it will run standalone, the only major difference between the 2 sets of code (windows/hardware) is there is a lack of gui on the arduino, apart from that the 2 IDEs are incredibly similar. I have 0 hardware coding experience but I've managed to make this thing work independently of a PC as well as provide it with a windows gui with extra control too.

I reckon you'll breeze it being a 'code monkey' :icon_rolleyes:

Link to comment
Share on other sites

Arduino Homepage: Arduino - Reference

Processing Homepage (windows/mac/linux control of arduino): Processing 1.0

And just to throw a curveball in there, processing also has stuff for mobile phones too, remote bluetooth control anyone? :icon_rolleyes:

The arduino board has lots of add-ons, gps, lcds, buttons, joysticks, all manner of sensors, LAN, wireless, bluetooth etc. and could be built into an incredibly powerful bit of hardware.

Link to comment
Share on other sites

It's very interesting Karlo :icon_rolleyes: basically the arduino is a little processor on a board with loads of analog and digital ins and outs, which means you can connect for instance, a motor with an encoder to it connected to your focuser and read how many revolutions it makes for focus for each different ep or barlow or camera that you strap to the scope.

Those could then be stored in a windows app (or on the board itself, it can be standalone, only needs 5-12V to run) and recalled each time you change kit.

That's just a small for instance of what it can do. I'ts got PWM control as well, which means its useful for servo motors, or pwm controlling a dew tape, I reckon it could me made to do quite a few decent astronomy related things, more than one at a time too. You just have to provide it with the right circuits and the right code and it will do what you want ;) You can connect it via usb, its got serial IO too, i2c, they're networkable with the right addon boards, so many many applications.

Link to comment
Share on other sites

Hi, I have a non goto eq6 and wanted to connect it to a computor so I've chosen to use the Atlas/eq6 MCU replacment project. I emailed the guy for an already programmed chip and pcb's which cost me $20. The good thing is that the firmware can be upgraded through the serial port and all the code is freely available for you to tinker with. The goto is LX200 compatible although because the MCU code was designed with the stock drives, slewing is quite slow. I'm hoping that once I have it working I will upgrade the drives eventually and have a go at getting a faster slew rate

but this will require me to bite the bullet and learn C++ to have a go at the coding.

Although it is connected through the serial port with a usb serial converter your sorted. Oh and it has an ST4 port as well.

I'm sure that the MCU could be integrated into almost any mount with a bit of electronic knowledge.

Worth looking at, do a search for Atlas/EQ6 Replacement Project.

Cheers

John

Link to comment
Share on other sites

@lightbucket - Yeah I've seen the direct guiding things... They're considerably cheaper, but all seem to be based around serial or parallel ports neither of which my laptop has :S What I'm looking at building is essentially the same kind of thing, just with a usb connection.

@Reggie - I've also looked at the Arduino boards they look very clever :icon_rolleyes: But for the moment I'm after something really small, cheap, and simple just for autoguiding. But I agree the Arduino could be used to computer control pretty much anything you wanted.

Link to comment
Share on other sites

Here's a screen shot of my windows app. to control my dew heaters. It's still in prototype stage at the moment, the code and circuits all appear to be sound, I just need to make the sensors weatherproof and house the board. I've got got 2 sensors connected at the moment but it will take 2 or 3 more (sensors are a about a quid each, minimal circuit required, just 2 wires :icon_rolleyes:).

untitled.jpg

You'll have to excuse the basic layout of the gui, I'm not too hot at graphics. The board takes a reading every 200ms and every 8 readings it averages the temp and compares the data, if the scope temp gets to within a degree or 2 of the ambient temperature the heater comes on until its sufficiently warm, then it turns itself off again. the trigger temps. are user defined, its entirely up to you.

The board will also talk to a PC, I've written a program that will allow me to read the temps from the board and then graph them out (just for rough visual feedback at the moment) it will also tell you the state of the heater(s) (on or off) and it also allows the user to manually override the heater settings using either the keyboard or the mouse. The way the code for the board and the code for windows are written I can use the board standalone if I need to as well.

I've currently got my dew heaters running pwm using a 555 timer IC in a standalone box, when I have my sensors suitably shielded from the outside world It's a simple case of connecting up a pwm pin from the arduino to a TIP120 transistor instead of the 555 timer which would then give you ultimate control of how quickly the heat tapes would warm the scope.

As for focuser control, that seems to be fairly trivial depending on which type of motor you are using. with a servo motor its simply a case of pulsing the control wire of the servo with the correct length pulse, with stepper motors its a little more involved, but nothing a quick google won't turn up a circuit for ;)

I'm really up for doing some collaborative coding work towards getting ascom drivers for any of this, I'm not the best coder in the world and am a real beginner with electronics but armed with one of these boards I think there is a lot of potential.

The boards are dirt cheap, about £20-25, there are loads of example projects on the net with code that are easily adaptable. I'm looking for a motor and bracket solution for autofocusing my william optics zs66 at the moment, mainly as a cheaper alternative to whats currently out there. The dew heater controller + sensors + heater components should cost something like £25 for the board, £1 for each sensor and £2ish per heater transistor, so around £35 for a couple of scopes.

As far as I know the board, the code and the windows stuff is mainly open source, I'm working on that basis myself and as such had plans to release anything I did, sort of like EQMod, this forum and the scene in general has given a lot of free stuff to me, I'd like to give something back and see if we can get some more collaboration done to bring down the costs of this expensive hobby of ours and maximise our scope time.

I'm happy for anyone to have a look at any of my code, make comments, alterations, suggestions etc. PM Me or Start a new thread if anyone is interested....

a couple of ideas I had were to add an lcd and or pc beep speaker for standalone visual/audio feedback on any project, you can add buttons too, so lots of options there. the board also has i2c stuff, and I've read some things about some of our favourite webcams being controllable by i2c........

Sorry for hi-jacking your thread slightly Sam, I'd be very interested in helping you with your project, I'll be honest I have no need for a standalone guider box as my scope and guidecam have st4 ports, so I'm offering help mainly to learn/help with the ascom drivers and see about the serial side of things too.

Link to comment
Share on other sites

Heh heh, no worries about hijacking Reggie ;) Perhaps once we've both got working solutions for our specific requirements we can see about releasing it all into the public domain, and possibly consider a general automation system??? :icon_rolleyes:

It seems like the Arduino boards are very capable gizmos, and could control all kinds of things e.g. autoguiding, SC modded cams, heaters and focusers... I've found the ASCOM website and documentation to be pretty good, so there's already a well defined standard for the control of many of these things.

I also think that a lot of people who are into astronomy are also keen tinkerers, so if we can get a few good documents and bits of code together they could be of great use to others. There are so many parts of this hobby that just plain old cost money, anything you can make for yourself on the cheap is a real bonus!

Link to comment
Share on other sites

That was the reason I went for the arduino, its all things to all people, I've already made both of my primary projects (pwm dew heater controller and servo motor focuser with handbox) using 555 timer ICs that are completely standalone. Both of these projects were doable on the arduino at the same time, it's a great little board for developing on not just for a single project. BTW. I saw a 'freeduino' which is an arduino clone (open source, many different variations of board all with teh same base io pins and functions :icon_rolleyes:) for £13 on a uk site earlier today.... cheap as chips.

Doing the automatic dew heater software/firmware was pretty simple too it's all C/Java based, but when I looked at the ascom side of things that was where I got slightly lost. I Don't have a clue how to interface an arduino to ascom, I could write the code for the firmware to go on the board and communicate via serial, my heater already does stuff like that, just need to make it ascom compatible. I can probably manage some visual C++ if needed, so any clues as to what I need to look at would be appreciated.

Link to comment
Share on other sites

Well I'm developing the ASCOM driver in .net using visual studio 2005. The web site provides some nice templates to get you going, and you just flesh out in the appropriate parts. To talk to the usb - serial device I have to wrap up a win32 dll so that .net can call its functions. This dll is provided by the company who make the IO board.

Maybe I should look at the more capable board for future proofing? Will need to look into how I could call it via .net first though...

Link to comment
Share on other sites

I've just spent a little while reading up on the Arduino... It seems that you can very easily communicate with it via the serial interface, which C# has framework support for. The only slightly tricky part is that you need to define a simple instruction set of commands that can be sent as serial data to the board. The board then has to handle the instructions and call whatever internal code it has embedded.

It's quite clearly explained here on the Arduino forums Arduino Forum - .Net Form to interface with Arduino

The only possible down side of this that I can see is that when you communicate with the board serially you have to use the digital IO pins 0 and 1, so they are no longer available for other things. Still, there are 12 more to play with! :icon_rolleyes:

Oh yeah, this is the rather more simple IO board I was looking at using http://www.coolcomponents.co.uk/catalog/product_info.php?cPath=27&products_id=100 It has the standard serial stuff and 4 general purpose IO pins which makes it perfect for auotguiding.

Link to comment
Share on other sites

I've already written The serial IO instruction set code on my arduino, so it wouldn't take a great deal to adapt the windows side of things for .net. The arduino sends a control byte as such, then it sends 6bytes (3 for each sensor), the windows app. buffer stores all 6 bytes then chops them in 1/2. The windows app. in return sends its own control bytes for manual, on, off or auto.

Link to comment
Share on other sites

Just read the code from the arduino forum, it would appear that there is everything there, just needs the keys laid out slightly nicer for up/down/left/right (asdw or similar) and you have the code for your guider. Code it correctly and it it could be its own ST4 port (that'd be nice to be able to add a camera w/st4 port later)?

Link to comment
Share on other sites

Hmmmm decisions decisions... I think for now I'll stick with the basic IO board, the Arduino is a very nice bit of kit, but it's key feature, the ability to be autonomous, is somewhat wasted when it comes to autoguiding. I'm always going to have it connected to a laptop along with the webcam... And the serial connection, along with 4 GPIO pins is ample for the guiding (and SC cam control should I try to go that far).

Link to comment
Share on other sites

Hi Sam, no worries whatever you decided to do :icon_rolleyes: I don't think you'd have any hassle converting the code from your kit to 'arduino' if you decided to go that route in the future. I think the main point of the arduino is its modularity, the sheer number of IO pins means you can make some very complex add-ons, or use simple hobbyist circuits that have been around for years, coupled with a standalone or PC (win/linux/mac) interface stance makes it very powerful.

Link to comment
Share on other sites

Hi Sam, just had a little go with visual studio 2008 and adding the serial port list enumeration code, the visual C sharp code looks almost identical to the arduino/processing code, so it should be fairly trivial to convert the serial and button/mouse code from my heater project over to Csharp/.net.

I'm doing this merely as an exercise at the moment, I'll take a look at the focuser code soon, again fairly trivial I think. I'll look at the ascom stuff next, although the ascom focuser seems to require data in microns, at the moment i don't have a clue how that translates into a servo motor focus movement of a rubber band or if there is a simpler way around it :/

How is this autoguider of yours going to work Sam? I'm intrigued and have thought about it roughly, will it just take n/s/e/w input for a certain length of time and pulse each of the IO lines accordingly? are you looking at providing st4 compatibility or starting completely from scratch and providing your own ascom driver/interface?

Link to comment
Share on other sites

Well all of my plans seem simple enough, but until I have some hardware to start testing with it could all be gibberish! ;)

In essence it's pretty much what you described above. The 4 GPIO pins will control the singals to the RA and DEC motors (+ and -). The hardware side I'm hoping to keep very simple, as it is just a mechanism to actuate the handset buttons via the computer.

The real work is done in the ASCOM driver part, which is where the all the configuration data that the guiding software uses comes from. From my VERY limited understanding of autoguiding in general I believe that any guiding software that supports ASCOM telescopes should be able to use this device. The driver provides all the tracking rates etc, and the guiding software uses those along with the tracking error it has calculated to figure out how much of an adjustment needs to be made. AFAIK is just says something like "move RA+ for 20ms". So in my driver I just turn on the RA+ GPIO pin for 20ms...

Like I said, I'm a total n00b to all this, so I'm learning as I go. I'm sure that there will be a few hurdles along the way, but atm I'm confident that I can make this work! :icon_rolleyes:

Oh yeah, I fully intend to keep the pin outs in line with the ST4 defacto standard!

Link to comment
Share on other sites

I'm fairly ok with my projects, whilst not a total n00b it all falls down for me at the ascom to driver stage. Most of my serial IO code I believe is transportable straight into C#/.net and then its a simple question of tweaking the arduino code to take data in the format that ascom wants to send it and vice versa. That's probably the stumbling block for me atm. ;)

A bit more reading and a couple of small code examples will probably do the trick. I think i'm going to have to reinstall ascom on my coding machine to get the source code in the right places :icon_rolleyes:

Link to comment
Share on other sites

Reggie, I see that the ASCOM standard has support for focusers, but I don't see anything relating to dew heaters... But I guess that's pretty much an autonomous function that the Arduino is perfect for :icon_rolleyes:

The ASCOM Driver Standards are here: Interface Standards but I think you already mentioned that you've read up on them??? It been a long thread!

It looks like you can just move the focusser relatively, which is fine up to the point where it binds at the extremes of the available travel. I imagine that you could also do some simple measurements to time how long it takes for the full traversal, and then break that down into a number of "steps" to get pseudo absolute positioning (so long as you always start at the same place in the focuser travel, and use the same speed).

I found that the ASCOM playform provided a nice set of Visual Studio project templates, so you can get the skeleton of a driver in 5 seconds flat. Then you just need to pick through it and refer to the help docs to see what you need to implement. I've found that with the "telescope" driver I'm using for the guiding hardware at least 75% of the available function and unneccessary for my purposes!

Link to comment
Share on other sites

I had a quick skirt through a couple of pages for the focusser functions, I haven't had a good look at the full source code yet :icon_rolleyes:

The dew heater wasn't part of my plan for something to get an ascom driver written for but while I'm at it writing code for the focuser I might as well be writing a windows gui app. for the dew heater too as the main code is already written, just needs porting.

Link to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.