Modulare in ampiezza un onda quadra

Ciao,
stavolta ho messo insieme uno sketch pe nano per generare frequenze intorno alle onde medie (550-1650 khz).
ovvaimente potro' generare solo frequenze ottenibili dai 16 Mhz del clock del micro controllore.
Ho provato a generare i 1600 Khz

// generate medium wave frequency with arduino 
// for setting OCR0A value see  https://www.ee-diary.com/2021/08/arduino-ctc-mode-programming-with.html#
// simple on line calculator    https://www.ee-diary.com/p/atmega-microcontroller-timercounter.html#


void setup() {
  //Pin 6 (OC0A) is output
  pinMode(6, OUTPUT);
  TCCR0B = 0;  // reset timer 0 control registers
  TCCR0A = 0;

  // Load 4 to generate 1602 kHz sq.wave
  OCR0A = 4;
  // Toggle OC0A on compare match, WGM 2 (CTC)
  TCCR0A = (1 << COM0A0) | (1 << WGM01);
  // Start the timer, no prescalar
  TCCR0B = (1 << CS00);
}

void loop() {
}

risultato

la sagomazione e' ottenuta inserendo sul pin di uscita una induttanza da 100 microhernry

domanda 1 : e' corretto inserire nel listato i riferimenti a pagine web che possono aiutare nella programmazione come commento ?
domanda 2 : e' possibile modulare in ampiezza la quadra in uscita ?

Grazie per l 'attenzione

Roberto

Ciao, Roberto

  1. Sì... Perché no?... :slight_smile:
  2. Per regolare l'ampiezza di un'onda quadra potresti fare un partitore con una resistenza in serie e un FET o un NPN verso massa.

Ciao

Via firmware non si può fare nulla?
tipo questo, ma non c'e il firmware..

Qui c e un listato ma non è spiegato nulla su come ottengono il tutto..

Perché pensano che tutti sono superesperti...:rage:

Modula in frequenza! La frequenza, variando, si sposta dalla frequenza centrale sintonizzata e nel ricevitore, per la presenza dei filtri, diventa una modulazione di ampiezza.

/* Overflow Interrupt*/
ISR(TIMER1_OVF_vect) {
	uint16_t adc = ADC;
	OCR1A = adc;
	bitSet(DDRD, ANTENNA_1); // timer 2 outputs on
	bitSet(DDRB, ANTENNA_2);
}

Sloop detection?

Slope detection, sì, demodulazione che avviene per mezzo della pendenza del filtro.

Ciao,

oggi ho provato lo sketch e il circuito di cui sopra... genera un sacco di spurie fino alle FM !!
la modulazione e' quasi nulla.. e la forma d'onda distorta.
Meglio come detto sopra generare solo la frequenza con arduino e poi modulare un transistor ...

C'è sempre l'AD9850, che trovi già montato su una schedina per pochi euro!

carino.. io avevo usato l'adafruit che genera le onde quadre..
Da capire se controllando con un transistor in serie al positivo siu ottenga una modulazione d' ampiezza..

Bel colpo!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.