Presentazione progetto e primi dubbi

Anche se non sono del settore mi è capitato di vedere diverse pedaliere e su tutte c'erano i relè per la commutazione del segnale ma non so il perchè di questa decisione.
Una pedaliera ha il compito di collegare più pedali (lo dice il nome stesso); ogni pedale ha la funzione di alterare il suono, in genere ogni pedale ha un suo effetto regolabile attraverso potenziometri. La pedaliera a bordo ha diversi interruttori che il musicista attiva con il piede per abilitare/disabilitare gli effetti.
Da quanto ho capito lui ha già i pedali, ora deve costruire la pedaliera per assemblare il tutto.
Un consiglio: usa cavi rigorosamente schermati per i vari collegamenti, non risparmiare sulla qualità di cavi e connettori che poi te ne penti.
Chiedo scusa per il linguaggio poco tecnico.

Pelletta:
Anche se non sono del settore mi è capitato di vedere diverse pedaliere e su tutte c'erano i relè per la commutazione del segnale ma non so il perchè di questa decisione.
[...]
Da quanto ho capito lui ha già i pedali, ora deve costruire la pedaliera per assemblare il tutto.
[...]

In realtà non ho i pedali interi, ho solo i circuiti da me assemblati ma senza pulsante e senza scatola di metallo. La mia pedaliera non sarà una valigetta contenente dei pedali acquistati in precedenza, ma un'unico chassis di metallo contenente tutti i circuiti (per la maggior parte analogici) di generazione degli effetti, concatenati e attivabili tramite questi relay.
Inizialmente volevo infatti collegarli tramite dei normali deviatori meccanici (uno per ciascun effetto), ma non era una soluzione molto comoda.La comodità dei relay sta nel fatto che è possibile programmarli per fare in modo che alla pressione di un tasto si possa attivare anche più di un effetto, oppure nella possibilità di memorizzare ciò che è attivo e scorrere queste memorie in base alla necessità.
Il mio dubbio non sta nella concatenazione degli effetti, ma proprio nella gestione di questa catena.

Il concetto è proprio questo: possiedo già i circuiti di generazione dell'effetto ed ho bisogno di capire se la commutazione di diversi relay tramite un expander, su bus SPI, attraverso la pressione di un tasto potrebbe creare problemi di reattività. Non ho infatti avuto modo di capire se tutti questi passaggi possono in qualche modo generare ritardi.
Per la questione dei commutatori a stato solido avevo preso in considerazione la possibilità, ma ho lasciato perdere su consiglio di chi ci ha già provato (problemi di impedenze, perdita di alte frequenze, ecc). Inoltre avendo già in casa dei relay panasonic TQ2 ho deciso di sfruttarli.

flz47655:
Secondo me sarebbe interessante fare tutto in digitale senza relé, etc.. con effetti via sw (o hw con logiche programmabili), sai se andrebbe bene?

La maggior parte dei circuiti sono di mia realizzazione e sono già pronti e testati, tranne alcune eccezioni che, appunto, sono digitali.
Sono comunque tutte copie di circuiti, più o meno datati, di cui girano da tempo gli schemi, e che sono stati ampiamente testati da molte persone. Non vedo praticabile la strada degli effetti software per il semplice motivo che non è per nulla semplice creare da zero un algoritmo di elaborazione audio (o per lo meno attualmente non sono in grado di farlo).

Comunque dalle vostre risposte credo di aver capito che in realtà il problema della commutazione dei relè non sussiste. In base alle mie prove e a ciò che ho già visto da altri utenti non dovrebbe costituire un problema. Probabilmente è una domanda da principiante ma (ripeto) il mio dubbio era proprio sui ritardi software.
E a questo punto il problema principale si sposterebbe sull'utilizzo del bus SPI (ed eventuali problemi di interferenze) e sul mio test con il potenziometro digitale.

Mi scuso poi se non sono riuscito a fornire sufficienti dettagli, ma finora ho frequentato alcuni forum in cui la maggior parte degli utenti navigano nel campo degli strumenti musicali, quindi tendo a dare per scontati alcuni dettagli

Il ritardo maggiore è il relé, il resto è trascurabile in relazione in quanto si parla di microsecondi (10^(-6) secondi), es. magari in tutto ci voglio 50uS che sono uguali a 0.05ms, molto meno del tempo di commutazione del relé

Ciao

ma nello specifico il ritardo del relé è assolutamente trascurabile, la stragrande maggioranda di questi strumenti commuta a relé, non stiamo parlano di 30 secondi ma di qualche ms che non influenza in alcun modo gli effetti; ora però non mi voglio mettere a fare una disquisizione sui tempi di commutazione, li ho usati in una decina di circuiti di effetti e mix audio senza aver mai avuto problemi, se vogliamo andare a scovare la coda alla mosca mi arrendo in partenza, fate vobis :slight_smile:

Guarda caso sabato ho tirato fuori il push-pull di EL34 che feci più di dieci anni fa, ho ripreso l'elettrica e ho cominciato a fare un po di casino, peccato per quel multieffetto che....mmm insomma non suona fa solo casino e pensare che quando lo comprai mi sembrava perfetto.

Ok mi iteressa seguire la cosa che stai progettando, ma mi piacerebbe vedere anche tutto il resto che hai già realizzato, magari c'è qualcosa che di interessante che posso realizzare anche io.

Il problema principale in questi tipi di circuiti è legato al disturbo che avviene durante la commutazione, sia che si tratti di relè o interruttore il problema permane, ed è evidente se il guadagno del circuito di amplificazione/trattamento posto a valle è alto come accade nei circuiti per chitarra ( vedi overdrive, compressori, ecc.). Pertanto per commutare si usa chiudere il circuito audio a massa per l'instante necessario al rele di effettuare la commutazione, di solito si usa un "fet". Quindi questo è il primo circuito che dovresti realizzare e testare.

Seconda cosa, per evitare contaminazione tra segnale digitale e segnale analogico si deve tenere lontani i circuiti ad alta impedenza da quelli digitali. Ma questo non basta si deveno separare le alimentazioni, e per finire curare le schermature e i circuiti di massa schermo, come si fà non lo so, so solo che alle volte c'è da impazzire.

L'oggetto che devi realizzare cosa sarà?
Uno switch da rack?
oppure
Una unità contenente switch e trattamento segnali in unico contenitore?

Per il pot digitale, non ho idea, non lo conosco e dovrei documentarmi leggendo il datasheet, e mi sa tanto che dovrai farlo tu e postare qui i tuoi dubbi.

Hehe, mi fa piacere trovare un altro chitarrista. Io ne ho terminato uno pochi mesi fa... Un clone di un Hiwatt DR-504, che è proprio un push pull di due EL34... E' stata una grandissima soddisfazione sentire le note della chitarra uscire da quelle valvole!

Tornando al progetto, la maggior parte dei circuiti sono semplicemente delle realizzazioni di alcuni circuiti presi da www.tonepad.com e www.generalguitargadget.com, se ti può interessare qualche dettaglio in particolare chiedimi pure!
La mia soluzione sarà pressapoco quella allegata sotto (ho fatto un po' di modellazione 3D per capire gli spazi): uno chassis in alluminio contenente tutto, da Arduino al display, ai vari regolatori di tensione a tutti i singoli circuiti degli effetti. Solo l'alimentatore principale sarà esterno. Poi con calma mostrerò meglio anche tutto il resto.

Il disturbo di commutazione sinceramente non mi ha mai dato più di tanto fastidio, nemmeno con i pulsanti meccanici. E a questo punto non sarà un problema neanche un ritardo di qualche ms in più, soprattutto se il ritardo software è trascurabile rispetto al ritardo del relay. Il mio dubbio era nato guardando dei filmati su youtube in cui utilizzando display e altre periferiche il ritardo era notevole, soprattutto per la visualizzazione della grafica sul display. Essendo però la visualizzazione meno prioritaria rispetto alla commutazione, a questo punto potrei tranquillamente eseguirla (nel software) dopo tutte le altre operazioni.

Quindi assodato che il relay può essere una soluzione fattibile, mi rimane da capire la questione della gestione digitale, separazione delle masse ed isolamenti. Sto già prevedendo una certa logica per riuscire a dividere le alimentazioni, ma non so fin dove posso tenere il tutto separato... Devo mettermi con calma ed analizzare tutti i circuiti che coinvolgono parti digitali.

Caspita si tratta di un progetto complesso sotto tutti i punti di vista, lato software il problema potrebbe presentarsi subito se non suddividi i compiti realizzando più schede a microprocessore che dialogano fra di loro. Una scheda con micro gestisce i pulsanti e dialoga con il display (display dodato di mcu), un'altra scheda mcu gestisce i relè il mute ecc, in questo modo puoi realizzare un pezzo è testarlo, alla fine metti tutto insieme e sai che funzionerà perchè ogni unita/pezzo/funzione è stata testata. Diciamo che l'approccio di sviluppo software è valido anche lato hardware, con la differenza che qui ci sono entrambe insieme.

Oggi sono in vena: :stuck_out_tongue:

Ipotizziamo di avere 3 relè, 2 ( A e B) sono on e C è off (on o off mi riferisco alla bobbina se è alimentata o meno), la scheda tastiera invia un dato via I2c a tutti i dispositivi connessi al bus, il dato cambia a secondo del pulsante premuto. Tutti i dispositivi sul bus I2c ricevono questo dato è sanno cosa devono fare (con il bus I2c c'è la possibilità di inviare una chiamata generale senza dover specificare l'indirizzo). Quindi la scheda relè pone A e B in off e C in on, il display è indipendente e può predersi la briga di fare anche giochini grafici, se non ha niente da fare, ma se arriva un dato sul bus I2c visualizzo il nuovo stato corrispondente, se arriva un nuovo dato nel bus mentre che è a lavoro verra messo nel buffer di dati.

La scheda tastiera può essere usata anche per gestire altri eventi esterni, tipo una interfaccia seriale (midi o meno) verso il mondo esterno.

Il display essendo dotato di mcu programmabile può essere usato anche per mostrare l'entita del segnale in modo grafico oltre che i volumi dei pot digitali il tutto agendo in modo indipendente dalla tastiera e dalla scheda relè.

Con questa suddivisione a livello softare non puoi avere problemi di nessun tipo, puoi gestire il debounche dei tasti senza influenzare le altre funzionalità.

Riguardo il rumore di commutazione, durante situazioni live se il rumore è minimo non è avvertibile dal publico, specie se stai suonando al pub, ma in registrazione potrebbe essere un problema, dipende tutto dall'entità del rumore stesso e quando e quante volte avviene una commutazione e questo dipende dal brano che stai suonando.

Se realizzi uno schema a blocchi funzionali, i primi problemi vengono fuori e saranno risolti prima di avere messo mani al portafogli.

Spero di averti dato spunto per future riflessioni.

La tua soluzione indubbiamente è molto interessante... Vorrei però utilizzare alcuni componenti che ho già in casa, ed in particolare un paio di AD5206 (digital pot) e di MCP23S17 (expander) Sono entrambi su bus SPI e, visto che me ne serviranno due di entrambi avrei pensato di sfruttare ciò che ho in casa e risparmiare qualche buon euro. Cambierebbe qualcosa nelle modalità di comunicazione? Non conosco bene SPI e I2C.
Come display ne ho uno della nuelectronics che ho comprato sull'onda dell'entusiasmo (come quello del link youtube che ho messo sotto, non riesco a linkare direttamente il sito perchè è offline!)... E' molto bello ma occupa tutta la fila di i/o dal 22 al 53, quindi limita la quantità di pin disponibili. Proprio per questo avevo pensato agli expander.

Come gestione delle schede avevo già pensato ad una suddivisione con l'utilizzo di un unico gestore centrale (appunto l'arduino mega) e varie periferiche:

  • una scheda con il circuto di debounce, dove ognuno dei pulsanti è collegato direttamente su un ingresso digitale (per il debouncing posso usare un integrato dedicato, ed eventualmente potrei sfruttare i 6 interrupt del mega per i pulsanti che richiedono una rapidità di risposta maggiore)
  • una scheda con i relè collegati alle uscite di un expander, in modo che con il bus SPI ed una linea di attivazione gestisco tutta la catena di relè. Questo sarebbe il primo attivato alla pressione di un tasto
  • un'altra scheda per i potenziometri digitali, sempre su bus SPI, il cui aggiornamento del valore sarebbe meno prioritario dell'attivazione dei relay
  • un'ultima scheda con il secondo expander per i led di segnalazione, stessa logica di sopra ma ancora meno prioritario
  • Infine il display, il meno prioritario di tutti, che potrei aggiornare tranquillamente alla fine di tutte le altre operazioni
    In questo modo da un veloce calcolo dovrei avere a disposizione porte sufficienti per le varie linee di slave select e per tutti i pulsanti da collegare direttamente ad arduino.

Per quanto riguarda la parte software ho già messo in conto di partire da una cosa molto basilare, del tipo: alla pressione di un tasto attivo una serie di relè e una serie di led, se ri-premuto li disattivo. Poi potrei aggiungere la regolazione dei pot digitali (ad esempio alla pressione di un altro tasto aumento il valore di un potenziometro che mi intensifica un certo effetto). Infine aggiungerei le funzionalità del display.

Il display mi servirebbe essenzialmente per programmare alcune funzioni senza ricorrere al PC, ad esempio decidere quali relay attivare alla pressione di un tasto, modificare manualmente il valore di un pot.digitale e cose simili

Visto che hai già materiale dentro è d'obbligo usarlo e alla fine quelli che hai elencato vanno bene. Tra I2c e SPI cambia il numero di pin necessari per ogni device connesso al bus, 2 soli fili per I2c e 3 per ISP più 1 per il chip select.

Quindi gestirai tutto con l'arduino Mega?

Controlla quanto memoria flash e ram occupa la gestione del display, così da sapere quanto ti puoi allargare con il codice di gestione generale.

La rogna può essere la gestione dei pulsanti, se devi scrivere un debounce software questo o viene complicato oppure impiega un certo tempo in cui il micro non può fare altro che aspettare. Gli interrupt a tempo o esterni sono comodi per la gestione di eventi che devono essere serviti subito, infatti il micro sospende quello che sta facendo e salta ad eseguire la routine di interrupt ed esce da questa dopo avere eseguito tutto il codice contenuto, in questo frangente il loop non gira e se premi un pulsante il software non se ne accorge. Per questo motivo il codice della routine di interrupt deve impiegare il minor tempo cpu possibile.

Per quanto riguarda la parte software ho già messo in conto di partire da una cosa molto basilare, del tipo: alla pressione di un tasto attivo una serie di relè e una serie di led, se ri-premuto li disattivo. Poi potrei aggiungere la regolazione dei pot digitali (ad esempio alla pressione di un altro tasto aumento il valore di un potenziometro che mi intensifica un certo effetto). Infine aggiungerei le funzionalità del display.

Devi mantenere in memoria lo stato attuale di ogni relè, ho usi una struttura (classe) o un array definendo delle #define come indici dell'array, tipo
#define IDX_RELE_BOOST 0
#define IDX_RELE_FLANGER 1
#define IDX_RELE_BYPASS 2
stateRele[10]

if (!stateRele[IDX_FLANGER])
stateRele[IDX_FLANGER] = 1;

ecc.

Aspetto lo schema a blocchi funzionali.

Ciao.

Si, è un arduino mega.
Non so se è sufficiente sapere questo, ma ho compilato uno sketch di esempio contenente tutto il necessario (librerie e codice) per alcuni menu, caratteri e touchscreen, e mi restituisce:

Dimensione del file binario dello sketch: 19.456 bytes (su un massimo di 258.048 bytes)

Per la gestione dei pulsanti non ho problemi ad utilizzare un debounce esterno (lo ho già testato con altre applicazioni), mentre per l'interrupt teoricamente tra una pressione e l'altra di un pulsante passa qualche istante (diciamo almeno mezzo secondo), quindi ci sarebbe il tempo per eseguire qualche operazione.

Per lo schema a blocchi mi serve un po' di tempo. Nei prossimi giorni sono piuttosto occupato, ma vedrò di disegnare qualcosa.

Grazie di tutti i consigli!

Come non detto... Sono riuscito a disegnare qualcosa velocemente, spero possa bastare (vedi pdf in allegato).

Schema a blocchi.pdf (18.3 KB)

Gli ho dedicato 5 minuti ma già da subito mi è sembrato tutto perfetto. Non rimane che passare alla realizzazione dei pcb.

+1 :slight_smile:

Ciao.

Haha.. Dici niente..
Comunque grazie per l'incoraggiamento! 8)

A proposito, avevo anche aggiunto nello schema a blocchi un display a 7 segmenti che mi potrebbe tornare utile in alcune situazioni... Sarà pilotato da un pposito integrato su bus SPI, quindi teoricamente il concetto non cambia.

A presto per altri aggiornamenti!

Si conviene sfruttare ISP per tutto, quindi anche per il display 7 seg.

Se ti può interessare ho trovato degli interruttori privi di contatto, sembra siano degli accoppiatori ottici tra diodo led e fotoresistenza, li ho visti guardando lo schema del Triamp H&K, si chiamano LT3011 da non confondere con gli integrati stabilizzatori di Linear Technology.

http://www.google.it/url?sa=t&rct=j&q=Lt3011&source=web&cd=8&cad=rja&ved=0CFgQFjAH&url=http%3A%2F%2Fwww.excelitas.com%2F_Layouts%2Flistform.aspx%3FPageType%3D4%26ListId%3D%257B06414CB3-CCA7-4B30-AEDA-D8E3BD2DCF6C%257D%26ID%3D14&ei=465PUOr-FYbR4QTRkYDwCQ&usg=AFQjCNHedwF4EghsFycUgkND8COmLT1BJw

purtroppo non ho idea di dove reperirli sul mercato.

Forse allo schema a blocchi della sezione analogica potresti aggiungere i jack send e return così da permettere la connessione di una unità esterna, ma dove metterla, in testa o in coda, boooh forse è meglio non metterla perchè la testata di solito è già provvista di send e return.

Per il pcb userai quasi sicuramente il software eagle che purtroppo non so usare, preferendo kicad.

Se hai qualche dubbio, incertezza ecc, posta pure.

Ciao.

Come pulsanti ho trovato degli economicissimi pulsantoni uguali a quelli che usavano sui vecchi giochi arcade delle sale giochi. Sono veramente molto resistenti, quindi anche con la pressione del piede dovrebbero reggere tranquillamente. Fra l'altro sono trasparenti, quindi posso inserire un led colorato di segnalazione on/off all'interno del pulsante con un ottimo risultato estetico.
Tutto quello che dovrò fare è aggiungere il debounce, ma quello non è assolutamente un problema.

Per i jack di send/return ci avevo pensato, magari dedico un relay apposta per quello e ci collego direttamente i jack, al massimo con un piccolo buffer ad op-amp. La posizione ideale sarebbe forse a metà catena, dopo le distorsioni e prima delle modulazioni (phaser, chorus, etc). Comunque userò dei connettori (pin strip) per collegare gli effetti ai relè, quindi la catena sarà liberamente modificabile in qualsiasi momento.

Per i master userò sicuramente eagle perchè è l'unico programma che conosco abbastanza bene, e con cui ho già iniziato una piccola parte del lavoro.

Devo ora ringraziare tutti per i consigli, veramente molto preziosi.
Mi farò vivo non appena riesco a continuare il lavoro!

Grazie ancora!
Ciao

Oggi sono riuscito a proseguire il lavoro di progettazione dei circuiti, ed ora posso mostrare ancora qualche dettaglio del progetto.

Ho preparato 4 pdf, che allego, dei circuiti più particolari della pedaliera, cioè quelli che fanno da contorno agli effetti veri e propri:

  • Scheda Reverb+Output, contenente tutti i jack di uscita e send-return, più un modulo digitale (esattamente questo: http://www.oct-distribution.com) comandato interamente da un AD5206
  • Scheda Switcher, contenente la catena dei relay, con il relativo expander, più le alimentazioni, che saranno distribuite da questa scheda a tutte le altre.
  • Scheda Debouncer, contenente appunto gli integrati di debounce per i pulsanti
  • Scheda Led, contenente un secondo expander e dei transistor array per pilotare dei led ad alta luminosità.

Devo ancora verificarli per bene, però posso dire di aver svolto buona parte del lavoro di progettazione e, a meno di correzioni o modifiche, passerò il prima possibile ai master.
Mi farebbe piacere un parere sui circuiti, soprattutto sulla parte analogica del circuito di output, che è quella su cui sono meno sicuro della correttezza. Ho aggiunto qualche riquadro e nota per far capire la logica degli schemi, spero siano abbastanza chiari!

Output.pdf (441 KB)

Switcher.pdf (429 KB)

Debouncing.pdf (127 KB)

Led.pdf (201 KB)

In effetti mi rendo conto di aver chiesto un po' troppo... Verificare quei quattro circuiti non è proprio uno dei lavori più veloci :grin:

Cambiando argomento invece... Sto iniziando a pensare alla parte estetica e meccanica del progetto. Ho già lo chassis verniciato e pronto da forare, in cui avviterò i vari potenziometri, switch, pulsanti, schermo, ecc.
Non ho però ancora trovato una soluzione al problema serigrafie: vorrei applicare in qualche modo delle scritte per identificare la funzione delle varie manopole. Non mi interessano disegni o grafica elaborata, ma vorrei almeno delle scritte ordinate e leggibili. Ho a disposizione per le stampe una stampante laser a colori (anche se posso eventualmente accontentarmi del bianco e nero se viene una cosa troppo complicata). Come posso fare? Qualcuno ha già provato a fare una cosa del genere?

Mi è venuta un'idea e la butto li.. se si stampa su un normale foglio la scritta e si appoggia il foglio sulla plastica scaldandolo con un ferro da stiro (a temperatura minore alla distruzione della plastica) la scritta potrebbe trasferirsi.. toner transfer applicato ai contenitori.. funzionerà? Bisognerebbe provare con un pezzettino di plastica verniciato da buttare via dello stesso tipo del contenitore e vedere se la scritta tiene

Ciao

PS: Il ferro da stiro diventa troppo caldo, ti scioglie tutto, magari prova con qualcosa meno caldo e facci sapere (occhio che sicuramente il pezzo di plastica poi è da buttare e se fondi la plastica ti viene un casino)

Avevo pensato anch'io a questa soluzione. La avevo già usata per i circuiti stampati ma la cosa è un po' diversa: prima di tutto si applica su una superficie molto liscia (il rame appena lucidato), poi in quel caso serve solo per proteggere al momento dell'incisione, dopodichè si tira via tutto. Quì il toner trasferito deve durare anni (a questo però potrei ovviare con una mano di vernice trasparente).

Però mi hai fatto venire un'altra idea... Semplicemente potrei fare delle decalcomanie, però anche queste non sono proprio resistenti.

Ci penserò su ancora un po'. Comunque grazie del suggerimento!

gamby:
In effetti mi rendo conto di aver chiesto un po' troppo... Verificare quei quattro circuiti non è proprio uno dei lavori più veloci :grin:

Cambiando argomento invece... Sto iniziando a pensare alla parte estetica e meccanica del progetto. Ho già lo chassis verniciato e pronto da forare, in cui avviterò i vari potenziometri, switch, pulsanti, schermo, ecc.
Non ho però ancora trovato una soluzione al problema serigrafie: vorrei applicare in qualche modo delle scritte per identificare la funzione delle varie manopole. Non mi interessano disegni o grafica elaborata, ma vorrei almeno delle scritte ordinate e leggibili. Ho a disposizione per le stampe una stampante laser a colori (anche se posso eventualmente accontentarmi del bianco e nero se viene una cosa troppo complicata). Come posso fare? Qualcuno ha già provato a fare una cosa del genere?

Hai raggione, non è facile controllare tutto, ci vuole tempo, inoltre il controllo degli schemi su pdf non è il massimo e molte cose sfuggono.
Ad esempio io non vedo i condensatori da 100nf per ogni operazionale. Per lo stadio di uscita non riesco a capire cosa fa il blocco SpinSemi, comunque penso che puoi eliminare IC2 che funge da mixer e adattatore di impedenza a guadagno unitario per lo stadio successivo, non ne vedo la necessità ma può essere che mi sfugge qualcosa.

La separazione dei canali non è netta perchè R7 li pone in collegamento, visto che il segnale di partenza è mono il problema non sussiste giusto?

Una nota sull'operazionale scelto: in giro c'è di meglio, poi potresti anche pensare di convertire il tutto con alimentazione duale, un attimo sicuro che i 4558 possono essere polarizzati in quel modo?
Quello schema va bene per alimentazione duale, per l'alimentazione singola devi fare un partitore che fissi il potenziale alla metà dell'alimentazione, cioè circa 6 volt, ammeno che i 4558 non siano particolari. Come non detto ho visto da dove viene "VA".

Ciao.

Forse è più facile se mi dici su quale parte del circuito hai un dubbio