Author Topic: CARE:Open STM32 USB-GPIB with Temp Sensor  (Read 265 times)

0 Members and 1 Guest are viewing this topic.

Offline EinErikTopic starter

  • Newbie
  • Posts: 9
  • Country: 00
CARE:Open STM32 USB-GPIB with Temp Sensor
« on: June 27, 2024, 03:37:10 pm »
CareLite-GPIB  https://github.com/OpenhimerLab/CareLite-GPIB?tab=readme-ov-file
Recently I found this:
CareLite is an open-source, tiny, small USB-GPIB adaptor based on STM32 with temperature sensors. It uses VCP (Virtual COM Port) and USB Type-C connector, without the need for external power; also with dedicated PC software (but not limited to), easy GPIB connection can be established and Prologix-like command protocol makes the compatiblity better, and real-time temp logging can be done by DS18B20 or so.



****I am NOT the author with no any relationship or benefit conflict with the author. I have no commercial intention to introdue this project and I have no intention to make benefits from this. All responsibility and risk or financial loss should be taken by the DIYers yourselves. The project is introduced and shared "AS IS". Many functions, issues may exisit so use it at your own risk.




There are 2 version of MeterCare USB-GPIB converter, while sharing the same PC host Software, the firmware is unclear that both version could be applied. We choose to introduce and share the "Lite" version firstly, as it is a simple, costless design somehow like AR488, but the designer reserves potentials to expand other functionality like temperature, humidity sensing ability (there is an UART+DS18B20 port, with proper firmware, it can be amazing for its various functionality!).

By the STM32F401, the CareLite can perform GPIB-USB conversion. In addition, there is a connector called MeterLink that provides the integration of multiple sensors(1 DS18B20 is confirmed to be functional).
Till now, at least 1 DS18B20 OneWire Temperature sensor can be used for logging temperature (by using MeterLink).







With the software written by "ZDD", you can connect a DMM and do a logging of both volt/ohm and temperature, and it will simutaneously calculate the math like temp.Co, or the deviation of logged data. This makes it very clear to understand the dependency of multiple variables and its statistical property.




***********************************************************************
Also note that the software by ZDD is Labeview-based, you need to install:

NI Labview runtime
Locale emulator to deal with encoding problems, as it is originally based on GBK simplified chinese, not UTF-8.

1.
Use this specific LV2017 RT
https://mega.nz/file/FZVkVBpI#PkPHO9DLg__3d7CfNpPhB35mNmTOeibzO6CDrYFlKHI
English GUI version of the program, but still needs Locale Emulator
https://mega.nz/file/EFt0AQpL#0xCMtsybEHaY8iZi94ebTC8XUvTH0Ho6j7BOYmrhtTE
Locale
https://mega.nz/file/IAF0iSzb#Ayks6fMKkgN7zUXs60wvQt7Ria3Ej4-onmwWwSWPhDM
2. or use the MKL https://mega.nz/file/oJdg2IaD#4JBU0V8VhWzGAFIt_fYid6PXD4Px-egSgqRj__5JVVs
3. There is a Config file template for PC-TOOL-by-ZDD, you can edit and make the software compatible to numerous devices.

//MultiTemp//
A sensor board with BMP180 and DS18B20, SHT2X is also possible for environment data logging, there is UART1 definition in MeterLink; so it might be possible functional. This expansion board is mainly for the "Care" USB-GPIB, not sure if it is functional on CareLite.
//
The firmware is a bit messy, so try and find the best one for yourself. And explore the function, the Care ecosystem is very potential.
//
The protocol and communication is very like Prologix, using "++" command system, there are some explaination files, but it's in simplified Chinese, for now I have no time to translate it, so please try by your own self. All in all, this is a tiny, easy to use GPIB adaptor for many devices, somthing like a STM32-based AR488 but with dedicated PC sotware.

Code: [Select]
Some Command string in the FW:
    "++addr",
    "++auto",
    "++clr",
    "++eoi",
    "++eos",
    "++eot_enable",
    "++eot_char",
    "++ifc",
    "++llo",
    "++loc",
    "++lon",//0x0A
    "++mode",
    "++read",
    "++read_tmo_ms",
    "++rst",
    "++savecfg",
    "++spoll",
    "++srq",
    "++status",
    "++trg",
    "++ver",
    "++help",
    "++debug",
    "++delay",
    "++stop",
    "++temp",
    "++count",
    "++online",
    "CARE?",
    "CARE_TEMP?",
    "CARE_TEMP1?",
    "CARE_TEMP2?",
    "CARE_TIMEOUT",
    "CARE_TIMEOUT?",
    "CARE_LOC",
    "CARE_ADDR",
    "CARE_NULL",
    "CARE_READ",
    "CARE_ADDR?",
    "CARE_AUTO",
    "++info",
    "CARE_INFO?",
   


« Last Edit: June 29, 2024, 04:19:08 pm by EinErik »
 

Online coromonadalix

  • Super Contributor
  • ***
  • Posts: 6219
  • Country: ca
Re: CARE:Open STM32 USB-GPIB with Temp Sensor
« Reply #1 on: June 28, 2024, 07:24:40 am »
hi
While i salute  the project

1st   we dont know where you come from, complete your avatar location please

2   there was mention in the past of some ZDD  software, and a part of it i think was need to be purchased to make it working (some dmm interface software)

3   to me seeing an mix of chineese / other / english     seems to me like an unfinished product

4  downloading  Labview Runtime Engine is a @#$ of a mess, you need to freely register to download anything

5  trying to start the software with 2024  Runtime Engine seems to crash on my pc, and the software request 2017 version, 2017 sp1 is 350 mb, and does crash with 2017 sp1 engine too  ..........


For me  i would stay away from this,   readme text(s) in chineese   etc  ...  un-atractive to me, no way to contact this ZDD ?   not sure if there is some purchase to be made  ...

And the Local emulator thing ............

thks for the link  ....... 
« Last Edit: June 28, 2024, 11:28:14 am by coromonadalix »
 

Offline EinErikTopic starter

  • Newbie
  • Posts: 9
  • Country: 00
Re: CARE:Open STM32 USB-GPIB with Temp Sensor
« Reply #2 on: June 29, 2024, 04:06:28 pm »
Hi,

The software problems are annoying, indeed. Because they don't use international standards, causing many troubles.
It is NOT my intention to introduce the software mainly, it's the hardware design.
The USB-CDC protocol makes this tiny board possible to work as a good USB-GPIB adaptor, and not limited to the ZDD things.
And since I am just sharing, forgive me that I have no time to translate files to make all things readible, perhaps you can try some translation software like DeepL or so.
Also, if I have some time, I can contribute to do this.
//
Lastly, there is no "pay-to-work" thing in the software, I guess you are talking about a icon for development donation,
but that doesn't means you have to pay to make it work, NO, NO, NO!

//
If you guys are not happy with messy software/PC UI, please just ignore it or try some other ones.
This is the file I found, should be helpful, sorry for not being uploaded at first time.
1.
Use this specific LV2017 RT
https://mega.nz/file/FZVkVBpI#PkPHO9DLg__3d7CfNpPhB35mNmTOeibzO6CDrYFlKHI
English GUI version of the program, but still needs Locale Emulator
https://mega.nz/file/EFt0AQpL#0xCMtsybEHaY8iZi94ebTC8XUvTH0Ho6j7BOYmrhtTE
Locale
https://mega.nz/file/IAF0iSzb#Ayks6fMKkgN7zUXs60wvQt7Ria3Ej4-onmwWwSWPhDM
2. or use the MKL in the attchments.
3. There is a Config file template for PC-TOOL-by-ZDD, you can edit and make the software compatible to numerous devices.

Hope to make things easier, but:
Again, the CareLite is not limited to PC-TOOL-by-ZDD and no need to pay to "unclock" or enable the software to work.

//
It's my first time for doing this, as I found it seems that some tools are not transparent to the West, and I discovered many good things in Chinese community at the time I was being an "undercover", just kidding.
So, maybe not push too many stress or being too strict to me, I am just sharing without any other intention as I claimed in the post.
//
Try the hardware! The design is just something like AR488, and all the source files are open.

Code: [Select]
;This template could modified for adding new models into PC-TOOL. Rename this config file as device’s type, eg. HP34460A, then “HP34460A” will be recognized by the system.

;This template is a universal config with nearly every function that DMM might have; so it is obvious that you have to disable something that the new DMM model does not support or create something specifically that it supports.

;The symbol “;” will not be read as a command but might be use in command text as a combination expression, if that case, it is a command.
; The symbol “,” is used in command or parameter separator.
;DO NOT modify anything on the left of “=” symbol.

; The command on the left of “=” are
Button name/ Command, Command availability, Get range, Get Auto-Range, Get Auto-Zero, Get NPLC, Get digits, Get Input Z, Set Null, Range(from low to high)。

;0: DCV,1; ACV, 2: 2WR, 3: 4WR, 4: DCA, 5:ACA, 6: Freq, 7: Period, 8: Continuity, 9: Diode, 10: Ratio, 11: Temp, 12: Capacitance

;Note: Fill in 0 if the function is not supported by DMM or Software (Continuity if currently not supported by software).

; Only Scientific notation and decimal are supported, not prefixes like u/m/K/M.

; If there is not corresponding command of the function, put in 「-」, and leave blank after that.







;==================Main Commands===========================
0=DCV,CONF:VOLT,1,VOLT:DC:RANG?,VOLT:DC:RANG:AUTO?,ZERO:AUTO?,VOLT:DC:NPLC?,-,INP:IMP:AUTO?,CALC:FUNC NULL;:CALC:STAT ON,0.1,1,10,100,1000
1=ACV,CONF:VOLT:AC,1,VOLT:AC:RANG?,VOLT:AC:RANG:AUTO?,-,-,-,-,CALC:FUNC NULL;:CALC:STAT ON,0.1,1,10,100,750
2=Ω 2W,CONF:RES,1,RES:RANG?,RES:RANG:AUTO?,ZERO:AUTO?,RES:NPLC?,-,-,CALC:FUNC NULL;:CALC:STAT ON,100,1E+3,1E+4,1E+5,1E+6,1E+7,1E+8
3=Ω 4W,CONF:FRES,1,FRES:RANG?,FRES:RANG:AUTO?,ZERO:AUTO?,FRES:NPLC?,-,-,CALC:FUNC NULL;:CALC:STAT ON,100,1E+3,1E+4,1E+5,1E+6,1E+7,1E+8
4=DCI,CONF:CURR,1,CURR:RANG?,CURR:RANG:AUTO?,ZERO:AUTO?,CURR:NPLC?,-,-,CALC:FUNC NULL;:CALC:STAT ON,1E-2,1E-1,1,3
5=ACI,CONF:CURR:AC,1,CURR:AC:RANG?,CURR:AC:RANG:AUTO?,-,-,-,-,CALC:FUNC NULL;:CALC:STAT ON,1,3
6=FREQ,CONF:FREQ,1,FREQ:VOLT:RANG?,FREQ:VOLT:RANG:AUTO?,-,-,-,-,CALC:FUNC NULL;:CALC:STAT ON,0.1,1,10,100,750
7=PERIOD,CONF:PER,1,PER:VOLT:RANG?,PER:VOLT:RANG:AUTO?,-,-,-,-,CALC:FUNC NULL;:CALC:STAT ON,0.1,1,10,100,750
8=DIODE,CONF:DIOD,1
9=DC:RAT,CONF:RAT,1,VOLT:DC:RANG?,VOLT:DC:RANG:AUTO?,-,VOLT:DC:NPLC?,-,INP:IMP:AUTO?,-,0.1,1,10,100,1000
10=TEMP,CONF:TEMP,0
11=CAP,CONF:CAP,0
;=================End============================










;******General Commands**********

; ===Read Measurement (Always ON)
Read=READ?

; ===Prefix and decimal format (Always ON)
Prefix=0,0,0,0,0,0,0,0,0,0,0,0

; ===NPLC Range
NPLC=0.02,0.2,1,10,100

;===Max Digit(for 8.5 digits fills in 8 while default is 6)
maxDIG=6

;===Max Digit if not specified
;setMaxDIG=7

;===If the following commands are not needed or necessary, put「;」 in front====

; ===Get command config
getCONF=CONF?

; ===Get DMM ID
;getID=ID?

; ===Get Error info (Default SYST:ERR?)
;getERR=ERRSTR?

; ===Set Trigger sample count (used in Oscilloscope mode, default=1)
Sample=SAMP:COUN

; ===Set Display Config
DispOn=DISP ON
DispOff=DISP OFF



; ===Get Display Command
getDisp=DISP?

; ===Display Readback
DispText=DISP:TEXT "

; ===Clear Display Readback Text
ClrText=DISP:TEXT:CLE

; ===Local or Remote Command (Only serial COM mode, disable with “;”)
Remote=SYST:REM
Local=SYST:LOC

; ===Initial Commands Off
;Init=INIT:CONT OFF

;=== Default Header off
;:SYST:HEAD OFF

;===Set Command after disconnected
;End=INIT:CONT ON

;===Auto-Self-Cal Command
;Acal=*CAL?

; ===Auto-Self-Cal Parameter (use “,” as sepetator)
;AcalPara=

; ===Set Temp Sensor Config (FRTD,RTD,FTH,THER,TC/Sensor type use ”,”/ Sensor selectable parameter use “space”)
;TempSensor=FRTD:85,RTD:85,FTH:2252 5000 10000,THER:2252 5000 10000
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf