EQ6/EQG/Atlas Mod Circuits


 

EQ6/ATLAS/EQG MOD FOR DIRECT

STEPPER MOTOR ACCESS

* Note: This is a mirror site of the original which can be founder here. If ads start to pop-up that means this site already has utilized  its monthly alloted bandwidth. You can visit this site instead.

DISCLAIMER:

You can use the information on this site COMPLETELY AT YOUR OWN RISK.  The modification steps and other information on this site  is provided to you "AS IS" and WITHOUT WARRANTY OF ANY KIND, express, statutory, implied or otherwise, including without limitation any warranty of merchantability or fitness for any particular or intended purpose. In no event the author will  be liable for any direct, indirect, punitive, special, incidental or consequential damages or loss of any kind whether or not the author  has been advised of the possibility of such loss.

WARNING:

Circuit modifications implemented on your setup could invalidate any warranty that you may have. Use this information at your own risk. The modifications involve direct access to the stepper motor controls of your mount. Any "mis-control" or "mis-command"  / "invalid parameter" or "garbage" data sent to the mount could accidentally activate the stepper motors and allow it to rotate "freely" damaging any equipment connected to your mount. It is also possible that any garbage or invalid data sent to the mount could cause its firmware to generate mis-steps pulse sequences to the motors causing it to overheat. Make sure that you perform the modifications and testing while there is no physical "load" or dangling wires on your mount. Be sure to disconnect the power once this event happens or if you notice any unusual sound coming from the motor assembly.

Circuit Modification Objective

The modification allows the user to control the mount's stepper motor board via the PC's serial connector. The mod is implemented on the handcontroller utilizing the existing RJ11 PC serial interface connector and its built-in RS232C to TTL level converter. This will avoid any external circuit required to connect the mount's DB9 TTL level connector to the PC's serial port.

 Any PC application or software can now be coded to control the mount's stepper motors (Figure 1).

 

Figure 1: Mod Block Diagram

 

Mode of Operation

The mod circuit utilizes a Quad 2-1 Multipexer 74HC157   (Figure 2) that switches serial signals between the PIC controller of the paddle and the mount and PC. The mode of operation is set through an external SPST toggle switch;

Toggle Switch OFF:   Normal Mode

     PC communicates directly to the paddle's PIC controller, Mount controller is also connected to the

     Paddle's PIC controller

Toggle Switch ON:  Extended Mode

    The PC serial lines is connected directly to the mount's serial lines allowing the user to a control the mount's stepper motors.

    controller (See Figure 2).

 

Figure 2: Serial Data path during "Normal Mode" and "Extended Mode"

 

Mod Circuit Diagram

Below is a diagram of the modification (Figure 3). It shows the connections of the individual multiplexer component of the 74HC157 chip to the respective pinouts and tap markings of the handcontroller board. Also, pinout labels of the actual chip with respect to the circuit diagram is also shown. Use this as a reference in connecting the wires to the board.

 

Figure 3: Mod Circuit diagram

 

Circuit Mod TAP points

 

Figure 4: Mod circuit board Tap/Cut points

The tap points image (Figure 4) shows were to solder the wires as labeled in the circuit diagram. It also shows which part of the board patterns need to be cut. The power and ground line is obtained from the the output pin of the 7805 +5V voltage regulator (Tap point K and L).

Figure 4a shows the tap points for an "older version" of the controller. The only thing that is different from the newer version are the location of tap points "A" and "C". The other tap points and cut points are pretty much the same.

Figure 4a: Mod circuit board Tap/Cut points for an "older" version of the controller

 

Circuit Mod Parts List

1 pc.   74HC157  ( 2-input QUAD Multiplexer)

              * Alternate chip would be : 74LS157 or 74HCT157

1 p.c  SPST Toggle Switch (the smallest you can get)

1 pc.  10Kohm 1/4 resistor

1 set.  wires  (type commonly used for wirewrapping)

1 Soldering Iron and a good quality soldering Lead

1 Screwdriver

1 Knife cutter (used for cutting board patterns)

1 Double Adhesive tape or Glue

1 Long Nose pliers

1 Wire Cutter pliers

1 Circuit tester / VOM Meter

1 Drill for toggle switch hole mounting

 

Construction

1. Remove the four rear screws and the  back cover of the handpaddle to expose the circuit board

2. Look at the board circuity and compare it with the actual images presented above (Figure 4).

   If there are any differences then you may have to determine the actual tap/cut points yourself based on the circuit above (Figure 3). You may need to utilize a circuit continuity tester for this.

 3. TRIM the pins of the 74HC157 (all 16 of them) and leave some length of the pin  for the wires to be soldered on it. Removing the excess part of each pin will allow you to piggyback the 74HC157 chip on top of the paddle's PIC controller (the largest square IC on the paddle). Refer to Figure 5 for the actual chip mounting. Make sure that you dont touch any of the pins of the IC as this is a CMOS chip which is very sensitive to static electricity.

 

Figure 5: Chip mounting and tap points

 

4. Using double adhesive tape, mount the 74HC157 chip on top of the PIC chip (refer to figure 5). Take note of the "PIN 1" orientation of the 74HC157  using the chip's "notch" as a reference.

5. Using a sharp knife cutter (or any blunt tool), cut the indicated patterns on the PCB. Make sure that only the indicated patterns are cut and that you dont scratch the board patterns near the area. Figure 5 shows which patterns needed to be cut. The actual lines are actually indicated in the circuit diagram (figure 3).

There are actually 4 patterns to cut. Two of them are near the PIC controller chip pins (figure 6) and the other two are on the MAX232 chip side (figure 7).

 

Figure 6: Cut points on the PIC Controller side

 

Figure 7: Cut Points (MAX232 side)

 

6. At this point you can now solder the wires on the 74HC157 and the respective tap points on the controller. One thing to watch for is the soldering of the 4 wires on Tap Points B, H, E, J (figure 4 and figure 8) on the PIC controller of the paddle as this may be difficult specially if the soldering iron tip is not that sharp. A good approach is to "thin" (from solder thinning) the end of the wires first with a small amount of solder. Then place the tip of the wire on one of the PIC pins and tap the tip of the wire with the soldering iron. Eventually the wire will stick on the pin. Avoid using the soldering lead wire directly on the PIC pins as the melting solder will eventually fuse the adjoining pins of the PIC. (If this happens, you need to clean the connection using the soldering iron and a good amount of soldering paste).

Continue soldering the rest of the wires while referring to the circuit diagram (figures 4,8,9).

It would be better if you use color-coded wires;

  RED : (+5V Vcc taps)

  BLACK :  GND Taps

  BLUE : Signal Lines

 

Figure 8: Tapping on the 4 pins of the PIC controller

 

Figure 9: Tapping on the 2 pins of the MAX232 chip (tap point D and G) and the two chip resistors (tap point A and C).

 

7. Solder the 10Kohm pull-up resistor on pins 1 (mux sel pin)  and pin 16 (VCC +5V pin) of the 74HC157. Refer to figure 10.

   Make sure the height of the resistor does not go over the height of the 74HC157 chip or you may not be able to put back the rear cover of the handcontroller.

 

Figure 10.  10kohm Pull-up resitor mounting.

8. Locating for the position of the switch is quite difficult as you need to look for the right space inside the paddle. Eventually i found one at top of the LCD board (figure 11). It might be different on some installations depending on the size and type of switch you obtained. Drill a hole on the backplate of the paddle (drill size depending on the purchased switch). Mount the SPST toggle switch as shown (figure 12) and use enough wire to connect the switch on the mux chip (pins 1 and 16 of the 74HC157);

 

Figure 11: Looking for a place for the switch on the paddle

 

Figure 12. Toggle Switch mounting

 

Also, TAKE NOTE of the switch's ON and OFF position before you put back the cover.  You could put a label at the back of the cover.

OFF - NORMAL MODE

ON - EXTENDED MODE

 

Checking for any "Shorted Connections"

Checking is basically done by looking at the solder points "visually" and checking the connections using a circuit tester (better if you can use a tester that emits an audible beep indicating a good connection or a "short" ).

 

Wrapping up the Construction Process

At this point you can now put the rear cover back on the paddle and make sure the switch body fits snuggly on the alloted space (figure 12).

Here are more of the  construction images ;

 

Figure 13: Completed mod of the paddle

 

Figure 14:  "wide field" view of the mod

 

Figure 15: Paddle with the rear cover mounted showing a portion of the toggle switch.

 

TESTING YOUR MODIFIED PADDLE

1. Boot-up test

One quick test is connect your paddle to the mount using the usual DB9 coiled cable and apply the usual 12V power to your setup. The switch should be at the "OFF" (NORMAL MODE) position. If everything is OK, the paddle should boot-up normally and it will display the usual firmware version. You should also test the paddle's functionality (slew, goto, etc.) and should be working in the same state and condition prior to the implementation of the modification. Any problem on the circuit modification would result to a "COMM Error" message on the paddle.

2. RS232-C Communication Test

Connect the RJ11 port of your paddle to your PC or laptop computer and  put the the paddle in RS232C mode (not needed for version 3 and up).  With the toggle switch still at the "OFF" position (NORMAL Mode), connect you usual planetarium program and try do some telescope slewing tests.

3. Extended Mode Communication Test

If you reached this part, then we could say that half of the mod's intention is already working. The other half is putting the toggle switch in the "ON" position and testing the "EXTENDED" mode portion of the mod. This is basically sending and receiving stepper motor control commands  directly to the mount using the same RJ11 connector. On this part, you need to use a serial terminal software (Hyperterm , etc.) for this test and the paddle should be connected to the PC using the usual RJ11 connector.

  - After the usual boot-up sequence, toggle the switch to the ON position

  - Activate Hyperterm and select the actual COM Port (not the modem name)  where the RJ11 port is connected to your PC

  - Select the correct serial port settings ; 9600 Baud, 8Bit data, 1 bit parity, Flow control OFF

    Type in the mount command :

   :a1
 

    Then press enter. (That is a byte sequence in hexadecimal   0x3a 0x61 0x31 0x0d  of the command).

    The mount should reply back with a 32BIT hexadecimal number;

   =00B289


    If you get the 32bit number reply then Congratulations ! You have just completed successfully your circuit mod project.

 

SOFTWARE DRIVER (EQContrl.DLL)

Access to the mount stepper functions can be done using function calls from a software driver (EQContrl.dll) loaded at runtrime with your application. It contains all the necessary stubs to control the PC's RS232C port and the command processing modules.

The driver package can be downloaded here;

     EQContrlDLL_10a.zip

It contains the following files;

   EQContrl.DLL, EQContrl.bas, EQContrl.h, and a couple of documents.

You can get the sample VB Tester application here;

     EQControlDriver_V100c.zip

A simple Developer's Guide can be found here.

The sample VB application is included (with source code)  that demonstrates the use of the DLL driver and a couple of documentations that enumerates all the functions supported by the driver.

The sample VB application contains buttons that individually calls the functions in the DLL. The buttons has to be clicked 'in sequence' - Connect --> Init --> ....otherfunctions-->...... ---> Close.

Below is a screen capture (Figure 16) of the VB test program with the EQCONTRL.DLL loaded;

Figure 16: VB Test program demonstrating all the DLL function calls including parameter passing and function results

For you to be able to use it with the ASCOM codes or your own individual code, just copy "eqcontrl.bas"  and "eqcontrol.dll" on the project directory of the project source codes. You then load the eqcontrl.bas file as a 'module' on the vb project (or use the usual DLL calling conventions in C/C++/C# codes. From there, you can now call the functions using the same convention as demonstrated on the above sample VB application.

EQGUIDER

A Sample LX200 Emulator EQ VARIABLE RATE GUIDER  is also coded to demonstrate the DLL functions. You can also check the source code for this program and see how the EQcontrl.dll functions were used.

The Guiderates for DEC and RA can be set independently between 0.1 to 0.9 times the sidreal rate  Figure 17 is a screen shot of the guider program. It also include slew buttons with rates adjustable from 1 to 800 times  the sidreal rate

Details of the EQ Guider can be found here.

Other ideas for the EQ Guider can be found here.

Figure 17: LX200 Emulator Variable rate guider screen shot

Encoder Values to RA/DEC/ALT/AZ Conversion

A sample application is also available that shows you how to convert the stepper values to RA/DEC/ALT/AZ coordinates and vice versa. Figure 18 Shows a screenshot of the RA/DEC/ALT/AZ conversion test program;

Figure 18: Screen shot of the Encoder to RA/DEC/ALT/AZ Conversion Test program

Details of the application can be found here.

You can download the program including the source codes here;

EQ_RADECALTAZ_v01.zip

EQCONTRL.DLL FUNCTION Prototype Listing (details in the driver file readme.txt);

' Intialize Mount / Driver
DWORD EQ_Init(char *comportname,DWORD baud,DWORD timeout, DWORD retry)

' Disconnect Driver
DWORD EQ_End()

' Initialize motors , activate coils, and set initial values for the RA/DEC Encoders/Counter
DWORD EQ_InitMotors(DWORD RA_val, DWORD DEC_val)

' Stop RA/DEC Motors ; motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_MotorStop(DWORD motor_id)

' Get RA/DEC Motors status ; motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_GetMotorStatus(DWORD motor_id)

' Move motors based on number of microsteps ; motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_StartMoveMotor(DWORD motor_id, DWORD hemisphere, DWORD direction,  DWORD steps, DWORD stepslowdown)

' Read current 24BIT motor microstep counter ; motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_GetMotorValues(DWORD motor_id)

' Set 24BIT motor microstep counter to new values ; motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_SetMotorValues(DWORD motor_id, DWORD motor_val)

' Slew RA/DEC Motors based on Slew rate (1x to 800x of Sidreal)
DWORD EQ_Slew(DWORD motor_id, DWORD hemisphere, DWORD direction, DWORD rate)

' Start Equatorial RA tracking (trackrate: 0 - Sidreal, 1 - Lunar, 2 - Solar)
DWORD EQ_StartRATrack(DWORD trackrate, DWORD hemisphere, DWORD direction)

' Adjust tracking rate (guider rate: 0 - 9  x10% of trackrate)
DWORD EQ_SendGuideRate(DWORD motor_id, DWORD trackrate, DWORD guiderate, DWORD guidedir, DWORD hemisphere, DWORD direction)

' Precise trackrate adjustment using track timer offset
DWORD EQ_SendCustomTrackRate(DWORD motor_id, DWORD trackrate, DWORD trackoffset, DWORD trackdir, DWORD hemisphere, DWORD direction)

' Set Mount's autoguider port rate : motor_id = 0 for RA, motor_id = 1 for DEC
DWORD EQ_SetAutoguiderPortRate(DWORD motor_id, DWORD portguiderate)

' Get RA/DEC total microstep count for a 360 degree rotation
DWORD EQ_GetTotal360microstep(DWORD motor_id)

' Get current mount version
DWORD EQ_GetMountVersion()

' Get Mount/Driver Status
DWORD EQ_GetMountStatus()

EQMOD ASCOM DRIVER

The driver is now available for testing. It can be downloaded at the EQ6 Yahoo Groups Files section under EQMOD folder or simply send an email to the address below;

The page that describes the driver functionalities can be found here.

EQMOD Driver Screen Shot:

 

SAMPLE MODs made by other users

Here is one version from Andrej Mraz using a different mount point for the three components. The toggle switch is actually facing at the front side of the paddle.


 

OTHER OPTIONS TO CONNECT DIRECTLY TO THE MOUNT

It is also possible to connect your PC to the mount without the handcontroller mod in between. This option is provided for people who would want to avoid modifying the handpaddle. The EQContrl DLL Driver will also work here.

The  page that decribes this option can be found here.

A Readymade Mod Circuit for the EQMOD driver

Shoestring Astronomy has introduced a ready made commercial  version of EQDIRECT called EQDIR.  This was made possible by Mr. Doug Anderson of Shoestring Astronomy.

You may contact him at sales@shoestringastronomy.com

Below is an image of Shoestring Astronomy's EQDIR:

EQDIR INTERFACING FOR RJ45 CONNECTOR STYLE MOUNTS

It is also possible to use the EQDIR product on mounts with 8-pin RJ45 type handcontrol interface. You only need to produce cable (cable diagram here) or get the readymade one (EQCBL-01) from ShoestringAstronomy.

TEST IMAGES

Below is a test image captured using the EQMOD-ASCOM driver. More images can be found here;

 

CREDITS

Portions of the information on this site should be attributed to Mr. John Archbold from his initial observations and analysis of the interface circuits and of the ASCII data stream between the Hand Controller (HC) and the Go To Controller.

QUESTIONS AND INQUIRIES

   Email your questions at circuitmod@yahoo.com

DISCLAIMER:

You can use the information on this site COMPLETELY AT YOUR OWN RISK.  The modification steps and other information on this site  is provided to you "AS IS" and WITHOUT WARRANTY OF ANY KIND, express, statutory, implied or otherwise, including without limitation any warranty of merchantability or fitness for any particular or intended purpose. In no event the author will  be liable for any direct, indirect, punitive, special, incidental or consequential damages or loss of any kind whether or not the author  has been advised of the possibility of such loss.


 
 

Create a free website at Webs.com