Зависание arduino при использовании переменного резистора
- Войдите на сайт для отправки комментариев
Использую Nano ATmega168 и вот такой шилд к ней http://robotdyn.com/catalog/shields/nano_i_o_expansion_shield/
Столкнулся с непонятной проблемой. Подключил резистор на 10 кОм. Если выкручивать ручку с максимума до минимума, то после значения < 80, зависает ардуинка и перестает реагировать на что либо, даже, мигать светодиодом.
Просто читаю значение и вывожу в Сериал. В конце задержка delay(500). Задержку пробовал убирать и менять.
В мониторинге порта примерно так
255
...
83
82
81
80
79
потом просто не чего не идет. Заметил что если попробовать остановится на значении блиском к зависанию, то цивры начинаю бежать очень быстро.
До этого с шилдом все работало вроде корректно, попробовал все тоже самое но Attiny85, все работает норм, но там нет вывода в сериал, просто включаю и отключаю светодиод по достижению пределов.
Естественно грешу на шилд, но это как то странно. Кто сталкивался с таким?
Схема включения и скетч секретны или ДСП?
Не чего секретного, все слишком просто. Резистор через шилд подключал к размым аналоговым входами А0 и А2. Там же порты для питания и земли. На шилде можно увидеть выводы.
Блин, ну как подключал-то? Резистор переменный? Постоянный? Куда подключал? Нет, тут явно что-то секретное, раз схему не дают.
ЕвгенийП, как вариант -он питание коротит резистором, стабилизатор на плате уходит в защиту.
ЕвгенийП, как вариант -он питание коротит резистором, стабилизатор на плате уходит в защиту.
Вот и я нечто подобное подозреваю, но человеку лень нарисовать подключение - его выбор.
Димах, Вы же электронщих, не проконсультируете чайника чуток? Есть минутка? я тогда схему с вопросом выложу (можно в отдельной теме).
Что-то Вы не отвечаете. Ну, ладно, я сейчас выложу здесь, может заметите.
Задача: вход простенького частотометра. Допустимая амплитуда "от <розетки> до <ардуиновского ШИМа>".
На схеме источник переменного напряжения - на самом деле вход - источник я для моделирования работы вставил. Красная точка - вход AVR'ки для тактирования таймера.
Как я это понимаю: за счёт большого резистора на входе, токи будут маленькими. После двух диодов буду иметь сигнал 0 - 0,6В. Усилитель (хочу поставить LM358) поднимет напряжение до 5В и всё это добро нормально протактирует таймер. При этом на входе может быть что угодно от 1,5-2В до 400В (диоды поставлю киловольтные)
Если почему-либо пробьёт диоды будет короткое замыкание - нужен предохранитель на очень небольшой ток.
Имеет право на существование? Или совсем нет?
Блин, ну как подключал-то? Резистор переменный? Постоянный? Куда подключал? Нет, тут явно что-то секретное, раз схему не дают.
Да какая там схема может быть? Самая простая. В теме написана про переменный резистор.
ЕвгенийП, не очень понятно зачем такой разброс напряжений, разве нужно в реальности? Я б сделал для сетевого 220 вольт - схему с гальваноразвязкой, а для TTL напрямую.
dimax, да, просто как-то хочется чтобы типа "что впихнул, то и измерилось", как в осциллографе. Делают же как-то люди.
А не чего, что я тему про другое создал? Может мне кто то поможет разобраться?
Извините.
А разобраться - ну, dimax же сказал - ищите соплю по питанию. Где-то Ваш средние провод пробивает на питание, но не прямо, а через некоторое сопростивление, неслишком большое (может контакт в сопле плохой)
ЕвгенийП, у меня в осциллографе для перехода между 220вольт и TTL нужно как минимум на щупе рычажок переключить и ручку входного делителя покрутить :)
Sequd, сфотографируйте что вы там подключили, только с высоким разрешением. Выложите куда нибудь на яндекс-диск например и ссылку сюда.
По посту #6. Думаю, что самый левый диод не нужен, т.к. входная ёмкость + ёмкость ОУ зарядятся, а разрядить их некому. Нужно ставить дополнительно разряжающий резистор. При питании от 12 В на выходе ОУ будет до 9 В. Для ардуины это многовато. Я бы запитал от 5-ти Вольт, а что бы напряжение на выходе подтянуть выше (в этом ОУ он занижен - особенности схемотехники), то от выхода ОУ к шине +5 В можно поставить резистор килоОм на 10-ть. Теоретически как то так.
Имеет право на существование? Или совсем нет?
Мне кажется, что для 400 вольт без гальванической развязки лучше не делать. А то у Вас ведь 220 на земле МК будет.
То есть, вместо операционника полевик, им коммутировать оптопару, а уж с оптопары прямо на вход МК.
попробуйте так https://yadi.sk/i/axJexSn6uoyak
компаратор наверно лучше взять сдвоенный 393
резисторы R3, R4 должны уметь работать до 1кВ.
Возвращаюсь к вопросу. Сначало как то все заработало неожидано, на макетке все отладил, начал поять и теперь опять таже проблема. Перепаял провода на более толстые, думал, те может переломалились. Опять тоже самое... Зависает и все.
Левый провод на землю, средний на ардуино, правый на питаение 5в.
Може еще что то нужно впаять?
Сделал фотки. https://goo.gl/photos/dq9MVnjWmCqmu2rQ8
Где-то Ваш средние провод пробивает на питание, но не прямо, а через некоторое сопростивление, неслишком большое (может контакт в сопле плохой)
Вроде все перепроверил уже по 10 раз. Как найти и как поченить?
Sequd, подключено правильно. Но тем не менее что-то глючит, это может быть как софт так и железо. Начните с установки другой версии arduino IDE.
Левый провод на землю, средний на ардуино, правый на питаение 5в.
питание МК платы - 3,3в, а не 5в
питание МК платы - 3,3в, а не 5в
З яких пор?
питание МК платы - 3,3в, а не 5в
З яких пор?
с той, что это единственно возможная причина возможного зависания.
с той, что это единственно возможная причина возможного зависания.
Ну это вряд-ли, а с другой стороны зависон то происходит при докручивании к земле. Сопли на землю такого эфекта не дадут. Раз меняется скорость, то походу помеха на линиях кварца.
А вот шилд да, походу выдает 3.3. Надо пробовать напрямую от юсб запитаться, без шилда. А то так можно долго гадать.
А вот шилд да, походу выдает 3.3. Надо пробовать напрямую от юсб запитаться, без шилда. А то так можно долго гадать.
он без шилда резистор подключает.
с учётом того, что плата - китайский клон, нужно проверить напряжение питания МК
В общем опытном путем удалось выяснить следующее
В коде была строчка для светодиода. Но к самому пину не было подключено. Если закоментировать строчку, то все работает. Почему так, я не особо понял, с цифровыми пинами такой проблемы нет.
Потом как оказалось, видимо не работал и сам пин, может как то сгорел?. Так как с подклеченным светодиодом, тоже не работало. Потом поменял на 6 порт, и все заработало нормально.
Всем спасибо кто участровал, на будущее буду знать.
теперь:
фак...
Ну код переписывался, как не сложно догадаться. Не думаю что стоит сомневаться в моем кунг-фу.
Всем спасибо кто участровал, на будущее буду знать.
"Если как-то сгорел, когда ничего к пину не подключено"... Вы никогда ничего не будете знать.
Всем спасибо кто участровал, на будущее буду знать.
"Если как-то сгорел, когда ничего к пину не подключено"... Вы никогда ничего не будете знать.
Буду рад твоим пояснениям.
Аналогичная ситуация. Виснит Ардуина напрочь при замыкании кнопки(на выходе A3). Не регулярно (обчно когда поработет минут 10). Из-за недостатка цифровых выводов четыре кнопки были подключены к аналоговым входам A0-A3. Кнопки просто замыкаются на землю без подтягивающих(внешних) резисторов. Остальные кнопки без проблем. Так до сих пор и не разобрался, не хочу перепаиваить ардуину в свою ПП. И да если принципиально, то аруино-мини.
Аналогичная ситуация. Виснит Ардуина напрочь при замыкании кнопки(на выходе A3). Не регулярно (обчно когда поработет минут 10). Из-за недостатка цифровых выводов четыре кнопки были подключены к аналоговым входам A0-A3. Кнопки просто замыкаются на землю без подтягивающих(внешних) резисторов. Остальные кнопки без проблем. Так до сих пор и не разобрался, не хочу перепаиваить ардуину в свою ПП. И да если принципиально, то аруино-мини.
а что мешает аналоговый вход в скетче инициализировать как цифровой и программно на него подтягивающий резистор одеть ?
а что мешает аналоговый вход в скетче инициализировать как цифровой и программно на него подтягивающий резистор одеть ?
А я и не говорил, что так не сделано. Всё так и есть, как Вы сказали. Вот часть кода. Библиотека Bounce2.
Не знаю что там в этой библиотеке, имел в виду pinmode input и digitalwrite high на пине сделать, у меня проект на arduino pro mini, заняты почти все пины кроме i2c и аналоговые как вход от кнопки на землю работает прекрасно
И у меня работало. Но после того как с макетки запаял в плату. Вот такие приколы и ещё мосфет на 13-м пине вылетел. Мосфет перепаял. А с кнопкой чудеса, может выход как то подгорел?
Контакты?
Я тут недавно косяк искал - пайка есть, а контакта нет, пропаял - заработало, взял за привычку перед тем как плату включать - проверяю все без исключения соединения, а близ лежащие ещё и на кз
А 13 м пине светодиод с резисторов не висит случаем?
а что мешает ...
А я и не говорил, что так не сделано. ....
andycat, я вот давно уже перестал пытаться отвечать без схемы и скетча (с тех пор как орёл аналоговый сигнал с ресета читал). Всегда требую схему и скетч, чем иногда вызываю батхерт у новичков.
andycat, я вот давно уже перестал пытаться отвечать без схемы и скетча (с тех пор как орёл аналоговый сигнал с ресета читал). Всегда требую схему и скетч, чем иногда вызываю батхерт у новичков.
и это правильно, скоро и я наверное начну :(
да и novak не новичок судя по дате регистрации на форуме.
Висит. А это как то меняет поведение кнопки на А3?
резисторы R3, R4 должны уметь работать до 1кВ.
А вот кстати, что для это предлагают в поднебесной, если есть таковые, то можно ссылочку