Датчик вибрации напрямую в nano pro

Bazilik
Offline
Зарегистрирован: 12.08.2015

Вопрос всё ещё актуален... Кто что посоветует, чтобы найти паразитную наводку максимально упрощённым методом? Реально уверен, что это возможно как-то увидеть методом ARDUINO Mini USB - PC USB, но КАК?

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Bazilik, я вам уже объяснил в чём дело. Можно повесить на встроенный компаратор, скорее всего подобной проблемы не будет. Схема:

Скетч:

01void setup(){
02ACSR=(1<<ACIE)|(1<<ACIS1)|(1<<ACIS0);
03DIDR1=(1<<AIN1D)|(1<<AIN0D);
04}
05 
06ISR (ANALOG_COMP_vect) {
07tone(9,1000,100);
08}
09 
10void loop() {  }

Переменным резистором настраивается чувствительность срабатывания. В данном варианте при срабатывании датчика пищит динамик подключенный к 9 выводу ардуино (на схеме не указал). Можно заменить на любую другую команду.

Bazilik
Offline
Зарегистрирован: 12.08.2015

ЗП это я так понял пьезо (датчик вибрации)?

А зачем диодный мост? ))

Благодарю!

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Датчик такой же как у Araris в #34, или аналогичный. Диодный мост крайне желателен. Т.к. полярность получаемого  импульса зависит от того, с какой стороны датчика пришла вибрация. Грубо говоря счёлкнуть ногтем по одной стороне -будет положительный всплеск, по другой -отрицательный. Что бы не пропускаить ни тот ни другой варианты -нужен диодный мост.

Bazilik
Offline
Зарегистрирован: 12.08.2015

dimax спасибо Вам за дельную помощь! Правда я не до конца разобрался со всеми мульками ардуинки... Не могли бы вы вкратце пояснить что за встроенный компаратор и как он мне поможет? Я так понимаю компаратор = сравниватель. Тоесть он будет вместо программы сравнивать получаемый сигнал с нужным мне нижнепороговым значением? Простите за тупость))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Bazilik, Компаратор (аналоговых сигналов) (англ. comparator — сравнивающее устройство) — электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логическую «1», если сигнал на прямом входе («+») больше, чем на инверсном входе («−»), и логический «0», если сигнал на прямом входе меньше, чем на инверсном входе. От себя могу добавить, что самый настоящий компаратор встроен в микроконтроллер ардуины, 6 нога -это "положительный вход" 7 нога -"отрицательный" единственное его отличие что входы "железные", а выход программный. Таким образом если на 6 ноге появится напряджение больше, чем установленно резистором на 7 ноге -то компаратор сработает.

Bazilik
Offline
Зарегистрирован: 12.08.2015

Хмммм... Интересно)) Вот так просто 6 и 7 ноги. Шикарно... А то, что сигнал не усиленный - встроенный компаратор ведь также и будет видеть шумы эти...

Bazilik
Offline
Зарегистрирован: 12.08.2015

А 9 выход соответственно - результат работы компаратора? А в своей программе как этот результат подхватить? Не кидать же перемычку между 9 пином и нужным мне входом))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Bazilik, данные пьезоизлучаетели обычно не требуют особого усиления, просто АЦП в силу специфики работы трудно захватить пики сигнала, а компаратору легко. Результатом работы является запуск прерывания (6 строка) В нём можно выполнить любую команду. Писк на 9 ногу (7 строка) я взял в качестве примера.

Bazilik
Offline
Зарегистрирован: 12.08.2015

Спасибо большущее!!! Буду пробовать))

Bazilik
Offline
Зарегистрирован: 12.08.2015

Последний вопрос... У меня уже врезан типа такого:

Есть-ли разница существенная?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Bazilik, в таких корпусах много всего делают. И динамические и пьезо, и с втроенным генератором. Если это пищалка как из компа, то не подойдёт. Можно проверить тестером, если на сопротивление не прозванивается, то наверное подойдёт. Если прозванивается -то нет.

Bazilik
Offline
Зарегистрирован: 12.08.2015

Благодарю! ))

Bazilik
Offline
Зарегистрирован: 12.08.2015

Ещё вопрос.. Если всё-таки усиливать сигнал с датчика, то как (максимально просто)? А то щас прикинул - некоторые проблемы с совместимостью программирования для меня появляются. Вот например конкретно кусок кода не знаю, как подружить с моим проектом в FLProg(((:

01void setup(){
02ACSR=(1<<ACIE)|(1<<ACIS1)|(1<<ACIS0);
03DIDR1=(1<<AIN1D)|(1<<AIN0D);
04}
05 
06ISR (ANALOG_COMP_vect) {
07tone(9,1000,100);
08}
09 
10void loop() {  }

 

Соответственно не пойму, как вместо "tone(9,1000,100);" - подцепиться к существующим блокам визуального программирования.

 

Программу иногда придётся менять (примерно раз в месяц). Поэтому критично удобство использования визуального программирования... Как то так))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Bazilik, можно использовать внешний компаратор, в виде отдельной микросхемы. Такие модули продаются готовые. Не забивайте себе голову всякой дурью вроде flprog, изучайте СИ, это не так трудно как кажется.

Iwan73
Offline
Зарегистрирован: 02.11.2013

dimax подскажите, в #52 схему привели,а возможно вместо переменного резистора  на 7 вывод компаратора программно подавать напряжение,допустим используем ШИМ и  RC-фильтр для сглаживания,програмно меняем уровень чуствительности срабатывания? 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Iwan73, можно, но скорее нет смысла. Эта регулировка очень слабо сказывается на чувствительности.

Iwan73
Offline
Зарегистрирован: 02.11.2013

мне надо отследить уровень вибрации (биений) при вращении медогонки. Бывает что из за износа подшибника или перекоса рамок вращающийся каркас для крепления рамок начинает на определенных оборотах цеплять за корпус,при небольшом снижении оборотов можно докрутить рамки в цикле откачки. Вот именно для этого и хочу прикрутить датчик вибрации,но еще пока не понял аппаратное решение каким может быть. Либо читать АЦП пьезик,либо через компоратор,в программе в меню предусмотрено подключение и отключение датчика вибрации(биений),задание уровня в попугаях (допусти проценты), а вот определением уровня как то встрял. алгоритм примерно таков,по достижении определенного уровня вибрации снижаем обороты скважностью ШИМ,поддерживаем определенное время эти обороты(мед откачивается с меньшей интенсивностью но рамки становятся легче)  и снова начинаем подгонять обороты под заданные  проверя уровень вибрации. Прошу дать совет  по  реализации аппаратной части всех кто может помочь.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

может взять

http://ru.aliexpress.com/item/GY-291-ADXL345-digital-three-axis-accelera...

либа

https://github.com/adafruit/Adafruit_ADXL345

в примере считывать максимумы и минимумы. и на основе этих данных решать что делать

 

Iwan73
Offline
Зарегистрирован: 02.11.2013
 
Особенности ADXL345
 
- Напряжение питания 2.0…3.6 В;
- Низкое энергопотребление: 25…130 мкА в режиме измерения и 0,1 мкА в режиме ожидания;
Возможность выбора разрешающей способности:
- Фиксированное разрешение в 10 бит;
- Режим полного разрешения, когда разрешающая способность увеличивается с увеличением диапазона ускорения g (максимум - до 13 бит при измерении ускорения ±16 g (с постоянной чувствительностью (шагом измерения) - 4 мg /LSB во всех диапазонах измерения g));
- Обнаружение одиночного и двойного толчков (легких ударов);
- Контроль активности/неактивности;
- Определение свободного падения;
- Интерфейсы SPI (3-х и 4-х проводной) и I2C;
- Возможность гибкого задания режимов прерывания с выбором любого (из 2-х возможных) выводов прерываний;
- Диапазон измерения, также как и полоса пропускания, выбирается подачей определённой команды;
- Широкий температурный диапазон (от -40°C до +85°C)
- Высокая ударопрочность до 10000g.
 
Да и у на хоть и рядом китай,но очень долго ждать заказ к сожалению,
Iwan73
Offline
Зарегистрирован: 02.11.2013

немного не тот функционал как мне кажется. 

Есть бочка,внутри крутится каруселька с рамками,на бочку закрепить датчик который будет определять биения о бочку, о как.

этим модулем я могу определить удар,но и компоратор с пьезо справится с определением что был удар о стенку бочки,и пружинка (датчик торможения- посты с # 23 по #27),вопрос в чуствительности,не допустить механич. повреждения содержимого бочки.ищу простейший вариант.

 

forfrends
Offline
Зарегистрирован: 24.02.2015

А можно ли как-то переделать приведенный пример: 

Что бы не использовать AIN1 ? Уменя он занят - на нем ШИМ. Может програмно сравнивать с конкретным значением?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

forfrends, AIN1 -это 7й пин, на нём нет ШИМа, его можно мультиплексором ацп переключить на любой аналоговый вход. А вот  AIN0 (6 пин) заменить невозможно.

forfrends
Offline
Зарегистрирован: 24.02.2015

Что -то я протупил, не сказал контроллер с каким работаю. Я Использую Atmega32. В ней вывод PB3 - OC0 (ШИМ) и AIN1. Я еще плохо знаю МК. Что такое мультиплексор? и как его переключить?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

forfrends, всё в даташите найдёте. По AVR'овским МК и на русском полно чтива. Вот полезная книжка.

Bazilik
Offline
Зарегистрирован: 12.08.2015

Вобщем куча экспериментов провел уже.. Ручка паяльника аж облезла))) Самый нормально работающий вариант оказался первоначальный - который с помехами...

Пьезо-диск, радом с ним резистор 1мОм между ногами так сказать)) Все это дело идет по 2м кабелю до ардуино нано в GND и A2.

Но вот беда, датчик срабатывает сам по себе иногда. Я прописал в скетче, чтобы LED13 дублировал сигнал с пьезы. Тоесть если пьезу тронуть, то диод загорается на полсекунды и гаснет. Совершенно случайно, похоже обнаружил кое-чего... В момент наблюдения включился холодильник и диод моргнул. Я начал щёлкать автомат питания электропроводки в квартире. Вот оно - при выключении питания иногда мигает диод, а при подаче питания почти всегда мигает. Ардуинка запитана от сигнализации, которая сама питается через импульсник и имеет резервный аккумулятор - в связи с этим ардуинка питается бесперебойно, но каким-то макаром ловит наводки. Я отключил от ардуинки пьезо - ничего не меняется. Тоесть получается наводка идёт не через нежное пьезо. Подношу палец к D6 и D7 не касаясь - в радиусе примерно 3 мм от контактов, диод моргает. Как быть? Чувствительность грубить не вариант..

Посоветуйте пожалуйста наипростейший малогабаритный фильтр пожалуйста.. Вот не знаю только для сигнализиции (15 В) или для ардуины сразу (7-12 В рек.). Вобщем чем проще, тем лучше. Помогите пожалуйста))

Как бы вообще узнать, в момент включения рубильника электросети, когда происходит скачок и загорается тестовая лампочка на ардуине, то это скачок тока или напряжения? Как можно проверить? Тестером вряд-ли получится - не успеет. А вот программой как-то можно наверное? Типа, если VIN поймает больше допустим 12 Вольт, то пусть загорится диод "1" и я буду понимать, что это напряжение.. А если поймает больше xxx мА, то диод "13" и понятно, что это ток... Собственно думаю так легче будет понять, какой фильтр искать?

Bazilik
Offline
Зарегистрирован: 12.08.2015

И ещё вопрос.. Коли уж входы работают, как антенны и даже если дотронуться пальцем до любого другого входа, то иногда срабатывает программа, то может есть смысл КАЖДЫЙ пин через резистор на GND прижать?

Bazilik
Offline
Зарегистрирован: 12.08.2015

И кстати важный момент. БП от сигналки и холодильник воткнуты в разные линии (разные автоматы). Так вот если не трогать питание сигналки, а выкл/вкл питание холодильника, то как раз и происходит ложное срабатывание.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

Bazilik пишет:

И кстати важный момент. БП от сигналки и холодильник воткнуты в разные линии (разные автоматы). Так вот если не трогать питание сигналки, а выкл/вкл питание холодильника, то как раз и происходит ложное срабатывание.

не выключай холодильник и не хлопай в ладоши.

Bazilik
Offline
Зарегистрирован: 12.08.2015

Клапа вернулся))) Что, почмырить уже некого? Пшёл вон отсель. Игнор.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

Bazilik пишет:

Клапа вернулся))) Что, почмырить уже некого? Пшёл вон отсель. Игнор.

ты мне понравился.

Bazilik
Offline
Зарегистрирован: 12.08.2015
Bazilik
Offline
Зарегистрирован: 12.08.2015

Или такую лучше? http://www.ebay.com/itm/Hot-DC-DC-Power-Supply-LC-Filter-FPV-Max-25V-Inp...

Но на этой меньше компонентов всяких...

Bazilik
Offline
Зарегистрирован: 12.08.2015

Скажите, что за компонент на плате слева с надписью "470"?


Просто использоваться будет круглосуточно в помещении и хотелось бы ВСЕ возможные риски свести к минимуму. Подразумеваю, что на плате справа стоит катушка.. Не приемлимее-ли это будет в моём случае? Спасибо.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Bazilik пишет:

Скажите, что за компонент на плате слева с надписью "470"?

Тот же, что и компонент на плате справо с надписью "101".

Bazilik
Offline
Зарегистрирован: 12.08.2015

По логике это и так ясно, просто "101" - явно видно, что это катушка индуктивности. А в "470" не похоже, чтоб катушку засунули. Полупроводник какой-нибудь? Что надёжнее и меньше греется?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

Bazilik
Offline
Зарегистрирован: 12.08.2015

Мужики, я всё по этой же теме... Фильтр не помог нисколько(( Что только не перепробовал... На плоттере порта ардуины показываются шумы, которые иногда достигают полезного сигнала(((

Всё-таки да, всё сводится к тому, что сигнал нужно усилить... Вопрос как это сделать малой кровью?

У меня валяются несколько различных датчиков - модулей и я с ними поэксперементировал.

Сначала взял такой датчик:

Выпаял синий цилиндр и впаял вместо него пьезо диск. Подключил, как следует и... вообще нифига.. поменял полярность пьезы - тоже самое, независимо от потенциометра.

 

Далее взял такой датчик:

Перепаял также и вот здесь уже что-то начало проявляться.. Контрольный диодик на плате елезаметно помигивает в такт щелчков пальцем по пьезе (потенциометр выкручен на максимум). Оно как-бы работает, но чувствительность совсем не ахти((

 

Потом этот:

Так же, как и с первым - ноль реакции.

 

Вот вопрос, какой датчик ещё можно попробовать заказать с китая, чтобы более лучше дружил с пьезо диском?

evgta
Offline
Зарегистрирован: 02.09.2016

1 ШТ. НОВЫЙ LM358 100 Раз Усиления Сигнала усиления Модуль Операционный усилитель Бесплатная Доставка
http://s.aliexpress.com/nmmYn6bu
(from AliExpress Android)

Если хватит усиления в 100раз

Bazilik
Offline
Зарегистрирован: 12.08.2015

Хммм, думаю должно хватить)) Вот только вопрос будет-ли с пьезой работать этот усилитель? Там просто не написано, какие сигналы он усиливает... А то те 3 модуля, что я эксперементировал - они же тоже усиливают...

Bazilik
Offline
Зарегистрирован: 12.08.2015

Пришёл ко мне этот операционник стократный:
https://ru.aliexpress.com/item/LM358-100-Gain-Signal-amplification-modul...

Подключил, мучал и так и сяк и полярность пьезы менял и чего только не делал - нифига не получается. Тупо LED питания горит и всё. На пин OUT я подключил мультиметр и пробовал прозвонку, сопротивление и вольтаж. Никаких изменений при щелчках по пьезе. Даже намёков не было. Блин, ну не может же эта цель быть недостижимой... Что ещё можно сделать? Помогите)))

evgta
Offline
Зарегистрирован: 02.09.2016

Ну тогда попробовать пьезу на базу дарлигтона типа tip142 повесить и резистор кьколлектору.
В точке соединения резистора с коллектором к пину ардуины. Второй конец резистора к плюсу. Эмиттер к минусу.

И смотреть вольтметром фигово. Он короткие броски незамечает

Bazilik
Offline
Зарегистрирован: 12.08.2015

Эмммм благодарю, а схемотичненько не покажете? ))))

И чем всё-же лучше проверять?

evgta
Offline
Зарегистрирован: 02.09.2016

 

что-то задумался и слегка не то нарисовал, вместо лампочки резистор ом на 200-500, от соединения между транзистором и лампочкой к входу ардуины

транзистор любой NPN с hFE больше 500

TIP142 может неочень подойти т.к в нем есть резистор 5К соединяющий базу и эмиттер

вот это наверно лучше подойдет: КТ3102ЕМ BC547C BC548C BC847C

 

 

осцилографом, можно еще к звуковой карте попробовать с програмкой осциллографа, главное порты не пожечь

Bazilik
Offline
Зарегистрирован: 12.08.2015

Эммм а что схема-то делает непойму? 0))

evgta
Offline
Зарегистрирован: 02.09.2016

Bazilik
Offline
Зарегистрирован: 12.08.2015

Хммм... попробую))) Я так понял, R1 призван помехи сглатывать? )))

evgta
Offline
Зарегистрирован: 02.09.2016

нет

Bazilik
Offline
Зарегистрирован: 12.08.2015

Просто немного пугает простота схемы. Что она должна делать-то? Неужели она призвана сгладить помехи и выделить только полезный сигнал?

evgta
Offline
Зарегистрирован: 02.09.2016

собрал сейчас на транзисторе c549c. проверил осциллом, при постукивании по пьезе вертикальное падение напряжение с 5 до 0,1в длительностью 2-4мс. 

сам капсуль без транзистора дает амплитуду 2-5В но уже есколько всплесков

кстати у пьезы есть полярность, контакт коротый припаян к металлу корпуса являкится плюсом