Программа - "Поиск датчиков температуры ds18b20, DS1820 и DS18S20 на СОМ портах"
Интересует продолжение публикаций на эту тему
- Да
53 - Нет
6 - У меня Ардуино
7
Всего голосов: 66
Fodin
Новичок
Южно-Сахалинск
5 1
Отв.120 13 Сент. 16, 21:04
Проблема возникает, когда датчик и адаптер начинают одновременно писать. Правильно? Если этого не делать, то все будет хорошо. Правильно?
Mnz
Магистр
Город
254 86
Отв.121 13 Сент. 16, 22:00, через 57 мин
Нет, проблема возникает при каждой передаче лог 0 датчиком, т. е. всегда когда он отвечает на запросы. Чтобы проблемы не было нужно вообще никак не обращаться к датчику, только зачем он в таком случае нужен?
Чтобы не было подобных вопросов, изучите протокол 1-Wire. http://microsin.ru/content/view/508/44/
В частности обратите внимание на рисунок 1-5, на котором показано как нужно подключать выход если он двухтактный (как в адаптере на CH340G). В данном случае вместо транзистора допустимо использовать диод.
Чтобы не было подобных вопросов, изучите протокол 1-Wire. http://microsin.ru/content/view/508/44/
В частности обратите внимание на рисунок 1-5, на котором показано как нужно подключать выход если он двухтактный (как в адаптере на CH340G). В данном случае вместо транзистора допустимо использовать диод.
Bacchus
Доктор наук
Ярославль
633 134
Отв.122 17 Сент. 16, 17:45
коллеги, а есть прога помимо мониторинга, управляющая с USB? Не могу никак нарыть (((
Mnz
Магистр
Город
254 86
Отв.123 18 Сент. 16, 15:55
На форуме есть тема о самостоятельной разработке программы мониторинга датчиков с управлением нагрузками по USB [Учимся писать компьютерные программы для автоматизации.]
Bacchus
Доктор наук
Ярославль
633 134
Отв.124 18 Сент. 16, 16:30, через 36 мин
есть, только чукча не писатель.
Мне готовую, простейшую старт-стоп по USB на DL2303.
Я больше по железу...
Мне готовую, простейшую старт-стоп по USB на DL2303.
Я больше по железу...
Mnz
Магистр
Город
254 86
Отв.125 19 Сент. 16, 08:13
Может PL2303? Это виртуальный COM порт и к нему понадобится контроллер, потому что у него всего одна линия выхода, к которой много нагрузок не подключишь...
Но опять же, программу для компа нужно разрабатывать с нуля, или дорабатывать одну из имеющихся... Если готовы это профинансировать, пишите в личку, возможно договоримся.
Но опять же, программу для компа нужно разрабатывать с нуля, или дорабатывать одну из имеющихся... Если готовы это профинансировать, пишите в личку, возможно договоримся.
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.126 10 Окт. 16, 20:46
Подумываю о алгоритме ректификации. Мне известны приблизительно несколько способов. Один из них более или менее мне понятен.
Способ № 1.
-----------------
По разнице температур между верхом и низом колонны, т.е. если в верхней и нижней точках колонны темп. одинаковая и имеет некоторое известное значение, мы узнаем жидкая фаза какой фракции [головы,тело,хвосты] находится в колонне.
Далее появляется куча вопросов.
---------------------------------
- Объём отбираемых "голов" рассчитываем в процентном отношении от "первака" залитого в куб ?
- Как "отсчитать-откапать" нужное количество голов ? Капель/в секунду?
- Как "отсчитать-откапать" нужное количество тела ?
- как контролировать/рассчитать предзахлёбное состояние колонны? Чтобы так сказать "вдуть" в неё максимальное количество кВт и не затопить её.
- Каким образом сдесь поможет ШИМ ? Алгоритм брезенхема?
Может кому не лень объяснить ? Или может где статейка понятная есть ?
----------------------------------------
Для простоты пользователь сам выбирает что ему и сколько отбирать, наверное... В общем в голове бардак пока...
Способ № 1.
-----------------
По разнице температур между верхом и низом колонны, т.е. если в верхней и нижней точках колонны темп. одинаковая и имеет некоторое известное значение, мы узнаем жидкая фаза какой фракции [головы,тело,хвосты] находится в колонне.
Далее появляется куча вопросов.
---------------------------------
- Объём отбираемых "голов" рассчитываем в процентном отношении от "первака" залитого в куб ?
- Как "отсчитать-откапать" нужное количество голов ? Капель/в секунду?
- Как "отсчитать-откапать" нужное количество тела ?
- как контролировать/рассчитать предзахлёбное состояние колонны? Чтобы так сказать "вдуть" в неё максимальное количество кВт и не затопить её.
- Каким образом сдесь поможет ШИМ ? Алгоритм брезенхема?
Может кому не лень объяснить ? Или может где статейка понятная есть ?
----------------------------------------
Для простоты пользователь сам выбирает что ему и сколько отбирать, наверное... В общем в голове бардак пока...
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.127 10 Окт. 16, 22:19
В принципе нашёл что почитать - [Алгоритмы работы ректификациооной колонны]
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.128 10 Окт. 16, 22:57, через 39 мин
Ага, вот пожалуй с чего нужно начать -
а) В куб налито какое то количество спиртосодержащей жидкости. Пусть это будет 10 литров 40% (например, хотя это пока не важно)
б) Один датчик темп. установлен в ТСА (Т1), второй 1/3 высоты колонны (Т2)
в) Включаем ТЭН. Клапан отбора естественно закрыт. Колонная работает на себя. Темп. в кубе растёт. В какой то момент времени темп. в Т2 начинает расти т.к. пары спирта начинают подниматься вверх по колонне (а куда же ещё то.. хе-хе). Через некоторое время регистрируем увеличение темп. в ТСА (Т1). Ну а далее всё идёт по кругу - то что попадает в холодильник (ТСА (Т1)) благополучно конденсируется и возвращается в виде флегмы/конденсата в колонну.
в-1) снижаем количество кВт подаваемых в куб. Вот сколько/на мне пока не понятно. Основной смысл чтобы не было "перегруза", захлёба колонны. Смысл в том что бы дать время флегме стечь по насадке вниз колонны. Если с подводимой мощностью будет перебор, пары спирта просто на просто выдавят всю сконденсированную флегму из колонны за её пределы, например через трубочку связанную с атмосферой.
Вот тут конечно следует подумать как "поймать" максимальное количество кВт необходимое для предзахлёбной работы колонны.
г) проходит некоторое время. 30-180 минут (например)
д) и вот на этом этапе мы ловим температуру "темп_старт", назовём её Тстарт = Т1 =Т2). К этому времени, темп. Т2 и Т1 замерли примерно на одном значении. Разница температур Т1 и Т2 незначительная, эту разницу назовём Тдельта. Тдельта = ABS(Т2-Т1) (ABS - т.е. без знаковая величина). Какой будет Т1, Т2 после работы колонны на себя? - предположу что градусов 73°С и выше (головы всё таки). Тдельта д.б. в районе 0.1 ... 0.001°С (зависит от типа датчиков и их разрешающей способности).
----------------------------
продолжение следует...
а) В куб налито какое то количество спиртосодержащей жидкости. Пусть это будет 10 литров 40% (например, хотя это пока не важно)
б) Один датчик темп. установлен в ТСА (Т1), второй 1/3 высоты колонны (Т2)
в) Включаем ТЭН. Клапан отбора естественно закрыт. Колонная работает на себя. Темп. в кубе растёт. В какой то момент времени темп. в Т2 начинает расти т.к. пары спирта начинают подниматься вверх по колонне (а куда же ещё то.. хе-хе). Через некоторое время регистрируем увеличение темп. в ТСА (Т1). Ну а далее всё идёт по кругу - то что попадает в холодильник (ТСА (Т1)) благополучно конденсируется и возвращается в виде флегмы/конденсата в колонну.
в-1) снижаем количество кВт подаваемых в куб. Вот сколько/на мне пока не понятно. Основной смысл чтобы не было "перегруза", захлёба колонны. Смысл в том что бы дать время флегме стечь по насадке вниз колонны. Если с подводимой мощностью будет перебор, пары спирта просто на просто выдавят всю сконденсированную флегму из колонны за её пределы, например через трубочку связанную с атмосферой.
Вот тут конечно следует подумать как "поймать" максимальное количество кВт необходимое для предзахлёбной работы колонны.
г) проходит некоторое время. 30-180 минут (например)
д) и вот на этом этапе мы ловим температуру "темп_старт", назовём её Тстарт = Т1 =Т2). К этому времени, темп. Т2 и Т1 замерли примерно на одном значении. Разница температур Т1 и Т2 незначительная, эту разницу назовём Тдельта. Тдельта = ABS(Т2-Т1) (ABS - т.е. без знаковая величина). Какой будет Т1, Т2 после работы колонны на себя? - предположу что градусов 73°С и выше (головы всё таки). Тдельта д.б. в районе 0.1 ... 0.001°С (зависит от типа датчиков и их разрешающей способности).
----------------------------
продолжение следует...
alekslug
Научный сотрудник
винокур, Лобня.
5.2K 1.7K
Отв.129 11 Окт. 16, 08:12
mr.ptec, пункт Д придется тебе пересмотреть. ДЛя того чтобы уверенно ловить головы по температуре придется научиться отслеживать изменения температуры с точностью ±0,01°С.
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.130 11 Окт. 16, 21:09
alekslug, В моих программах-показометрах, температура с датчиков ds18b20 считывается с точностью 0,001°С, соответственно Тдельта = ABS(Т2-Т1) тоже будет с такой точностью.
*много отзывов формучан о том что при дельте в 0.1°С у них нормальный спирт получается. ну тут как говориться за что купил за то и продал.
*много отзывов формучан о том что при дельте в 0.1°С у них нормальный спирт получается. ну тут как говориться за что купил за то и продал.
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.131 11 Окт. 16, 21:22, через 14 мин
Лирическое отступление:
---------------------------
Поразмышляем о темп. которая установится при работе колонны "сама-на-себя". Начнём с крайности и представим что в куб залита обычная вода, тогда в точках Т1 и Т2 мы увидим температуру в районе 100°С. (Тстарт = 100°С). Ну а если налить в куб качественный спирт, то Тстарт = 78°С т.е. темп. кипения спирта.
---------------------------
Поразмышляем о темп. которая установится при работе колонны "сама-на-себя". Начнём с крайности и представим что в куб залита обычная вода, тогда в точках Т1 и Т2 мы увидим температуру в районе 100°С. (Тстарт = 100°С). Ну а если налить в куб качественный спирт, то Тстарт = 78°С т.е. темп. кипения спирта.
Рюрик1955
Доцент
Серпухов
1.4K 442
Отв.132 11 Окт. 16, 21:50, через 28 мин
[
Добавлено через 1мин.:
ПС. в глазах не рябит? От показаний градусника?
температура с датчиков ds18b20 считывается с точностью 0,001°Сmr.ptec, 11 Окт. 16, 21:09Вопрос?-если точность +/- 2*С, а единица измерения = 0.0625*С - то и дышать нельзя? при точности = 0.001*С ? ( даже после калибровки?)
Добавлено через 1мин.:
ПС. в глазах не рябит? От показаний градусника?
Mnz
Магистр
Город
254 86
Отв.133 11 Окт. 16, 22:19, через 29 мин
температура с датчиков ds18b20 считывается с точностью 0,001°Сmr.ptec, 11 Окт. 16, 21:09Не нужно путать точность и разрешающую способность, которая у DS18B20 равна 0.0625 градусов. Другими словами какой смысл в точности 0.00000000000000000000001 если она дискретна 0.0625 градусов?
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.134 12 Окт. 16, 00:18
Mnz, да называй как хочешь. вы поймите главное, чем больше цифр после запятой тем выше реакция программного обеспечения на изменение температуры.
Mnz
Магистр
Город
254 86
Отв.135 12 Окт. 16, 10:11
От того что 0.0625 умножить на миллиард, выше разрешающая способность не станет.
mr.ptec
Доктор наук
Петрозаводск
703 171
Отв.136 12 Окт. 16, 15:43
От того что 0.0625 умножить на миллиард, выше разрешающая способность не станет.Mnz, 12 Окт. 16, 10:11
ну не умножай тогда! нельзя же идти наперекор своим желаниям.
Mnz
Магистр
Город
254 86
Отв.137 12 Окт. 16, 16:32, через 49 мин
Я просто пытаюсь объяснить что при разрешающей способности 0.0625 градусов нельзя получить точность 0.001°С. Программа может отображать хоть миллион знаков после запятой, но точность это не увеличит, потому что она зависит от датчика, а не от отображения в программе.
KareliaHouse
Студент
Petrozavodsk
16 7
Отв.138 12 Окт. 16, 19:38
Я просто пытаюсь объяснить что при разрешающей способности 0.0625 градусов нельзя получить точность 0.001°С. Программа может отображать хоть миллион знаков после запятой, но точность это не увеличит, потому что она зависит от датчика, а не от отображения в программе.Mnz, 12 Окт. 16, 16:32
ты не поверишь, но в этих программах датчики реагируют если на них подуть воздухом из рта. В комнатных условиях. Ну а что еще для счастья надо?
alekslug
Научный сотрудник
винокур, Лобня.
5.2K 1.7K
Отв.139 23 Окт. 16, 09:00
alekslug, В моих программах-показометрах, температура с датчиков ds18b20 считывается с точностью 0,001°С, соответственно Тдельта = ABS(Т2-Т1) тоже будет с такой точностью.mr.ptec, 11 Окт. 16, 21:09Датчики DS18B20 не умеют считывать температуру даже с точностью 0,05*С , надо применять другие.