###### ## ## ## ######
____ / __ \ | | | | | | | | | |__| | \___\_\
##### ## ## ## ## ## # ####
_ _ ( ) ( ) `\`\_/'/' `\ /' | | (_)
### ## ##### ## ## ##
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: == 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). [http://vems.hu/www.vems.co.uk/VEMSWB/UserGuide/README.html quickstart guide] * AfreshTiny/FirmwareUpgrade * AfreshTiny/VoltageOutput * AfreshTiny/WidebandCalibration * AfreshTiny/EgtCalibration * AfreshTiny/RpmInput == Mounting == Allows mounting even with the tightest available space: http://www.vems.hu/files/sensors/WBO2/Round_WBO2_EGT_Flyingloom_0007_m.jpg http://img.photobucket.com/albums/v210/30psi/DSCN1145s.jpg * '''+12V must be connected to the fuses''' (the wideband sensor internal heater consumes 1..3A). Red wire on the picture. * '''GND must be connected to the DSUB15 connector (blue wire on the picture)''' 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: http://www.vems.hu/files/sensors/WBO2/Upcoming_Mounting_Style_0007_m.jpg 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) http://shop.vems.hu/catalog/images/Round_lambda_EGT_0003_s.jpg ---- == 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) http://vems.hu/www.vems.co.uk/RoundUserManual/15PinPort.png ---- ---- == Firmware Releases == The current release is listed first, other releases may remain for historical reasons. '''Firmware upgrade does not change the factory configuration''' saved in EEPROM. Even if we add new variables to firmware, we keep the old variables in place. You can revert to default config (wbo2, EGT, etc...) if you write 00 or 255 into wbo2_pump_pw_zero, save and reboot. However, that should not be necessary. It reverts to wbo2_pump_pw_zero=0x65 and egt_offset=0xC0 so you might want to adjust pump_pw_zero (best values vary from 0x62..0x68 for a certain controller) and egt_offset (easy, looking at the temp, especially if the sensor is room-temp or an alligator clip is used on the EGT terminals) === Current Release === * [http://vems.hu/www.vems.co.uk/VEMSWB/RoundFirmware01.zip OLD RoundFirmware01.zip] Includes the 2006-04-11 Firmware, MegaTune, and the User Readme * [http://www.vems.hu/download/round/round_2007-04-25.zip NEW round_2007-04-25.zip] ** TODO: more RPM-input tests (for noisy signals) ** 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 * [http://www.vems.hu/files/Firmware/Round/RoundLoader_firmware01.zip OLD 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 === 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): [http://www.vems.hu/files/Firmware/Round/round_MegaTune_2006-04-18.zip round_MegaTune_2006-04-18.zip] ** obsolete: (without RPM dialog, and EGT gauge shows +50C higher): [http://www.vems.hu/files/Firmware/Round/round_2006-03-28.zip 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) * [http://kapsi.fi/~mpeippo/vems/round/roundlogger_v001.zip 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: http://vems.hu/www.vems.co.uk/VEMSWB/UserGuide/README.html A 'consumer grade' download for Windows users is in development here: http://vems.hu/www.vems.co.uk/VEMSWB/VEMSWideband.zip ----- == 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 === 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 [http://www.vems.hu/files/Firmware/Round/round_2005-05-03-doubleRPM_firmwareonly.zip 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: <code> tachometer = rpm, "Engine Speed", "RPM", 0, 8000, 300, 600, 3000, 5000, 0, 0 to tachometer = rpm, "Engine Speed", "RPM", 0, 11000, 300, 600, 3000, 7000, 0, 0 </code> 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 ---- '''Input from user''' * 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 *Lenne egy kerdesem az analog bemenettel kapcsolatban. A folytoszelep jelet akartam logolni vele. A jel alapban 0.5V-3.5V mozog, ha rakotom az analog bementre akkor 0.9V-tol 4V-ig. Emelett a programban sem a Misc1 sem a Misc2 nem mutat semmit, feltetelezem ezeknek kellene. Lehet vmi beallitas? Hogy lehetne orvosolni ezt. ---- '''Demo round''' To display 0.87 lambda (eg. for photo), the command Manmdc00mdlb0mdc01mdl38mdc02mdl37 can be used. The displayed text is lost on powerdown. It is also possible to display constant text (that remains after power-cycle) for demo purposes. Yell if you need it ---- '''Recover from interrupted firmware upgrade''' For round, if firmware upgrade is interrupted, the serial loopback method will NOT work. Either it will stay in bootloader by itself, or only 'S' flooding will work: send a file from TerminalProgram full of "SSSSSSSSSSSSSSSSSSSSSSSSSSSSS" (make it 6..30kbyte to be convenient, because it sends appr 2kbyte/sec) in 19200,8n1 while the round is powered up; than any standard firmware upgrade tool like roundloader should be able to communicate and upgrade firmware Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.