¿Por qué esta "onda cuadrada" tiene lo que parece ser una acción de carga en su borde de ataque?

0

Estoy tratando de producir una salida de onda cuadrada básica a través de una resistencia de un ATMega328P Xplained mini. VCC es de 5 V.

Configuración:

Código:(LascosasconDDC/PORTBsonsoloparacontrolarelLEDincorporado)

#defineF_CPU16000000#include<avr/io.h>#include<util/delay.h>intmain(void){//TurnoffglobalpullupdisableMCUCR&=~(1<<PUD);//DirectpinsPORTC=PORTC&~(1<<PORTC1)|(1<<PORTC3);DDRB|=(1<<DDB5);DDRC|=(1<<DDC1)|(1<<DDC3);while(1){PORTB^=(1<<PORTB5);DDRC^=(1<<DDC1);_delay_us(500);}}

PerocuandocolocounasondadeosciloscopioenelladoPC1delaresistencia,enlugardeunaondacuadrada,estoyviendoesto:

Me parece extraño que la salida no sea solo una onda cuadrada, entiendo que las resistencias no son ideales y que tienen pequeños elementos capacitivos e inductivos para ellos, ¿pero esto parece excesivo? Además, ¿por qué el voltaje máximo de la forma de onda es de solo 600 mV?

    
pregunta Eric

1 respuesta

4

Esta línea:

DDRC ^= (1<<DDC1);

en realidad está invirtiendo la dirección del pin PC1 en cada iteración del bucle while. Esto coloca al pin PC1 en el modo de salida y probablemente en el estado BAJO durante un medio ciclo y luego en el modo Hi-Z durante el siguiente. La impedancia del pin PC1 es de 10k-100k 100, por lo que actúa como un circuito RC muy pobre con la capacidad parásita de la placa de pruebas y la PCB.

Su onda cuadrada es un circuito RC durante medio ciclo y luego una BAJA controlada para la otra mitad, de ahí la forma de onda que está viendo.

    
respondido por el Charles Gervais

Lea otras preguntas en las etiquetas