Sida 1 av 3
Bygga stor 7-segmentdisplay
Postat: 8 februari 2005, 18:50:15
av gunne
Jag ska ta upp mitt gamla projekt som är att
bygga en ölhäfvarklocka. Jag är inte helt haj på elektronik så några av mina frågor kan verka dumma, men frågar man inget....
Jag ska ha en stor display som ska visa 5 siffror, t.ex. "23.576". Jag tänkte bygga displayen genom att parallellkoppla cirka 8-10 dioder till varje segment och sedan styra dessa från en mC eller nån LED-drivare. De olika segmenten kommer att ha gemensam minuspol (katod? anod?).
Mina fina paint-skills:
Verkar det galet att koppla på detta viset?
Om jag ska använda mikrokontrollern till att styra displayen behövs 7+14 portar för 14 tecken. Hur kan man annars styra det? Shift register? LED-drivare? Hur fungerar detta?
Tänkte antagligen använda AVR. Vilka AVR har fler än 30 portar? BEhöver cirka 6 portar till andra saker, som chocksensorer mm.
Postat: 8 februari 2005, 18:54:26
av cyr
Koppla så funkar inte så bra för lysdioderna kommer att dra lite olika ström och därmed lysa olika starkt. Antingen seriekoppla, eller ha ett motstånd för varje LED.
Postat: 8 februari 2005, 19:08:02
av gunne
Det blir så många motstånd.. Men jag kan ju iof seriekoppla istället å öka spänningen lite. Men tror ni verkligen att det lyser olika starkt? Alla LEDs kommer ju självklart va an samma sort...
Är det någon som kan gå igenom hur 7-segmentavkodare eller shiftregister fungerar (nybörjarnivå)?
Postat: 8 februari 2005, 20:47:30
av Icecap
De är lite olika fastän de är samma fabrikat, typ, batch osv! Tro mig jag har erfarenhet av skyltar med 28K LED.
Därmed kommer de att få olika ström vid paralell-koppling, det är därför du alltid ser att mobiltelefoner t.ex. har seriekopplade och en step-up krets för att styra dom.
De ljuser nemlig väldig lika vid samma ström genom.
Postat: 8 februari 2005, 21:11:19
av gunne
Då blir det till att seriekoppla. Tackar för tipset!
Nu över till hur 7-segment avkodare fungerar. T.ex. den
här. Kan man använda en sån, eller nåt liknande, för att med få (läs typ 2-4) IO-linjer styra typ 14 tecken?
Mera paint-skillz:

Något sånt här är det tänkt att det ska se ut. Jag har koll på hur det mesta ska kopplas förutom displayerna. Om jag har en mC med typ 30 IO-linjer så kan jag iof skita i att ha ytterligare kretsar och driva displayerna direkt.
Postat: 9 mars 2005, 22:57:04
av gunne
Är det någon som har ett bra tips på hur man kan styra displayen? Jag vill gärna styra den seriellt så nån slags decoder är att föredra. Vi (jag å FS) tänkte använda en
drivkrets från maxim men eftersom vi måste styra segmenten med 12 V funkade den inte. Vi tänkte alltså koppla drivaren till segmenten via transistorer men kretsen använder nån sorts "charlieplexing" som gör att det ine går...
Finns det någon annan krets som funkar? Man kanske kan göra på nåt annat sätt? Alla ideér är intressanta...
Postat: 9 mars 2005, 23:28:11
av evert2
Kan det inte funka med en MAX7219 eller MAX7221
http://pdfserv.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf
Edit: decimalkommat kan man väl driva separat...?
Postat: 10 mars 2005, 00:23:21
av Jonaz
Det skulle kanske vara tufft med sånt där neonljus folk stoppar in i datorn numera. blir ju rätt dyr men än då.
Postat: 10 mars 2005, 13:15:44
av Dilbert
Nu hänger jag inte riktigt med, först pratar du om att ha 5 siffror, men längre ner ska du ha 14 tecken, vilket är fallet?
Om du istället för att ha seriemotstånd fixar 7st konstantströmkällor, (lämpligen av 7st LM317 med varsitt motstånd), så kommer du få jämn ljusstyrka.
För utpekningen av det tecken du för tillfället vill driva sätter du lämpligen ett skiftregister som 74HC164 för upp till åtta tecken, eller seriekopplar två för upp till 16tecken osv.
Clearpinnen kopplar du antingen till AVR reseten eller så sätter du 100n till backen och ett 10Kmotstånd till matning så resetas den vid spänningtillslag, sedan styr du den med två utgångar från din AVR genom att lägga ut data med den ena och klocka med den andra. Antalet pinnar som då åtgår blir 7+2. Utgångarna från skiftregistret kopplar du till en N-FET lämplig för den ström du ska köra.
Postat: 10 mars 2005, 17:00:58
av Tony
Några av de drivkretsar elfa säljer...
UCN5832 73-336-85
A6276 72-337-43
MAX7219 73-721-54
Någon reset behövs egentligen inte, se bara till att alltid skriva till samtliga tecken varje gång.
Postat: 10 mars 2005, 19:26:29
av gunne
Dilbert skrev:Nu hänger jag inte riktigt med, först pratar du om att ha 5 siffror, men längre ner ska du ha 14 tecken, vilket är fallet?
Jag ska ha två displayer med 5 tecken i varje och sen nåra till tecken nere på lådan. Men vad det egentligen handlar om är att jag vill styra 5 tecken där varje segment kräver ca 100ma seriellt.
Borde det inte funka att ha två stycken 74HC164. En som stegar igenom segmenten och en som stegar igenom tecknen. Då blir det 2 + 2 + 2 = 6 ledare. (En clk och en data för varje shiftregister, en 12V och en jord).
Sen gör man så här:
1:1 = tecken 1 segment 1. 1:2 = tecken 1 segment 2 osv.
1: data som ska till 1:1
2: puls till clk på segmentshiftregistret
3: data som ska till 1:2
2: puls till clk på segmentshiftregistret
...
16: puls till clk på båda shiftregistren
17: data som ska till 2:1
....
Tänker jag rätt?
Postat: 10 mars 2005, 20:28:42
av gunne
Inte så fint, men det är mitt första schema i eagle...
Så här tänker jag. Men det kommer att va 6 eller 7 dioder per segment. Och så ska det va ett motstånd mellan utporten och clr på det undre shiftregistret.
Funkar?
Postat: 10 mars 2005, 20:31:51
av matseng
Du ska inte bygga i den här storleken då? :-)
http://www.neonixie.com/monster-7-segment/
Postat: 10 mars 2005, 20:45:11
av cyr
Jag är lite tveksam till att ha skiftregister för att byta siffra. För att få bra resultat brukar man behöva släcka alla siffror medan man byter data för segmenten. Det räcker att fel segment på nästa siffra får vara tända ytterst kort tid för att det ska synas. när man använder skiftregister blir problemet extra stort för det tar längre tid när man skickar in data seriellt, och dessutom så flyttas de tända segmenten ju runt medan datan skiftas in.
Kopplingen med transistorerna ser lite knasig ut också, du kommer inte få ut några 12V om du tänkt det, bara lite mindre än drivspänningen på shiftregistren.
Postat: 10 mars 2005, 20:49:12
av Schnegelwerfer
gunne skrev:Inte så fint, men det är mitt första schema i eagle...
Så här tänker jag. Men det kommer att va 6 eller 7 dioder per segment. Och så ska det va ett motstånd mellan utporten och gnd på det undre shiftregistret.
Funkar?
Du har gjort det klassiska misstaget att koppla in transistorerna Q1-Q8 som emitterföljare, dvs. varje lysdiodrad kommer bara att få ca. 4.3V. Om man räknar med spänningsfallet över Q9 och Q10 får dom endast ca. 3,6V.
För att fixa det får du koppla in Q1-Q8 på "minus-sidan" (katodsidan) av lysiodsraderna.
EDIT: Cyr hann före!
