Forma de onda a (5V) rectángulo

1

He encontrado algunos proyectos electrónicos interesantes que quiero construir, pero necesitaré un medidor de frecuencia por lo menos 1MHz . Lamentablemente, no tengo uno, pero descubrí en la web que Arduino UNO podría hacerlo
Mi problema es que los microcontroladores AVR y otros como los niveles lógicos 0V-5V como entradas, por lo que sería bueno crear una onda rectangular de 5V a partir de la onda de entrada.
Descubrí que un simple Schmitt-trigger podría hacerlo, pero lamentablemente, no pude obtener uno, y me gustaría usar un rango de voltaje más amplio que 5V .

Eso es lo que tengo hasta ahora (como plan): Un opamp en configuración del detector de valor máximo , luego use un divisor de voltaje para dividirlo entre 2 . (No sé si puedo o no puedo usar un divisor de voltaje con salida opamp. Si no, use otra opamp para dividirlo por 2) Luego, otro opamp en la configuración del comparador, compara la señal original con (valor máximo) / 2 . Creo que si alimento 5V a la Vcc del comparador, entonces debería tener una buena onda rectangular de 5V como salida.

Estoy en lo cierto?

    
pregunta Sasszem

2 respuestas

0

Siempre que quiera hacer esto como un ejercicio de aprendizaje, tiene absolutamente todo lo que necesita en el Arduino para construir un contador de frecuencia.

El AtMega328 (y de hecho la mayoría de las otras variantes de AVR que incluyen la capacidad A / D) tienen un comparador analógico incorporado. El comparador tiene dos entradas (+, -) y un retardo de propagación de aproximadamente 500 nS, por lo que es utilizable a 1 MHz.
La entrada + se puede enrutar (programar) a una referencia de 1 V o al pin de entrada analógica AIN0. La entrada se puede enrutar a AIN1 (o a cualquier otro) pin de entrada analógica. Desde el ATMega328 hoja de datos

LaseñaldelcomparadoranalógicosepuedeenrutaraunvectordeInterrupción,oalT/C1paraquepuedaimplementaruncontadordefrecuenciaconentradafija(1V)ovariable(configuresupropiovoltajeconundivisorenAIN0oAIN1)umbral.

SiestáempezandoaaprenderaprogramarelArduino,tendráqueleermuchoparaaprenderaprogramarestasfuncionesavanzadas.Estodaunatarea,perohaymuchoscódigosdereferenciayayudaenlínea.Debeiniciar aquí .
Entonces quizás una velocidad lenta contador de frecuencia como un ejercicio:
El código aquí es sencillo, genera resultados en la línea serie y es muy fácil de seguir y modificar.

Si busca código en el sitio de Arduino sobre tareas de sincronización encontrará esto en el código contribuido que responde a su pregunta original acerca de un inversor / Schmitt. proporciona una biblioteca para usar.

    
respondido por el Jack Creasey
1

Odio desalentar tu deseo de innovar, pero ten esto en cuenta:

De una búsqueda rápida en la web:

DeunabúsquedarápidaeneBay:

La elección debe ser obvia.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas