AFreshTiny
Formerly known as Smart-Round-Dual
Warning: the WBO2 sensor in the exhaust is ruined quickly if not heated. When the engine is running, keep the controller running too (so it keeps the sensor heated) or remove the sensor from the exhaust (and use a M18x1.5 mm plug).
[User guide] - Updated
- AfreshTiny/FirmwareUpgrade
- AfreshTiny/VoltageOutput
- AfreshTiny/WidebandCalibration
- AfreshTiny/AnalogInput
- AfreshTiny/EgtCalibration
- AfreshTiny/RpmInput
- AfreshTiny/DemoRound (display constant text, eg. shop window)
- AfreshTiny/AimDisplay (v3.x => RS232 => round displays runtime data )
Mounting
Allows mounting even with the tightest available space:
The simple factory "harness" (with the DSUB15 female) only has supply wires and a fuse:
- +12V must be connected to the fuses (the wideband sensor internal heater consumes max 3A). Red wire on the picture.
- GND must be connected to the DSUB15 connector (blue wire on the picture)
- if you need special functions, like analog output, you need to open the DSUB15 and solder wire to the chosen pin (see pinout below)
- the EGT has a green cable with green (+) and white(-) wires: 25C/mV (=40uV/C in other words) sensitivity (offset and gain calibration capability in software): 0..48mV DC input for 0..1200C (+cold junction temperature must be added, that is inside the round case, normally appr 30C) and WBO2 use separate cables):
To connect for the WBO2 and EGT functionality is trivial (including datalogging with PC). The RPM input and voltage output has some options, detailed below (these functions are rarely used, but sometimes very useful).
U-bracket mounting bracket:
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
- Self-calibrating (no setup required, just plug and play)
RPM input (VR or HALL, several trigger-types)
- 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)
Connector Pinouts
RS232 - DSUB9 female. Note that any extension cable needs to be straight through and not cross-over.
- 2: RX
- 3: TX
- 5: 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 (Lambda output signal +) - configurable as either Narrow band, wideband 0-1v through to 0-5v.
- 6: VBatt+ (12V)
- 8: analog input for conditioned signal or NTC-type temperature sensor. The input has internal pullup to 4V. As a side-effect, an unconditioned signal (TPS) can slightly be raised (recalibrate TPS, or use 10k series resistor to decrease this effect). Pressure-sensors (MAP and boost) and MAF are usually conditioned (though we heard that a certain MAF was not)
- 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/Wheel Speed input
- 11: RPM reference (input threshold can be adjusted; leave open)
- 12: 5A Power control
- 13: Power GND connect all GND-s
- 14: Power GND connect all GND-s
- 15: GND (Power or signal) connect all GND-s. If you connect this ground to the EGT- (sensor - white wire) than this can be separate from the pin14 and pin14 (pin12 and pin14 always used for powerGND)
- Also wire supply voltage to WBO2 Heater to sensor pin 3 through 5A fuse (already wired this way in the supplied harness)
- TODO: lower heater frequency (so lower radio emittance)
Testing
RPM input testing shows improvement, but not a solution.
Tested with this signal file:
http://vems.hu/www.vems.co.uk/VEMSWB/Testing/C006_800_60_5_1000_1000.zip
The following datalog was produced:
http://vems.hu/www.vems.co.uk/VEMSWB/Testing/Round_2007-04-24_beta_RPMTest.xls
The tests were done using my soundcard and speaker playing the wav file that is in C006_800_60_5_1000_1000.zip. The RPM ref was left open, and the input voltage was around 2.1vpp
- 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
Previous Releases
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 Related Software
- MegaTune
- released version (EGT -50C applied, and added RPM dialog): [round_MegaTune_2006-04-18.zip]
- obsolete: (without RPM dialog, and EGT gauge shows +50C higher): [old, obsolete version], should not be needed
- 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).
Documentation
- Guide development here:
A 'consumer grade' download for Windows users is in development here: http://vems.hu/www.vems.co.uk/VEMSWB/VEMSWideband.zip
- Round warning paper with WBO2 wire colors: http://vems.hu/download/round/docs/Round_pins1.doc
- we supply this printed paper with each round. This allows customers to push in the 6 WBO2 receptacles in the connector housing correctly (several customers asked that the WBO2 pins are not inserted in the connector housing during manufacturing, so they can pull through the firewall).
RPM and wheelspeed input
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
Known as "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.
RPM tricks
- don't forget to adjust toothcount according to the trigger pattern (pulses per rotation)
- if displayed RPM with toothcount=01 is half of real, see double-RPM experimental firmware that supports 1 pulse every second crankrot (1 every camrot). Normally it shouldn't be needed
The sensing voltage-level-threshold is adjusted with RPM-gndref pulldown/pullup resistor (yes, soldered; not configurable in software) value. Depending on the input signal specs, you might not need to connect RPM-gndref at all (eg. for 5..10V amplitude AC signal). The round device will not be harmed if you first try with RPM-gndref not connected.
First measure DC voltage on the output RPM signal (that you want to measure) when connected to nothing, but engine running.
Measure DC voltage
- between GND and the RPM-input pin. With nothing connected expect 4.8 .. 5.2V.
- between GND and RPM-gndref pin. With nothing connected expect 2.4 .. 2.8V
- if the voltage is below 2.6V, you likely need pullup resistor (old standard)
- if the voltage is appr 2.8V, you don't need pullup nor pulldown in most cases. Low amplitude VR-type signal might become more stable with 100..270k pulldown resistor (pulldown means between RPM-gndref and GND).
Mega Tune Setup
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".
Other Information
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