this post was submitted on 24 Aug 2023
1 points (100.0% liked)

MICROCONTROLLERS

848 readers
1 users here now

Everything microcontrollers: projects, questions, new releases, etc.

dragontamer's Beginner Guides:

Beginner Series I: What is a Microcontroller?

Beginner Series II: The "Generic" Microcontroller

Beginner Sidenote: Microchip's Signal Chain Design Guide

Beginner Series III: Skills and Complexity Tiers

Beginner Series IV: Deep Dive into Microchip's AVR EA

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] minnix@lemux.minnix.dev 1 points 2 years ago (2 children)

Ever since you brought up the Sharp memory LCD I've wanted to use one in a project.

[–] dragontamer@lemmy.world 1 points 2 years ago* (last edited 2 years ago)

Ah right. A bit different, lol. These smaller, commodity 7-segment displays can be theoretically driven by a microcontroller even without any dedicated controller.

The Sharp Memory LCD has its own controller (doing whatever magic it does to store 1-bit-per-LCD pixel), that you just dump data to over SPI. Its practical and cheap and all...

But going back to 1980s style 7-segment displays with no smarts in them, and just using raw voltage/currents and "seeing" the LCD screen for the biased capacitors that they are and trying to generate a proper waveform against them? There's something cool about that to me. And this technique is still useful today given that 7-segment LCD-screens are still the cheapest technology available.

So this: https://www.orientdisplay.com/standard_lcd/od-893.pdf

You see how it says 1/4th Duty and 1/3rd Bias? I... don't really know what that means. I guess I know the theory, the 1/3rd bias means you need 4 resistors IIRC, and 1/4th Duty is the 4x common-lines. Basically you only have 36 pins controlling 120 LCD segments.

Furthermore, LCDs are fundamentally a capacitor. The mechanics behind this are complex, in that if you apply power, the LCD-segment will light up slightly, but then the energy normalizes out and then the LCD disappears again. You need a square-wave (on/off/on/off...) shoving power into the LCD screen to "keep" the pixel on. In practice, I've read through code that handles LCD screens like this, but its a non-obvious signal pattern for sure.


These days, its way more common to just use SPI interfaces to talk to LCD screens with built-in controllers, rather than trying to "solve" the square-wave offset phase problem needed to actually turn pixels on and off. But I think I'd like to do a project with a "raw" LCD screen eventually, no controller. Just for kicks.


Given all this complexity however, it just makes more sense to use something like this instead: http://www.kingbrightusa.com/images/catalog/SPEC/ACDA02-41SURKWA-F01.pdf . LEDs are just... LEDs. Send voltage, voltage-drop as usual, have an appropriate current-limiting resistor and you're done. Or you know, the Sharp Memory-LCD as you were talking about (just send SPI-data to describe a large graphical screen, because SPI is pretty easy these days even if you're controlling hundreds or thousands of pixels).

[–] dragontamer@lemmy.world 1 points 2 years ago

Ah, found the document I was thinking about earlier. Pacific Displays is a good tutorial on the basics, but it was... this guide from Microchip (https://ww1.microchip.com/downloads/en/appnotes/01428a.pdf) that intrigued me.

The waveforms that you need for a high-multiplex / high-bias LCD screen manually is rather complex.

These square-waves are created with the appropriate resistors hooked up between pins and synchronized to pass current to the different capacitors that have been connected in series (ie: each LCD "pixel" or "segment" is a series-capacitor).