Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.54/139: Рейтинг темы: голосов - 139, средняя оценка - 4.54
Tpo-o
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 52
1

Вольтметр на AVR.

25.01.2011, 00:04. Просмотров 25531. Ответов 26
Метки нет (Все метки)

Добрый вечер! Мне нужно сделать вольтметр на мк и я не как не могу понять, как преобразовать код, который выдаёт АЦП, в Вольты на ассемблере. Помогите, пожалуйста!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2011, 00:04
Ответы с готовыми решениями:

AVR AVRISP STK500 V3.0 USB ISP Programmer for AVR IC
Люди помогите плз. не могу разобраться. приобрел этот чудный девайс (AVR AVRISP STK500 V3.0 USB...

Анализ стека AVR / AVR stack analysis
Привет! Уперся я в стек, и решил понять что почем. Нашел вот такой вот скриптик:...

AVR Atmega324PU не прошивается AVR ISP Mk2
Добрый день. На плату впаян данный микроконтроллер в корпусе tqfp. При подключении программатора...

AVR Studio 6 и AVR Toolchain вопросы!
Всем доброго времени суток. Решил я написать софтинку в новой студии от Атмела AVR Studyo 6. Все...

термометр вольтметр
Нужна схема термометра-вольтметра на avr в автомобиль на lcd дисплее. Дайте пожалуйста схему и...

26
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
25.01.2011, 00:16 2
Поковыряй пока готовый проект, авось и сам разберешься.
0
Tpo-o
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 52
25.01.2011, 00:19 3
Там сделано на микропаскале, а я в нём ничего не понимаю. Хотелось бы на ассемблере.
0
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
25.01.2011, 00:23 4
Да какая разница, тебя ведь механизм преобразования интересует? Или реализация конкретного алгоритма на асме?
0
25.01.2011, 00:23
Tpo-o
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 52
25.01.2011, 00:29 5
Вот именно, что хочется понять как это преобразовать. Нашёл в инете исходник на асм, но так и не смог разобраться, как он работает.
0
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
25.01.2011, 00:41 6
Открываем исходник медведя, и смотрим
Код
      val:=ADC_Read(0);
u:=((val/1023) * 5)*4;
Вот, собственно, сам механизм преобразования.
А теперь подумай, как это переписать на асме.
0
Tpo-o
0 / 0 / 0
Регистрация: 07.12.2010
Сообщений: 52
25.01.2011, 00:43 7
Вот с этим то и проблема. Не знаю как это на асме сделать. Подскажите, как вообще делить или умножать на асм?
0
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
25.01.2011, 00:55 8
А погуглить не судьба?
http://www.atmel.com/dyn/resources/prod_documents/doc0936.pdf
http://www.atmel.com/dyn/resources/prod_documents/AVR200.zip
0
himvirt
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 4
25.01.2011, 00:55 9
Умножение на аппаратном уровне реализовано на более "крупных" кристаллах. Например Atmega8, в которой есть также 8-канальный АЦП. Читайте даташиты, в них о таких вещах в самом начале обычно написано.
0
Mikomk
0 / 0 / 0
Регистрация: 20.01.2011
Сообщений: 157
25.01.2011, 22:22 10
Цитата Сообщение от Tpo-o
Вот с этим то и проблема. Не знаю как это на асме сделать. Подскажите, как вообще делить или умножать на асм?
Умножение в мегах есть. А деление просто реализуемо на 2 (ну и соответственно степени двойки). На любое число было на сайте атмел в примерах. Либо написать самому.
0
otixiypo
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 1,031
26.01.2011, 14:20 11
а лучше изучить си и не заморачиваться с такими банальными вещами как деление, а асм держать в голове только для мегабыстрых процедур :)
0
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
26.01.2011, 14:34 12
Цитата Сообщение от Tpo-o
Вот с этим то и проблема. Не знаю как это на асме сделать. Подскажите, как вообще делить или умножать на асм?
У Чана (http://itm-chan.org/cc_e.html) есть все необходимые исходники. И умножение, и деление. Берём их, и укладываем в свой собственный репозиторий. Вот тут я умножал и делил с фиксированной запятой, но народ начал плеваться...
0
Mofomjo
0 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 2
26.01.2011, 14:35 13
Здравствуйте. Нужна помощь. Не могу разобраться с АЦП.
Что бы не плодить тем, решил написать тут.

Что требуется? Нужно управлять 3мя насосами в зависимости от температуры с 3х источников.
Я вижу себе это так - взять 3 термо-резистора и пустить через них 5 В на з ножки АЦП.
В зависимости от сопротивления будет меняться напряжение, а от полученных данных и будет зависеть какой насос включать или выключать. Я только в первые начал изучать Си и микроконтроллеры. Задача вро де бы и не сложная, но у меня пока не получается.

Я себе вижу это так:
Например.

If (АЦП1>АЦП2 и АЦП1 > АЦП3) { выполняется действие 1, но с этим я уже разобрался }
Дальше
If(или лучше while) (АЦП2>АЦП1 и АЦП2>АЦП3) { выполняется действие 2 }
и т.д.
Или для этой задачи лучше использовать аналоговый компаратор?
Заранее благодарен за оказанную помощь.
0
Dirspywok
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 833
26.01.2011, 14:53 14
Что требуется? Нужно управлять 3мя насосами в зависимости от температуры с 3х источников.
Я вижу себе это так - взять 3 термо-резистора и пустить через них 5 В на з ножки АЦП.
Какой диапазон температур? Возможно проще взять 3 ds18b20 и не париться?
0
Mofomjo
0 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 2
26.01.2011, 15:25 15
Диапазон +20-50 макс. Хочется на AVR потому что в дальнейшем будут добавляться новые задачи. Да и вообще хочется разобраться с чем то одним. Я в микроконтроллерах не оч силен. Сейчас такую задачу реализую с помощью мюлера. Там интуитивно понятное ПО (1 ножка столько то, сделать тото тото, если на 2ю ножку пришло тото и др...). Всё отлично, но есть одно НО, он стоит 300$. Та и задачи ограничены.
Я уже начинаю понимать принцип работы AVR, и на этом сайте прочитал учебный курс и книжку "библиотека инженера" и дочитываю "Программирование на языке Си для Пик и микроконтроллеров".
Не хватает примеров с подробными комментариями.
А ds18b20 я так понимаю тоже нужно программировать, а это еще куча информации которую я осилю, но не скоро.
Так что вот надеюсь на Вас и Вашу помощь.
0
SIRK
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 9
31.01.2011, 13:40 16
Здравствуйте !
Надеюсь в нужном месте свой вопрос задаю.

Давно не дает покоя мне один вопрос.
Насколько важна стабильность тактовой частоты для
измерения (микроконтроллером) напряжения?
Конечно очень важна стабильность опорного напряжения АЦП ,
а вот стабильности такта (мне кажется) может и от внутреннего RC генератора хватить.
Ну скажем заводские фьюзы - 1 мегагерц.
При этом микроконтроллер ничего другого делать не будет,
только мерять напряжение.
Я прав или нет ?
0
Dirspywok
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 833
31.01.2011, 14:05 17
Да, можно и от внутреннего генератора.
0
ptoop
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 1,761
31.01.2011, 14:14 18
SIRK, те ж на коте только что ответили. Ты хоть смотришь, где постишь?
0
SIRK
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 9
31.01.2011, 17:57 19
Компьютер был выключен, небыло меня.
Спасибо за ответы.
0
d@vymshy
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 64
02.02.2011, 03:16 20
Дабы не плодить темы тоже решил спросить тут...
вопрос по делителю напряжения и формуле рассчета данных из АЦП:
во втором посте в примере используется резистивный делитель напряжения - 300 кОм в верхнем плече и 100 кОм в нижнем, такое соотношение дает на АЦП напряжение 1/3 от замеряемого? правильно ли я понял суть работы делителя?

далее идет расчет:
Код
      val:=ADC_Read(0);
u:=((val/1023) * 5)*4;
тут "5" это значение опорного напряжения, а что означает "4" - это что за коэффициент?
и если используется 8-ми битный АЦП, то соответственно делить надо на 256?
как пересчитать 8-ми битные данные АЦП и получить результат с точностью до десятых (ХХ.Х)?
0
02.02.2011, 03:16
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2011, 03:16

Вольтметр на PIC
Вольтметр на PIC16F677 нужна помощь в разработке проекта. Технические характеристики: -Индикация...

Вольтметр на PIC16F887
При компилировании прошивки возникает ряд ошибок связных пропущенным знаком ",". Error at file...

Вольтметр на Mega32
Здравствуйте. Решил обратиться за помощью, т.к. сам пока такую проблему решить не могу. Увидел в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.