Ви не увійшли.
Сторінки 1
DFrobot собирает заявки, выбирает победителей и высылает на выбор 5 C3 boards либо 1 C3 + 1 oled display
Их интересуют видео 5+ минут своих проектов, собранных на базе этой платы. Распаковка и общие обзоры платы их не интересуют.
Инфо
https://community.dfrobot.com/contest-771.html
Что хочет фирма
https://community.dfrobot.com/makelog-312583.html
Про девайс
https://wiki.dfrobot.com/SKU_DFR0868_Beetle_ESP32_C3
Апликационная форма
https://jinshuju.net/f/Jw6iyH
Срок - то ли 6 то ли 4 июля (на одной странице 6е со временем, на другой что победителей объявят чертвертого, где-то опечатка).
Думаю кому-то будет полезно.
Кондер на Vin до сраки, он должен быть на Vcc Arduino, там где стабильные 5V. Похоже все это на какой-то брак в стабилизаторе ардуинки, либо емкости низкого качества. Я не вникал куда именно включены 2 больших серых кондера у разъема питания, но зато теперь я знаю где кондер должен быть. В церковь потому что все это очень напоминает какую-то мистику, а осциллографа, к сожалению, нет чтобы проверить что это за дичь там происходит при нормальном уровне напряжения...
Снова добрый день!
На днях разобрал, соединил на столе, обнаружил что при шевелении одного из проводников по питанию пропадает контакт, оказалась микротрещина идущая через половину жил многожильного провода. Всю цепь питания заменил и хорошо пропаял, кроме того замкнул дополнительно минус питания на общий самодельной платы, чтобы это не шло через Arduino (там и так цоколь разъема питания связан с GND пинами, которые у меня соединены с платой).
Теперь что куда ни шевели - контакт не пропадает, в этом уверен.
Небольшое уточнение по симптомам.
Если схема холодная - проблема не наблюдается никогда. После прогрева вроде бы работает стабильно (2 часа отработала без подключенной периферии). Если нажать на микроконтроллере кнопку reset - начинает тикать все как описано выше. Повторные reset проблему не снимают, тикает. Если кратковременно выдернуть 12V 1A источник питания из розетки и сразу воткнуть обратно - агония прекращается, схема возвращается в рабочий режим. Воспроизводится стабильно. Почему кнопка reset может приводить к такому состоянию? Пока не было фактов спонтанного возникновения "тиканья", но я все таки хочу устранить эту проблему полностью чтобы исключить ее в будущем. Не имею желания ставить второй микроконтроллер который будет опрашивать первый и прерывать цепь питания на секунду в случае его агонии, это напоминает установку второго компьютера с CD приводом напротив кнопки reset для удаленной перезагрузки
И проблема не воспроизводится если в USB-B разъем Arduino воткнуть USB кабель, подключенный обратным концом в зарядку от мобильного телефона, НИ К ЧЕМУ НЕ ПОДКЮЧЕННУЮ. Как только выдернул USB из зарядки и нажал Reset - снова начало тикать. Еще из мистики - при втыкании USB кабеля в ни во что не включенную зарядку Arduino перезагружается, при выдергивании начинает тикать. Не в каждую зарядку, есть одна предположительно неисправная (в виду того что есть лишняя - скинул в ящик не разбираясь что с ней) так с ней Arduino успевает один раз из 3х запрограммированных при включении раз пикнуть и просто зависает. При перевтыкании основного питания тикать перестает. У меня вопрос - может стоит сходить в церковь?
Прозвон свободного USB разъема при работающей схеме показывает что из USB разъема платы в обратном направлении есть питание, 4.4V на красном и 3.2 на зеленом. На белом 0. Пробовал кратковременно коротнуть на землю - перезагрузки не произошло, работает все как и раньше.
Таким образом, все что я писал выше по поводу отдельного источника питания для Arduino как решения проблемы - бред сивой кобылы, дело не в источнике а в том что на USB разъем надо повесить какую-то затычку, а что именно - конденсатор или что я пока не понял. Эту зарядку разбирать лень смотреть что в ней, стоят ли на шине данных подтягивающие резисторы или они просто не подключены а есть только +5 и земля. Там точно на выходе с трансформатора (другие зарядки изучал) должен стоять сглаживающий конденсатор, обычно LED через резистор, который с таким же успехом будет питаться от Arduino, возможно какой-то диод или стабилитрон в противофазе назначение которого не знаю, возможно защита от обратной полярности на выходе.
-----
Емкость 16V 220uF воткнутая в USB разъем между +5 и GND надежно решает проблему. Видимо эту же роль выполнял конденсатор, который есть на выходе импульсного трансформатора каждой зарядки. У меня схема поработает в таком режиме на соплях пару суток, если рецидива не будет - подумаю куда эту емкость по хорошему впихнуть. Возможно между Vin и GND Arduino, там как раз оба пина не используются и при должной сноровке можно обойтись без пайки. А возможно параллельно разъему питания в корпусе... надо будет еще проверить где она будет действовать а где нет.
Можно подавать 5V на 5V Uno? Или на Vin? Я прозванивал их на разъемы питания и +5v от USB, они там не прозваниваются, как будто стабилизации 2 уровня. Фактически вчера несколько часов непрерывной работы от 12v источника как писал - прошли без проблем... без ethernet шилда.
Разность измеренного на разъеме питания Arduino Uno с шилдом и без него, последний знак +-1
В даташите на W5100, кажется, 100mA было написано, реально 170 и это я еще кабель не подключал, просто вхолостую.
Ну смотрите, сейчас уже больше 15 минут работает без Ethernet, все остальное подключено включая термодатчик, датчик тока и так далее (все питается от стабильных 5V платы Arduino) - 1117 еле теплый.
Ethernet постоянно потребляет около 0.17А, на стабилизаторе гасится около 7 вольт. Получается что с ним 1.5 Вт, без него 0.15 Вт рассеивается. Зависимость температуры от мощности не помню. Как бы в 10 раз отличие. Получается что греться должен?
По измерениям 0.32A на всю систему от блока питания (включая реле), 0.29А все там же если подключить Arduino по USB к ПК.
В 3mA на работу микроконтроллера я как-то слабо верю. Чисто на Arduino + Ethernet + то что от стабильных 5V Arduino запитано - при измерении в разъеме питания Arduino 0.19A при нормальной работе и 0.20A при включенной пищалке. Итого получаю 0.13A на реле что соответствует 92 Омам, согласуется с указанными в даташите 90 Омам. Отсюда вывод что при подключении питания к Arduino от внешнего источника и от USB одновременно, стабилизатор Arduino потребляет независимо от наличия питания на USB, причем потребляет прилично.
причиной может быть сглаживающий конденсатор
Либо его отсутствие. Вскрывать рабочий БП желания нет, он от факс-модема, модем еще периодически используется для автодозвонов, но судя по размерам и весу БП там кроме солидного трансформатора и моста влезет максимум масенький конденсатор... Видал БП от хабов, выдающие вообще переменку... Не суть важно, суть в том что 3 БП, на всех происходит дичь. Если Arduino питается от USB (который включен в зарядку от смартфона), а реле от 12V БП - сутки стабильной работы есть.
Было 2 рабочих идеи - во первых прекратить насиловать стабилизатор Arduino и запитать все БП 7-9V не более, катушка реле такое напряжение переносит нормально, я проверял сразу после покупки. Позже оказалось что разъемы 2.1*5.5 и 2.5*5.5 совместимы только в одну сторону и просто потыкать штекера не получится Сейчас я хочу проверить стабильную работу системы в случае 2 независимых БП (именно для проверки как себя ведет стабилизатор Arduino, не USB) но вчера нарвался на то что сама плата + Ethernet не от каждого блока стартует. Например, от трансформаторного потребление 0.1A и кроме LED'ов не подает признаков жизни, от Кварца берет 0.17 с тем же результатом.
Этот с шилдом - 0.20А при отключенном всем остальном.
Другой, голый Uno без шилда так же как и первый ест от обоих БП 0.02A. Итого в системе 2 самых прожорливых - Ethernet shield и катушка реле.
Сейчас извлек Ethernet, подключил все без него и запустил вместе с реле от одного БП (перекомпилировав, естественно) - посмотрю чем это закончится.
У меня источники 12v 1A, 9v 1A, только Кварц БП1 на 9v 70mA выхода написано, но мне кажется что он умеет больше.
Adruino 50mA, W5100 shield + SD еще порядка 100, катушка реле не более 130mA, max232 1mA, термодатчик понятия не имею, а остальным можно пренебречь. Итого не более 300 mA. Реле от отдельного источника это глупость, а по тестам получилось что при отключенном реле система тоже тикала...
Это может быть связано с питанием.
Источник 12V - на контакте Vin чуть меньше (он не связан вроде бы со штекером), на 5V - 4.99, на 3.3 стоит 3.29. В разобранном виде работает нормально (в собранном были траблы именно с этим блоком). Источник 9V трансформаторный - просаживается до 6 с чем-то, на контакте 5v только 4, контроллер не запускается. Советский "Кварц БП-1" на 9v дает на Vin порядка 7, напряжения в норме. Но если подключить на Arduino Ethernet shield - напряжение ниже и тоже не запускается. Итого работает только от 12V источника...
Итого. От источника 12 V - прилично греется AMS1117, с нижней стороны платы палец удержать довольно тяжело, сверху не трогал потому что накрыто Ethernet шилдом. От источника с меньшим напряжением - не тянет из-за просадки. Что делать?
Мне все же кажется что проблема аппаратная или даже какие-то наводки. Один товарищ посоветовал запитать Arduino и реле от разных независимых источников и воспроизвести. Сутки непрерывной работы, источник - USB зарядка от телефона.
Переполнение памяти исключено, я достаточно долго оптимизировал код прошивки и устранил практически все динамическое выделение памяти, строки заменил на массивы и так далее.
Еще один фактор говорящий против теории переполнения памяти - основной код в loop(), а при циклической спонтанной перезагрузке не успевает до конца отработать setup()
На дне видны только SMD резисторы и конденсаторы. Открути плату от экрана аккуратно если там не пайка намертво и посмотри что там за микросхема. Возможно mini-USB там только для питания, а 16 контактов для передачи данных. Далее смотреть спецификацию микросхемы чтобы понять что это и как это использовать.
Я не утверждал, я говорил что нужно проверить. Черт его знает что это за voltage sensor и на базе чего они сделаны. Если измерять напряжение делителями на резисторах - это точно чувствительно к Vcc. Проверяется просто: получите напряжения при питании от USB и при питании от внешнего источника. Если отличается - приехали.
По сети гуляет код основанный грубо говоря на измерении AnalogRead несколько раз и выборе медианы в качестве значения, там же каким-то хитрым образом из самого Adruino получается значение Vcc, но работает это дольше и, честно говоря, достаточно хреновая точность. Я сам на это нарвался и пришел к выводу что абсолютно точно можно получить напряжения только имея идеально стабильный источник питания для Arduino (такой чтобы Vcc действительно ни от чего не зависел включая температуру) и откалибровав делитель на резисторах по десятку измерений напряжения равномерно распределенных на интервале от 0 до 5 (в Excel можно построить линейный тренд). Причем калибровать в боевых условиях и получать данные точно не по USB от которого будет браться паразитное в данном случае питание.
Добрый вечер.
Схема следующая: Arduino UNO сидит в корпусе, на нем Ethernet shield.
Питание DC 12V через разъем 2.5 х 5.5 мм на самом корпусе. С этого разъема берется питание для Uno и питание для катушки реле.
С Uno берутся 5V для питания самодельной платы. На плате через ограничивающие резисторы стоят 2 транзисторных NPN ключа - один включает пищалку (питающуюся от 5V), второй включает реле (т.е. замыкает катушку на землю). Реле шунтировано диодом как положено.
Когда это все находилось на столе в разобранном виде - все работало, но возможно из-за того что тесты не были длительными. Как только оно все было накручено на стенки самодельного корпуса начинает происходить какая-то дичь. Иногда через пол часа работы, иногда через считанные минуты реле начинает беспорядочно щелкать, а пищалка пищать. Arduino самопроизвольно уходит в перезагрузку, при инициализации 2 ноги дергаются в логическую единицу (реле должно включиться, пищалка пикнуть 3 раза, а после успешного получения данных из интернета - еще раз). При этом оно успевает пикнуть раз и уйти в ребут, в бесконечный цикл пока не выдернешь питание.
Грешил на плохой контакт в разъеме. В Uno стоит 2.1х5.5, я изначально воткнул 2.5х5.5 которые визуально похожи. Сейчас заменил на 2.1х5.5 но проблема осталась. Отключил реле полностью - те же грабли, только пищалка пищит. Как думаете, с чем связано?
Причем точность измерения третьего (точнее, суммы трех) будет хуже чем точности измерения первых двух. Вычитая первые два получите цифру, отличающуюся от реальной. А еще проверьте, как результат, выдаваемый этими сенсорами, будет зависеть от Vcc самого Arduino, есть предположение что сильно.
Удалось методом танцев с бубном заставить модем ответить на самоделку на базе max3232. Включил другое устройство - не отвечает, вернул назад - та же история с постоянно горящими индикаторами RX / TX на модеме. Если подавать 2 секунды высокий и 2 секунды низкий сигнал на TX в цикле - на выходе напряжение порядка 4V в плюс или в минус. На входе при этом 1.3 вольта непонятно откуда берущиеся (при выключенном модеме) либо напряжение того же знака уровнем около 8 вольт если модем включен. Это равносильно очень медленной передаче данных 1 бит в 2 секунды. При этом на ноге Arduino отвечающей за RX уровень 2.76 или 3.16 вольт в зависимости от состояния выхода... и то и другое логическая единица, бред какой-то но один раз оно заработало.
Кажется что неисправный max3232, так как на выходе RS232 порта может быть как +-7V так спокойно и рабочий уровень +-4V (что ниже требуемого стандартом) и даже при одном включении видел 3.8 с постоянным знаком, не зависящим от того что подается на логический вход... Цепь RX работает - если кабель не подключен на логике может быть все что угодно от 0 до 3, если же на входе замкнуть RX на +5 получим сразу логический 0.
Добрый день.
Есть проблемка. Задача - управление устройством по RS-232 протоколу с помощью Arduino Uno R3.
Используется SoftwareSerial на 2 случайных пина (в данном случае 6 и 7).
Когда включаю через эту ерунду, к разъему "мама" которой соплями воткнут разъем "папа" взятый с задней стенки какого-то Pentium 1 компьютера - пациент (пока что факс модем) успешно принимает команды и отвечает на них. При подаче сигнала или ответе модема на самом модеме загораются соответствующие LED'ы RD и SD. Тестовый скетч, меняющий TTL уровень TX ноги Arduino показывыет что на пине TX(3) относительно GND(5) разъема DB9 (M) допустимые уровни RS-232 сигнала (+5.5 и -5.5V).
Поскольку мне нужен разъем "папа" а не "мама", а отпаивать и менять - варварство, взял такую штуку
и напаял к ней штырьки в 2 ряда для полной совместимости с разъемами на материнских платах старых компьютеров, подключил туда DB9 напрямую. В результате - на той же ноге уровни те же и меняются, но при подключении к факс-модему RD и SD сразу загораются и горят непрерывно, модем на команды не отвечает.
Идеи будут у кого-то почему так? Я конечно понимаю что модем это пациент для тестов, мне нужно просто отладить софт для отправки строковых команд в порт и получения ответа, после чего переходить в условия приближенные к реальности...
Добавление: с другим оборудованием второй вариант тоже не работает. На той стороне метрового COM-COM кабеля при питании 3.3V слишком низкое напряжение, если питание +5V то уровень выставляется на +-7V и это уже обязано работать.
Можно купить самый дешёвый бесперебойник для компьютера
Идея вполне рабочая, если бесперебойник брать дешево Б/У или нашару, а питаться от клемм АКБ. Если считать отключения кратковременными - можно даже не контролировать переход через минимальное напряжение АКБ при разряде (10.8V ниже которого они дохнут). Ну либо контролировать через делитель на аналоговый вход и отключать нагрузку (т.е. себя) от батареи надо подумать как чтобы оно обратно потом включилось. Альтернативный вариант - любой блок питания и любой аккумулятор (6V от фонаря, например), не забыть что на АКБ надо на пару вольт больше чтобы он заряжался (читать даташит производителя) и выход стабильных 5V через резистор и LM7805. Ну либо готовые модули бесперебойного питания 12V, их навалом в продаже.
Продолжая традицию некропостинга.
Если сканер рабочий (без полос) то зачем его разбирать? Вещь довольно полезная. Как минимум там есть преобразователь напряжения с 220 на ***, USB контроллер который можно под что-то пристроить, шаговый или какой-то еще двиг и лампа.
Засохшие струйники вполне нормально размачиваются, если чернила были водорастворимыми а не пигментными. Если картриджи такие что легко заправляются шприцем (как у лексмарков, например) то это добро обходится дешевле лазерника. Если картриджи навороченные - опять же шаговые двигатели, преобразователь напряжения и USB / LPT контроллер.
Что касается ноутбука - нести на ближайший радиорынок, там его детали очень даже кому-то могут пригодиться. Потому как LCD панель вы фиг подключите к чему-либо кроме ноута этого же производителя (хотя кто знает...), HDD там наверняка какая-то мелочь типа 128 / 256 можно пристроить в самодельный внешний USB диск...
Ставьте параллельно, тогда балансировать ничего не нужно.
Ну вот я как раз в соседней теме спросил чем принципиально отличаются имеющиеся в продаже "датчики напряжения и тока" от делителя напряжения. Самое простое что напрашивается - сделать делитель, с одного плеча считывать напряжение напрямую аналоговым входом. Еще точность бы учесть при расчете делителя, а не только максимальный уровень. В идеале - какая-то защита от прогорания резистора на плече, иначе высокое напряжение пойдет на аналоговый пин. Проще всего одно из плеч делать из нескольких параллельно соединенных резисторов - один сгорает, остальные остаются - в результате напряжение плеча меняется но не до уровня входного.
На один вопрос ответ уже нашел, с помощью библиотек SoftwareSerial или AltSoftSerial можно любые пины пристроить на UART и подключить к MAX232, значит даже UNO может собирать информацию с нескольких устройств по RS-232 кабелю.
Добрый день.
Опыт разработки - одно изделие, суть которого в считывании логических уровней входов, их обработке и переключении логических уровней на выходах с выводом дебага по USB. Короче, опыта ноль.
Нужно с помощью микроконтроллера опрашивать устройство, имеющее RS-232 интерфейс, получать данные с датчиков, в идеале все это писать в лог файл и опционально передавать в LAN или отдавать по команде с ПК по USB шнуру.
Вроде как Arduino не имеет готового RS-232 контроллера, потому нужно использовать MAX232. В этом чипе распаяны 2 COM-порта, но при этом все готовые платы расширения почему-то содержат только один порт, пины второго из микросхемы - не используются. Почему так и есть ли готовые платы на 2 порта?
Чуть менее чем все статьи, касающиеся использования MAX232 вместе с Adruino основаны на Arduino Due или Mega, хотя подключение сводится только к соединению питания, земли и 2х логических (TTL) выводов. Почему нельзя использовать Uno?
В чем сложность инициализации вида Serial1.begin(speed) где еще передать дополнительные параметры - произвольные номера пинов, используемых в качестве RX и TX?
Вижу в продаже готовые совместимые клоны Arduino с разъемом для подключения SD карт, например Crowduino Uno-SD V1.5. Что посоветуете - изначально разрабатывать все на базе этого клона, или использовать классический Adruino с платой расширения, содержащей SD слот? Второй вариант, кажется, выйдет дороже.
Есть ли в природе датчики тока, совместимые с Arduino, работающие в диапазоне от 0 до 30 ампер (+запас, т.е. 50А) или лучше сразу делать самопал на базе трансформатора тока? (Измерять нужно DC, вижу только до 5А)
Нужно несколько датчиков напряжения (измерять буду что-то в интервале 0-50V). К чему они подключаются на Arduino - к аналоговым входам? Тогда в чем плюсы готовых датчиков относительно обычного делителя напряжения с замером на аналоговом входе? Если выход идет на цифру, его желательно не занимать а то мало ли я захочу все таки писать на карту памяти или передавать по Ethernet, а его включить уже будет некуда...
Интересно, но зачем контроллер коллектору? Понятно там для систем на солнечных батареях можно много чего интересного придумать...
Приветствую!
Наткнулся на данную тему случайно в поисках информации о режимах восстановления АКБ, решил зарегистрироваться т.к. с Arduino недавно имел дело для автоматизации других задач, что собственно было моим первым опытом работы с микроконтроллерами.
И идея и программа отличные, но местами комментарии в коде (видимо, из-за копипаста) перепутаны, потому запросто собьют с толку человека, плохо разбирающегося в программировании.
Например, digitalWrite(LoadPin, 0) должно быть помечено как "Выключаем нагрузку" а не "Выключаем зарядку".
Еще в Mode3 я бы сначала замерял напряжение, а потом бы уже включал зарядку если оно ниже нормы, а так получается если напряжение на АКБ в норме включится на 0.1 сек и сразу выключиться. Не знаю в общем случае, но я бы не дергал лишний раз тумблера.
Подумываю, а не собрать ли на досуге, потому как в данный момент на подоконнике пытаюсь оживить 3 сушеных из UPS после долива, потому как UPS, сволочь, сушил всю последовательную батарею током 2А и не отключал, собственно причины такого деструктивного поведения мне не понятны, но в результате один скорее жив, один скорее мертв из-за переполюсовки или кз одной из банок, а третий фиг его знает...
Сторінки 1