Citazione:
Originalmente inviato da owens Grazie Romolo.
Stai parlando delle porte del processore?
Se una porta dell'AtMega64 è impostata come ingresso Tristate la sua impedenza supera il mega Ohm, se invece è impostata come ingresso con pull-up allora tra il pin corrispondente e Vcc ci sono 4K7 Ohm.
C'è qualcosa che mi sfugge.
I tasti dei trimmers sono connessi sul conettore P4? Solo per capire facendo un esempio:
il tasto trim orrizontale dx dove è connesso? |
Quelle porte sono configurare con un internal pull-up quindi quando il tasto è non premuto i condensatori si trovano caricati a 5V rispetto a GND, quando chiudi il tasto il condensatore si scarica su AGND ma di conseguenza sull'induttanza si crea uno spike che da un lato ritorna verso GND alterando di fatto la tensione di alimentazione del micro che è stabilizzata a 5V a cui va sotratto lo spike creato, ma anche sulle porte PD0 PD1 PD6 e PD7. La causa di reboot ritenuta più probabile tuttavia è legata alla tensione di alimentazione.
Fra le soluzioni individuate ce ne erano tre possibili:
1) Collegare correttamente gli switch dei trim a Digital GND
2) inserire un diodo per bloccare lo spike in parallelo all'induttanza
3) inserire delle resistenze in serie agli switch per allungare il tempo di scarica del condensatore e di conseguenza ridurre la FEM prodotta dalla scarica.
il problema fra l'altro si verifica più facilmente sull'atmega 128 o 2560 (gruvin board) che sembra molto più sensibile agli sbalzi dell'alimentazione.