Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

Мышеловка на микроконтроллере ATMEGA8a

Автор: Перец
Опубликовано 16.09.2013
Создано при помощи КотоРед.

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

Принцип работы устройства.

 
Устройство выполнено в виде контейнера с электромеханической дверцей и оптическим датчиком, в виде оптопары с открытым оптическим каналом. Оптопара позволяет обнаружить появление грызуна внутри контейнера в момент перекрытия ею оптического канала между инфракрасным светодиодом и фотодатчиком. После обнаружения мыши, контроллер включает электродвигатель дверцы, тем самым закрывая её.
 
Основные особенности.
 
В процессе разработки пришлось решать задачу оптимального управления дверцей. Если применять дискретные (цифровые) датчики крайних положений (для закрытого и открытого состояния), то отключение двигателя будет происходить в момент крайнего положения, что может, по причине инерции, приводить к сильному удару и даже к выходу из строя дверцы или шестерёнок редуктора. Проблема обостряется если учесть что редуктор должен быть быть достаточно быстрым, чтобы закрыть дверцо максимум за пол-секунды. При этом он должен иметь достаточный момент силы чтобы удержать дверцо, если мышь попытается вылезти. При этих условиях, вариант использования концевых датчиков я счёл неприемлемым. Для оценки положения дверцы, в конструкции применен магнит, и непрерывный датчик Хола, подключенный к АЦП микроконтроллера, что позволяет в виде аналогового сигнала получать информацию о положении дверцы, и начать торможение заранее до целевой точки, с плавной остановкой в конце пути. Это достигается установкой скорости электродвигателя равной разнице между текущей и целевой координатами, (в единицах АЦП в Atmega8), согласно выражению
Vt = A  (Xtc) ,                                                                                       (1)
где Vt целевая скорость, A - некоторый коэффициент, настраиваемый в зависимости от электрических и механических свойств редуктора дверцы, Xt,Хc целевая(target) и текущая (current) координаты. Целевых точек в нашей программе две, это показания АЦП, с линейного датчика Хола, в положении открытой и закрытой дверцы.
Вычисленная целевая скорость Vt сравнивается с оценкой текущей скоростью  Vс и на их основе их разницы (Vt-Vc), устанавливается напряжение на двигателе, согласно стандартному выражению для ПИД-регулятора (Пропорциональный, Дифференциально-Интегральный регулятор)
U = BpW + BdW' + BiW(1)   .                                                             (2)
Здесь Bp,Bd,Bi коэффициенты подбираемые разработчиком, их значения указаны в программе в приложенном архиве. Символом W обозначена разница целевой и текущей скоростей, W = (Vt-Vc), а символами W',W(1) производная и интеграл, которые рекурсивно пересчитываются на каждом шаге. Величина W' вычисляется как разница величин W полученных на текущем и предыдущем шаге. Величина W(1) оценивается как сумма, на основе величин W от предыдущих шагов:
W(1)[n] = C  W(1)[n-1] + W   .                                                          (3)
Символы W(1)[n] и W(1)[n-1] означают оценку интеграла на текущем и на предыдущем шаге соответственно. Коэффициент С подбирается, и должен быть меньше единицы. Шаги вычисления производятся по прерыванию от таймера-2, того же что и генерирует ШИМ, с частотой примерно 30 кГц .
Описанный подход является стандартным для управления сервоприводами станков с ЧПУ. Выражение (2) обеспечивает стабилизацию скорости, задаваемой (1). Первое слагаемое здесь это пропорциональная компонента, которая обеспечивает общую тенденцию воздействия на двигатель в зависимости от отклонения от вычисленной по (1) целевой скорости. Второе слагаемое в (2) возрастает при резком отклонении скорости в результате изменения трения или возникновения помех и препятствий. Второе слагаемое в этом случае выравнивает скорость. Третье слагаемое важно при малых отклонениях. Когда отклонение координаты (а значит и скорости) мало, и оно сохраняется долго из-за  трения, то интегральная компонента возрастает и заставляет привод прийти в целевую координату.
Описанная математико, в данной программе, реализована с помощью целочисленной 32-битной арифметики, как работа с числами с фиксированоой точкой.
 
 
Конструкция.
 
Устройство изображено на рис.1, и представляет собой пищевой контейнер размером примерно 20х35х7 см. с одной из сторон прорезано прямоугольное отверстие и сделана вертикальная дверца с электроприводом (рис.2).
 

Рисунок 1. Внешний вид мышеловки.

Рисунок 2. Дверца закрываемая мотор-редуктором.

 

Внутри контейнера, на расстоянии примерно 20 см от дверцы, находится оптический канал, по которому луч от инфракрасного светодиода падает на фотоприёмник. Здесь ИК приёмник и излучатель закреплённы к отверстиям на противоположных стенках контейнера. (Рис.3)
 
 

Рисунок 3. ИК приёмник и излучатель закреплённые к отверстиям на противоположных стенках контейнера.

 
 
Линейный датчик Хола находится справа от дверцы на уровне оси её поворота (рис.4). Магнит также находится на уровне оси поворота дверцы и вращается вместе дверцей. Он специально находится на неком рычаге, конец которого совмещается с осью дверцы, и при необходимости может подстраиваться, отвинчиваться или временно отводиться в сторону для оперативного снития или закрепления магнита.
 

Рисунок 4. Линейный датчик Хола (небольшая плата справа от дверцы).

 
Для выявления оптимального положения магнита, во время отладке он крепился на пластилине. Когда устройство заработало, была применена «холодная сварко» - эпоксидноподобная клеящая масса, имеющаяся в хозяйственных магазинах, при приготовлении похожая на пластилин и застывающая в течение получаса.
 
Следует обратить внимание, что магнит должен быть на одинаковом расстоянии от корпуса датчика Хола (который похож на транзистор), при любом положении дверцы, меняя лишь угол поворота относительно датчика. Датчик реагирует как на направление магнитного поля, так и на его величину. Поэтому, если из-за люфта, расстояние между магнитом и датчиком изменяется, то это приводит к погрешности измерения положения дверцы и неустойчивой регулировке (1)-(3) при удержании дверцы в закрытом состоянии. В этом случае грызун может её немного приоткрыть и убежать.
Схема устройства показана на рис.5.
 

Рисунок 5. Схема мышеловки.

 Работа устройства.

После включения, микроконтроллер производит калибровку датчика положения дверцы. Для этого он включает двигатель на сравнительно малом напряжении (чтобы не сломать конструкцию), сначала в сторону открывания в течении нескольких секунд, запоминает показание АЦП как открытое положение, затем, в сторону закрытия, также в течении нескольких секунд, с последующим запоминанием показания АЦП как закрытое положение. Эта калибровка производится при 20%-ом (от максимального, равного 255) временном искусственном ограничении значения ШИМ в (2), для ограничения тяги мотор-редуктора. Плавность и равномерность движения при калибровке обеспечивается простым пересчётом целевой координаты Xt в цикле с задержкой 5 мс, сначала от 500 (примерно середина) до 0 (открыто), затем от 0 до 1023 (закрыто).

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

 

Рисунок 6. Мышеловка в закрытом положении.

 

Дверцу можно открыть нажатием единственной кнопки устройства, и обратно закрыть последующим нажатием её же.

С целью отладки чувствительности датчика мыши, сигнальный светодиод D1, в режиме закрытой дверцы, отражает состояние выхода оптопары. Когда дверца закрыта, светодиод горит если оптический канал не перекрыт, а при перекрытии оптического канала он гаснет. Когда мышь поймана и перемещается по контейнеру, этот светодиод гаснет всякий раз когда она перебегает оптический канал.

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

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

 

Рисунок 7. Внутренний вид мышеловки.

 На рис.7 видны закреплённые на противоположных друг другу стенках ИК приёмник и излучатель, и оптический канал между ними в виде пустого пространства перед "блюдцем".

Заключение.

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

К недостаткам конструкции следует отнести то что её приходится промывать от мышиного помёта, как минимум, после каждой второй пойманной мыши, поскольку сидя в ней они успевают её запакостить, начинается запах и т.д.. И еще один недостаток относится к применённому мной пластиковому контейнеру. Контейнер сделан из тонкого и мягкого пластика, который, я думаю, мышь сможет прогрызть за сутки или двое. Они уже начали пытаться это сделать возле одного из отверстий оптического датчика мыши.

Поскольку устройство пока реализовано лишь на макетной плате, печатная плата не разработана. Но имеется полная схема устройства в формате Kicad. К статье прилагается схема и проект программы, включая исходные тексты.

 


Файлы:
Проек схемы в Kicad
Программа для atmega8
Фотография
Фотография


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

6 0 0