К тому же у выше приведенного приемника нет: -функции автоматического сканирования -часов,будильника -термометра -регулятора громкости
А жаль-ведь хочется полноценный девайс,с максимальным набором сервисов! И главное что бы его стоимость была как можно ниже.
Поэтому решено было писать "прошивку" с нуля под atmega8.
В качестве клавиатуры использовать 6 кнопок-"up","down","left","right","меню","ок" Датчик термометра использовать серии KTY81 Регулятор громкости-любой управляемый по шине I2C
Так же доработать радиотракт в сторону повышения чувствительности,и изберательности.
Фактически я использовал схему блока индикации,схему приемника(с синтезатора на LM7001) из вышеприведенной статьи. По завершению проекта,планируется сделать еще один приемник с использованием другого синтезатора и ЖК дисплея.
Дошел до этапа написания модуля сканирования радиостанций,и занесения их в память.
зачем вы лепите динамическую индикацию в приёмник, и как при этом собираетесь увеличивать чувствительность? бз: неинтересно совсем, на dsp пора делать =)
зачем вы лепите динамическую индикацию в приёмник, и как при этом собираетесь увеличивать чувствительность?
потому как валяются бесхозные индикаторы,и я люблю LED.Сразу мне вспоминаются те китайские часы-будильник в магазине бытовой техники с крутилкой-отживший век,но их продают,и динамическая индикация не мешает им играть)) а проблема помех решается многими способами,экранирование это самый последний из них.
Цитата:
бз: неинтересно совсем, на dsp пора делать =)
Если скажите где на Украине купить SI4734/35 сделаю)
Собственно основной целью почему решился писать эту хрень-создание простого,и компактного ""движка"",который можно будет портировать в любую конструкцию-вплоть до синтезатора трансивера. Потребуется только изменить процедуры управления синтезатором(PLL,DDS),процедуры управлением дисплеем,и добавить/убрать функции меню. Потому как меня вовсе не устраивают готовые hex файлы. Да и не приходилось мне писать такое мега чудище,с задействованием всего что есть у проца.
зачем вы лепите динамическую индикацию в приёмник, и как при этом собираетесь увеличивать чувствительность?
потому как валяются бесхозные индикаторы,и я люблю LED.Сразу мне вспоминаются те китайские часы-будильник в магазине бытовой техники с крутилкой-отживший век,но их продают,и динамическая индикация не мешает им играть)) а проблема помех решается многими способами,экранирование это самый последний из них.
Они работают потому что у них чувствительность нулевая, и вообще эти радиобудильники все как один работади отвратно, сколько не встречал.
Подскажите пожалуйста алгоритм сканирования,а то я человек в МК новый,интересно было бы узнать. В личкуесли можно. Спасибо.
Думаю этот вопрос актуален,да и останется актуальным у законченных конструкциях.
Алгоритм сканирования выбирается исходя из того какой приемник-как опознавать что мы настроились на станцию? и насколько быстро он может менять частоту.
У CХА1538 при настройке на станцию на выходе TUNE около 0.9в,и если расстроились то до +напряжения питания(5в скажем).
Мой алгоритм такой: 1-загружаем начальную частоту 2-проверяем не настроились мы случаем на станцию(см пункт 4) 3-прибавляем частоту смотрим а не ушли ли мы за предел диапазона? 108мгц например,если ушли тогда чето будем делать) 4-смотрим сколько вольт на выходе tune -если на выходе меньше или равно 2В,тогда считаем что настроились на станцию,ниче не делаем-ждем пользователя -вдруг это не станция, а помеха -на выходе больше 2В,идем в пункт 3(прибавляем частоту)
5. если пользователь нажал кнопку "UP" перескакиваем в пунк 3. 6.Если пользователь нажал кнопку "Right"(пожже заминю на кнопку "ок")-вызываем процедуру записи в EEPROM,прибавляем адрес ячейки для следующей записи.
Для измерения напряжения использую ADC,до этого использовал аналоговый компоратор-с алгоритмом выявления ложных срабатывание работает сносно.
Если приемник качественный-тогда пользователя посылаем курить бамбук,сканим,находим и сами записуем)
Еще бы не помешала коррекция проскакивания-недонастройки на станцию-увидели станцию-покрутили частоту в лево в право,посмотрели где более реалестичнее станция-записали. Но это требует усложнения процедуры,пока оно мне не нужно. Вместо этого делаю пункт меню-"Редактирование канала" ,там уж мы сами подкрутим что нужно.
Код приводить не буду,потому как там все завязанно,как все сделаю будет код.
Спасибо за ответ! Пока я только учусь,поставил перед собой задачу - написать алгоритм нахождения короткого пути от конкретного передатчика к главному,при условии,что передатчиков обычных вокруг много,и надо выбрать оптимальный путь. Вот,собираю инфу пока по крупинкам,может у кого какие мысли есть?
Вот я думаю,а че ж мне от них то нужно? настройка времени это понятно. настройка станции на которой включатся? наверно все таки да,вдруг сюрприз с утра нужен,какая нить гадосная станция)) настройка громкости? сомнительно,разве что среднее какое нить что бы было,либо пусть сам повышает пока вас с утра не достанет)
Пока использовал почти половину памяти чипины-3464 из 8000. нет управления микросхемой регулятором громкости,и нет пульта. Но собственно и нет ни микросхемы ни пульта думаю что впишусь еще и останется,ради интереса туда прикурить управления от компа,если лень не замучает))
Валкодер наверно не нужен,нет его,а городит моторы-так просто по тестить..нужно подумать. Если уж захочется валкодер все равно займет очень мало места. Только я ни знаю то ли частоту ему крутить,толи каналы менять
Прилиплю исходник,на случай не придвиденных обстоятельств с жестким диском. Жаль что 10кб я закачать не могу))))) http://ifolder.ru/26754641
Автонастройку лучше делать с помощью IFC (IF Counter), счётчик ПЧ. Встроен он обычно в синтезатор (берите LC72131) При каждом шаге настройки считываем значение счётчика и если пч = рассчётному то запоминаем канал, нет- идём дальше.
Автонастройку лучше делать с помощью IFC (IF Counter), счётчик ПЧ. Встроен он обычно в синтезатор (берите LC72131) При каждом шаге настройки считываем значение счётчика и если пч = рассчётному то запоминаем канал, нет- идём дальше
Спасибо! как то не задумывался что они умеют такое. Следующая конструкция будет на LC72131.
Получил в подарок пульт AIWA RC-ZVTI6(от телевизора). теперь предстоит разобратся а какой стандар он использует! тип модуляции разные проги говорят разный. -Pulse Distance Coding -Pulse Length Coding
Поидеи как бы мой алгоритм должен работать под оба стандарта. В Pulse Length Coding паузы между импульсами одинаковы-так как тактируемся от резонатора,хотя может конечно быть чудо изврат разработчиков.
В Pulse Distance Coding тоже должна быть одинаковая пауза между импульсами..должна?!
SlyСontrol мне показывает 42 битную посылку,зато код там байт на 10 ))
Прийдется использовать метод научного тыка)) померяем прям в проце,и посмотрим, а правда ли 42,и какие длины импульсов. Нужно померять длину всех импульсов,посчитать их число.Дописать корекцию на число импульсов-а то там повтор еще есть(если кнопка нажата и удерживается),он пока не нужен.Сделать статистику,и выяснить как опознавать код кнопки.
Целая научная работа в стиле реинжинеренга Будет кому то программа коррекции под другой пульт))
Плохи дела. Похоже что проц не успевает считать,не смотря на то что работает на 8мгц.
Перекоректировал прогу что бы она меряла первый импульс по принципу: пришло прерывании(внешнее)-остановили таймер,считали в ячейку озу,запустили так вот-работает коректно если выставлят срабатывание прерывания по лог нулю,передний задний фронт и срабатывание на смену лог состояния вобще дают мне 5 имп!!(а их 43 должно быть,на записи со звуковой карты четко просматривается пакет с пульта)
Намеряло оно мне 18 тиков~2мкс .Попробовал 2 пульта что были дома та же цифра.
Еще более извратился-заставил писать в память длину каждого импульса в единицах счета таймера,а потом выводить 43 измерения на дисплей-пишет во все ячейки эти 18 тиков.
Попробовал использовать сразу оба прерывание настроенных-передний/задний фронт-те же 5 имп(вместо 43!).
Вывод-мы тормоза,и такая постановка вопроса не годится.
Либо городить еще один контролер заточеный на раскодировку посылки,либо сгородить свой пульт
Считаю оптимальным второе,так как в пульте припаянная "платка" с залитой микросхемой. Поставить туда Attyny 13,и сделать посылки подлинее,и урезать на значительно меньшее число бит Спрашивается зачем посылку делать такой короткой,да еще и 80% информации одинакова(модель пульта наверно)
Тем более незадействованные кнопки,можно будет пустить на управление люстрой,проснулся нажал пульт,тут тебе и музыка,тут тебе и свет,не хватает кофейного автомата на колесах))))
Переношу проблему пульта на время когда конструкция будет собрана. Микросхема звука TDA8425 куплена. Остается дописать будильники,и прописать звук,и можно счастливо радоваться! Вижу свет в конце тоннеля А то сегодня не услышал не одного из 3х будильников на своем мобильном! непорядок!
Доделал режим сна,что бы часы не сбросились благодаря чудесам электричества.
Ток потребления микроконтроллера в режиме сна 0.11мА(в нормальном 12мА) ,меньше не получится-часы тут,и один делитель(да и atmega8 не лучший вариант по энергопотреблению в ждущем режиме).
По расчетам конденсатора на 1000мкф должно хватить до суток. А батарейки CR2032 на 2045часов))
Надо еще над ионистором подумать
Какой я глюк выловил то! ))) через 8 минут часики сбиваются с орбиты,и через черную дыру уходят в астрал!!! вместе со всем содержимым на борту!! Совсем не норматированный глюкинг,ни где не описанный. Вылечил -каждую минуту записываю настройки для асинхронного таймера-причем в этот момент мы просыпаемся на все 12мА,на несколько микросекунд. Потом нужно будет прикурить счетчик который будет это делать каждые 6 минут,что бы сэкономить запасы ядерного топлива в конденсаторе
Видать ни кто не пробовал,ну ладно,подождем,может найдутся кто пробовал
Запустил регулятор звука TDA8425 Надо это дело отметить
Едим дальше
Далее планирую поколдовать над приемной частью и выдавить с нее все,попробую ее до 144мгц дотянуть,и слух улучшить. Мои варикапы сейчас без проблем до 120 дотягивают,при 5в питания,а при 12в перекрою весь интересующий диапазон.
В конце это все дело адаптирую под МЭЛТ сегментный,вдруг у кого то будет проблема с помехами.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения