Общие сведения
Дисковый импульсный номеронабиратель — используется в телефонных аппаратах для набора номера вызываемого удалённого абонента с целью последующего установления голосовой телефонной связи. Набор номера осуществляется путём поворота заводного диска до требуемой цифры, с последующим самостоятельным возвратом диска в исходное положение. Данный номеронабиратель произведён в СССР согласно ГОСТ 10710-81-I и имеет три вывода для подключения к телефонному аппарату.
Видео
Характеристики
- Коммутируемое напряжение: < 72 В.
- Коммутируемый ток: < 100 мА.
- Период следования импульсов: 90 ... 110 мс (импульс и пауза).
- Пауза между сериями импульсов: > 180 мс (без учёта завода диска пальцем).
- Дребезг шунтирующих контактов: < 3 мс.
- Дребезг импульсных контактов: < 2 мс.
- Сопротивление замкнутых контактов: < 30 мОм.
- Сопротивление изоляции: > 30 МОм.
- Расстояние между разомкнутыми контактами: > 0,3 мм.
- Конечное усилие при заводе диска: < 2,45 Н (250 гс).
- Ресурс заводного диска: >1000000 полных наборов (от «0» до исходного положения).
- Длина проводов: 150 см ±10 см.
- Уровень шума обратного хода диска: < 55 дБ.
- Стойкость корпуса к ударной нагрузке с ускорением: > 8 g.
- Рабочая температура: -10 ... 50 °С.
- Габариты: Ø82x49 мм.
- Вес: 110 г.
Подключение
У номеронабирателя имеется три провода:
- Синий - от контакта шунтирующей контактной группы.
- Жёлтый - от контакта импульсной контактной группы
- Красный - общий, от контакта одной и контакта другой контактной группы.
Схема подключения:
Для подключения к платам Arduino/Piranha рекомендуем красный (общий) провод подключить к выводу GND, а желтый и синий провода подключить к любым цифровым выводам платы (например D5 и D6), переведя их в режим входа с внутренней подтяжкой к Vcc (см. скетч ниже). При такой схеме подключения, Вам не потребуются дополнительные элементы (подтягивающие резисторы).
Питание
Номеронабиратель не требует питания. Коммутируемое напряжение не должно превышать 72 В постоянного тока до 100 мА.
Подробнее о номеронабирателе
Номеронабиратель имеет две контактные группы: импульсная и шунтирующая.
- Импульсная контактная группа состоит из двух контактов находящихся в нормально-замкнутом состоянии. Во время возвращения заводного диска в исходное положение, импульсная контактная группа несколько раз размыкается. Количество размыканий совпадает с той цифрой, от которой диск начал возвращаться: "1" - 1 раз, "2" - 2 раза, "3" - 3 раза, ... , "0" - 10 раз.
- Шунтирующая контактная группа состоит из двух контактов находящихся в нормально-разомкнутом состоянии. Данная группа разомкнута только когда заводной диск находится в исходном состоянии, при отклонении диска ит исходного состояния, контактная группа замкнута.
При отпускании заводного диска, после его отклонения до набираемой цифры, диск плавно возвращается в исходное состояние. Плавность обратного хода обеспечивает одинаковый период следования импульсов в цепи импульсной контактной группы, для любой набираемой цифры.
Примеры
Скетч внутренней подтяжки выводов к Vcc:
uint8_t pinDIAL = 5; // Определяем вывод подключённый к синему проводу номеронабирателя (шунтирующий контакт). uint8_t pinPULSE = 6; // Определяем вывод подключённый к жёлтому проводу номеронабирателя (импульсный контакт). // Красный провод подключён к GND. void setup(){ // pinMode(pinDIAL, INPUT); // Переводим вывод pinDIAL в режим входа. pinMode(pinPULSE, INPUT); // Переводим вывод pinPULSE в режим входа. digitalWrite(pinDIAL, HIGH); // Подтягиваем вывод pinDIAL к Vcc. digitalWrite(pinPULSE, HIGH); // Подтягиваем вывод pinPULSE к Vcc. } // // void loop (){ // } //
При таком подключении номер набранной цифры должен соответствовать количеству положительных импульсов считанных с вывода D6 pinPULSE (жёлтый провод), подсчёт ведётся пока на выводе D5 pinDIAL (синий провод) установлен низкий логический уровень.
Появление высокого логического уровня на выводе D5 pinDIAL (синий провод) сигнализирует о завершении набора цифры.
Скетч вывода набираемых цифр в монитор последовательного порта:
uint8_t pinDIAL = 5; // Определяем вывод подключённый к синему проводу номеронабирателя (шунтирующий контакт). uint8_t pinPULSE = 6; // Определяем вывод подключённый к жёлтому проводу номеронабирателя (импульсный контакт). uint8_t cntPULSE; // Объявляем переменную для подсчёта импульсов от номеронабирателя. // Красный провод подключён к GND. void setup(){ // pinMode(pinDIAL, INPUT); // Переводим вывод pinDIAL в режим входа. pinMode(pinPULSE, INPUT); // Переводим вывод pinPULSE в режим входа. digitalWrite(pinDIAL, HIGH); // Подтягиваем вывод pinDIAL к Vcc. digitalWrite(pinPULSE, HIGH); // Подтягиваем вывод pinPULSE к Vcc. Serial.begin(9600); // Инициируем связь с монитором последовательного порта на скорости 9600 бит/сек. } // // void loop (){ // if(!digitalRead(pinDIAL)){ // Если разрешено чтение импульсов (на синем проводе логический «0»), то ... delay(20); // Подавляем дребезг шунтирующей контактной группы. cntPULSE=0; // Сбрасываем счётчик. while(!digitalRead(pinDIAL)){ // Входим в цикл, пока на синем проводе не появится логическая «1» ... if(digitalRead(pinPULSE)){ // Если поступил импульс (на жёлтом проводе логическая «1»), то ... // Фронт импульса: // delay(5); // Подавляем дребезг импульсной контактной группы. while(digitalRead(pinPULSE)){delay(5);} // Ждём завершения импульса. // Спад импульса: // delay(5); // Подавляем дребезг импульсной контактной группы. cntPULSE++; // Увеличиваем счётчик полученных импульсов. } // } // Выход из цикла while сигнализирует о появлении логической «1» на синем проводе. delay(20); // Подавляем дребезг шунтирующей контактной группы. if(cntPULSE){ // Если был зафиксирован хотя бы 1 импульс, то ... if(cntPULSE>=10){cntPULSE=0;} // Если поступило 10 импульсов, значит набрана цифра 0. Serial.println(cntPULSE); // Выводим набранную цифру (количество поступивших импульсов). } // } // } //
Данный пример выводит цифру в монитор последовательного порта, после завершения её набора на дисковом номеронабирателе.
Комплектация
- 1x Дисковый импульсный номеронабиратель;