Icom CI-V stepper

← WEB

Icom CI-V stepper allows tuning with stepper motor Nema 17 some devices dependancy to Icom frequency

Quick start guide(Edit)

  1. Connect hardware
    1. Stepper
    2. Endstop switch
    3. 24V DC power Supply
    4. TX inhibit output
    5. CI-V
  2. Configure over USB CLI

Connect(Edit)

Endstop(Edit)

Switch for calibrate start point motor stepper (zero step, zero °). After start up stepper spins reverse ↺ and wait for endstop signal who stops him and resets counters.

Stepper(Edit)

Connect two phase NEMA 17 stepper motor. Another type not supported. One of the phases is known by the ohmmeter. Another phase is isolated.

  • If stepper rotate reverse, you can change polarity one phase or activare reverse from CLI.

BCD input(Edit)

Activate by grounded +5V pull-up.

CAT(Edit)

Connected to Icom or MicroHam CI-V outputs.

TX Inhibit output(Edit)

Open collector without pull-up.

Power supply(Edit)

24V with 1A power rating. Lowest voltage accepted, but stepper lower torque.

USB Command Line Interface (CLI)(Edit)

How to connect(Edit)

  • Connect USB micro cable between CLI stepper and your PC
  • install PuTTY terminal
  • after run it set
    • com port dependency to your system
    • baudrate to 115200
    • Connection type to Serial
    • In Terminal category turn off options Implicit CR and Implicit LF by picture
    • press Open

CLI commands(Edit)

After open PuTTY press character ? who show actual setting and available command

Secure remote manage(Edit)

Configuration available via serial CLI (command line interface). This interface can be safely accessed to the Internet and encrypted connections to manage all features

What you need

  • any version Raspberry PI
  • microSD card with Raspbian Lite
  • micro USB cable
  • 5V power adapter with micro usb cable
  • ethernet connection
  • for first start HDMI monitor and USB keyboard

How to start

  • after first boot login to serial console with default login pi and password raspberry
  • run command and enable SSH
    sudo raspi-config
  • run command and write down the shown IP address
    ip a
  • you can disconnect HDMI monitor and USB keyboard
  • connect to Raspberry PI from any other PC
  • update system with run command
    sudo apt-get update && sudo apt-get upgrade
  • install screen fith command
    sudo apt-get install screen
  • run screen
    screen /dev/ttyUSB0 115200
  • now after pres ? key show status information and you can configure via CLI
  • close screen with CTRL+A K and confirm y
  • disconnect from Raspberry PI use command
    exit

Firmware(Edit)

For upload firmware you have two possibilities

  1. Download source from GitHub and compile in Arduino IDE
    1. Install EEPROM library
  2. Download compiled binary from release page and upload with some tool
    1. for example avrdude or Xloader for windows

Firmware source(Edit)

contains some settings which does not available from CLI

  • You can enter frequency and uStep directly in to firmware without CLI wizard. How to
    • Disable preset coment line
      //#define RestoreMemoryFromEeprom
    • Write frequency and uSteps i to array
      unsigned long StorageFreqToStep[112][2] = {
        {7000000, 0},
        {7010000, 500},
        {7020000, 1000},
        {7030000, 1500},
        {7040000, 2000},
        ..
    • Upload firmware
    • Select BCD input to bank-0 (must be, because only bank-0 saved also frequency, higest bank saved uStep only)
    • Save frequency/uStep table from RAM to EEPROM with command s in CLI
    • Replay edit table, upload and save for any higher bank
    • After fill EEPROM to your liking, enable command in source file
      #define RestoreMemoryFromEeprom
    • After upload frequency/uStep table will be set by preset selected bank. For more info use command l or e in CLI.
  • Time (second number in ms) after which reduce stepper current and save last position to eeprom, if disable endstop
    long CurrentRunTimeout[2] = {0,1000};
  • Enable serial debug if uncoment this line
    #define SERIAL_debug
  • CLI baudrate, default is 115200
    const int BAUDRATE0 = 115200;