Проблема с подключением к Ардуино цифрового штангенциркуля (измеритель износа шин)

Так 0.5 или 0.58?(Почти 0.6)
0.4В - это максимальный предел по даташиту, а так должно быть меньше.

Да на выходе 0,45V.

Конденсатор полярный параллельно ШЦ?

Для сравнения , возьмём ардуино. При 5в логике(!) гарантировано низкий лог. уровень - 0.3В

Да, но лучше керамический (~0.1 - 1мкф), после делителя, параллельно питанию ШЦ.
Хотя, правильней взять LDO, как я раньше говорил.
Если “иглы” на шине не уйдут, попробуйте конденсатор от100 пф
В1-GND

Пересмотрел картинку выше, что-то не то.
Снимите осциллограмму выхода 5В.
Один щуп - В1, другой щуп GND
Похоже, завышен низкий лог уровень, или что-то не то делаете…

А вот этот факт никого не смущает? 1.765В как-то дофига, не?))

Я так думаю, на осциллограмме это и видно. Это я и хотел решить, правда уже схему разобрал. Пытаюсь на транзисторах делать, снова…

Дим-мычъ

Я вернусь тогда потом к микросхеме, если есть какие то догадки.

Да какие уж тут догадки)) Или неправильно собрали схему - или микросхему в мусор.

Микросхема мне показалась действительно не предназначенной для моего случая.

2ALL

Мне вот новый ШЦ пришёл.
Начал подключать его через резистивный делитель по питанию и через транзисторный усилитель и инвертированный триггер Шмита для сигнальных контактов. Всё нормально работало, стабильно и долго. Но это навесу, начал устанавливать на место ШЦ, отвалился минусовой контакт на нём. Припаял. Включаю… и…не работает. Сигнал еле еле проскальзывает. Заметил что как буд то Clock на питающий провод попал. Ну думаю всё… опять заказывать, опять ждать, думать как бороться. Потом смотрю а сигнал то не проходит с другого контакта, с Data. Начал думать что за фигня. Только что припаял минусовой контакт рядом, использовал флюс…

Беру щётку со спиртом прошёлся хорошенько. Ожил! Бодро работает. Беру предыдущий ШЦ который на 3V батарейку. Протираю, работает! Стабильно чётко!
Третий ШЦ протираю, сигнал слабый, но его осциллограф стал захватывать для отслеживания, то есть явно вырос. (наверно пока искал проблему поджарил его). Свой самый первый ШЦ ещё не проверил.

Вообщем, дело было не в бабине))

говорил жеж тебе по колёсам надо было постучать

Правильно паять умеют не только лишь все…
Мало кто умеет правильно паять…

ЗЫ: как то плату принесли в ремонт, полностью аналоговую, охренел искать проблему, пока не сказали, что там конденсатор взорвался, но они его заменили и не помогло… Электролит по всей плате размазан тончайшим,невидимым слоем, везде контакт был :slight_smile:

1 лайк

Господа, ну раз уж я создал тему, то надо её заполнить вопросом по теме кода для Ардуино.

Меня интересует теоретический вопрос. У меня есть аппаратное прерывание на ШЦ. Мне так же нужно управлять шаговым двигателем (использую библиотеку AccelStepper).

Если к примеру через TimerOne организую прерывание для обработки шагового двигателя, то плывут показания ШЦ (предполагаю TimerOne его прерывает, что по сути не должно быть, так как насколько я знаю у аппаратных прерываний приоритет)

А если управление ШД в код поместить и огородить его командой ‘noInterupts’. То подключенный LCD долго обрабатывается и в связи с этим ШД медленно дёрганно крутится.
Если закомментировать обработку LCD или через TimerOne, вращается бодро.

Какую схему тут можно применить? Что посоветуете?

Ниоткуда не следует, что у одного аппаратного прерывания должен быть приоритет перед другим аппаратным прерыванием.

Значит, нужно либо быстрее обрабатывать LCD, либо, если это не получается, отказываться от него в пользу других средств индикации.

Но вообще, оптимизация работы с экраном - отдельная и очень объемная тема. Когда я с ней столкнулся, то мне удалось уменьшить задержку от обработки дисплея примерно со 100 мс до 0.18 мс, т.е. в несколько сотен раз. Т.е. простор для творчества имеется, но это работа не очень простая.