Zilele trecute, cautind un generator sinusoidal la 50Hz cit mai simplu si stabil, am dat de articolul de aici cu update aici. Parea sa fie ceea ce cautam si i-am facut un test rapid. Omul prezinta un generator de functii in gama 1Hz- 5KHz cu reglajul frecventei din encoder. Formele de unda se aleg printr-o apasare scurta.
Schema preluata mai jos este foarte simpla:
Atentie la pinii lui Attiny85:
La iesire eu am folosit rezistente de 3K3 in locul celor de 4K7, si condensatori de 1nF in locul celor de 4,7nF
Terminalele encoderul traduse pentru encoderul meu arata astfel:
x = GND
Y = SW
C = +5V
A = DT
B = CLK (inversarea lui A cu B afecteaza doar sensul)
Codul pentru varianta finala in care exista si semnalul sinusoidal este aici. Eu nu am facut decit sa dau copy/paste si apoi sa incarc codul in ATTINY85. Initial am pus pe pe Attiny85 bootloaderul cu clock intern 8MHz.
A iesit ca mai jos:
Frecventa si forma de unda implicita se seteaza ca mai jos:
void setup() { Wire.begin(); // Is it a power-on reset? if (MCUSR & 1) { Wave = 0; Freq = 100; // Start with 100Hz Sine
Eu am ales sa porneasca cu 50Hz pentru ca voi renunta la encoder si oled. Urmeaza sa fie adaptat intr-un invertor sinusoidal caruia i-a explodat circuitul original. Partea de defazare este pe placa invertorului si este functionala, fiind anterior testata cu semnal de pe un generatorul de mai jos:
Update 28-IUL-2019
Semnale in antifaza obtinute cu ajutorul a trei inversoare (3/4 MMC4011)