This is the 3-port RS-485 Hat with full isolation. Kind of cool with a black PCB. I have an earlier 5 port (3 x RS485 + 2 x CAN), but decided I needed a isolated version for RS-X since I plan to deploy it with long wires.
This analogue input module uses a ADS1256 that allow 8 channel input with 24 bit precision and 30Kbps sampling rate. With a programmable gain amplifier 1:64, programmable filter and support for single or differential inputs as well as calibration this board can cover most ADC needs.
The input here can be 8 stand-alone channels or 4 differential channels. A stand-alone channel will measure voltage between input and ground, while a differential channel measure voltage between two points. The later is more flexible as it also can be used for current loops. The challenge is however that different usage require different line adaption circuitry, meaning we will need different analogue boards.
My primary focus is on typical analogue sensors like light, temperature etc. This example circuitry feed a voltage in that is split over 2 resistors with the sensor being the 2nd, variable resistor that changes with light, temperature etc. A typical ADC line driver is shown below:
This is the water sensor I illustrated earlier where we use a specialised PCB as a resistor. R1 need to scale the input so we get 0-3.3V out to the ADC. The capacitor is only a filter. More important is that we can Interface to this in two ways – we can create a 2 pin connector for the external resistor only, or we can supply +/- and expect an analogue value in. Many modern sensors will require the last 3 wire Interface as they provide their own specialised analogue interface.
The main drawback with this technique is that we can only have a limited distance between sensor and the ADC since the wire will start acting as a resistor that needs to be taken into account. A different analogue technique that can be used over 5km is a current loop – I will consider making a Board for that later. But, also remember that we have RS-X based sensors that can cover some distance in wiring.
This illustrate the Raspberry PI connectivity board. The PSU on top can be switched on/off so we can reboot RPI. The actual RPI will connect using a 40 pin Connector. I am not sure about the mechanics yet, but I am considering mounting it so it’s Ethernet and USB sticks out in front. The adapter board will as far as RPI goes be a Hat using Smart SPI. Basically a Hat with a 40 pin for backbone + the standard PI 40 pin. This Hat should have fixed address 0 and optionally be able to use a higher speed on the SPI.
Expected usage of this is that we use this for cryptic internet access, to provide web servers, complex HMI or simply heavy math. A M4 is fast, but it is no comparison with it’s a Quad 64-bit 1Ghz bigger ARM Brother. I am also considering phone and Speech services that require this grade of Computing Power. It is a lot of Things that is much easier to do on a PI than on an embedded computer.
This is a draft of the the stand-alone GSM Module designed around the SIM800C module. I still want to see if I can get this into the Ethernet module, but made the diagram above to illustrate the content.
The primary interface to the MCU is UART + some GPIO. This uses the AT command set to control the GSM.
An USB is available from the GSM Module for debug and firmware download. The intention is to connect this to the USB on the MCU as well as making it available through an extern port. I have a loose end on how to do this that I need to dig into. I might also put this port a bit hidden as it is only optionally needed.
GSM antenna need to be added.
SIM Card holder need to be added.
Sound In/Out is usually to a mic/speaker. As this is not a phone, but a PLC we would like that digitalised so we can play sound files, do funny things like speech recognition etc. The later will require a Raspberry PI (Zero ) Add-on to do the processing. I am thinking of running an open source solution where the GSM act as a line card to FreeSWITCH or Asterisk + PocketSphinx to support a single line.
All in all I must admit that this module will require some space, so it might be a bit crowded to get in on the Ethernet Module – lets see. It’s a lot of loose ends here yet.
Looking at SIMCom support for the SIM800C I must admit that they impress. I had to register on their site and after that I have Access to 20 Application documents, AT commands, certification documentation and updated hardware design & user manual.
I have a dev-kit on it’s way + a module, also a devkit of the SIM800L.
This is the smallest of the modules I am looking at measuring only 17.6 x 15.7 mm. The hardware design guide is well documented With schematic examples and With 20 app notes that seems to have decent complexity and content this will be fun.
What I need now is antenna and SIM card holders etc for my Ethernet module. How I use the GSM is still an open question – it has a TCP/UDP Interface, but I wonder if SMS Messages are more cost optional – or maybe a mix.
Right now I am waiting on heat sink material so we can start testing the regulator with 5-10A continuous. I have done a few tests without and managed to burn transistors. My small fan’s do help a lot, so I expect a combination of heat sinks and fan’t to do Wonders.
Heat dissipation is the Achilles of this old linear regulator but, I just fancied doing this old design before I start on a more modern, digital PSU. The advantage of this design is low noise – or at least should be.
I had some challenges with the current regulator, but finally realised reading up on the issue that voltage between pin 2 & 3 on LM723 need to be ca 0,62V before it start working. This means I probably need to consider using a relay to switch current range between shunts for 5A & 10A because shunts designed for 10A will have little impact in the lower area. I will return to this as soon as I get the heat sink and fan’s mounted properly.
The blue metal box I purchased (below) is ok. For 17.- USD this is good value, but it is a bit small for what I want to do. I probably need more space due to heat dissipation at 10A, but we will see – I actually ordered more of these boxes due to their good value.
Something else that is very clear is that I need to mount temperature sensors and activate overheating logic by cutting output if the transistors overheat.
Looks like the GSM module will be added to the Ethernet Module. Found several modules in price from 1.27 to 4 USD. Basically UART operated with support of GSM + GPRS, TCP/IP, UDP/IP, SMS etc. The cheapest kit is data only, but some of the others include voice as well. More important is that datasheets and programming guides are available.
M590E | |
SIM800C | |
A6 |
The M590E is SMS/Data only and cost 1.27 USD, the others include voice and cost 3-4 USD. More expensive modules with 3G/4G etc exist, but GSM/GPRS should be sufficient. GPRS have a bandwidth of ca 85Kbps.
I need to find space for these modules + SIM Card and antenna, but I think that is very doable. It is also an option to use one of the breakout boards “as is”.
The block diagram above show the Ethernet module. Starting with a dual RS-X to the backbone and a SPI based W5500 for Ethernet connectivity. In addition we add a ESP-12 for Wifi, SPI Flash for storage and a RTC battery & oscillator as well as the mandatory SWD connector. I hope to have a 3D model of this board ready within the next days. The red box on Ethernet/Wifi mark that this is galvanic isolated.
The STM32 design will differ from earlier designs as I will be using x-tal’s with higher quality and add the RTC x-tal as well. I am toying with the idea of testing a supercap as “battery”. A normal battery has a degrading over time that forces it to be replaced on regular basis. As a RTC battery only need to survive a power down for some time it could be interesting testing a supercap as an option. It is also an option to dedicate one of the available pin’s on the backbone to “Power off battery” and use wakeup functionality on the MCU.
I have also drafted a GSM as optional add-on here. As this will be an external breakout it might make sense to add it to this module rather than creating a separate one. This is however something I need to look into. At present I have little experience using GSM like this.
The RS-X backbone speed will probably be 2.5Mbps, both lower and higher speeds are an option.