Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Issue with pH module
#1
I started having trouble all of a sudden with my pH module that came with my Robo-Tank setup.   It has been working fine, but now I am getting errors in reef-pi stating ph subsystem: Failed read probe:HensReefTank pH MonitorError:write /dev/i2c-1: remote I/O error
If I run a sudo i2cdetect -y 1 I only get 40 and 70.  I would expect to see a value for the pH module....but I do not even though it came with the unit.  Any idea?
Reply to top
#2
Hi Athensley, sorry to hear, I think I know what's wrong and it's not good. This has happened a couple times, it appears something can happen causing the eeprom on the pH circuit to get erased so it loses the I2C address, the kicker is the defaults can't be reset without using I2C so basically it's bricked without a programmer. I've since made some changes that should prevent this and added a small jumper on board that can reset the defaults without I2C if it happens but yours is too old if I have your identity correct. Send me an email so I know for sure who this is and I'll get another circuit shipped out to you. Sorry for the trouble.
Reply to top
#3
Hey Rob....this issued has returned.  I had to a SD card failure on Pi and had to reinstall the OS and reef-pi.  I am using your Robo-Tank Isolated pH Circuit for reef-pi module now since the first time this happened we determined it was a faulty chip on the board.  I have this unit connected to the extra i2c on the Robo-Tank but when I am trying to configure the ph probe I am getting that same error I originally got when the onboard ph probe failed.  The error: write /dev/i2c-1:remote I/O error | HTTP 404.  and no data is following.

When I run the sudo i2cdetect -y 1 I get three addresses though (40, 62, 70).  What am I missing here.  I have searched around and cannot get an answer.  Is there something I needed to do before to allow the extra ph probe to work?


Attached Files Image(s)
   
Reply to top
#4
Hi Athensley, this is happening because I program the pH module with a different I2C address than what's on the controller. The controller's pH is address 0x63 but the module is 0x62 like the i2cdetect.

To fix go to configure, drivers and edit the pH driver, change the address from 99 to 98. Then go to the admin tab and press the reload button. It should be ok then.
Reply to top
#5
(08-20-2021, 06:21 PM)Rob F Wrote: Hi Athensley, this is happening because I program the pH module with a different I2C address than what's on the controller. The controller's pH is address 0x63 but the module is 0x62 like the i2cdetect.

To fix go to configure, drivers and edit the pH driver, change the address from 99 to 98. Then go to the admin tab and press the reload button. It should be ok then.
Rob-
That did it.  I recalled you mentioning some kind of change like this before....I just could not find the thread where we were discussing it.   Thanks again!
Reply to top
#6
No problem, glad you got it going.
Reply to top
#7
Rob,

Think I might be having the same issue with my system (version 1 hardware). Sent you a PM about it as well.

Thanks,
Matt
Reply to top
#8
Hi Matt, sorry to hear about this, good chance it finally got hit with low voltage and corrupted the code. Doing a reset may get it working, here's a few images showing how to do it depending on which version of v1 controller you have.

If you have RevE or later board you should see a small jumper marked "reset", it's the top red circle in image below. If you have the jumper short it out for at least 3 seconds, when it resets the LED (bottom circle) should blink 3 times. Sometimes it can be difficult getting a good contact when shorting it so you may need to scratch the pads a little to get good contact.

[Image: top_reset.jpg]

If you don't have that jumper you can reset by shorting out the 2 red pins in the image below. This one you need to be careful to not short out the other pins on the IC. This one could also take up to 10 seconds to reset, it feels like an eternity but if shorted correctly it should blink 3 times as well.

[Image: pH_reset.jpg]

After resetting power cycle the controller and run the i2cdetect command again to see if it reappears. 

If the reset doesn't work I have no problem sending you another circuit.
Reply to top
#9
Rob,

Have the Rev C board. Tried shorting those marked points for 15 seconds while powered on and the LED never flashed. Also, tried having them shorted while applying power to the board and the LED flashed after a second or so, but then stayed solid for 15 seconds.

The LED does flash 3 times every time the board is powered so I don't think the 3 flashes from my second method actually signaled reset, just initialization. Still not showing the pH address of 99 when running i2cdetect command so don't think either reset worked. Confirmed the I2C bus is functioning as well by connecting a PCA9685 board with a different address (0x41) up and it does show up when I run the i2cdetect command.

Sent you a PM about info for sending a circuit out. In the interim since I have the tank running without the controller and the board is out of the system, provided I have a programmer for an TINY85 is it possible to re-flash the chip with the correct information?

Thanks again for all the help,
Matt
Reply to top
#10
Thanks for trying, that only worked half the time depending how much of the code got corrupted. If you can reprogram it that should definitely fix it and it shouldn't happen again in the future as the low voltage detection will be enabled, this setting I didn't know about in the beginning and turns the ATtiny85 off before this can happen, since I started enabling that the problem went away. I'll send you an email with all the details as it's a little complicated but I'm guessing you've programmed these before.
Reply to top


Forum Jump:

Current time: 04-23-2024, 06:32 PM