Jump to content

Banner.jpg.b83b14cd4142fe10848741bb2a14c66b.jpg

Connecting Arduino to Synscan Handset


SteveBz

Recommended Posts

Hi Guys,

Trying to connect an Arduino to the 6-pin serial port of the Synscan handset.

If I look at the various connecting cables from a pc to a Synscan h/set they come with two variations, those with a MAX232 (or similar) chip and those without. A usb needs a MAX232, the db9 doesn't. As far as I understand it, the uart connector to an Arduino is equivalent to a MAX232. If I then connect to a second rx/tx pair I don't need a further MAX232. Its already the right protocol (TTL? ). Is that correct? So I can just use a 6p6c to 6p6c 6-core cable direct from tx/rx Arduino to Synscan with no extra encoding or decoding.

What do you think?

Regards,

Steve

 

2019-06-23 14.39.34.jpg

2019-06-23 14.40.16.jpg

2019-06-23 14.41.31.jpg

Edited by SteveBz
Link to comment
Share on other sites

What are you trying to achieve ??  From the bottom picture it looks like an Arduino Uno on a CNC shield ?? driving the mount motors ??  Most configurations would simply put the handset into a draw, and forget about it.....

  • Like 1
Link to comment
Share on other sites

1 hour ago, Dr_Ju_ju said:

What are you trying to achieve ??  From the bottom picture it looks like an Arduino Uno on a CNC shield ?? driving the mount motors ??  Most configurations would simply put the handset into a draw, and forget about it.....

Hi Dr J,

Well it started that way when my Starwatcher handset blew up, but then I was offered the chance to use a Synscan Goto, and I wanted to modify the Arduino project for the synscan. If it was easier to put the handset I a drawer I would. I guess then I'd need an eight pin ethernet cable and ports. Would it otherwise be easier?

What do you think?

Regards

Steve.

 

Link to comment
Share on other sites

You've got the electronics there to drive the mount motors, if you've not seen it, have read through Tom Carpenters site https://www.astroeq.co.uk/about.php  where he has done what you are trying to do....  and it works well as it's what I use to drive my EQ5 system.

If you could integrate the handset into the Arduino driver module, all you'd be getting is a control system, which in AstroEQ terms, is some form of PC.

Also, Skywatcher haven't been fully open in their protocol, used in the handset\mount, understandably, as they are a business, therefore trying to get all info is difficult....

  • Like 1
Link to comment
Share on other sites

47 minutes ago, Dr_Ju_ju said:

You've got the electronics there to drive the mount motors, if you've not seen it, have read through Tom Carpenters site https://www.astroeq.co.uk/about.php  where he has done what you are trying to do....  and it works well as it's what I use to drive my EQ5 system.

If you could integrate the handset into the Arduino driver module, all you'd be getting is a control system, which in AstroEQ terms, is some form of PC.

Also, Skywatcher haven't been fully open in their protocol, used in the handset\mount, understandably, as they are a business, therefore trying to get all info is difficult....

Yes, that what I started to do, now I'm going to ignore the a4988s and go straight to Synscan. The box I've built has the Bluetooth hc-05 which means I can run it without cables. Plus it has all the i2c stuff like sky temperature monitors and so forth. So it's quite useful in its own right. I could however bypass it with a USB cable with a MAX232 to 6p6c cable and that would give me the same thing, just an extra cable. And who'd notice with the jungle of cables we all have!

I'll post the Synscan docs I have.

S

Link to comment
Share on other sites

26 minutes ago, Dr_Ju_ju said:

You've got the electronics there to drive the mount motors, if you've not seen it, have read through Tom Carpenters site https://www.astroeq.co.uk/about.php  where he has done what you are trying to do....  and it works well as it's what I use to drive my EQ5 system.

If you could integrate the handset into the Arduino driver module, all you'd be getting is a control system, which in AstroEQ terms, is some form of PC.

Also, Skywatcher haven't been fully open in their protocol, used in the handset\mount, understandably, as they are a business, therefore trying to get all info is difficult....

See attached - so that should be all he needs to drive a set of motors  in one form or another - i.e. no hand set (EQMOD type direct motor control) or via Synscan App (another protocol)  or via the Handset as a relay (yet another protocol) but they are all described some more complicated than others. Unless I missed the point - more than likely.   🙂  The more complicated one is the mounts motors direct and you have to work out all the timings,positioning and maths etc  to control the steppers which normally have encoders- not just do Goto XYZ etc. The latter is not explained very well in SW docs IMO.

e.g. https://skywatcher.com/download/manual/application-development/

There is a simple diagram some where on Skywatcher site that gives a pretty picture of the required methods and protocol involved - just cant find it at the moment. 

He could of course look at the Indi code for Skywatcher/skyatcher Synscan etc.

The main problem is that talking to the motors direct involves talking at the correct TTL level(3.3v or 5v depends on kit) - e.g. cable from hand set to mount  but  some mounts use only 1 connection as the TX and RX lines are connected together  on the motherboard and you have to pull up/down the line to become the "Master".   Others use separate Tx and Rx lines and are pretty standard and will work with most Arduino boards (subject to 5v/3.3v voltage levels - i.e. you might need a logic level converter. The cable that ran from the handset to a PC is std RS232c and deals with higher voltages (12v plus) and of course had 2 functions - handset firmware update or if the hand set was in "PC Mode" acted as a relay for CDC ,Stellarium etc.

Personally cant see the point of doing it but if you want to - great best of luck - sincerely 🙂

But as I say I most likely have got the wrong end of the stick 🙂 

   

skywatcher_motor_controller_command_set (4).pdf

  • Like 1
Link to comment
Share on other sites

31 minutes ago, stash_old said:

See attached - so that should be all he needs to drive a set of motors  in one form or another - i.e. no hand set (EQMOD type direct motor control) or via Synscan App (another protocol)  or via the Handset as a relay (yet another protocol) but they are all described some more complicated than others. Unless I missed the point - more than likely.   🙂  The more complicated one is the mounts motors direct and you have to work out all the timings,positioning and maths etc  to control the steppers which normally have encoders- not just do Goto XYZ etc. The latter is not explained very well in SW docs IMO.

e.g. https://skywatcher.com/download/manual/application-development/

There is a simple diagram some where on Skywatcher site that gives a pretty picture of the required methods and protocol involved - just cant find it at the moment. 

He could of course look at the Indi code for Skywatcher/skyatcher Synscan etc.

The main problem is that talking to the motors direct involves talking at the correct TTL level(3.3v or 5v depends on kit) - e.g. cable from hand set to mount  but  some mounts use only 1 connection as the TX and RX lines are connected together  on the motherboard and you have to pull up/down the line to become the "Master".   Others use separate Tx and Rx lines and are pretty standard and will work with most Arduino boards (subject to 5v/3.3v voltage levels - i.e. you might need a logic level converter. The cable that ran from the handset to a PC is std RS232c and deals with higher voltages (12v plus) and of course had 2 functions - handset firmware update or if the hand set was in "PC Mode" acted as a relay for CDC ,Stellarium etc.

Personally cant see the point of doing it but if you want to - great best of luck - sincerely 🙂

But as I say I most likely have got the wrong end of the stick 🙂 

   

skywatcher_motor_controller_command_set (4).pdf 787.72 kB · 1 download

This is the one I have.

synscanserialcommunicationprotocol_version33(2).pdf

The commands look quite simple as long as I don't blow it up with the wrong voltage to the wrong pins.

S

 

 

Edited by SteveBz
  • Like 1
Link to comment
Share on other sites

38 minutes ago, stash_old said:

 

Personally cant see the point of doing it but if you want to - great best of luck - sincerely

Are you saying you can't see the point of directly driving the motors, or connecting the Arduino to the handset.

The former I probably agree, and the latter I could be pursuaded of, but it's the latter I'm doing.

Edited by SteveBz
Typo
Link to comment
Share on other sites

So the one I'm doing, because it seems to be the least additional work, is using the handset as a relay. It seems to use a simple st4 type connection with three wires. Tx, Rx and Gnd. I just want Synscan's definition of these to be the same as Arduino's

S

Edited by SteveBz
Link to comment
Share on other sites

If you look on this site under DIY you will find a simple method using ESP8225 which converts to the correct TTL level (it can handle 3.3v to 5v so no logic converter) - uses Wifi or Bluetooth I believe and behaves as a serial bridge. In built Web server so long as you get a "real one" - mines wasn't and didn't work but OLD-TIMER ? has it working I believe.

If you use the Synscan AP software you can simple talk direct to a mount via the above or ESP8266/ESP32 via UDP - UDP simple fast comms but with no error correction - not needed really in today's electronics IMO.

But as Julian always says Wifi is really Wiffy especially the Arduino sized boards - which is true as most are limited to 50mb(ESP are 2.4ghz only last time I looked 🙂 ) as opposed to wired Ethernet (1gb) and little latency via say a RPI3b instead of ESP chips - then thats another story

So lots of options already done 🙂

  • Like 1
Link to comment
Share on other sites

3 minutes ago, stash_old said:

If you look on this site under DIY you will find a simple method using ESP8225 which converts to the correct TTL level (it can handle 3.3v to 5v so no logic converter) - uses Wifi or Bluetooth I believe and behaves as a serial bridge. In built Web server so long as you get a "real one" - mines wasn't and didn't work but OLD-TIMER ? has it working I believe.

If you use the Synscan AP software you can simple talk direct to a mount via the above or ESP8266/ESP32 via UDP - UDP simple fast comms but with no error correction - not needed really in today's electronics IMO.

But as Julian always says Wifi is really Wiffy especially the Arduino sized boards - which is true as most are limited to 50mb(ESP are 2.4ghz only last time I looked 🙂 ) as opposed to wired Ethernet (1gb) and little latency via say a RPI3b instead of ESP chips - then thats another story

So lots of options already done 🙂

Nice. OK. After a lot of building work my pc ended up on the wrong side of the house, so I installed a RPi on the scope-shed side and I talk to that with a python program. Everything in the scope-shed is driven by an Arduino. The RPi really just acts as a WiFi relay.

Now the eq5 with Handset is being replaced with eq5 goto, the Arduino needs updating, but I could run a usb from the RPi to the Synscan.

S

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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.