rezident 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае? При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. ;) Наиболее логичным будет применение внешнего АЦП с мультиплексором. Нахрена козе баян? Если Мне достаточна скорость и разрядность встроенного АЦП. Сигнал с датчиков изменяется очень медленно. Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле? Угу, угу. А имя у него конечно же AVR? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
migray 0 20 июня, 2007 Опубликовано 20 июня, 2007 (изменено) · Жалоба При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. ;) Если между выводом опорного напряжения и выводами АЦП впихнули кварц, то как не ухищряйся, точности не получишь. http://focus.ti.com/lit/ds/symlink/msp430f149.pdf выводы 6-11. Да и питание с землями разведены не очень удобно. А математикой можно наворотить много чего, вот только будет-ли результат соответствовать измеряемой величине? Хотя я конечно делал 16 измерений и среднее из 16 значений выдавал в качестве результата :) Угу, угу. А имя у него конечно же AVR? :) Нет конечно, от Atmel я тоже ушел, и давно уже. Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание. Тоже вариант, и вполне неплохой. Только питание я обычно все-же веду отдельной парой. Вот только стоимость RS-485 трансивера превышает в разы стоимость МК :) Изменено 20 июня, 2007 пользователем migray Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dark_matter 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание. Дачики расположеныв объеме радиусом около 2-3 м. А в каком плане выгодней? От каждого датчика будет идти 2 провода (земля и сигнал). Зачем RS485? Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае? А почему необходимо вычитать 2-3 разряда? Что с этим АЦП не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
migray 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Дачики расположеныв объеме радиусом около 2-3 м. А в каком плане выгодней? От каждого датчика будет идти 2 провода (земля и сигнал). Зачем RS485? 2-3 метра может и не очень выгодно, смотреть надо по помехам. А так датчик-простейший МК-RS485 трансивер Таких устройств много, каждый со своим адресом, все на одной шине сидят, и по запросу от центральго проца выдают ему свое состояние. Информация шлется в цифровом виде, и помехи ей не страшны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dark_matter 0 20 июня, 2007 Опубликовано 20 июня, 2007 (изменено) · Жалоба 2-3 метра может и не очень выгодно, смотреть надо по помехам. А так датчик-простейший МК-RS485 трансивер Таких устройств много, каждый со своим адресом, все на одной шине сидят, и по запросу от центральго проца выдают ему свое состояние. Информация шлется в цифровом виде, и помехи ей не страшны. Ну так всегда бывает в самый последный момент появляется более рациональное решение. Это получается для каждого датчика свой одноканальный АЦП? У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться... Изменено 20 июня, 2007 пользователем Русланчик Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
migray 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Ну так всегда бывает в самый последный момент появляется более рациональное решение. Это получается для каждого датчика свой одноканальный АЦП? Если встроенного в МК АЦП хватает, то можно и без внешнего. Ориентироваться в таком случае надо на 10 бит, не важно это хороший 10-битный или плохой 12-битный. Есть и хорошие 12-битные, но это ADuC, а они очень дороги. МК с UART и 4-канальным 10-бит АЦП будет стоить в районе 1$, если АЦП внешний, можно найти МК без АЦП, он будет дешевле. Кстати при коротких линиях можно взять внешний АЦП с последовательным выходом, без контроллера, как вариант. А почему необходимо вычитать 2-3 разряда? Что с этим АЦП не так? По этому поводу я написал в 18 посте. Кварц расположенный в районе аналоговых входов в MSP430F149 сильно "пачкает" СИГНАЛ. Как вариант, не использовать этот кварц, работать вторым или от встроенного генератора, но в моем проекте этот кварц был необходим :( А когда оказалось, что вместо "грязных" 12 бит есть проц с нормальным 10-битным АЦП, но дешевле в 1,5 раза, от TI отказались совсем. У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться... У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dark_matter 0 20 июня, 2007 Опубликовано 20 июня, 2007 (изменено) · Жалоба У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется. Не хочу показаться назойливым. Я бы хотел узнать побольше про организацию линии на RS485. Не могли бы подсказать где про это написано? Идея очень хорошая: можно адресовать много устройств. Если я вас правильно понял то вся ситема будет выглядеть примерно так: к UART центрального микропроцессора подключен RS485-трансивер. На линии висит множество устройст, каждое устройство состоит из МК, АЦП(можно встроенного), датчика. Или МК не нужен, просто АЦП и датчик? Центральный МК посылает адрес и с адресата приходит значение АЦП ( в цифровом виде)? Изменено 20 июня, 2007 пользователем Русланчик Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
migray 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Если объединять по RS-485, то МК потребуется в каждом датчике. Кроме перечисленного тобой в простейшем случае потребуется еше несколько перемычек/переключателей, для задания номера устройства. Хост включается на передачу, дает команду на считывание инфы, это может быть просто номер, или лучше команду и номер. После этого переходит в режим приема. Адресуемое устройство переключается на передачу, выплевывает данные, и обратно на прием. Вообще протокол целиком на тебе, как захочешь, так и напишешь. Выдавать просто номер для инициализации передачи нехорошо потому, что какое ни будь устройство может воспринять данные от другого устройства за свой адрес, лучше придумать более сложный пакет. Можно обойтись без опроса, сначала первое устройство гонит свой номер, потом данные, возможно еще и контрольную сумму. Все остальные устройства в режиме приема. Приняв номер датчик прибавляет к нему 1, если получившийся номер совпадает с его собственным, то он дожидается конца пакета, выдерживает небольшую паузу и после нее гонит свой пакет. Потом третий и т.д. Недостаток этого метода, если один датчик загнулся, все номера после него останутся неопрошенными. Хотя и тут можно что ни будь придумать. Про интерфейс кратенько сдесь, http://www.ultronic.ru/rs485r2a.htm#Top33 это конечно не стандарт, просто одна из первых ссылок выплюнутая рамблером. Протяженность линии 4000 Футов, или по нашему 1200 м, если увидишь где 4000 м - это ошибка. Ограничение 32/32 сейчас обходится, современные трансиверы позволяют повесить 256 устройств на шину. Для передачи данных используют витую пару, если она экранирована, то оплетка является общим проводом, при небольших расстояниях, до 100 м, неплохо работает телефонный 4-жильный кабель, хоть и не по стандарту, но удобно. Черный - общий, красный - питание, желтый с зеленым - собственно 485. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Несколько переводных статей про RS-485 на gaw.ru Простенький протокол для связи WAKE. Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК. Если объединять по RS-485, то МК потребуется в каждом датчике. А ведь еще вчера бились за каждый цент устройства :) Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dark_matter 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК. А ведь еще вчера бились за каждый цент устройства :) Именно из-за, по моему мнению, избыточности от реализации такого устройства на RS485 придется отказаться. bullit преподнес идею реализовать на I2C. Но есть одно но. Длина линии около 10 м, поэтому протокол I2C может не подойти, могут повлиять помехи. Кстати кто знает максимальную длину линии у I2C? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 20 июня, 2007 Опубликовано 20 июня, 2007 · Жалоба Кстати кто знает максимальную длину линии у I2C? В спецификации I2C нет ограничения на длину шины, т.к. она полностью статическая, т.е. от 0Гц может работать. Основные ограничения там на максимальную емкость шины (до 400пФ для Standart/Fast и до 100пФ для HighSpeed) и скорость нарастания фронта (см. спецификацию). Но и помехозащищенность у I2C bus довольно низкая. Она изначально в общем-то как внутриприборная шина разрабатывалась. А не для внешних подключений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 21 июня, 2007 Опубликовано 21 июня, 2007 · Жалоба Если рассматривать аналоговые датчики, удаленные на 30 м и многоканальный АЦП, то придётся решать вопрос защиты входов - это раз, а кроме того нужно не забывать, что у MSP430 большинство встроенных АЦП SAR, т.е. нужны емкости по входам, соответственно нужны последовательно включенные перед емкостями резисторы. По хорошему - если на каждый канал это вешать, да ещё и решать вопрос с недостатком входов у встроенного мультиплексора, то, ИМХО, прямая дорога к внешнему мультиплексору. Я бы предложил поставить пару MC14067 и по повторителю после - тогда конденсаторов нужно будет немного - аж после мультиплексора и после операционника (через резистор), входные резисторы не очень большие (встроенные защитные диоды у мультиплесоров по-мощнее будут, чем у MSP), но на каждый канал, ну и стабилитрон мультиплекору на питание, дабы не убило сразу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 21 июня, 2007 Опубликовано 21 июня, 2007 · Жалоба Недостаток в "интеллектуальных" датчиках - это их адресация. Нужно ставить перемычки, которыми этот адрес задавать, потом судорожно искать, почему ни один отвечает, или отвечают несколько. Еще реализация протокола. Более того, MSP430 не самый лучший вариант для этого. Корпус неудобный, питание ему давай хорошее. Тогда уж на простом дешевом АВРе (rezident - :) ) проще сделать slope ADC на встроенном компараторе. Обсуждение точности смысла не имеет, т.к. требования не озвучены. 2 метра до датчиков - вполне нормально, чтобы сделать на аналоговых мультиплексорах. Но я бы делал так, как предлагал - три MSP430 :) Просто у меня есть готовые платки, на которых он установлен с JTAG, стабилизатором, WDT, и разъемом для подключения к основной плате. Три платки воткнул бы в одну материнскую - и все. Интерфейс можно оставить RS232, монтажное ИЛИ на диодах для Tx от контроллеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 21 июня, 2007 Опубликовано 21 июня, 2007 · Жалоба Нужно ставить перемычки, которыми этот адрес задавать, потом судорожно искать, почему ни один отвечает, или отвечают несколько. Простите, но адрес может храниться в EEPROM, например;). Выпускаем HART-датчики с 1997 года и ни разу до перемычек не додумались;))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться