Ik vond in de 'oude' doos nog een project met een zelfgebouwd 7-segments display en een Pic Microcontroller. Hiervoor gebruik ik de code en het schema van deze site.
Als buffers gebruik ik de CMOS 4050 en alles is zo aangesloten als in het schema. behalve dan dat de 4050's gevoed worden met 12 volt. Nu is het zo, ik krijg het maar niet aan de gang. Zelfs als ik met meetpennen de massa aan een pin van de buffer (die zorgt voor de cathode's) en een +12v aan een andere pin (die zorgt voor de anode's)
Het display heeft een voorschakelweerstand per segment van ongeveer 56 Ohm.
EDIT:
voor de liefhebbers nog wat foto's van de opbouw....
Ik heb hem geprobeert met het kristal, zonder het kristal, andere PIC, maar er gebeurt niks. De leds gaan alleen kort aan bij het ontkoppelen van de voedingsspanning.
Wie kan mij hiermee helpen? Of een opzetje voor nieuwe code, mocht het daaraan kunnen liggen?
[Bericht gewijzigd door fritsuitoosterstreek op (16%)]
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Op de foto zit de PIC er niet in. Bij je test wel? (zou wel een heel erg open deur zijn als het daardoor niet werkt, maar ik trap 'm toch in)
het gaat dus om dit schema?
pin 4 (mclr) float! hang die eens met 10K aan de 5V en kijk wat er gebeurt? misschien maakt het niks uit, maar je omschrijving klinkt als "pic doet niets" en het schema wijst op "pic zou wel eens in reset kunnen blijven en dus niks doen"
Weet je zeker dat de code in de PIC zit? Dat je Xtal ook oscileert? Ofwel: juiste Ctjes gebruikt, niet xxnF ipv xxpF?
heeft die 4050 nog een reset? hangt die ergens aan?
Je kunt die 4050's niet zomaar op een andere spanning dan de uC hangen, dat kloppen de signaal niveaus niet meer.
Wat heb je trouwens een monster elco op die print zitten ?
Die elco viel inderdaad een beetje groot uit...
@Sine; volgens die site moet je voor 12 volt een 4050 gebruiken... beetje krom dus... Heb je een suggestie voor een andere buffer die ik kan gebruiken?
@Lucky Luke; ga ik eens proberen, kijken of het uitmaakt
EDIT: Maakte geen verschil....
Bedankt alvast!
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Begin eens met het display gedeelte. Dus koppel de 4050's los of haal de PIC uit de voet. Verbind de ingangen van de 4050 met de ground of de 5 volt, en simuleer zo de aansturingen.
Ff wat nieuw leven in dit topic blazen. De 4050 doen gewoon wat ze moeten doen als ze met 5 volt gevoed worden dus ben ik zelf eens aan het tekenen geslagen, maar dit keer zonder die Cmos buffers, gewoon voor de cijferaansturing een tor (BC547) en voor de segmentjes een ULN2804 Darlington driver.
Is dit een werkende oplossing? De weerstanden zitten al in het display. Of zie ik (weer) iets belangrijks over het hoofd?
Alvast bedankt voor de reacties!
ik zag op de site dat er alleen 12 volt wordt gebruikt bij de 74hc541 versie bij de 4050 versie gewoon dezelfde als over de PIC staat. of lees ik hier nou over iets heen?
De site zegt dat de 4050 versie bij 12 volt gebruikt moet worden (wat ook wel klopt, omdat de 74hc541 maar 7 volt maximaal kan hebben.
Maar geen reacties op mijn schema? of is zijn het stilzwijgende hints? 
T1 t/m T4 staan als spanningsvolger geschakeld, dat is waarschijnlijk niet wat je wilt, want zo krijg je maximaal ca. 4 volt over de segmenten. Als het display met 4 volt over de segmenten werkt, dan vraag ik me af waarom je 12 volt voeding nodig hebt.
Common-anode aansturing moet je op deze manier met behulp van 2 transistors doen. een npn met de emitter naar massa, basis via een 10k-100k weerstandje naar de PIC output pin.
collector via een weerstand naar de basis van een PNP-transistor. Emitter van de PNP-transistor aan +12 volt. Basis van de PNP-transistor via een weerstandje naar de +12 volt. Collector van de PNP-transistor naar de Common-anode aansluiting van je display. Neem voor deze PNP-transistor geen BC557 die maar 100mA verdraagt, die gaat snel stuk. BC327 of BC636/638/640 is een betere keuze.
tussen de segmentaansluitingen van het display en de uitgangen van de ULN een serieweerstand toevoegen, zodat de stroom naar de segmenten beperkt wordt.
Grote kick,
Weer eens het stof eraf geblazen... Ik heb het nu aangesloten met een ULN2804 zoals hierboven aangegeven staat. Voor de aansturing van de anode's gebruik ik een BC327 (met pullups).
De pic geeft zijn signaal in common Cathode, dus positieve sturing naar de ULN en negatieve sturing naar de BC327
Nu werkt de klok prima met een klein common cathode display direct aan de PIC, maar werkt hij niet op het grote display met de ULN en de BC ertussen...
Ik heb het idee dat de sturing voor de segmenten niet gelijk loopt met de aansturing voor de anode's, omdat de cijfers er niet komen te staan, maar het wel vaag knippert. Ok als de tijd bijvoorbeeld 11:10 is dan brandt het middelste segment niet.
Gaan uitgangen van een PIC anders reageren als er verschillende belastingen aan hangen? Omdat de ULN intern een 10K weerstand naar de basis heeft en ik een 2k2 weerstand gebruik voor de BC327... Of zit ik nou volledige onzin te verkondigen? Verder werkt mijn schema wel gewoon als ik de BC naar de massa trek en 5 volt op een willekeurige segmentpin zet.
De massa's van de ULN en de PIC zijn uiteraard verbonden... Kan het ook komen doordat de pullup van de BC's aan de 12 volt hangen? Wel via een 100k weerstand btw...
De BC327 op 12 volt geeft problemen. Je krijgt de BC327 amelijk nooit gespert. Als er 0 volt op uitgang van de PIC staat loopt er een basis stroom van 11,4v / Rbasis (100k?).
Bij de uitgang op 5 volt loopt er een basis stroom van 6,4v / rbasis (100k).
Daarbij denk ik dat de 100k erg groot is als basisweerstand.Bij Rbasis 100k en uitgang 0v -> Ibasis 11,4 / 100k = 114uA. De Hfe zal zo ong 200 zijn dus een Ic van van 22,8 mA. Dit is nooit genoeg om een heel digit aan te sturen.
Oplossing: Nog een extra transistor (NPN) in de de basis van de digit aansturing opnemen .
Elk digit zal max. +/- 150mA opnemen dus een basistroom van 1,5 mA is toch wel gewenst voor de BC327.
Dus Rbasis van de BC327 zal kleiner moeten worden.
Edit: Wel moet dan de digit aansturing van de PIC geinverteerd worden
De basisweerstand is geen 100K, da's de pullup. De basisweerstand is 2k2 die ietwat klein is, maar de pic moet het kunnen hebben. Verder werkt deze aansturing prima als ik 5v aanbied op de ULN en 0v op de BC... De displays gaan ook wel aan op de PIC, maar de timing tussen beiden (ULN en BC) klopt voor geen meter. Op een klein 7-segments display werkt het wel...
de aansturing zou als volgt moeten uitzien:
Edit: helaas foutje in schema. DIGIT moet natuurlijk niet aan de ground liggen maar naar de ULN28xx gaan. Maar het ging hem hier meer om de anode sturing.
[Bericht gewijzigd door driessens_nl op (43%)]
Het probleem is dat als de PIC 0 geeft op z'n uitgang dat de BC327 doorgeeft. Zodra er een 1 op komt moet hij sperren. Overigens werkt het gewoon als ik massa aanbied op de bc en +5v op de ULN. Dan gaat het corresponderende segment gewoon branden.
Nog eventjes een schema van hoe het nu zit:
Met andere woorden, als ik een massa aanbied op de BC547 in het schema van Driessens, dan gaat de bc327 in geleiding?
Nee, precies andersom.
Het vreemde is dat in het originele schema, bovenaan in jouw link niets geinverteerd wordt.
En verderop worden er ineens inverters tussen geplaatst.
Dus gaat het niet werken 
Schema's die in dit topic staan met de 4050 bv zijn totaal niet meer relevant. Nu zit het zo als het laatste schema, waar ook de soort aansturing bij staat...
In ieder geval alvast bedankt voor de reacties 
[Bericht gewijzigd door fritsuitoosterstreek op (12%)]
Hem net nog ff de originele site van dit schema bekeken en gezien dat daar gebruik gemaakt wordt van directe aansturing vanuit de PIC danwel van niet inverterende buffers. Dat betekend dat je met mijn aansturing van de Common Anodes geen problemen zult hebben. Nl. een 0 aan de uitgang van de PIC zal het DIGIT doven en een 1 zal het digit laten oplichten.
Je komt wel in de problemen met de veranderde aansturing van de kathodes. Hier gebruik je nu nl. een ULN2804 voor en die inverteert het signaal van de PIC. Dus moet je de software aanpassen (de aansturing van de kathodes inverteren) of een andere driver voor je kathodes zoeken die niet inverteert.
EDIT: je kan natuurlijk ook een hardware inverter toevoegen tussen PIC en ULN om dit probleem op te lossen bijv 74hc540
Het zit al ingebouwd in de software met pin 3. Daarmee kun je kiezen voor een common-cathode of een common-anode display. Ik heb hem ingesteld als common Cathode, zodat de ULN hoog gestuurd word en de BC's laag.
Dat gaat je niet redden. Als je omschakeld van common Cathode naar common Anode wordt alles geinverteerd, zowel de aansturing van de anodes als van de kathodes. Omdat je zelf een inverter (de ULN2803) hebt toegevoegd aan het schema zal je het effect daarvan moeten opheffen. Hetzij door in de software de aansturing van de segmenten te inverteren danwel door nog een inverter op te nemen in de segment aansturing. Je kan natuurlijk ook nog een inverter opnemen in de aansturing van de DIGIT's.
Het zit al ingebouwd in de software met pin 3. Daarmee kun je kiezen voor een common-cathode of een common-anode display. Ik heb hem ingesteld als common Cathode, zodat de ULN hoog gestuurd word en de BC's laag.
Kijk, nu wordt het duidelijk.
Heel jammer dat je niet bij de software kunt, dan kun je dit gemakkelijk softwarematig oplossen.
Hardware oplossing:
Bij de schakeling van Driessens nog een extra NPN ervoor zetten die de basis-emitter van de BC547 dichtknijpt 