Дорогие знатоки! Мне очень нужна ваша помощь с Арудино. Я собрал торговый аппарат по продаже мелкого товара на контроллере Ардуино. Корпус и полки – из жести. Состоит он из: · Контроллера Арудино; · Драйвер мотора 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. Драйвер мотора подключен к Ардуино с помощью шлейфов. Двигатели подключены к разъемам драйвера мотора (посмотрите на картинке по ссылке выше). У двигателей питание +12В и GND. Также двигатели имеют датчики положения двигателя. Они подключаются по схеме ниже. Итак, через резистор 330 Ом сигнал от датчиков мотора идет на вход № 3 Ардуино. Т.к. сигнал от датчика слабый, то я подтянул +5В от общего блока питания (компьютерного) через резистор 20 кОм. Необходимость делать именно так указана в инструкции к двигателю. Т.к. у меня два двигателя, а вход в Ардуино свободный для этого один, то я объединяю два провода сигналов от датчиков двигателей в один. Резистор 330 Ом я не ставил. Мне продавец двигателей сказал, что это не нужно, Кнопки подключены по схеме, которую можно найти на любом сайте, посвященному Арудино. Схема ниже. Земля и +5В – от общего блока питания (компьютерного). Сигнал от одной кнопки идет на 9 вход Ардуино, второй – на 10 вход. Купюроприемник подключен по схеме, которую можно найти по запросу «подключение купюроприемника к Ардуино». Питание на кпюроприемник приходит от общего блока питания компьютерного +5В и GND. Сигнал от купюроприемника приходит импульсный. Количество импульсов зависит от номинала банкноты. Я не нашел в итоге схему именно с купюроприемником. Нашел только с монетоприемником. Схема ниже: +5В подтягиваются через резистор 4,7 кОм с общего блока питания (компьютерного). Физически аппарат изнутри выглядит так: Обратите внимание на белую плоскую наборную панель между блоком питания и Ардуино. Я подключил сигналы от кнопок, двигателей и купюроприемник с помощью наборной панели, чтобы тестировать правильность сборки. После успеха собирался спаять микросхему. На фото видны все подтягивающие резисторы, сверху – провода +5 В для купюрника и датчиков мотора (они справа). И слева вверху – провода GND и резисторы для кнопок. Так вот – у меня возникла проблема. Когда я все подключил, сначала обрадовался – двигатели вращаются и останавливаются вовремя, купюроприемник выдает нужные импульсы и кнопки четко нажимаются. НО! Стоит несильно ударить по корпусу аппарата, прикоснуться в некоторых местах до корпуса снаружи и купюроприемник выдает лишние импульсы. Можно так настучать себе и 100 рублей. Точно также, когда я выключал разъем купюроприемника, или ковырялся возле двигателей импульсы пробегали. Я поначалу подумал, что дело в блоке питания, который стоял на голом железе. Я полностью его изолировал резиной со всех сторон, чтобы он вообще ничего нигде не касался. Проблема не ушла. Дальше стало еще хуже. Стоит только отключить от монтажной наборной панели провод +5В, которые подтягиваются на купюроприемник, и тут же на Арудуино начинают лететь импульсы от купюрника. Стоит вставить обратно в монтажную панель, сразу это прекращается. Когда я изолировал корпус блока питания от корпуса, при отключении +5В импульсы перестали сами по себе лететь. И вот, представьте себе, когда провод +5В не подключённый просто висит в воздухе, ни к чему не прикасаясь, и я подношу руку к нему, НЕ КАСАЯСЬ, и начинают лететь импульсы лететь. Если при этом взяться другой рукой за корпус, импульсы перестают лететь. Иногда вместе с импульсами купюроприемника летят импульсы от датчиков двигателей. Кнопки так себя не ведут. У меня вопрос – что это может быть? Я думал в слудющих направлениях: 1. Проблема в том, что +5В, которые я подтягиваю, имеют одну землю с питанием Ардуино +12В. Может быть, мне снять для подтягивания +5В с САМОГО АРДУИНО? Там есть выход такой. И земля есть. А питание Ардуино останется от +12В и GND с блока питания. Причем, я сниму подтягивающие +5В для купюроприемника и датчиков двигателя и GND для кнопок с Ардуино. Как вам идеи? 2. Где-то что-то коротит на корпус. Хотя, если бы было так, то блок питания вырубался, стоит дотронуться отверткой или еще чем-то и закоротить + и GND. Этого не происходит. 3. Я не правильно понимаю суть подтягивающих резисторов. Уважаемы знатоки, посмотрите мой пост, почитайте, предложите идеи. А то я просто не понимаю, как мне дальше действовать. Заранее спасибо!
у тебя металлический корпус, который шикарно ловит все помехи и куча длинных проводов, каждый из которых работает как антенна, принимающая эти помехи. Максимально сокращай провода, используй подтяжку на GND для всех входных сигналов.
корпус к минусу питания подключен? вроде да, судя по тому что к нему бп прикручен. тогда хз в чем дело. по идее корпус экранировать должен " Этого не происходит." так и не понял что там с корпусом, но он должен сидеть на земле
Разбирать этот хлам и идти читать учебник по схемотехнике. Потом с годик практиковаться на чем-то более простом,
на корпусе? ну если в розетке нет земли, то да. но это не важно " подношу руку к нему, НЕ КАСАЯСЬ, и начинают лететь импульсы лететь. Если при этом взяться другой рукой за корпус, импульсы перестают лететь." это нормальные наводки. причина - слишком длинные провода, неправильная разводка земли (петли), ошибки в монтаже - что угодно может быть. для начала надо укоротить и заэкранировать сигнальные провода, использовать минимальные по возможности номиналы подтягивающих резисторов. ну и да, лучше делать что-нибудь более простое