Часы Реального Времени. Нужна помощь.

Тема в разделе "Arduino & Shields", создана пользователем БАРМАТОГРАФ, 22 июн 2017.

  1. При частоте выше 700 герц не хватит. Наверное))
     
  2. Этот метод я выдумывал в голове сегодня утром. Тут у меня и вышла мысль о том, что это не очень точно и не очень удобно.
     
  3. Приличным вариантом я думаю будет создание своего счетчика\часов реального времени. Например на еще одной плате Ардуино с обменом через последовательный интерфейс. Самое желанное это с шагом 10 микросекунд:rolleyes::rolleyes:
     
  4. mcureenab

    mcureenab Гуру

    Схема такая.
    Нужно загнать ADC в режим автоматического запуска по таймеру ADTS = Timer/Counter1 Overflow.
    Таймер настроить на гереацию сигнала для ADC.

    Точно 700 Гц не получится, потому как 16 МГц на 700 не делится.
    Ближайшее значение
    16000000/22857 = 700.004375027

    Тогда ADC будет запускать замер напряжения строго по графику, такт в такт. Расстановка временных меток выполняется простым автоинкрементом на количество тактов таймера 22857.

    Но частоту МК будет держать настолько стабильно, насколько позволяет резонатор. При желании таймер можно тактировать от внешнего источника, если потребуется.
     
  5. mcureenab

    mcureenab Гуру

    Частота и точность - разные вещи. Кварц может стабилизировать частоту, например, 16МГц, но с точностью 30 - 40 ppm. Т.е. за секунду он может накопить ошибку в десятки микросекунд.
    Реально стабильный источник частоты из доступных, это GPS.

    Например:

    NEO-6T https://www.terraelectronica.ru/catalog_info.php?CODE=1916384

     
    Последнее редактирование: 22 июн 2017
  6. ostrov

    ostrov Гуру

    Обмен с внешним таймером займет намного больше времени чем эти 10мкс.
     
  7. mcureenab

    mcureenab Гуру

    Не важно. Если частота 700 Гц, то времени вагон. Нужно только заморозить значения до следующего замера.
     
  8. ostrov

    ostrov Гуру

    Какой смысл делать на чем то другом, если можно то же самое прямо тут? Или там еще задач будет висеть штук сто?
     
  9. Tomasina

    Tomasina Сушитель лампочек Модератор

  10. Частота не обязательно будет 700 Герц. Просто я прикинул, что если осцилографом замерять токи частотой больше 700 Герц то милисекунд не хватит.
     
  11. Мы меня не судите строго. Наверняка я чего или не знаю, или не совсем правильно понимаю. Мне 14 и я закончил 9 классов, так что у меня даже полного курса физики нет. Радиоэлектроникой я занимаюсь только около 7-8 месяцев, Arduino - месяца 2. Еще до Arduino занимался программированием на C/C++. Так что я не понимаю некоторых тонкостей.
     
  12. mcureenab

    mcureenab Гуру

    У вас сигнал 700 Гц или частота сэмплирования?
    Чтобы исследовать форму сигнала частота сэмплирования должна быть на порядок больше частоты сигнала.

    Вот как выглядит оцифрованный сигнал, когда частота сэмплирования маленькая:

    [​IMG]


    тут на один период приходится около 4х замеров. Результат далёк от оригинала.


    Чтобы исследовать форму сигнала честота сэмплирования должна быть намного больше частоты сигнала:

    [​IMG]
    тут на один период около 30 замеров.
     
    БАРМАТОГРАФ и Tomasina нравится это.
  13. Частота входного сигнала. А замеры и хотелось делать через каждые 10 микросекунд.
     
  14. Я правильно понимаю, что при замерах каждые 10 микросекунд частота сэмплирования будет 100 КГц?
     
  15. mcureenab

    mcureenab Гуру

    Для этого потребуется внешний АЦП. Например http://amperka.ru/product/mcp3008-adc

    А куда вы собираетесь девать этот поток данных?
     
  16. И получается в таком случае замер сигналов частотой выше 50 КГц не будет удовлетворительным?
     
  17. mcureenab

    mcureenab Гуру

    Да.
     
  18. Выводить на экран телевизору по НЧ кабелю. Черно-белым цветом.
     
  19. Вся проблема это координата х которая отвечает за время.
     
  20. И получается в таком случае замер сигналов частотой выше 50 КГц не будет удовлетворительным?