Полная версия этой страницы:
Помогите начать...
тех задание такое
имеем 4 штуки 0-5 вольтовых сигнала
температура 1
давление 1
температура 2
давление 2
датчки выдают сигнал 0-5 вольт - который преобразуется стрелочными приборами в показания
на каждый датчик - своя таблица отногения волтового сигнала к выходному..
т.е. например 0 волт - это +20 градусов
а на другом датчике 0 волт это - 40...
давление также считтается..
думается надо взять микроконтроллер с как минимум 4-х канальным АЦП..
завести туда сигналы..
и выводить их на 3-х разрядный светодиодный индикатор...
переключать между входами одной кнопкой достаточно..
какой МКР использовать?? AtTiny26 пойдет?? примерная схема всего это безобразия?
В общих чертах можно размышлять следующим образом:
- Из обязательных ресурсов в МК должен быть АЦП на минимум 4 входа, 7 выходов порта для сегментов индикатора, 3 выхода порта для общих анодов (или общих катодов) индикатора, 1 вход порта для кнопки. Итого 4+7+3+1=15 выводов - ATTiny26 с ее 16-ю доступными выводами подойдет, но впритык.
- Из желательных ресурсов в МК должен быть аппаратный умножитель, который значительно облегчит тебе расчеты. В серии Tiny умножителей нет, поэтому можно выбрать ATMega8 или ATMega48 - они не намного дороже Tiny26, но намного удобнее. Их 28 выводов для задачи хватит с избытком
хм.. еще один вывод - зажигать десятичную точку..
наверно луще мега 8 взять.. он в протеусе по крайней мере присутсвует. мне попроще будет..
как "подключить к нему индикатор??
colombo_2007
Jan 9 2008, 11:25
Правильно соображаешь. AtTiny26 вполне достаточно но если место не критично и планируеться расширение возми чото по крупнее (например ATMega16). Одну кнопку можно навесить на внешние прерывание. Светодиоды подключаются прямо на выходы контоллера. Кварц не нужен. Аппаратный умножитель не нужен если загрузить в память всю табличу пересчета показаний АЦП в BCD
SasaVitebsk
Jan 9 2008, 11:30

Не совсем понял выражения "стрелочный индикатор" - имеется в виду обычный стрелочный прибор? И он должен получать данные от AVR?
Если так, то надо 4 канала ШИМ организовывать.
У меня мега8 шесть входных каналов и 6 "стрелочных" шаговых двигателя. М8 прекрасно справляется.
Прямо с ножек.
Подключать очень просто. Современные многоразрядные индикаторы уже соединены посегментно внутри, значит, подключаешь все 8 сегментов (7+точка) через 8 резисторов к одному порту, а 3 общих анода (катода) - к другому. Индикация в этом случае должна быть динамической - подаешь 1 на анод №1, нули на сегменты, которые надо зажечь в 1-й цифре, держишь несколько миллисекунд, затем подаешь на этот анод 0, а на следующий - 1, и все повторяешь, и крутишь это в цикле. Для всего этого понадобится таймер и его прерывание (хотя можно и без прерывания, только опросом таймерского флага). Этим же таймером можно запускать АЦП и переключать его каналы.
Можно, разумеется, использовать и статическую индикацию - код будет попроще, но это потребует МК с бОльшим числом ног, втрое больше резисторов и проводов, а также отдельных, а не строенных индикаторов
Alex_Pol
Jan 9 2008, 11:46
2 m1sh Вы блок-схему можете показать? З.Ы. 3 регистра, 74НС573, к примеру могут существенно уменьшить необходимое количество лапочек МК в случае статической индикации. З.З.Ы. Насчёт динамической индикации можно посмотреть здесь:
http://www.radiokot.ru/start/mcu_fpga/avr/15/.
да не.. стрельчный это обычный волтметр 0-5 волт с измененной шкалой..
цифры надо вместо них..
юзать динамическю индикацию скорее всего буду..
http://www.chip-dip.ru/product0/62265.aspxиндикатор такой..
в протеусе жалко такого нету )) только одинарные...
Цитата(Alex_Pol @ Jan 9 2008, 14:46)

3 регистра, 74НС573, к примеру могут существенно уменьшить необходимое количество лапочек МК в случае статической индикации
Сразу видно, что ты не знаком с принципом Оккама - "Не плоди сущности без необходимости". Запомни навсегда - если задачу можно решить ТОЛЬКО с помощью МК, то ТОЛЬКО так и нужно делать
http://pics.binary.ru/full/sdf11.gifтипа того получается??
куда вешать кнопку и аналоговые входы? через чего подавать входы?
Все неправильно.
1. Не забывай, что к МК нужно еще подключать программатор - это ноги MISO, MOSI, SCK и /RESET, которые либо нельзя занимать больше ничем другим, либо принимать дополнительные меры по развязке. Освободи их, и еще не занимай XTAL1/2 - могут понадобиться.
2. Входы АЦП в Меге8/48 сидят на РС, а ты их занял анодами. Освободи и подключи туда (РС0..3) свои входные напряжения - как минимум через резисторы в несколько килоом, а по уму - с фильтрующими конденсаторами 0.1 мкф на землю и со сдвоенными диодами Шоттки (один на землю, другой на питание) на каждом входе.
3. Подключи катоды A..H через резисторы 100 Ом к ногам РD0..7, аноды - к РВ0..2, и кнопку - между РС4 и землей (туда же кондер 0.01 мкф).
4. Соедини VCC c AVCC через резистор 10 Ом или дроссель 10..47 мкГн, GND c AGND (нога 22) напрямую, повесь между VCC и GND, а также между AVCC и AGND по паре кондеров - керамический 0.1 мкф параллельно с электролитом или керамическим же 4.7..10 мкф.
5. Повесь между AREF и AGND керамический кондер 0.1..1 мкф
Alex_Pol
Jan 9 2008, 14:00
Цитата(=AVR= @ Jan 9 2008, 14:33)

Сразу видно, что ты не знаком с принципом Оккама - "Не плоди сущности без необходимости". Запомни навсегда - если задачу можно решить
. Кх-кх. Не имел чести пить с вами на брудершафт. Это раз.
Не надо меня учить, если я этого не просил. Уверяю, в этой области я больше забыл, чем ты знаешь. Это два. Мой пост был ответом на ваше утверждение о том, что статическая индикация требует МК с большим количеством ног. Это три. Я доступно изложил?
Цитата(m1sh @ Jan 9 2008, 14:52)

Да. С MISO, MOSI, SCK, RESET не хорошо вышло. Если нужно использовать именно их, планка PLD-8 c джамперами помогает развязаться при прошивке. Впрочем, если шить предполагается отдельно, можно забить.
Цитата(Alex_Pol @ Jan 9 2008, 18:00)

Уверяю, в этой области я больше забыл, чем ты знаешь. Это два.
имхо когда бог скромность раздвал вы , уважаемый , стояли в очереди за самоуверенностью
Цитата
Кх-кх. Не имел чести пить с вами на брудершафт
Не возбуждайся - и не будешь иметь. Много чести. Кстати, называния на "вы" в Интернете требуют в основном страдальцы комплексами неполноценности - мое сочувствие
вам
Цитата
Уверяю, в этой области я больше забыл, чем ты знаешь
Невозможно забыть то, чего никогда не знал

Особенно впечатляет вот этот
перл настоящего профессионала 

Цитата
Я доступно изложил?
Напротив - весьма косноязычно. ПешыТЕ есчо

Цитата
Если нужно использовать именно их, планка PLD-8 c джамперами помогает развязаться при прошивке. Впрочем, если шить предполагается отдельно, можно забить
Можно и забить. Но пионэрский осадок останется

А теперь, уважаемый, прочтиТЕ внимательно мою подпись (синий курсивный текст внизу), и если и теперь что-то осталось не понятым - спрашивайТЕ, объясню два раза и медленно


Цитата
m16: когда бог скромность раздвал вы , уважаемый , стояли в очереди за самоуверенностью
Но, к сожалению, ему и ее тоже не досталось - пришлось взять комплексов на все деньги, чтобы не уходить с пустыми руками

evgeny_ch
Jan 9 2008, 14:51
Опять получился штангенциркуль членомеро.
Динамическая индикация того не стоит.
Цитата
Динамическая индикация того не стоит
И не говори - увлекся. Просто не терплю, когда на меня визгливо гавкают из-под подворотни
Dog Pawlowa
Jan 9 2008, 15:14
Цитата(evgeny_ch @ Jan 9 2008, 18:51)

Опять получился штангенциркуль членомеро.
Динамическая индикация того не стоит.
А что стоит? Сейчас опять забанят, реплики сотрут, и все будет спокойно и непонятно.
SasaVitebsk
Jan 9 2008, 16:19
Тем не менее я поддержу =AVR=. МК это не PC. Проект считается хорошо сделанным, а процессор хорошо подобранным если ресурсы его загружены более чем на 50%. Однозначно надо попробовать найти соответствующий по ресурсам МК, прежде чем применить внешнюю м/х. Применение счётчиков и регистров сдвига в данном контексте, для себя считаю недопустимым. В крайнем случае - дешифратор либо регистр буферный. Если чтобы убрать внешнюю м/х мне придётся написать 100 строк текста - не задумаюсь не на секунду.
Надо соотносить разработку и изготовление.
evgeny_ch
Jan 9 2008, 16:27
Цитата(SasaVitebsk @ Jan 9 2008, 20:19)

Надо соотносить разработку и изготовление.
Сюда можно добавить стоимость разработки ПО и стоимость "железа". Надежность и пр.

И "эстетические" пристрастия, непременно.
Sergey Reva
Jan 9 2008, 17:22
Вот вам пример вольтметра на тини26 который я делал специально с целью заменять стрелочные приборы, работает на 3х знаковый индикатор, фото и схема в архиве. В вашем случае может понадобится контроллер с большим запасом флеш памяти (либо для таблицы либо для расчёта), в таком контроллере будет достаточный запас выводов для нормальной динамической индикации, не вижу смысла цеплять дополнительные компоненты.
калибровочное значение определено как
#define CAL_DATA 1000ul
первые 3 знака - то что будет отображатся на дисплее, последння цифра для точности
*целочисленная арифметика
*калибровка по 1 точке
*загрузка/сохранение калибровочных параметров
Цитата(evgeny_ch @ Jan 9 2008, 19:27)

Сюда можно добавить стоимость разработки ПО и стоимость "железа". Надежность и пр.

И "эстетические" пристрастия, непременно
Вот практически аналогичный
прожектик, написанный мной меньше, чем за час - и в основном время ушло на написание комментариев (собственно задачка -
здесь).
А вот теперь я готов выслушать АРГУМЕНТИРОВАННЫЕ соображения по стоимости разработки ПО, стилю, и эстетическим пристрастиям

)
Цитата(Sergey Reva @ Jan 9 2008, 20:22)

Вот вам пример вольтметра на тини26
Отличная работа, молодец!
Цитата(Dog Pawlowa @ Jan 9 2008, 17:14)

Сейчас опять забанят, реплики сотрут, и все будет спокойно и непонятно.
Moderator:
Не, не сотру

Последнее время
=AVR= проявляет исключительную (без всяких двусмысленностей ) тактичность. Ну а тут, что называется ему "подставились"

, ну и .......
Тем не менее дальнейшие разговоры на межличностные темы закругляем.
mdmitry
Jan 9 2008, 21:07
Цитата(zltigo @ Jan 9 2008, 21:57)

Moderator:
Не, не сотру

Последнее время
=AVR= проявляет исключительную (без всяких двусмысленностей ) тактичность. Ну а тут, что называется ему "подставились"

, ну и .......
Тем не менее дальнейшие разговоры на межличностные темы закругляем.
OFF TOPIC
Я смотрел в свое время западный форум по TeX`у. Для меня это был пример корректности по отношению к собеседникам. Весьма корректна поддержка Scientific Linux. С сожалением, констатирую, что этот форум нельзя приводить в пример
SasaVitebsk
Jan 9 2008, 23:59

Всё познаётся в сравнении. Возможно в том обществе, где широкоиспользуемым является приведенный вами форум, выше уровень культуры или менее горячие головы. Но для нашего общества данный форум именно является примером, и именно в хорошем смысле. Сравните с телесистемами либо даже с той же сахарой. Он максимально информативен и максимально корректен. Отдельные переходы на личности это не показатель. Посмотрите даже данную ветку. Предоставили два проекта близких по теме, ссылку, несколько общих рекомендаций. Ну и разные взгляды на некоторые вопросы схемотехники.
Не участвуйте в ругани и обратите внимание на конструктив.
mdmitry
Jan 10 2008, 07:18
Цитата(SasaVitebsk @ Jan 10 2008, 02:59)


Всё познаётся в сравнении. Возможно в том обществе, где широкоиспользуемым является приведенный вами форум, выше уровень культуры или менее горячие головы. Но для нашего общества данный форум именно является примером, и именно в хорошем смысле. Сравните с телесистемами либо даже с той же сахарой. Он максимально информативен и максимально корректен. Отдельные переходы на личности это не показатель. Посмотрите даже данную ветку. Предоставили два проекта близких по теме, ссылку, несколько общих рекомендаций. Ну и разные взгляды на некоторые вопросы схемотехники.
Не участвуйте в ругани и обратите внимание на конструктив.
Согласен. НО, IMHO, надо брать лучшее (корректность к собеседникам) и из других форумов.
muravei
Jan 10 2008, 19:06
Цитата(SasaVitebsk @ Jan 9 2008, 19:19)

Применение счётчиков и регистров сдвига в данном контексте, для себя считаю недопустимым.
А вот я с этим не согласен. Вот захочется Вам для градусника большой красивый ЖК индикатор поставить , а у него ног -тьма! Как тут без регистров ? Никак!
SasaVitebsk
Jan 10 2008, 19:40
Цитата(muravei @ Jan 10 2008, 23:06)

А вот я с этим не согласен. Вот захочется Вам для градусника большой красивый ЖК индикатор поставить , а у него ног -тьма! Как тут без регистров ? Никак!
Я пишу "для себя". Вы - можете применять. Я просто высказываю своё личное мнение. А много ног у данного ЖКИ это как и сколько? Если он без внутреннего контроллера, то регистры вас не спасут. Вам именно придётся применять специализированный контроллер. А если он со встроенным контроллером, то обычно не более полутора десятков ног. Например мега640 имеет 86 свободных ног. Но не обязательно такой подход. Возможно применение нескольких МК, к примеру.
AndyBig
Jan 10 2008, 21:07
Цитата
Если он без внутреннего контроллера, то регистры вас не спасут. Вам именно придётся применять специализированный контроллер
Смотря какой индикатор

. Я делал термометр с сегментным ЖК без контроллера (3 знака) - вполне обошелся мегой16
во блин... за день отсутсвия стока флуда развели ))))))
ща схему исправлю и вложу
вот такая схемка получилась....
Цитата(m1sh @ Jan 11 2008, 09:35)

имеем 4 штуки 0-5 вольтовых сигнала
температура 1
давление 1
температура 2
давление 2
вот такая схемка получилась....
Ответет пожалуйста на вопрос.
Предположим я подошол к вашему устройству, вижу одну кнопочку, и три циферки '36.6'.
Но обясните мне, какой из четырех параметров я вижу. И какой параметр я увижу если нажму на кнопку три раза?
Анатолий.
после нажатия кнопки, возможно надо будет кратковермеено выводить на инддикатор напимер такое
t-1
Pr1
или что-то подобное )
muravei
Jan 11 2008, 09:15
Цитата(SasaVitebsk @ Jan 10 2008, 22:40)

А много ног у данного ЖКИ это как и сколько? Если он без внутреннего контроллера, то регистры вас не спасут. Вам именно придётся применять специализированный контроллер. А если он со встроенным контроллером, то обычно не более полутора десятков ног. Например мега640 имеет 86 свободных ног. Но не обязательно такой подход. Возможно применение нескольких МК, к примеру.
Много это 40 , например . Все , конечно не нужны.
Думаю, 8-ногая тини и 3-4 регистра спасут. А вот Мега640 , несколько МК или ПЛИС еще , только для градусника - это из пушки по воробьям.
Sergey Reva
Jan 11 2008, 10:23
зачем ограничиватся 1й кнопкой если у вас достаточно портов чтобы каждому режиму обеспечить свою кнопку?
посмотрите 203 стр. даташита как правильно запитать ацп
у вас в схеме стоят резисторы 100 ом для ограничения тока дисплея, если предположить падение напряжения 1.6В на сегменте то:
U=5-1.6=3.4
I=3.4/100=0.034 (выдержит ли такой ток сегмент?)
Isum=0.034*8=0,272 (из 300 мА возможных для мега8)
1 кнопка из -за компоновки - и удобсва - 4 ре кнопки я просто не размещу там.
про резисторы -- пока незнаю - товарищб =AVR= посоветовал такие поставить...
Цитата(muravei @ Jan 11 2008, 11:15)

Много это 40 , например . Все , конечно не нужны.
Думаю, 8-ногая тини и 3-4 регистра спасут. А вот Мега640 , несколько МК или ПЛИС еще , только для градусника - это из пушки по воробьям.
А индикатор с 40 ногами для термометра - не "из пушки" ???
Что за индикатор, кстати, у него 32-битная шина? Или это сегментный ЖКИ-индикатор и надо ещё самому контроллер ЖКИ организовывать - так тогда "все, конечно, не нужны" звучит странно.
А так:
В розницу обобщённая "8-ногя тини" - $1, четыре регистра - ещё под $1
ATmega16 - немногим более $2, т.е. совсем немножко дороже, но гораздо удобнее.
ATmega48, которой достаточно для работы с ЖКИ-шкой на HD44780 (а когда захочется добавить функций, так и ног хватит, и набивки контроллера, и есть куда расти) - так и ещё меньше, на уровне "8-ногой" + два регистра, с которыми её и справедливо сравнивать по ногам.
А если регистров нужно штук 10, то тоже вопрос - не проще ли мелкую альтерину поставить и заодно на ней ещё что-то решить.
Я делал и "гроздья" параллельных регистров на 51-ый, и гирдянды последовательных (74hc595+hc597, ввод и вывод) на AVR-ки, но сейчас я десять раз подумал бы и поставил бы только в том случае, если на тираже это дало бы какой-то выигрыш. Что сомнительно, так как доп. регистры длеают больше плату и увеличивают число паек.
Цитата(m1sh @ Jan 11 2008, 09:35)

вот такая схемка получилась....
У Меги8 допустимый вытекающий ток на вывод 20 мА, а предельный 40 мА. Рекомендую общие аноды индикаторов, подключенные к выводам порта B, включить через p-n-p транзисторы, например 2N3906, управляемые от порта B.
+5В
^
| E 2к
\|__/\/\__ к выводу порта B контроллера
/|
| C
|___ к аноду индикатора
Величина резисторов в цепях порта D будет зависеть от типа примененного индикатора, но в любом случае суммарный втекающий ток всех выводов этого порта не должен превышать 100 мА.
muravei
Jan 11 2008, 12:24
Цитата(ReAl @ Jan 11 2008, 13:39)

Что за индикатор, кстати, у него 32-битная шина? Или это сегментный ЖКИ-индикатор и надо ещё самому контроллер ЖКИ организовывать - так тогда "все, конечно, не нужны" звучит странно.
Это 7 сегм. индикатор с крупными (дюйм) цифрами , все разряды(4) не нужны, запятушки тоже , ну и т.д.
народ... плиз, давайте по теме... ну пожалуйста...
muravei
Jan 11 2008, 12:42
Цитата(m1sh @ Jan 11 2008, 15:27)

давайте по теме... ну пожалуйста...
Если по теме , то я бы взял инд с ОК , и подключил их через транзисторы к выводам посл. програмирования , неизбежные резисторы в базах устранят их(тр-ров) влияние на программирование и освободят столь необходимые вам выводы для кнопок.
с железом вроде разобрались... теперь дело за прошивкой..
с чего начать??
Sergey Reva
Jan 14 2008, 20:18
наверное с изучения примеров (как минимум 2) которые были опубликованы в ветке
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.