Помогите разработать устройство управления ретранслятором

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

Здравствуйте !

Я совсем ничего не понимаю в программировании и названиях микроконтроллеров и всего, чего с ними связано. Столкнулся с такой проблемой, что нужно устройство, которое содержало бы в себе три таймера и один генератор тона 77.0 Гц, 100 Гц, 123 Гц, 180 Гц. Выбор тона при помощи джамперов на плате.

Первый таймер должен включиться от нажатия кнопки и дать выдержку времени 3-5 сек. после её отпускания, а второй таймер должен дать выдержку времени на 0, 5 сек. меньше, чем первый, причём от той же кнопки. Третий таймер должен выдавать 10 минутные выдержки, если не включался первый.
Всё. По-моему, по дилетантски, это сделать на каком-нибудь микроконтроллере не так уж и сложно, но я не знаю как. Просьба меня ногами не бить. Я действительно дилетант в программировании...
Контактная информация:
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 978
Зарегистрирован: Пн ноя 27, 2006 07:52:01

Сообщение ИРБИС »

А зачем тут МК? По-моему и обычной логикой обойтись можно. :)
Питаюсь копытными. Как исчезающий вид занесён в Красную книгу МСОП. Почему до сих пор не занесены в Красную книгу инженеры и учёные РФ?
Контактная информация:
Реклама
aen
Модератор
Аватара пользователя
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.

Сообщение aen »

По правде говоря не понял.
Читаем.
Lotus писал(а): Первый таймер должен включиться от нажатия кнопки.
....
Третий таймер должен выдавать 10 минутные выдержки, если не включался первый.
Т.е. совершенно не понятно чем включается третий таймер?
...
Например.
Подали питание. Сразу запускается третий таймер?
Мы же не успели ещё нажать на кнопку от которой первый таймер запускается и запрещает запуск третьего.
Непонятно так же имеем ли мы тогда право нажать в этот момент кнопку и запустить первый таймер и что тогда делать третьему.
Схема элементарна для простой логики, как сказано выше, но алгоритм д.б. описан чётче.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

На логике это получится громоздкое изделие. По-моему на микроконтроллере гораздо удобнее.

Мысли были такие:

Генератор импульсов на микроконтроллере вырабатывает частоту, которую мы в него "зашили" и джамперами выбрали.
Эта частота подаётся на вход опорного генератора микросхемы NE567. Это кодер/декодер тона с ФАПЧ. Какую частоту мы на этот вход подали, такую декодер и будет распознавать. Вход микросхемы-декодера подключаем к выходу НЧ приёмника. Если приёмник принимает несущую, промодулированную нужным тоном, то с микросхемы-декодера выходит сигнал (логическая 1), который служит для запуска двух таймеров.

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

Третий таймер нужен для того, чтобы раз в 10 минут, на 1 сек. включать передатчик ретранслятора. Это режим "маяка". По нему можно определить наличие электропитания на вышке с ретранслятором. Вышка на вершине горы стоит, туда только на вертолёте можно попасть, а ретранслятор питается от автомобильных аккумуляторов + ветрогенератор + солнечная батарея. Если ретранслятор занят, идёт сеанс радиосвязи, то режим маяка не нужен. Как только ретранслятор освобождается, (не запущен таймер 1) начинается отсчёт времени третьего таймера. Он до 10-ти минут досчитал и на одну секунду передатчик включил. Далее, цикл повторяется. Если первый таймер ни разу запущен не был, то снова отсчитываем 10 минут и снова включаем передатчик на 1 сек., а если был, то отсчёт 10 минут начинаем снова с момента отключения первого таймера.

Три таймера на логике, это несложно. Генератор опорной частоты на логике, это уже не так просто для меня, да ещё и с переключаемыми заданными значениями 77,0; 88,5; 100,0; 123,0; 179,9 Гц - стандартные частоты CTCSS.

Вот и весь алгоритм.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

Да, чуть не забыл.

Как только включили питание, начинается отсчёт времени третьего таймера. Если первый таймер запущен, то третий сбрасывается. Первый не запущен, третий отсчитывает 10 минут, включает на одну секунду передатчик, затем снова отсчитывает 10 минут, снова включает передатчик на 1 сек.
Контактная информация:
Реклама
aen
Модератор
Аватара пользователя
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.

Сообщение aen »

Теперь алгоритм ясен.
Контактная информация:
Реклама
aen
Модератор
Аватара пользователя
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.

Сообщение aen »

aen писал(а):Теперь алгоритм ясен.
Да, Получить такую сетку частот на обычной логике сложновато.
Просто для интереса.
Вы хотите сделать систему CTCSS в передатчике, а приёмники уже имеют эту возможность и в них уже заложены эти стандартные частоты?
Если я например беру вот эту станцию, то они там особо не придерживаются.
http://www.tais-radio.ru/support/f_ctcss.html
...
Эту ссылку вставлю, что бы было понятно чего Вам требуется.
http://www.tais-radio.ru/support/ctcss.html#ctc
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

aen писал(а):Вы хотите сделать систему CTCSS в передатчике, а приёмники уже имеют эту возможность и в них уже заложены эти стандартные частоты?

Да. Каждая радиостанция, работающая через ретранслятор может передавать тон на своей несущей и может быть на него "закрытой". Я хочу сделать ретранслятор "закрытым" на тон 123 Гц и чтобы этот тон был на выходе ретранслятора для открытия тонального шумоподавителя абонентской радиостанции.
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.

Сообщение moLCHec »

Lotus
Совершенно не ясно что мешает сесть и зделать задуманное. Алгоритм вам понятен. Для удобства советую на листке написать. Настраиваем вывод любого счетчика на изменение состояния по совпадению и задаем значения регистра сравнения счетчика в зависимости от частоты. Возможно придется еще предделитель задать чтобы получить относительно низкую частоту. Опрос кнопок на форуме поднимался не однажды.
Настоящий кот всегда либо голоден,
либо невыспался ...
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

moLCHec

Не знаю, что и сказать.

Я же в самой первой строчке написал, что ничего не понимаю в программировании !!! Я нисколько не сомневаюсь в Вашей высочайшей компетенции, но я и терминов то таких, что Вы указали, не слышал ни разу в жизни.

В принципе, операция на головном мозгу человека, совсем несложная вещь, но только для того, кто образован и опытен в этом направлении.
Контактная информация:
aen
Модератор
Аватара пользователя
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.

Сообщение aen »

Lotus писал(а):ничего не понимаю в программировании
Тогда можно на рассыпухе.
Берём кварцевый генератор на 1 мгц и четыре счётчика 155ИЕ7. Пусть они будут в режиме вычитания. Джамперами можем предварительно устанавливать счётчики в состояния
1._ 12987
2._ 11299
3._ 10000
4._ 8130
5._ 5558 или 5559
Тогда в первом случае на выходе счётчика получаем частоту
1._ 77,000077 гц
2._ 88,5034 гц
3._ 100 гц
4._ 123,001 гц
5._ 179,92 гц или 179,888 гц
Удобнее даже кварцевый генератор взять не на один мегагерц, а на два мегагерца. В этом случае на выходе счётчика поставим триггер и получим на выходе меандр.
Если нужна ещё большая точность, то кварцевый генератор берите на большую частоту, увеличивайте разрядность счётчика и соответственно вычисляйте константы предварительного занесения в счётчик. Кварцевый генератор тоже условно 1 мгц или 2 мгц. Можно и дробный взять, например у меня есть 2,031 мгц. Нужно просто пересчитать константы занесения. 155 серию взял условно. Можно любую другую.
С таймерами я думаю всё понятно. Можно на счётчиках, можно на одновибраторах.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

aen писал(а):
Lotus писал(а):ничего не понимаю в программировании
увеличивайте разрядность счётчика и соответственно вычисляйте константы предварительного занесения
Уважаемый aen.

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

Если Вас не затруднит, то расскажите, пожалуйста, как эти цифры, что Вы рассчитали, запихнуть в этот счётчик.

Ещё вопрос. А если питание счётчика прервать на секунду, то он все эти цифры забудет ? Брать вертолёт и лететь на гору ?
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 825
Зарегистрирован: Вс дек 18, 2005 20:04:42
Откуда: Свердловская обл.

Сообщение moLCHec »

Lotus
Почитайте обучалку. Скачайте книгу Ефстифеева по AVR контроллерам. В сети уже есть последняя редакция. Если туго то могу сам кинуть.
И начинайте делать и по ходу задавайте конкретные вопросы (если они будут возникать) по реализации.
Почитав книгу Ефстифеева, главы счетчиков, поймете слова которые так испугали. Они станут понятными.
Настоящий кот всегда либо голоден,
либо невыспался ...
Контактная информация:
aen
Модератор
Аватара пользователя
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.

Сообщение aen »

Lotus писал(а): У меня почему-то сложилось впечатление, что Вы надо мной издеваетесь.
Даже в мыслях не было. Вы понимаете, что если взять генератор 1 мгц и поделить её счётчиком на 12987, то получим 77 гц.
А если эту частоту поделить например 8130, то получим 123 гц.
Микросхема 155ИЕ7 позволяет менять коэффициент деления с помощью предварительного занесения в неё константы.Константа в данном случае заносится сигналом с выхода счётчика.
Я считал, что это элементарно. Ну если так не понятно, то возмите пять отдельных делителей на 12987, 11299 и т.д. и делите ими частоту 1 мгц.
Lotus писал(а): А если питание счётчика прервать на секунду, то он все эти цифры забудет ?
Не забудет. Как питание появится, то в следующем цикле счёта всё востановится.
Lotus писал(а):
Я занимаюсь профессиональной радиосвязью. Моё дело - радиоканал. Про это я Вам что угодно расскажу
Меня это тоже интересует и вероятно я Вас кое о чём спрошу тоже. Просто сейчас времени нет. Схему делителей я тоже позже нарисую. У меня там нет никакого "программирования" в чистом виде. Термин программируемый делитель на 155ИЕ7 не подрузамевает ни каких программ.
Последний раз редактировалось aen Пн дек 03, 2007 09:52:50, всего редактировалось 1 раз.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Пт ноя 30, 2007 22:20:24
Откуда: Москва

Сообщение Lotus »

aen писал(а):
Lotus писал(а):
Схему делителей я тоже позже нарисую..
Спасибо. Буду ждать. Низкий Вам поклон.
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»