-
Постов
281 -
Зарегистрирован
-
Посещение
Информация о AS7ti6K
- День рождения 01.01.1976
Информация
-
Пол
Мужчина
-
Город
Vls
Электроника
-
Стаж в электронике
Не связан с электроникой
Посетители профиля
1 869 просмотров профиля
Достижения AS7ti6K
-
Хм... я специально 220 оставил во второй части устройства, где оно необходимо еще и для реле/нагрузки. Была мысль сделать БП для "мозгов" рядом с ними(мозгами), но подводить туда 220 не стал... Или, если я правильно понял, делать нужно БП например на 9-12 вольт, а через несколько метров проводов возле контроллера DC-DC на 5 вольт. Так?
-
Эх. сначала делаем потом думаем. это я про себя. Учту... и скорее всего буду переделывать этот девайс с учетом выявленных ошибок и за зиму может еще чего всплывет. Ну как уже предположили выше, да, просто у меня ее полно, а других проводов нет. Да и по своей безграмотности считал, что витая пара - это супер провод на все случаи. Ну я думаю что данный провод не для пайки. Сейчас же современные соединения безпаячные, обжимные... Одножильный из витой его вообще тяжело лудить/паять.... у него и изоляция плавится... По поводу емкости проводов. Ее чем можно снизить, ну раз уж я неправильно начал использовать витую пару, то может есть какие "временные" решения. Просто сейчас с нуля все переделывать - это не вариант.( По I2C я пока датчики не подключал (наверное ждет меня очередной сюрприз). DHT22 не по I2C. Спасибо всем.
-
Причину напрочь отваливавшегося(решалось только перезапуском контроллера) датчика нашел у себя в коде. После последней смены логики опроса датчиков, при ошибке считывания с датчика выставлял флаг ошибки датчика, а при возобновлении считывания забыл флаг сбросить Мой косяк... Но все началось (смена логики считывания тоже) это когда с датчика иногда считывались завышенные значения как по температуре так и по влажности одновременно. Я в коде этот глюк "исправил" т.е. если считались данные слишком разные от последнего считывания я их просто не учитываю. Но вопрос в силе. Нужно ли как-то, используя готовые модули датчиков и витую пару(довольно длинную) для соединения с контроллером мудрить какие нибудь фильтры? Может быть феррит... Иногда все же с датчика данные идут "битые". Или это нормально что периодически с DHT22 приходят неверные значения температуры и влажности? ...и просто их нужно отсеивать... Уточню для чего все эти отсеивания. Я сохраняю минимум и максимум значения по темп и влажности за сутки. И получается мин, допустим, 3 градуса C а макс 200 с лишним.... и это в кессоне, на улице....
-
Нашел. Переделал. Верно ли я понял, что чем ниже микрофарады и выше омы тем меньше ток утечки? Но я понимаю, что это все не просто так. В общем я на 500ватт поставил 0,1мкф и 39 ом, а на вентилятор 0,1мкф и 100 ом. Результат - ардуина не виснет, дисплей не притухает, реле срабатывают как нужно, но.... Решил новую тему не открывать а попробовать продолжить тут. Ибо скорее всего опять вопрос связан с питанием. На этот раз датчик. Датчик DHT22 (Библиотека Copyright (c) 2020 Adafruit Industries). Через несколько часов работы с датчика ничего не считывается. Датчик подключен к ардуине посредством витой пары. На фотках выше из первой части устройства выходит синий провод(витая пара) Одним концом впаян возле ардуины. Распайка витой такая же как и в соединительной между частями. Только четыре провода, которые там шли на 595, тут просто на цифровые пины ардуины, для подключения датчиков. (к одному из них и подключен DHT22) Дальше до датчика идет четырехжильная витая пара.. По двум жилам на датчик идет 5 вольт питания, а две другие скрутил между собой и на сигнал. Датчик выполнен в виде модуля, т.е. резистор (VCC - сигнал) на нем уже впаян. Длина провода 6-8 метров. Сам датчик под землей, в кессоне на улице. Сам пока ничего не предпринимал. В интернете нашел что не у одного меня такая проблема, кто-то предложил такой программный вариант DHT dht(dhtPIN, DHT11, 3); (по умолчанию, я посмотрел в коде библиотеке -там 6 стоит) Но подозреваю что это как-то связано все равно с питанием(неправильным), помехами с реле. Хоть я по питанию пока ничего особо не изменял, только снабберы на контакты сделал, и обжал вместо многожильных проводов - одножильные. Есть какие предложения решения отваливающего датчика на уровне схемотехники, но не переделыванием с нуля всего устройства? Или попробовать программное решение... И да, сначала я заметил, что иногда с датчика приходят завышенные показания. Я на тот момент просто в программе убрал этот глюк. У меня хранятся предыдущие показания датчика и если при очередном считывании они разнятся на большое значение, то в текущее записывается старое показание а не с датчика Сейчас из простого я хочу попробовать на питание между датчиком и ардуиной(к сожалению ближе к ардуине, ибо к датчику доступа нет) поставить большой электролит 2200 мкф и параллельно ему 0,1 керамику. Или это мертвому припарка?( Может нужна керамика между сигналом и землей?
-
Ок. Спасибо. Но я уже спаял из этих монстров (они больше самого реле получились) CBB22 115J 400v и МЛТ-2 39R. Сейчас тестирую, вроде пока норм... На всяк еще конденсатор 0,1 на защелку-землю поставил. Но с учетом: переделаю. Буду искать на 0,1мкф
-
Ок. Буду пробовать. Одно реле будет коммутировать лампу 500w, другое вентилятор примерно 30 ватт.... Нужны разные номиналы RC для них или одинаковые? Вот нашел CBB22 115J 400v - пойдет такой для лампы и резистор МЛТ-2 39R? Еще есть К73-9 несколько штук, но я так понял они не пойдут.... вроде до 100в
-
Да, спасибо. Это я уже понял....( Сейчас в интернете тоже искал, везде формулы, монограммы.... Эх, тяжело быть безграмотным Примерно тоже я нашел, буду пробовать. Только у меня вопрос. Конденсатор пропускает же переменный ток. Резистор само собой понятно. Тогда, если я правильно понял, нужно же как-то примерно так делать (D - контакты реле): То при разомкнутых контактах ток пойдет через снабб.цепь в нагрузку? Или он будет мал и ничего не будет? Ну и вопрос по конденсатору. Какой? Понятно, что примерно 0.1 мкФ 400V или (250vac или 400vdc) И понятно что это должен быть не электролит. Керамика? Или типа как у меня X2?
-
Дела такие. Я решил попробовать отдельно землю на 595 с ардуины. Взял кусок провода 20 см припаял прямо на ардуину на gnd и на 595 gnd, только не на ногу, а провод питания от 595 отрезал и припаял к минусовому проводу. плюсовой припаял к проводу от БП для обмоток реле. От второго БП просто пустил питание в розетку ну и по витой на ардуину и остальное. Включил. Стало еще хуже. Вспышки светодиодов, которые не должны гореть, стали ярче. Я в шоке и вообще в осадке.... хотел уж было все выкинуть в окно. Кстати я забыл в тот момент земли БПэшек соединить... Только сейчас ведь про земли вспомнил пока это сообщение набирал. Но напоследок решил попробовать выдернуть из обжимки розетки многожильный провод (хотя я раньше тут писал, что тестировал эти соединения) и вжать туда одножильные куски проводов витой пары. А к ним припаялся многожильными. Остальное осталось как есть. т.е. "синий" бп на обмотки реле, а "желтый" на все остальное. И земля в трех метрах ( я попробовал с длинным проводом) подключена. В общем включаю, и ура, работает. Горит только один, ну или все (как в скече прописано) остальные не моргают. Но радость была не долгой. Подключил для теста в нагрузку первого реле 100 ватную лампочку. И тут пошла помеха. При срабатывании (точнее при его выключении) первого реле, на соседнем вспыхивал светодиод. Но я к этому готов был, тут в теме про это уже говорилось. В итоге приношу свои извинения за то что мучил и сам мучился, дело было не в бабине.... Я понимаю, что все что сказано про питание и сигнальную землю - это не просто так. Я на будущее буду изначально, что бы потом не переделывать - делать как положено. А сейчас попробую пока оставить так, потестировать, а там видно будет....Может и выкину все и заново буду делать. Но сейчас помогите сделать (убрать помеху) что бы нагрузка не вызывала глюки. И есть ли возможность сделать как-то универсально что ли, т.е. не на каждое реле, а в общем..... или так не получится?
-
Как раз только что хотел написать что чуть позже все обдумаю и нарисую схему, как предположу сделать изменения, глянем? Ну надо же когда-то знакомится с дросселями.... буду искать эти гантели откуда выковырять. Ну мне кажется это сложнее и не надежнее. Но тут еще с вариантом OE можно программно разом все отключить, хотя программно можно нули или единицы все туда(595) отправить.... Ну в принципе это сейчас не главное. Спасибо. Чуть позже схему сделаю....
-
Убедительно Ок. Буду искать куда впаяться как можно ближе к ардуине. Так-то можно, но без него при подачи питания могут сработать хаотично реле. Это я еще давно где-то делал такое и потом сделал такой вариант с OE. Работает как надо. Но в тот раз было критично это, а тут в принципе можно и пренебречь этим хаотичным срабатыванием. А если такой вариант? I2C из текущей витой пары убрать. Один его(освободившийся от I2C) провод задействовать для сигнальной земли, второй в резерв. А есть у меня еще 4 жильная витая пара, вот ее отдельно пустить под I2C? т.е. две жилы SDA и SCL и две жилы питания I2C устройств(датчиков) взять там же возле ардуины, ну т.е. где приходит питание на ардуину, дисплей, енкодер...... А Блоки питания поменять местами. 700mA на обмотки реле и 595, а Амперный на всё остальное. Пойдет такой вариант?
-
Провода собс-но и нет Ведь 595 ставил как раз для освобождения провода для других целей.... Но ладно, я могу попробовать оставить 595 и выделить провод для отдельной земли, а между частями бросить еще один провод. Ибо даже если я уберу 595 то для I2C все равно придется делать еще один провод. Так вот вопрос где в головной части устройства сделать разветвление земли? Ардуина воткнута в разъем, возле разъема некие подобия дорожек на плате. там где пин земли припаян - припаяться не получится Где провод питания с витой пары припаян к плате, здесь разветвление сделать? И у меня есть подозрения, что я сейчас только часть проблемы решаю.... Я же сейчас тестирую реле без нагрузки. Вот мой X2 спасет меня или все же нужны снабберные цепи на контакты о чем предупреждали в начале темы? Дело в том, что на контакты сложнее сделать, а параллельно нагрузке, ну т.е. между контактными колодками на которые выведены реле можно делать эти снабберы?
-
Хм... его достаточно визуально идентифицировать?
-
Спасибо. Информация конечно ценная, я посмотрел.... но с моим уровнем знаний это.... Даже если я перечитаю всю статью от начала до конца, вряд ли я там разберусь в чем...:( Да и скорее всего это уже профуровень, неужели для моей поделки нельзя как-то проще это реализовать.... Но статью оставлю, попробую на досугах читать.... Но не, формулы я 100% не потяну... А дроссели - их как-то можно мультиметром идентифицировать? Я их почему и никогда не использовал, потому как.... резистор можно померить, на конденсаторах обычно все написано, на транзисторах тоже.... но и их как никак можно прозвонить, а дроссели...
-
@motoandrey14 Ок. Если я правильно понял, то в витой паре будет две земли. А вот с конденсаторами проблема У меня там залито клеем, да еще мелкое все такое..... провода-то сейчас попробую сделать как нужно. Единственное вопрос. А где их(земли) в головной части устройства соединить? Практически. Теоретически-то понятно, но даже если на ардуине сразу к пину GND, то по ардуине все равно в каком-то месте эти сигналы пересекутся..... Да и к пину то не знай как получится подлезть... на саму ардуину не хочется напаивать. Она из разъема вынимается и может уноситься для прошивки или замены Тогда вопрос, если оставить как есть. т.е. по витой паре земля одна общая и для питания и для сигнальных проводов, можно же как-то фильтр поставить? Или тот фильтр, который плюс минус километр толку не даст, и в целом с фильтрами будет сложнее сделать(переделать, еслиб с нуля другое дело)? Хочется минимальным усилием доделать этот девайс. Но на будущее урок по питанию..... Хотя никогда не заморачивался и земля была как бы общей везде... Палка, она такая, тоже выстрелить может
-
Да чего тут кривому быть: #include <LiquidCrystal_I2C.h> #define pinLatch 9 //ST_CP pin 74HC595 "Защелка" #define pinClock 10 //SH_CP pin 74HC595 "Такты" #define pinData 11 //DS pin 74HC595 "Данные" #define pinOE 12 //OE pin 74HC595 "Enable" LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // --------- SETUP ------------------ Serial.begin(115200); pinMode(pinData, OUTPUT); pinMode(pinLatch, OUTPUT); pinMode(pinClock, OUTPUT); pinMode(pinOE, OUTPUT); digitalWrite(pinOE, LOW); lcd.init(); lcd.backlight(); } void UpdateChannelState(const byte _bb) { digitalWrite(pinLatch, LOW); shiftOut(pinData, pinClock, MSBFIRST, _bb); digitalWrite(pinLatch, HIGH); } byte bb[10] = {B11111110, B11111101, B11111011, B11110111, B11101111, B11011111, B00000000, B11111111, B00000000, B11111111}; void loop() { for (byte n = 0; n < 4; n++) { lcd.setCursor(0, n); lcd.print(" "); lcd.setCursor(0, n); for (byte k = 0; k < 10; k++) { UpdateChannelState(bb[k]); Serial.print(k); Serial.print(" - "); Serial.println(bb[k], BIN); if (k<5) {lcd.print(bb[k]); lcd.print(",");} delay(500); } delay(1500); } } Скеч отпадает, виновник раздвоения - конденсатор. Но и помеха какая-то все равно присутствует... И подозреваю, что она уже после 595. Результат как сейчас заработало. Светодиод (и соот-но реле) на модуле, который по программе должен работать в определенный момент, горит ярко как и положено, а остальные в момент переключения (но даже и без блока питания, который на обмотки реле, т.е. без реле) режима вспыхивают чуть заметно все... Могу видео снять, но что-то оно у меня получается огромным по размеру