| Ваш IP: 3.231.220.225 | Online(22) - гости: 16, боты: 6 | Загрузка сервера: 0.57 ::::::::::::

Генератор импульсов от 0.119 Гц до 8 МГц (Arduino)

На рисунке показана схема простого генератора импульсов (меандр), генератор имеет 5 основных пределов и 4-е множителя.  Минимальный шаг регулировки периода 0,125 мкс, максимальный 128 мкс (без учета множителя).

Пределы:

  • шаг регулировки 0,125 мкс, регулировка периода импульсов от 0,125 мкс до 8.192 мс (от 8 МГц до 122.07 Гц)
  • шаг регулировки 1 мкс, регулировка периода импульсов от 1 мкс до 65.536 мс (от 1 МГц до 15.25879 Гц)
  • шаг регулировки 8 мкс, регулировка периода импульсов от 8 мкс до 524.288 мс (от 125000 Гц до 1.90735 Гц)
  • шаг регулировки 32 мкс, регулировка периода импульсов от 32 мкс до 2.097152 с (от 31250 Гц до 0.47684 Гц)
  • шаг регулировки 128 мкс, регулировка периода импульсов от 128 мкс до 8.388608 с (от 7812.5 Гц до 0.11911 Гц)

Множитель меняется при помощи кнопки энкодера в пределах (шаг регулировки х множитель): 1, 10, 100, 1000

Библиотеки:

MsTimer2.ZIP

Encoder.zip

  #include <LiquidCrystal.h>
  #include <Encoder.h>
  #include <MsTimer2.h>
   Encoder myEnc(11, 10);// CLK, DT подключение энкодера
   LiquidCrystal lcd(7, 6, 2, 3, 4, 5);// RS,E,D4,D5,D6,D7 подключение LCD
   float f,ff;
   long x;
   unsigned long newPosition,oldPosition  = -999;
   int w=1,kn,mn,pred,kn1,mn1,zap,zap1;
   String mnoj,dell;
 
void setup(){
  lcd.begin(16, 2);Serial.begin(9600);
  MsTimer2::set(1, to_Timer);MsTimer2::start();
  pinMode(12,INPUT); // КНОПКА МНОЖИТЕЛЯ ПЕРИОДА
  pinMode(13,INPUT); // КНОПКА ПРЕДЕЛА 0.125 МКС 1 МКС 8 МКС
  pinMode(9,OUTPUT); // ВЫХОД СИГНАЛА
  TCCR1A = 0x40;TCCR1B = 0x09;OCR1A = 0;
}
 
void to_Timer(){newPosition = myEnc.read()/4;}
 
void loop(){  
 
  if(digitalRead(12)==LOW){kn1++;w=1;delay(200);if(kn1>3){kn1=0;}lcd.clear();}
 
  switch(kn1){
  case 0: mn1=1;   mnoj="   x1";break;
  case 1: mn1=10;  mnoj="  x10";break;
  case 2: mn1=100; mnoj=" x100";break;
  case 3: mn1=1000;mnoj="x1000";break;
}
 
  if(digitalRead(13)==HIGH){kn++;w=1;kn1=0;x=0;delay(200);if(kn>4){kn=0;}lcd.clear();}
 
  switch(kn){
  case 0: mn=1;pred=1;break;    // 0.125 mkS 8.192 mS = 122.07 HZ ... 0.125 mkS = 80000000 HZ 
  case 1: mn=2;pred=8;break;    // 1     mkS 65.536 mS = 15.25879 HZ ... 1.000 mkS = 1000000 HZ
  case 2: mn=3;pred=64;break;   // 8     mkS 524.288 mS = 1.90735 HZ ... 8.000 mkS = 125000 HZ
  case 3: mn=4;pred=256;break;  // 32    mkS 2.097152 S = 0.47684 HZ ... 32.000 mkS = 31250 HZ
  case 4: mn=5;pred=1024;break; // 128   mkS 8.388608 S = 0.11911 HZ ... 128.000 mkS = 7812.5 HZ
}
 
  if (newPosition != oldPosition) {
    oldPosition = newPosition;
    x=x+newPosition*mn1;myEnc.write(0);newPosition=0;if(x>65535){x=65535;}if(x<0){x=0;}lcd.clear();w=1;}
 
  if(w==1){TCCR1A = 0x40;TCCR1B = 0x08 | mn;OCR1A=x;w=0;}
 
  lcd.setCursor(0,1);ff=(float)16000000/pred/(2*(1+x));
  if(ff<100){zap1=5;}else{zap1=3;}
  lcd.print(ff,zap1); lcd.print(" Hz");
  lcd.setCursor(14,1);
  lcd.setCursor(0,0);
  if(1/ff*1000000<1000){zap=3;}
  if(1/ff*1000000>1000&&1/ff*1000000<10000){zap=2;}
  if(1/ff*1000000>100000){zap=1;}
  lcd.print(1/ff*1000000,zap); lcd.print("uS");
  lcd.setCursor(11,0);lcd.print(mnoj);Serial.println(x);
}

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Мощный УМЗЧ на LM3875

    Мощный УМЗЧ на LM3875

    LM3875 — мощный УМЗЧ  с двух полярным питанием, но имеется возможность питания от однополярного источника. Параметры: Напряжение питания от ±20 до ±84В Максимальная выходная мощность 125 Вт Номинальная выходная мощность 40 Вт КНИ при 40 Вт не более 0,06% То же при 56 не более 0,1% То же при 10 …Подробнее...
  • Схема усилителя мощности 1,2Вт на TDA7052

    Схема усилителя мощности 1,2Вт на TDA7052

    На рисунке показана схема простого усилителя мощности на TDA7052, схема имеет минимум внешних элементов. Данный усилитель может использоваться в автомобильной и бытовой, переносной звуковоспроизводящей аппаратуре. tda7052Подробнее...
  • Беспроводное контрольное устройство

    Устройство предназначено для передачи сообщений о наступлении события на расстояние до 1км. Уст-во состоит из передатчика (27МГц) и приемника построенного по схеме прямого преобразования. Задающий генератор построен на VT1 и VT2. Связь усилителя мощности с выходным контуром L4C5 индуктивная при помощи L3. В антенну сигнал поступает непосредственно с этого контура. …Подробнее...
  • Приставка-пробник для проверки биполярных транзисторов

    Приставка-пробник для проверки биполярных транзисторов

    Используя схему показанную на рисунке, можно собрать приставку-пробник, при помощи которой можно проверять биполярные транзисторы малой, средней и большой мощности. При проверке транзисторов к схеме подключают миллиамперметр (1мА), он может быть встроен в схему или быть внешним. При проверке транзисторов средней и большой мощности отключают миллиамперметр, и уст-во становится пробником …Подробнее...
  • Температурный регулятор скорости вентилятора на LM317T

    На рисунке показана схема простого температурного регулятора скорости вентилятора, который устанавливается в корпусе ПК или в любой другой аппаратуре для поддержания комфортной температуры внутри прибора. Датчиком температуры служит термистор который подключен к стабилизатору LM317T управляя работой вентилятора. Датчик — Термистор имеет номинал 470 Ом. Он устанавливает выходное напряжение LM317T примерно …Подробнее...