Sorry cause what follows is long, this little nightmares usually are...
I'm using a Raspberry Pi 4 to control a mount (Skywatcher HEQ5 pro) and two cameras (ASI 1600mm pro and ASI 120MM) over VNC (using Astroberry). The cameras are connected directly to the USB ports of the Raspberry and until recently I was using a USB to serial TTL converter to connect to the mount via the handcontroller (USB-TTL adapter -> DB9-RJ11 cable -> hand-controller -> mount). I had to try a couple of USB to serial adapters until I found one that worked (based on FTDI 232RL,
Unfortunately, connected as such I experienced two problems:
1- Guiding seemed erratic, particularly in DEC, sometimes jumping several arcseconds when only a small correction was due. After ironing out as much backlash as possible and seeing no improvement I decided to try guiding through the ST4 port instead of EQMod... It worked perfect! (and does it every time, no jumps, totally predictable, 0.55 asec RMS in RA, 0.45 RMS in DEC over 20 minutes).
2- Every now and then, pointing anywhere at the sky, INDI would complain briefly that the scope is out of limits (!). Other times it will disconnect out of the blue. This made guiding impossible even if using the ST4 port because upon reconnecting the driver would not activate tracking by itself.
I took this as a clear sign that I was better removing the hand-controller of the equation. I took the DB9 plug of my old cable and used one half of a CAT5 cable with its RJ45 plug to make a DB9 to RJ45 cable 1 meter long (following the pin-out shown on several websites). First try into the motor controller port: no go, nothing. Raspberry sees the adapter, adds device (ttyUSB0, as before), EQMod driver detects it, but no communication. I tried reversing TX and RX leads. Nothing. I thought maybe the adapter defaults to 3.3v levels and inexplicable that is enough for the hand-controller but not for the motor controller.
Bought me a FTDI 232RL breakout board (the kind that has a jumper to switch between 3.3v or 5v levels,
like this one
). This time, before soldering anything I used a breadboard to provide temporary connections from the FTDI to another half of a CAT5 cable and try the setup. It worked! But: the motions lagged the commands significantly, most goto's would take several iterations to get to the target and the driver kept randomly complaining that the scope was out of limits. I thought (hoped) this was due to the bad quality of the connections provided by the breadboard as it hanged from the mount. I soldered the new FTDI adapter and CAT5 cable to make a definitive EQdir interface. In addition to not requiring the DB9 connection in between, given that the FTDI breakout is connected by a USB cable to the Raspberry, I cut the CAT5 cable to less than 10 cm so most of the new cable is a USB cord.
Unfortunately, this didn't work better. Connection was unstable, goto's were unpredictable, warnings all over the place. I left the mount unattended for 5 minutes and had to run back to it in horror when I heard the sound of the gears skipping as the scope was hitting the tripod .
I rebuilt the DB9-RJ11 cable to try and use it as before. Also used it to update the hand-controller firmware from 3.39.05 to 3.39.10 (update that initially failed of course...).
I have attached two logs to this message, both from earlier today. The first is using the PC Direct mode, the second is using the FTDI 232RL to RJ45 cable. Now, I don't know if this is a coincidence or not, but today I was unable to observe any warnings using the PC Direct mode (this is after the firmware update). The log of the FTDI to RJ45 cable on the other hand is plagued by "read errors".
- Would my problems be fixed if I go and buy a ready-made EQdir cable?
- Why does the USB to serial adapter work when used through the hand-controller and not when used to communicate directly with the motor controller?
- Is the motor controller of my mount the source of the communication problems? (but then, why would it work when driven by the hand-controller?)
- Faulty FTDI breakout board?
I dabbled with homemade EQDir cables myself, never did trust their reliability. I got a Lynx EQDir cable and have no issues with it. However I found I have to connect it directly to one of the Pi's usb ports. For some reason it does not like to work reliably through my powered usb hub.
I also have a home made EQBT device to connect to the mount via Bluetooth. I used an HC-05, and it works very well, it is my default configuration.
INDI/KStars on Raspberry Pi 4, 4gb
Raspbian Buster with AstroPi3 script configuration
Skywatcher HEQ5 Pro Mount
Canon 600D Camera
Orion SSAG/ASI120mm @280mm Guide Scope
Waveshare Stepper Motor Board - DIY Focuser
Adafruit GPS Module
Generic Bluetooth Joystick.
Startech 7 port powered USB Hub.
I’ll second that. I have been using a Pierro Astro EQMod cable for over 2 years now and it works flawlessly on Linux and Mac. Also direct connections only and not so well via a USB hub.
As for using the USB to serial controller directly on the mount: the hand controller actually does some “translation” (for want of a better word) that the USB to serial cable doesn’t do. For this the FTDI chip in the EQMod cable is needed.
Wouter van Reeven
ASI6200MM and 7 slot 2" filter wheel with a SkyWatcher Esprit 80 ED on a SkyWatcher HEQ5-Pro
ASI1600MM-Pro Cooled and 5 slot 1.25" filter wheel with an 8" TS Ritchey-Chrétien on a SkyWatcher EQ6-R
Thank you Andrew and Wouter,
Considering your experiences, a proper -not DIY- EQDir cable is worth a try then. I'll go ahead and order one (regretting not having done it from the beginning ).
In the meantime, I'm playing with an EQ-BT module I bought some time ago. Previously I had experienced slow and buggy communication issues with it. Now guess what... I tried it again today and is working perfectly. The only other change I did was replacing the power supply of the mount (12V 5A) by the one I was using for the camera cooler (also 12V 5A). Could it be that one is better than the other? Both are cheap laptop-type power adapters, but maybe one is less noisy... I'll keep testing and will report back. It would be quite ironic if this ends up being yet another power supply issue after all.
There is nothing wrong wit DIY cables. Just make sure :-
1. Its a "real" FDTI or CH340G or CP201. The only real advantage of the FDTI chip is hat they are all unique (have a unique serial number) so no problem using more than 1 on the same PC.
2. Voltage - incorrect voltage (3.3 instead or 5v) is bound to cause problems on mounts that require a fixed voltage - e.g. my eq6gt can use both 5v and 3.3v but many are just 3.3v or 5V. Some will still work but bye bye mount board or USB adapter or funnies.
3. Ground - common ground - this is vital for most connection to work as its used as a reference point. This is a common problem and can cause many different problems.
4. Speed - a lot of the cheaper adapters quote speeds that really they can't support - having said that most USB adapters run very happily at 9600 which most mounts are happy with too.
5. Understand the difference between RS232 and TTL - RS232 voltage level are very high and will damage your mount.
6. SW Handsets in "relay mode" (PC Dircet) do not do any translation of software commands just convert RS232 signals from your "PC" to TTL. The latest handset firmware is just better at working this way. You cannot use the same USB TTL adapter between the handset and the mount (it wouldn't work) and it should not work from the PC to the handset port as this is RS232 voltage levels.
7. Clean power supplies - for "home" use I use "ham Radio" power supplies but PC ATX power supplies are just as good. No spikes! Battery power is another subject.
Buying the correct EQDIR adapter for your mount will be just as good as DIY just cost you more (make sure its not he older Prolific chip - most aren't now days)
Following up on my previous post:
I did more testing with the EQ BT and in fact the power supply was the cause of the communication problems, at least for that interface. Tried my former supply again it was a disaster, couldn't even park the mount after some bumpy goto's. Replaced it again by the other and no problems at all. Funny thing is the later looks cheaper.
I tried my DIY FTDI cable with the hope it will also work with the better power supply, but it was still erratic. Less than before I think, but not as good as either the USB-Serial to handset interface or the EQ BT.
The good news is the EQ BT might be the solution for me now (and it was what I wanted when I bought it, so even better). I'll see if I can try it under the stars tonight.
Non-DIY products are only DIY products the reseller tries not to get back from customers
I completely agree with @stash here. I'll also add that noise on the supply and data lines is an important factor, and requires cleanup using adequate capacitors.
As an example, at some point in my setup I had installed powerline devices to work around wifi range issues: the noise produced by the outlet operation made the link completely unstable.
Because the protocol handlers are relatively intolerant on both ends, communications errors will often be fatal to the connection.
The best is to look at the interface signals with an oscilloscope.
HEQ5-Pro - Atik 314E - Orion ED80T - DMK21 on Orion 50mm
DIY 3D-printed Moonlite and FWheel RGB/LPR
KStars and indiserver on two Atom 1.6GHz 1GB RAM Linux, VPN remote access
Thanks tallfurryman, yes, noise in the supply, and probably also differences in ground levels across supplies, corrupted communications in my case. Now, don't get me started on the weak communication protocol implemented by skywatcher... no error correction, not even a simple checksum at the end (honestly, what were they thinking when they decided not to use any of the available standards). Ultimately, that is what makes communications very vulnerable.
Luckily, my problems are sorted out now. I bought a much better and bigger power supply (Meanwell 12V 12.5A) and I'm powering everything from it. In my case that is the mount, asi1600 cooler and the Pi via a 2.6A 12v to 5v USB cigarette plug (it even has a second 2.6A USB port for future use). That supply leaves a lot of room for future devices as well (I'll post a couple of pictures of the connections later in case they are useful for others)
Communications via a Bluetooth EqDir dongle have been flawless, literally no errors in logs whatsoever.
Just to give proper closure to the thread I started... Here are some pictures of my current setup, including the box I put together to distribute power to the mount and camera cooler and supply 5v to the Raspberry Pi from a common 12v input.
As I commented earlier, I'm now using a Meanwell 12V 12A power supply. I fitted it with a long cable ending in a 5.5 x 2.1mm plug. I know there are better connectors, but in this way I can still use it directly into the mount if necessary (without modifying the mount). I also feel I rather see the cable disconnect itself if accidentally pulled.
The box is thus fitted with a female 5.5 x 2.1 mm plug input. It could be alternatively sourced from a 12v battery. Here some views of the inside:
You can see the stripped HP 2x USB cigarette plug supply (sorry for my messy soldering job). There is still room in the wago connectors to supply for an additional 12v output.
This is the box assembled, the cables for the mount and the camera cooler come directly from the inside (no connector):
And here is the box attached to the moving RA arm of the HEQ5 pro via a velcro strip:
The input cable comes from below. USB supply cable for the Raspberry Pi (which is attached behind the telescope in the first picture) and 12v cable for the camera cooler have a loop to allow for DEC movement and are rooted through an elastic band below the telescope saddle. The 12v for the mount goes around the RA arm to the mount input (as seen in second picture). The box remains permanently attached to the mount.
I'm extremely happy with the results, and still amazed at how much a good power supply can improve things.