Помогите разобраться с шумом от купюрника на Ардуино

Тема в разделе "Arduino & Shields", создана пользователем doctor_ny, 19 ноя 2017.

  1. doctor_ny

    doctor_ny Нуб

    Дорогие знатоки! Мне очень нужна ваша помощь с Арудино.

    Я собрал торговый аппарат по продаже мелкого товара на контроллере Ардуино. Корпус и полки – из жести. Состоит он из:

    · Контроллера Арудино;

    · Драйвер мотора MotorShield http://zelectro.cc/Adafruit_motor_shield

    · Два коллекторных двигателя переменного тока BD-28S-3 http://www.ivt-vending.ru/venddv_bd28s3.html

    · Две кнопки

    · Купюроприемник ictv7 rur5 http://www.ict-russia.ru/page_9.htm


    В качестве источника питания всего этого безобразия я использовал обычный компьютерный блок питания. 1 блок питания на все. От блока питания я взял +12В (желтый провод), +5В (красный провол) и GND (черный провод). Земля общая для всех приборов. Ардуино питается от +12В и GND(круглый разъем), драйвер мотора питается от +12В и GND. Драйвер мотора подключен к Ардуино с помощью шлейфов.

    [​IMG]
    [​IMG]

    Двигатели подключены к разъемам драйвера мотора (посмотрите на картинке по ссылке выше). У двигателей питание +12В и GND. Также двигатели имеют датчики положения двигателя. Они подключаются по схеме ниже.

    [​IMG]

    Итак, через резистор 330 Ом сигнал от датчиков мотора идет на вход № 3 Ардуино. Т.к. сигнал от датчика слабый, то я подтянул +5В от общего блока питания (компьютерного) через резистор 20 кОм. Необходимость делать именно так указана в инструкции к двигателю. Т.к. у меня два двигателя, а вход в Ардуино свободный для этого один, то я объединяю два провода сигналов от датчиков двигателей в один. Резистор 330 Ом я не ставил. Мне продавец двигателей сказал, что это не нужно,

    Кнопки подключены по схеме, которую можно найти на любом сайте, посвященному Арудино. Схема ниже.

    [​IMG]

    Земля и +5В – от общего блока питания (компьютерного). Сигнал от одной кнопки идет на 9 вход Ардуино, второй – на 10 вход.

    Купюроприемник подключен по схеме, которую можно найти по запросу «подключение купюроприемника к Ардуино». Питание на кпюроприемник приходит от общего блока питания компьютерного +5В и GND. Сигнал от купюроприемника приходит импульсный. Количество импульсов зависит от номинала банкноты.

    Я не нашел в итоге схему именно с купюроприемником. Нашел только с монетоприемником. Схема ниже:

    [​IMG]

    +5В подтягиваются через резистор 4,7 кОм с общего блока питания (компьютерного). Физически аппарат изнутри выглядит так:

    [​IMG]
    [​IMG]

    Обратите внимание на белую плоскую наборную панель между блоком питания и Ардуино. Я подключил сигналы от кнопок, двигателей и купюроприемник с помощью наборной панели, чтобы тестировать правильность сборки. После успеха собирался спаять микросхему.

    [​IMG]

    На фото видны все подтягивающие резисторы, сверху – провода +5 В для купюрника и датчиков мотора (они справа). И слева вверху – провода GND и резисторы для кнопок.

    Так вот – у меня возникла проблема. Когда я все подключил, сначала обрадовался – двигатели вращаются и останавливаются вовремя, купюроприемник выдает нужные импульсы и кнопки четко нажимаются. НО! Стоит несильно ударить по корпусу аппарата, прикоснуться в некоторых местах до корпуса снаружи и купюроприемник выдает лишние импульсы. Можно так настучать себе и 100 рублей. Точно также, когда я выключал разъем купюроприемника, или ковырялся возле двигателей импульсы пробегали. Я поначалу подумал, что дело в блоке питания, который стоял на голом железе. Я полностью его изолировал резиной со всех сторон, чтобы он вообще ничего нигде не касался. Проблема не ушла.

    Дальше стало еще хуже. Стоит только отключить от монтажной наборной панели провод +5В, которые подтягиваются на купюроприемник, и тут же на Арудуино начинают лететь импульсы от купюрника. Стоит вставить обратно в монтажную панель, сразу это прекращается. Когда я изолировал корпус блока питания от корпуса, при отключении +5В импульсы перестали сами по себе лететь. И вот, представьте себе, когда провод +5В не подключённый просто висит в воздухе, ни к чему не прикасаясь, и я подношу руку к нему, НЕ КАСАЯСЬ, и начинают лететь импульсы лететь. Если при этом взяться другой рукой за корпус, импульсы перестают лететь.

    Иногда вместе с импульсами купюроприемника летят импульсы от датчиков двигателей. Кнопки так себя не ведут.

    У меня вопрос – что это может быть? Я думал в слудющих направлениях:


    1. Проблема в том, что +5В, которые я подтягиваю, имеют одну землю с питанием Ардуино +12В. Может быть, мне снять для подтягивания +5В с САМОГО АРДУИНО? Там есть выход такой. И земля есть. А питание Ардуино останется от +12В и GND с блока питания. Причем, я сниму подтягивающие +5В для купюроприемника и датчиков двигателя и GND для кнопок с Ардуино. Как вам идеи?

    2. Где-то что-то коротит на корпус. Хотя, если бы было так, то блок питания вырубался, стоит дотронуться отверткой или еще чем-то и закоротить + и GND. Этого не происходит.

    3. Я не правильно понимаю суть подтягивающих резисторов.


    Уважаемы знатоки, посмотрите мой пост, почитайте, предложите идеи. А то я просто не понимаю, как мне дальше действовать. Заранее спасибо!
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    у тебя металлический корпус, который шикарно ловит все помехи и куча длинных проводов, каждый из которых работает как антенна, принимающая эти помехи.
    Максимально сокращай провода, используй подтяжку на GND для всех входных сигналов.
     
  3. akl

    akl Гуру

    корпус к минусу питания подключен?

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


    " Этого не
    происходит."
    так и не понял что там с корпусом, но он должен сидеть на земле
     
    Последнее редактирование: 19 ноя 2017
  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    Там же 127 Вольт, от компьютерного БП.
     
  5. rkit

    rkit Гуру

    Разбирать этот хлам и идти читать учебник по схемотехнике. Потом с годик практиковаться на чем-то более простом,
     
  6. akl

    akl Гуру

    на корпусе? ну если в розетке нет земли, то да. но это не важно


    " подношу руку к нему, НЕ
    КАСАЯСЬ, и начинают лететь
    импульсы лететь. Если при
    этом взяться другой рукой за
    корпус, импульсы перестают
    лететь."

    это нормальные наводки.
    причина - слишком длинные провода, неправильная разводка земли (петли), ошибки в монтаже - что угодно может быть.
    для начала надо укоротить и заэкранировать сигнальные провода, использовать минимальные по возможности номиналы подтягивающих резисторов. ну и да, лучше делать что-нибудь более простое
     
    Последнее редактирование: 19 ноя 2017