Good morning,
I am using the RRH62000 PM sensor and have noticed that, after some time, the sensor status byte changes from 0x0000 to 0x0004. According to the datasheet, this indicates that the "Fan speed is out of the set range." However, other data appear to be read correctly.
0x0000
0x0004
Could you please clarify what this warning might be related to?
Thank you,Matteo
Hello Matteo,
Thanks for reaching out our Community.
The value that the status byte is getting as you mention it indicates that bit 2 of the status byte is set to 1.
Which as you correctly mentioned means that the percentage for setting the speed of the fan is out of range.
The range for controlling the fan speed is from 60 % to 100% as you can see:
Have you maybe set another setting which is out of the range mentioned above?
The default value set for this is 86 %.
Also what interface are you using to communicate with the sensor.
Since the sensor is a new product recently released we haven't published yet any official sample code, however let me attach for you an Arduino example that has been developed internally:
Arduino_RRH62000_Example (1).zip
Hope it helps.
Best Regards,
IK
thank you for your answer.
I used a custom firmware I wrote looking at the datasheet. I don't write on SPEEDFAN register, so I think that the fan is at its default value. I record data for one day continuously and I see that after some hour the status byte became equal to 0x4 and then after some hour returned to 0x0. The status byte bit 2 is just related to the value of SPEEDFAN ?
Thanks.
Matteo
Thanks Matteo,
Would it be possible to share your code with us to check?
Thanks and Regards,
Hi,
I can share the driver i did for a stm32 project. I hope it can be readable for you.
RRH62000.zip
Hi Matteo,
Checked your code and it looks like you provide us the libraries you have created for this sensor.
Would it be possible to share also you main function to check?
it's difficult to share all the project since it is a part of a bigger project. I can try to share how I call the function that I define in the driver:
RRH62000_Sleep();RRH62000_Wake_Up();
Repeat RRH62000_Read_Measurements(RRH62000_data) every 3000 ms.
I also found an error (that can be present also in your example code) for parsing the temperature. To parse correctly negative temperature I must add a cast to int16_t:
temp = (float)((int16_t)(read_byte[24] << 8) | read_byte[25]) * 0.01;
Hope this helps.
Best,
Apologies for coming late back to this.
So you basically put the sensor to sleep, and than wake-up before truing to read data from it.
Generally there is no special procedure you need to do after putting the sensor to sleep. The only issue that has been reported to me by our sensor Application Engineering team is that the ZMOD inside the RRH62000 sensor doesn't wake-up after reset when the i2c/uart levels extend the recommended ones.
So probably this doesn't affect your sensor and causes the issue.
Could you please to try to power off the sensor for a while than connect it again and power on and in the function in the example we provided you there is a function called begin()
Which basically performs some initial readings from the sensor to make sure that the communication is OK.
Can you try to initialize the communication by the same way and also inside this function to try to set the fan speed to a value which is inside the recommended range (60-100%).
And than do the process you want for getting data through the sensor?
Irini
Goodmoring, I remove the sleep function and try to set the fan speed value but after a while i'm getting the error again.
Best