Что там критичного?sevpro, 29 Мая 17, 22:53Например, запись/чтение единички мастером шины 1-Wire. 1 мкс - это всего 16 тактов, а обработка прерывания от шины I2C - это все-таки не "goto" и обратно. А играть в рулетку с внешним миром - не наш метод :) Рано или поздно нарвешься на нулевой бит вместо единички... Поэтому, ИМХО, блокировка доступа к серверку по шине I2C на "критические дни" - самый правильный и безопасный подход. Тем более, что это практически ничего не будет стоить мастеру шины I2C (т.е. малинке). Нужно только добавить в скрипт обработку исключения IOError.
Ненавязчивая автоматизация ректификационной установки
OldBean
Доцент
Красноярск
1K 1.4K
Отв.360 30 Мая 17, 03:09
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.361 30 Мая 17, 11:35
Нет там такого.sevpro, 30 Мая 17, 08:12Нет чего? Записи/чтения единички? :)
Вообще-то о точном тайминге речь и не шла. Речь шла о порядках временнЫх интервалов. Мкс - это так мало! Даже для 16 МГц МК. Ну если конкретно - о том, что если в слоте чтения/записи единички, процессор отпустит шину существенно позже начала слота (низкий уровень не менее, но - порядка 1 мкс) из-за того, что его отвлекли на прерывания и шина не успеет подняться к моменту сэмплинга (15 мкс), то мы получим 0 вместо 1.
Ну можно, конечно, уповать на то, что прерывания не будут занимать много времени и шина успеет подняться. Но такие "упования" - очень плохое решение. Мало ли какие блоки данных захочется гонять по I2C... Лучше все-таки запретить прерывания (а в серверке они могут прилететь только от I2C). Хотя бы на время слотов. Поэтому, именно такое решение я и выбираю. Тем более, что оно не требует каких-то мощных дополнительных усилий и не создает каких-то серьезных неудобств.
У меня две DSки (на разных портах) живут на atmega8 с внутренним тактовым на 8МГц вместе с SPI, UART и часами. Никаких проблем нет от слова совсем.sevpro, 30 Мая 17, 08:12Наверное, Вы - везучий человек. Правда, это еще зависит от наработки, интенсивности обменов, объемов данных, передаваемых по другим каналам и т.п. Может еще и не повезет как-нибудь... Какие наши годы? :)
Tomat7
Магистр
Черноморская губинния
235 138
Отв.362 30 Мая 17, 15:34
Теперь, наконец-то, мы можем полностью разделить иерархическую систему управления ректификационной установки на два уровня. Первый (нижний) уровень - это устройства, выполняющие низкоуровневые операции в реальном времени (RT - Real Time). К этому уровню относятся контроллеры (ТЭНа и клапана отбора) и датчики (RMS, температуры и давления). OldBean, 28 Мая 17, 05:16Категорически согласен!
Сам пришел к тому что малинка не должна "клацать" клапанами - для этого есть китайские таймеры. Один раз подобрал периоды, а потом малинка только включает нужный таймер и всё.
С ТЭН'ом также просто - малинка командует контактором: на разгоне - "прямо в сеть", на рабочей мощности - переключает через контактор на регулятор на базе РМ-2 с заранее выставленной мощностью/напряжением. Да, теряется гибкость - по интернету "газку" не прибавишь, зато стабильность и надежность.
Температурный сервер представляет собой микроконтроллер ATMega328P с подключенными к пинам порта PD датчиками температуры DS18B20 (не более одного на каждый пин, т.е. всего до 8 датчиков). Каждый пин PD, к которому подключен датчик, имеет подтягивающий резистор 4.7k и образует, таким образом, независимую шину 1-Wire с единственным ведомым устройством.
...
Температурный сервер связан с внешним миром по шине I2C как ведомое (slave) устройство
Упс! Дюже сложно.
Я сделал сильно проще, как здесь - http://raspberrypi.tomasgreno.cz/thermal-sensor-i2c.html
Но только на DS2482S-800, которая является 8-канальным мастером 1-wire https://www.maximintegrated.com/...DS2482-800.html
Те же 8 независимых каналов 1-wire (с резистором на каждом), та же шина i2c, но только в одном корпусе SOP16 и никакого программирования... ;)
ЗЫ НВВ, за попкорном пошёл? ;D
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.363 31 Мая 17, 02:58
8 независимых каналов 1-wire (с резистором на каждом), та же шина i2c, но только в одном корпусе SOP16 и никакого программирования..Tomat7, 30 Мая 17, 15:34Да. Если рассматривать задачу только как изготовление многоканального моста 1-Wire - I2C, то это нормальное решение. Кстати, оно уже немножко обсуждалось на предыдущей странице. Однако, хотелось бы навесить на мост некоторые дополнительные функции для обработки температурных трендов (хотя бы простейшие, типа скользящих средних, или усредненных по времени дельт и т.п.). В этом как раз нам и поможет мост именно на микроконтроллере. В таком качестве его можно воспринимать (логически) уже как некий сервер. В данном случае - температурный.
Микроконтроллер часто удобно рассматривать не как ма-а-аленький компьютер, а как просто как некий логический чип/автомат с переменной (программируемой) логикой (наряду, например, с ПЛИСами :) Есть изолированная логическая задача - воткнул для нее МК, есть еще одна задача - воткнул второй МК и т.д. Да хоть десяток МК в одном устройстве. Многие функции можно вообще реализовывать на копеечных тиньках. А если задачи хорошо локализованы (не свалено все в одну кучу на один МК), то и программирование (и, в том числе, синхронизация процессов) часто становится тривиальным.
dth
Бакалавр
Арти
98 39
Отв.364 31 Мая 17, 06:42
OldBean, подскажите, если делать температурный сервер с четырехзначным дисплеем 5641, подключать его также, как и трехзначные, за исключением 6го вывода, который надо также через резистор 470 ом подключить к какой-нибудь ноге, скажем D3? Код соответственно изменить под него.
И еще пара вопросов: какой сенсорный дисплей будет использован в лайт версии? если можно ссылку на него. Модули РМС, отбора и ТЭНа я так полагаю подойдут, или лучше будет сделать отдельно?
Таки подключил четырёхсегментный индикатор, залил поправив тестовый скетч индикатора (ledd05). Циферки бегают)).
Я так понимаю чтобы показывать точку, надо добавить масок, или менять ее на лету.
Добавлено через 3ч. 50мин.:
Изменил функцию UpdateDigits(), теперь принимает float и выводит его значение от 0.001 до 9999. Точка плавает соответственно величине (До 10 - три знака после точки, от 19 до 100 - два знака, от 100 до 1000 - один знак и без знаков, когда значение больше тысячи). Большой диапазон делал для универсальности, возможно буду применять еще где-либо.
И еще пара вопросов: какой сенсорный дисплей будет использован в лайт версии? если можно ссылку на него. Модули РМС, отбора и ТЭНа я так полагаю подойдут, или лучше будет сделать отдельно?
Таки подключил четырёхсегментный индикатор, залил поправив тестовый скетч индикатора (ledd05). Циферки бегают)).
Я так понимаю чтобы показывать точку, надо добавить масок, или менять ее на лету.
Добавлено через 3ч. 50мин.:
Изменил функцию UpdateDigits(), теперь принимает float и выводит его значение от 0.001 до 9999. Точка плавает соответственно величине (До 10 - три знака после точки, от 19 до 100 - два знака, от 100 до 1000 - один знак и без знаков, когда значение больше тысячи). Большой диапазон делал для универсальности, возможно буду применять еще где-либо.
ram78
Бакалавр
Перловка
91 11
Отв.365 31 Мая 17, 16:17
OldBean, добрый день. Подскажи пожалуйста, собрал "модулёк", залил скетч, регулировка мощности с кнопок работает (в плане цифры переключает на экране) но с 9 пина ничего не поступает на схему (собираю регулятор). В чём может быть проблема? Светодиод горит если тест на 9 пин делаю.
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.366 31 Мая 17, 16:34, через 17 мин
с 9 пина ничего не поступает на схемуА малинку подключил? Она ведь управляет по I2C
ram78
Бакалавр
Перловка
91 11
Отв.367 31 Мая 17, 16:37, через 4 мин
нет, малинка ещё едет. Управлять по идее должно с кнопок, модуль регулятора автономный же...?
gol_avto
Доцент
Москва - Серпухов - Анапа
1.3K 458
Отв.368 31 Мая 17, 16:43, через 6 мин
Датчик RMS сети ведь тоже участник процесса, не так ли? А он через малинку подключен.
ram78
Бакалавр
Перловка
91 11
Отв.369 31 Мая 17, 16:50, через 8 мин
Назначение контроллера ТЭНа - регулирование мощности нагрева ТЭНа в кубе. Данный контроллер можно использовать автономно (как обычный диммер). В этом случае для регулирования мощности используется пара кнопок "+" и "-" (при удерживании - "сильно +" и "сильно -" )). Можно использовать контроллер и под управлением внешнего управляющего компьютера.OldBean, 04 Янв. 17, 05:36Так вроде должен автономно работать без датчика.
Вот так получилось, правда pro mini обычная без 2-х рядов контактов и BTA41-600.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.370 31 Мая 17, 17:22, через 32 мин
подскажитеdth, 31 Мая 17, 06:42dth, судя по топику, у Вас все получилось великолепно и безо всяких подсказок! :)
какой сенсорный дисплей будет использован в лайт версии? если можно ссылку на него.dth, 31 Мая 17, 06:42Про дисплей. У меня в хозяйстве есть недорогой 7" HDMI-дисплей с тачем. Я его использую довольно редко - иногда, на станциях без дисплеев, когда лень отключать и тащить обычный. Поэтому, скорее всего, именно его я и буду использовать в первых экспериментах с Lite. Потом, если Lite понравится, уже куплю 10" с подставочкой и, скорее всего, уже без тача. Все-таки, тыкать в экран в стационаре это, ИМХО, - на сильно большого любителя...
В принципе, подойдет любой не очень маленький HDMI-дисплей. Полагаю, на Aliexpress Вы легко найдете подходящий вариант. Насчет тача - тут уже решайте сами. Что Вам удобнее.
Подскажи пожалуйста, собрал "модулёк", залил скетч, регулировка мощности с кнопок работает (в плане цифры переключает на экране) но с 9 пина ничего не поступает на схему (собираю регулятор). В чём может быть проблема? Светодиод горит если тест на 9 пин делаю.ram78, 31 Мая 17, 16:17Если я правильно понял, светодиодик на 9-й ноге не мигает, когда мощность (цифры на индикаторе) больше нуля? Если есть возможность - проверьте сигнал с детектора нуля (на D2). Подробности - см. пункт 2 инструкции по поиску несправностей в топике про контроллер ТЭНа. Там должны быть импульсы с частотой 100 Гц. Есть или нет?
PS
Конроллер ТЭНа должен работать без малинки и без датчика RMS.
ram78
Бакалавр
Перловка
91 11
Отв.371 31 Мая 17, 18:23
А какие напряжения должны быть на базах и вообще, подскажите какие контрольные точки
OldBean
Доцент
Красноярск
1K 1.4K
Отв.372 31 Мая 17, 19:11, через 49 мин
1. Первая контрольная точка - выход детектора нуля (или пин D2 ардуинки). Там должны быть имульсы с амплитудой порядка 5В.
2. На конденсаторе C1 - постоянное напряжение. Скорее всего, на уровне вольт 10-15.
3. На выходе выпрямительного моста (IC1) - характерный сигнал после двухполупериодного выпрямителя. Горбы с частотой 100 Гц и амплитудой порядка 300В (зависит от напряжения в сети)
4. На базе T1 - те же горбы, только поделенные делителем R3, R4, R5 и с сильно обрезанными (на уровне 5В) макушками. Почти трапеции.
5. На коллекторе T1 - достаточно короткие положительные импульсы с амплитудой близкой к напряжению на C1.
Ну вот вроде бы и все.
Ну так на выходе детектора-то есть что-нибудь или нет?
2. На конденсаторе C1 - постоянное напряжение. Скорее всего, на уровне вольт 10-15.
3. На выходе выпрямительного моста (IC1) - характерный сигнал после двухполупериодного выпрямителя. Горбы с частотой 100 Гц и амплитудой порядка 300В (зависит от напряжения в сети)
4. На базе T1 - те же горбы, только поделенные делителем R3, R4, R5 и с сильно обрезанными (на уровне 5В) макушками. Почти трапеции.
5. На коллекторе T1 - достаточно короткие положительные импульсы с амплитудой близкой к напряжению на C1.
Ну вот вроде бы и все.
Ну так на выходе детектора-то есть что-нибудь или нет?
dth
Бакалавр
Арти
98 39
Отв.373 31 Мая 17, 20:28
OldBean, да, всё получилось, спасибо! Будет время, попробую развести плату под автономный термосервер, естественно с возможностью считывания температур по i2c.
Сегодня больше игрался с энкодером, хочу прикрутить энкодер и 4хзначный индикатор к регулятору-стабилизатору тока из соседней ветки уважаемого коллеги sebra. Хочу использовать его для электродного НПГ.
Энкодер китайский, глючит довольно неплохо (вместо + иногда - или проскакивают несколько значений).
Сегодня больше игрался с энкодером, хочу прикрутить энкодер и 4хзначный индикатор к регулятору-стабилизатору тока из соседней ветки уважаемого коллеги sebra. Хочу использовать его для электродного НПГ.
Энкодер китайский, глючит довольно неплохо (вместо + иногда - или проскакивают несколько значений).
ram78
Бакалавр
Перловка
91 11
Отв.374 31 Мая 17, 20:33, через 5 мин
А конденсатор строго 1мкф или можно 0.22 поставить?
Добавлено через 10мин.:
на коллекторе Т2 импульсы идут положительные вот такие _/\_/\_/\_ это нормально?
может PC глючит, как её проверить?
Добавлено через 30мин.:
поменял на другую рс817, результата нет. Она у меня без буквы, может в этом дело?
Добавлено через 10мин.:
на коллекторе Т2 импульсы идут положительные вот такие _/\_/\_/\_ это нормально?
может PC глючит, как её проверить?
Добавлено через 30мин.:
поменял на другую рс817, результата нет. Она у меня без буквы, может в этом дело?
OldBean
Доцент
Красноярск
1K 1.4K
Отв.375 01 Июня 17, 06:15
Осциллограммы в контрольных точках детектора нуля контроллера ТЭНа
Иногда возникают трудности при наладке контроллера ТЭНа. Для облегчения этого процесса я снял осциллограммы сигналов в некоторых контрольных точках, обозначенных на схеме, приведенной ниже.
Еще раз хочу предупредить - при подключении устройства к сети на элементах схемы появляется высокое напряжение, опасное для жизни! Все манипуляции с шупами и пр. необходимо производить только при полном отключении от сети! Осциллограф должен быть рассчитан на работы с высоким напряжением.
Разбирать и отключать модуль от установки было не с руки, а так подлезть с щупами и сфотографировать было не очень просто. Поэтому, sorry,качество снимков неважное - пришлось подписать масштабы по напряжению и подрисовать положение нуля (голубые треугольнички). Но смысл, масштабы и формы сигналов, надеюсь, будет понятен. Осциллограммы на рисунке ниже. В левом углу каждого кадра указаны номера точек на схеме, к которым подключается осциллограф (первая цифра - точка к которой подключается земляной щуп).
Обратите внимание, что у первых пяти осциллограмм земляной щуп осциллографа подключен к точке 0, а в последней - к точке 7.
===============================================================
Вернуться к оглавлению Вернуться в топик про контроллер ТЭНа
Иногда возникают трудности при наладке контроллера ТЭНа. Для облегчения этого процесса я снял осциллограммы сигналов в некоторых контрольных точках, обозначенных на схеме, приведенной ниже.
Еще раз хочу предупредить - при подключении устройства к сети на элементах схемы появляется высокое напряжение, опасное для жизни! Все манипуляции с шупами и пр. необходимо производить только при полном отключении от сети! Осциллограф должен быть рассчитан на работы с высоким напряжением.
Разбирать и отключать модуль от установки было не с руки, а так подлезть с щупами и сфотографировать было не очень просто. Поэтому, sorry,качество снимков неважное - пришлось подписать масштабы по напряжению и подрисовать положение нуля (голубые треугольнички). Но смысл, масштабы и формы сигналов, надеюсь, будет понятен. Осциллограммы на рисунке ниже. В левом углу каждого кадра указаны номера точек на схеме, к которым подключается осциллограф (первая цифра - точка к которой подключается земляной щуп).
Обратите внимание, что у первых пяти осциллограмм земляной щуп осциллографа подключен к точке 0, а в последней - к точке 7.
===============================================================
Вернуться к оглавлению Вернуться в топик про контроллер ТЭНа
OldBean
Доцент
Красноярск
1K 1.4K
Отв.376 01 Июня 17, 07:01, через 46 мин
на коллекторе Т2 импульсы идут положительные вот такие _/\_/\_/\_ это нормально?ram78, 31 Мая 17, 20:33Обратите внимание на кадр 0-5 осциллограммы. Там главное - это короткие отрицательные импульсы (провальчики). Остальное (кривые зубья пилы со средним уровнем порядка 5 В) - это просто пульсации напряжения питания транзисторов. Судя по всему, Вы именно их и изобразили в своем посте.
ram78
Бакалавр
Перловка
91 11
Отв.377 01 Июня 17, 08:44
Да, очень похоже. Плохо видно на с1-94 но сигнал на оптопару идёт. С выхода оптопары либо ничего нет кроме положительного потенциала, либо я не вижу этим с1-94.
напряжение с коллектора на оптопару при этом 18в, на его базе согласно рис. 4.
Я сегодня выходной, время повозиться достаточно))
(какой используете осциллограф?)
напряжение с коллектора на оптопару при этом 18в, на его базе согласно рис. 4.
Я сегодня выходной, время повозиться достаточно))
(какой используете осциллограф?)
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.378 01 Июня 17, 11:33
какой используете осциллограф?ram78, 01 Июня 17, 08:44В данном случае - UTD2025C
ram78
Бакалавр
Перловка
91 11
Отв.379 01 Июня 17, 12:52
от чего может быть такое высокое напряжение на входе оптопары после коллектора?