Shop OBEX P1 Docs P2 Docs Learn Events
MLX90614 module — Parallax Forums

MLX90614 module

deadmmdeadmm Posts: 1
edited 2011-05-21 18:30 in General Discussion
Hi

Just got one of the MLX90614 IR modules and can't get it to respond (not using a Stamp but another microcontroller, replicating the Stamp examples)

Have tried what seems to be the default slave address $5A, have stepped through all possible addresses, have tried true and inverted logic polarity and different baud rates
My logic analyser show the correct (I assume ) commands being issued. The module holds the comms line high but gives no responses. Have tried resetting the module while powered up.

In ascii the codes I'm sending look like this {000}!TEMRZ{07} where {000} is the 0 starting byte, Z is the H5A address and {07} is the register to read
Have also tried !ID in place of !TEMR with all possible addresses including the universal {00} address.

Putting a scope on the actual IR module I can see activity that makes me think that it's working so I suspect the onboard microcontroller. It seems to be connected properly and has a 8MHz clock on the proper pins

Questions

Are there any other commands to test the onboard microcontroller? Any way to find the slave address other than !ID? Would a Stamp send the seial comms strings differently - mine are continuous ie no gaps , though I have tried inserting a variable gap between the initial {000} and the "!" with no effect.
Or is it just defunct!!

Regards

Mal

Comments

  • Alex_NYAlex_NY Posts: 3
    edited 2009-04-22 17:41
    I couldn't receive any reply from my modules too...

    I've tried to write to the EEPROM first. [noparse][[/noparse]0,"!TEMW",$5A,$2E,$1A,"z"]. And 0,"!TEMc",$5A,$07. But didn't work...

    Yes, I am using a RS232-TTL converter.
  • SamWSamW Posts: 27
    edited 2009-04-25 05:33
    Hey guys I had the same problem you are having. I spoke with the folks at parallax and they helped me fix the problem. There are three steps to fix your issue.
    First go to the MLX9016 web page on the parallax site and click on MLX90614 BASIC Stamp 2 Example Source.zip.
    Next you have to down load and run “write EEPROM”. If you don’t you, will not get the thermometer to work.
    Finally you should be able to download and run “demo-simple”.
    That should fix your issue if you are using the basic stamp 2. I really cant speak other micro controllers, I'm just now learning BS2.
  • ruperthartruperthart Posts: 17
    edited 2009-06-26 22:59
    Alex, did you get this to work? Mine works with the BS2, not with any other processor. R
  • theinventor1972theinventor1972 Posts: 1
    edited 2011-05-21 18:30
    It's Working! on BS2SX
    the MLX90614 only with SIG connect and 5Volts from pin 6 (define in constant)
    ' {$STAMP BS2sx}
    Sensor CON 3
    volts CON 6
    '
    [ Constants ]
    baud CON 240
    xslave CON $35 'new slave address
    '
    [ Variables ]
    temperature VAR Word
    tempL VAR temperature.LOWBYTE
    tempH VAR temperature.HIGHBYTE
    PEC VAR Byte
    Kelvin VAR Word
    KelvinDec VAR Word
    Celsius VAR Word
    CelsiusDec VAR Word
    Init:
    LOW volts 'apago MLX
    HIGH volts 'prendo MLX
    PAUSE 300
    getTemperature:
    SEROUT Sensor,baud,[0,"!TEMR",xslave,$07] 'sino va -> FAIL
    SERIN Sensor,baud,[tempL,tempH] 'sino va -> temp: 273
    convertTemperatures:
    Kelvin = (temperature/100)*2
    KelvinDec = temperature*2
    IF (temperature < 13650) THEN overWordsize
    Celsius = (temperature/50)-273
    CelsiusDec = (temperature//50*2)
    GOTO displayTemperatures
    overWordsize:
    Celsius = (273-(temperature/50) )
    CelsiusDec = (temperature//50*2)
    DEBUG "-",DEC Celsius,".",DEC2 CelsiusDec
    displayTemperatures:
    DEBUG "Temp: ",DEC Kelvin,".",DEC1 KelvinDec, "K", CR
    DEBUG "Temp: ",DEC Celsius,".",DEC2 CelsiusDec,"C", CR
    DEBUG "Pass", CR
    PAUSE 300
    DEBUG CLS
    GOTO getTemperature
    PECfail:
    DEBUG 23, 4,CR
    DEBUG 23, 5,"Fail",CR
    PAUSE 10
    GOTO Init
    The Key is turn off and on the module in the beginig of code!!
    But i Need help to got it work on a PIC16F628A or PIC1684A
    I migrate the code with proton x compiler, everything look fine, but i can't make the MLX90614 respond!.

    i need help to make 'it in PIC micro

    good luck everybody, sorry for my english, i cam from Chile
Sign In or Register to comment.