Interfacciare selettore numerico vecchio telefono.

Salve ragazzi!
Vorrei riuscire ad interfacciare il selettore numerico che si trovava sui vecchi telefono di una volta, per capire meglio vi allego una foto. Qualcuno di voi con un pò più di esperienza conosce come funziona il meccanismo e puoi aiutarmi?

si tratta del famoso selettore a disco combinatore, tipico del sistema decadico che studiai in telefonia con un professore mezzo pazzo tantissimi anni fa a scuola superiore. Nelle centrali telefoniche fine anni 60 prima dell'introduzione dell'elettronica tramite questo disco venivano pilotati i selettori a sollevamento e rotazione per collegarsi con un altro utente.

Cmq si tratta di un generatore di impulsi formato da un contatto che viene aperto e chiuso attraverso un disco a camme. quando di va sullo zero vengono prodotti 10 impulsi, quando si va sull'uno si genera un impulso.......... etc.

ma oggi non so dove potresti impiegarlo.... magari ci puoi fare una chiave elettronica per una cassaforte eh?

Sarebbe interessante vederne il comportamento al DSO, considerato che a quei tempi una delle più grandi grane dell'elettronica era il debounce, e ricordando che quei dischi (li ho usati parecchio anche dopo che arrivarono quelli a toni) non sbagliavano un colpo, forse il segreto stava nel tempo che scorreva tra un impulso e l'altro, più che nella pulizia dell'impulso.

Gli impulsi avevano un ampiezza pari alla tensione fornita dalla centrale, di 48/50 volt, e avevano una durata di circa 45 millisecondi. l'impulso ti posso assicurare era sporchissimo ma all'epoca dovevano pilotare le elettrocalamite dei selettori numerici a sollevamento e rotazione (quindi considerati i tempi di inerzia meccanici il risultato era ottimo)

quando venne introdotta l'elettronica le centraline vennero dotate di filtri e così rimediarono....

cyclone: Gli impulsi avevano un ampiezza pari alla tensione fornita dalla centrale, di 48/50 volt, e avevano una durata di circa 45 millisecondi. l'impulso ti posso assicurare era sporchissimo ma all'epoca dovevano pilotare le elettrocalamite dei selettori numerici a sollevamento e rotazione (quindi considerati i tempi di inerzia meccanici il risultato era ottimo)

quando venne introdotta l'elettronica le centraline vennero dotate di filtri e così rimediarono....

ah, ecco, allora i conti tornano, quindi se lui vuole usare questo selettore con Arduino al minimo deve mettere un paio di NOT Schmitt Trigger col circuito RC in igresso, molto meglio se adotta un moderno IC di debounce hardware, altrimenti Arduino farà gli header bianchi :grin:

menniti,
certo che per complicare le cose potrebbe implementare su FPGA un debouncer scritto in vhdl come questo:

-- by cyclone

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

ENTITY debounce IS
  GENERIC(
    counter_size  :  INTEGER := 19); --counter size (19 bits dà 10.5ms con 50MHz clock)
  PORT(
    clk     : IN  STD_LOGIC;  --input clock
    button  : IN  STD_LOGIC;  --input signal to be debounced
    result  : OUT STD_LOGIC); --debounced signal
END debounce;

ARCHITECTURE logic OF debounce IS
  SIGNAL flipflops   : STD_LOGIC_VECTOR(1 DOWNTO 0);
  SIGNAL counter_set : STD_LOGIC;                  
  SIGNAL counter_out : STD_LOGIC_VECTOR(counter_size DOWNTO 0) := (OTHERS => '0'); 
BEGIN

  counter_set <= flipflops(0) xor flipflops(1);  
  
  PROCESS(clk)
  BEGIN
    IF(clk'EVENT and clk = '1') THEN
      flipflops(0) <= button;
      flipflops(1) <= flipflops(0);
      If(counter_set = '1') THEN                 
        counter_out <= (OTHERS => '0');
      ELSIF(counter_out(counter_size) = '0') THEN 
        counter_out <= counter_out + 1;
      ELSE                                      
        result <= flipflops(1);
      END IF;    
    END IF;
  END PROCESS;
END logic;

che ne dici :slight_smile:

come no? in RISC non basterebbero 1000 istruzioni! Potrebbe ricorrere anche alle Teste di Cuoio che ornai hanno una dotazione così sofisticata da riuscire a sopprimere, armi alla mano, qualsiasi impulso spurio. Si piglia per il c... eh? 8) La verità è che in questi ultimi due mesi ho lavorato sodo al mio Capacimetro TTL "vintage" e sul debounce ho fatto un discreto studio, ho comprato 4-5 integrati specifici ma ovviamente non potevo usarli per il mio progetto (uscirà sulla Rivista in autunno inoltrato) e lì ho risolto col classico 74LS14 & RC a 90ms. Quindi ora mi era venuta voglia di veder lavorare gli anti-bounce hw e l'occasione di un selettore rotativo è molto ghiotta XD ma tu passi direttamente alla fantascienza :D

no menniti, quella non è fantascienza, da molti anni non uso più componenti discreti TTL e CMOS ed ECL, molti elementi hw li creo attraverso la descrizione in vhdl. prima pensavo come un hardwerista puro, disegnando incredibili schemi elettrici, adesso sfrutto il vhdl per descrivere qualsiasi elemento hw digitale dal not al micro personalizzato.

cyclone: no menniti, quella non è fantascienza, da molti anni non uso più componenti discreti TTL e CMOS ed ECL, molti elementi hw li creo attraverso la descrizione in vhdl. prima pensavo come un hardwerista puro, disegnando incredibili schemi elettrici, adesso sfrutto il vhdl per descrivere qualsiasi elemento hw digitale dal not al micro personalizzato.

Sì, lo so bene, vedi io sono rimasto molto legato alle logiche digitali TTL/CMOS, cioè a quando mi divertivo da hobbysta con i kit Wilbikit, GPE e Nuova Elettronica, e per tale ragione ho proposto alla Rivista questo bel progetto (alcuni mesi fa ho presentato in un Topic il prototipo, ma tu non c'eri ancora credo); peraltro hanno accettato di buon grado in quanto sembra che parecchi lettori scrivono chiedendo progetti con queste logiche e senza microcontrollori da programmare; molti hanno cassetti pieni di queste logiche, vediamo se riesco a farglieli usare, ovviamente ho in mente altri lavori simpatici ed utili; al di là della vetustà questo Capacimetro non è un giocattolo. Considera che io sono un hobbysta non un professionista, e non ho alcuna velleità, ma non amo mischiare tecniche così lontane tra loro; il termine "fantascienza" non era legato a ciò che affermi, che è l'elettronica di oggi, ma all'immaginare un FPGA al tempo di quei selettori, ecco perché io sarei addirittura contrario perfino all'uso dei debounce hw per far funzionare quel selettore, ma questa è una mia patologia atavica, quindi abbia un po' di pazienza :~

si su questo sono d'accordo con te a livello hobbistico non hai altro da fare se non cercare di sfruttare le cose che ti ritrovi a casa, e questo certe volte capita anche a me. ma purtroppo oggi se vuoi lavorare seriamente e professionalmente in questo settore l'unico modo per essere competitivo è quello di adeguarsi alle realtà tecnologiche. e quindi anche io ho dovuto necessariamente abbandonare la logica discreta per passare ai soc e alle fpga.

tempo fa alcune riviste di elettronica importanti italiane mi avevano proposto di lavorare per loro producendo una serie di progettini e da inserire sulle loro riviste...... ebbi tanti incontri specie durante il BIAS quando il BIAS era innovazione, ma ...... cavolo spero per te che questa non sia la tua attività principale e lo fai solo per soddisfazione personale (mi capisci vero?)

raga siete finiti OT di brutto ma di brutto brutto brutto

superlol: raga siete finiti OT di brutto ma di brutto brutto brutto

ma che cavolo dici? stamo parlando di interfacciare un selettore telefonico con Arduino, sono uscite almeno 3 possibili soluzioni, stiamo discutendo su validità e vetustà di ognuna di esse e sul perché usare o meno, ovvio che si allarghi un po' il discrso. me lo spieghi questo "di brutto, brutto, brutto"? Ti ricordo che sei l'inventore dello Spam Bar, e non farmi andare a cercare gli ultimi tuoi dieci interventi :P

evitando questo (causa relatività XD ) sono 3 su fastweb e il resto sul sitema domotico, tutto in topic XD

dopo la visita di ratto sono diventato un bravo ragazzo XD

cyclone: tempo fa alcune riviste di elettronica importanti italiane mi avevano proposto di lavorare per loro producendo una serie di progettini e da inserire sulle loro riviste...... ebbi tanti incontri specie durante il BIAS quando il BIAS era innovazione, ma ...... cavolo spero per te che questa non sia la tua attività principale e lo fai solo per soddisfazione personale (mi capisci vero?)

pensavo sapessi cosa faccio di mestiere, basta uno sguardo al mio sito, che è pubblico :) infatti ho detto che qui sono un hobbysta; con la Rivista ho stretto questo accordo proprio per il lavoro che faccio, affindandomi una linea "Didattica", volevano qualcuno che sapesse spiegare le cose in un certo modo, avevano letto la mia Guida e mi hanno contattato, anche se in verità si è trattata di una coincidenza visto che loro mi cercavano mentre io gli srivevo per avere dei chiarimenti. Ovviamente non vivo di questa collaborazione, diciamo che mi copro le spese dell'hobby, mi basta e mi avanza; invece mi servono molto le pubblicazioni nel mio ambito lavorativo, quindi ho due buonissime ragioni per continuare questa collaborazione che, per la verità, mi sottrae ormai tutto il mio tempo libero. Altro è il tuo discorso professionale che condivido pienamente :)

@ sl: scherzo ovviamente, ma questa di andare OT accusando altri di andare OT è degna della tua mente tanto geniale quanto pazzoide :stuck_out_tongue_closed_eyes: quella che tu chiami visita di ratto io l'ho già definito tentato omicidio, povero lui :(

geniale dove? XD

comunque per il debounce non era possibile usare semplici condensatori? io la sapevo così...

tornanto in topic: come detto ogni passaggio su un numero fa chiudere il contatto.

da ciò che ho capito per interfacciarlo ad arduino fai una cosa simile: dovresti avere 2 cavi, uno lo colleghi a 5V, l'altro lo infili in un pin digitale di arduino e metti una resistenza da 1kohm che termina a massa.

quindi impari questo comando chiamato pulseIn() (http://arduino.cc/en/Reference/PulseIn) ;)

non ci vedo nulla di OT anzi, discutere su possibili soluzioni anche innovative, parlando di vhdl, di fpga, di soc, vi sembra parlare, (con rispetto) di frutta? ricordati che i forum servono per condividere anche esperienze e attraverso questi tante volte nascono progetti importanti. cmq se vuoi rimanere legato solo ed esclusivamente all'arduino fai pure, è come se io fossi rimasto attaccato al 4004 e al 8008 senza aprire gli occhi per vedere che il mondo stava cambiando e che era arrivato lo Z80 :)

menniti, ho visto il tuo sito, siamo quasi sulla stessa lunghezza d'onda..... adesso capisco perchè ti capisco :)

Evidentemente non hai capito niente di ciò che abbiamo detto prima. Questi selettori sono roba di 40anni fa, il sistema meccanico di generazione di impulsi fa sì che il cosidetto impulso del numero "1" siano in realtà qualche centinaio; certo probabilmente un delay ben calcolato potrebbe già risolvere la cosa visto che il ritorno avviene a velocità costante, ma a patto di rispettarla; non c'era cosa più fastidiosa dell'attesa del ritorno, quindi molti "aiutavano" l'operazione spingendo come elefanti, ecco che lì sarebbe più problematico. Cose che non puoi sapere perché dovevi ancora ascere quando sono sparite dalla circolazione. Essendo caduto il discorso sul bounce abbiamo pensato a qualche soluzione hardware che ovviamente renderebbe tutto perfetto. Poi urase PulseIn o un Interrupt, non credo che cambi molto le cose.

@ cyclone: ah, ecco perché allora ti avevo invitato così naturalmente a prendere una birra (o un analcolico) XD

con pulseIn puoi scartare microsegnali evidentemente troppo corti, puoi misurare anche i tempi in cui il segnale è basso non solo alto :wink:

ma io sono un informatico anzi, un webbista non un elettronico XD
(rimane che con un bel condensatore…)

va bene, come dici tu, è chiaro che non hai la più pallida idea di cosa sia un effetto rimbalzo su contatti di tipo meccanico, procura anche solo un pulsante di quelli in uso negli anni 80-90 (si trovano anche oggi ma li hanno migliorati parecchio) e prova a gestire tu quei fuochi d’artificio con PulseIn, se ci riesci il nostro amico ha la soluzione bell’e pronta; che ci vuole? al massimo un bel condensatore, magari di qualche farad, caricato da ratto, così avrai inventato la proiezione reale dei corpi in altri luoghi, altro che videoconferenze e realtà virtuale :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: