Charlieplexing lysdioder - teorin (4 / 7 steg)
Steg 4: Äntligen... en Charlieplex matris
Tja kan vi utvidga tanken på complentary kör in i en charlieplex matris. Diagrammet nedan visar den minsta charlieplex matris bestående av tre motstånd och sex lysdioder och använder endast tre microcontroller stift. Nu ser du hur praktisk den här metoden är? Om du ville köra sex lysdioder på normalt sätt... skulle du behöva sex microcontroller stift.
I själva verket med N stiften på en mikrokontroller kan du potentiellt enhet N * (N - 1) lysdioder.
För 3 pins är 3 * (3 - 1) = 3 * 2 = 6 lysdioder.
Saker stack upp snabbt med mer stift. Med 6 stift kan du köra 6 * (6 - 1) = 6 * 5 = 30 lysdioder... wow!
Nu till charlieplexing lite.
Titta på diagrammet nedan. Vi har tre kompletterande par, ett par mellan en varje kombination av micro produktionen stift. Ett par mellan A-B, ett par mellan B-C och ett par mellan A-C.
Om du kopplas bort pin C för skulle nu vi ha samma situation som innan. Med 5V på stift A och 0V på stift B, LED1 kommer att lysa, LED2 är omvänd partisk och inte kommer att genomföra aktuell. Med 5V på stift B och 0V på stift A LED2 lyser och LED1 är omvänd partisk.
Detta följer för andra micro stiften.
Om vi frånkopplad pin B och som pin A 5V och pin C till 0V skulle LED5 glöd. Backning så att pin A är 0V och pin C är 5V då LED6 skulle glöda.
Samma för kompletterande paret mellan stiften B-C.
Hänga på, jag hör dig säga. Kan titta lite närmare på det andra fallet.
Vi har 5V på stift A och 0V på stift C. Vi har kopplas pin B (mittersta).
OK, så en nuvarande strömmar genom LED5, ström inte är flyter genom LED6 eftersom det är omvänd partisk (och så är LED2 och LED4)... men det är också en väg för aktuellt att ta från pin A, genom LED1 och LED3 är inte det? Varför är dessa lysdioder inte lysande också.
Här är hjärtat av det charlieplexing systemet. Det finns faktiskt en ström flyter både LED1 och LED3, men spänningen över de båda dessa kombinerade kommer bara att vara lika med spänningen över LED5. Normalt skulle de ha halva spänningen över dem som LED5 har. Så om vi har 1.9V över LED5, blir sedan bara 0.95V över LED1 och 0.95V över LED3.
Från If / Vf kurva som anges i början av denna artikel kan vi se att nuvarande vid denna halva spänning är mycket mycket lägre än 20mA... och dessa lysdioder inte lyser synligt.
Detta kallas nuvarande stjäla.
Således de flesta av nuvarande kommer att flöda om LED vi vill ha, den mest direkta vägen genom minst antal lysdioder (dvs en LED), snarare än en serie kombination av lysdioder.
Om du tittat på det nuvarande flödet för en kombination av att sätta 5V och 0V på några två enhet stift charlieplex matris, ser du samma sak. Endast en LED lyser i taget.
Som en övning, titta på den första situationen. 5V på stift A och 0V på stift B, koppla bort pin C. LED1 är den kortaste vägen för strömmen att ta, och LED 1 kommer att lysa. En liten ström kommer också passera genom LED5 och sedan tillbaka upp LED4 till pin B...but igen, dessa två lysdioder i serien kommer inte att kunna hävertar tillräckligt ström jämfört med LED 1 glöda ljust.
Därmed insåg kraften i charlieplexing. Se den andra diagram som är schematiskt för min mikro-se... 30 lysdioder, med endast 6 stift. Min mina 2 klockan är i grunden en utökad version av mikro... samma 30 lysdioder ordnade i en matris.
För att göra ett mönster i matrisen, varje LED som skall belysas är kort påslagen, då mikro flyttas till nästa. Om det är planerat att vara upplyst den slås på igen för en kort tid. Av snabbt skanning genom lysdioder snabbt nog en princip som kallas "persistens av vision" ger en matris med lysdioder för att visa en statisk mönster. Mina 2 artikeln har lite av en förklaring på denna princip.
Men vänta... Jag har till synes att slätas över lite i beskrivningen ovan. Vad är detta 'koppla bort pin B', 'koppla bort pin C' business. Nästa avsnitt vänligen.