LINUX.ORG.RU
ФорумTalks

Разработка мелких железок


0

2

Здрасьте. Стоит задача сделать железку, которая должна логгировать на какой-либо носитель (распаянный или же что-то типа CF-карты, смотря что надёжнее) значения сопротивления по 20 каналам каждый день в течение года (полностью автономно!). Чтобы она работала в диапазоне температур от -60 до +40 и не боялась осадков (дождей).

Что для этого надо освоить (литературу), какой брать микроконтроллер, периферию и т.п.?

Я опыта с подобным не имел. Но всегда открыт для нового и интересного.

★★★★★

Последнее исправление: Obey-Kun (всего исправлений: 2)

Давай рассказывай, что за процесс ты хочешь контролировать, а то «значения сопротивления по 20 каналам» очень расплывчато звучит.

>>от -60 до +40

Ну обычная рассыпуха от -40 я знаю работает.

>>не боялась осадков (дождей).

man IP Code, например IP60 пофиг на всё.

Советы по книжкам зависят от элементной базы.

Вопрос: вещь работает автономно, или будет боле-менее постоянный источник питания?

adriano32 ★★★
()

STM32F* микрухи, смотри что тебе подойдет по количеству каналов АЦП. Корпус продумай, компаундом залей на крайний случай. Логгировать, наверное, нужно на SD.

Fellrond
()

Да хоть PIC, из серии с поддержкой SPI. Но если хочется меньше возни с пайкой, то лучше начать с чего-нибудь готового, хоть с Arduino.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Fellrond

Освоить достаточно Си и базовые знания по архитектуре ARM. STM32F* достаточно неплохо документированы и поставляются с готовой библиотекой для работы с периферией.

Fellrond
()
Ответ на: комментарий от Fellrond

У них у всех -40 нижний рабочий предел. Если ТС не хочет получить бредятину в результатах, либо нужно термостатировать, а это значит необходимо иметь перманентное внешнее питание, либо искать что-то посерьёзней.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> Давай рассказывай, что за процесс ты хочешь контролировать, а то «значения сопротивления по 20 каналам» очень расплывчато звучит.

Есть такая штука — термометрическая коса (термокоса). Это длинны (20 и более метров) кабель, на котором через некоторые расстояния (через 50 см, 100 см и тп) расположены железяки, сопротивление которых зависит от их температуры.

Бурят скажину, кидают туда эту термокосу и (после некоторого времени) можно снимать значения температур по глубине. Если записывать эти значения в течения года, то можно снимать динамику.

Нужно автоматизировать это записывание. Есть спец логгеры, но они стоят огромных бабок.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от adriano32

> а это значит необходимо иметь перманентное внешнее питание

Да, она должна быть полностью автономной весь этот год.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Неужели на глубине 20м такие низкие температуры, прям -60? Мне казалось, что ниже полутора-двух метров температура относительно постоянна, нет?

>>расположены железяки, сопротивление которых зависит от их температуры.

Почему не обычные термодатчики? Их можно на 1Wire посадить на одном кабеле и опрашивать с поверхности.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Температуры грунта более-менее постоянны после 10 метров.

Вот тебе поведение температурной кривой, полученное в результате моделирования: http://rghost.ru/10582351

Температуры и характеристики поверхности (снег) взяты с Ямальского п-ова (заполярье).

Как видно, температуры на глубине не сильно низкие. Но ведь логгер будет лежать на поверхности, а там температура может опускаться до -50 и ниже.

Почему не обычные термодатчики? Их можно на 1Wire посадить на одном кабеле и опрашивать с поверхности.

Как они среагируют на затопление и последующее промерзание воды?

Obey-Kun ★★★★★
() автор топика

>Что для этого надо освоить

Закон Ома, даташиты, рандомные примеры по работе с ацп, часами реального времени и sd-картой.

какой брать микроконтроллер


ATmega с нужной периферией (ацп, асинхронный таймер, spi). Поищи в интернете примеры работы с sd-картой (это будет самая хитрая часть, начать выбор стоит с неё), возьми МК, который там предлагают. Потом проверь, есть ли у него асинхронный таймер (с его помощью ты будешь делать часы реального времени), а ацп есть везде. Потом гугл.

периферию


Та, что есть в микроконтроллере

Чтобы измерять сопротивление двадцати (термо?)резисторов, понадобится ещё аналоговый мультиплексор.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от Obey-Kun

Как они среагируют на затопление и последующее промерзание воды?

Пластиковому корпусу наплевать на влагу. Места пайки заизолируешь и компаундом зальёшь и добро.

MAXIM DS18S20 Measures Temperatures from -55°C to +125°C. Each DS18S20 has a unique 64-bit serial code, which allows multiple DS18S20s to function on the same 1-Wire bus.

Не знаю насколько он подойдёт для твоей задачи. У вас там обычные термопары зарываются? Какой материал спая?

adriano32 ★★★
()
Ответ на: комментарий от Obey-Kun

> Температуры и характеристики поверхности (снег) взяты с Ямальского п-ова (заполярье).

А свойства грунта — приблизительные засолённых песков для низкой лайды Байдары.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от adriano32

Нет, там всё глобально и надёжно, нитка из какого-то полупроводника (или из чего там не помню), заделанная в пластиковую штуковину.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от adriano32

> MAXIM DS18S20

Погуглил...

Точность измерения ±0,5°C при диапазоне температур -10°C~85°C

А надо чтобы получалось с точностью до 0.05 градуса.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

нитка из какого-то полупроводника

... и что дальше? Экспериментальная кривая зависимости сопротивления от температуры, прецизионно вымеренная в диапазоне температур почвы? Или банальное R=R0(1+a(t-t0))?

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

adriano32 ★★★
()
Ответ на: комментарий от Obey-Kun

DS18S20
>>надо чтобы получалось с точностью до 0.05 градуса.

Об этом сразу надо предупреждать, а не когда тебе уже начали варианты предлагать. Это самый простой термометр, я его для примера привёл.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Блин, поэтому я изначально и сказал абстрактное «замер сопротивлений».

Термокосы эти применяются полвека и никого не подводили, там всё точно.

R=R0(1+a(t-t0))

Именно так. Плюс погрешность на провод, который идёт к узлу термокосы.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от adriano32

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

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от prischeyadro

завтра-послезавтра скажу, какая точность нужна в измерении сопротивления

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Блин, поэтому я изначально и сказал абстрактное «замер сопротивлений».

Ну ты много можешь посоветовать в техразделе, когда у ТС ничего не работает, а он не назвал ни дистр, ни версию, ни логи, ни конфиг??

Поэтому тебе тут «спецы и насоветовали» уже 8-битный авр с 10-битным АЦП и кортекс с 12-битным. А у тебя в каком диапазоне меняться сопротивление будет, ну-ка?

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> А у тебя в каком диапазоне меняться сопротивление будет, ну-ка?

завтра-послезавтра скажу, не помню...

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Хорошо, скажешь. Причём лучше сразу говори в каких пределах будет меняться разность потенциалов на плечах измерительного моста, потому что оттуда будет напрямую или через усилитель/трансформатор напряжение идти на АЦП, а вот там в зависимости от минимальной разницы в уровнях напряжений, которую нужно отличить, чтобы добиться необходимой минимальной погрешности измерений температур, надо подбирать разрядность __дискретного_внешнего__ АЦП. Кстати сказать, 20 бит - миллион уровней - вполне реально Analog Devices, цена правда не такая, как посоветованный 8-битный AVR.

adriano32 ★★★
()

xepacce, мелкая железка!

Вам отделение солдат надо или пару метеорологов, дешевле обойдется. Логировать можно карандашом в амбарную книгу.

ansky ★★★★★
()
Ответ на: xepacce, мелкая железка! от ansky

> Логировать можно карандашом в амбарную книгу.

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

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

А на каком расстоянии все эти скважины находятся? А то может быть проводами свести все датчики в избушку или на ближайшую метеостанцию проще и дешевле будет. Да и обходить пожалуй дешевле выйдет.

Так-то эти ваши 50 автономных устройств поди $50000 каждое стоит. И на коленке такое сильно дешевле тоже не сделаешь.

ansky ★★★★★
()
Ответ на: комментарий от Obey-Kun

> на... гхм... большом.

Судя по всему больше 50 км. Тогда жопа. Насчет цены я выходит не промахнулся.

Ну или снижайте температурные требования, это у Вас самое жесткое ограничение. Например закапывать устройство на глубину нескольких метров. Все же тогда температурный диапазон будет не -60-+40, а что-нибудь вроде -20-+10. Глядишь, уже хотя бы какую-никакую батарейку под это дело найдете.

ansky ★★★★★
()
Ответ на: комментарий от ansky

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

А расстояния между скважинами метров 200-500 и т.п., зависит от объекта.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Удалите весь тред, не позорьтесь. Ибо $30000 - не сумма, учитывая, что на вертолет Вы потратите на порядок больше. Расстояние 500 метров - не расстояние. Обойти раз в неделю - не проблема, провода кинуть тем более не проблема.

Такое устройство на коленке сделать за $300 каждое - это фантастика.

ansky ★★★★★
()
Ответ на: комментарий от ansky

> Ибо $30000 - не сумма, учитывая, что на вертолет Вы потратите на порядок больше.

Чушь, вертолёт Воркута-Ямал стоит как раз около того. А по знакомству можно хоть каждый день летать задарма.

Обойти раз в неделю - не проблема, провода кинуть тем более не проблема.

Провода кинуть проблема. Есть ненцы, есть звери. А на остров провода как закидывать? И т.п.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от ansky

300 баксов и не надо. В 2-3 раза больше можно.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

И обойти раз в неделю проблема. Человек будет обходиться в почти те же самые 30000 баксов в год. А если площадок со скважинами 10? А если мониторить надо 5 лет?

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

> 300 баксов и не надо. В 2-3 раза больше можно.

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

Ну вот же-ж, проблема решена!

Судите сами: температурный диапазон военной и/или подкапотной автомобильной электроники -40-+60 градусов. Это не готового устройства, а отдельных компонентов. И это притом, что у военных и в автомобиле энергии завались и охлаждаться есть обо что. А Вы выдвигаете такое требование, какое не во всякой космической электронике работает. Ну где Вы хотя бы батарейку возьмете, работающую при -60 и потом еще пахать целый год, когда потеплеет до -20? Даже элементарно, микросхемы в военном исполнении не рассчитаны на работу при такой температуре, я уж не говорю об электролитических конденсаторах. Резисторы поплывут и потрескаются. Даже керамические конденсаторы в допустимом (в ДОПУСТИМОМ, а не при -60) температурном диапазоне меняют емкость в разы. И да, стеклотекстолит треснет, пайка отвалится из-за разницы в температурных коэффициентах линейного расширения.

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

Пробовали авто завести в январе при -30 или в марте завести авто простоявшее зиму на морозе?

Марсианский зонд, одним словом. Оппортунини или как его там...

ansky ★★★★★
()
Ответ на: комментарий от ansky

Понятно. Наверное, логгеры таки закапывают. Надо уточнить у знающих людей, сам я делал лишь ручные замеры.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Индустриальный рабочий диапазон микросхем -40 ...85, а все выше будет уже как военка и за бОльшие деньги и трудности с поставками.

Собственно, есть два подхода:

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

2. Вы используя инженерные знания, опыт и схемотехнику программные хитрости, можете снизить требования к отдельным компонентам. Возможно, увеличить избыточность и уменьшить как-то общую стоимость решения, облегчить выбор поставщиков ...
Этот подход тоже применяется фирмами. Так на них все равно лежит ответственность за техническое решение, надежность, выбор компонентов и обслуживание.
------------

Далее, температура:
Необходимо учитывать , что увеличение на каждые 10 С рабочей температуры снижает расчетные показатели вероятности отказа в ~100 раз для кремния (есть такой параметр как MTBF).

elipse ★★★
()
Ответ на: комментарий от sdio

Под снегом все же теплее, чем в пиковые морозы. Внутри планеты температура высокая и это сказывается даже на вечной мерзлоте. Ледовитый океан жидкий и в Норильских шахтах не -40 градусов. На поверхности почвы (зимой под снегом) температура навряд ли понизится ниже -20-30 градусов.

ansky ★★★★★
()
Ответ на: комментарий от quickquest

Тред не читай & сразу отвечай, да?

я ТСу уже предлогал DS18B20, ему не нужно переделывать измеритель, ему нужно к существующему цифровую часть прикрутить. К тому же необходимой ТСу точности DS18B20 не предоставляет.

adriano32 ★★★
()
Ответ на: комментарий от ansky

Я понял-понял: «в шубе тепло, она греет»

sdio ★★★★★
()

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

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

MKuznetsov ★★★★★
()
Ответ на: комментарий от adriano32

>Тред не читай & сразу отвечай, да?

Ага, ибо Ъ :)

>ему не нужно переделывать измеритель, ему нужно к существующему цифровую часть прикрутить.

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

>К тому же необходимой ТСу точности DS18B20 не предоставляет.

Не предоставляет «искаробочной» точности, но после отбора и калибровки датчиков точность 0.05С вполне достижима.

quickquest ★★★★★
()
Ответ на: комментарий от Obey-Kun

> Но ведь логгер будет лежать на поверхности, а там температура может опускаться до -50 и ниже.

Я тут полный дилетант, но у меня возникла мысль - а почему бы не сделать логгер такого размера, чтобы он поместился в скважину, и опустить его в неё на подвесе, на глубину как раз метров 10? А для обслуживания/снятия показаний вывести кабель на поверхность. Или вообще поднимать - раз в год.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

Да тут ясно, что если нет перманентного внешнего питания для термостатирования (подогрева) то придётся в грунт.
Вопрос 1: зачем опускать под землю, когда можно забросать песком или грунтом на поверхности и накрыть изолирующим материалом?
Вопрос 2: штука автономная, чем питать будешь?

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Я так помню, что ОП занимается вечной мерзлотой. А стало быть, в нескольких метрах под поверхностью находится слой вечного льда. Мне подумалось, что в глубине шахты должно быть теплее.
Чем питать - интересный вопрос. А нельзя ли как-то использовать разницу в температуре в шахте и около поверхности, в слое вечной мерзлоты?

Smacker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.