Ciao ragazzi, avendo finito il mio progetto di centralina ad anticipo variabile per motore 2 tempi l'ho provata ma è nata una sorpresa.
Praticamente appena avviato il motore succede che la centralina si resetta e riparte ogni volta che capta un disturbo che si accoppia sul pin di reset.
Quando scatta il segnale di pick up in ingresso il micro si resetta ed ho potuto notare dall'oscilloscopio che il pin di reset, normalmente a 5v tramite una R da 10K, presenta un picco negativo che fa si che in quel momento il micro si resetti. Al che ho provveduto a mettere su tale pin un condensatore da 100n e uno da 1u in parallelo in modo da stabilizzare la tensione sul pin, ma niente.
Ora ho filtrato meglio anche l'alimentazione al pin Vdd dove prima era solo presente un condensatore da 100n, adesso in parallelo uno da 100u e uno da 1000u. Al pin di reset c'è uno da 100n e uno da 100u e devo ancora provare in questa configurazione.
Se hai una pullup su quel pin, come fa a registrare cadute di tensione? Hai qualche collegamento fatto male?
C'è qualcosa su quel pin, oltre alla resistenza di pull-up?
Quel picco negativo a me suona tanto di microinterruzione di tensione da sovraccarico, per quanto duri poco è sempre un tempo infinitamente grande e tale da provocare il reset del micro.
bisognerebbe capire che fonte di alimentazione hai e che significato ha mettere in parallelo un 1000µF ed un 100µF, a meno che quest'ultimo non sia invece un 100nF.
Sul reset invece io non metterei proprio niente, semmai puoi abbassare la R ad 1K.
Un C così grosso potrebbe risolverti il problema ma resta da capire come mai c'è questo abbassamento.
Altro problema potrebbero essere effettivamente l'infinità di disturbi provocati dagli impianti delle due tempi; se il problema fosse davvero questo sarà dura a risolvere.
[OT] Mio fratello è un grande esperto in materia ed ha progettato con grande successo un'accensione variabile per moto d'epoca, non so se è la stessa cosa della tua, comunque non ha usato microcontrollori.
I collegamenti sono fatti bene. Credo sia dovuto ad un problema di layout. Il filo con segnale del pick up in ingresso passa vicino al pin di reset che è collegato a Vdd con una 10k (pull up) ma altresi vero che è un nodo ad alta impedenza.
Il segnale del pick up di una vespa ha un picco positivo molto verticale e di ampiezza circa 20V e quindi tale da provocare accoppiamenti capacitivi su nodi ad alta impedenza.
Dato che il layout ora non lo posso cambiare, posso solo mettere una resistenza tra Vdd e reset da 10ohm (che escluderò in fase di programmazione) in modo tale da trasformare il nodo di reset a bassa impedenza e quindi essere più immune.
ekjk:
I collegamenti sono fatti bene. Credo sia dovuto ad un problema di layout. Il filo con segnale del pick up in ingresso passa vicino al pin di reset che è collegato a Vdd con una 10k (pull up) ma altresi vero che è un nodo ad alta impedenza.
Il segnale del pick up di una vespa ha un picco positivo molto verticale e di ampiezza circa 20V e quindi tale da provocare accoppiamenti capacitivi su nodi ad alta impedenza.
Dato che il layout ora non lo posso cambiare, posso solo mettere una resistenza tra Vdd e reset da 10ohm (che escluderò in fase di programmazione) in modo tale da trasformare il nodo di reset a bassa impedenza e quindi essere più immune.
Per quanto ne so, volendo bloccare il reset in modo da renderlo davvero immune, puoi anche collegarlo direttamente a Vcc, senza nemmeno la R da 10ohm, ovviamente sempre dopo la programmazione.