| Naam |
Bericht |
oxurane
|
Deler bouwen
Ik wil telkens iedere 8 e puls detecteren, zodat ik een microcontroller eenvoudig op een lage snelheid kan laten werken.
Ik kan daarvoor een tien-teller gebruiken, zoals een CD4017, maar die heb ik hier niet liggen.
Daarom dacht ik er aan om een 74HC164 te misbruiken als een soort 8-deler. De 74HC164 is een 8-Bit Serial-In Parallel-Out Shift Register" ( "Link datasheet). Het voordeel van deze chip is dat deze chip namelijk vrij eenvoudig is aan te sturen. 2 Data INPUTs, 1 Clock INPUT en een CLR (Master Reset)
Aansturing
De aansturing is vrij eenvoudig omdat de 2 detectiepoortjes (pin 1 en 2) aan 5V kan hangen. Verder kunnen de inkomende pulsen (te meten frequentie) van JP1 gelijk doorgekoppeld worden aan de CLK-pin. En met de CLEAR wordt de chip weer ge-reset (Alle 8 output-pinnen naar 0V).
Vandaar dat ik aan het volgende schema dacht, waarmee ik deze 74HC164 zou misbruiken als een 8-deler.
Schema
Theorie en praktijk
In theorie zou het kunnen werken, ware het niet dat ik nog loop te peinzen over de CLEAR (Reset).
Pin 13 wordt na 8 pulsen hoog (5V). Op J2 staat dan ook 5V, die opgepikt kan worden op een INT-pin van een ATMega.
Maar,.... er staat dan ook meteen 5V op pin CLEAR. Dat zorgt er nu juist voor dat alle pinnen (QA .. QH) gelijk weer gereset worden naar 0V.
Of toch niet ?
Mijn donkerbruine vermoeden is, dat de reset zo snel zal gaan, dat de 5V op pin 13 helemaal niet gedecteerd zal worden, wanneer de ATMega op de interne clock van 1 MHz wordt gezet.
Theoretisch kan de ATMega op 1 MHz maximaal 500 KHz detecteren. Op JP1 kan dan een signaal van max. (8x 500 KHz =) 4 MHz staan. Maar het wordt nog moeilijker, wanneer ik er nog een 74HC164 achter zet, om zo een bereik van 32 MHz te behalen.
Extra info
Ja, ik wil inderdaad proberen om 32 MHz te halen. Dat ik de overige tussenstappen (elke puls 1 t/m 7) mis is niet zo belangrijk.
Ik hoop dat ik op begrip kan rekenen voor het volgende : ik woon in een zwart gat, waar geen electro-shops zijn. Ik weet dat er wellicht meer elegante IC's in de handel zijn die dit probleempje beter kunnen oplossen. Maar ik had niet het voornemen om voor 1 IC'tje, met de bus een flink stuk af te reizen naar een electro-shop. Ik wil het dus echt met deze 74HC164 proberen.
Mijn vragen
- Kan de puls op pin 13 nog net gedecteerd worden, ondanks dat dat ook meteen een reset betekent van de 74HC164 ?
- Zo nee : Hoe kan ik een kleine vertraging erin verwerken ?
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
BernardV
Golden Member
|
Denk niet dat je het voor elkaar krijgt om die puls nog te detecteren.
Maar even iets anders, heb je de deling zo niet op 128 staan ipv 8. Want het zijn toch 8 bits voor de parallelle uitgang?
Dan heeft de laatste bit een waarde van 128 of 0, voor een 8 deling zou je dus pin 4 moeten hebben.
Om dus 32kHz te halen kun je het zo laten (4MHz / 128 = ~32kHz) en heb je geen 2de nodig.
Je zou natuurlijk de reset kunnen aansturen vanuit je ATMega.
|
pros
|
Het is een schuifregister, geen binaire deler.
@oxurane: tak het signaal af van QG ipv. QH. Dan krijg je dit:
QG wordt hoog na 7 klokpulsen.
Na de volgende klokpuls wordt QG terug laag (samen met de andere uitgangen).
Na nog eens 7 klokpulsen wordt QG weer hoog, enz...
Op QG staat dus een blokspanning met 1/8 van de ingangsfrequentie.
Een andere mogelijkheid bestaat er in, een weerstand van 100R tussen QH en CLR te plaatsen, en een C van 47p tussen CLR en GND. Zo wordt de puls op QH een tikkeltje langer.
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
Jochem_S
Golden Member
|
En voor een duty-cycle van 50% voor die blokspanning pak je dan QD.
|
pros
|
Dat gaat zo niet werken, vrees ik. CLR maakt alle ingangen laag, als je daar een laag signaal op plaatst. Het niveau op QH moet dus geïnverteerd worden, voor het naar CLR gaat.
Dat kan met een "echte" inverter (1/6 7404) of met een pull-up weerstandje aan CLR en een fetje (BS170) als inverter. Voor hogere frequenties zou ik in ieder geval geen BC547 oid. nemen.
En QD levert idd. een evenwichtige blokgolf, zoals Jochem_S aangeeft. [Bericht gewijzigd door pros op 8 september 2008 10:16:40]
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
oxurane
|
quote: Op 8 september 2008 10:13:58 schreef pros:
Dat gaat zo niet werken, vrees ik. CLR maakt alle ingangen laag, als je daar een laag signaal op plaatst. Het niveau op QH moet dus geïnverteerd worden, voor het naar CLR gaat.
Pros, je bent een held !
Ik had dit belangrijke detail totaal over het hoofd gezien.
quote: Voor hogere frequenties zou ik in ieder geval geen BC547 oid. nemen.
De datasheet van een BC847 (ja ja, ik weer met SMD) geeft aan dat ie kan werken tot 100 MHz. Dat is toch ruim binnen de marge (32 MHz) ?
Trouwens, als ik een LM311 met een potmetertje, nog tussen JP1 en de 74HC164 zet, dan kan kan ik niet alleen frequenties met een amplitude van 5V oppikken, frequenties met veel lagere pieken..... toch ?
quote: En QD levert idd. een evenwichtige blokgolf, zoals Jochem_S aangeeft.
ehm, ik snap de hint van de blokgolf niet. Ik snap wel dat er een hele nette blokgolf uitkomt, maar wat kan ik ermee ?
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
Jochem_S
Golden Member
|
verschil tussen
code: _ _
__| |___________| |______ (jouw schakeling)
en
______ ______
__| |______| |_ (uitgang op QD)
Zal voor jouw toepassing (clock) overigens weinig uitmaken denk ik.
|
oxurane
|
Ja, dat had ik begrepen. Mja, ik kan het denk ik wel gebruiken voor de INT op de ATMega. Ik lijk wellicht niet zo enthousiast op je tip, maar ben het wél ! Daarom wil ik je bedanken voor je ideetje. [Bericht gewijzigd door Henry S. op 8 september 2008 22:45:08]
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
pros
|
quote: De datasheet van een BC847 (ja ja, ik weer met SMD) geeft aan dat ie kan werken tot 100 MHz. Dat is toch ruim binnen de marge (32 MHz) ?
Als je een bipolaire tor als schakelaar gebruikt --en dus in verzadiging stuurt-- mag je al blij zijn als die 100kHz haalt.
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
oxurane
|
Hmmm,. dat is net een stap te ver voor mij. Ik begrijp het niet (lees : volkomen leek op dit gebied).
Waarvoor dient de opgegeven waarde van 100 MHz ? Ik dacht namelijk dat dat de max. schakelsnelheid was : 100 MHz pulsjes op de basis "bombarderen" en hij gaat geleiden / sperren met een identieke snelheid tussen C en E. [Bericht gewijzigd door Henry S. op 8 september 2008 22:44:40]
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
pros
|
Als je een bipolaire transistor in verzadiging stuurt, gaat hij vrij snel van gesperde toestand over naar geleidende toestand. Maar omgekeerd gaat relatief traag.
Neem dit schema:
Als je nu op punt A een blokspanning zet van 5V met een frequentie van 200kHz, en je hangt de scoop op punten A en B, krijg je dit resultaat:
A is de bovenste grafiek, B de onderste.
Zoals je ziet, gaat de tor vrijwel onmiddelijk in geleiding als het ingangssignaal hoog wordt, maar duurt het zowat 2µS voor de spanning op de collector van laag naar hoog gaat, nadat het ingangssignaal terug laag is geworden.
Als je de frequentie nog wat verhoogd tot 250kHz, blijft de tor domweg in geleiding.
Nu kan je wel maatregelen nemen om er voor te zorgen dat de tor niet in verzadiging gestuurd wordt, maar het gebruik van een fet als de BS170 lijkt me toch een elegantere oplossing. Of een "echte" inverter, natuurlijk.
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
oxurane
|
Pros :
Dank je wel voor je uitleg. Zeker het plaatje met de scoop vind ik zeer strak. Maar, hoe kun je zoiets uit een datasheet halen ?
Ik heb hier ook nog een PMBT3904. Philips geeft het de volgende omschrijving : "NPN Switching transistor". Bij de BC847 was dat "NPN general purpose transistor".
Maar, geldt bij deze PMBT3904 hetzelfde verhaal ? Ik vraag dit, omdat ik zie dat deze niet alleen tot 300 MHz zou moeten kunnen, maar ook omdat hier specifiek het woord "switching" (schakelen) wordt gebruikt.
Ik heb hier ook nog een MMBD1203 en een PMBD7000. Ik denk dat ik deze zou kunnen misbruiken om het signaal van QH te splitsen. Op Pin 3 kan ik dan bijvoorbeeld het detectiesignaal aftappen voor de volgende HC164 (of Atmega) en op pin 2 het signaal voor de CLEAR.
Pin 2 moet dus nog voorzien worden van een inverter en pin 3 van een "iets" om het signaal wat langer vast te houden.
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
pros
|
quote: Maar, hoe kun je zoiets uit een datasheet halen ?
Het is een typische eigenschap van bipolaire transistors.
De PMBT3904 zal het ongetwijfeld beter doen, maar ook daar geeft de fabrikant 240nS turn-off time op.
Wat je kan doen om een tor sneller te laten schakelen, is dit bv:
De diode zorgt er voor dat de transistor niet in verzadiging kan geraken. Zodra de collectorspanning onder de 0.4V dreigt te komen, gaat de diode geleiden en stroom wegsnoepen uit de basisweerstand.
De C over de basisweerstand doet er nog een schepje bovenop.
Wat je met die dioden van plan bent, is me niet helemaal duidelijk.
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
oxurane
|
quote:
Ik dien het signaal op te splitsen. De ene voor de CLEAR-pin, waar de transistor snel genoeg moet reageren. De andere met een vertraging om nog door de volgende HC164 opgepikt te kunnen worden.
Of zit ik nu te diep te graven, en op zoek naar een te complexe oplossing ?
Trouwens, is de BAT85 de beste oplossing, of mag er ook een "lelijke 1N4148" gebruikt worden ?
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|
pros
|
Als je nou de klok voor de 2e 74164 aftakt op QG, dan komt die --bij het opstarten-- 1 klokpuls te vroeg, maar daarna zitten er telkens 8 klokpulsen tussen.
En nee, een 1N4148 zal niets uithalen. Over een Schottky-diode valt ±0.2V, waardoor die diode basisstroom gaat wegtrekken zodra de collectorspanning lager dan (0.6 - 0.2) 0.4V wordt. Bij gebruik van een 1N4148 is dat 0.6 - 0.6, zodat de tor zonder pardon in verzadiging wordt gestuurd.
Je zou ook een redelijk resultaat kunnen behalen door de tor van een kleine emitterweerstand te voorzien. Dan moeten zowel de collectorstroom als de basisstroom door dezelfde weerstand, waardoor de tor niet in verzadiging gestuurd wordt.
Hoe dan ook, als je het echt betrouwbaar op hoge frequenties wil laten werken is een inverter heel wat beter dan dat gedoe met een tor. Dat hoeft niet noodzakelijk 1/6 7404 te zijn, elke NAND, NOR, XOR of XNOR is daarvoor geschikt.
Een stijgtijd van 1V/nS komt overeen met 3600000000000V/h. Pros Robaer (1995)
|
oxurane
|
OK,. kwartje is gevallen. Dank voor je uitgebreide toelichting en tijd die je hier besteedt.
Trouwens, ik kan me wel voor mijn kop slaan vanwege die 2 diodes waarover ik begon. Is helemaal niet nodig vanwege die QG, waar de volgende HC164 aan wordt geprikt. [Bericht gewijzigd door oxurane op 11 september 2008 18:30:05]
Electronica is nieuw voor me, maar van elk bezoek aan CO leer ik weer meer...
|