Activity

Подключение зуммера (buzzer) к AIOP

Иногда кадрокоптер приземляется ни туда куда планировалось, например, в высокую траву или на дерево, наличие зуммера позволяет облегчить поиск. Многие используют контроллер батареи с зумером, но он начинает „пищать” только при разряде батареи, что для поиска модели не очень подходит.
Я постараюсь рассказать, как подключить зуммер к популярному контроллеру AIOP.

Во первых какие бывают зуммеры:
1. Зуммеры динамического типа (Electromagnetic TRANSDUCER www.piezo-buzzers.com/buzzerspec/…/HCM09B.pdf )
Т.е. в зуммере есть низкоомная катушка, обычно десятки Ом на которую нужно подать переменное напряжение звуковой частоты. Зуммеры этого типа иногда используют в стационарных ПК. Чтоб такой зуммер выдавал звук необходимо этот звук генераторировать, т.е. нужн генератор, а контроллер может включить или выключить звук (по краиней мере в прошивке multiwii 2.2) по этому зуммер этого типа не очень подходит, для нашей задачи. Вот если понадобиться оснастить аппаратуру или модель голосом или проиграть мелодию тогда можно выбирать что-то подобное.
По моему как раз такого типа зуммеры используются в устройствах контроля аккумулятора.

2. Зуммеры динамического типа со встроенным генератором (Electromagnetic BUZZER witch Internal oscillator www.piezo-buzzers.com/buzzerspec/…/HCM12X.pdf). Чтоб такой зуммер начал звучать необходимо, подключить к нему питание. Зуммеры могут быть на разное напряжение и на разные противные и не очень частоты звучания. Параметры конкретного зуммера нужно искать в тех. описаниях. Для подключения зуммера этого типа к контроллеру необходим транзисторный ключ, поскольку ток потребления может превышать максимально допустимый ток порта контроллера.

Схема подключения к контроллеру может быть например такой:

3. Пьезо зуммеры. (Piezoelectric Transducer www.piezo-buzzers.com/piezotransducer.htm) Сами по себе не «пищат», нужен генератор. Могут быть с двумя или тремя выводами, третий вывод используется как обратная связь, для генератора. Имеют резонансную частоту на которой особо громко звучат. Особенность, мало потребляют, но желательно чтоб напряжение было по больше 10-20вольт. Схема генератора для 3х выводного пьезо зуммера может быть такой:

Без генератора к контроллеру подключать не имеет смысла, работать не будет.

4. Пьезозуммеры со встроенным генератором ( Piezoelectric Buzzer www.piezo-buzzers.com/piezobuzzer.htm ) На мой взгляд этот тип зуммеров наиболее подходит для звуковой сигнализации моделей, мало потребляют достаточно громко звучат. Пьезо-зуммер можно подключить через сопротивление непосредственно к порту контроллера (…northwestern.edu/…/Fileiezo_Speaker_Circuit.JPG), но я всё таки думаю, что лучше поставить транзисторный ключ. Схема подключения может быть такой:

или на транзисторе NPN как на рисунке, для 2 типа зуммера. А можно купить уже готовую платку:

Для multiwii в файле конфигурации нужно раскоментировать строку:

/********************************************************************/
/****                             Buzzer                         ****/
/********************************************************************/
    #define BUZZER

По умолчанию сигнал включения зуммера (S) берётся с 32 контакта платы.

#define BUZZERPIN_PINMODE          pinMode (32, OUTPUT);

У меня включение зуммера акивирует AUX с одним из полётных режимов.
Тут можно почитать как поменять активацию зуммера на другую ножку разъёма.

При потере связи, так же включается зуммер.

Подключение LED к плате "CIRUS MultiWii Light".

Чтоб моргало, раскомментируйте следующее.

#define LED_FLASHER // разрешить подсветку

// Назначает порт, для платы CIRUS MultiWii Light контакт D12, для //остальных прозвонить, уточнить.
#define LED_FLASHER_DDR DDRB
#define LED_FLASHER_PORT PORTB
#define LED_FLASHER_BIT PORTB4

//#define LED_FLASHER_INVERT // Инверсия

//#define LED_FLASHER_SEQUENCE 0b00000000 // leds OFF "Патерн" , для режима "disarmed",
//например если установить "0b01010101",то в режиме "disarmed" будет мигать 125ms горит 125ms пауза.

#define LED_FLASHER_SEQUENCE_ARMED 0b00000101 // Как моргать, в режиме "armed" каждый бит 125mS.
 дефолтной установке две вспышки по 125мс , с паузой между вспышками 125мс,
//повторяются раз в 1секунду (3*125+ 5*125= 1сек.).

Следующие "дефайны" можно использовать, для включения/выключения LED, назначив канал на AUX.
//#define LED_FLASHER_SEQUENCE_MAX 0b11111111 // full illumination
//#define LED_FLASHER_SEQUENCE_LOW 0b00000000 // no illumination

В AIOP, 33 контакт подключен к порту “С4” . Тогда в конфиге должно быть так:

 #define LED_FLASHER
    #define LED_FLASHER_DDR DDRC
    #define LED_FLASHER_PORT PORTC
    #define LED_FLASHER_BIT PORTC4

    //#define LED_FLASHER_INVERT // Инверсия

    #define LED_FLASHER_SEQUENCE 0b00000000 // Если сделать так 0b00000001, то будет одна вспышка в секунду.
    #define LED_FLASHER_SEQUENCE_ARMED 0b00000101 // Как моргать, две вспышки, каждую секунду.


    #define LED_FLASHER_SEQUENCE_MAX 0b11111111 // Включить LED командой
    #define LED_FLASHER_SEQUENCE_LOW 0b00000000 // Выключть командой