Proteus VSM

Outro dia durante a aula observei (juntamente com alguns alunos) que um programa de relógio simulado no Proteus estava atrasando consideravelmente.

Após rever todas as configurações do programa do microcontrolador e não encontrar erro algum, observei que o relógio rodando na simulação (apresentado num display de 7 segmentos) e o relógio de tempo da simulação (aquele que fica rodando na barra de status do Proteus) estavam perfeitamente sincronizados, logo não deveria ser um defeito no firmware.

No entanto, ao comparar os dois relógios com o relógio do computador, percebi que havia uma grande diferença de sincronismo.

Após pensar por algum tempo sobre qual poderia ser a origem daquela diferença, resolvi abrir a janela de configurações de animação do simulador (menu System > Set Animation Options):

Naquele caso em particular o valor de Frames per Second (quadros por segundo) estava setado para 30 e o campo Timestep per Frame (passo de tempo por quadro) estava setado para 50m (50ms). Foi então que entendi o problema: em algum momento o campo Frames per second foi alterado para 30 e como o campo Timestep per Frame foi mantido com o seu valor original (50m) o resultado foi que um segundo na simulação demorava 30*50ms=1,5s de tempo real!

Então aqui vai a dica: se você alterar um dos dois campos, certifique-se de que a multiplicação de um pelo outro continue resultando em 1s ou a sua simulação não irá corresponder ao tempo real!

Ps.: aumentar o número de quadros por segundo é interessante em alguns casos para se verificar visualmente alguns efeitos sobre optoeletrônicos ou chaves no circuito simulado!

Leave a Reply