-
BB3 sequel to H24005 is coming
11/22/2019 at 10:40 • 0 commentsPerhaps some of you guys who are follow H24005 could be also interesting in BB3. Its crowdfunding campaign is under way, more info at: https://hackaday.io/project/166273-eez-bench-box-3 or go directly to https://www.crowdsupply.com/envox/eez-bb3
-
Certified open source hardware
09/24/2019 at 06:18 • 0 commentsThe EEZ H24005 became the first piece of certified open source hardware in Croatia (link)
-
Crowdfunding fulfilment, Firmware v1.0
07/19/2017 at 08:22 • 0 commentsThe crowdfunding campaign fulfilment is almost accomplished. More then 300 boxes are now on the way to Crowd Supply who is going to dispatch them to their final destinations.
The Complete kit comes with preload firmware v1.0 that now cover almost all functionality of the unit. Firmware development will continue and new releases can be found on the GitHub.
I’d like to thank once again all the backers for their support and patience. We tried to do our best and hope you like your kit.
-
Firmware M4 is released (Triggering system and list programming)
03/22/2017 at 15:46 • 0 commentsFirmware M4 is released last week. Two main features are triggering system and list programming (sort of "arbitrary waveform generator"). The later one asked for many optimizations and end results is I believe a very satisfactory for such class of device (DIY and open source).
Triggering system allows usage of four trigger source:- BUS - software trigger, initiated by receiving *TRG when trigger system is already initiated with INIT command
- IMMediate - initiated by changing output from off to on or by receiving INIT command
- MANual - when flashing button on the TFT touchscreen is selected and
- PIN1 - external trigger input available on the front panel push-in connector
When channels are triggered they can be programmed to new fixed output voltage and current ("step" mode) or execution of list of output values will be started.
List could contain up to 256 different output voltage, current with variable duration. Duration (DWELl) could be from 1 ms to 65535 seconds. List can be used when channels are also in "special" modes: tracking and coupling in series and parallel.
I made two part video about above mentioned functionalities and I hope you'll like how quick and easy one can generate e.g. test pattern directly on the device without any extra software and PC connectivity. Your comments and doubts are highly welcomed. -
Riverdi 3.5" display demo
03/13/2017 at 08:14 • 0 commentsI manage to activate a 3.5" Riverdi touch screen display. This is a cheaper resistive touch screen model with FT800 controller, and capacitive touch screen model with FT801 controller seems that is pin compatible.
Please note that display has to be rotated for 180 degrees since it's going to be mounted vertically not horizontally (as in a handheld device) for optimal viewing angle. On the picture below I just place it over Arduino shield but in practice it need its mounting rail or bezel that has to be fixed on the front panel.
So now we have an upgrade path to more capable display (faster controller, truetype fonts, selection of resistive and capacitive touch screen, built in audio, etc.).
-
r5B12 boards assembled
03/11/2017 at 14:26 • 0 commentsThe new r5B12 PCBs arrived from ITEAD few days ago and I managed to assemble them to test if new added features are working as expected. All boards are now a little bit larger and I tried to keep the same mounting holes spacing as in previous builds.
AUX PS module
This module now has additional MCU controlled power relay with NO and NC pins exposed and reachable from the rear panel (X6 connector). Cooling fan power is now isolated, 5V buck is removed and dual output 5 W AC/DC module from Vigortronix is used instead.Power board
It's possible now to work with two current range e.g. 0-500 mA and 0-5 A (on the picture that is down left corner section with Q13, Q14, R63, R65). Current shunt monitor op amp (IC7) is changed to LTC2050HV (see sheet #3). I also replaced bias power supply (see Sheet #2) where now TL781 and LTC3260 are used instead of buck regulator (LM5574).
I found two stupid mistakes on this PCB: the power input connector (X2) is rotated i.e. not the same as on the previous board, and choke L1 that is now smaller need different holes spacing.Arduino shield
The most important changes here is encoder that can be now mounted directly on the PCB. Due to that TFT display is moved to the left. PE (Earth) terminal is moved below encoder.
I added 20-pin 0.5 mm FFC connector (X20) for future upgrade to Riverdi 3.5" touch screen display with FT800 (resistive) or FT801 (capacitive) controller. Since that display also has audio, a small audio amplifier is also added (TPA6205).
Playing with PCB layout I succeed to swap control lines for AC power (PWR_SSTART and PWR_DIRECT), but that is corrected and uploaded on the GitHub.
I need to test few more things and if everything is fine I can send to ITEAD final Gerbers and BOM to initiate PCB assembly of few sets first and after that to proceed with the rest that needed for crowdfunding campaign fulfillment. -
EEZ Studio preview
02/20/2017 at 22:44 • 0 commentsFinally I managed to make a very short intro video of EEZ Studio. A more videos will follows and its source code will be uploaded on the GitHub in near future.
-
Going down to calibrated zero...
02/14/2017 at 10:59 • 0 commentsFinally I find some time to test one detail that I ignored for too longtime. It's how to go down to zero with programmed output voltage or current when channel is calibrated. I was warned a long time ago that if DAC has not bipolar output (i.e. can generate negative voltage) that it's great chance that if DAC is programmed to zero that you cannot get zero on output due to various parts offsets. The simple solution is to shift reference ground of control loops op-amps to few tens of millivolts. In that case with programmed voltage set to zero output value will become negative and in process of calibration firmware will find a non-zero DAC value that relate to zero on the output.
Insisting on going down to zero possibly does not make a lot of sense for output voltage as for limiting current because if e.g. your resolution is set to 10 mA and during calibration you cannot reach e.g. less then 15 mA, firmware will lock your range to 20 mA that is a huge amount for many small loads and CC mode of operation is needed.
I tried that on Power board r5B9 (that changes is added in version r5B10 and later) where you have to do the following:
... on the PCB that looks like this where R42 ground is not cut but resistor is moved from its original position and soldered with one end directly to pin 5 of IC6. On current monitor side R60 and R61 is replaced with single resistor that is soldered on R61 position. Only cut on the PCB that is required is to isolate pin 5 on IC7 from ground. Voltage divider 10K+220R produce about 50 mV derived from +2.5 V voltage reference:
Making this change is not enough. You have to instruct firmware that when channel is not calibrated that take into account ground offset otherwise you'll get strange output values at the beginning of the scale. For example for set 0 V you can expect more then 800 mV or for 0 A a more then 100 mA will be measured without connected load.
If you have Power board r5B9 and add above described hack you have to add into your conf_user.h the following code:
#undef CHANNELS #define CHANNELS \ CHANNEL(1, CH_BOARD_REVISION_R5B10_PARAMS, CH_PINS_1, CH_PARAMS_40V_5A), \ CHANNEL(2, CH_BOARD_REVISION_R5B10_PARAMS, CH_PINS_2, CH_PARAMS_40V_5A) \
When this hack is applied you are not able to reach full scale (i.e. 40 V) with R47, R57 set to 20K. Use e.g. 24K or 24K9 to ensure full scale for calibrated output.
-
Dual range current (cont.)
02/05/2017 at 10:12 • 0 commentsI was forwarded to Dave's video #931 where only multi-range measurement is covered, and I'm going to test also how it will behave in current control loop. The good thing is that Rds(on) is now removed from equation. Here is schematic (MOSFETs and resistors selection would be different):
-
Dual range current measurement proposal
02/02/2017 at 09:24 • 0 commentsI'd like to include current measurement in two ranges, e.g. 0-500 mA and 0-5 A on the next Power board that will continue to be compatible with Arduino shield and firmware will take care about it like with all previous Power board revisions. If this works fine it will become a candidate for group buy on the CrowdSupply.
Idea is to use mosfets as range switches that will be well saturated to provide lowest Rdson. The switching between ranges will be accomplished in a "make-before-break" fashion, that both sense resistors will be connected simultaneously for about max. 1-2 ms.
Additionally I'd like to preserve 4-wire (Kelvin) connections that already exists on the previous board but have no experience nor I had a chance to see how other people design PCB for that. All what I found so far is a not so representative picture of ct'lab DCG power supply (Q8-Q11 for 4-ranges) but without detailed PCB view.
In our case everything will be done with SMT components and I created a new Eagle components for mosfet and 2512 resistor with exposed addition "sensing" pin. Since the next higher bias voltage then existing +5V is +48V, it is used for Q13, Q14 saturation that is cut to +13 V with ZD17, ZD18. The existing 8-but I/O expander is already fully occupied and therefore it's replaced with 16-bit version (IC7, MCP23S17-E/SS) to provide two more lines for current ranges selection.
... and here is PCB layout current sensing section:
I didn't manage to connect other end of ZD17 in a way to not cross sensitive measurement line but at least that is happened under right angle and on the opposite side of the PCB.
Your timely comments are highly welcomed (I'd like to place an order for new PCB very soon).