Newsgroup: it.hobby.elettronica.digitale
Titolo: Divisore per 400

Ho un segnale di clock da 4MHz e devo ottenerne uno da 10kHz.
Devo quindi dividere per 400 ma vorrei usare un solo integrato (CMOS).
Cosa posso usare?
Con 2 IC diventa banale ma lo vorrei fare con UNO solo.
Alimentazione 5Vcc. 

 Ho un segnale di clock da 4MHz e devo ottenerne uno da 10kHz.
Che duty cycle deve avere il segnale in uscita?
Quello in entrata lo ha del 50%, vero?
-- 
Ma non si può intendere se prima non s'impara a intender la lingua

 ha
scritto:

Puoi usare un CD4040 CMOS.
http://www.fairchildsemi.com/ds/CD%2FCD4060BC.pdf
Dal momento che il numero decimale 400 è corrispondente a 190 Hex e al binario
110010000b, basta che colleghi le uscite di Q5 Q8 e Q9 al filo di Reset mediante
3 diodi !N4148, ci vuole anche una resistenza di pulldown da 10K.
--
ciao
  Stefano

3 diodi !N4148, ci vuole anche una resistenza di pulldown da 10K.
Errore, la resistenza vuole di PULLUP, in modo che il reset vada alto quando
tutti i bits sono a 1, quindi il comune dei diodi è l'anodo.
--
ciao
  Stefano

 Quello in entrata lo ha del 50%, vero?
Quasi: e' generato da un quarzo e un oscillatore con 2 porte NAND. 

 Puoi usare un CD4040 CMOS.
Mi ritrovo un 4060: va bene lo stesso?
I divisori 5, 8 e 9 sono presenti lo stesso (mancano 1,2,3 e 11).

I divisori 5, 8 e 9 sono presenti lo stesso (mancano 1,2,3 e 11).
Si
--
ciao
  Stefano

 Si
E potrei collegare un quarzo da 4MHz al 4060 oppure e' troppo?
Alimentazione 5V. 

 Alimentazione 5V.
Forse e' meglio che ti faccio vedere la mia alternativa.
http://www.ari-pordenone.it/public/Marker%20100%20kHz-schema.pdf
Questo e' lo schema per un generatore da 100kHz che vorrei "adattare" a 
10kHz.
L'oscillatore e' fatto con due porte NAND senza ST.
Andrebbe gia' bene cosi'?
Il segnale sarebbe veramente un'onda quadra?
A cosa servono le successive 4 porte NAND?
Ho letto che un 4060 non puo' lavorare a oltre una certa frequenza che 
dipende dalla tensione di alimentazione.
Ce farebbe a oscillare a 4MHz usando 5V?

Ce farebbe a oscillare a 4MHz usando 5V?
Si, un poco al limite ma ce la dovrebbe fare.
--
ciao
  Stefano

 Si, un poco al limite ma ce la dovrebbe fare.
Domani provo.
Il problema e' che non conoscevo il 4040 e ho visto che ha tutti i bit da 
2^1 a 2^12.
Posso quindi dividere per 4, 40, 400 e 4000 per avere 4 basi dei tempi, cosa 
che col 4060 non posso fare.
Mi gioco la possibilita' di usare l'oscillatore interno del 4060 ma se gia' 
e' un terno al lotto preferisco usare un oscillatore esterno per il clock.
Ringraziandoti per la dritta del 4060, ti chiedo: un oscillatore con 2 NAND 
e' gia' buono e squadrato per essere usato come clock di un contatore?
Il clock in oggetto dovro' solo mandarlo a una cascata di 4x 4510, nulla di 
che.
Oppure ho visto realizzare un oscillatore con 2 NOT e ne parlano benissimo, 
ma quell'integrato non e' facilmente reperibile dalle mie parti (unbuffered) 
mentre il 4011 e' gia' nelle mie mani.
Aggiungo che non ho un oscilloscopio con cui visualizzare il treno di 
impulsi. 

impulsi. 
Un minimo di strumentazione ci vuole, al limite puoi provare a realizzare
questo, il costo è irrisorio, anche se faresti fatica a visualizzare segnali
veloci:
http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html
Oppure puoi cercarne uno usato su ebay, naturalmente.
--
ciao
  Stefano

 
http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html
Interessante, ma fino a che frequenza arriva? 

Interessante, ma fino a che frequenza arriva? 
Non lo so, ma a occhio e croce può fare qualche centinaio di ksample/sec, quindi
per frequenze audio o poco più.
--
ciao
  Stefano

 Serve proprio a quello.
Oggi ero da un amico con un oscilloscopio e abbiamo realizzato la cosa.
Variando una delle due capacita' si varia il fronte di salita o di discesa 
dell'onda generata.
In uscita e' come se variasse il duty cycle.
La frequenza rimane perfettamente uguale: non c'entrava una sega.
Comunque grazie.

 3 diodi !N4148, ci vuole anche una resistenza di pulldown da 10K.
Ho fatto questo divisore con un 4060.
[FIDOCAD ]
MC 55 45 0 0 650
MC 95 60 2 0 200
MC 95 55 2 0 200
MC 40 65 0 0 200
LI 95 55 95 60
LI 95 60 95 95
LI 95 95 40 95
LI 40 95 40 65
LI 60 85 70 85
LI 70 85 70 65
LI 70 65 80 65
LI 65 85 55 85
MC 115 70 2 0 073
LI 80 70 105 70
TY 105 75 5 3 0 0 0 * 4MHz
MC 95 55 3 0 080
LI 95 45 85 45
MC 85 35 3 0 010
LI 80 45 85 45
LI 85 45 85 35
TY 100 45 5 3 0 0 0 * 10k
MC 105 95 0 0 073
LI 105 95 95 95
MC 55 100 0 0 040
LI 55 85 55 100
TY 65 45 4 2 0 0 0 * 4060
SA 60 45
TY 105 100 4 3 0 0 0 * Out
Sul pin 5 leggo 125.000 Hz
Sul pin 9 leggo 15.625 Hz
Sul pin 8 leggo 7.812 Hz
Collego i suddetti pin (bit 5, 8 e 9) alla rete di diodi per dividere il 
segnale di ingresso per la cifra risultante (16+128+256=400)
Sul pin OUT leggo 31.250 Hz invece di 10.000 Hz.
Invece di dividere per 400 divide per 128.
Perche'?
Dove sbaglio?
Il collegamento al pin di reset non so farlo. L'ho sempre fatto al +Vcc con 
le pull-up.
Mi spieghi per favore il mio errore?
Grazie sempre. 

 Dove sbaglio?
Googlando un po' ho trovato questo schema
http://i37.tinypic.com/2r24vsx.gif
e modificato cosi' lo il mio schema:
[FIDOCAD ]
MC 40 65 0 0 200
LI 95 95 40 95
LI 40 95 40 65
MC 55 100 0 0 040
LI 55 85 55 100
TY 65 45 4 2 0 0 0 * 4060
SA 60 45
MC 55 45 0 0 650
MC 100 60 2 0 200
MC 100 55 2 0 200
LI 100 55 100 60
LI 100 60 100 95
MC 120 70 2 0 073
LI 85 70 110 70
TY 110 75 5 3 0 0 0 * 4MHz
MC 100 55 3 0 080
LI 100 45 90 45
MC 90 35 3 0 010
LI 85 45 90 45
LI 90 45 90 35
TY 105 45 5 3 0 0 0 * 10k
LI 85 65 100 65
SA 100 55
SA 100 60
SA 100 65
LI 85 45 80 45
LI 85 55 80 55
LI 90 60 80 60
LI 85 65 80 65
LI 85 70 80 70
SA 85 60
LI 85 60 85 105
MC 95 105 0 0 073
LI 95 95 100 95
LI 85 105 95 105
TY 95 110 4 3 0 0 0 * Out 10kHz
Adesso sembra funzionare, sul pin 13 ho effettivamente una frequenza 
"intorno a 10kHz" ma e' 9.95.
Tutte le altre prese singolarmente sono perfette: perche' questa invece di 
10.000 e' 9.950?
E poi perche' prendono proprio il pin 13 (Q9)?

 E poi perche' prendono proprio il pin 13 (Q9)?
Questo per me rimane ancora un mistero.
Da dove prelevo il segnale?



Non era chiaro a quale shema ti riferivi, C2 di che?
--
ciao
  Stefano

 Dal RESET, meglio se bufferato da una porta.
Questo non l'ho ancora fatto ma credo che influisca poco.
Il dubbio e' che il 4060 e' un contatore asincrono: e' sempre possibile il 
"giochetto" dei diodi?
A me non sta funzionando eppure lo schema e' molto semplice!

A me non sta funzionando eppure lo schema e' molto semplice!
Non tornano nemmeno gli 88.900Hz, che non sono una frequenza di divisione da
4Mhz.
Probabilmente il circuito ha qualche problema hw, ma saperlo da qui...
 ho la sfera di cristallo a riparare  :)
--
ciao
  Stefano

 ho la sfera di cristallo a riparare  :)
E' chiarissimo ma sono 4 collegamenti in croce su ottima millefori, non e' 
che stia assemblando un microprocessore su breadboard.
Siccome non sto usando i pin 9 e 10 del 4060 (ingresso componenti 
oscillatore) non e' che devo tenerli bassi o alti?
CMQ il 4060 funziona perfettamente: ai singoli pin ho la perfetta divisione 
mentre coi diodi no.
I diodi non sono uguali ma sono parenti stretti, rimasugli di svariati 
progetti ma tutti funzionanti. 

progetti ma tutti funzionanti. 
Sono  1N4148 o simili?
Non è che hai diodi troppo lenti, con tempi di recupero inverso troppo alti?
Prova a ridurre la resitenza di pullup a 1K o 820 ohm.
Al limita prova con un 74HC4060, con un HCMOS i ritardi sono 1/10 e la corrente
in uscita 5 volte maggiore.
--
ciao
  Stefano

 in uscita 5 volte maggiore.
Qua da me trovare certi cose e' MOLTO difficile.
E' gia' tanto che per culo mi sono ritrovato il 4060 e un 4011 unbuffered.
Io comincio a sospettare che il frequenzimetro del mio multimetro (UNI-T, 
non proprio malaccio) vada nel pallone a causa dell'immondizia che genera 
l'oscillatore, pero' non si spiega come mai sui singoli pin del 4060 leggo 
perfettamente la divisione del segnale di 4MHz.
Mi fai per favore uno schemino della porta di buffer da cui prelevare il 
segnale?
Mi rimangono 2 NAND del 4011.

Mi rimangono 2 NAND del 4011.
Le colleghi sul RESET in serie, IN - OUT ma se sono unbuffered non è che ci fai
molta strada.
Dovresti mettere un 74HC00 al posto del 4011, e attenzione che ha pin diversi.
--
ciao
  Stefano

 diversi.
Sto scendendo a prendere  un 4001B per fare lo stesso indentico schema del 
tizio.
http://www.sm0vpo.com:800/conv/4040_divider_02_cct1.gif
Vediamo che ne viene fuori.
Purtroppo no, non ho un oscilloscopio.
L'avevo solo ieri e abbiamo provato tutto fino alla divisione sui singoli 
pin.
Poi si e' fatto tardo e amen.
Oggi rifaccio tutto a casa, funziona, ma la divisione con la somma dei pin 
non mi va.
Ora mi sarebbe davvero d'aiuto l'oscilloscopio.

Forte, fortissimo dubbio.
Ma tu sei SICURO che io debba prendere Q5, Q8 e Q9?
Perche' mi viene un sospetto. 


Lo dice la matematica:  400 = 190 Hex
Il reset del contatore deve avvenire con Q9 Q8 e Q5 contemporaneamente ALTI,
che corrisponde ai bit di 190H.
--
ciao
  Stefano

che corrisponde ai bit di 190H.
Nota che il segnale sul RESET resta alto solo il tempo per l'azzeramento dei
flip flop, per cui in quel punto avrai solo un impulso alto di qualche centinaio
di nS, cosa che probabilmente sfugge al tuo multimetro.
In alternativa se prendi il segnale dal Q9 avrai che il segnale resterà alto un
po' di più mentre i segnali Q8 e Q5 sono ancora bassi, può darsi che in questo
caso il multimetro ce la faccia a rilevarlo.
In alternativa potresti dividere per 200 (con Q8 Q7 Q4) e poi mandare il segnale
del reset al Clk un CD4013 usato come divisore per 2 (Q\ collegato al D).
Avrai un duty cycle del 50%, ma ti ci vuole un IC in più.
--
ciao
  Stefano

 di nS, cosa che probabilmente sfugge al tuo multimetro.
Ho usato due porte NAND in cascata, come da schema.
Ora riesco a leggere col frequenzimetro del multimetro.
Non c'e' niente da fare: all'uscita del divisore ho sempre un errore dell'1% 
circa che e' intollerabile per la mia applicazione.
Mi spiego: alla SINGOLA uscita del 4040 ho una frequenza PERFETTA fino 
all'Hz.
Ad esempio col quarzo di 4Mhz all'uscita Q12 (pin 1) del 4040 ho una 
frequenza di 976-7Hz.
All'uscita dell'AND fra i bit invece c'e' un errore dell'1%.
La soluzione sarebbe quella di far oscillare il quarzo ad una frequenza 
superiore dell'1% circa per compensare, ma non ci si riesce ne' variando C1 
ne' variando C2.
Una volta nelle radio si metteva un condensatore in serie o in parallelo al 
quarzo per controllare le derive.
E se provassi? 

All'uscita dell'AND fra i bit invece c'e' un errore dell'1%.
Credo che dipenda da un errore di lettura del tuo strumento, magari dovuto alla
forma d'onda.
Le uscite del 4040 hanno un duty cycle del 50%.
--
ciao
  Stefano

 Le uscite del 4040 hanno un duty cycle del 50%.
Salvo tu non lo resetti, semmai perdendoti, nella rete DR, il bit più basso
che ogni tanto commuta al primo tentativo, ogni tanto al secondo o terzo.
-- 
Ma non si può intendere se prima non s'impara a intender la lingua

 Le uscite del 4040 hanno un duty cycle del 50%.
Ho fatto seguire, come ti dicevo, l'uscita da due porte NAND.
I livelli adesso sono sicuramente buoni (prima leggevo veramente fischi per 
fiaschi).

 che ogni tanto commuta al primo tentativo, ogni tanto al secondo o terzo.
Puoi spiegarmi meglio?
Io sto usando questo schema:
http://www.sm0vpo.com:800/conv/4040_divider_02_cct1.gif
 

 Ho fatto seguire, come ti dicevo, l'uscita da due porte NAND.
NOR, scusa. 

 
http://www.sm0vpo.com:800/conv/4040_divider_02_cct1.gif
Scusa, ma vi ho seguiti abbastanza distrattamente, dato che non ti poteva
capitare miglior mentore.
Secondo te quanto tempo resta alto il segnale di Out?


 Secondo te quanto tempo resta alto il segnale di Out?
Eh, e' proprio questo il problema: non lo so.
Cosa posso usare per ottenere un segnale con 50% di duty cycle da un segnale 
impulsivo?
Un flip flop?
Anche se lo divido per 2, non importa.

 Anche se lo divido per 2, non importa.
Altrimenti, se non potessi, un monostabile con timeout = 1/20.000 secondi.


 Senz'altro il mio preferito.
Flip flop di tipo JK?
Anche un 4093 (con ST) andrebbe bene?
E un 4001?
Te lo chiedo perche' mi rimangono 2 NOR non utilizzate e sarebbe perfetto.

 
http://www.sm0vpo.com:800/conv/4040_divider_02_cct1.gif
Sull'alimentazione, secondo me, ti basta un 100 nF. Se proprio vuoi
metterne due, mettine uno da 1 e uno da 100 nF. E, nello schema elettrico,
mettili vicini, si capisce meglio. Anzi, vedo ora che c'č anche un 10 uF.
Sicuro ti serva?
A me piace di piů il 
http://i37.tinypic.com/2r24vsx.gif
Meno componenti e segnale di out quasi altrettanto robusto.
I NOR che ti avanzano potresti usarli per farci il monostabile per
"raddrizzare" il duty cycle. Ti ricordi la mia prima domanda? ;-)
-- 
Ma non si puň intendere se prima non s'impara a intender la lingua

 "raddrizzare" il duty cycle. Ti ricordi la mia prima domanda? ;-)
Ottimo.
Mi calcolo il tempo e lo provo su breadboard.
(ho visto dopo che per un JK ci vogliono 4 porte che non ho!) 

(ho visto dopo che per un JK ci vogliono 4 porte che non ho!) 
Meglio usare un CD4013  tipo D  come divisore:
http://talkingelectronics.com/ChipDataEbook-1d/html/4013.html
--
ciao
  Stefano

 Meglio usare un CD4013  tipo D  come divisore:
Ma facendo passare il segnale attraverso le due porte NAND (o NOR) come 
nello schema che ho postato cosa succede?
Viene rettificato come ampiezza, viene squadrato...?
Che succede al segnale?
Possibile che per far diventare quel segnale ad onda quadra devo per forza 
usare un altro integrato? 

 Meglio usare un CD4013  tipo D  come divisore:
Certissimamente, ma, visti i due NOR che avanzano (o i 4 inverter, passando
il tutto a un hex inverter), non ci si può mettere una (o più) RC in mezzo?
-- 
Ma non si può intendere se prima non s'impara a intender la lingua

 mezzo?
Aspetta un attimo.
Ho ragionato sulla storia del monostabile: il tempo in cui il monostabile 
sta su non puo' essere fisso perche' io ho bisogno di tutto l'aggeggio 
(oscillatore e 4040) per fare una base dei tempi con 4 frequenze (1, 10, 100 
e 1000 kHz).
Avendo 4 frequenze di uscita (dal reset del 4040) non credo che io possa 
usare il monostabile.
Tengo a precisare che tutto cio' mi serve solo per essere sicuro della 
frequenza in uscita dal 4040, visto che non ho un oscilloscopio e che il mio 
multimetro legge caxxi per mazzi visto il duty cycle non 50%.
Alla fine della fiera questo segnale deve solo andare ad un monostabile per 
attivare un ingresso, punto.
Non mi serve per fare da clock, ne' per chissa' quali altri usi.
Devo SOLO essere sicuro che la base dei tempi sia affidabile e che dia sul 
serio 1, 10, 100 e 1000 kHz precisi.
A tal proposito: se io collegassi il reset di questo 4040 seguito dalle due 
porte invertenti ad un oscilloscopio sarei in grado di leggere la frequenza 
anche se il segnale non ha il 50% di duty cycle?
In pratica quello che non riesce a fare il mio multimetro.

 In pratica quello che non riesce a fare il mio multimetro.
Allora, credo di esserne venuto finalmente a capo.
Il problema e' proprio il ritardo di propagazione del reset 4040.
Ho collegato l'uscita del 4040 ad una serie di 2x 4518 in cascata in modo da 
avere una divisione per 10000 e una uscita 1Hz (con il 4040 che generava 
10kHz).
Ho collegato all'uscita della cascata di 4518 un led e il led lampeggiava a 
1Hz.
Ho gia' un oscillatore fatto con un NE555 la cui uscita e' molto gradita al 
mio multimetro.
Con un trimmer multigiri ho settato 10000.00 Hz letti dal multimetro.
Poi ho collegato il 555 al divisore per 10000 e ho letto esattamente 1.00Hz, 
quindi fin qui non ci piove.
Poi ho preso una sveglietta a lancette, di quelle coi secondi e che fanno 
TAC quando la lancetta dei secondi avanza.
Il led e la lancetta sono rimasti perfettamente in sincrono per almeno 5 
minuti (poi mi sono rotto).
Questo a dimostrazione che il multimetro (un glorioso Hung Chang) funziona 
perfettamente ed e' molto preciso.
Poi ho collegato il reset del 4040 al divisore coi 4518 e invece di leggere 
1Hz ho letto 0.99Hz.
Sugli altri pin dei 4518 invece di leggere 1000Hz leggevo 990.00Hz, invece 
di 100Hz leggevo 99.00Hz e via di seguito.
La prova del led a 1Hz infatti non e' stata superata: gia' dopo 30 secondi 
era palese il fuori sincrono, quindi e' il 4040 a "perdere colpi".
Accertato questo mi e' venuto un dubbio: il tempo di propagazione dipende 
dalla tensione di alimentazione, e io alimento tutto a 5V.
Sul datasheet ho trovato il "Reset Propagation Delay" trovando il valore di 
200ns a 5V e di 100ns a 10V.
Allora ho alimentato con una pila 9V il solo 4040 e magicamente la frequenza 
che prima leggevo 990Hz e' diventata 995Hz, e via di seguito tutte le altre.
Chiaramente quella di 0.99Hz e' rimasta tale per la risolzione dello 
strumento.
Allora ho rifatto la prova del led a 1Hz: bene, e' rimasto in sincrono molto 
piu' a lungo, quasi un minuto prima di percepire il fuori sincrono, ma e' 
sempre fuori sinc.
Quindi e' scontato e sicuro: il problema e' proprio il ritardo di 
propagazione del reset del 4040 e SICURAMENTE risolverei montando un 
74HC4040 che ha un tempo di "Reset Propagation Delay" di appena 24ns a 4.5V 
e di 20ns a 6V.
Il cerchio si e' chiuso.
Grazie a tutti quelli che hanno avuto la pazienza di seguire le mie cazzate. 

 In pratica quello che non riesce a fare il mio multimetro.
Non sono mica tutti coglioni quelli che comprano un oscilloscopio, che
costa 10 volte un multimetro.
