Excuse, excuses, but also good news

Just some brief excuses then some good news.  Firstly over the last 6 months we have been going through repeated iterations of the RP2040 Comms Controller module due to a problematic yield rate in manufacturing,  Manufacturing of the electronics has two parts, apart from testing and final assembly.  First is the surface mount part, and after that is the through hole mount part.  The surface mount part involves applying a solder paste to a bare Printed Circuit Board (PCB) using a stainless steel stencil.  The paste is made of solder dust and a sticky flux with the consistency of treacle but not as sticky.  A machine then picks tiny parts from many reels of parts with a tiny sucker nozzle and rotates them to the correct orientation as it moves the nozzle to the place they need to be place the part onto the PCB and pops them down onto the PCB.  They lightly stick to the small very thin pad of solder paste on the PCB.  This is repeated many times per second until all the parts have been placed.  The PCB goes into a reflow machine to melt the solder paste and when it cools the parts are beautifully soldered to the PCB.  Next the through hole parts (parts with wire legs which go into holes on the PCB).  The PCBs go through a wave soldering machine that pumps molten solder up into a standing wave about 1cm (half inch) high that the PCB passes through, kissing the top of the wave, this beautifully solders the component leads into the tiny holes.  We use through hole components for things like connectors because of the mechanical strength provided by them being soldered into holes in the PCB.  Surface mount connectors do exist but are unlikely to withstand the rigors of an industrial environment.

That describes the perfect world of manufacturing.  We had that until we moved to lead free solder (good for the environment).  Some of the components we use are very small subsystems themselves that contain their own microcontrollers and either don’t like the much higher temperatures required by the almost pure tin solder or do not solder as reliably as with tin/lead solder.  We made many changes to the footprint of the subsystems and the surface mount process, most requiring a change to the PCB, and have just arrived at what we believe to be a reliable and consistent process with an almost 100% yield.  It is so labor intensive and next to impossible to fix bad surface mount soldering issues that anything less 100% increases the average cost.  Unfortunately this process has taken months and months.  The wave soldering has always worked like a charm.  So you may ask “why don’t we use that for all the components” – the final module would be at least twice the size and twice as expensive.  We feel we will be up and running with stock in a week or so.

Meanwhile we have not been idle, we are enhancing ChamNet, getting it ready for release soon, and expanding the SmartArm series.  The first SmartArm now has 4A stepper drivers for each of its 5 channels as do the two new SmartArm expander modules which have 3 and 7 stepper driver channels.  The 7 Channel one gives up 3 servo channels, and the 3 channel version has 4 external stepper driver signals to control 4 faster and more powerful external drivers, while retaining the 6 servo channels.  These expanders require ChamNet and will be release in a month or so.  We believe these are the most dense synchronized motor control modules available; they not only synchronize all the various motor types in a module but synchronize multiple modules.  ChamNet allows each motor channel to look like a software object to the user’s code, regardless of where it is physically, maybe 300m (1000 feet) from the controller.  Each channel has properties, like max current and top speed, and method parameters like run speed or destination.  It uses two simple non-blocking functions to access the objects, CN_read() and CN_write(), that interface with the ChamNet messaging system to get the data to and from the hardware and initiate motion.

Motion status info uses the Event Messaging part of ChamNet that allows the user code to run in an event driven mode that obviates polling, much like multiple interrupts for each property, or multithreading with polling, but much easier and faster running, and not to mention simpler to code.

The foundation of ChamNet is a semi-graphic definition at an enterprise level all the controllers and extender modules in a complete system down the individual object (channel) properties and methods, along with their initialization.  This is translated into data bases that allow ChamNet communication between controllers and objects from and to any point in the entire system.  This is achieved without the user ever specifying addresses or which of the three communications type WiFi/Ethernet, LoRa, or RS485 in code.  The user simply uses the compound ID name assembled from names in the graphic system definition to specify the system object and property or method and provides data or gets data from the CN_write() or CN_read() functions.  ChamNet makes enterprise automation feasible with previously unimagined ease.

Back to blog