Valve amplifiers

Why do valve amps sound "better"? Distortion, its that simple.  In fact you can design valve amps and remove most of the distortion they tend to have and they then loose all of that warmth that audiophiles claim makes them better.  However the truth of it is that the warmth is simply a distortion imperfection in […]

Read More

DC Motor Types

  DC Brushed Motors The original DC motor and still the best suited for many applications.   You get bags or torque by giving it current (they develop a maximum torque when stationary, linearly decreasing as speed increases). Brushed DC motors generally have lots of commutators.  This means they are often superior for low RPM […]

Read More

Modbus Apps

Free sourceforge.net/projects/qmodmaster/ Nice interface but only works with single register values (no float, ASCII strings etc support) https://github.com/SciFiDryer/ModbusMechanic GUI tool for reading and testing MODBUS TCP and RTU instruments. https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Handy for converting values Paid simplymodbus.ca/RTUmaster.htm Poor operation in Windows 7 but does actually work and does support multi register values so actually a very handy app and […]

Read More

Function 16 Write Multiple Registers

Modbus RTU Function 16 'Preset Multiple Registers' To write 3 words (48 bits) to 3 consecutive registers you send the following: Byte 0 Modbus Device Address (1 to 247) Byte 1 Function Code / Message Type (0x10) Byte 2 Start Register Number (high byte) Byte 3 Start Register Number (low byte) Byte 4 Number of registers to write(high byte) […]

Read More

Function 06 Write Single Register

Modbus RTU Function 06 'Preset Single Register' To write a word (16 bits) to a register you send the following: Byte 0 Modbus Device Address (1 to 247) Byte 1 Function Code / Message Type (0x06) Byte 2 Register Number (high byte) Byte 3 Register Number (low byte) Byte 4 Data0 Byte 5 Data1 Byte […]

Read More

Function 03 Read Holding Registers

Modbus RTU Function 03 'Read Holding Registers' To read a word (16 bits) from a register you send the following: Byte 0 Modbus Device Address (1 to 247) Byte 1 Function Code / Message Type (0x03) Byte 2 Register Number (high byte) Byte 3 Register Number (low byte) Byte 4 Data Length (high byte, specified […]

Read More

Modbus Comms General

Resources modbus.org Modbus Application Protocol Describes function codes modbus.org Modbus over Serial Line Specification and Implementation Guide Register Addressing The Modbus register number should really be thought of as an offset rather than an address, as different vendors can use different register addressing schemes.  Firstly registers may start from 0 for some devices and 1 for others. The register addressing […]

Read More

Modbus TCP/IP

Resources Acromag Introduction To Modbus TCP/IP Has a good explanation of how a RTU serial packet is transferred over TCP/IP modbus.org​ Modbus Messaging On TCP/IP Implementation Guide Simply Modbus TCP Page Open Modbus/TCP Specification        

Read More

USB HID Report Descriptors

USB Org resources The full spec and downloadable tables etc can be found here (Device Class Definition for HID). Get the 'HID descriptor tool' from the same page to help create descriptors – very handy!!! Overview A USB HID Report Descriptor is requested by a USB host from a USB device.  It tells the host […]

Read More

Breadboard

Capacitance between breadboard contacts EEVblog Dave answered this question in the episode here. The quick answer is that for a pair of 5 contact strips next to each other the capacitance between them was close to 2pF across a range of difference boards.  Jumping a strip, so you leave an empty one in the middle, halved the capacitance. […]

Read More