реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> 30 датчиков
Русланчик
сообщение Jun 18 2007, 15:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Здраствуйте,
Не могли бы вы посоветовать по такому вопросу:
Мне нужно снять показания тридцати датчиков (сигнал аналоговый) с использованием микроконтроллеров MSP430 для последующей передачи этих данных по UART. Как лучше организовать такую систему?
Есть варианты:
1) использовать два 16-ти канальных АЦП
2) использовать один одноканальный АЦП и мультиплексоры
Какой из вариантов предпочтительней?
Возможно есть более рациональный вариант? Спасибо за любой совет.


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 18 2007, 16:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Опишите задачу подробнее. Что за сигнал, в каком диапазоне изменяется, с какой точностью и с какой скоростью требуется его измерять?
Кстати, 12-ти разрядный АЦП типа SAR в MSP430F1xx уже имеет встроенный мультиплексор на 10 входных сигналов (это включая входы внешней опоры).
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 18 2007, 16:17
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Русланчик @ Jun 18 2007, 18:26) *
Здраствуйте,
Не могли бы вы посоветовать по такому вопросу:
Мне нужно снять показания тридцати датчиков (сигнал аналоговый) с использованием микроконтроллеров MSP430 для последующей передачи этих данных по UART. Как лучше организовать такую систему?
Есть варианты:
1) использовать два 16-ти канальных АЦП
2) использовать один одноканальный АЦП и мультиплексоры
Какой из вариантов предпочтительней?
Возможно есть более рациональный вариант? Спасибо за любой совет.

Если встроенный АЦП MSP430 по точности устраивает, то я бы использовал вариант трех одинаковых контроллеров MSP430 без дополнительных АЦП и мультиплексоров.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 18 2007, 16:36
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rezident @ Jun 18 2007, 22:16) *
Опишите задачу подробнее. Что за сигнал, в каком диапазоне изменяется, с какой точностью и с какой скоростью требуется его измерять?
Кстати, 12-ти разрядный АЦП типа SAR в MSP430F1xx уже имеет встроенный мультиплексор на 10 входных сигналов (это включая входы внешней опоры).

Аналоговые сигналы от 30-ти датчиков, диапазон от 0 до 5 В. А на счет точности и скорости я сам еще не решил.

Цитата(Dog Pawlowa @ Jun 18 2007, 22:17) *
Если встроенный АЦП MSP430 по точности устраивает, то я бы использовал вариант трех одинаковых контроллеров MSP430 без дополнительных АЦП и мультиплексоров.

Вы думаете что стоит использовать еще два микроконтроллера только из-за того что у них есть АЦП? А как потом передавать данные по UART? Для этого наверно необходимо собрать все данные в одном контроллере, а потом пеердавать?


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 18 2007, 19:27
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Русланчик @ Jun 18 2007, 19:36) *
Вы думаете что стоит использовать еще два микроконтроллера только из-за того что у них есть АЦП? А как потом передавать данные по UART? Для этого наверно необходимо собрать все данные в одном контроллере, а потом пеердавать?

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
rumit2000
сообщение Jun 19 2007, 07:05
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 16-03-07
Из: Москва
Пользователь №: 26 228



Стояла задача на MSP430 опрашивать 16 датчиков - использовал 74HC4052 и встроенные АЦП (скорость и точность были особо не важны - датчики имели несколько дискретных положений (пожарка - охранка))


--------------------
Быстро, Дёшево, Качественно-выбери любые 2 пункта
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Jun 19 2007, 07:15
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Цитата
1) использовать два 16-ти канальных АЦП
2) использовать один одноканальный АЦП и мультиплексоры

Мультиплексоры обычно более надежны/устойчивы к перенапрягам и их дешевле менять.
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 19 2007, 08:00
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rumit2000 @ Jun 19 2007, 13:05) *
Стояла задача на MSP430 опрашивать 16 датчиков - использовал 74HC4052 и встроенные АЦП (скорость и точность были особо не важны - датчики имели несколько дискретных положений (пожарка - охранка))

Наверно две миросхемы 74HC4052 потому что в даташите сказано "Dual 4-channel analog multiplexer"? а в моем случае понадобиться четыре...

Цитата(Andreas1 @ Jun 19 2007, 13:15) *
Мультиплексоры обычно более надежны/устойчивы к перенапрягам и их дешевле менять.

А как лучше сделать: использовать два 16-канальных мультиплексора или четыре 8-канальных?


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 19 2007, 09:06
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Русланчик @ Jun 19 2007, 14:00) *
А как лучше сделать: использовать два 16-канальных мультиплексора или четыре 8-канальных?

ИМХО это зависит от количества используемых в МК входов АЦП.
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 19 2007, 09:38
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rezident @ Jun 19 2007, 15:06) *
ИМХО это зависит от количества используемых в МК входов АЦП.

В том то и вопрос, как лучше: использовать как можно больше входов встроенного АЦП или достаточно только один-два? Да еще регистров АЦП всего 16. Куда записывать остальные данные?


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
rumit2000
сообщение Jun 19 2007, 09:45
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 16-03-07
Из: Москва
Пользователь №: 26 228



Цитата(Русланчик @ Jun 19 2007, 13:38) *
Да еще регистров АЦП всего 16. Куда записывать остальные данные?


ну дык а вчём же задача? можно и вообще 1 канал АЦП использовать типо померял - передал, переключил мультиплексор - померял - передал....

А как лучще - никто не скажет пока не понятно что же надо... Если не важна скорость и точность - значит надо делать дешевле... тут уж 2 МК точно ставить не надо, как и внешние АЦП... Хотя можно прикинуть, может простенький МК + внешний АЦП будет и дешевле... Всё зависит от конкретной ситуаци...


--------------------
Быстро, Дёшево, Качественно-выбери любые 2 пункта
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 19 2007, 10:30
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rumit2000 @ Jun 19 2007, 15:45) *
ну дык а вчём же задача? можно и вообще 1 канал АЦП использовать типо померял - передал, переключил мультиплексор - померял - передал....

А как лучще - никто не скажет пока не понятно что же надо... Если не важна скорость и точность - значит надо делать дешевле... тут уж 2 МК точно ставить не надо, как и внешние АЦП... Хотя можно прикинуть, может простенький МК + внешний АЦП будет и дешевле... Всё зависит от конкретной ситуаци...

Задача: померить значения с 30 датчиков, сформировать последовательность данных и поредать по UART. Мне достаточна скорость и разрядность встроенного АЦП. Сигнал с датчиков изменяется очень медленно.
Приму к сведению все ващи замечания. Спасибо за вашу помощь.


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 19 2007, 10:39
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Русланчик @ Jun 19 2007, 15:38) *
В том то и вопрос, как лучше: использовать как можно больше входов встроенного АЦП или достаточно только один-два?

Это дело ваше. Как захотите. Но учитывая возможности MSP430 по автоматизации измерений, я бы использовал максимальное количество входов встроенного в него мультиплексора.
Цитата(Русланчик @ Jun 19 2007, 15:38) *
Да еще регистров АЦП всего 16. Куда записывать остальные данные?

Ну дык у MSP430 еще как минимум 256 байт ОЗУ имеется smile.gif И возможность вызова прерывания после каждого любого из преобразований или после преобразования всей группы входов. См. User's Guide (slau049). Или вот по-русски. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/17.htm
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 19 2007, 11:25
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rezident @ Jun 19 2007, 16:39) *
Это дело ваше. Как захотите. Но учитывая возможности MSP430 по автоматизации измерений, я бы использовал максимальное количество входов встроенного в него мультиплексора.

Ну дык у MSP430 еще как минимум 256 байт ОЗУ имеется smile.gif И возможность вызова прерывания после каждого преобразования или после преобразования всей группы входов. См. User's Guide (slau049). Или вот по-русски. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/17.htm

Спасибо за помощь, буду разбираться.


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 20 2007, 08:55
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Цитата(Русланчик @ Jun 19 2007, 14:30) *
Задача: померить значения с 30 датчиков, сформировать последовательность данных и поредать по UART. Мне достаточна скорость и разрядность встроенного АЦП. Сигнал с датчиков изменяется очень медленно.
Приму к сведению все ващи замечания. Спасибо за вашу помощь.

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

Наиболее логичным будет применение внешнего АЦП с мультиплексором.
Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 20 2007, 09:12
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(migray @ Jun 20 2007, 14:55) *
Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае?

При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. wink.gif
Цитата(migray @ Jun 20 2007, 14:55) *
Наиболее логичным будет применение внешнего АЦП с мультиплексором.

Нахрена козе баян? Если
Цитата(Русланчик)
Мне достаточна скорость и разрядность встроенного АЦП. Сигнал с датчиков изменяется очень медленно.

Цитата(migray @ Jun 20 2007, 14:55) *
Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле?

Угу, угу. А имя у него конечно же AVR? smile.gif
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Jun 20 2007, 09:24
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 20 2007, 09:43
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Цитата(rezident @ Jun 20 2007, 13:12) *
При некоторых условиях и нехитрых математических манипуляциях на встроенном ADC12 нам удавалось получить точность измерения эквавалентную 13,5-разрядному АЦП. wink.gif

Если между выводом опорного напряжения и выводами АЦП впихнули кварц, то как не ухищряйся, точности не получишь.
http://focus.ti.com/lit/ds/symlink/msp430f149.pdf
выводы 6-11. Да и питание с землями разведены не очень удобно.

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

Цитата(rezident @ Jun 20 2007, 13:12) *
Угу, угу. А имя у него конечно же AVR? smile.gif

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


Цитата(MaslovVG @ Jun 20 2007, 13:24) *
Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.

Тоже вариант, и вполне неплохой. Только питание я обычно все-же веду отдельной парой.
Вот только стоимость RS-485 трансивера превышает в разы стоимость МК smile.gif

Сообщение отредактировал migray - Jun 20 2007, 10:24
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 20 2007, 13:22
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(MaslovVG @ Jun 20 2007, 15:24) *
Я бы посмотрел сначала что за датчики и какое их взаимное расположение. А то при длине связей в несколько метров может оказатся выгодней сделать выносные одноканальные преобразователи и передавать данные по RS485 Заодно организовав по этой же паре и питание.

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

Цитата(migray @ Jun 20 2007, 14:55) *
Из разрядности встроенного в MSP430 АЦП смело выкидывай минимум 2 разряда, а то и 3. Устроит тебя точность в этом случае?

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


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 20 2007, 13:29
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Цитата(Русланчик @ Jun 20 2007, 17:11) *
Дачики расположеныв объеме радиусом около 2-3 м.
А в каком плане выгодней? От каждого датчика будет идти 2 провода (земля и сигнал). Зачем RS485?

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

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

Таких устройств много, каждый со своим адресом, все на одной шине сидят, и по запросу от центральго проца выдают ему свое состояние. Информация шлется в цифровом виде, и помехи ей не страшны.
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 20 2007, 13:37
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(migray @ Jun 20 2007, 19:29) *
2-3 метра может и не очень выгодно, смотреть надо по помехам.

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

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

Ну так всегда бывает в самый последный момент появляется более рациональное решение.
Это получается для каждого датчика свой одноканальный АЦП?
У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться...

Сообщение отредактировал Русланчик - Jun 20 2007, 13:50


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 20 2007, 14:14
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Цитата(Русланчик @ Jun 20 2007, 17:37) *
Ну так всегда бывает в самый последный момент появляется более рациональное решение.
Это получается для каждого датчика свой одноканальный АЦП?

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

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

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


Цитата(Русланчик @ Jun 20 2007, 17:22) *
А почему необходимо вычитать 2-3 разряда? Что с этим АЦП не так?

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

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

Цитата(Русланчик @ Jun 20 2007, 17:37) *
У меня тут мысль появилась: если на лини будет 30 датчиков, то одну и ту же линию надо будет проводить через все датчики: длинная линия получиться...

У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется.
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 20 2007, 14:32
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(migray @ Jun 20 2007, 20:14) *
У меня сейчас куча устройств на линии в 1км висит. RS485 с этим справляется.

Не хочу показаться назойливым. Я бы хотел узнать побольше про организацию линии на RS485. Не могли бы подсказать где про это написано?
Идея очень хорошая: можно адресовать много устройств.
Если я вас правильно понял то вся ситема будет выглядеть примерно так:
к UART центрального микропроцессора подключен RS485-трансивер. На линии висит множество устройст, каждое устройство состоит из МК, АЦП(можно встроенного), датчика.
Или МК не нужен, просто АЦП и датчик?
Центральный МК посылает адрес и с адресата приходит значение АЦП ( в цифровом виде)?

Сообщение отредактировал Русланчик - Jun 20 2007, 14:59


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 20 2007, 17:39
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



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

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

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

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

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

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

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

Протяженность линии 4000 Футов, или по нашему 1200 м, если увидишь где 4000 м - это ошибка.
Ограничение 32/32 сейчас обходится, современные трансиверы позволяют повесить 256 устройств на шину. Для передачи данных используют витую пару, если она экранирована, то оплетка является общим проводом, при небольших расстояниях, до 100 м, неплохо работает телефонный 4-жильный кабель, хоть и не по стандарту, но удобно. Черный - общий, красный - питание, желтый с зеленым - собственно 485.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 20 2007, 19:51
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



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

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

А ведь еще вчера бились за каждый цент устройства smile.gif
Цитата(migray)
Хотя после этого возникнет вопрос, а нужен-ли MSP430, или взять что подешевле?
biggrin.gif
Go to the top of the page
 
+Quote Post
Русланчик
сообщение Jun 20 2007, 20:24
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(rezident @ Jun 21 2007, 01:51) *
Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК.
А ведь еще вчера бились за каждый цент устройства smile.gif
biggrin.gif

Именно из-за, по моему мнению, избыточности от реализации такого устройства на RS485 придется отказаться.
bullit преподнес идею реализовать на I2C. Но есть одно но.
Длина линии около 10 м, поэтому протокол I2C может не подойти, могут повлиять помехи.
Кстати кто знает максимальную длину линии у I2C?


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 20 2007, 21:06
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Русланчик @ Jun 21 2007, 02:24) *
Кстати кто знает максимальную длину линии у I2C?

В спецификации I2C нет ограничения на длину шины, т.к. она полностью статическая, т.е. от 0Гц может работать. Основные ограничения там на максимальную емкость шины (до 400пФ для Standart/Fast и до 100пФ для HighSpeed) и скорость нарастания фронта (см. спецификацию). Но и помехозащищенность у I2C bus довольно низкая. Она изначально в общем-то как внутриприборная шина разрабатывалась. А не для внешних подключений.
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jun 21 2007, 03:16
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



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


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 21 2007, 05:43
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Недостаток в "интеллектуальных" датчиках - это их адресация. Нужно ставить перемычки, которыми этот адрес задавать, потом судорожно искать, почему ни один отвечает, или отвечают несколько. Еще реализация протокола. Более того, MSP430 не самый лучший вариант для этого. Корпус неудобный, питание ему давай хорошее. Тогда уж на простом дешевом АВРе (rezident - smile.gif ) проще сделать slope ADC на встроенном компараторе.
Обсуждение точности смысла не имеет, т.к. требования не озвучены.
2 метра до датчиков - вполне нормально, чтобы сделать на аналоговых мультиплексорах.
Но я бы делал так, как предлагал - три MSP430 smile.gif
Просто у меня есть готовые платки, на которых он установлен с JTAG, стабилизатором, WDT, и разъемом для подключения к основной плате. Три платки воткнул бы в одну материнскую - и все. Интерфейс можно оставить RS232, монтажное ИЛИ на диодах для Tx от контроллеров.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Jun 21 2007, 06:07
Сообщение #30


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



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

Простите, но адрес может храниться в EEPROM, напримерwink.gif.
Выпускаем HART-датчики с 1997 года и ни разу до перемычек не додумалисьwink.gif))


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
muravei
сообщение Jun 21 2007, 06:08
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(rezident @ Jun 20 2007, 23:51) *
Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК.
А ведь еще вчера бились за каждый цент устройства smile.gif
biggrin.gif

Рискну напомнить один дешевый вариант "АЦП ": к цифровому выводу МК подключается через ограничительный резистор конденсатор, к нему датчик. МК заряжает конденсатор- "1", а потом , периодически проверяет ее наличие, измеряя временной интервал.Датчик, соответственно, должен менять сопротивление. Думаю, одного многоногого МК будет достаточно, без мультиплексоров и АЦП
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 21 2007, 06:37
Сообщение #32


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



Цитата(rezident @ Jun 20 2007, 23:51) *

Протокол неплохой, простенько и со вкусом.

Цитата(rezident @ Jun 20 2007, 23:51) *
Кстати, очень плавно от 30 датчиков и одного МК перешли к 30 датчикам и 30 МК.
А ведь еще вчера бились за каждый цент устройства smile.gif
biggrin.gif

Бороться за центы всеравно будем всегда, начальство заставит.

Сначала ес-но ставим 1 МК с внешним мультиплексором/АЦП. В лаборатории все работает smile.gif

Потом тащим этот макет на реальное устройство. И вот тут часто начинаются пляски с бубном.

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

Если линии длинные, согласен, что речь не об этом проекте, то "интелектуальные датчики" являются по моему оптимальными. Там борьба с помехами дороже МК будет. Вот только МК дороже доллара туда ставить всеравно не надо, то что я закладываю в подобные устройства, стоит 0,5 Евро.

I2C я подразумевал, когда говорил об АЦП с цифровым выходом, но не надо забывать о назначении этой шины. На каждый чип в шкафу термотренировки такой термометр навесить можно, а вот двигатель на стенде такими датчиками обвешивать я не рискну.

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

Цитата(sensor_ua @ Jun 21 2007, 10:07) *
Простите, но адрес может храниться в EEPROM, напримерwink.gif.
Выпускаем HART-датчики с 1997 года и ни разу до перемычек не додумалисьwink.gif))

EEPROM/Flash тоже можно, иногда даже нужно, особенно если в устройстве зашивается его серийник.
Но в отдельных вариантах можно и с перемычками поставить, если например куча устройств, на каждом объекте их число различно, а монтировать будет электрик, которому программатор не дашь, а вот переключатель перещелкнуть он сможет.

Сообщение отредактировал migray - Jun 21 2007, 07:25
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 21 2007, 06:54
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(sensor_ua @ Jun 21 2007, 09:07) *
Простите, но адрес может храниться в EEPROM, напримерwink.gif.
Выпускаем HART-датчики с 1997 года и ни разу до перемычек не додумалисьwink.gif))

Тормоза! smile.gif
1. В MSP430 нет встроеннной EEPROM.
2. Добавляется спецоперация конфигурации датчика.
3. Визуально не видно.
Про электрика уже сказано. Из всех инструментов у него вооот такая отвертка smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
migray
сообщение Jun 21 2007, 07:18
Сообщение #34


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 17-01-07
Из: Санкт-Петербург, Россия
Пользователь №: 24 501



1. В MSP430 нет встроеннной EEPROM.
Что мешает сделать эмуляцию? Flash большая, ее хватит.
Правда на TI я этого не делал, тогда не надо было, но для других процов библиотеки есть.
В крайнем случае можно поставить внешнюю.

2. Добавляется спецоперация конфигурации датчика.
Да, это не очень приятно, но решаемо. Дрова в комп запихиваешь? smile.gif
Тут при выскакивании сообщения "Установлен новый датчик" технолог может позвонить монтажнику и спросить "куда ты его впихнул, ..."

3. Визуально не видно.
Можно сделать индикатор.

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

Сообщение отредактировал migray - Jun 21 2007, 07:24
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 21 2007, 08:27
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



1. Для хранения конфигурационных параметров используем INFO область Flash MSP430.
2, 3. Если устройство нужно конфигурировать непосредственно на объекте, то у него д.б. встроенные средства визуализации и ввода информации (клава с индикатором или хотя бы одна кнопка и светодиод(ы)). Если их нет, то используется конфигурация, задаваемая перемычками. Либо конфигурирование происходит уже непосредственно в сети с использованием уникального (серийного) номера датчика. Конфигурирование устройства не имеющего средств визуализации и ввода прямо на объекте это крайний случай и моветон. Я бы даже сказал, что это неудачная разработка.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 02:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01738 секунд с 7
ELECTRONIX ©2004-2016