Общение

russian-robots@conference.jabber.ru - Чат, в котором можно поболтать об электронике, создании роботов и программировании.
Как мне зайти в чат?

 Обсуждение

Не стесняйтесь оставлять комментарии, мне интересно и важно ваше мнение!
  • Wadimka: Подскажу где взять недорого строчники, идете/едите в любую контору которая ...
  • Vladimir: Об этом датчике я тоже знаю, хотелось с чегото начать изучать МК, а не слеп ...
  • Vladimir: Спсиба
  • Евгений: Стоит поставить инфракрасный датчик движения и не городить ничего :) Литера ...
  • Vladimir: Добрый день Евгений. Это мне для дома в кладовку. При входе на двери стоит ...
  • Евгений: Фотобарьер? По подробнее расскажите.
  • Vladimir: Добрый день. Прошу вас помочь в реализации пректа фотобарер на Tiny45, со с ...
  • Евгений: С таким кодом даже http://caxapa.ru/codebook/?search=BLSH ничего не находит ...
  • Цифровой синтез частоты на МК atmega16

    27th Август 2010 | Метки:

    Многие робототехники используют в своих роботах ИК бамперы на TSOP’ах, как известно, TSOP’ы воспринимают только ИК излучение, промодулированное сигналом некой частоты (частота зависит от TSOP’a). Например для популярного среди робототехников TSOP1736 частота сигнала равна 36 кГц. Генератор на 36 кГц как правило делается на логических элементах, но в небольших роботах место ограничено, поэтому предлагаю синтезировать сигнал с частотой 36 кГц при помощи микроконтроллера atmega16 (если у вас BEAM робот, то эта статья для вас не актуальна :)). У каждого таймера этого микроконтроллера есть режим CTC, который создан как раз для цифрового синтеза частоты.

    Формулы для расчета частоты есть в даташите, их совсем не сложно найти.

    Рассмотрим пример настройки таймера 2 для синтеза сигнала частотой 36 кГц. Частота зависит от значения в регистре OCR2 и рассчитывается по формуле:

    f =  fclk/ (2 * N * (1 + OCRn)) , где N – делитель тактовой частоты, fclk – тактовая частота МК

    Нам нужно получить частоту 36 кГц, тактовая частота МК 8 МГц, N=1, выражаем из формулы OCRn :

    OCRn  =  ( fclk / ( 2 * N  *  f  ) ) – 1 = (8000000 / (2 * 1 * 36000)) – 1 =  110,111111…

    Результат округляем до целых, получаем 110.

    Код программы:

    /*
    Code Vision AVR C Compiler
    MCU: ATMEGA16
    CLOCK: 8 MHz
    */
    #include<mega16.h>
     
    void main (void)
    {
    DDRD.7=1; //конфигурируем PD7 на выход, на этой ноге появится сигнал частотой 36 Кгц
    //Настройка таймера 2, N=1, таймер работает на частоте 8 МГц
    ASSR=0x00;
    TCCR2=0x19;
    TCNT2=0x00;
    OCR2=110;
    while(1);
    }

    Максимально возможная частота 5 МГц, таким способом можно легко и просто сгенерить сигнал для любого TSOP’a.

    Понравилась статья? Нажмите на любую из кнопок:

    0
    1. Sergey
      19th Октябрь 2010 в 15:55

      Здравствуйте, я только изучаю шим, но не могли бы вы сказать, это аппаратный или программный шим?
      С уважением Robomir

      Thumb up 0 Thumb down 0

      [Ответить]

      Евгений Reply:

      Привет, робомир, к ШИМу CTC отношения не имеет.
      Это один из режимов таймера, который создан специально для аппаратного синтеза сигнала прямоугольной формы, точнее меандра.

      [Ответить]

    2. Sergey
      20th Октябрь 2010 в 10:38

      Спасибо, именно это я и хотел узнать :-) Сайту и автору большущий респект!

      Thumb up 0 Thumb down 0

      [Ответить]

    3. Vladimir
      26th Май 2012 в 11:45

      Добрый день. Прошу вас помочь в реализации пректа фотобарер на Tiny45, со схемотехникой проблем нет, но с программированием не очень, к большому сожалению, подскжите как это можно реализовать. Большое спсибо.

      Thumb up 0 Thumb down 0

      [Ответить]

      Евгений Reply:

      Фотобарьер? По подробнее расскажите.

      [Ответить]

    4. Vladimir
      30th Май 2012 в 10:45

      Добрый день Евгений. Это мне для дома в кладовку. При входе на двери стоит ф-барер, (к сожалнию после ремонта нехочется долбить стены). Лампа люминисцентная (я делал на фотодиоде есть ложные срабатывания) тоисть зашол включилось на 2мин, а потом автоматом выключилось.
      Спасибо.
      PS Подскажите литературу по Атмел.

      Thumb up 0 Thumb down 0

      [Ответить]

      Евгений Reply:

      Стоит поставить инфракрасный датчик движения и не городить ничего :) Литература: http://easyelectronics.ru/

      [Ответить]

    5. Vladimir
      30th Май 2012 в 13:48

      Спсиба

      Thumb up 0 Thumb down 0

      [Ответить]

    6. Vladimir
      30th Май 2012 в 14:08

      Об этом датчике я тоже знаю, хотелось с чегото начать изучать МК, а не слепо копировать.
      В любом случае спасибо что откликнулись.
      Удачи

      Thumb up 0 Thumb down 0

      [Ответить]

    :D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: