Код для миливольтметра на ATTINY

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
korvinio
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 13, 2011 11:25:56

Код для миливольтметра на ATTINY

Сообщение korvinio »

Здравствуйте! Помогите с написанием кода для миливольтметра на ATTINY24. Может кто выложить примеры кто уже делал такое?

Миливолтметр состоит из одного микрокотроллера ATTINY24 и дисплея . Жду помощи от вас друзья.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Код для миливольтметра на ATTINY

Сообщение coredumped »

Курсак?
Схемку, для начала, набросайте. Какой индикатор планируется? Какой интервал измеряемых напряжений? Какая нужна точность?
Кстати, насчет точности, как раз и будут трудности.
Все будет только лучше, в крайнем случае - хуже.
korvinio
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 13, 2011 11:25:56

Re: Код для миливольтметра на ATTINY

Сообщение korvinio »

Да, курсовая работа.
Трубется сделать миливольтметр который мерит значения от 0 до 800мВ (не стоит задача перемнка или постоянка конкретно, т.е. можно выбрать постоянку). Интервал чтобы 1мВ был. Числа после точки(запятой) выводить не требуется.
Т.е. я взял 3 знаковый, 7 сегментный дисплей. Провод на точку не подводим.
Дисплей принимает 2.1В и 10мА, поэтому ещё ставлю резаки.
Питание по заданию 10В. Сказали мспользовать DC/DC, но в Proteus не нашел их. А вообще 10В/1.8В есть, его я нарисую потом, для схемы на А4 и трассировки, но пока и без них бы запустить. А вообще, если подскажите где его искать было бы неплохо.

Но самый главный вопрос с кодом. Я не представляю даже пока как написать код. Т.е сам алгоритм. С синтаксисом разберусь сам, пожалуй. Писать на "C" в данном случае проще?
Последний раз редактировалось korvinio Пн ноя 14, 2011 10:03:07, всего редактировалось 1 раз.
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Код для миливольтметра на ATTINY

Сообщение otest »

Я не представляю даже пока как написать код. Т.е сам алгоритм.

учится 3 раза потом сюда черновик для обсуждения или всё бросить и в Армию там научат.
korvinio
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 13, 2011 11:25:56

Re: Код для миливольтметра на ATTINY

Сообщение korvinio »

Не, я представляю алгоритм конечно, но хотел бы посмотреть как другие решают задачу.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Код для миливольтметра на ATTINY

Сообщение oleg110592 »

В tiny24 есть АЦП с 1.1V ADC Reference Voltage (опорное напряжение), т.е. можно получить разрешение приблизительно 1 мВ. Алгоритм, наверное такой - запускаем АЦП, после измерения - считаем напряжение по формуле VIN = (ADC * Vref)/1024, выводим полученое значение на индикатор.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Код для миливольтметра на ATTINY

Сообщение Jack_A »

korvinio писал(а): миливольтметр который мерит значения от 0 до 800мВ (постоянное или переменное не важно).


Ни фига себе чего - не важно! Для переменки схема в 2 раза больше получится, не говоря уже об проге. И что значит ~/- переключать нужно или он автоматом будет определять, что на входе?
Неясность в постановке задачи, а для того, кто не знает, куда плыть, не бывает попутного ветра.
korvinio
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 13, 2011 11:25:56

Re: Код для миливольтметра на ATTINY

Сообщение korvinio »

Благодарю всех за ответы.

Jack_A: Простите, ввел в непонимание. Я имел в виду, что не стояла задача перемнка или постоянка конкретно. Т.е. естественно я выбираю там где меньше элементов.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Код для миливольтметра на ATTINY

Сообщение coredumped »

Я фигею, дорогая редакция :shock: Чему сейчас в ВУЗах учат?
1. Запускаем поиск на гуглях и находим стопицот "вольтметров на AVR" https://www.google.com/search?hl=&q=%D0 ... 4&ie=UTF-8
2. Выбираем наиболее понравившийся, портируем код под нужный процессор.
Блин, делов-то на пол-дня, вместе со сборкой макета.
Все будет только лучше, в крайнем случае - хуже.
korvinio
Родился
Сообщения: 5
Зарегистрирован: Вс ноя 13, 2011 11:25:56

Re: Код для миливольтметра на ATTINY

Сообщение korvinio »

coredumped: Спасибо, тема закрыта.

P.S. Навереное не серьезно подешел к поиску. Помню видел похожую схему, но вот повторно найти не получилось.
Аватара пользователя
Сериг
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Re: Код для миливольтметра на ATTINY

Сообщение Сериг »

korvinio писал(а):Да, курсовая работа.
Трубется сделать миливольтметр который мерит значения от 0 до 800мВ (не стоит задача перемнка или постоянка конкретно, т.е. можно выбрать постоянку). Интервал чтобы 1мВ был. Числа после точки(запятой) выводить не требуется.
Т.е. я взял 3 знаковый, 7 сегментный дисплей. Провод на точку не подводим.
Дисплей принимает 2.1В и 10мА, поэтому ещё ставлю резаки.
Питание по заданию 10В. Сказали мспользовать DC/DC, но в Proteus не нашел их. А вообще 10В/1.8В есть, его я нарисую потом, для схемы на А4 и трассировки, но пока и без них бы запустить. А вообще, если подскажите где его искать было бы неплохо.

Но самый главный вопрос с кодом. Я не представляю даже пока как написать код. Т.е сам алгоритм. С синтаксисом разберусь сам, пожалуй. Писать на "C" в данном случае проще?

Погрешность -+4 % буде
Arlleex
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Re: Код для миливольтметра на ATTINY

Сообщение Arlleex »

Это с чего такой вывод?
Не умеешь - не берись, но не взявшись не научишься...
Аватара пользователя
Сериг
Это не хвост, это антенна
Сообщения: 1451
Зарегистрирован: Пт фев 19, 2010 19:39:28
Откуда: Москва

Re: Код для миливольтметра на ATTINY

Сообщение Сериг »

Arlleex писал(а):Это с чего такой вывод?

Даташит почитал :)
Alexandr_
Родился
Сообщения: 18
Зарегистрирован: Вс ноя 13, 2011 01:24:03

Re: Код для миливольтметра на ATTINY

Сообщение Alexandr_ »

Всем привет. :) Вопрос почти по теме, я тут пытаюсь для своих целей собрать милливольтметр, но с параметрами измерения от 0mV до 50mV, но мне нужна следующая дискретность - xx.xx mV, т.е. четырех разрядный индикатори две цыфры после запятой, т.е дискретность в 10 микровольт. Есть ли такая возможность у микроконтроллеров, т.е. такая чувствительность или нужно усиливать сигнал в n-раз?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Код для миливольтметра на ATTINY

Сообщение pyzhman »

Теоритически, конечно, можно и напрямую. Но советую усилить раз в 50, чтобы разлет был 2,5 вольта. Хотябы.
Docendo discimus
Alexandr_
Родился
Сообщения: 18
Зарегистрирован: Вс ноя 13, 2011 01:24:03

Re: Код для миливольтметра на ATTINY

Сообщение Alexandr_ »

Понял, буду пробовать. Но по идее микроконтроллеры среднего порядка не могут иметь такой чуйки в 1 микровольт для своего АЦП? Или можно использовать внутренний усилитель? Или лучше внешний, типа на AD8629, у неё хорошие параметры. Вот прилагаю кусочек схемы от одного проекта, нарыл в сетке, это умножитель на 10, по описанию очень стабильный. Но не могу найти как пересчитывать коэф. усиления здесь. Не подскажете? Или может хватит 10? И ещё, какой ИОН лучше использовать - 2,56 или 1,23 для такого случая? Внутренний ИОН по отношению к внешнему на сколько хуже или лучше? Все ли микроконтроллеры имеют два типа ИОН и разрядность АЦП=10? Я имею ввиду штатные микроконтроллеры. Извиняюсь за много вопросов, просто пытаюсь параллельно с конструированием схемы ещё учиться программированию. :)
Вложения
4.png
(11.36 КБ) 323 скачивания
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Код для миливольтметра на ATTINY

Сообщение pyzhman »

Коэффициент усиления в такого рода усилителях - отношение сопротивлений в их цепях.
По идее чуйку(слово-то какое :) ) могут иметь какую угодно. Ибо Aref делится на 10-ти битовое число, а первое можно задать от 0 до напряжения питания. Так что своя рука владыка. Внешний АЦП имеет смысл ставить для расширения разрядности.
Насчет хватит ли 10, ну откуда мне знать, пробуйте.
Docendo discimus
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Код для миливольтметра на ATTINY

Сообщение Мастер Ломастер »

pyzh_man писал(а):Ибо Aref делится на 10-ти битовое число, а первое можно задать от 0 до напряжения питания.
это вы слегка преувеличиваете - далеко не от 0 может AREF быть... так, навскидку, от 1 вольта...
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Код для миливольтметра на ATTINY

Сообщение pyzhman »

О чем я и веду речь. Поскольку шиты в этом плане молчат, то все скачет от опыта.
Docendo discimus
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: Код для миливольтметра на ATTINY

Сообщение Galizin »

Alexandr_ писал(а):Понял, буду пробовать. Но по идее микроконтроллеры среднего порядка не могут иметь такой чуйки в 1 микровольт для своего АЦП? Или можно использовать внутренний усилитель? Или лучше внешний, типа на AD8629, у неё хорошие параметры. Вот прилагаю кусочек схемы от одного проекта, нарыл в сетке, это умножитель на 10, по описанию очень стабильный. Но не могу найти как пересчитывать коэф. усиления здесь. Не подскажете? Или может хватит 10? И ещё, какой ИОН лучше использовать - 2,56 или 1,23 для такого случая? Внутренний ИОН по отношению к внешнему на сколько хуже или лучше? Все ли микроконтроллеры имеют два типа ИОН и разрядность АЦП=10? Я имею ввиду штатные микроконтроллеры. Извиняюсь за много вопросов, просто пытаюсь параллельно с конструированием схемы ещё учиться программированию. :)

1. У некоторых есть такие АЦП - сигма дельта. Смотрите например на некоторые msp430 (msp430f4270 например) и по моему контроллеры от SiLabs.
2 Можно использовать внутренний усилитель, например в msp430 он есть.
3. Как расчитываются схемы на ОУ можно почитать например в 1-м томе Хоровица Хилла (Искусство схемотехники - волшебная книжка)
4. Обычно встроенный источник обладает меньшей стабильностью.
5. Не все имеютn 2 опорных напряжения. Некоторые имеют 1, некоторые имеют только внешний, некоторые не имеют вообще - используется напряжение питания.
6. stm32, srm8l - 12 разрядов. msp430f4270 - 16 разрядов. Существуют методы программного увеличения разрядности (oversampling). например у TI есть AN (application notes) по применению msp430 для измерения микровольтовых сигналов без внешнего усилителя (весы). Аналогичные AN есть практически для каждого контроллера (AVR в том числе)
7. Что такое штатные микроконтроллеры мне неизвестно. Контора, производящая msp430, находится в Штатах. Так что его можно назвать штатным ;)
8.Нужно чтобы максимальное напряжение что нужно измерить преобразоввывалось в максимальное напряжение на входе АЦП. Грубо коэфициент усиления можно посчитать взяв величину ИОН и поделив на максимальное измеряемое напряжение (2,5 вольта / 50 милливольт = 50 ).
Последний раз редактировалось Galizin Вт ноя 15, 2011 13:37:16, всего редактировалось 1 раз.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»