or Connect
AVS › AVS Forum › Display Devices › Plasma Flat Panel Displays › Panasonic 11G/12G/13G black levels have seemingly doubled overnight?
New Posts  All Forums:Forum Nav:

Panasonic 11G/12G/13G black levels have seemingly doubled overnight? - Page 360

post #10771 of 11163
Quote:
Originally Posted by Goo View Post

Interesting, is there a list of which models can be reset without opening the case?

I have a G25 Gen 13 panel that has diminished black levels but I am not experienced in working with electronics, so I would be very hesitant to open my display to reset the clock.

I think that such list will never exist, at least without Panasonic restricted doc leakage.

There are several A-board P/N and firmware version could play a rule in the game.

The PCB "via" is VERY small, details in published photo are magnified by a big factor, stay away from it if you do not have a real good soldering skill.

The first time i tried the I2C programmer on service connector i did not touched that PCB trace at all, and after a successfully EEPROM reading at address 0x50, i discovered with BIG surprise that also write function is working without any problem.

Even so, out of curiosity, i soldered a small PTFE wire wrap wire on that PCB "via" and i checked its logic level with and without placing service connector PIN 10 to GND.

With PIN 10 tied to GND, turning on the TV set two things happen :

- the TV panel does not turn on, no sound is produced, green light present
- the EEPROM write enable line goes active (logical low state)

If you are able to build the programming cable, using the following lines :

-3 GND
-8 PANEL_SCL (PANEL EEPROM)
-9 PANEL_SDA (PANEL EEPROM)
-10 I2C_CONT

in conjunction with an I2C EEPROM reader / writer, sure the job worth a try.
I found the needed 2 mm pitch female connector inside an electronic scrap box.

All lines are working with 3.3V voltage standard and all are internally "pull-upped" (GND excluded, of course ...), so I2C programmer can access the interface with "open collector" / "open drain" configuration (so i did).

Just out of curiosity, how ended the lawsuit (about this matter) against Panasonic in US ?
post #10772 of 11163
Big thanks to MARKONE and clktmr!

Since I own TX-P42G10E (which might have EEPROM writable without the via hack), I might get myself I2C reader/writer and try that reset myself. What I2C device/SW would you recomend (some cheap one-purpose device)? If I understand it correctly, I need to connect two cables from I2C to pins 8,9 and short pins 3,10, right? How do I find out, if the address 0x50 is correct for my TV as well? E.g. if I read the next six registers, how do I convert it to actual usage hours? Is it stored in seconds or minutes or whatever?
post #10773 of 11163
Quote:
Originally Posted by mironto View Post

Big thanks to MARKONE and clktmr!

Since I own TX-P42G10E (which might have EEPROM writable without the via hack), I might get myself I2C reader/writer and try that reset myself. What I2C device/SW would you recomend (some cheap one-purpose device)? If I understand it correctly, I need to connect two cables from I2C to pins 8,9 and short pins 3,10, right? How do I find out, if the address 0x50 is correct for my TV as well? E.g. if I read the next six registers, how do I convert it to actual usage hours? Is it stored in seconds or minutes or whatever?

Yes, pin 3 shorted to 10, also used as I2C programmer ground reference, in conjunction of pin 8 & 9 (SCL and SDA).

If you want to stay "on the cheap", an Arduino board may come in handy (with proper code modification) : http://fritzing.org/projects/readwrite-serial-eeprom-via-i2c/

There are even cheaper solution like http://www.lancos.com/e2p/easyI2Cbus.gif (DO NOT mount R3, R4 and R7) with its SW (Ponyprog), but i would prefer the first one due to its capability to write only the desired memory locations and to be used without a PC.

Regarding the 0x50 in place of 0xA0, refer to the following Device Addressing explanation (taken from the web) :

A control byte is the first byte received following the Start condition from the master device. The control byte consists of a 4-bit control code, typically set as ‘1010’ binary for read and write operations. The next three bits of the control byte are the Chip Select bits (A2, A1 and A0).

The Chip Select bits allow the use of up to eight devices on the same bus and are used to select which device is accessed. The Chip Select bits in the control byte must correspond to the logic levels on the corresponding A2, A1 and A0 pins for the device to respond. These bits are in effect the three Most Significant bits of the word address.

The last bit of the control byte defines the operation to be performed. When set to a one a read operation is selected and when set to a zero a write operation is selected.




In our case EEPROM A2,A1 and A0 lines are hard wired to GND on A-Board PCB, so the the resulting Slave Address is : 1010000 binary then 0x50 hex, Read / Write bit is not part of address binary code.

After that, when you initialize I2C device to write sequence at addr 0x50, you place on the bus the value of 0xA0, but this is a different story.

Remember always that TV internal logic works with 3.3V supply and SDA & SCL lines are already pulled-up to that potential inside TV set.

NEVER USE 5V for anything on that connector.

Also, I would suggest some programming practice on a discrete I2C EEPROM (as i did) before to proceed with the plasma TV.


Regards,
Marco.
post #10774 of 11163
Ugh, if only I understood completely what you're trying to tell me smile.gif

I would like some simple device which I could connect to PC and run some application, where I can read/write to I2C bus.
If I get something like this http://www.robot-electronics.co.uk/htm/usb_iss_tech.htm, set the jumper to operate at 3.3V and set it to I2C mode ,will it work? From what I understand, the slave address is only first 7 bits. The EEPROM is first (or only?) device on the bus, thus setting A2 to A0 to 0. That equals to 0x50. If I want to write to EEPROM, I put a 0 at the end for reading, resulting in 10100000 = 0xa0. If I want to read, I put a 1 at the end, resulting in 1010001 = 0xa1?
post #10775 of 11163
Yes, it should work, but it's not the easiest way.

Download a 24Cxx datasheet to see the complete RD / WR I2C sequences.

As example, the single byte write is :

post #10776 of 11163
Can't believe the number of replies to this, how many model(s) does this affect? Not being able to produce a true black could mean other colors are affected, whats the overall colour like?
post #10777 of 11163
Quote:
Originally Posted by MARKONE View Post

Yes, it should work, but it's not the easiest way.

Download a 24Cxx datasheet to see the complete RD / WR I2C sequences.

As example, the single byte write is :


So what would be the easiest way?
post #10778 of 11163

Some semi-random thoughts..

 

  • If the procedure is the same for all devices, and the connector is fairly common (two or three connectors for a dozen or so TV models), then it should not be terribly difficult to spin a small custom board with microchip PIC or MSP430 or other small processor (I think these would be less expensive than arduino).
  • If such a small PCB were designed, a simple LCD display could be integrated as well as a couple selection buttons.. Alternatively if the properly qualified people were involved, you could scale it up with something like smartphone integration. This would obviously ramp up cost and complexity quite a bit, but given enough money and interest and the proper programmers, not impossible.  I suspect it wouldn't get THAT fancy (it's a pretty specialized, limited market device).  But I also don't know who would be interested in developing and/or paying for the device.
  • If such a simple dedicated device were designed, one could read the current value from the memory address, allowing the owner to make note of it in the TV manual or something else in case anything went wrong, they would know what to restore to; alternatively, they could fiddle with different values in case a "full reset" caused misfiring pixels over time.
  • Furthermore, a simple device could be programmed to be powered off the debug connector (if there is power available), or two AAA's if not, and a simple mode-select switch could be installed to the device where the owner can simple flip the switch and when the TV powers on, the preselected value would be written.  Power off TV, flip switch back to "off" mode, and power back on TV.  The device could be installed once with the cable hanging out the back of the panel through a vent slot, and the user can simply reset to their desired level as often as they wanted.

 

I do not have the time to debug and answer the necessary questions, but I have the time and the skill to design a small board, build it, populate it, program it, and distribute it.  I would estimate decently high quantities (100pc orders) I could get a professionally built system for around $100 per board.  That may be worth some people's while.  Over time I might be able to do it for less, but not initially.

 

Actually, for $100, maybe arduino may in fact be cheaper, or some other pre-built small device (msp430, pic, fpga, freescale, etc) evaluation board that happened to have the right "basic features" from which to build a solution. That would drive down both upfront cost and development time.

 

If anyone would like to team up and develop a plan, I would be interested in working with them.  I would (realistically) estimate product to be available in 6-12 months after funding kickoff.  Maybe a kickstarter campaign would be the way to go on this.  But that's only after the legwork was done to determine just how many models were actually supported, which connectors they use, which pinouts those connectors use, and whether or not the same addressing and memory mapping is used on each model.

 

IMHO, unless those answers are met, this trick is going to be relegated to technnoids with a lot of time on their hands.

 

my two cents.

..dane

post #10779 of 11163
Quote:
Originally Posted by mironto View Post

So what would be the easiest way?

You have to manage I2C ACK E2PROM answers to be sure that everything is working right, so you need something that has a "ready to use" data segment read/write functions, as Arduino platform actually do.

You also have to consider that it will not be one time operation, it has to be repeated periodically, possibly with a standalone device with a push button and a led
indicator.

With proper code, made starting from Arduino examples, you would attach the device, turn on the TV, hit the button to trigger a sequence like :

- read E2PROM first seven bytes
- in case of success, write Zeros where needed
- re read E2PROM first seven bytes and light up LED indicator if they are actually Zero.

I never used Arduino platform and nowadays i do not have spare time to develop such code, but i think that everyone with a base programming skill should
reach the target within one day of work.
post #10780 of 11163
I own a 54V10. I would absolutely be interested in trying this out on my set.

Unfortunately I know a bit about hardware, but not software. I've never heard of I2C prior to this thread.

That being said, I have no issues (other than pulling my set off the wall) in trying this out on my V10.

However I would need some very specific instructions (a walkthrough, if you will) on what to aquire and exactly what to do regarding the software.

That would at least give us info on the V10 series.


Its kind of exciting to think I could see my set the way it used to be.
post #10781 of 11163
I'm with steve I own the 54V10 and am interested in try IC2
post #10782 of 11163
Panasonic has deceived a lot of people with these panels and for that I will never buy another Panasonic TV.
post #10783 of 11163
Quote:
Originally Posted by Dust Bubble View Post

Panasonic has deceived a lot of people with these panels and for that I will never buy another Panasonic TV.

Dont make the mistake of anthropomorphizing a big company - in nearly all cases, the perception of active deception is rather more the product of mundane bureaucracy, time pressure, budgets and human oversight...
post #10784 of 11163
Quote:
Originally Posted by praktik View Post

Dont make the mistake of anthropomorphizing a big company - in nearly all cases, the perception of active deception is rather more the product of mundane bureaucracy, time pressure, budgets and human oversight...

You could be right, but my 50G10 looks doubtless like crap with risen black, no way to consider it within specification, no need to be a video scientist to understand that.

I'm sure that also Panasonic's techs know precisely the size of the problem, but this has been never admitted for pure money convenience.

Therefore, after 25 years of customer fidelity, in the future i will be oriented toward different brands.
post #10785 of 11163
Quote:
Originally Posted by MARKONE View Post

You have to manage I2C ACK E2PROM answers to be sure that everything is working right, so you need something that has a "ready to use" data segment read/write functions, as Arduino platform actually do.

You also have to consider that it will not be one time operation, it has to be repeated periodically, possibly with a standalone device with a push button and a led
indicator.

With proper code, made starting from Arduino examples, you would attach the device, turn on the TV, hit the button to trigger a sequence like :

- read E2PROM first seven bytes
- in case of success, write Zeros where needed
- re read E2PROM first seven bytes and light up LED indicator if they are actually Zero.

I never used Arduino platform and nowadays i do not have spare time to develop such code, but i think that everyone with a base programming skill should
reach the target within one day of work.

Ok, I'll try to get arduino. There are so many versions out there and I have no idea, what should I get. I've searched for arduino uno or nano, but all of them state that the operating voltage is 5V.
http://www.ebay.de/itm/UNO-R3-2012-version-ATmega328P-ATmega16U2-Compatible-Arduino-Free-USB-Cable-/300917137845?pt=Wissenschaftliche_Ger%C3%A4te&hash=item46100f21b5#ht_2439wt_1235
http://www.ebay.de/itm/SainSmart-Arduino-Nano-V3-ATmega328P-Board-Schield-Mini-mit-USB-Kabel-93250-/171037461967?pt=Wissenschaftliche_Ger%C3%A4te&hash=item27d2a08dcf
Is that ok for the 3.3V I need on I2C bus?
post #10786 of 11163
Quote:
Originally Posted by mironto View Post

Ok, I'll try to get arduino. There are so many versions out there and I have no idea, what should I get. I've searched for arduino uno or nano, but all of them state that the operating voltage is 5V.
http://www.ebay.de/itm/UNO-R3-2012-version-ATmega328P-ATmega16U2-Compatible-Arduino-Free-USB-Cable-/300917137845?pt=Wissenschaftliche_Ger%C3%A4te&hash=item46100f21b5#ht_2439wt_1235
http://www.ebay.de/itm/SainSmart-Arduino-Nano-V3-ATmega328P-Board-Schield-Mini-mit-USB-Kabel-93250-/171037461967?pt=Wissenschaftliche_Ger%C3%A4te&hash=item27d2a08dcf
Is that ok for the 3.3V I need on I2C bus?

UNO R3 2012 version would be better, cheaper and easier to handle.

About I2C interface voltage, SDA & SCL lines will be from open drain I/O, left polarized by ABOARD 3.3v circuit pull up resistors.

In your place i would buy also a cheap I2C E2PROM, like an 24c64, to make programming practice.
post #10787 of 11163
I'll get UNO R3 2012 then. If I buy 24c64 from this eBay offer, how do I connect it to arduino?

Sorry for so many questions, but maybe if you could guide me through it on my set, anybody could do it in the end biggrin.gif Thank you very much.
post #10788 of 11163
"...but maybe if you could guide me through it on my set, anybody could do it in the end"

Ha Ha, that is exactly what I am hoping for. If I have a very clear understanding of what to do, I will gladly give it a try on my 54V10.
post #10789 of 11163
Me as well on my 54V10 ha ha!
post #10790 of 11163
Just an idea, if a guide were to be created, it could be offered via a donation system like renethx does with the HTPC guide. Maybe if someone was compensated for this, it might move the process forward. I'm sure there are MANY of us G10 owners willing to fork over some $$ to get our sets looking like they did when we bought them.
post #10791 of 11163
Quote:
Originally Posted by sdolen View Post

Just an idea, if a guide were to be created, it could be offered via a donation system like renethx does with the HTPC guide. Maybe if someone was compensated for this, it might move the process forward. I'm sure there are MANY of us G10 owners willing to fork over some $$ to get our sets looking like they did when we bought them.

+1

smile.gif
post #10792 of 11163
Alright, so I ordered Arduino Uno R3 2012 and I²C Bus EEPROM: 24C64/M24C64-WBN6P DIP-8, total about 14 EUR. Hopefully I'll get the goods soon and can start testing on the EEPROM.
post #10793 of 11163
Quote:
Originally Posted by mironto View Post

Alright, so I ordered Arduino Uno R3 2012 and I²C Bus EEPROM: 24C64/M24C64-WBN6P DIP-8, total about 14 EUR. Hopefully I'll get the goods soon and can start testing on the EEPROM.

Great. Please keep us updated.

I haven't been this excited about my TV since the moment before I started reading this thread all those years ago.
post #10794 of 11163
There are several examples on the web, just type "ARDUINO I2C EEPROM" on google.

For instance : http://playground.arduino.cc/code/I2CEEPROM
post #10795 of 11163
Yesterday I received Arduino and also the chip. Hopefully I can set it up over the weekend and start testing reading/writing to EEPROM.

Edit: Seems I was successful setting up my testbed. I hooked up the M24C64 chip to the arduino (actually it's called funduino on the PCB) uno according to the schematics and I was able to read/write from/to the EEPROM with the help of two functions i2c_eeprom_read_byte()/i2c_eeprom_write_byte() MARKONE posted above. I altered the sample code to be able to read/write from given address required number of bytes so I should be now able to read first 7 bytes from my Pany's EEPROM (and check it against actual panel age timer to make sure I have the right address) and zero the bytes to reset the panel.

@MARKONE, could you please help me out what conversion I need to make from to raw data to get the actual panel age? Is the age stored in seconds, minutes, or some proprietary mumbo-jumbo? I will probably have a go at it again next weekend so I might start looking for a TV replacement during the week to have a replacement if anything goes wrong eek.gif

If anyone's interested, here's my test setup:

Edited by mironto - 6/30/13 at 7:01am
post #10796 of 11163
Hi!

I got a 42S10 and been following this thread for a while. I even plan to get an Arduino just for this purpose and did some research.
As far as I know, the arduino using the wire library drives the SDA and SCL lines from 5V with the ATmega's internal pull up resistors. Although these are relatively large, but still, i wold disable them. You can do this by changing the twi.c file:
Quote:
// activate internal pullups for twi.
digitalWrite(SDA, 1);
digitalWrite(SCL, 1);
The digitalWrite lines should be deleted/commented, but I am not sure about it, checking it with a voltage meter is advised.

Sadly I don't know much more about it, never used an Arduino nor anything similar.
I hope my post is helpful.
Edited by krass - 7/1/13 at 1:35am
post #10797 of 11163
mironto - thanks for keeping us updated.
post #10798 of 11163
Quote:
Originally Posted by krass View Post

Hi!

I got a 42S10 and been following this thread for a while. I even plan to get an Arduino just for this purpose and did some research.
As far as I know, the arduino using the wire library drives the SDA and SCL lines from 5V with the ATmega's internal pull up resistors. Although these are relatively large, but still, i wold disable them. You can do this by changing the twi.c file:

The digitalWrite lines should be deleted/commented, but I am not sure about it, checking it with a voltage meter is advised.

Sadly I don't know much more about it, never used an Arduino nor anything similar.
I hope my post is helpful.

I don't understand what you just wrote, but from this...
Quote:
Originally Posted by MARKONE 
About I2C interface voltage, SDA & SCL lines will be from open drain I/O, left polarized by ABOARD 3.3v circuit pull up resistors.
...I guess I don't need to change anything on the Arduino, just connect SDA & SCL lines to ANALOG IN A4 & A5?
post #10799 of 11163
The EEPROM in itself does not power the SDA and SCL lines. In the test setup you tried the I2C communication, the lines were powered by the Arduino. In case of the TV the lines are powered by the A-board pull-up resistor, so we don't want the Arduino to power these lines, especialy not with 5 V. If you changed the twi file, you shouldn't be able to communicate with the EEPROM with the same layout. However if these lines are powered externally (as in the Pana's A-board), the communication should be OK.

Simple put:
With the changed twi file the Arduiono should not be able to communicate with the EEPROM unless the lines are powered by external pull-upp resistor. This means it would work safely with the service port on the A-board.

How to try this? Modify the twi file. After this the communication should not work. Next just connect the SDA and SCL lines to the Arduino's Power pin with -for example- 10K resistors (in this case the 3.3V or the 5V ) and also to the SDA and SCL pins of the Arduino. This way the communication should work again, and you can safely use the Service Port.

Hope this clear things up a bit.
post #10800 of 11163
Quote:
Originally Posted by mironto View Post

Yesterday I received Arduino and also the chip. Hopefully I can set it up over the weekend and start testing reading/writing to EEPROM.

Edit: Seems I was successful setting up my testbed. I hooked up the M24C64 chip to the arduino (actually it's called funduino on the PCB) uno according to the schematics and I was able to read/write from/to the EEPROM with the help of two functions i2c_eeprom_read_byte()/i2c_eeprom_write_byte() MARKONE posted above. I altered the sample code to be able to read/write from given address required number of bytes so I should be now able to read first 7 bytes from my Pany's EEPROM (and check it against actual panel age timer to make sure I have the right address) and zero the bytes to reset the panel.

@MARKONE, could you please help me out what conversion I need to make from to raw data to get the actual panel age? Is the age stored in seconds, minutes, or some proprietary mumbo-jumbo? I will probably have a go at it again next weekend so I might start looking for a TV replacement during the week to have a replacement if anything goes wrong eek.gif

To be honest i have not even tried to "translate" the raw counter binary format, i was in the hurry to see if the "cure" was actually working ;-)
One strange thing that i remember is that the first EEPROM byte was equal to zero before the "cure" and afterwards changed to something else.

Right now, that about two hundred of working hours have gone from reset procedure, the blacks are still excellent.
As soon as i observe the expected rise, i will report the first seven byte values.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Plasma Flat Panel Displays
AVS › AVS Forum › Display Devices › Plasma Flat Panel Displays › Panasonic 11G/12G/13G black levels have seemingly doubled overnight?