Jump to content

LCD Screen Saver


dcer10

Recommended Posts

Hi,

Since LCD screens dim with useage and hence have a limited life span I thought it would be good to have the option, even if turned off by default where after a given timeframe in the setup file the screen would have the power turned off {dont know if thats actually possible with the current core and OS??} and the next key press, knob turn etc would turn it back on but not send any data and the next input would be treated normally. This will prolong the life of all of our LCD screens by a lot meaning people wont have to take apart their probably fragile old midiboxes to swap a screen out in years to come. Maybe its not possible but its something which people who leave their gear on a lot would probably like to see.

All the best,

John

Link to comment
Share on other sites

Hi,

Maybe its not possible but its something which people who leave their gear on a lot would probably like to see.

I'm pretty sure this is possible for someone with the skills to change this in MIOS ( so ... not for me  ::) )

You have to change the circuit a little bit so that a free port of the core (or a dout) via transistor can switch the power of the lcd on or off. The rest is programming a timer and a recognation for pressing a switch ....

Funny feature: You also could switch on the display when receiving a midi event. Or you can change the color of the display by a special event ....

As a workaround on this issue just wire a switch between the +5V VDD. Switch your display on if you like and switch it off if you don't use it ...  ;D

greets

Doc

Link to comment
Share on other sites

I'm pretty sure you can send a command to put the display to sleep... Darnit now I have to read the datasheet again.

Yay:

The Datasheet says

Display On/Off Control

D: The display is on when D is 1 and off when D is 0. When off, the display data remains in DDRAM,

but can be displayed instantly by setting D to 1.

Link to comment
Share on other sites

Shouldn't be too rough.. MIOS_LCD_Cmd can be used to send the command... You'll need a flag and a counter... This could be done at the OS or application level, the only tricky part is ensuring that you don't increase the load on the core checking for movements all the time...

A thought - you might want it to keep running in case you don't touch anything when the device is running, eg if you hit play on the seq and walk off to play a synth.

Link to comment
Share on other sites

Interesting thread,

I've been thinking about some battery-powered MIOS_applications

and turning off the display seems a step in the right direction

I'm also thinking of using a mosfet to turn backlight on/off since this consumes a lot of power

...back to the subject:

*implementing the switch off if idle seems feasible:

-implement an idle flag in app_flags

-clear the flag in DIN_NotifyToggle, AIN_NotifyChange and ENC_NotifyChange (something has changed, not idle)

-implement 16bit (int) counter in SR_Service_Finish, wich by default is called every mS

clear the counter the counter if idle flag is 0, set flag again, turn on display if display was off

if flag is set and the counter reached it's max value, turn off display, reset counter

the max counter value depends on the idle time before turning off the display,

for idle time of 5 seconds: MAX_COUNTER_VAL = 5*1000 = 5000

it's harder to describe this than to put into code, I will try to make a template application

I think that the overhead for the counter will be OK, I can't test this right now though...

* to turn on/off the display:

-turn display on with cursorline:

MIOS_LCD_Cmd(0x0E);

-turn display on without cursorline:

MIOS_LCD_Cmd(0x0C);

-turn display off:

MIOS_LCD_Cmd(0x08);

Michaël

Link to comment
Share on other sites

Hi,

Generally the life of electrical components is proportional to the square root of the drive current/level.. or in that rough ball park. So simply halfing the drive level can extend the expected life by upto 10x.

So, this leaves a number of things worth thinking about.. One.. edging off the lcd contrast & brightness from its max will invariably help if you dont need it.. And certainly in battery applications the full backlight power is simply not needed to enable good usability in bad lighting situations.

Secondly turning off the display completely may prove frustrating & irritating when glancing over after a while to see what the unit was last doing... Maybe a better comprimise is to have the screen saver switch between two levels of contrast (& brightness maybe) by switching a resistor in and out of the appropriate circuit. A drive reduction of 4-8x max should still remain quite readable ..whilst hardly having any effect on screen life.

However if the unit is left on for really long periods of time, maybe a complete idle mode could be implimented. which upon the midibox doing nothing whatsoever... it is permitted to completely turn off the screen.

Also.. perceived brightness doubling on backlighting vastly increases current consumption. ..so trimming it back to all that is nessursary saves segnificant power & led life.

Also another trick employed by some companys like roland, is to strobe the leds on and off very quickly ..50 to several hundred hertz. so that although they appear to be on constantly, they are not. ..this has two effects, it helps save on power & yet again on led life.

Hope this proves to be useful input :)

Link to comment
Share on other sites

Also another trick employed by some companys like roland, is to strobe the leds on and off very quickly ..50 to several hundred hertz. so that although they appear to be on constantly, they are not. ..this has two effects, it helps save on power & yet again on led life.

Interesting....

Link to comment
Share on other sites

Artesia,

There all great suggestions. I think since different people would use it differently this option should have a place in the menu system so that people can set it to dim after 5min, turn off after 15min and be able to be turned back on with the first input, or to always be on. Maybe a midi message via sysex could trigger these behaviours too? The reason I mentioned the screen saver in the first place is that in my use of the seq so far I spend an amount of time making the sequence, and then walk over to the other side of the studio to tweak the synths etc it is running. If its a good pattern I may be over there for a while! In this situation, the screen  is on with no need for maybe a few hours straight with no need. Im also more inclined to leave the power on for all of my gear rather than save things some times too, which leads to prolonged use of LCD's.

One of my kurzweils is currently waiting on a backlight board swap over and maybe screen because I work like this. Its not an easy thing to get! Also older gear where the screens are getting dim are no fun to use. Im just thinking in advance ways not to have these problems in the future with my new MIOS gear :}

If people do land up making suitable code that could be implemented we will need to try to co ordinate with TK for it to be included if it fits into a newer release of MIOS Im guessing? Is this possible with the current space constraints with the pic or maybe one to leave for the new pic?

All the best,

John

Link to comment
Share on other sites

Hi all,

I would expect that the main problem of screens getting old and less bright is on the backlight side, isn't it?

If that is so then using some IO to disable (or reduce) the powering of the backlight will be really necessary next to using this D flag that apparently is not linked with the backlight (at least that's not mentioned in the datasheet).

Anyway, that's really a very good idea.

Best regards,

Lall

Link to comment
Share on other sites

Small update on the example code:

I forgot to initialise the DIN/DOUT chain so nothing happened at all...

you can find the working code here: http://webs.hogent.be/~032573mh/lcd_standby.zip

the display switches of after 10 seconds

so next problem: switching the backlight

I'm going to use a MOSFET to controll the backlight

according to the datasheet my backlight draws 240mA

now I need to find the right mosfet for this job...

would a BS170 do the job?

Link to comment
Share on other sites

Hiya,

Just downloaded the code and will try it later today when my seq is not in bits all over the workshop :}

Also I was wondering, if you can red LED a display, what other repairs if any are possible? I have 4 or 5 40x2 character displays I wanted to use for MIOS which arrived DOA or got that way after very little use. Whats the chances of their repair? Mostly the backlight powers up but either the black blocks appear and nothig else, or the blocks have lines in them, or nothing but the backlight comes on. Not a big deal but if anyone knows how to reapir them maybe I dont need to order my next 4 or 5 :}

Maybe if other parts are required to do this task with the screen saver it would be worth making a little LCD utility board which has these parts but also has a "break out" for easy twin LCD connections to avoid a lot of messy wires which mine currently has :} I noticed that the 40x2's never seem to be pin to pin with the core anyway. Perhaps the trim pots could be moved onto that board too for easier access?

All the best,

John

Link to comment
Share on other sites

hi,

Lall.. curiously enough ...aside of my own expectations ...lcds themselfs do actually fade ..i have a roland jd990 here which has lost alot its contrast over time. A service engineer who i have known for sometime has seen many synths through his door which needed replacing as the screen got too faint to read ..even with the assistance of bright sunlight.

Dcer10 funnily enough many lcd parts are pin for pin compatable. i have changed over the lcd elements between a number of screens.. for reasons of broken lcds or defective driver chips. Many if not all lcds of a standard configuration seem to have thieir connections in the same exact places. As for backlights ..these can be replaced easily enough. as for led colour ..sucess will vary ..due to some screens having tinted filters/polarizers ..limiting the useful leds. ..and when it comes to the standard clear black text on white foil.. they only seem to display well with green. ..tho may work ok with blue. red might not be so effective ...although your milage will vary. Just give it a try and see what actually works. if it doesnt ..just switch it back :)

also watch out ..some screens use surface mount leds behind a custom diffuser ...might prove difficult to augment ..can but try.

Link to comment
Share on other sites

Hiya Mess,

I tried the updated code and it did remove the text from the screen, but obviously did not turn off the backlight. Looking forward to seeing this come to be, cool to see such quick progress!

How would the multiple displays be handled?

All the best,

John

Link to comment
Share on other sites

Maybe we could switch of the backlight by the transistor on the core board:

if we replace this: (sorry for crappy ascii schem, see core schematic)

[tt]

            ^ +5v                    ^ + 5v

            |                            |

    -------|                            |

+  |      |                            |

|BL |      >  10K                      |

_ |      <                              |

    -------|                __          |

            \ |            |  \      |

              |------\/\/\-----\/\/\----

            v |                  _\_     

            |          1K      10K

          _|_

[tt]

with this:

[/tt]

            ^ +5v

            |

    -------|

+  |        |

| BL |    >  10K

-  |      <             

    -------|                __

            \ |            |  \

              |------\/\/\-----\/\/\----- J14 of core

            v |                  _\_     

            |          1K      10K

          _|_

[/tt]

not shure if this will work...

I will try this tomorrow when I have access to my midibox

I never used two displays for a midibox project, how are they connected?

Link to comment
Share on other sites

Maybe we could switch of the backlight by the transistor on the core board:

if we replace this: (sorry for crappy ascii schem, see core schematic)

The schem didn't look that bad and I can't see why it wouldn't work. (Do some PWM and You could also fade in/out the backlight *grin*)

I never used two displays for a midibox project, how are they connected?

Hmm.. Guess which "MB Hardware Platform" page at uCApps.de will answer this question...

Moebius

Link to comment
Share on other sites

Small code update:

after 10 seconds the display is disabled and the backlight turns off (J14 goes low):

lcd_standby

Since both displays are connected to the same backlightterminal

no additional changes should be required for two displays...

I will document the modifications to the core

as soon as I can verify them

Michaël

*edit: link didn't work

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...