slav0n Опубликовано 8 января, 2018 Поделиться Опубликовано 8 января, 2018 та я ж не против но вот а чем дело, мой энкодер напрочь отказывается отказывать как Вы объясните этот феномен? 11 минуту назад, Alexeyslav сказал: Просто состояние контактов постепенно ухудшается, по мере пользования енкодером. Причем ощутимо быстро - при редком дёргании энкодера хватало на год максимум.. если Вы для устранения отпаяли конденсаторы, то я ржу 0 Реклама в подписи запрещена ! Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 8 января, 2018 Поделиться Опубликовано 8 января, 2018 Объяснение простое - вы им не пользуетесь. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
slav0n Опубликовано 8 января, 2018 Поделиться Опубликовано 8 января, 2018 Вы смотрели сюда? http://forum.primuss3.com/viewforum.php?f=35 не, я реально хахачу 0 Реклама в подписи запрещена ! Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Alexeyslav Опубликовано 8 января, 2018 Поделиться Опубликовано 8 января, 2018 Не, ну мне конечно пофигу... проблемы-то с энкодером будут у вас а не у меня. Похоже на подход китайцев - сейчас работает и ладно, а что будет через месяц их не волнует абсолютно. Ещё раз говорю, с кондерами на контактах это этап пройденый 30 лет назад, от него отказались. Но остались упоротые которые постоянно вытаскивают это неудачное решение и ходят по граблям. То что оно у вас работает - это лишь исключение, в подавляющей массе конструкций такой подход приводит к проблемам в будущем. И почему-то в промышленных энкодерах такой подход не используют, а зачем-то применяют дорогие ПЛИС-ы. Вот ведь, жируют... можно же обычные конденсаторы поставить и никаких проблем. Кстати, что я должен увидеть по ссылке? какой-то набор тем по паяльной станции... о чем они? 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
slav0n Опубликовано 9 января, 2018 Поделиться Опубликовано 9 января, 2018 ПЛИС для энкодера?!! хм... это что-то новенькое а ну-ка покажите 0 Реклама в подписи запрещена ! Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 10 января, 2018 Поделиться Опубликовано 10 января, 2018 У вас ещё много будет открытий чудных. В гугле забанили чтоли? 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 11 января, 2018 Поделиться Опубликовано 11 января, 2018 (изменено) ПЛИС для подавления дребезга? Не думал, что для жирного варианта подавления дребезга нужно что-то кроме 2 лог. элементов (2И-НЕ или 2ИЛИ-НЕ), пары резисторов и кондёра (сам я кнопку шунтирую кондёром). Изменено 11 января, 2018 пользователем Darth_Vader 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Viktor26 Опубликовано 11 января, 2018 Поделиться Опубликовано 11 января, 2018 А не проще от дребезга избавляться с помощью прерываний от таймера, раз в 50-100мсек опрашивать кнопки и выставлять флаги. Ну уж на худой конец, для оооочень начинающих, делей использовать. Нахрезачем куча обвязки вокруг кнопок? На форуме целая тема есть посвящённая кнопкам и антидоебезгу, с примерами кода как для авр так и для стм 0 Не знаеш как? Спроси у Google'а !!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 12 января, 2018 Поделиться Опубликовано 12 января, 2018 11 час назад, Viktor26 сказал: А не проще от дребезга избавляться с помощью прерываний от таймера, раз в 50-100мсек опрашивать кнопки и выставлять флаги. Ну уж на худой конец, для оооочень начинающих, делей использовать. Нахрезачем куча обвязки вокруг кнопок? На вкус, на цвет. Мне проще конденсатор поставить и не усложнять алгоритм антидребезгом. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 12 января, 2018 Поделиться Опубликовано 12 января, 2018 И укатать контакты довольно быстро до совсем плохого состояния, когда даже антидребезг помогать не будет. Да только вот "опросом кнопок" с заданным интервалом с энкодером не поработаешь. Самый лучший способ - отрабатывать фазы энкодера ПЛИС-кой, но это самый дорогой способ и применяется скорей к энкодерам высокого разрешения в промышленных станках, ибо там скорости работы контроллера тупо не хватает чтобы успевать за испульсами и они пропускают шаги, а на станке ЧПУ это чревато накоплением ошибки. Следующий по надёжности способ - обрабатывать сигнал с енкодера контроллером через прерывания, отслеживая фазы состояний, но есть серьёзное ограничение по скорости вращения энкодера - иначе прерывания не будут успевать отрабатывать и соотвествтенно пропускать шаги, особенно если обработчики написаны на ЯВУ и к примеру в ардуине. Там могут проблемы начаться даже при обычной скорости вращения(человеком). Давить же дребезг енкодера конденсаторами - самое последнее дело что вообще можно применить. Давно обсосано это решение и признано неработоспособным и ненадёжным. Но почему-то находятся люди которые ходят и ходят по граблям, ну ничего - шишки тоже полезны. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
Viktor26 Опубликовано 13 января, 2018 Поделиться Опубликовано 13 января, 2018 Ну про станки я согласен, там конечно аврка не успеет, если говорить о станках с высокой скоростью. Как правило высокая точность станка делает его медленным. Что если ставить энкодер не на мотор а на редуктор? Да и в высокоскоростных станках его можно через редуктор подключать. А для поделок на коленке с применением энкодера из автомагнитолы, хватит и делея (но не рекомендую) . 0 Не знаеш как? Спроси у Google'а !!! Ссылка на комментарий Поделиться на другие сайты Поделиться
v1r0n Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 (изменено) int SensorValue2 = analogRead (a2); buttonState = digitalRead(BUTTON); if (SensorValue2 = 0 && buttonState == HIGH) { digitalWrite(RELAY, HIGH); } else { digitalWrite(RELAY, LOW); } Где тут ошибка? =( не работает. По условию если нет на входе потенциала реле при нажатие и удержание кнопки срабатывает, если потенциал есть или появился, реле сразу должно отключится и не срабатывать при нажатие на кнопку до исчезновения напряжения. Изменено 7 мая, 2018 пользователем v1r0n 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 А чему у вас a2 равен? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
v1r0n Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 (изменено) int a2 = 2; // Аналоговый вход 2 int sensorValue2 = 0; // Переменная для хранения значения. Что то я никак не пойму как он отличает, что int sensorValue2 = 0; это не аналоговый вход 0. Хотя правильно написать просто int sensorValue2 ; Изменено 7 мая, 2018 пользователем v1r0n 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 Потому что у вас операция присваивания, а не сравнения. = вместо == 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
semic Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 (изменено) 6 минут назад, v1r0n сказал: Что то я никак не пойму как он отличает, что int sensorValue2 = 0; это не аналоговый вход 0. Для этого надо понимать как функция AnalogRead работает, что является её аргументом, а что значением. Кстати кнопка на + замыкается? А еще при отладке кода полезно инфу со значениями выводить в консоль. Изменено 7 мая, 2018 пользователем semic 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
v1r0n Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 33 минуты назад, semic сказал: Для этого надо понимать как функция AnalogRead работает, что является её аргументом, а что значением. Кстати кнопка на + замыкается? А еще при отладке кода полезно инфу со значениями выводить в консоль. 1) Попытаюсь разобраться в ближайшее время. Ну допустим, 2 пин замкнут на землю, SensorValue2 значение 0, должно же работать. 2) Да на + и стягивающий резистор тоже не забыл. 3) Serial.println(SensorValue2); Пользуюсь, смотрю, вижу 0. все перестает работать как только я добавляю "if (SensorValue2 = 0 && buttonState == HIGH) " в условие. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
semic Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 ответили же = операция присвоения == операция сравнения SensorValue2 == 0 должно быть. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
donec Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 Приоритет логических операций выше, может так еще добавить "if ((SensorValue2 == 0) && (buttonState == HIGH)) " 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
semic Опубликовано 7 мая, 2018 Поделиться Опубликовано 7 мая, 2018 3 минуты назад, donec сказал: Приоритет логических операций выше, может так еще добавить И так должно работать 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 8 мая, 2018 Поделиться Опубликовано 8 мая, 2018 7 часов назад, v1r0n сказал: 3) Serial.println(SensorValue2); Пользуюсь, смотрю, вижу 0. все перестает работать как только я добавляю "if (SensorValue2 = 0 && buttonState == HIGH) " в условие. Всё же верно. Вы же ПРИСВАИВАЕТЕ ЗНАЧЕНИЕ SensorValue2, а не сравниваете. Всё-таки попробуйте вот так написать if ((SensorValue2 == 0) && (buttonState == HIGH)) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Yurkin2015 Опубликовано 8 мая, 2018 Поделиться Опубликовано 8 мая, 2018 Аналоговый результат AnalogRead() может быть равен не точно "0", а чуть больше нуля из-за шума или сдвига АЦП. То есть при замкнутом входе аналоговое значение может быть 1 или 2, например. Поэтому лучше бы проверять так: if (SensorValue2 < 10 && buttonState == HIGH) Приоритет && самый низкий, поэтому можно без дополнительный скобок. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth_Vader Опубликовано 8 мая, 2018 Поделиться Опубликовано 8 мая, 2018 (изменено) 17 минут назад, Yurkin2015 сказал: можно без дополнительный скобок. В этом примере, да, можно. Но если приучить себя ставить скобки (возможно ненужные в каком-то конкретном месте) можно избавить себя от неожиданных танцев по граблям. Я ставлю скобки. Изменено 8 мая, 2018 пользователем Darth_Vader 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
v1r0n Опубликовано 13 августа, 2018 Поделиться Опубликовано 13 августа, 2018 Вообщем так гуру программного кода. Сделал я умную прозвонку (ака аркашка, ака моргас). Но опыт эксплуатации показал что не все было учтено. Требовалось: измерять напряжение, с чем она хорошо справлялась (1 режим), при нажатии на кнопку, при условии отсутствия напряжения перещелкивалось реле и измерялось уже сопротивление (2 режим). Все бы было хорошо, но не учел одного. Так уж сложилось что моя профессия связана с релейкой, и часто бывает что прозванивая контакт при его размыкании может появиться напряжение. Если в этот момент ардуино измеряло сопротивление она моментально сгорает. Что можно сделать от такого режима работы, программно я думаю ничего не получится, т.к просто не успеет. Надо думать что то с обвязкой ардуино. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
ARV Опубликовано 14 августа, 2018 Поделиться Опубликовано 14 августа, 2018 13 часа назад, v1r0n сказал: Требовалось: измерять напряжение, с чем она хорошо справлялась (1 режим), при нажатии на кнопку, при условии отсутствия напряжения перещелкивалось реле и измерялось уже сопротивление (2 режим). Не в пику вам, а просто к слову: когда-то очень давно делал я что-то очень похожее... Напряжение, частоту позволяло "прикинуть на глазок", как генератор меандра могло работать... На счет прозвонки уже не помню, но и додумать не проблема... 0 Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.