Project Update February 2023 #122
Replies: 12 comments 27 replies
-
Commit 37f188a contains the following changes
Most notable is the change to the conversion from mass flow to volumetric. This addresses some inconsistencies in the CFM reading that I was seeing on the bench. I've tested this on the bench and the injected values align with calculated values using online conversion pages. However, I'm going to hold off from up-revving the RC release until I can do a little more work on this. The new version does not adjust for humidity and so I need to get a better understanding of how I can integrate this. At the moment I'm giving myself a crash course in fluid dynamics, well at least as far as the ideal gas law is concerned. So If you are finding inconsistencies with the CFM reading in the RC5 release, try the build linked to above. |
Beta Was this translation helpful? Give feedback.
-
So I've spent a bit of time comparing the Wemos D1, Arducam ESP32 and Arducam LOTAI boards to determine how to best support these board with the shield. What I've realised is that it is not possible to support all three boards by using pin configuration parameters. The main issue is that there are several hardware pin assignments that are not reconfigurable, for instance the DAC pins 25 & 26. The issue here is that pins 25 & 26 do not share the same physical pin location between board variants. This means that it is essentially impossible to support several pin configurations on the one shield without introducing bridging links or jumpers. The extent of the differences introduces enough complexity to make it unworkable. The sensible solution is therefore to choose one board as the official board and design the shield to suit. The Arducam boards have the advantage of onboard SD card support as well as having more free I/O available, however both the ESP32S and LOTAI boards are now discontinued. In my tests I had issues with the I2C communications on the Arducam boards. So whilst they may seem like the obvious choice, the Wemos D1 actually comes in a little ahead in the availability and compatibility stakes. The Wemos D1 is also now available as a clone board making it even cheaper to purchase which for many will be a good thing. The one tradeoff with the Wemos D1 board is that the pins required for SD Card support are normally used for regular I/O, this has forced a bit of a rethink regarding the I/O availability. However with a little brevity and ingenuity I have managed to reduce the required number of pins to something more suitable whilst still managing to support the planned feature set along side SD Card support. All of this may seem a little irrelevant at this stage, as many of these features are not planned to be released for several versions, however as we are finalising the shield design it is necessary to ensure that everything works correctly and future pin configurations are considered as we may not have the opportunity to fix them later. I'll do a little more testing and once happy i'll commit my changes /DM |
Beta Was this translation helpful? Give feedback.
-
OK. This is what I have come up with for the pin configuration
The hardest part of this process has been trying to ensure that all pin restrictions are taken into account. For example if WiFi is in use ADC2 pins (0,2,4,12,13,14,15,25,26 & 27) cannot be used for analog measurement. There are also some functions that only operate on dedicated pins. For example DAC, Serial, SD and I2C, which when coupled with General I/O restrictions make it challenging to group pin functions together. You may note that there is only one spare pin. You may not have noted that I also had to utilise the non-standard three pin header as there were simply not enough available I/O to cater for all functions. I also needed to drop the drive enable signal from the stepper motors instead electing to keep the drives powered all the time. These changes have further cemented the choice of Wemos D2 R2 as the officially supported board. |
Beta Was this translation helpful? Give feedback.
-
Build 23021501 - 5fd1b73 adds adjustment for Absolute Humidity when calculating the molecular mass or air. It now compensates the calculated air volume based on the humidity of the air. The release also rolls up a few other changes as below
The most notable of these is the finalisation of the pin mapping for the shield. There's also some minor improvements to the wifi handling as well. I'm going to roll this release up and publish it as RC5 |
Beta Was this translation helpful? Give feedback.
-
Release Candidate 5 now published - https://github.com/DeeEmm/DIY-Flow-Bench/releases/tag/V.2.0-RC.5 |
Beta Was this translation helpful? Give feedback.
-
I've updated the WIKI to include the finalised pin designations along with the field connections for the official shield. https://github.com/DeeEmm/DIY-Flow-Bench/wiki/shield-overview |
Beta Was this translation helpful? Give feedback.
-
I've almost finalised the updated PCB design. I just need to review PCB track sizes and verify the previously proposed changes. Once this is finalised I will order some more boards. |
Beta Was this translation helpful? Give feedback.
-
OK PCB's ordered. Lets see how many mistakes I've got this time lol. |
Beta Was this translation helpful? Give feedback.
-
I've created a dedicated thread for discussions relating to the V2.0 shield. |
Beta Was this translation helpful? Give feedback.
-
Build a6fa10d adds support for XGZP6899A007KPDPN and XGZP6899A010KPDPN pressure sensors |
Beta Was this translation helpful? Give feedback.
-
Build 6447108 adds support for a swirl encoder. Whilst this was not on the immediate roadmap it was a simple addition. The change however is untested as I do not have a quadrature encoder to test with. Encoder requires two pin connections as defined in pins.h for channel A and B Swirl is then reported on main page (click on Pitot tile to swap to Swirl) Swirl is reported as a speed value and will be negative when rotating backwards. |
Beta Was this translation helpful? Give feedback.
-
The Swirl Encoder is a two channel quadrature encoder. Any voltage compatible (3.3v) encoder should be suitable. It should also be possible to use 5v encoders if the signals are level shifted down to 3.3v. Micro optical encoders like those used on micro metal motors are a good option and are available in 3.3v. They are supplied with a trigger wheel and should be easy to mount on a shaft with small bearings in a 3D printed mount. Some examples... https://core-electronics.com.au/optical-encoder-pair-kit-for-micro-metal-gearmotors-3-3v.html These are small enough that they can be mounted unobtrusively. Here's the performance trends swirl meter for comparison |
Beta Was this translation helpful? Give feedback.
-
NEW RELEASE: RC4!
Release candidate 4 addresses a number of display issues related to flow and reference depression, specifically that the MAF flow value did not display correctly. I have also added a check to the converted flow value to mask it if the bench is not running.
The next stage of unit testing is to move on to accuracy and repeatability.
If you have comments or feedback related to RC4, please use the official thread at #121
If you wish to raise a bug report please use the bugtracker - https://github.com/DeeEmm/DIY-Flow-Bench/issues
Beta Was this translation helpful? Give feedback.
All reactions