Играемся с датчиком удара

Недавно разбираясь в гараже нашел клубок из старых сигнализаций, среди всего прочего оказались и датчики удара. Сразу возникло желание поиграться с ними, и я понес их домой. Вскрыв подопытного все оказалось банально просто. В качестве самого датчика удара является пьезик с припаянной к нему пружинкой с грузиком, все это дело обслуживает операционный усилитель (в моем подопытном lm2902).
Датчик питается от 12В и имеет 2 выхода SIG 1, SIG 2. Первый выдает длинный сигнал при сильной ударе, второй короткий сигнал при слабом. Чтобы снимать сигналы, оба вывода необходимо подтянуть к питанию резисторами по 10K, таким образам при срабатывании датчика на выходе с единици будет ноль.


набросал программку для проверки
заметки:
микроконтроллер attiny2313
частота 8 mHz
среда WinAvr
Частота пьезодинамика 2000 Hz (Мой экземпляр на этой частоте выдавал наибольшую мощность звучания )
Последовательно динамику включен защитный диод (знаю не самая громкая и защищенная схема, но хотелось как побыстрей )
пьезодинамик пришлось заклеить скотчем, т.к. стал напрягать этот писк ))
схема включения
схема включения

код программы
#include <avr/io.h>
#include  <avr/interrupt.h>

//макросы работы с битами
#define ClearBit(reg, bit)       reg &= (~(1<<(bit)))
#define SetBit(reg, bit)          reg |= (1<<(bit))

void delay (void) // задержка
{
    TCNT0=0;
    while (TCNT0<255) {};
}

ISR(INT0_vect)   
{
    SetBit(PORTB,1);                    // вкл. зеленый диод
    
	for (int x = 1; x<200; x++)        // короткий писк
	{
	SetBit(PORTB, 0);
        delay();
        ClearBit(PORTB, 0);
        delay();
	}
    
    ClearBit(PORTB, 1);               // выкл. зеленый диод
}

ISR(INT1_vect)   
{
    SetBit(PORTB,2);                 // вкл. красный диод
    
	for (int x = 1; x<1000; x++)    // длиный писк
	{
	SetBit(PORTB, 0);
        delay();
        ClearBit(PORTB, 0);
        delay();
	}
    
    ClearBit(PORTB, 2);              // выкл. красный диод
}


int main()
{
  PORTD = 0x0C;                     //  подтяжка на int0, int1
  DDRB = 0x07;                      // PB0 -- PB2 на выход
  TCCR0B = (1<<CS01); 
  GIMSK = (1<<INT0) | (1<<INT1);   // вкл. прерывание 

  
   sei();                           // глобальное вкл. прерывания 
  
  while(1)
  {
  

  }
  return 0;
}


и небольшое демонстрационное видео.
  • +7
  • 17 февраля 2013, 19:36
  • Render

Комментарии (46)

RSS свернуть / развернуть
Еще бывает такой датчик с емкостным микрофоном и мембраной с грузиком.
А также с катушкой индуктивности и магнитом, который висит на резиновых растяжках.
0
а также электретным мкрофоном, на которые одет кусочек резиновой трубки, дальше в эту трубку вставлен грузик, так что между микрофоном и грузом имеется воздушный зазор внутри трубки… При вибрациях объем этой камеры меняется и микрофон это регистрирует…
0
ну это наверное в новых, у меня старые экземпляры, правда они разные где 2 сигнальных вывода, а где 1.
0
Тег сокращает длинные записи, скрывая их целиком или частично под ссылкой («читать дальше»). Скрытая часть не видна в блоге, но доступна в полной записи на странице топика.
0
*<* cut* >* (без звёзд)
0
спасибо поправил
0
C каким удовольствием играетесь )))
+1
  • avatar
  • DVF
  • 17 февраля 2013, 21:22
Кстати, о серьезном. Есть способы доказать, что аппарат уронили после ввода в эксплуатацию?
0
к каждому выходу датчика по проволочке, которая сжигается при первом инциденте.
0
Юмор оценил ;)
0
хм. а это не попытка пошутить. понятно, что вешать не напрямую на выход.
а если совсем серьезно, то что вы понимаете под «доказать»?
0
Сжигаемая ничем не защищенная проволока в сертифицированном аппарате не вариант.
«Доказать» — объяснить качественно не смогу. Для каждого устройства степень встряски для выхода из строя своя, поэтому решения свои. Но в общем, чтобы не выслушивать: «С устройством ничего не делали — он сам плохой» :)
0
Сжигаемая ничем не защищенная проволока
залейте эпоксидкой. какие проблемы?
и не проволочка, а вполне себе стандартный предохранитель (ака плавкая вставка) на 50-100мА в эмиттер, параллельно светодиод. пока не прожгли, светодиод шунтирован, как только зажгли, загорелось «алярма!!! ударили!!!»
в сертифицированном аппарате
ну вот и корень проблемы.
тогда акселерометр и детектить свободное падение.
понятно, что я рассматриваю в рамках обозреваемого девайса.
0
есть вариант без электроники. стеклянная пластинка с грузиком которая при определенном ускорении гарантированно обламывается.
0
Вся проблема в том, что этот огород надо сертифицировать как прибор регистрации удара, проводить испытания по неким методикам итд итп
0
проблема то в чем? или не мне ответ?
0
Не, совсем не тормоз. И у вас это уже минимум второй случай некропостинга.
0
Проблема в том, как проверить роняли выключенный аппарат или нет? С включенным проблем нет — акселерометр + малюсенький микроконтроллер, котрый в случае превышения допустимого ускорения запишет во внутренний eeprom сей факт. Ну и светодиодик какой-нить засветит, например. С выключенным сложнее — нужно постоянное питание датчика, в виде аккумулятора предусмотреть, или что-то подобное…
0
Может чисто механический вариант? Тяжелый шарик в подвесе на грани прочности, при ударе подвес порвется.
Ну и я думаю, вполне можно сделать датчик, который будет работать достаточно продолжительное время от обычной CR2032. Как минимум период «до ввода в эксплуатацию» покроет.
0
Доже считаю что только механика
0
аппарат уронили после ввода в эксплуатацию?
т.е. можно предположить, что питание есть. а вот после того как уронили, питание могли и передернуть. хотя с нынешним потреблением вполне можно такой блок и от CR2032 запитать.
0
аппарат уронили после ввода в эксплуатацию?
Ой, а я эту фразу в точности наоборот прочитал) Впрочем, после ввода в эксплуатацию питание обычно в наличии, так что и проблем особых нет.
0
только как сделать подвес, чтоб среагировал при ударе в любом направлении?
0
Над этим уже думать надо, но задача в целом решаемая. Скажем, подвесов может быть несколько. Самый прочный противодействует гравитации, остальные, гораздо менее прочные — смещениям в другие стороны.
Хотя не исключено, что аксель (возможно специальный, полагаю есть акселерометры специально для этого, которые аппаратно мониторят ускорение и выдают сигнал при обнаружении удара), МК с защищенной памятью и CR2032 дешевле и эффективнее.
0
да вот в посте похоже как раз такой подвес.
0
выше написал про стекло.
0
кстати. при ударе как правило ускорения огромные, так что направление удара играет не самую большую роль.
0
гайка на растяжках из калиброванной проволоки =) Либо подпружиненный контакт, по типу тумблера, который может находиться в двух стабильных положениях — в нормальном, на грани переключения, после встряски переключается…
А вообще сейчас таки лепят микроконтроллеры. У нас 4 станка японских пришли, так там датчик перемещения (экспортные ограничения, перепродажа без разрешения фирмы запрещена) стоит: коробочка, в ней свой эл. питания и еще неизвестно что (аксель вероятние всего), коробочка к системе ЧПУ подключается, и в случае если станок переместили последняя отказывается работать и требует пароль. При вводе а эксплуатацию представитель созванивается в конторой, ему дают одноразовый пароль, он его вводит и станок запускается. Так что имхо сейчас датчик+мк+батарейка в запаянном флаконе — вполне нормальный вариант…
0
Вот так делаешь деталь на станке, а где то параллельно в Азии такая же деталь сама точится ))
+1
собственно она и тут сама точится =) оператору только прутки загружать, результат выгребать, да пластины на инструменте менять…
0
Акселерометр правильнее по нескольким причинам
1. Реагирует на удары в любом направлении
2. Можно измерить силу удара. Уронить ведь можно со стола, а можно и с балкона 9 этажа… Посему в паспортах приборов и пишется «допустимое ускорение».
Реализовать можно просто — датчик и МК запитать от литиевой батарейки или ионистора, по превышению ускорения датчик сгенерит аппаратное прерывание, контроллер «просыпается», регистрирует инцидент в своем eeprom, после уходит в sleep.
0
Ниже тут уже сказали про акселерометр. Такая схема проверки на удар использовалась ещё в видеокамерах JVC лет 6-7 назад. Тогда появились видеокамеры с жёсткими дисками ну и соответственно была сделана такая защита от потребительского террора ). Типа «мы её не роняли и не били а то что винчестер полетел так а мы то тут причем?» В этих видеокамерах при определённом ускорении происходило отключение винчестера(соответственно головки отводились в начальное положение и не могли повредить поверхность диска). Если водить камеру руками в стороны она на это не реагировала, если же её уронить к примеру то она в полёте отключалась. Т.е. могла вычислить ускорение свободного падения. Ну и силу удара она прописывала в память, доступ к которой был только в авторизованных сервисных центрах.
Так что акселерометр лучшего всего подойдёт по моему.
0
за и мыльницы современные умеют объектив убирать при детектировании свободного падения… Да и вроще некуда — даже фильтровать нифика не надо, просто ловить 0g (ну в определенном приближении, и естественно примитивный фильтр от кратковременных возмущений) по всем осям…
0
сорь, что-то у меня какой-то сбой привязки пальцев к клавиатуре произошел )
0
дрова переставить? ;)
0
Кстати говоря эти датчики ускорения в видеокамерах и фотоаппаратах используются ещё и для стабилизации картинки при дрожании рук, вибрациях… Т.е. для того чтобы картинка не получалась смазанной, автоматика камеры отрабатывает смещение — камера сдвинулась вниз и вправо — автоматика перестроила оптику так что картинка на ПЗС матрице осталась та же самая какая была до смещения. Там бывает механическая подстройка — смещается линза стоящая перед ПЗС матрицей, и бывает электронная когда для записи изображения используется лишь часть матрицы и при смещении камеры также смещается и используемая часть ПЗС-ки. В фотоаппаратах такие датчики обычно стоят прямо на объективе.


Вот на никоне стоит такой датчик. Наверху чуть заметен такой же только повёрнутый на 90 градусов относительно оси объектива.


ПС. Надеюсь автор темы не против такого отклонения от темы? )
0
В современных жестких дисках тоже стоят датчики удара. При инциденте пишется в SMART.
0
видел такие на ящиках с пришедшей из Китая производственной линией.
0
Я частенько наблюдал коробки с спец-наклейками индикаторами удара, при превышении ускорения — пипка на наклейке краснеет, нагуглил это шоквотч, выше давал ссылку на сайт производителя. А вот цена, не нужны никакие растяжки.
0
А как они устроены, кстати?
0
На сайте у них сказано что там типа ампула с суспензией — жидкость обволакивает какой-то пигмент, и он силами поверхностного натяжения удерживается внутри и не виден, при достаточно сильном ударе краска высвобождается и становится видимой. Это один вариант, есть ещё с магнитами.
0
Расскажите еще и про свой осциллограф!
-1
  • avatar
  • Aneg
  • 17 февраля 2013, 21:26
Да в принципе рассказывать нечего, www.chipdip.ru/product/ut3102se/ с технической стороны меня он устраивает, но напрягает отсутствие сайта поддержки, а также русского языка в приборе и в руководстве пользователя. Благо он мне достался за не дорого от одной начинающей (и вскоре разорившейся) конторы по ремонту офисной техники.
0
А какие бывают плоские датчики удара — покупные, желательно с герметичным корпусом и большой площадью для удара например ладонью?
0
Берем BMF055 и делаем что хотим — хоть плоские, хоть перпендикулярные.
0
  • avatar
  • x893
  • 11 января 2016, 21:02
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.