Amplificatore di segnale onda quadra - disturbi

Ciao ragazzi, sto creando un amplificatore di segnale, meglio dire ricevo una certa frequenza di segnale da un sensore(onda quadra), la modifico e la ritrasmetto.....variandone solo la frequenza( del 20% in più) e non l'ampiezza...riscontro un problema.....quando genero la frequenza in uscita...viene disturbata quella in ingresso...alterandomi così tutto...ho installato una resistenza da 1kohm per proteggere l'ingresso dell'arduino. Per cercare di portare il potenziale dell'ingresso verso massa...ho installato un potenziometro da 10khom tra massa e l'arduino.....(il potenziometro l'ho tarato a 3khom)...così ho risolto il disturbo che ho in ingresso....ma non riesco a leggere come prima il segnale che mi viene dal generatore. Se invece non messo il potenziale verso massa....in ingresso leggo il segnale che è generato dall'arduino e il segnale generato dal sensore..... Come faccio a pulire il segnale? Ora la prova l'ho fatta generando un segnale con frequenza fissa....per cui se faccio (segnale letto - segnale in uscita generato dall'arduino) ottengo la lettura precisa del segnale in ingresso....ma visto e considerato che il progetto prevede la variazione della frequenza in uscita in funzione a quella in ingresso mi ritrovo il problema del segnale disturbato. Voglio precisare che i segnali corrono su un cavo 2X1 lungo circa 1,5mt.....ho provato a fare viaggiare i segnali su due cavi separati....ma ho sempre lo stesso problema.....ho provato ad utilizzare un cavo schermato...ma niente....l'unica prova che non ho fatto è quella di accorciare i cavi..
Confido in un vostro aiuto, grazie
.Posto il codice che uso per la lettura del segnale.

#define pinInput 2                         // pin input impulsi
#define Interrupt 0                        // interrupt associato

volatile word impulsi = 0;                 // contatore impulsi
word impulsiOld =0;
word freq =0;                              // valore frequenza
const unsigned long periodo = 1000;        // costante unità di tempo = 1" ritardo
unsigned long millisOld;                       // variabile supporto per calcolo periodo 
int out;
  
// -----------------------------------------------------------------------------------------------

void setup() {
  
  pinMode (pinInput,INPUT_PULLUP);           // imposta porta ingresso (opzionale PULLUP)
  pinMode (12, OUTPUT);
  
  Serial.begin(57600); 
  millisOld = millis();                     // inizializza timer
  
  attachInterrupt(Interrupt,somma,RISING);   // iniziailizza interrupt  
  impulsiOld = impulsi;                     // allinea variabile
}


void somma() {
  impulsi ++;                                            // incrementa contatore
}


void loop() {
  
   if ((millis() - millisOld) >= periodo){                 // trascorso 1"
    millisOld += periodo;                                 // aggiorna variabile
    freq =(impulsi - impulsiOld);                          // calcola frequenza sul pin 3 digital
    impulsiOld = impulsi;                                 // allinea variabile
    Serial.println (freq);
    out= ((freq * 20) / 100); 
    tone(12,out);
       
  }
  
  }

out= ((freq * 20) / 100);
non aumenta la frequenza del 20% ma si abassa del 80% al 20% (divide per 5)

Di che frequenza parliamo? Da dove arriva? Che uscita ha il generatore di segnale?

Ciao Uwe

Scusa ho sbagliato a postare a freq si aggiunge il 20% di freq e si assegna a out. Il segnale proviene da un trasduttore che genera un segnale onda quadra con ampiezza di 8 v anche arduino(che genera il segnale) ha come uscita un onda quadra...

Di che frequenza parliamo?
Il trasduttore che tipo di uscita ha? Un Open Collector?

Ciao Uwe

Ha un uscita di onda quadra pnp.

ma un pochetto di schema elettrico, anche per capire come applichi un segnale di 8V ad Arduino....

pakino:
Ha un uscita di onda quadra pnp.

Fornisci il link al datasheet del sensore e lo schema elettrico del tutto.

Allego datasheet e schema(scusate ma il disegno nn è x me :wink: )

Se ti viene chiesto il data sheet non puoi postare una foto parziale di una pagina dello stesso, o lo alleghi tutto oppure, cosa migliore, metti il link.
Io, ma anche gli altri, se devo perdere tempo per trovare un data sheet, partendo da informazioni incomplete, mi passa subito la voglia di aiutare e lascio perdere il topic.

Lo schema è sbagliato, prendo per buono che il segnale in uscita dal sensore è 8V, per ridurlo a 5V serve un partitore resistivo composto da una resistenza da 4.7k e una da 2.7k, vedi schema allegato per le connessioni.

Ora posto il link ma nn riporta niente di più...cmq il segnale così come sta viene letto correttamente...cmq all'ingresso del segnale ho già messo una resistenza da 1khom
http://www.vdo.com/generator/www/com/en/vdo/main/products_solutions/commercial_vehicles/hidden/tachographs/sensors_and_adaptors/download/flc_pulsesens2159_50_uk_v112008_freigabe_en.pdf

pakino:
...cmq il segnale così come sta viene letto correttamente...cmq all'ingresso del segnale ho già messo una resistenza da 1khom

Vedo che appartieni alla categoria di quelli che non ascoltano, ok nessun problema, per quanto mi riguarda questo topic è morto.

Ma che discorsi fai?!ti facevo solo presente che cn la configurazione che ho dato il segnale viene letto...nn ho contestato nulla di qll che mi hai suggerito!se scrivo qui é x cercare un consiglio,un aiuto...altrimenti nn avrebbe senso!come fai a calcolare le resistenze da installare?

Ora provo come mi hai suggerito...e così avró risolto anche il problema dei disturbi con il segnale d'uscita?

Ho fatto la prova...se utilizzo cavi più corti il problema sparisce(disturbo)....ho provato a mettere le resistenze...come indicatomi da astrobeed ma il problema persiste...come potrei fare a risolvere senza accorciare i cavi?

Usamdo cavi schermati di qualità. Poi bisognrebbe analizzare il disturbo col DSO e al limite inserire un filtro passa-banda

Ho provato a diminuire la resistenza verso massa e ho risolto...cmq ho provato anche con cavi schermati...ma quando si superano i 40cm iniziano i problemi