×

La venta termina hoyObtenga un 30% de descuento en cualquier curso (excepto paquetes)

Termina en --- --- ---

Fahrenheit to Celcius conversion in exumaster PMU client?

Instalación y configuración de PDM

Publicaciones del foro

Cursos

Blog

Artículos técnicos

Discusión y preguntas relacionadas con el curso Instalación y configuración de PDM

= Hilos resueltos

Autor
1090 Vistas

I have tried my fingers off but cant get correct settings for it. 5 times and divided by 9 and ofset of -32 gets strange results like 16 C if you use 0 decimal and 90 for devider OR 45,6 C if one decimal and the 9 as devider? It should be 31 like it is in my tunerstudio project for ms3pro gen1. Farenheit I can get correct 87 F on PMU16 CAN message if I change my project to fahrenheits so I have the correct CAN message setup.

First, how is the data transmitted? If you don't know then....

Tell us what the sending device shows as the temperature (and unit -- i.e. 20degC). Then show what the receiving device gets if you use a multiplier = 1, divisor = 1, offset = 0. (Perhaps 200 or 2.00, or 680 or 68). Does the receiving device have unit conversion (can you select C or F for display?)

Then we can advise.

As David said, the CAN messages will be transmitted as a complete number, so 20.0 degrees will come across as 200 in the data, this value is then manipulated by the Multipler, Divisor and Adder to convert it into the correct value, this value is then modified again by the channel settings to apply the decimal point into the correct location.

The maths involved using MoTeC hardware, and most other hardware if it follows CAN Standards.

Channel Value = (Raw CAN Data * Multiplier/Divisor + Adder)*Base Resolution

Sending unit has 31 degC on tuner studio gauge. PMU client shows 871 before handling as CAN message is in fahrenheit, 500kbit, big endian and signed (http://www.msextra.com/doc/pdf/Megasquirt_CAN_Broadcast.pdf) so the message transfers fine in Fahrenheit

MAT is 16bit at 1520 + 2, offset 4 in 'advanced real-time data broadcast' OR

16 bit at 1512 + 1, offset 4 in 'simple dash broadcast'

PMU client has 16bit, big endian, signed, multiplier, divider, offset and decimal fields to alter BUT not C to F or F to C conversion/setting that I know of.

Archivos adjuntos
  • MAT-conversion.png
  • Solo los miembros Gold pueden descargar archivos adjuntos. Obtén más información sobre cómo convertirte en miembro Gold aquí.

The problem is to convert F to C, you need to subtract 32 from the F value before multiplying by 5 / 9. Since the value on the bus is 871 (i.e. units are .1 degF), the proper equation would be (871 - 320) * 5 / 9 = 306 or 30.6 C,

We can re-arrange this as (871 * 5 / 9) - (320 * 5 / 9) = 871 * 5 / 9 - 177 = 306 or 30.6 C.

So make your multiplier 5, divisor 9, and offset -177

If you want whole degC as the output (instead of .1degC), then Mult = 5, Div = 90, offset = -17.

Thanks a million . Never would have figured out that some simple math can massage the offset like that.

Generalmente respondemos dentro de las 12 horas (a menudo antes)

¿Necesitar ayuda?

¿Necesitas ayuda para elegir un curso?

¿Tiene dificultades con el sitio web?

¿O necesita contactarnos por cualquier otro motivo?