obiettivo

questo coso conta le frequenze.
È utile per queste cose:

Obiettivi:

Firmware

Partiamo da: github.com/dword1511/stm32-freqmeter
Ma poi facciamo alcune modifiche in github.com/boyska/stm32-freqmeter (vedi l’allegato main.bin se vuoi il precompilato): timer chaining e altre piccolezze per l’accuratezza
Attacando A8 ad A0, vediamo una precisione migliore di 1ppm, al netto dell’imprecisione del quarzo dell’stm32
Vede bene segnali fino a 36MHz

Sarebbe da aggiungere un’interfaccia con display LCD e tasti. Attualmente la seriale è un’interfaccia “interattiva”. Quando avremo un LCD, la seriale potrà essere usata come interfaccia batch.

Circuito di input

autoprogettato

Il circuito di input fa un buffer in common emitter; poi amplifica in common collector; quindi fa clipping del segnale con un diodo verso +3V. L’idea è che amplifichiamo di molto (TODO: quale è il rapporto attuale?) il segnale, in modo che anche segnali sotto soglia la superino; però poi dobbiamo clippare per non danneggiare il circuito. Attualmente come diodo uso un normalissimo 1n4148. Sarebbe meglio utilizzare uno schottky, che ha meno caduta ed è più veloce.

Funziona? boh apparentemente sì, però non vorrei che il buffer caricasse troppo. Sarebbe quindi da riprendere il circuito di input da quello di quest altro frequency counter che ho trovato in giro: www.4sqrp.com/kits/freq-mite/freq-mite_schematic.jpg
Il circuito fatto e’ efficace solo fino a tipo 5MHz (massimo proprio), poi non passa piu’ nulla. Negli allegati c’e’ uno zip di un progetto kicad per rifarlo, ma ancora non e’ correto

insomma l’autoprogettato non va un granché

lt1016

con un lt1016 sembra andare meglio! anche se in teoria lo puoi alimentare con la sola 5V, funziona molto meglio se gli dai +5V e -5V. Così facendo ti dà un bell’onda quadra in output.
In particolare si vedeva che funzionava bene ricevendo in input sinusoidi di ampiezza 100mV.
Salendo di frequenza le cose iniziavano a sporcarsi, ma è difficile capire quanto sia colpa della breadboard, quindi la prossima volta proviamo a fare la stessa prova con un circuito saldato su millefori. Comunque per quel che si intravedeva, sembra cavarsela fino almeno a 5MHz. Da datasheet dovrebbe arrivare anche a 50MHz… vedremo!

non l’abbiamo mai testato con anche il microcontrollore attaccato, anche perché la sua uscita è a quasi 5V, che sono troppi per i nostri pin. serve quindi un modo per ridurre il voltaggio che sia però molto rapido.

dati tecnici stm32

Per un stm32 un segnale è alto se supera gli 1.8V, mentre è basso se sta sotto gli 1.2V. È indefinito altrimenti. vedi electronics.stackexchange.com/a/394850 + www.st.com/resource/en/datasheet/stm32f103vc.pdf sezione 5.3.14 e fai i conti per Vil e Vih ponendo Vdd=3.3V.

Impacchettare

Scatola

Nella scatola ci deve essere spazio per il circuito stesso, uno schermo, due (o più?) pulsanti.

Serviranno inoltre questi connettori:

Saldare

per il microcontrollore una millefori è sicuramente la cosa più comoda. Per il circuito di input si potrebbe forse preferire un circuito manhattan per ridurre il rumore