Четверг, 02.05.2024, 01:07
RC - Мастерская
Главная | Каталог статей | Регистрация | Вход
Меню
Статистика
Главная » Статьи » Чертежи и проекты » Микроконтроллеры

В категории материалов: 13
Показано материалов: 11-13
Страницы: « 1 2

Сортировать по: Дате · Названию · Рейтингу · Комментариям · Просмотрам

Как загружать скетчи из Arduino IDE в микроконтроллер ATmega32a.

Микроконтроллеры | Просмотров: 15292 | Добавил: Mactep | Дата: 21.03.2015 | Комментарии (0)


В микроконтроллерах Atmel (на которых построена Arduino) имеется встроенный аналогово-цифровой преобразователь (АЦП). Именно он отвечает за оцифровку сигнала с аналоговых входов. Причем в один момент времени АЦП может оцифровывать сигнал только с одного аналогового входа. Сам процесс оцифровки сводится к последовательному подбору наиболее близкого к входному напряжения с известным (референсным) значением. К слову, у микроконтроллера так же есть дополнительный вход AREF для подачи внешнего референсного напряжения. В Arduino по умолчанию референсным является напряжение питания микроконтроллера. Но если, например, Ваш МК питается от пяти вольт, а датчик на вход АЦП возвращает максимум 3.3В, то стоит подключить напряжение 3.3В к входу AREF и до преобразования вызвать функцию analogReference().
В IDE Arduino за работу с АЦП отвечает функция analogRead(pin). Эта функция включает АЦП, выбирает заданный вход, производит преобразование и возвращает результат с 10-ти битной точностью. Понятно, что такая операция не выполняется за один такт. Не выполняется она и за два, и за десять тактов… И резонно появляется следующий вопрос: как быстро работает analogRead? Для оценки времени преобразования я сделал простой тест.
1.    К аналоговому входу 5 подключим переменный резистор.
2.    Напишем скетч, в котором будем в основном цикле вызывать analogRead и писать полученное значение в UART.
3.    Будем засекать время по таймеру непосредственно перед и сразу после вызова analogRead. Разница этих двух значений поможет оценить скорость преобразования.
Для эксперимента я взял FreeDuino на Atmega168, загрузил в нее скетч и… результат мне не понравился совершенно. Микроконтроллеру для оцифровки аналогового сигнала понадобилось в среднем 111мкс. Это много! Но почему так и можно ли что-то сделать для увеличения скорости?
Для этого необходимо разобраться как микроконтроллер управляет АЦП.
Микроконтроллеры | Просмотров: 14278 | Добавил: Mactep | Дата: 11.03.2013 | Комментарии (0)

Получение числовых значений сигналов пропорциональной аппаратуры радиоуправления.
Микроконтроллеры | Просмотров: 3905 | Добавил: Mactep | Дата: 17.12.2013 | Комментарии (0)

1-10 11-13
Поиск