Welcome! Log In Create A New Profile

Advanced

Are there bugs in the BV4618?

Posted by bobcroft 
Are there bugs in the BV4618?
March 23, 2013 08:49PM
I have a BV4618 connected to a 4*3 keypad and a 4*20 LCD and I believe I have identified two bugs.

1. if a character is sent to the last position (20) of row 4 the display scrolls up and the top line is lost. This is despite turning the cursor off. As an aside it would be useful if the cursor off was included in the library commands. This scrolling behavior is wrong because sending a character to the last location on a row should not cause scrolling, it does not happen on rows 1,2 or 3.

2. The BV4618 are powered from the Arduino via the USB power supply as is the LCD. If the USB lead is unplugged whilst the Arduino is running the whole system shuts down, as one would expect! However, upon re-applyig the power, occasionally the LCD displays a default I2C address of 0xFF. The Arduino cannot communicate because it has the original default I2C address coded into it. I would guess that the default I2C address for BV4618 is stored in EEPROM so I am at a loss as to why it should loose its default address when power is removed and re-applied.

I have read the datasheets and can find no explanation or solution to either of these problems. I could have missed something in which case the 'bug' is me!

Can anyone offer solutions to these problems please?
Re: Are there bugs in the BV4618?
March 25, 2013 01:49PM
hello,
1) Is not a bug but just the way scrolling works, the 'virtual' cursor is always one step ahead of the last character entered so when the last character goes onto line 4 position 20 the 'cursor' will be beyond the display so scrolling takes place. The actual cursor is a feature of the HD44780 (or similar) so changing this will not effect the scrolling.

2) There is an issue with the EEPROM loosing the I2C address, this tends to happen in very electrical noisy environments and a capacitor placed between the plus and minus can help. Another problem is as you say, if the display is in the middle of doing something then it can also happen, the solution of course in this case is to power down when there is no communication with the display.

For critical applications it is possible to get a fixed i2c address version
Re: Are there bugs in the BV4618?
March 26, 2013 07:22PM
Jim, Thanks for your reply. I am not absolutely certain about the auto scroll because I have a recollection of writing to line 4 column 20 without it scrolling. I'll have to set up that project again and check to convince myself.

I thought about powering the BV4618 / keypad / LCD via an Arduino pin but I do not know if a singel Arduino pin could provide enough power as I have never measured the current. Something else I need to do.
To be fair it only looses the correct address when I unplug the USB lead and not every time. However that only replicates a random power cut which can occur at any time.
Regarding a hard coded BV4618 the sample I have does not seem to change from 0xFF once it has got there. I have never seen any other codes apart from that and the code it is supplied with. So in my case it would appear 0xFF is hard coded.

I must say that the aspect of losing its correct address is very disappointing on what is otherwise an excellent product. I would hesitate to use it again because once a project is put into full operation then it is useless if it loses its I2C addresses and thus keypad and display. Perhaps a hard coded address via solder links would be the answer. OR a means to effect a rest via the Arduino at power up.

I look forward to any solutions that you or others can suggest.

Bob
Re: Are there bugs in the BV4618?
March 26, 2013 08:22PM
Bob,
I think that you misunderstood the fixed address: for critical applications you can order a device that has the I2C address burned into Flash. Some of my industrial customers have done this. The user cannot change the address and will never change under any electrical circumstances. See here
Sorry, only registered users may post in this forum.

Click here to login