Drivkort till Elektromekaniska 7-segments display
Drivkort till Elektromekaniska 7-segments display
Skall labba lite med några elektromekaniska 7-segments displayer genom att bygga drivkortet till dom.
Så nu behöver jag lite tips på vad för komponeter som kan behövas till detta projekt.
Det sitter en spole till varje segment och den är på 53 Ohm och kräver en plus längd på 90 ms för att hinna ändra segmentet, drivspäningen är 24 volt.
Så använder man transistorer för att växla + och - på varje segment, så bör de väl klara 1 A.
Det jag inte är vet är hur man skall bygga upp det hela.
Någon som har tips?
Så nu behöver jag lite tips på vad för komponeter som kan behövas till detta projekt.
Det sitter en spole till varje segment och den är på 53 Ohm och kräver en plus längd på 90 ms för att hinna ändra segmentet, drivspäningen är 24 volt.
Så använder man transistorer för att växla + och - på varje segment, så bör de väl klara 1 A.
Det jag inte är vet är hur man skall bygga upp det hela.
Någon som har tips?
Re: Drivkort till Elektromekaniska 7-segments display
Du ska alltså ge en positiv puls på 24 volt när du ska "flippa" ett segment till "synligt" och en negativ puls på -24 volt när du ska flippa tillbaks? eller hur menar du annars med "växla + och - på varje segment"?
Re: Drivkort till Elektromekaniska 7-segments display
Sen är det tänkt att styra dessa med hjälp av en PIC. Så även kopplingen till den behöver jag tips på.
Alltså om man skall ha en pinne för varje segment och en för varje siffra eller om man skall köra en extern krets typ en BCD krets av något slag.
Alltså om man skall ha en pinne för varje segment och en för varje siffra eller om man skall köra en extern krets typ en BCD krets av något slag.
Re: Drivkort till Elektromekaniska 7-segments display
Det verkar ju som om du behöver koppla en transistorbrygga för varje spole. Det behövs fyra transistorer i så fall.

(R3 på bilden är din spole, V2-V5 är pulser från t.ex. en PIC)
Det lite luriga är gate-nivån på de höga transistorerna. V2 och V5 kan alltså inte kopplas direkt som bilden visar. De behöver ha sin vilospänning på samma nivå som "source", som i avstängt läge är +24 volt, och vid "on" ska spänningen mellan gate och source vara positiv. Eftersom "source" här kan variera kraftigt i spänning kan det bli lurigt.
Byter du ut dem mot P-kanals så blir det mycket lättare att styra - då ska gatepulsen vara negativ i förhållande till source som då är kopplad till plus. Det gör du genom att ha en kondensator mellan PIC-utgången och gaten och ha ett högt motstånd (ca 100k) mellan gate och +24V, samt en diod mellan gate och + som neutraliserar en positiv "motpuls". Om gaten inte tål så hög spänning så byt ut dioden mot en zenerdiod på t.ex. 9 volt, sätt ett lågt motstånd mellan PIC:en och kondensatorn för att förhindra rusning genom dioden.
Skaffar du MOSFETar där det räcker med 5 volt på gaten så kan du koppla dem till PIC:en direkt. Då behöver du fyra utgångar: V2,V3;V4 och V5 (för att använda beteckningarna på bilden). V2 och V5 ska i vila vara "etta", V3 och V4 ska vara "nolla". Vid "positiv" flip aktiveras V2 och V4 samtidigt, och vid negativ "flip" aktiveras V3 och V5. Istället för att använda fyra utgångar på din PIC kan du använda två och sätta inverterare på dem så får du fyra signaler. Vill du spara ännu fler utgågnar kan du ha en utgång per spole och använda 2 st CR-filter för att skapa en puls vid "on" och en annan puls vid "off". Dessa filter bör följas av t.ex. rvå seriekopplade "schmitt trigger buffer/inverter" så får du signal ut till dina MOSFETar. Då får du se till att aldrig switcha för ofta, för då överlappar pulserna varandra och du får kortslutning. Det kan undvikas genom att byta invertrarna mot NAND-grindar och återkoppla så att de inte kan inträffa samtidigt.
Här ser du funktionen ungefär (fast här är transistorerna bipolära och alla är NPN):


Om du skulle ha tillgång till -24 volt också (dvs. du har både +24V och -24V, totalt 48V) så är det mycket lättare, då behövs bara två transistorer. Du ser skillnaden på den här bilden:


(R3 på bilden är din spole, V2-V5 är pulser från t.ex. en PIC)
Det lite luriga är gate-nivån på de höga transistorerna. V2 och V5 kan alltså inte kopplas direkt som bilden visar. De behöver ha sin vilospänning på samma nivå som "source", som i avstängt läge är +24 volt, och vid "on" ska spänningen mellan gate och source vara positiv. Eftersom "source" här kan variera kraftigt i spänning kan det bli lurigt.
Byter du ut dem mot P-kanals så blir det mycket lättare att styra - då ska gatepulsen vara negativ i förhållande till source som då är kopplad till plus. Det gör du genom att ha en kondensator mellan PIC-utgången och gaten och ha ett högt motstånd (ca 100k) mellan gate och +24V, samt en diod mellan gate och + som neutraliserar en positiv "motpuls". Om gaten inte tål så hög spänning så byt ut dioden mot en zenerdiod på t.ex. 9 volt, sätt ett lågt motstånd mellan PIC:en och kondensatorn för att förhindra rusning genom dioden.
Skaffar du MOSFETar där det räcker med 5 volt på gaten så kan du koppla dem till PIC:en direkt. Då behöver du fyra utgångar: V2,V3;V4 och V5 (för att använda beteckningarna på bilden). V2 och V5 ska i vila vara "etta", V3 och V4 ska vara "nolla". Vid "positiv" flip aktiveras V2 och V4 samtidigt, och vid negativ "flip" aktiveras V3 och V5. Istället för att använda fyra utgångar på din PIC kan du använda två och sätta inverterare på dem så får du fyra signaler. Vill du spara ännu fler utgågnar kan du ha en utgång per spole och använda 2 st CR-filter för att skapa en puls vid "on" och en annan puls vid "off". Dessa filter bör följas av t.ex. rvå seriekopplade "schmitt trigger buffer/inverter" så får du signal ut till dina MOSFETar. Då får du se till att aldrig switcha för ofta, för då överlappar pulserna varandra och du får kortslutning. Det kan undvikas genom att byta invertrarna mot NAND-grindar och återkoppla så att de inte kan inträffa samtidigt.
Här ser du funktionen ungefär (fast här är transistorerna bipolära och alla är NPN):


Om du skulle ha tillgång till -24 volt också (dvs. du har både +24V och -24V, totalt 48V) så är det mycket lättare, då behövs bara två transistorer. Du ser skillnaden på den här bilden:
Re: Drivkort till Elektromekaniska 7-segments display
Då har jag fått ihop ett schema för ett 7-segment.

Har ritat med transistorer, men MOSFET låter ju bra om man kan styra de direkt från t.ex. PIC´n.
När vi ändå är inne på MOSFET, klarar utgång på t.ex. en PIC av att mata så att en MOSFET öppnar?
Nu gäller det bara att hitta några lämpliga kretsar så man får ner antalet pinar mot PIC´n.
Om man tittar på schemat så är Com. clr och Com. set gemensamma för alla segment.
Det jag var inne på är att man först en clear till för att "släcka" ev. satte segment och där efter "tända" sätta de segmenten för t.ex. en 3:a som är a,b,c,d och g (framgår ej av schemat).
Man skulle då behöva först behöva invertera binärkoden för en 3:a och pulsa Com. clr, sedan utan invertering pulsa Com. set.
Tidigare var jag inne på en BCD krets för att få ner pin antalet till fyra, men sen behövs en pinne för invertering.
Hmm. vi lämnar där så länge.
Vid fler antal 7-segment displayer kan man använda segment pinnarna som en buss till de andra. Då behöver man bara lägga till en com. set och en Com. clr transistor och använda de som adressering.
Där va jag inne på något shiftar vid plus för nästa display (digit).
Jesse:
Han inte se ditt inlägg innan jag hade gjort schemat, som du kan se är det fler segment (spolar).
Kopplar man alla pinnarna direkt till PIC´n, så blir det många.
Har ritat med transistorer, men MOSFET låter ju bra om man kan styra de direkt från t.ex. PIC´n.
När vi ändå är inne på MOSFET, klarar utgång på t.ex. en PIC av att mata så att en MOSFET öppnar?
Nu gäller det bara att hitta några lämpliga kretsar så man får ner antalet pinar mot PIC´n.
Om man tittar på schemat så är Com. clr och Com. set gemensamma för alla segment.
Det jag var inne på är att man först en clear till för att "släcka" ev. satte segment och där efter "tända" sätta de segmenten för t.ex. en 3:a som är a,b,c,d och g (framgår ej av schemat).
Man skulle då behöva först behöva invertera binärkoden för en 3:a och pulsa Com. clr, sedan utan invertering pulsa Com. set.
Tidigare var jag inne på en BCD krets för att få ner pin antalet till fyra, men sen behövs en pinne för invertering.
Hmm. vi lämnar där så länge.
Vid fler antal 7-segment displayer kan man använda segment pinnarna som en buss till de andra. Då behöver man bara lägga till en com. set och en Com. clr transistor och använda de som adressering.
Där va jag inne på något shiftar vid plus för nästa display (digit).
Jesse:
Han inte se ditt inlägg innan jag hade gjort schemat, som du kan se är det fler segment (spolar).
Kopplar man alla pinnarna direkt till PIC´n, så blir det många.

Senast redigerad av Stewal 31 mars 2010, 15:08:12, redigerad totalt 1 gång.
Re: Drivkort till Elektromekaniska 7-segments display
Oj då, här var det en del att säga. Jag börjar med lite grann så kan ju någon fylla i:
Ett "hett tips" är att rita insignaler till vänster och utsignaler till höger. Speciellt om du tänker fylla på med mer komplicerade kretsar.
Jag tror att jag hade gjort detta med +/- 24 V matning, men detta fungerar ju också. Tänk bara på att om du vill sätta flera segment samtidigt måste "com"-transistorerna dimensioneras för det. Plus att du inte kan koppla ihop clr och set på varje segment, eftersom strömmen då kommer att ta en väg med två element i serie. Jag hade nog inte byggt det diskret heller. Det går nog att hitta någon motordrivkrets eller liknande som har ett gäng halvbryggor. På så vis blir de idiotsäkra, och har förhoppningsvis en enable-signal så att man kan addressera först och skicka pulsen på flera stycken på en gång.
Om en PIC klarar av att öppna en MOSFET: Ja, så länge den är "logiknivå". Däremot kan det ta lite tid att öppna den, då det kan krävas en lite rejälare gate-resistans för att inte överbelasta drivarna i PIC:en. Alternativt kanske PIC:en begränsar strömmen, men det är fortfarande en fråga om vilken tid det tar. I detta projektet tror jag dock du har tid att köra direkt från PIC:en.
Ett "hett tips" är att rita insignaler till vänster och utsignaler till höger. Speciellt om du tänker fylla på med mer komplicerade kretsar.
Jag tror att jag hade gjort detta med +/- 24 V matning, men detta fungerar ju också. Tänk bara på att om du vill sätta flera segment samtidigt måste "com"-transistorerna dimensioneras för det. Plus att du inte kan koppla ihop clr och set på varje segment, eftersom strömmen då kommer att ta en väg med två element i serie. Jag hade nog inte byggt det diskret heller. Det går nog att hitta någon motordrivkrets eller liknande som har ett gäng halvbryggor. På så vis blir de idiotsäkra, och har förhoppningsvis en enable-signal så att man kan addressera först och skicka pulsen på flera stycken på en gång.
Om en PIC klarar av att öppna en MOSFET: Ja, så länge den är "logiknivå". Däremot kan det ta lite tid att öppna den, då det kan krävas en lite rejälare gate-resistans för att inte överbelasta drivarna i PIC:en. Alternativt kanske PIC:en begränsar strömmen, men det är fortfarande en fråga om vilken tid det tar. I detta projektet tror jag dock du har tid att köra direkt från PIC:en.
Re: Drivkort till Elektromekaniska 7-segments display
>Tänk bara på att om du vill sätta flera segment samtidigt måste "com"-transistorerna dimensioneras för det.
Ja de måste ju klara 7 spolar, så blir lite mer än 3 amper.
>Plus att du inte kan koppla ihop clr och set på varje segment, eftersom strömmen då kommer att ta en väg med två element i serie.
Är inne på att köra med följande:
1 st 74H44 "Octal 3-STATE Buffer" på "seg set"
1 st 74240 "Octal 3-STATE Buffer inverting" på "seg clr"
Då kan man koppla "Enable för respektive krets" till Com set och Com clr
Ja de måste ju klara 7 spolar, så blir lite mer än 3 amper.
>Plus att du inte kan koppla ihop clr och set på varje segment, eftersom strömmen då kommer att ta en väg med två element i serie.
Är inne på att köra med följande:
1 st 74H44 "Octal 3-STATE Buffer" på "seg set"
1 st 74240 "Octal 3-STATE Buffer inverting" på "seg clr"
Då kan man koppla "Enable för respektive krets" till Com set och Com clr
Re: Drivkort till Elektromekaniska 7-segments display
Det var ju ett snyggt schema.
Du klarar nog att driva flera MOSFET med samma utgång från en logikkrets. Sätt ett 100-ohms motstånd på logikutgången bara. Och att du väljer MOSFETar som har "logisk nivå" på gaten, dvs 5 volt eller lägre (inte 10 volt som är det vanligaste). Det finns massor att välja på (särskilt om du väljer ytmonterade), så vilken typ du ska ha beror på var du tänker köpa dem och pris. Själv tycker jag det är smidigt med dubbla mosfetar i SO8-kapsel. (finns både N,N - P,P och N,P-kanals)
Istället för att invertera en "trea" först med clear och sedan skriva en trea med "set" så se till att PICen minns vilken siffra du skrev senast, och gör en jämförelse mellan dessa två siffror , så att du bara nollstället de segment som verkligen ska ändras. Och samma sak med "ettställa": du ettställer bara de segment som inte redan är ettställda.
t.ex om du först visade en "femma" och sedan ska visa en "trea" så skall endast ett segment släckas (överst till vänster) och endast ett segment tändas (överst till höger). Det gör att du kan uppdatera en siffra utan att det håller på och rasslar i alla segmenten. Ofta är det ju samma siffra om och om igen som uppdateras dessutom - då kommer ingen ändring att ske.
Du klarar nog att driva flera MOSFET med samma utgång från en logikkrets. Sätt ett 100-ohms motstånd på logikutgången bara. Och att du väljer MOSFETar som har "logisk nivå" på gaten, dvs 5 volt eller lägre (inte 10 volt som är det vanligaste). Det finns massor att välja på (särskilt om du väljer ytmonterade), så vilken typ du ska ha beror på var du tänker köpa dem och pris. Själv tycker jag det är smidigt med dubbla mosfetar i SO8-kapsel. (finns både N,N - P,P och N,P-kanals)
Istället för att invertera en "trea" först med clear och sedan skriva en trea med "set" så se till att PICen minns vilken siffra du skrev senast, och gör en jämförelse mellan dessa två siffror , så att du bara nollstället de segment som verkligen ska ändras. Och samma sak med "ettställa": du ettställer bara de segment som inte redan är ettställda.
t.ex om du först visade en "femma" och sedan ska visa en "trea" så skall endast ett segment släckas (överst till vänster) och endast ett segment tändas (överst till höger). Det gör att du kan uppdatera en siffra utan att det håller på och rasslar i alla segmenten. Ofta är det ju samma siffra om och om igen som uppdateras dessutom - då kommer ingen ändring att ske.
Re: Drivkort till Elektromekaniska 7-segments display
Jag har jobbat med sådana display för en del år sedan, då fanns det en krets till att driva dom, jag har dock för mig att den inte finns längre.
En sak som omedelbart slår mig: man tar 24V drivning och en halvbrygga per element. I serie med elementet sätter man en elektrolytkondensator på lämpligt värde och detta kommer då att ge en puls vid varje växling men inte annars.
Och då, i gamla dagar (1999), slogs en enhet om år gången, µC'n höll reda på vilka som var på och av och ändrade bara dom som skulle ändras.
En sak som omedelbart slår mig: man tar 24V drivning och en halvbrygga per element. I serie med elementet sätter man en elektrolytkondensator på lämpligt värde och detta kommer då att ge en puls vid varje växling men inte annars.
Och då, i gamla dagar (1999), slogs en enhet om år gången, µC'n höll reda på vilka som var på och av och ändrade bara dom som skulle ändras.
Re: Drivkort till Elektromekaniska 7-segments display
Har ändrat på schemat så alla ingångar är på vänster sidan.
Jesse:
>Det finns massor att välja på
Ja det är en jungel, men först och främst hade jag bara tänkt att labb med denna typ av display.
Så det för nog bil något man kan stoppa ner i lappplattan.
>se till att PICen minns vilken siffra du skrev senast
Det har jag fundrat lite på i annat syfte, om man kör med fler displayer (digits).
Då kan man göra en check om inkommet data för en digit har uppdaterats eller inte.
Att sen släcka endast de segment som inte behövs vid nästa uppdatering blir det ju om man inveterar t.ex en 3:a
Det enda är när man pulsar Com set, så blir det en puls på alla de som redan är satta för en 3:a.
Det jag menar är om man säger att man kör med en tråd för varje segment från PIC´n till
1 st 74244 "Octal 3-STATE Buffer" och parallell kopplar ingångarna med
1 st 74240 "Octal 3-STATE Buffer inverting" och kopplar utgångarna från 74240 till Clr seg x och utgångarna från 74244 Set seg x.
Om man sätter pinnarna från PIC´n för en 3:a och sen pulsar Com clr, så släcker den bara de segmenten som inte används för en 3:a.
Går man från en 5:a till en 3:a, så pulsar man bara övre och undre segmenten till höger för att släcka och det övre släcks. Sen pulsar man alla för 3:an men bara segmentet uppe till höger sätts.
Sen kan man som du säger programmera så att den bara ändrar de segmenten som behövs ändras, genom at ha koll på vad som är satt innan.
Jesse:
>Det finns massor att välja på
Ja det är en jungel, men först och främst hade jag bara tänkt att labb med denna typ av display.
Så det för nog bil något man kan stoppa ner i lappplattan.
>se till att PICen minns vilken siffra du skrev senast
Det har jag fundrat lite på i annat syfte, om man kör med fler displayer (digits).
Då kan man göra en check om inkommet data för en digit har uppdaterats eller inte.
Att sen släcka endast de segment som inte behövs vid nästa uppdatering blir det ju om man inveterar t.ex en 3:a
Det enda är när man pulsar Com set, så blir det en puls på alla de som redan är satta för en 3:a.
Det jag menar är om man säger att man kör med en tråd för varje segment från PIC´n till
1 st 74244 "Octal 3-STATE Buffer" och parallell kopplar ingångarna med
1 st 74240 "Octal 3-STATE Buffer inverting" och kopplar utgångarna från 74240 till Clr seg x och utgångarna från 74244 Set seg x.
Om man sätter pinnarna från PIC´n för en 3:a och sen pulsar Com clr, så släcker den bara de segmenten som inte används för en 3:a.
Går man från en 5:a till en 3:a, så pulsar man bara övre och undre segmenten till höger för att släcka och det övre släcks. Sen pulsar man alla för 3:an men bara segmentet uppe till höger sätts.
Sen kan man som du säger programmera så att den bara ändrar de segmenten som behövs ändras, genom at ha koll på vad som är satt innan.
Re: Drivkort till Elektromekaniska 7-segments display
Icecap:
>Jag har jobbat med sådana display för en del år sedan, då fanns det en krets till att driva dom, jag har dock för mig att den inte finns längre.
Är ju intresant om det skulle gå att få tag i en sån krets, om du kommer på vad den hette.
>En sak som omedelbart slår mig: man tar 24V drivning och en halvbrygga per element. I serie med elementet sätter man en elektrolytkondensator på lämpligt värde och detta kommer då att ge en puls vid varje växling men inte annars.
Nu fick jag databladet idag från tillverkaren och det vissar sig att det är tre trådar, en com och sen som du säger två dioder för varje segment.


>Jag har jobbat med sådana display för en del år sedan, då fanns det en krets till att driva dom, jag har dock för mig att den inte finns längre.
Är ju intresant om det skulle gå att få tag i en sån krets, om du kommer på vad den hette.
>En sak som omedelbart slår mig: man tar 24V drivning och en halvbrygga per element. I serie med elementet sätter man en elektrolytkondensator på lämpligt värde och detta kommer då att ge en puls vid varje växling men inte annars.
Nu fick jag databladet idag från tillverkaren och det vissar sig att det är tre trådar, en com och sen som du säger två dioder för varje segment.


Re: Drivkort till Elektromekaniska 7-segments display
Dioderna är till för att man ska kunde multiplexa fler siffror.
Och kretsen har jag lyckligt glömt vad den hette, jag minns bara att vi i 1999 hade stora problem att få tag i dom.
De matades med +12V, GND och -12V (fixat med en switch +12V -> -12V) och satt i den första generation "DU KÖR FÖR FORT"-skyltar vi hade i Tokholm. Man adresserade vilken rad och kolumn (det var 7*5 matris) samt "riktning" och gav den en puls och dessa kretsar hade en ovana att släppa ut den magiska röken ganska ofta.
Och kretsen har jag lyckligt glömt vad den hette, jag minns bara att vi i 1999 hade stora problem att få tag i dom.
De matades med +12V, GND och -12V (fixat med en switch +12V -> -12V) och satt i den första generation "DU KÖR FÖR FORT"-skyltar vi hade i Tokholm. Man adresserade vilken rad och kolumn (det var 7*5 matris) samt "riktning" och gav den en puls och dessa kretsar hade en ovana att släppa ut den magiska röken ganska ofta.
Re: Drivkort till Elektromekaniska 7-segments display
>Dioderna är till för att man ska kunde multiplexa fler siffror.
Fråga: Går inte det om man inte har dioderna där och kör 7 trådar istället?
>dessa kretsar hade en ovana att släppa ut den magiska röken ganska ofta.
Då kan vi skippa de.
Fråga: Går inte det om man inte har dioderna där och kör 7 trådar istället?
>dessa kretsar hade en ovana att släppa ut den magiska röken ganska ofta.
Då kan vi skippa de.
Re: Drivkort till Elektromekaniska 7-segments display
Du kan inte multiplexa dom utan dioderna.