Ik heb een matrix van ongeveer 10 (breed) bij 40 (hoog)led's. Deze led's wil ik rij voor rij aan laten gaan (dus eerst de onderste, dan de onderste en de op één na onderste, enz...). Dit wou ik doen met een NE555, een schuifregister (HEF4094) en een LED-driver (ULN2803).
Mijn idee was om de data input van het schuifregister aan één te hangen en vervolgens zou het schuifrigister vanzelf vollopen met enen.
Zo dacht ik dat het zou gaan, maar nu blijkt de HEF4094 een strobe input te hebben. Dit verpest mijn hele verhaal.
De werking van de 4094 is dan als volged. Eerst wordt door middel van de klok en de data input de de data serieel geladen die op de parallele uitgang moet komen te staan. Wanneer de strobe input vervolgens eenmaal geklokt wordt, zal deze data op de uitgang komen te staan. Totaal niet mijn bedoeling dus.
Is mijn idee toch uit te voeren, zonder al te veel extra componenten toe te voegen?

Is mijn idee toch uit te voeren, zonder al te veel extra componenten toe te voegen?

Misschien is een 74HCT164 (weet niet wat de CMOS vervanger daarvoor is) handiger, dan alleen een kloksignaal nodig en "data".
Data aan de plus en dan een trage klok erop met een 555.

Ja, daar was ik ook al achter gekomen, maar ik had al twee HEF4094's gekocht (niet voldoende voor mijn ontwerp, maar om mijn gedachten te testen). Daarom was ik benieuwd of de strobe input te omzeilen was.

Ik neem aan dat je het goed het uitgezocht, maar even voor de zekerheid: is die strobe edge-triggered of level-triggered?

Als 'ie edge-triggered is, heb je idd een probleem.
Als 'ie level-triggered is, dan schakel je 'em gewoon uit door 'em permanent hoog of juist laag te maken.
Bitjes die je dan naar binnen schuift worden in dat geval direct zichtbaar op de uitgangen.

Edit: als ik het goed lees in de datasheet is de strobe level-triggered.

The data in each shift register stage is transferred to the
storage register when the strobe input (STR) is HIGH.

[Bericht gewijzigd door logic op ]

In mijn eerste test maakte ik hem permanent hoog. Toen werden direct alle uitgangen hoog.
Waarom ik voor de HEF4094 gekozen heb, is dat deze hoge spanningen aan kan (tot 15 volt) en dat hij een output enable pin heeft, waarmee ik met een pwm-modulator de leds minder vel zou kunnen laten branden.
Wat ik heb gedaan om de 4094 te testen is:
- Data -> Hoog
- str -> Hoog
- CP -> output 555
De 555 had ongeveer een periode van een halve seconde. Toch werden direct alle uitgangen hoog van de 4094.

ma neen da is geen probleem.

die strobe ingang via een weerstand aan de grond. van de storbe ene 100 nF capje naar de clock ingang en clocken maar.

bij elke dalende flank van de 555 ( dan heeft het schuifregister al geschoven ) krijgt die strobe een spike te zoen van dat rc netwerkej en latcht is zijn uitgang. tis geen proper digitaal design maar twert wel ( afhankelijk van de polariteit van die strobe ingang kan het zijn dat die weerstand niet naar grond maar naar voeding moet. effe proberen dus. keb geen goesting de dataseet van dat ding op te snorren)

Omdat wat free electron zegt niet werkt ga ik toch maar voor een ander IC. De 74HC164 is hiervoor wel geschikt, maar eigenlijk zoek ik een schuifregister dat hogere spanningen aan kan. De 164 gaat tot 6 volt. Weet iemand een schuifregister die hogere spanningen aan kan?
Ook zou een schuifregister met output enable helemaal perfect zijn.

Weinig kans, het is tegenwoordig allemaal 5V of minder.

Free's oplossing moet gewoon werken btw.

[Bericht gewijzigd door Henry S. op ]

Uit de openingspost: "Mijn idee was om de data input van het schuifregister aan één te hangen en vervolgens zou het schuifrigister vanzelf vollopen met enen."

Uit een latere post: "In mijn eerste test maakte ik hem (de strobe) permanent hoog. Toen werden direct alle uitgangen hoog."
Ja, dat kan best kloppen.

Dan ga je er dus vanuit dat er allemaal nullen in zitten,
maar hoe komen die nullen er dan in?
Die moet je er wel eerst zelf instoppen.

Als je die Strobe-input gewoon aan 5V hangt, dan is 'ie effectief uitgeschakeld.
Bij ieder bit dat je vervolgens naar binnen schuift, zie je de uitgangen direct veranderen.
Dat moet toch werken?

Op 21 december 2005 12:39:30 schreef NiekMan:
Omdat wat free electron zegt niet werkt ga ik toch maar voor een ander IC. De 74HC164 is hiervoor wel geschikt, maar eigenlijk zoek ik een schuifregister dat hogere spanningen aan kan. De 164 gaat tot 6 volt. Weet iemand een schuifregister die hogere spanningen aan kan?
Ook zou een schuifregister met output enable helemaal perfect zijn.

Kijk voor de gein eens naar de datasheet van de 74HC595. Die heeft net als de 4094 zogenaamde 3-state outputs, en is ook voorzien van een Output Enable pin. Misschien lukt het hiermee?

Op 21 december 2005 13:09:43 schreef Henry S.:
Free's oplossing moet gewoon werken btw.

IK heb het geprobeerd en het werkt echt niet.

Logic oplossing werkt echter gedeeltelijk wel. Ik ben er nu achter gekomen dat het schuif register bij de eerste puls vol wordt gezet met de waarde die de data input op dat moment heeft. Wanneer de data dus continu hoog is (in mijn geval was dat zo) zullen alle led's ook altijd blijven branden.
Als de data bij de eerste klokpuls laag is zullen de led's dus ook uit blijven.
Ik heb nu de data input schakelbaar gemaakt en dan zie ik netjes de data door het schuif register schuiven.
Omdat ik het ontwerp zo klein mogelijk wil houden en hier dus extra logica voor nodig is ga ik toch kijken naar een ander schuif register.

De 74HC595 die XiniX opperde ziet er geschikt uit. Morgen ga ik die dus maar eens kopen samen met een 74hc164, dan weet ik zeker dat ik verder kan.
Bedankt allen voor de hulp, als jullie nog extra opmerkingen hebben lees ik het wel.

Wat is dan het wezenlijke verschil tussen de 74HC595, de 74hc164 en de 4094?

Heeft 1 van die andere IC's wel allemaal nullen in zich als de stroom erop gaat?
Zo nee, dan houd je toch hetzelfde probleem?

bij de 595 heb je de mogelijkheid om eerst data in het shift register zetten en dan pas in het storage register (de outputs dus).
Dit kan enorm handig zijn als je niet meteen de waarde van het schuif-register op de outputs wil zetten.

Zorg ervoor dat je een RC netwerk aan de reset hangt. Dan zal de 4094 resetten tot de C via de R zich geladen/ontladen(ligt aan actief laag/hoog) heeft.
Data aan 5V. Strobe en Klok aan het kloksignaal.

Zo zal het misschien gaan.

EDIT:
gaat dus niet. Zit geen reset op.
PDF:
http://www.semiconductors.philips.com/acrobat_download/datasheets/74HC…

[Bericht gewijzigd door Willie Worteltje op ]

Op 21 december 2005 23:07:22 schreef logic:
Wat is dan het wezenlijke verschil tussen de 74HC595, de 74hc164 en de 4094?

Het verschil is dat de 74HC164 direct de input er ook weer parallel uitschuift en niet eerst wacht tot de strobe input hoog wordt. Het voordeel van de 74HC595 is dat deze een output enable pin heeft. Hiermee kan ik met een PWM modulator de led's minder vel laten branden.

"... dat de 74HC164 direct de input er ook weer parallel uitschuift en niet eerst wacht tot de strobe input hoog wordt."
Klopt, de 74HC164 heeft helemaal geen strobe-input.
Da's idd in jouw voordeel.

"Het voordeel van de 74HC595 is dat deze een output enable pin heeft."
Heeft de 4094 ook.
Uit de datasheet van de 4094:

Data in the storage register appears at the outputs
whenever the output enable input (OE) signal is HIGH

PWM-en kun je met de 4094 dus ook.

Bij de 595 geldt dat:

The data in each register is transferred to the storage register
on a positive-going transition of the STCP input.

Deze strobe-input is dus edge-triggered.

Bij de 4094 is de strobe-input high-level-triggered.
Daar kun je de strobe gewoon aan 5V hangen.
Dat kan bij de 595 niet.

De 4094 lijkt mij het makkelijkst voor jou, maar jij moet kiezen natuurlijk.

In ieder geval: succes.

Op 22 december 2005 12:56:42 schreef logic:
"Het voordeel van de 74HC595 is dat deze een output enable pin heeft."
Heeft de 4094 ook.

Dat wist ik, maar ik had toen ik mijn voorgaande bericht schreef de 4094 al afgeschreven voor mijn projectje. De 74HC595 werkt echter bijna hetzelfde als de 4094. Alleen de werking van de strobe input is anders zoals je beschrijft.

Nu weet ik echter nog niet wat ik ga doen. Omdat bij de 74hc595 en de 4094 alle uitgangen bij de eerste klokslag de waarde krijgen die op de ingang staat wil ik misschien als ingang voor de 4094 de uitgang van een flipflop doen. Deze wil ik aansluiten op de klok. Dan zal bij de eerste klokpuls de ingang laag zijn, waardoor alle uitgangen ook laag zullen zijn. Bij de volgende klokpuls is de ingang van de 4094 dan echter hoog en dan zullen langzaam enen het schuifregister inschuiven. Dat is precies wat ik wil.

Het enige wat ik dan nog nodig heb is een flip-flop die tot 18 volt voeding gaat.

EDIT:
Z'n flip-flop heb ik al weer gevonden. De HEF4013B uit dezelfde serie als de 4094 dus dezelfde specificaties, alleen heeft die flip-flop natuurlijk weer een klok. Ik ga hier maar weer eens overnadenken. Als iemand nog wat heeft hoor ik het graag.

[Bericht gewijzigd door NiekMan op ]