Smart-Round-Dual was the
The manufactured version:
Features:
- 3 digit 7 segment LED (with dots)
- 4 digit 7 segment LED (with dots)
- Voltage output. High resolution (up to 5V, 12bit, programmable output curve)
- RS232 level
- directly plugs into PC
- or USB-RS232 adapter
- or small dongle for CAN-physical layer bus (will not need to be removed from network even for firmware reflash!)
- free outputs
- power
- signal level (0..5V high resolution, external ground referenced)
- extra inputs
- analog input
- RPM input, or vehicle-speed (kmh / mph) or other frequency signal
- button
Firmware features
Since this is ment as an easy-to-use device, first only very few features are supported.
- WBO2. Lambda value matches Bosch (manufacturer of the LSU4 sensor) specifications. Tested against very expensive 6-gas analyzers (with 2 - different - sensors in same exhaust stream) with very good match (showing 0.86 / 0.87 when the high-end analyzer displayed 0.86 lambda)
- EGT (with cold-junction measurement)
- null-offset calibration (egt_cal, mttg01mttc.. where replace .. with hexa number: C0 is default, 00 is maximum subtracted offset, 96C)
- onboard-temp
- Data can be logged to PC for further analysis
Some pins suggest boostcontrol function. Note that (although possible, the hardware supports it at the same time as WBO2 and EGT) there is no boostcontrol firmware code for it now.
RPM input (VR or HALL, several trigger-types) will be supported in firmware later (currently not), eg.
RPM is scheduled to be available in firmware in 1 month. I recommend to wait if you don't need the unit right now and know you'll need RPM ( though it should be a firmware-only change, the input voltage levels will be calibrated later in production making it easier to use )
- for logging
- or (RPM-dependent) boost-target
- or vehicle-speed sensor data can be sent over the network to GenBoard/VerThree even when both primary and secondary VR inputs of the v3.x are used up for the engine (the vehicle-speed and fuel consumption can be displayed and logged; also allows much better street-dyno implementation than without vehicle-speed)
Pinout
RS232 (standard DSUB9 female, pin2,3,5)
- RX
- TX
- GND
Main connector - DSUB15 male. Note that the (now standard) flying loom version has the WBO2 pins on the WBO2 connector, so those 5 pins (pin 2,3,4,5 and 7) of the DSUB15 are NOT connected:
- 1: Vout (voltage output signal +)
- 2: WBO2 pump- (Sensor pin 5)
- 3: WBO2 nernst (Sensor pin 1)
- 4: WBO2 pump+ (Sensor pin 6)
- 5: WBO2 Rcal (Sensor pin 2)
- 6: VBatt+ (12V)
- 7: WBO2 heater-(Sensor pin 4)
- 8: analog input
- 9: Vout-gndref (voltage output signal) -. Connect to GND or max 2..5V potential (with higher voltage on this pin, max output voltage on Vout will be limited).
- 10: RPM input
- 11: RPM reference (input threshold can be adjusted; leave open)
- 12: boost solenoid output (or other power output) max 5A, flyback towards supply
- 13: GND connect all GND-s
- 14: GND connect all GND-s
- 15: GND connect all GND-s
- Also wire supply voltage to WBO2 Heater to sensor pin 3 through 5A fuse (this is wired this way in the supplied harness)
'Q' Which pin is the NBO2 output?
'A' Pin#1, Vout is the nbo2 voltage output (signal+ output), pin#9 Vout-gndref volt out - signal (connect to GND).
Mounting
The flying loom version allows mounting even with the tightest available space:
The upcoming mounting style uses an U bracket:
This really is a professional product, now we need to get the marketing name right...
OLD stuff ... TODO: cleanup
The AfreshTiny was the working name for our first round 52mm WBo2 meter design.
Same circuit can also be used for other functions, see AfreshTiny/OtherUses
Input from user
- How do we trigger the free air calibration? At all? (would be nice)
- just measure free air. Currently no adjustment is possible, the sensor rcal applied by Bosch should be fine (within 5%, that is an error from 0.8 .. 0.81 because it's referenced from 1.0 ; in free air it's like 19.9 .. 21.9 O2%)
- How do we choose between Lambda and AFR display? (or Celsius/Fahrenheit)
- display_state variable (eg. decimal 10 means RPM)
- How do we choose vout curve without RS232 ?
- currently not possible
- How to insert "markpoints" in the datalog
- the button is logged at the most significant bit of the ADC input
Which ones do we need ? HW output (high vout resolution) allows either:
Linear WBO2 lambda output vout_conf set to 0x20 (=decimal 32 if set in MegaTune) or higher (0x33, 0x66 or 0x99 for 1V/lambda, 2V/lambda or 3V/lambda, respectively)
Useful with ECU-s that has no embedded WBO2 controller, but can accept linear WBO2 signal! Also useful if the other ECU has real WBO2 input but you don't want to use 2 WBO2 sensor.
This was tried with 3V/lambda wired in (connected to a motec).
0V (well, say < 0.2V) used for unknown (eg. sensor not heated yet)
- vout_conf=0x33 1V / lambda 0.65v@lambda=0.65, 1.5v@Lambda=1.5
- only when this is the only choice; or when viewing with a handheld DVM
- vout_conf=0x99 3V / lambda was successfully tried with motec input. The input curve in Motec can be configured (allows 0..5V input range);
- 0.8 lambda => 2.4V obviously
- 1.0 lambda => 3.0V obviously
- (Man)mttg13mttc99(mcs) to set vout_conf (position 0x13) to value 0x99 manually
- not recommended (proportionally higher vout_conf):
- 4V / lambda : maximum practical (max 1.25 lambda limited by output range)
- 5V / lambda could be useful with -1.5V offset (0.6 lambda => 1.5 V ; 1.3 lambda => 5V). This would allow the best interfacing precision (although 3V / lambda is already very good).
NBO2 - implemented
- NB sensor simulator, LSM11 reference curve. This curve is mostly useful for old type NBO2 input equipped factory ECU-s only, since it has very low slope (=> hard to tune, prone to noise) at lambda=0.8 which is kindof unfortunate vout_conf=01
Special
- Autronic standard, 0-1v= AFR10-30
- using the near 0V part of the curve is very unfortunate (much better is 0V = error or unknown)
- 10 AFR (0.68 lambda) minimum is a bit unfortunate as well
- old diy style 0..5V: 2.08V best power, 2.5V stoich. (this is Ip based, vout_conf=02)
- Linear 0-5V EGT output (0V at -50C; 4mV/C, so 4.8V = 1150C). vout_conf=00 It could be also good usable with other ECU-s that can't accept the k-thermocouple signal directly.
Note: besides the vout curve, the vout filter frequency would be nice if adjustable (when using it with other aftermarket systems, sometimes you want it almost unfiltered and sometimes you want it as slow as 1Hz.)
Firmware upgrade - experimental release
- [RoundLoader_firmware01.zip] includes
- 2006-04-11 firmware, that supports RPM input
- roundloader_beta native win32 binary (roundloader.exe and bat files). You will need to adjust to your COMx port
- eg. replace COM3 => COM2 (or whatever applies).
- roundloader.exe -p COM3 -s 19200 -f C:\tmp\STABLE1_0\minrtest\round.chex -c write
- change C:\tmp\STABLE1_0\minrtest\round.chex to round.chex in the command (sorry, the absolute reference will be dropped in next release)
- start it from a "run -> cmd" shell, not by clicking on it so you see the output (success or error)
Please report any roundloader.exe problem (it seems fine, so success need not be reported from now)
- XP with pl2303 USB-RS232 adapter cable from WebShop: success
- Successfully upgraded/verified firmware with roundloader on WinXp sp2, notebook with USB/RS232 adapter. Seems fine. (MembersPage/GergelyLezsak)
- Successfully used roundloader to upload new firmware. Used on Dell D810 laptop on com 1. (Stefcross)
The oldschool method: prog.pl Works (similar to BootLoader) with new (included in the zip) prog.pl version (PERL and serialport module required). Prog.pl only recommended on linux, or if roundloader does not work for some reason. Ask for a linux roundloader native executable if you need it.
- Read the README file for display configuration
- (lambda/afr; Celsius/Fahrenheit; internal temp/EGT; soon RPM in upcoming release) through config.disp_state (also changed via button);
- comm.c if you want to improve MegaTune round.ini
- global.h if you want to improve MegaTune round.ini or configure manually through (Man)mttg..mttc..(mcs)(bye) commands
http://www.vems.hu/files/Firmware/Round/RoundFirmware00.zip (see the beta release below that has the same files included, along with other useful stuff such as megatune!)
Since the new firmware has many nice configurable features, unaware users can be tricked easily if not aware of the configuration. Damage to the controller device is extremely unlikely, but it's possible to damage the sensor with bad configuration.
Other beta software
- MegaTune
- testing (EGT -50C applied, and added RPM dialog): [round_MegaTune_2006-04-18.zip]
- old (without RPM dialog, and EGT gauge shows +50C higher): [beta release]
- log data the same way as with v3.x (megatune -> File -> Datalog)
- log analysis: vemslog viewer (or any LogAnalysis program that can take xls input)
- the shown EGT temp is 50C higher than real. 50C should be subtracted from the EGT and internal temp before display to compensate the offset, since minimal temp that can be logged is -50C (a one-liner round.ini change to be done in next release)
- [round logger v001] (needs .exe and dll's to startup properly, download into the same dir)
- unknown quality
- free air calibration
- the RCal resistor in the sensor is supported, so calibration is not necessary (it's not possible in current firmware release, although a new finetune config variable can be made for it if necessary). The optimal PID parameters are different in the exhaust stream and free air, so don't worry if free air reading is slightly off or even floating somewhat. Note that toleration in the lamdba range is very good: 5% error means (actual => reading) 0.8 => 0.81 lambda (since the difference from lambda=1.0 counts, which is 0.2 and 0.19 respectively).
- What is the timeframe for the BoostControl feature? //Nanassy Peter
- no good news here. There is no business decision on the standalone boostcontrol firmware-feature timeframe. A separate, (really) powerful boostcontroller (and logger, more featureful than many standalone ECMs) will be rolled in appr 2 months, which round can be used as a display for. It will be cheaper (like a bundle) for customers who also buy (or bought in the past) round.
RPM and wheelspeed input
Devices shipped after 2006 March have the RPM input HW tested. (it's implemented from the start, but earlier it wasn't part of the testing.)
Beware that using the RPM input might require input voltage threshold adjustment with a simple pullup / pulldown resistor in some cases, depending on input voltage level. It is easy, but not plugandplay in all cases.
RPM input HW:
rpm_input measures 5V if left open
- connect the signal input here
rpm_gndref to adjust voltage threshold with pullup/pulldown resistor
- Devices with serial_nr >= 100 have appr 0.6V threshold by default that is suitable for the common voltage level thresholds (notably VR / HALL / logiclevel) without pullup/pulldown resistor applied to rpm_gndref.
- pulldown (eg. 100k to GND) for lower voltage threshold (hardly ever needed)
- pullup (eg. 510k to +12V for higher voltage threshold): might be needed in very rare cases when the negative peak of the input signal is higher than +0.55V, like: 2V / 10V squarewave input signal.
- devices with serial_nr < 100 measures 2.5V on rpm_gndref input if left open
- if the zero-crossing negative edge is to be detected (standard VR sensor, eg. typical magnetic wheel-speed sensor or 60-2 wheel), leave it open.
- if you want higher threshold, eg. for a 0V / 5V HALL sensor, connect rpm_gndref with a 220k pullup resistor to a 5V (or 510k to 12V)
RPM input config ("RPM settings" in megatune)
- rpm_toothcount. The number of pulses per crank rotation.
- 02 for a 4 cyl 2 events per rotation
- 3a (decimal 58) for a 60-2 wheel
- or 23 (decimal 35) for a 35-1 wheel
- set with (Man)mttg19c.. like mttg19c02 or with MegaTune
- rpm_multiplier
- set with (Man)mttg1amttc.. like mttg1amttce5 or with MegaTune
- 229 - 0xe5 default for RPM display. Different value can be used to cheat, or for vehicle-speed.
The precision is 1 RPM. Note that display from 230 .. 15999 is possible. Above 9999 the first digit is hexa, so
- a845 (=10845 RPM)
- b231 (=11231 RPM)
- c000 (=12000 RPM)
- d888 (=13888 RPM)
- e792 (=14792 RPM)
- f999 (=15999 RPM)
- fffu (above 16000 RPM)
For wheelspeed input,
- set rpm_multiplier=FF (255) first, than adjust according to shown value (calibrate)
- Or you can calculate from the pulses / km.
- example: 10 pulses / m = 10000 pulses / km
- => 1km/h = 10000 pulses / hour = 166.67 pulses / minute (to be displayed as "0001")
- with tooth_count=0xa7 (decimal 167)
- and rpm_multiplier=0xe5 (decimal 229, same as used for RPM)
To support 1 pulse per cam-rotation: experimental [doubleRPM-firmware]
- rpm_toothcount=1, rpm_multiplier=229 needed for 1 pulse per camrot.
- rpm_multiplier=114 for rpm_toothcount pulse per (crank-)rotation.
I need ASAP the following settings for Round
- Voltage output
- 0.1Volt at 0.75lambda
- 1Volt at 1.25lambda
This is a customer request,his external datalogger work with these settings.Please make it ASAP.My advice is _ make a custom pfree programmable output for this,just like innovate did,so every user can program his own desired linear characteristics.
The other way around would make much more sense:
- 0.55V at 1 lambda
- and decreasing: similar to NBO2 (but better slope)
and output sampling rate,
free programmable WOULD BE grat,
but i need 5 sample/sec
and 3 sample/sec.
4 samples / sec is OK ? Why is higher rate (that follows lambda more promptly) a problem ?Too much unusable data on datalogging,btw its a customer request.
"OK,lets try 4sample/sec.Is this the factory default sampling rate,or do i have to set it somewhere?"
- See Linear WBO2 lambda output above for which linear wideband output signals are available (also README... file with your firmware to see how EGT or NBO2 can be configured)
- this negative slope will be available in next firmware release scheduled 2006-04-25
Guide development here:
http://vems.hu/www.vems.co.uk/VEMSWB/UserGuide/readme.html
Readme has been updated to reflect conversations on IRC.
We still need more information regarding wiring and configuration of the Round.
Most people want Tacho input for RPM.
A 'consumer grade' download for Windows users is in development here: http://vems.hu/www.vems.co.uk/VEMSWB/VEMSWideband.zip
I need to disable a few of the critical Wideband configuration settings.
Logging problem
we just experienced some unwanted behaviour:
there is no usable EGT masurement in the log,tough the EGT sensor is connected and the Round shows the correct values.//NanassyPeter
RPM problem
after connecting the tach out of the stock Honda ECU the Round reads 400-500RPM instead of the REAL 1500RPM. (are you sure about the real RPM? how many pulses per crank rotation?)
Change rpm_toothcount (decrease) or rpm_multiplier (increase).
- rpm_toothcount=01 (originally 02)
- see double-RPM experimental firmware that supports 1 pulse every second crankrot (1 every camrot).
With the suggested
- rpm_toothcount=01 (originally 02)
- it shows 25500RPM in MegaTune (FFFU on display if RPM selected) at 1500 RPM. This means that incoming pulses are way too frequent: either because RPM higher (toothcount set too low, or input noise, possibly caused by insufficient voltage-level-threshold adjustment with RPM-gndref pulldown/pullup value
- try with rpm_toothcount=02, 04, 08, 20, 50, ... or even higher value: if the pulsecount
- it shows 25500RPM in MegaTune (FFFU on display if RPM selected) at 1500 RPM. This means that incoming pulses are way too frequent: either because RPM higher (toothcount set too low, or input noise, possibly caused by insufficient voltage-level-threshold adjustment with RPM-gndref pulldown/pullup value
- Tested all, none worked, displayed/logged silly numbers like 100-1500 at a constant RPM ( RPM= appr. ...?)RPM was 1500
- this confirms that it's likely a voltage-level-threshold adjustment problem with RPM-gndref pulldown/pullup value. Document on your page what DC voltage you measure on both RPM and RPM-gndref input
Preferrably with running engine:
measure DC voltage between GND and the RPM-input, and between GND and RPM-gndref pins
- with nothing connected (expect 5V and 2.4 .. 2.8V )
- with the sensor ("input-signal") and pull up/down connected (important! the pull up/down resistor is likely wrong, and this reveals how to change)
Also measure on the output signal (that you want to measure) when connected to nothing.
- RPM reference is NOT connected.
- RPM_reference adjusts the input voltage threshold. Small variation in the "RPM_reference" doesn't effect the RPM if the signal is otherwise stable. "RPM_reference" signal only needs pulldown (or pullup) if the signal level threshold requires it (eg. indicated by 25500 RPM or unstable reading).
RPM gauge range (max RPM) can be increased in round.ini file, change the line:\nÿ1ÿ
or whatever max RPM you find appropriate if 11000 is not enough. The last values are responsible for the color-"alarms".