Schuifregister: MR en OE pin (74HC5959)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Ik ben voor een projectje (lees: LED kubus ;)) schuifregisters in serie aan mekaar aan het knopen. Nu heb ik een paar vragen over hoe dit in zijn werk gaat.

Allereerst zal ik als ik registers in serie wil schakelen de datalijn moeten doorluseen van de output pin van het ene register naar de input van de volgende. De latch en klok lijnen moeten dan volgens mij gewoon parallel geschakeld worden.

In de datasheet van de 74HC595 zag ik dat ik de output pin aan kan zetten door de OE (output enable) pin naar GND te schakelen. Aangezien ik de datalijn van de registers wil gaan doorlussen zal ik dus volgens mij alle OE pinnen naar GND moeten schakelen.

In de datasheet staat ook dat de MR pin als die laag is alle uitgangen op '0' zet. Dit wil ik niet, dus volgens mij moet ik die pinnen allemaal naar Vcc schakelen.

En nou mijn vraag: In het ontwerp dat ik gebruik voor het project (medetweaker bedankt _/-\o_ ) zijn de schuifregisters inderdaad zo aangesloten als ik hierboven schets. Met 1 uitzondering: BIj het eerste schuifregister zijn de OE pin en de MR pin niet aangesloten. Maar ik snap werkelijk niet waarom (als ik data wil gaan lussen zal OE toch zeker laag moeten zijn??). Wat mis ik? Of klopt het ontwerp gewoon niet?

En nog iets anders: Weet iemand of je met een Wisp648 (die heb ik) een PIC 16F648A kunt programmeren? AFAIK staat hij niet in de lijst, maar hij lijkt zo donders veel op de 16F628A dus... Zo ja, dan bestel ik die (i.v.m. met dubbel geheugen).

En hier het schema:
Schema LED Kubus

[ Voor 6% gewijzigd door bindsa op 04-07-2010 13:41 ]


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 13:27
Schema? :)

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Toegevoegd. ;) Waar is dat schema trouwens in gemaakt?

[ Voor 12% gewijzigd door bindsa op 04-07-2010 13:41 ]


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

De MR-lijn moet je wel aansluiten. Ik zou die wel op de PIC en niet direct op de VCC aansluiten. Hierdoor kan je automatisch de registers resetten. De OE-lijn moet je ook aansluiten, maar die kan gewoon naar de GND.
Bij het inclocken van de data maakt de spanning van de OE-lijn niets uit.

Van de WISP weet ik niet. Maar dat kan VOTI zelf vast wel beantwoorden. :)

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Onbekend schreef op zondag 04 juli 2010 @ 13:43:
De MR-lijn moet je wel aansluiten. Ik zou die wel op de PIC en niet direct op de VCC aansluiten. Hierdoor kan je automatisch de registers resetten. De OE-lijn moet je ook aansluiten, maar die kan gewoon naar de GND.
Bij het inclocken van de data maakt de spanning van de OE-lijn niets uit.

Van de WISP weet ik niet. Maar dat kan VOTI zelf vast wel beantwoorden. :)
Dat automatische resetten vat ik niet helemaal. Hoe werkt dat precies? Ik kan toch ook gewoon data inklokken, en als ik iets wil wijzigen andere data inklokken?

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

Op het moment van aanzetten staan er willekeurige waarden in de registers. Je zal dus eerst je eigen waardes in moeten clocken.
Als er alleen LED's aan hangen is dit het geen groot probleem en kan je de MR gewoon (met een weerstand) aan de VCC hangen.

Mocht je bij een ander project complexere schakelingen erachter hebben hangen, dan kan er kortsluiting ontstaan omdat er willekeurige waarden in de registers staan. Om dat te voorkomen dien je de MR en de OE ook actief aan te sturen.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Onbekend schreef op zondag 04 juli 2010 @ 14:03:
Op het moment van aanzetten staan er willekeurige waarden in de registers. Je zal dus eerst je eigen waardes in moeten clocken.
Als er alleen LED's aan hangen is dit het geen groot probleem en kan je de MR gewoon (met een weerstand) aan de VCC hangen.

Mocht je bij een ander project complexere schakelingen erachter hebben hangen, dan kan er kortsluiting ontstaan omdat er willekeurige waarden in de registers staan. Om dat te voorkomen dien je de MR en de OE ook actief aan te sturen.
Ok ik snap het, ik kan de MR dus gewoon direct aan de VCC hangen. Bedankt ;)

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 10:59

SA007

Moderator Tweaking
1 ding snap ik niet aan dat schema.

Waarom wordt de ULN2003 gebruikt en niet de ULN2803?
De 2 chips zijn vrijwel identiek met 1 belangrijk veschil dat de 2803 8-voudig is.
Als je een 2803 gebruikt kan je gewoon de schuifregisters 1 op 1 met de ULN doorlussen en heb je voor nummber 64 ook geen losse transistor nodig.

Vin ik een vrij vreemde ontwerpbeslissing aangezien het er erg onoverzichtelijk en niet beter van word.

Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
SA007 schreef op zondag 04 juli 2010 @ 20:54:
1 ding snap ik niet aan dat schema.

Waarom wordt de ULN2003 gebruikt en niet de ULN2803?
De 2 chips zijn vrijwel identiek met 1 belangrijk veschil dat de 2803 8-voudig is.
Als je een 2803 gebruikt kan je gewoon de schuifregisters 1 op 1 met de ULN doorlussen en heb je voor nummber 64 ook geen losse transistor nodig.

Vin ik een vrij vreemde ontwerpbeslissing aangezien het er erg onoverzichtelijk en niet beter van word.
Hmm das inderdaad handiger, ik wist niet dat er ook een 8 voudige was. Heb het ontwerp ook niet zelf gemaakt, ik heb ook al een paar foutjes ontdekt (zo wordt de ontstoor condensator in het ontwerp op de MCLR pin aangesloten, en wordt de Vcc pin van de uC helemaal niet aangesloten). Maar ben toch blij dat ik het ontwerp van de medetweaker gekregen heb, zou ik zelf zo niet kunnen maken.

Waar ik overigens echt nieuwsgierig naar ben is waar je zo'n schema in maakt, weet iemand dat?

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

Ik zie nu pas het schema staan, en het is vrij onlogisch getekend. De auteur heeft inderdaad een paar belangrijke punten vergeten te tekenen. :)

Je kan bijvoorbeeld Eagle gebruiken om het schema te tekenen.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • Corpse2
  • Registratie: Januari 2004
  • Laatst online: 07-01-2023
L0calh0st schreef op zondag 04 juli 2010 @ 13:29:
En nog iets anders: Weet iemand of je met een Wisp648 (die heb ik) een PIC 16F648A kunt programmeren? AFAIK staat hij niet in de lijst, maar hij lijkt zo donders veel op de 16F628A dus... Zo ja, dan bestel ik die (i.v.m. met dubbel geheugen).
Ik heb die programmer hier ook liggen maar niet die chip. Echter, ik gebruik xwisp2 om ermee te programmeren:
http://www.robh.nl/picsoft.php

Volgens die website kan de 16F648A hiermee geprogrammeerd worden.

keep trying...


Acties:
  • 0 Henk 'm!

  • guus.assmann
  • Registratie: Augustus 2006
  • Laatst online: 27-04-2021
Volgens mij is het aan te raden om zowel de OE als ook de reset door de PIC aan te laten sturen.
Het aansturen van de schuifregisters (en led's) is dan wat mooier.
De volgorde is dan: Eerst een reset. (Alle led's uit)
Dan de OE inactief maken.
Vervolgend de data inklokken. (De uitgang naar de volgende blijft dan dacht ik toch actief)
Daarna de OE actief maken. Dan gaan de led's pas aan.
Op deze manier zie je de data niet ingeklokt worden.
Via de OE is er ook een helderheid voor de led's te regelen.

[ Voor 0% gewijzigd door guus.assmann op 05-07-2010 09:32 . Reden: spelfouten ]

Guus Assmann


Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Onbekend schreef op zondag 04 juli 2010 @ 21:40:
Ik zie nu pas het schema staan, en het is vrij onlogisch getekend. De auteur heeft inderdaad een paar belangrijke punten vergeten te tekenen. :)

Je kan bijvoorbeeld Eagle gebruiken om het schema te tekenen.
Zie je zo nog dingen die hij vergeten is en die ik niet heb opgemerkt? (Ben namelijk begonnen met het solderen van het PCB ;))

Acties:
  • 0 Henk 'm!

  • Sibylle
  • Registratie: Juli 2006
  • Laatst online: 13-07-2023
ziet eruit als MultiSim van National Instruments, prima software en kan veel. Als je ok Ultiboard gebruikt heb je eigelijk Eagle niet nodig.

Ctrl+k


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

L0calh0st schreef op maandag 05 juli 2010 @ 13:28:
Zie je zo nog dingen die hij vergeten is en die ik niet heb opgemerkt? (Ben namelijk begonnen met het solderen van het PCB ;))
- Bij andere ontwerpen raad ik je aan om standaard pin 9 van elke ULN2003 aan de VCC te hangen. In dit geval zal het niet zo erg zijn dat deze los hangt, maar als je andere componenten gaat aansturen is dat zeker aan te raden.
- Van IC18 zijn ook de MR en de OE ook niet aangesloten.
- Ook elke 74HC595 moet je ontkoppelen met 100nF. Als je de print al hebt, kan je een gewone ceramische condensator over de chip zelf solderen.


Kan je de pcb-layout (voor en achterkant) ook hier posten? Gezien de ontbrekende puntjes in het schema, verwacht ik ook wel rare punten op de pcb-layout. :)

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 13:27
SA007 schreef op zondag 04 juli 2010 @ 20:54:
1 ding snap ik niet aan dat schema.

Waarom wordt de ULN2003 gebruikt en niet de ULN2803?
De 2 chips zijn vrijwel identiek met 1 belangrijk veschil dat de 2803 8-voudig is.
Als je een 2803 gebruikt kan je gewoon de schuifregisters 1 op 1 met de ULN doorlussen en heb je voor nummber 64 ook geen losse transistor nodig.

Vin ik een vrij vreemde ontwerpbeslissing aangezien het er erg onoverzichtelijk en niet beter van word.
Zoiezo is dit schema wat raar over de top, kan met veel minder IC's.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 10:59

SA007

Moderator Tweaking
Klopt, maar niet alles ic's zijn even makkelijk vindbaar.
Je hebt ook een combo van de 595 en de 2803 (de tpic595 kan je 'm mee vinden).

OE heb je trouwens in principe niet nodig.
Een schuifregister met latch (wat de 595 is) zie je geen data inklokken, maar wordt alle data op de uitgangen gezet bij de latch.
Bij zo'n systeem is het ook niet aan te raden de OE te bedienen tijdens het klokken omdat je dan simpelweg je leds uit hebt staan als dat niet nodig is (kost je helderheid).

Ik zou gewoon de OE overal gewoon aan ground knopen.

Als je de helderheid van je leds wil regelen kan dat eigenlijk toch alleen maar door te PWM'en door heen snel je data in/uit te klokken.

Paar punten iig:
De 8 uln2803 (als je die chip verwisseld hebt he) en 595 blokken zijn identiek in alles.
Ook moeten van de 595's alle ingangspinnen aangesloten zijn anders kan je rare dingen krijgen.
de vcc van de ULN hoeft hiervoor idd niet aangesloten te worden, deze is bedoelt voor als je inductieve dingen (zoals relais of motoren) gaat schakelen.
Het hoeft niet, maar kan ook geen kwaad als je dat wel doet.

Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 13:27
/OE gebruik je dan ook bij het opstarten, in de system reset trek je het hoog zodat je zeker weet dat er geen output is, dan klok je voor het eerst in(met daarna een latch) en vervolgens trek je hem laag.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

SA007 schreef op dinsdag 06 juli 2010 @ 21:48:
Als je de helderheid van je leds wil regelen kan dat eigenlijk toch alleen maar door te PWM'en door heen snel je data in/uit te klokken.
Als je data doorklokt, zullen de leds tijdelijk andere waarden laten zien.
Als je veel PWM gebruikt, zal je de overige leds iets zien branden, terwijl je ze eigenlijk uit wilt hebben.
Oftewel, bij het doorklokken van de data, altijd de de OE inschakelen om de leds tijdelijk helemaal te doven.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 10:59

SA007

Moderator Tweaking
LED-Maniak schreef op dinsdag 06 juli 2010 @ 21:55:
/OE gebruik je dan ook bij het opstarten, in de system reset trek je het hoog zodat je zeker weet dat er geen output is, dan klok je voor het eerst in(met daarna een latch) en vervolgens trek je hem laag.
Ja en nee, de uitgangen van de de schuifregisters is misschien ongedefinieerd (voor de 0.1 sec dat het duurt voor het opstarten) maar zolang je niet ook een verdieping actief aanstuurt zal er geen lampje gaan branden hoor.
Onbekend schreef op dinsdag 06 juli 2010 @ 23:34:
[...]

Als je data doorklokt, zullen de leds tijdelijk andere waarden laten zien.
Als je veel PWM gebruikt, zal je de overige leds iets zien branden, terwijl je ze eigenlijk uit wilt hebben.
Oftewel, bij het doorklokken van de data, altijd de de OE inschakelen om de leds tijdelijk helemaal te doven.
Heb je wel door dat het hier gaat om een 595, dat is een schuifregister met latch, met andere woorden, de uitgang doet helemaal niks zolang je de latch niet aanraakt.
Als je dus continue een 0 in het schuifregister doet naar een bepaalde led zal deze altijd uit blijven en nooit een beetje gaan branden zoals je zegt.

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 13:30

Onbekend

...

Je hebt gelijk. Ik had niet gezien dat de data via een andere pin op de uitgangen werden gezet.
De OE hoeft inderdaad niet actief aangestuurd te worden.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 13:27
SA007 schreef op woensdag 07 juli 2010 @ 14:20:
[...]


Ja en nee, de uitgangen van de de schuifregisters is misschien ongedefinieerd (voor de 0.1 sec dat het duurt voor het opstarten) maar zolang je niet ook een verdieping actief aanstuurt zal er geen lampje gaan branden hoor.
Uiteraard, maar ik had het ook niet over specifiek dit geval. Is altijd interessant natuurlijk om te vermelden wat de beweegreden is om bepaalde dingen te doen.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.

Pagina: 1