Buongiorno,
in un unico circuito trovano posto una parte analogica ed una digitale. La parte digitale è costituita da un PIC con quarzo a 4 MHz. Il PIC tra le altre cose genera un PWM a circa 60 kHz.
Se alimento solo la parte analogica e non la digitale, vi è la presenza di un rumore di fondo "accettabile".
Alimentando anche la parte digitale il rumore aumenta ma rimane contenuto, comunque comincia a diventare fastidioso.
Ho provato ad alimentare le due parti con alimentazioni (massa comunque in comune) separate ma la situazione non cambia.
Il rumore peggiora di molto se dal pin del PIC dove viene generato il PWM collego un cavo per prelevare il segnale.
Ho provato a collegare un cavo intrecciato con segnale e massa ottenendo un minore peggioramento ma comunque segnale molto disturbato nella parte analogica.
Al momento le prove sono effettuate su breadboard e questo immagino sia sicuramente una con-causa dei problemi.
Dovrò passare alla realizzazione dello stampato ma prima volevo chiedere:
- come potrei limitare il rumore introdotto dalla parte digitale? (filtri su alimentazione? o altro, cosa?)
- cerco consigli 'pratici' sulle regole da rispettare per disegnare stampati in queste situazioni. Nella speranza che il passaggio allo stampato riduca il rumore. Parte digitale e analogica non possono stare lontane. Tenete presente che le mie realizzazioni sono sempre hobbystiche e quindi limitate nelle possibilità. Non ho mai dovuto prestare particolare attenzione nel disegnare stampati e quindi cerco consigli.
Grazie.
Digitale e Analogico: Consigli per riduzione Disturbi
Moderatori:
carloc,
g.schgor,
BrunoValente,
IsidoroKZ
17 messaggi
• Pagina 1 di 2 • 1, 2
1
voti
ciao, per i collegamenti dovresti cercare di farli + brevi e con meno cavo possibile, le saldature vanno fatte perfettamente lucide e per il filtri dovresti mettere dei condensatori in giro per il circuito, poi dipende da come è fatto, però almeno nell'alimentazione qualche condensatore anche di tipo diverso esempio 100uF elettrolitico e 100n ceramico
inoltre il massimo sarebbe rinchiudere parte digitale e analogica ognuno in 1 scatoletta metallica
inoltre il massimo sarebbe rinchiudere parte digitale e analogica ognuno in 1 scatoletta metallica
1
voti
Non so se la realizzazione su breadboard possa peggiorare di molto le cose (probabile, ma senza altri elementi la mia è una ipotesi); ti consiglio l'uso di bobine di arresto come la VK200. In serie sull'alimentazione filtrano un po' di RF che può venir captata e buttata sulle linee di Vcc e GND.
La VK200 lavora già da frequenze "importanti"; non so se il tuo disturbo può rientrare nella banda di arresto della bobina (magari a causa della Fosc del PIC).
Ciao.
Paolo.
La VK200 lavora già da frequenze "importanti"; non so se il tuo disturbo può rientrare nella banda di arresto della bobina (magari a causa della Fosc del PIC).
Ciao.
Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-------------------------------------------------------------
PIC Experience - http://www.picexperience.it
-

Paolino
32,6k 8 12 13 - G.Master EY

- Messaggi: 4226
- Iscritto il: 20 gen 2006, 11:42
- Località: Vigevano (PV)
1
voti
piste brevi, circuiti logici e analogici separati e con piani di massa diversi connessi in un unico punto, alimentazioni filtrate e condensatori a go go
su tutte le alimentazioni.
Ma soprattutto con cosa stai misurando il rumore? non è che lo introduci con la misura?
Ma soprattutto con cosa stai misurando il rumore? non è che lo introduci con la misura?
0
voti
Intanto grazie a tutti per le risposte.
@Paolino: ho provato con 2 VK200 (positivo e massa) per separare alimentazione digitale da analogica e la cosa non è migliorata. Vorrei provare con delle BL01 ma ieri in negozio non le avevano.
@Francy: ho riordinato il circuito (sempre su breadboard) per avere alimentazioni separate e un unica massa ma anche in questo caso non ho ottenuto miglioramenti. Il rumore è l'errore che ottengo nella conversione ADC. Nelle condizioni migliori (di minor rumore) ho 1 bit che varia in continuazione, nelle condizioni peggiori (parte digitale accesa ecc.) arrivo ad avere fino a 4 bit di segnale non valutabile. E' possibile che l'errore sia dovuto anche ad altri fattori, ma vorrei prima eliminare quelli dovuti all'attivazione o meno di parte del circuito.
Una interessante novità, il circuito prende alimentazione direttamente da USB del PC con cui comunica i risultati della conversione, qualche minuto fa ho collegato il circuito in una presa USB diversa dalla solita utilizzata per i test ed il 'rumore' è diminuito in modo notevole, senza modificare il circuito in alcun modo.
Ho cambiato cavo USB e la situazione è tornata a peggiorare.
I 5V della USB vengono stabilizzati da condensatori e un ldo per trasformarli a 3,3 V che è l'alimentazione utilizzata sia per la parte digitale che analogica (separate dai filtri).
@Paolino: ho provato con 2 VK200 (positivo e massa) per separare alimentazione digitale da analogica e la cosa non è migliorata. Vorrei provare con delle BL01 ma ieri in negozio non le avevano.
@Francy: ho riordinato il circuito (sempre su breadboard) per avere alimentazioni separate e un unica massa ma anche in questo caso non ho ottenuto miglioramenti. Il rumore è l'errore che ottengo nella conversione ADC. Nelle condizioni migliori (di minor rumore) ho 1 bit che varia in continuazione, nelle condizioni peggiori (parte digitale accesa ecc.) arrivo ad avere fino a 4 bit di segnale non valutabile. E' possibile che l'errore sia dovuto anche ad altri fattori, ma vorrei prima eliminare quelli dovuti all'attivazione o meno di parte del circuito.
Una interessante novità, il circuito prende alimentazione direttamente da USB del PC con cui comunica i risultati della conversione, qualche minuto fa ho collegato il circuito in una presa USB diversa dalla solita utilizzata per i test ed il 'rumore' è diminuito in modo notevole, senza modificare il circuito in alcun modo.
Ho cambiato cavo USB e la situazione è tornata a peggiorare.
I 5V della USB vengono stabilizzati da condensatori e un ldo per trasformarli a 3,3 V che è l'alimentazione utilizzata sia per la parte digitale che analogica (separate dai filtri).
Fabio
1
voti
prova a giocarti l'ultima carta, prendi l'alimentazione disturbata la fai passare in 1 diodo e dopo il diodo carichi 1 C abbasatanza grosso tipo 100uF, te lo spiego con l'esempio della "vasca da bagno", è come se tu tappassi il fondo, riempissi a metà la tua vasca e poi apri e chiudi il rubinetto ad intermittenza velocemente (cioè fai il disturbo), a quel punto il livello della vasca rimane completamentte uguale a prima, oltretutto i picchi possono solo essere usati per accumulare ulteriore energia, e la cosa bella è che non sono hai isolato questo nuovo circuito, ma i disturbi non possono + tornare indietro nella linea di alimentazione (sempre se ci sono ancora), anche qua ti consiglio diverse tipologie di condensatori insieme, per fare 1 buon lavoro a tutte le frequenze, + grosso è il C e + è trascurabile il disturbo (almeno sempre in teoria e se il disturbo proviene a monte)
2
voti
Ciao c1b8,
la questione non è affatto banale, è molto più complessa di quanto possa sembrare. Si riesce ad ottenere qualche risultato soltanto con molta esperienza e soltanto se si riescono ad individuare nel circuito le vere cause che generano il rumore ed a volte questo è molto difficile. Ogni circuito è diverso dall'altro ed è difficile elencare regole generali.
Tra i tanti accorgimenti da prendere, che non si possono riassumere brevemente, te ne raccomando uno che è importante: i collegamenti a massa non possono essere fatti casualmente lungo il conduttore di massa ma va considerato che, purtroppo, quel conduttore non è equipotenziale perché ogni suo tratto ha una sua propria resistenza e una sua propria induttanza che vengono a trovarsi in serie ai vari circuiti che vi si collegano e, se percorse dalle correnti di segnale, fanno nascere piccole tensioni di segnale indesiderate che finiscono in serie a quelle buone sommandosi con esse.
Per evitare questo si fanno confluire i vari collegamenti a massa in un unico punto anzichè distribuirli lungo il conduttore di massa e quel punto deve poi essere anche il punto dove si collega il comune dell'alimentatore ed i condensatori di filtro.
Quando la massa dei circuiti digitali è separata da quella dei circuiti analogici conviene utilizzare lo stesso criterio ma con due punti, come se le alimentazioni fossero indipendenti: in un punto si fanno confluire tutti i collegamenti a massa dei circuiti digitali e nell'altro quelli dei circuiti analogici, poi si collegano insieme i due punti con un unico conduttore.
Io non ho mai utilizzato le breadboard ma credo non si prestino affatto per realizzare quanto detto. Una buona via di mezzo tra le breadboard e i circuiti stampati sono le millefori che invece uso spesso e con quelle certe precauzioni possono essere messe in atto, in modo da passare poi allo stampato con più cognizione di causa.
la questione non è affatto banale, è molto più complessa di quanto possa sembrare. Si riesce ad ottenere qualche risultato soltanto con molta esperienza e soltanto se si riescono ad individuare nel circuito le vere cause che generano il rumore ed a volte questo è molto difficile. Ogni circuito è diverso dall'altro ed è difficile elencare regole generali.
Tra i tanti accorgimenti da prendere, che non si possono riassumere brevemente, te ne raccomando uno che è importante: i collegamenti a massa non possono essere fatti casualmente lungo il conduttore di massa ma va considerato che, purtroppo, quel conduttore non è equipotenziale perché ogni suo tratto ha una sua propria resistenza e una sua propria induttanza che vengono a trovarsi in serie ai vari circuiti che vi si collegano e, se percorse dalle correnti di segnale, fanno nascere piccole tensioni di segnale indesiderate che finiscono in serie a quelle buone sommandosi con esse.
Per evitare questo si fanno confluire i vari collegamenti a massa in un unico punto anzichè distribuirli lungo il conduttore di massa e quel punto deve poi essere anche il punto dove si collega il comune dell'alimentatore ed i condensatori di filtro.
Quando la massa dei circuiti digitali è separata da quella dei circuiti analogici conviene utilizzare lo stesso criterio ma con due punti, come se le alimentazioni fossero indipendenti: in un punto si fanno confluire tutti i collegamenti a massa dei circuiti digitali e nell'altro quelli dei circuiti analogici, poi si collegano insieme i due punti con un unico conduttore.
Io non ho mai utilizzato le breadboard ma credo non si prestino affatto per realizzare quanto detto. Una buona via di mezzo tra le breadboard e i circuiti stampati sono le millefori che invece uso spesso e con quelle certe precauzioni possono essere messe in atto, in modo da passare poi allo stampato con più cognizione di causa.
-

BrunoValente
39,6k 7 11 13 - G.Master EY

- Messaggi: 7796
- Iscritto il: 8 mag 2007, 14:48
1
voti
Intanto grazie a tutti per le risposte, scusate la latitanza ma ieri internet non funzionava.
Ho provato anche con il diodo+condensatore come suggerito da Analogik ma la situazione non cambia.
Ho effettuato qualche prova e rilevato alcuni dati che provo a trasmettervi per vedere se a voi risultano meno confusi che a me.
Prima però una breve descrizione del circuito, so che uno schema sarebbe meglio ma è veramente banale.
Si tratta di un micro che acquisisce dei dati da ADC e li invia al PC.
Collegamento tra micro e PC via USB.
Alimentazione del micro e della parte digitale dall'ADC ottenuta stabilizzando a 3,3 V (mediante un LM3490) la tensione +5V proveniente da USB.
Alimentazione e massa, così come i valori di riferimento per l'input, per l'ADC derivati dai 3,3 V precedenti e dalla massa digitale mediante 2 VK200 (come suggerito da Paolino): una per la massa ed una per i 3,3V.
In pratica alimentazione digitale e analogica separate (?).
Ho inserito anche due VK200 in serie alla massa e ai +5V provenienti dalla USB prima che entrino nel circuito e vengano stabilizzati.
Il test si svolge in questo modo: il micro effettua 1024 letture di un ingresso ADC e le comunica al PC il quale visualizza il valore minimo e massimo ottenuti. La frequenza di lettura dell'ADC è di circa 100 kHz. L'ingresso campionato dell'ADC viene connesso a massa: dovrei quindi ottenere sempre i valori minimo e massimo uguali a 0.
Veniamo ai risultati. Per ogni condizione descritta sono state effettuati molti test.
- Collegamento del circuito alla porta USB A (prima porta del PC): i valori rilevati vanno da un minimo di 0 ad un massimo di 3. In pratica perdo 2 bit del risultato.
- Collegamento del circuito alla porta USB B (seconda porta del PC): i valori rilevati vanno da un minimo di 0 ad un massimo di 1. Perdita di 1 bit. (in questo caso si rilevano molti più 0 che 1 nelle 1024 letture)
- Collegamento del circuito alla porta USB B mediante una prolunga (1,5 m) USB: stessi risultati del test effettuato con connessione alla porta A (perdita di 2 bit)
- E qui viene il bello. Collegamento del circuito alla porta USB B senza prolunga (come secondo test e quindi situazione migliore) e collegamento alla porta USB A di un convertitore usb-seriale. I valori rilevati vanno da un minimo di 0 ad un massimo di 1. Quando attivo su PC il programma di gestione del convertitore usb-seriale connesso sulla porta A i valori rilevati vanno da un minimo di 0 ad un massimo di 3. Da notare che in questo ultimo test non vi è hardware che interagisca con il mio circuito, semplicemente un ulteriore dispositivo connesso al PC ed un programma attivo su PC.
Non ci capisco nulla.
Devo dire che quanto suggerito da bruno valente sembra trovare riscontro nei test: infatti collegare l'ingresso ADC in un punto della breadboard piuttosto che in un altro, pur trattandosi sempre della massa analogica, sembra cambiare, ma questa cosa la dovrei approfondire meglio.
Mi affido alla vostra esperienza e ai vostri suggerimenti.
Ho provato anche con il diodo+condensatore come suggerito da Analogik ma la situazione non cambia.
Ho effettuato qualche prova e rilevato alcuni dati che provo a trasmettervi per vedere se a voi risultano meno confusi che a me.
Prima però una breve descrizione del circuito, so che uno schema sarebbe meglio ma è veramente banale.
Si tratta di un micro che acquisisce dei dati da ADC e li invia al PC.
Collegamento tra micro e PC via USB.
Alimentazione del micro e della parte digitale dall'ADC ottenuta stabilizzando a 3,3 V (mediante un LM3490) la tensione +5V proveniente da USB.
Alimentazione e massa, così come i valori di riferimento per l'input, per l'ADC derivati dai 3,3 V precedenti e dalla massa digitale mediante 2 VK200 (come suggerito da Paolino): una per la massa ed una per i 3,3V.
In pratica alimentazione digitale e analogica separate (?).
Ho inserito anche due VK200 in serie alla massa e ai +5V provenienti dalla USB prima che entrino nel circuito e vengano stabilizzati.
Il test si svolge in questo modo: il micro effettua 1024 letture di un ingresso ADC e le comunica al PC il quale visualizza il valore minimo e massimo ottenuti. La frequenza di lettura dell'ADC è di circa 100 kHz. L'ingresso campionato dell'ADC viene connesso a massa: dovrei quindi ottenere sempre i valori minimo e massimo uguali a 0.
Veniamo ai risultati. Per ogni condizione descritta sono state effettuati molti test.
- Collegamento del circuito alla porta USB A (prima porta del PC): i valori rilevati vanno da un minimo di 0 ad un massimo di 3. In pratica perdo 2 bit del risultato.
- Collegamento del circuito alla porta USB B (seconda porta del PC): i valori rilevati vanno da un minimo di 0 ad un massimo di 1. Perdita di 1 bit. (in questo caso si rilevano molti più 0 che 1 nelle 1024 letture)
- Collegamento del circuito alla porta USB B mediante una prolunga (1,5 m) USB: stessi risultati del test effettuato con connessione alla porta A (perdita di 2 bit)
- E qui viene il bello. Collegamento del circuito alla porta USB B senza prolunga (come secondo test e quindi situazione migliore) e collegamento alla porta USB A di un convertitore usb-seriale. I valori rilevati vanno da un minimo di 0 ad un massimo di 1. Quando attivo su PC il programma di gestione del convertitore usb-seriale connesso sulla porta A i valori rilevati vanno da un minimo di 0 ad un massimo di 3. Da notare che in questo ultimo test non vi è hardware che interagisca con il mio circuito, semplicemente un ulteriore dispositivo connesso al PC ed un programma attivo su PC.
Non ci capisco nulla.
Devo dire che quanto suggerito da bruno valente sembra trovare riscontro nei test: infatti collegare l'ingresso ADC in un punto della breadboard piuttosto che in un altro, pur trattandosi sempre della massa analogica, sembra cambiare, ma questa cosa la dovrei approfondire meglio.
Mi affido alla vostra esperienza e ai vostri suggerimenti.
Fabio
0
voti
Ho fatto ulteriori prove e analisi dei dati acquisiti in modo più dettagliato.
Ne risulta che il rumore (o perdita di bit) ha una frequenza ben precisa, indovinate un po'? Già proprio 50 Hz circa.
Inutile dire che l'unica cosa ad essere alimentata dalla rete è il PC a cui mi collego tramite USB.
Ne risulta che il rumore (o perdita di bit) ha una frequenza ben precisa, indovinate un po'? Già proprio 50 Hz circa.
Inutile dire che l'unica cosa ad essere alimentata dalla rete è il PC a cui mi collego tramite USB.
Fabio
0
voti
Qualche loop di massa?
17 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 57 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





