por xultz » 15 Jan 2009 09:46
Por partos:
Sobre o PWM, ele não causará problemas se você filtrar a alimentação. Eu não vi capacitor nenhum ali. Se estiver mais para baixo da imagem, também está errado. Eu faria o seguinte: colocava os resistores dos pinos 18 e 17 mais para cima. Colocava o cristal mais para cima (assim o cristal fica mais perto e com trilhas mais curtas) e colocava um capacitor de 100nF omais perto possível do pino de Vcc. Ainda não é a configuração ideal, porque o correto é a trilha passar primeiro pelo capacitor e depois ir pro CI, mas é melhor que nada. O Vss do do 628 fica do outro lado, que é ruim de rotear também, então põe o capacitor na malha de terra e garanta uma ligação espessa até o Vss.
Sobre as entradas: o pullup interno só é adequado se você for usar tact-switches na própria placa, e não muito longes do PIC. Se for usar um conector e os botões mais afastados, faz de conta que o pullup nem existe. Coloca um pullup por resistor mesmo. Os valores vão depender muito da aplicação.
Por exemplo, ele será usado em local muito ruidoso? A distância da ligação dos botões é muito grande? O tempo de resposta entre pressionar o botão e o sinal ficar efetivamente baixo é muito crítico (abaixo de 100ms?). O consumo total do aparelho é um fator crítico?
Se houver problema de consumo (tocado por pilhas, por exemplo), os valores dos resistores têm que ser criteriosamente escolhidos, para serem do maior valor possível, senão tem impacto na durabilidade das pilhas. Se for tocado por uma fonte, aí fica mais confortável.
Quanto maior a distância, menor deve ser o valor do resistor. E é muito importante colocar um capacitor de pull down junto. Um valor inicial seria de 1k de pull up e 100n de pull down. Se o consumo é crítico, esse resistor pode subir, para até uns 47k. Porém, quanto menor, melhor. Se o tempo de resposta é crítico ( o botão é um micro-switch acionado por uma máquina, e ao ser solto que indica o fim de curso e deve desligar o motor imediatamente, por exemplo), o capacitor pode ser baixado para até 1n ou até menos, porém, quanto maior melhor, inclusive para debounce (porém ele deve ser rápido, do tipo cerâmico ou poliéster, eletrolítico deve ser evitado). Colocar o resistor em série é uma boa, mas lembre-se que quando o botão for pressionado, ele fica em série com o pull up. Assim, se usar 1k de pullup e 1k em série, ao pressionar o botão o sinal fica em 2,5V na melhor das hipóteses. Assim, o resistor em série sugiro que seja 10x menor que o pullup. E colocar mais um capacitor é também uma boa. A configuração do terceiro circuito da app note que você colocou sem dúvida é a melhor de todas. Por exemplo, os resistores sendo de 470R e os capacitores de 100n, mais um pullup de 10k. O resistor de pullup e o primeiro capacitor (o mais perto do PIC) deixa o mais perto do PIC possível, e os demais componentes (os dois resistores e o capacitor) o mais perto possível do conector.
Porém, é super fácil falar "ah, entope de resistor, capacitor, indutor, etc) e na hora de rotear, se ferra, porque você vai ligar, por exemplo 16 botões. Então tem que balancear isso também.
Ou seja, tudo depende da aplicação, espero que tenha dado pelo menos uma luzinha prá você. Se precisar de mais alguma dica, estamos aí!
98% das vezes estou certo, e não estou nem aí pros outros 3%.