Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Ненавязчивая автоматизация ректификационной установки

Форум самогонщиков Автоматика
1 ... 56 57 58 59 60 61 62 ... 132 59
OldBean Доцент Красноярск 1K 1.4K
Отв.1160  15 Февр. 18, 02:35
ZagAl, вспомнил еще один случай. Может навеет какую-нибудь полезную ассоциацию. У меня над верстаком (совсем рядом с установкой) висит мощная люминесцентная лампа (со старым здоровенным пускателем). Так вот, при выключении, она давала сильную импульсную наводку, которая вышибала всю гирлянду DS-ок. Долго эту помеху не мог "вычислить". Вечером все безукоризненно работает. Уходя домой "притормаживаешь" установку, естественно, выключаешь свет. А утром приходишь - DS-ки "висят"...
Sten58 Магистр Лисичанск 217 49
Отв.1161  15 Февр. 18, 09:27
2. Случилось форс-мажор с ТЭНами с отключением ДИФа.BogAD, 31 Янв. 18, 21:44
Как отличить это от П.1?BogAD, 31 Янв. 18, 21:44

Это легко отличить, если RMS питать ДО ДИФа, а детектор нуля - после.
m16 Модератор Тамбов 1.9K 1K
Отв.1162  15 Февр. 18, 12:25
А утром приходишь - DS-ки "висят"...OldBean, 15 Февр. 18, 02:35
    пришла в голову идея программно-аппаратного лечения проблемы.  аппаратная часть - полевик по питанию дс-ок. программная - после чтения температуры со всех датчиков сравниваем их показания . если они равны то снимаем питание с датчиков полевичком на 100-200мс, подаём питание и через аналогичную паузу заново запускаем преобразование проигнорировав предыдущее.
ZagAl Доцент Прибалтика 1.9K 916
Отв.1163  15 Февр. 18, 12:53, через 29 мин
m16, так я и пытаюсь это сделать, только прямо на малинке:
Скрытый текстwhile ReadSensors == False:
   print "Считываю датчики"
   Ts = sens.DS18B20.Ts() # Считаем датчики
   if Ts.get(id) != None and Ts[id] != 0: # Соответствующий ключ (id) есть есть в словаре
     ReadSensors = True
     if Ts[id] == 85.:
       ReadSensors = False
       time.sleep(2)
       print "Температура = %4.1f Возвращаюсь к считыванию датчиков." % (Ts[id])
       continue
     print "Датчики считаны"
   else: # Увы...
     print "Датчики отсутствуют или неисправны"
     ReadSensors = False #
     GPIO.output(12,0) # Отключаем 3.3V от DS18B20
     print "Отключаю питание"
     time.sleep(0.2)
     GPIO.output(12,1) # Включаем 3.3V на DS18B20
     print "Включаю питание"
     error_counter += 1
     time.sleep(2)
И в тестовой программе все получается (см. логи выше). Мне не понятно почему при вставке этого фрагмента в основную программу, (после отключения и включения питания) появляются нули. Откуда они?
2018-02-12-120937_995x966_scrot.2.png
2018-02-12-120937_995x966_scrot. Ненавязчивая автоматизация ректификационной установки. Автоматика.

И почему в других тестах оператор else: срабатывает только через 21 шаг после начала отображения нулей?
P.S. Вчера запустил тест датчиков на неработающей колонне. Тестирование продолжается пока без ошибок - последний ноль в строке.
2018-02-15-115157_815x462_scrot.png
2018-02-15-115157_815x462_scrot. Ненавязчивая автоматизация ректификационной установки. Автоматика.

m16 Модератор Тамбов 1.9K 1K
Отв.1164  15 Февр. 18, 13:11, через 18 мин
# Включаем 3.3V на DS18B20ZagAl, 15 Февр. 18, 12:53
чем питание коммутируешь? измерял реальное напряжение после ключа? попробуй увеличить время выключения
OldBean Доцент Красноярск 1K 1.4K
Отв.1165  15 Февр. 18, 17:18
2ZagAl
В коде, который Вы написали, всегда анализируется один и то же датчик (последний в кортеже tids). В приложении к топику этот фрагмент отмечен. При проверке датчиков, Вам нудно организовать цикл по их ID-шникам. Ну, например, конструкцию, типа такой, как ниже:
  Ts = sens.DS18B20.Ts() # Считаем датчики
  errorFlag = False
  for id in tids: # Пробегаем по ID-шникам датчиков и проверяем
    if Ts.get(id) == None or Ts[id] == 85. : # Проблема
      print "Датчик с ID = %x отвалился или неисправен. Перезагрузка датчиков" %(id)
      ...  Здесь код для перезагрузки датчиков...
      errorFlag = True
      break
  if errorFlag:
    continue # Пропустим выдачу температур на экран
fragment_from_ZagAl.png
fragment_from_ZagAl.png Ненавязчивая автоматизация ректификационной установки. Автоматика.
ZagAl Доцент Прибалтика 1.9K 916
Отв.1166  16 Февр. 18, 11:09
чем питание коммутируешь?m16, 15 Февр. 18, 13:11
m16, так на Raspberry Pi GPIO пины предназначены для вывода 3.3 вольта. То есть DS-ки питаются прямо от Малинки. Ради интереса напряжение замерял. Соответствует 3.3 вольтам.
P.S. DS-ки отработали более суток без ошибок.
2018-02-15-193453_815x462_scrot.png
2018-02-15-193453_815x462_scrot. Ненавязчивая автоматизация ректификационной установки. Автоматика.
makh Профессор Sаmara 2.1K 1.1K
Отв.1167  16 Февр. 18, 14:26
GPIO пины предназначены для вывода 3.3 вольтаZagAl, 16 Февр. 18, 11:09
Ой. Нет, не предназначены они для питания чего либо, максимальный нагруз на них в единицах миллиампер, насколько помню. Горячие датчики потребляют больше холодных, вот оно и версия, почему откисает на горячей трубе. Надо бы мосфетик маленький для включения гирлянды..
ZagAl Доцент Прибалтика 1.9K 916
Отв.1168  16 Февр. 18, 15:03, через 37 мин
Горячие датчики потребляют больше холодных, вот оно и версия, почему откисает на горячей трубе.makh, 16 Февр. 18, 14:26
makh, этот вариант я пробую пока на неработающей колонне.
А вообще подумалось, что так как я пытаюсь смоделировать ситуацию отвалившихся датчиков совершенно не правильно. Ведь питание и земля от них не отключаются. Значит нужно анализировать линию данных...
m16 Модератор Тамбов 1.9K 1K
Отв.1169  16 Февр. 18, 20:09
в гирлянде может быть повисшим один датчик при этом в линию данных слать мусор. только снятием питания его можно привести в чувство.
от порта малины питать как то стрёмно , во такой ключик на мосфетах собирай.
22m.png
22m. Ненавязчивая автоматизация ректификационной установки. Автоматика.
OldBean Доцент Красноярск 1K 1.4K
Отв.1170  17 Февр. 18, 04:57
А вообще подумалось, что так как я пытаюсь смоделировать ситуацию отвалившихся датчиков совершенно не правильно. Ведь питание и земля от них не отключаются.ZagAl, 16 Февр. 18, 15:03
Правильно подумалось :) Самый простой способ моделирования неисправности на шине 1-Wire - закорачивать сигнальную линию на землю и не отпускать (пока, например, не сняли питание с датчиков). В частности, именно такую ситуацию (ноль на линии) у меня "организовывал" один сильно "нервный" и чувствительный к наводкам датчик (это когда я "вычислял" стартер старой люминесцентной лампы). А в малинке это просто выглядело как пропадание всех датчиков с шины (условие if Ts.get(id) == None...). Однозначно "лечилось" кратковременным снятием и подачей питания на датчики/датчик.

Но, ИМХО, лучше бы Вы потратили время, силы и другие ресурсы на поиск источника помех. И, кстати, расскажите все-таки, если, конечно, не секрет, устройство Ваших 3 метров шины 1-Wire. Антенна 3 метра, если сделана "правильно";) будет много чего ловить.
ZagAl Доцент Прибалтика 1.9K 916
Отв.1171  17 Февр. 18, 11:49
Вот. Провод 4х жильный неэкранированный. На корпусе: верхний ряд - 4е коннектора для DS-ок, нижний ряд +5v, 12v, 7 и 8 это коннекторы для шаговых двигателей. Выключатель слева для 12-ти вольт. Освещение в помещении - обычные лампы накаливания.
1518857276823-67819868.jpg
1518857276823-67819868.jpg Ненавязчивая автоматизация ректификационной установки. Автоматика.
204822.jpg
204822.jpg Ненавязчивая автоматизация ректификационной установки. Автоматика.
204821.jpg
204821.jpg Ненавязчивая автоматизация ректификационной установки. Автоматика.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1172  17 Февр. 18, 12:38, через 50 мин
Извините за офтоп...
Если нет смысловой нагрузки - удалю.

По поводу экранирования.
всю осень 2016 испытывали новый электровоз на БАМе (2ЭС-7).
На электровозе тяговые двигатели асинхронники, преобразователи на IGBT-модулях.
Очень долго не могли понять, почему один ТП (тяговый преобразователь) неожиданно, в тяге более 60% отключался, а потом успешно включался сам в работу. По другим ТП (3 шт) такого безобразия не было.

Долго ловили причину. Отловили ошибку по анализатору сигналов, которая шла от датчика оборотов двигателя.
Причем сигнал был сильно зашумлен и в пиках при тяге более 45%. При выбеге (езде накатом) сигнал чистенький.
Мозги ТП соответственно "съезжали" от такого сигнала, ТП отключался и начинал себя тестировать, ни чего не обнаружив криминального, он обратно включался в работу. Потом, минут  через 5 опять все по новому...  

Чего я только не делал, и менял датчик, и разъемы перебирал, и прозванивал монтаж - толку не было.
Причем это по времени затягивалось, т.к. за локомотив можно было взяться только при нахождении на канаве в депо.
Тут мне пришло в голову проверить экраны.
На датчике оборотов, экран кабеля посажен на GND со стороны ТП. На самом разъеме датчика, в районе тягового двигателя, экраны не были на массе, т.е. заизорированны.
По полученным знаниям, помнил, что по экрану не должны течь токи, только в этом случае будет от него эффект.
Т.е. все сигнальные линии, которые чувствительны к наводкам, должны иметь экран, который должен посажен на массу (GND) только с одной стороны, в начале линии, со стороны усилителя сигналов. А на датчик GND пропускается отдельным изолированном проводом в общем пучке. Все GND собираются в одном месте, в разъеме.

Вернемся к локомотиву.
Прозвонил экран датчика - все ОК, как и положено.
Шунт на двигателе имеется и тоже в порядке.

Стал просматривать силовые кабели, которые тоже имели свои экраны.
Удобней было их проверить со стороны ТП, т.к. было проще убрать экраны от массы. Звоним экраны - "все в порядке" - со стороны двигателя  не прозваниваются, значит заизолированы. Вроде как по "правилам"...

Уже не зная куда копать, решил сравнить как с экранами на соседнем ТП, который нормально работает без сбоев.
Проверяя экраны силовых проводов - что за хрень! Они со стороны двигателя на земле!
ЁБ!!!...
И тут мне становится понятно, что экраны на силовых кабелях не надо рассматривать как экраны на датчиках!
ЭТИ КАБЕЛИ ИСТОЧНИКИ ПОМЕХ И НАВЕДЁНКИ!
Т.е. экраны должны сидеть на GND с обоих сторон кабеля.

Окрыли клеммную коробку двигателя, увидели, что так и есть - все три заизолированы. На заводе монтажник пакость сотворил. Нашли в последствии виновника- не знаю...
Восстановили на месте контакт экрана кабеля с GND. Больше ТП не брыкался.

К чему я опус напечатал.
Экранироваться нам нужно ОБЯЗАТЕЛЬНО. Особенно линии на цифровые DS-ки...        
OldBean Доцент Красноярск 1K 1.4K
Отв.1173  17 Февр. 18, 12:53, через 16 мин
Вот.ZagAl, 17 Февр. 18, 11:49
Спасибо. Детали монтажа не очень видны, но, если я правильно понял, датчики у Вас висят не на одной шине (т.е. - не как лапочки на елочной гирлянде), а включены как бы "звездой". Т.е. 3-метровые провода идут к каждому датчику отдельно и соединяются уже где-то на малинке. Если я правильно понял, и это действительно так, то такая "звезда", в сочетании с железом установки, в принципе вполне может работать как антенна. Может быть в этом проблема?

Если есть осциллограф, посмотрите сигнал в точках рандеву проводов, идущих от датчиков (или прямо на малинке). Сигналы питание-земля и сигнальная линия - земля. При выключенной установке и при включенной. Нет ли там чего-нибудь необычного? Посмотрите, в том числе, и на медленных развертках (герцы или доли герц).

Экранироваться нам нужно ОБЯЗАТЕЛЬНО. Особенно линии на цифровые DS-ки...BogAD, 17 Февр. 18, 12:38
Оно, конечно, не помешает. Если помех много. Но я бы не стал так категорично утверждать. У меня хорошо и совсем без сбоев работает 3-проводная линия (ремень). Длина - около 2 метров. Датчики расположены как на гирлянде. После того, как заменил "нервный" датчик (он сам потом сдох) и отодвинул провод питания лампы в сторону на пол-метра, никаких проблем с DS-ками больше не наблюдалось ни разу.
gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.1174  17 Февр. 18, 13:11, через 18 мин
+1
У меня кабели DS-ок от дохлых мышей, а они экранированы. Никаких проблем.
OldBean Доцент Красноярск 1K 1.4K
Отв.1175  17 Февр. 18, 13:18, через 8 мин
от дохлых мышеgol_avto, 17 Февр. 18, 13:11
Хорошая идея ;)
PavelSaratov Доктор наук Саратов 622 80
Отв.1176  17 Февр. 18, 14:15, через 57 мин
Т.е. все сигнальные линии, которые чувствительны к наводкам, должны иметь экран, который должен посажен на массу (GND) только с одной стороны, в начале линии, со стороны усилителя сигналов. А на датчик GND пропускается отдельным изолированном проводом в общем пучке. Все GND собираются в одном месте, в разъеме.

http://www.bookasutp.ru/Chapter3_5.aspx
Там разжевано почему с одной стороны. С силовыми - чето я физику процесса не понимаю если честно.

Экранироваться надо, спору нет.

Те у кого работает на коротких линиях - тоже ничего удивительного. У них просто есть риск трудноотлавливаемую помеху словить.

Вообще если смотреть на все с точки зрения энергии - все гораздо понятнее. Есть кабель обмена информации. В нем скажем так с штатном режиме E энергии. Любая помеха извне (индуктивная или какая угодно) сбивает количество энергии в контуре. Он начинает чудить.

А что из этого следует? Все просто - если ваша установка стоит среди деревяшек и ваш ТЭН/электроника не фонят на этот контур - лишней энергии взяться неоткуда. Все будет нормально.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.1177  17 Февр. 18, 18:22
С силовыми - чето я физику процесса не понимаю если честно.PavelSaratov, 17 Февр. 18, 14:15

Ну вот же! Из вашей ссылки:
По сигнальным цепям:

3.5.2. Экранирование сигнальных кабелей...

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


По силовым:
3.5.4. Экраны кабелей на электрических подстанциях
На электрических подстанциях на оплетке (экране) сигнального кабеля автоматики, проложенного под высоковольтными проводами на уровне земли и заземленного с одной стороны, может наводиться напряжение величиной в сотни Вольт [Ke] во время коммутации тока выключателем. Поэтому с целью электробезопасности оплетку кабеля заземляют с двух сторон.
Для защиты от электромагнитных полей с частотой 50 Гц экран кабеля также заземляют с обеих сторон. Это оправдано в случаях, когда известно, что электромагнитная наводка с частотой 50 Гц больше, чем наводка, вызванная протеканием выравнивающего тока через оплетку.
PavelSaratov Доктор наук Саратов 622 80
Отв.1178  17 Февр. 18, 20:06
 Не вы меня не поняли -почему сигнальные надо экранировать так и никак иначе и физику процесса я понимаю отлично.
Про силовые я из вашего описания не понял физики - чего там все так плохо работало. А то что экран (на самом деле броню а не экран силового кабеля надо с двух сторон - это ПУЭ если мне не изменяет память - смысл в том , что на предприятии с одного конца оторвется и внезапно окажется вся оплетка кабеля под напряжением. но ВНИМАНИЕ - это вообще никакого отношения к экранам и помехам не имеет, это требование безопасности, чтобы человека не убило. Поэтому и написал что не понял.

Поэтому с целью электробезопасности оплетку кабеля заземляют с двух сторон.
Для защиты от электромагнитных полей с частотой 50 Гц экран кабеля также заземляют с обеих сторон. Это оправдано в случаях, когда известно, что электромагнитная наводка с частотой 50 Гц больше, чем наводка, вызванная протеканием выравнивающего тока через оплетку.
По трезвому подумаю. Криво как то все. БАД для электрики какой-то. Когда блин известно. Академик писал не меньше.
OldBean Доцент Красноярск 1K 1.4K
Отв.1179  17 Февр. 18, 20:13, через 8 мин
Как говорят в Одессе: "Я на вас удивляюсь, коллеги!".
Вместо того, чтобы просто "не мусорить в помещении" сильными импульсными помехами, которые вышибают даже цифровые каналы связи и сами DS-ки, начинаются серьезные действия по защите от этих помех и/или проработке вариантов восстановления работоспособности системы после их воздействия. Ректификационная установка домашнего/лабораторного уровня должна быть настолько же "экологичной", как и обычный бытовой прибор типа телевизора или компьютера. Ну зачем же дома воспроизводить промышленные условия и потом с ними героически "справляться"?

PS
А при обычном уровне помех "цифре" глубоко плевать ходит она по простой витой паре или по экранированной. Т.к., что 15 мкВ, что 3584 мкВ - это все-равно ноль по сравнению с 3.3В. И никакого влияния на цифровой канал эти помехи не оказывают. Цифры я взял "с потолка" - из статьи, ссылку на которую привел уважаемый коллега PavelSaratov (рис.3.102).