EmonTx3 v3.4 ‘wired’ implementation

Introduction

EmonTx3 is a measurement node for an energy measurement system. It has measurement inputs for 4 current transformers, AC voltage, 6 DS1820B temperature sensors and a meter pulse counting sensor.

The standard configuration uses a HopeRF RFM69CW radio transceiver to emonhub running on some host.

This article describes modifications to the system to use a wired serial connection to the emonhub host.

Above is the emonTx3 board.

The approach taken is a minimal change to existing firmware and software, no change to existing hardware, and inexpensive components to extend the connection.

Outline of the solution

The existing firmware writes a debug stream to the connector used for firmware upgrade. It is a different format to that used for the radio link, and there are good reasons for that, but it means writing an interface handler for emonhub to parse the debug stream.

emonTx V3.4 Discrete Sampling V2.80
OpenEnergyMonitor.org

No EEPROM config
RFM69CW Node: 8 Freq: 433Mhz Group: 210

ct1:-51,ct2:0,ct3:0,ct4:0,vrms:23910,pulse:0,t0:223
ct1:-71,ct2:0,ct3:0,ct4:0,vrms:23924,pulse:0,t0:223
ct1:-6,ct2:0,ct3:0,ct4:0,vrms:23921,pulse:0,t0:223

The solution involves some hardware to interface the emonTx3 to the wire line, and a similar interface at the other end to the host running emonhub.

Hardware

Above is the debug stream from the modified firmware.
Above is an adapter (~$3) from the TTL levels of the UART port to RS485. The port is currently run at 115200bps, and that can be carried 800m with good noise immunity on good copper using RS485.

USB-485-10

Above is the host end adapter.

Firmware changes

The firmware was changed to repurpose the output that may be used for switching power to the DS19B20 sensors, it is now used primarily as an RTS signal to the RS485 adapter to reduce current consumption when there is no traffic. In fact, the RTS signal has been asserted also at times when the DS18B20 sensors are read and it could also be used for its original purpose without conflict.

Host changes

Assigning a consistent name to the RS485 adapter

A problem with USB serial adapters is that they may acquire different device names depending on the order in which they are started.

This is solved in this solution by use of FTDI adapters which have a serial number that uniquely identifies the adapter, and setting udev rules to assign a consistent symbolic link to the device. It is this symbolic link that is used in emonhub.conf

The link is achieved by adding the file /etc/udev/rules.d/75-RS485.rules with the contents below (the contents must match the actual adapter).

#Assign fixed symlink to RS485 adapter for emonttx

SUBSYSTEM=="tty", ENV{ID_SERIAL}=="FTDI_FT232R_USB_UART_A9WRVDPD",SYMLINK+="ttyRS485-0"

The udevadm command will provide the information needed.

root@emonpi(rw):log# udevadm info -n /dev/ttyUSB0
P: /devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
S: serial/by-id/usb-FTDI_FT232R_USB_UART_A9WRVDPD-if00-port0
S: serial/by-path/platform-20980000.usb-usb-0:1.2:1.0-port0
S: ttyRS485-0
E: DEVLINKS=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9WRVDPD-if00-port0 /dev/serial/by-path/platform-20980000.usb-usb-0:1.2:1.0-port0 /dev/ttyRS485-0
E: DEVNAME=/dev/ttyUSB0
E: DEVPATH=/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0
E: ID_BUS=usb
E: ID_MODEL=FT232R_USB_UART
E: ID_MODEL_ENC=FT232R\x20USB\x20UART
E: ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC
E: ID_MODEL_ID=6001
E: ID_PATH=platform-20980000.usb-usb-0:1.2:1.0
E: ID_PATH_TAG=platform-20980000_usb-usb-0_1_2_1_0
E: ID_REVISION=0600
E: ID_SERIAL=FTDI_FT232R_USB_UART_A9WRVDPD
E: ID_SERIAL_SHORT=A9WRVDPD
E: ID_TYPE=generic
E: ID_USB_DRIVER=ftdi_sio
E: ID_USB_INTERFACES=:ffffff:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=FTDI
E: ID_VENDOR_ENC=FTDI
E: ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
E: ID_VENDOR_ID=0403
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=8089809829

Interfacer module to parse the debug stream

An additional interfacer module was written to parse the debug stream, and it was hooked to the main module.

The interfacer is configured in emonhub and port layout copied in from source.

(the contents must match the actual adapter).

#Assign fixed symlink to RS485 adapter for emonttx

SUBSYSTEM=="tty", ENV{DEVLINKS}=="*usb-FTDI_FT232R_USB_UART_A9WRVDPD*",SYMLINK+="ttyRS485-0"

Code source

Code source is available the original git emonhub repo, and in the following git repository forked from the official repo:

Test

The wired configuration is under test with emonhub installed on a Ubuntu server, and about 40m of cat5e cabling from emonTx3 to host. No issues have arisen.

References / links

EmonTx_V3.4

Loss in open wire + coax hybrid feed arrangements

I saw a question posed online about the merits of a proposed antenna system which used a hybrid feed arrangment as 15′ (sic) of the feed line needed to be buried.

Above is the poster’s diagram, and his posting lacked some important details so let’s make some assumptions. Lets assume the antenna is at 150′ in height above average ground, and since the dipole is long enough to be usable on 160m, let’s study it at 1.85MHz.

Input impedance of the dipole under that scenario is around 45-j400Ω.

Let’s consider two options:

  • a tuned feeder option (ie open wire line all the way to the ATU); and
  • the hybrid feed arrangement shown.

Let’s get serious and use home made open wire line made from 2mm diameter copper spaced 150mm. The very popular 19strand windowed ladder lines using CCS do not have sufficient copper to give copper like performance, the single core CCS is marginal. Continue reading Loss in open wire + coax hybrid feed arrangements

Exploiting your antenna analyser #27

An Insertion VSWR test gone wrong

We often learn more from failures than successes, this exercise is one of those opportunities.

An online poster tried to validate his newly purchased MFJ-918 by measuring Insertion VSWR.

That is done preferably by measuring a good termination (dummy load) to validate that it has a very low VSWR, then inserting the Device Under Test (DUT) and measuring the VSWR as a result of insertion of the DUT.

The poster did not mention measurement of the dummy load alone, and it is a type that warrants validation.

Above is the poster’s test setup, his Rigexpert AA-170 is connected to the balun’s input jack using a M-M adapter. The output wires on the balun form a rough circle of about 550mm perimeter by eye. Continue reading Exploiting your antenna analyser #27

Loss of windowed ladder line at MF/HF/VHF

A ham in the need of help recently asked for advice on eHam about the use of Wireman Ladder Line and the like.

After a fairly well considered, detailed and lengthy answer from on online expert, another online expert stepped in to confuse the matter with conflicting advice:

Wire resistance (loss due to current ) is not a factor with higher voltages typically seen in high impedance antenna feed applications. Attenuation loss is a factor depending on dielectric properties in VHF and UHF frequencies. Their is little skin effect below 50 MHz in wire antennas and feeds.

This comes down to line strength. I would go with the solid Copperweld for HF antenna work.

Let’s examine the above quote. Continue reading Loss of windowed ladder line at MF/HF/VHF

Messi & Paoloni Ultraflex 7 coax cable

Messi & Paoloni Ultraflex 7 coax cable is being marketed as similar to RG-213 in performance, but 7mm overall (against 10mm).

There is lots of comment by online experts questioning the claims, and critical of things like the braid coverage, copper foil etc, but without real evidence that it does not live up to specification.

Accepting the specifications for Ultraflex 7 and Belden 8267 (B8267, RG-213) for a moment, how do they compare.

Let’s take the loss factors calculated for TLLC and de-construct the conductor and dielectric loss for each line type.

Above is a comparison of the cables. Continue reading Messi & Paoloni Ultraflex 7 coax cable

WSPR checkout on new workstation

I have been building a new workstation and a simple test of its reliability for logging signals via the IC-7300 sound card is to run WSPR.

So, WSJT-X was configured for WSPR on 40m and run for 24h using the low G5RV inverted V dipole with tuned feeders (designed primarily as an NVIS antenna for local contacts).

Above is a map of the spots involving VK2OMD over the 24h survey. Continue reading WSPR checkout on new workstation

DS18B20 input for the generic heating / cooling controller

The generic heating / cooling controller (hcctl) is a flexible bang-bang thermostat controller based on an ATTiny25.

The project has been expanded to accept a Dallas / Maxim DS18B20 1-Wire temperature sensor. The DS18B20 produces a digital output (signed sixteenths of a degree) has a range of -85° to 125°, accuracy of about 0.5°, and costs a dollar for bare chips, a few dollars for an encapsulated probe.

Above is a development prototype with the DS18B20 being heated by a small incandescent dial lamp to test function.

Continue reading DS18B20 input for the generic heating / cooling controller

A Demagnetisation Risk Index for a sensorless brushless DC drive

The article Demagnetisation in a sensorless brushless DC drive gave a broad overview of demagnetisation in a sensorless brushless DC drives that depend on Zero Crossing (ZC) detection to synchronise the next commutation phase.

There is no widely recognised method of prediction whether a drive is at risk of excessive demagnetisation time, not even in the steady-state wide open throttle (WOT) scenario.

This article proposes a statistic that might be used as a risk indicator, it is dimensionless and approximately proportional to the ratio of energy stored in the self inductance of a coil to the energy consumed by the motor in the time available for demagnetisation. Continue reading A Demagnetisation Risk Index for a sensorless brushless DC drive

ic9350 updated to support 3040

Announcement: ic9350 is updated to v1.03 to add support for the Codan 3040 automatic antenna.

The ic9350 is protocol converter to permit use a Codan 9350 or 3040 automatic antenna with an Icom radio. Most Icom radios support the Icom AH-4 ATU, so the approach is to design a protocol converter that converts the protocol used by the 9350 and 3040 to the AH4 protocol to allow full integration with the Icom radios that support the AH-4.

The ic9350 Protocol Converter uses the interface uses the radio’s ATU interface in the way that Icom intended, and will not disrupt radio operation . Continue reading ic9350 updated to support 3040

Modifications for Jasic 200A TIG welder and pedal

In about 2009 I purchased a Uni-mig Jasic 200A TIG welder (though these are sold under many brands).

The welder came with unusual 2 and 5 pin connectors for the torch trigger switch and an optional pedal. The optional pedal was quoted at around $500, probably partly as the seller had locked the market up with the unusual connectors. (I note that the XS12K2P etc connectors are now available on Aliexpress.)

There is no standardisation of these connectors, but the pedal internals are pretty common. A quite common configuration is a 2 pin Foster (microphone) connector for the trigger switch and 3 pin Foster (microphone) connector for the current pot.

A further usability issue is that the pedal varies current from 5 to 200A, it is not possible to set the maximum current when the pedal is fully depressed. Continue reading Modifications for Jasic 200A TIG welder and pedal