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
[–] dragontamer@lemmy.world 2 points 2 years ago* (last edited 2 years ago) (1 children)

I was hoping to see more information on the LCD screen actually, because they're far more complex than you might imagine.

LCDs are great for many reasons, low cost, relatively low power, few pins (at least, the 7-seg / 4-common type that is used here), and customizable. Alas... that "complexity" thing starts to bite ya.

https://www.pacificdisplay.com/lcd_multiplex_drive.htm

All I've been doing personally is using the far simpler LED displays, which have been "good enough" for me, but I'd like to go lower-power with LCDs in some project eventually.

[–] 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).