Перейти к содержанию
    

Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае?

При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. ;)

Наиболее логичным будет применение внешнего АЦП с мультиплексором.

Нахрена козе баян? Если

Мне достаточна скорость и разрядность встроенного АЦП. Сигнал с датчиков изменяется очень медленно.

Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле?

Угу, угу. А имя у него конечно же AVR? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. ;)

Если между выводом опорного напряжения и выводами АЦП впихнули кварц, то как не ухищряйся, точности не получишь.

http://focus.ti.com/lit/ds/symlink/msp430f149.pdf

выводы 6-11. Да и питание с землями разведены не очень удобно.

 

А математикой можно наворотить много чего, вот только будет-ли результат соответствовать измеряемой величине? Хотя я конечно делал 16 измерений и среднее из 16 значений выдавал в качестве результата :)

 

Угу, угу. А имя у него конечно же AVR? :)

Нет конечно, от Atmel я тоже ушел, и давно уже.

 

 

Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.

Тоже вариант, и вполне неплохой. Только питание я обычно все-же веду отдельной парой.

Вот только стоимость RS-485 трансивера превышает в разы стоимость МК :)

Изменено пользователем migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.

Дачики расположеныв объеме радиусом около 2-3 м.

А в каком плане выгодней? От каждого датчика будет идти 2 провода (земля и сигнал). Зачем RS485?

 

Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае?

А почему необходимо вычитать 2-3 разряда? Что с этим АЦП не так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дачики расположеныв объеме радиусом около 2-3 м.

А в каком плане выгодней? От каждого датчика будет идти 2 провода (земля и сигнал). Зачем RS485?

2-3 метра может и не очень выгодно, смотреть надо по помехам.

 

А так датчик-простейший МК-RS485 трансивер

 

Таких устройств много, каждый со своим адресом, все на одной шине сидят, и по запросу от центральго проца выдают ему свое состояние. Информация шлется в цифровом виде, и помехи ей не страшны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2-3 метра может и не очень выгодно, смотреть надо по помехам.

 

А так датчик-простейший МК-RS485 трансивер

 

Таких устройств много, каждый со своим адресом, все на одной шине сидят, и по запросу от центральго проца выдают ему свое состояние. Информация шлется в цифровом виде, и помехи ей не страшны.

Ну так всегда бывает в самый последный момент появляется более рациональное решение.

Это получается для каждого датчика свой одноканальный АЦП?

У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться...

Изменено пользователем Русланчик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так всегда бывает в самый последный момент появляется более рациональное решение.

Это получается для каждого датчика свой одноканальный АЦП?

Если встроенного в МК АЦП хватает, то можно и без внешнего. Ориентироваться в таком случае надо на 10 бит, не важно это хороший 10-битный или плохой 12-битный. Есть и хорошие 12-битные, но это ADuC, а они очень дороги.

 

МК с UART и 4-канальным 10-бит АЦП будет стоить в районе 1$, если АЦП внешний, можно найти МК без АЦП, он будет дешевле.

 

Кстати при коротких линиях можно взять внешний АЦП с последовательным выходом, без контроллера, как вариант.

 

 

А почему необходимо вычитать 2-3 разряда? Что с этим АЦП не так?

По этому поводу я написал в 18 посте. Кварц расположенный в районе аналоговых входов в MSP430F149 сильно "пачкает" СИГНАЛ. Как вариант, не использовать этот кварц, работать вторым или от встроенного генератора, но в моем проекте этот кварц был необходим :(

 

А когда оказалось, что вместо "грязных" 12 бит есть проц с нормальным 10-битным АЦП, но дешевле в 1,5 раза, от TI отказались совсем.

 

У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться...

У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется.

Не хочу показаться назойливым. Я бы хотел узнать побольше про организацию линии на RS485. Не могли бы подсказать где про это написано?

Идея очень хорошая: можно адресовать много устройств.

Если я вас правильно понял то вся ситема будет выглядеть примерно так:

к UART центрального микропроцессора подключен RS485-трансивер. На линии висит множество устройст, каждое устройство состоит из МК, АЦП(можно встроенного), датчика.

Или МК не нужен, просто АЦП и датчик?

Центральный МК посылает адрес и с адресата приходит значение АЦП ( в цифровом виде)?

Изменено пользователем Русланчик

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если объединять по RS-485, то МК потребуется в каждом датчике.

 

Кроме перечисленного тобой в простейшем случае потребуется еше несколько перемычек/переключателей, для задания номера устройства.

 

Хост включается на передачу, дает команду на считывание инфы, это может быть просто номер, или лучше команду и номер. После этого переходит в режим приема.

Адресуемое устройство переключается на передачу, выплевывает данные, и обратно на прием.

 

Вообще протокол целиком на тебе, как захочешь, так и напишешь.

 

Выдавать просто номер для инициализации передачи нехорошо потому, что какое ни будь устройство может воспринять данные от другого устройства за свой адрес, лучше придумать более сложный пакет.

 

Можно обойтись без опроса, сначала первое устройство гонит свой номер, потом данные, возможно еще и контрольную сумму. Все остальные устройства в режиме приема. Приняв номер датчик прибавляет к нему 1, если получившийся номер совпадает с его собственным, то он дожидается конца пакета, выдерживает небольшую паузу и после нее гонит свой пакет. Потом третий и т.д.

Недостаток этого метода, если один датчик загнулся, все номера после него останутся неопрошенными. Хотя и тут можно что ни будь придумать.

 

Про интерфейс кратенько сдесь, http://www.ultronic.ru/rs485r2a.htm#Top33 это конечно не стандарт, просто одна из первых ссылок выплюнутая рамблером.

 

Протяженность линии 4000 Футов, или по нашему 1200 м, если увидишь где 4000 м - это ошибка.

Ограничение 32/32 сейчас обходится, современные трансиверы позволяют повесить 256 устройств на шину. Для передачи данных используют витую пару, если она экранирована, то оплетка является общим проводом, при небольших расстояниях, до 100 м, неплохо работает телефонный 4-жильный кабель, хоть и не по стандарту, но удобно. Черный - общий, красный - питание, желтый с зеленым - собственно 485.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Несколько переводных статей про RS-485 на gaw.ru

Простенький протокол для связи WAKE.

 

Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК.

Если объединять по RS-485, то МК потребуется в каждом датчике.

А ведь еще вчера бились за каждый цент устройства :)

Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле?
:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК.

А ведь еще вчера бились за каждый цент устройства :)

:biggrin:

Именно из-за, по моему мнению, избыточности от реализации такого устройства на RS485 придется отказаться.

bullit преподнес идею реализовать на I2C. Но есть одно но.

Длина линии около 10 м, поэтому протокол I2C может не подойти, могут повлиять помехи.

Кстати кто знает максимальную длину линии у I2C?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати кто знает максимальную длину линии у I2C?

В спецификации I2C нет ограничения на длину шины, т.к. она полностью статическая, т.е. от 0Гц может работать. Основные ограничения там на максимальную емкость шины (до 400пФ для Standart/Fast и до 100пФ для HighSpeed) и скорость нарастания фронта (см. спецификацию). Но и помехозащищенность у I2C bus довольно низкая. Она изначально в общем-то как внутриприборная шина разрабатывалась. А не для внешних подключений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если рассматривать аналоговые датчики, удаленные на 30 м и многоканальный АЦП, то придётся решать вопрос защиты входов - это раз, а кроме того нужно не забывать, что у MSP430 большинство встроенных АЦП SAR, т.е. нужны емкости по входам, соответственно нужны последовательно включенные перед емкостями резисторы. По хорошему - если на каждый канал это вешать, да ещё и решать вопрос с недостатком входов у встроенного мультиплексора, то, ИМХО, прямая дорога к внешнему мультиплексору. Я бы предложил поставить пару MC14067 и по повторителю после - тогда конденсаторов нужно будет немного - аж после мультиплексора и после операционника (через резистор), входные резисторы не очень большие (встроенные защитные диоды у мультиплесоров по-мощнее будут, чем у MSP), но на каждый канал, ну и стабилитрон мультиплекору на питание, дабы не убило сразу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недостаток в "интеллектуальных" датчиках - это их адресация. Нужно ставить перемычки, которыми этот адрес задавать, потом судорожно искать, почему ни один отвечает, или отвечают несколько. Еще реализация протокола. Более того, MSP430 не самый лучший вариант для этого. Корпус неудобный, питание ему давай хорошее. Тогда уж на простом дешевом АВРе (rezident - :) ) проще сделать slope ADC на встроенном компараторе.

Обсуждение точности смысла не имеет, т.к. требования не озвучены.

2 метра до датчиков - вполне нормально, чтобы сделать на аналоговых мультиплексорах.

Но я бы делал так, как предлагал - три MSP430 :)

Просто у меня есть готовые платки, на которых он установлен с JTAG, стабилизатором, WDT, и разъемом для подключения к основной плате. Три платки воткнул бы в одну материнскую - и все. Интерфейс можно оставить RS232, монтажное ИЛИ на диодах для Tx от контроллеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно ставить перемычки, которыми этот адрес задавать, потом судорожно искать, почему ни один отвечает, или отвечают несколько.

Простите, но адрес может храниться в EEPROM, например;).

Выпускаем HART-датчики с 1997 года и ни разу до перемычек не додумались;)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...