AVR dubbla RGB Matrix föraren (4 / 12 steg)
Steg 4: Circuit Design
Med en grundläggande förståelse för hur man multiplex lysdioderna, kan vi bygga en krets för att driva dem. En enda ATmega328p kommer att användas med en extern 16MHz kristall. Detta chip kommer att snabbt växla mellan de åtta gemensamma anod kolumner (kom ihåg, dessa "rader" i databladet). Eftersom strömmen genom alla lysdioder i en enstaka rad är alldeles för mycket anskaffas genom en MCU pin, använder jag en HI-side MOSFET par för att källan till aktuella LED.
Kom ihåg en strömkälla är positivt för en komponent. En nuvarande diskhon är på den negativa sidan. Du kan se det så här (i form av gemensamma krets design orientering, minst): en källa skjuter ström, medan en diskbänk drar den.
Ursprungligen, jag körde transistorerna direkt från MCU, men jag la till en extern 8 bitars skiftregister för att göra detta för att frigöra IO linjer för framtida kapacitet expansion.
Aktuella förlisningen hanteras av några 8 kanal konstant nuvarande sänkor. För 2 matriser, 6 marker krävs - en för varje kolumn i R, G och B lysdioder.
Du bör också märka att jag har tagit en I2C-anslutning. Detta kommer att användas för extern styrning av LED-färger eller strobe mönster. Dessutom ISP raderna visas inte på detta schema, men det är en bra idé att inkludera dem i din krets så du kan faktiskt Programmera chip! Slutligen finns det en linje som kallas "servo control"
De enda värden som kan ändras för dig är de yttre motstånd på den nuvarande TLC5916 sjunker. Dessa motstånd som nuvarande för lysdioder, och jag skall gå igenom hur du ställer in dessa värden i de kommande stegen.
Jag har tagit kretsen som Cadsoft Eagle-fil också. Servo manöverledningen behövs inte för detta projekt.