andrusha152

Members
  • Публикации

    78
  • Зарегистрирован

  • Посещение

Репутация

11 Обычный

О andrusha152

  • Звание
    Осваивающийся

Информация

  • Город
    Нежин

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  • Оборудование
    паяльная станция, китайский тестер., компьютер.
  1. Я ставил эти модули вместо: CD2003, CXA1691, и третья, вроде, HMC S1601, обозначения почти не видно. Во всех случаях чувствительность модуля была лучше. Хоть антенна и не далеко, но со спины, через четыре бетонных панели. Приемники на RDA ловят чисто, практически без помех.
  2. Здесь обсуждается совершенно другой приемник. А вам похоже, сюда.
  3. Еще вопрос, чей это баг. Программы писать, это вам не пельмени трескать. Тут думать надо. При переключении каналов в программе присутствует задержка, и при быстром вращении все щелчки энкодера просто не успевают обрабатываться. Вам asvetp пообещал такую прошивку, так подождите, доверьтесь профессионалу.
  4. Ориентироваться лучше по RSTDISBL. Ставите фьюзы по умолчанию, и смотрите, как стоит этот бит. По умолчанию он выключен. На основе этого ставите или снимаете остальные галочки.
  5. Приемник на RDA5807 и семисегментнике

    Продолжаю мучить модуль. Вторая версия приемника - для дачи. Код занимает 100%. Неделю мучился, но добил. Схема та же. Питание приемника 3 вольта. Отключение индикации. Режим STEREO отключен, BASS включен. Частоту камня снизил до 1 МГц. Фьюзы заводские. При включении с зажатой кнопкой MINUS переход в режим сканирования, и записи частоты в память. Убрал почти все Bitwait'ы ( много места в памяти занимают). Теперь настройка частоты происходит при удержании кнопок PLUS или MINUS. При записи частоты в память (кнопка MEM) на полсекунды гаснет индикатор. Хотел сделать, чтобы высвечивалось CH № , но не влезло. При достижении частоты 108,1 МГц переход в режим прослушивания радио. Включается первая сохраненная станция. Индикатор гаcнет через 5-6 секунд. Хотел сделать Powerdown, но INT0 очень много памяти кушает. Поэтому, просто останавливаю TIMER0. Специально измерил ток потребления ( китайским мультиметром ) в режиме сна и при остановке таймера. Ток абсолютно одинаковый - 21 mA. Когда индикатор погашен, доступна только кнопка MEM, для включения индикации. В этом режиме возможно переключение каналов, а при нажатии кнопки MEM, регулировка громкости. При повторном нажатии кнопки MEM, запись громкости в память и переход к отображению частоты. Громкость приемника изменится только после записи ее в память. По другому никак не получилось. Тинька оказывается не резиновая. Да, при настройке станций и громкости индикация не отключается. Индикатор лучше использовать яркий.Обычный, при 3х вольтах светит тускло. В архиве прошивки ОА и ОК, схема, исходник (Bascom avr). Проект 2.zip
  6. Я то же попробовал на 12МГц ( CLK_MODE[2:0] = 001 ) не работает. Тишина в динамиках.
  7. Здесь, похоже, постоянно ручная настройка, без записи частот в память.
  8. Приемник на RDA5807 и семисегментнике

    Пробую еще раз. Если убрать регулировку громкости, то влазит спящий режим. Проект.zip
  9. Приемник на RDA5807 и семисегментнике

    Предлагаю свой вариант приемника на модуле RDA5807 и семисегментном индикаторе. Приемник разрабатывался в гараж, и на дачу. Функционал уменьшен до минимума. Зато код влез в Attiny2313, а то валяются дома, некуда пристроить. Код занял 97% памяти, поэтому туда что то добавить нереально. Получился простой приемник, без наворотов. Режим STEREO отключен, режим BASS включен. Начальная громкость 10. Для управления используются три кнопки (Plus, Minus, Mem), на большее портов не хватило. При включении приемника с зажатой кнопкой "Minus" он переходит в режим настройки станций. Высвечивается частота 87,0.Кнопками Plus и Minus частота изменяется на 100 кГц соответственно. Запись станций в память происходит при нажатии кнопки Mem. При достижении частоты 108,1 МГц приемник переходит к проигрыванию первой сохраненной станции. Здесь доступно переключение сохраненных каналов кнопками Plus и Minus по кольцу, а при нажатии кнопки Mem регулировка громкости. Повторное нажатие кнопки Mem записывает установленную громкость в память. При обычном включении приемника происходит настройка на первую сохраненную станцию. В архиве схема, прошивки ОА и ОК, исходный код (BASCOM AVR). Фьюзы настроить на внутренний генератор 8 МГц(снять галочку с CKDIV8). И хочу еще поделиться опытом применения модуля RDA5807. Нежелательна его установка на плате возле контроллера, возможен фон от динамической индикации. Лучше сделать дополнительную плату, на которой разместить модуль, согласование уровней и стабилизатор 3,3 вольта. И проводочками (5-8 см) подключить к основной плате. При питании контроллера от 5и вольт согласование уровней лучше делать на транзисторах, а не просто на резисторах. Реально уменьшается время задержки при инициализации RDA. Этот вопрос обсуждался на первых страницах форума. Я в программе поставил 500 миллисекунд, так при резисторном согласовании были глюки. Один раз запустится нормально, другой раз шипение, при правильной индикации частоты. Поставил транзисторы и проблема ушла. Может кому то эта информация будет полезной. Ну и несколько фоток. Проект.rar
  10. Поправляю. Вы вообще не на том пути. Прописать все частоты можно, это всего двести строчек получиться. Пустяк. А вообще делается совершенно по другому. Используется самый простой цикл. Начальное значение 880, конечное значение 1080. При одном щелчке энкодера увеличиваем или уменьшаем частоту на 1 и проверяем настройку приемника. При достижении минимального или максимального значения выходим из цикла. Так намного проще.
  11. Приемник на RDA5807 и семисегментнике

    Не надо перевирать. Про ваш исходник разговора не было. Пример с минусом ноль градусов не вы придумали. Кто то один придумал, не подумав как следует, а все давай перепечатывать, незадумываясь. В интернете таких примеров куча. Я просто высказал свое мнение, как было бы правильнее. И десятые, сотые, тысячные я тоже не просил вводить. Просто попросил посмотреть в Протеусе, как поведет себя термометр при -0,1 градусе цельсия. Что касается кварца, в том то и дело, что не китайский кварц купить невозможно. Электронные часы человек собирает( покупает) надеясь на точность, более высокую, чем у механических. С китайскими кварцами это, как повезет. Поэтому у пользователя должна быть возможность подстроить часы раз в неделю, месяц, если повезет, раз в год. Самый простой способ подстройки по времени интернета. Но, если при настройке часов невозможно выставить секунды на ноль, ни о какой точности не может быть и речи. Часы должны быть часами, а не показометром. Это мое мнение.
  12. Приемник на RDA5807 и семисегментнике

    Я не говорю, что нужна точность в 0,1 градуса. Это на любителя. Просто, что происходит при измерении отрицательных температур. Датчик измеряет и десятые доли градуса, и выдает их. В программе они не считываются. И, как только измеренная температура становится меньше нуля ( - 0,1 это меньше нуля ) программа к значению температуры прибавляет 1. То есть реально индикатор показывает -1 градус. Добавляется погрешность при измерении отрицательных температур. Вот и все, что я хотел этим сказать.
  13. Приемник на RDA5807 и семисегментнике

    If Temp = "-" Then ' для корректного вывода отрицательных температур T1 = T1 + 1 End If Это самый не корректный способ вывода отрицательных температур. Вы просто увеличиваете погрешность термометра на один градус. Попробуйте в Протеусе, в настройках DS18B20, поставить разрядность (granularity) 0.1. При температуре -0,1 градус, термометр показывает -1 градус. Для того, чтобы при ноле градусов не отображался минус делается по другому: If T1 = 0 Then Temp = " " End If И как в ваших часах обнуляются секунды? Всем известно, что китайские кварцы далеки от совершенства. Поэтому практически любые часы будут идти неточно. Я, в своих часах, сделал коррекцию именно под свой кварц, но все равно за пару месяцев они отстают на 2-3 секунды. И ваши будут. А точное время установить невозможно.
  14. Приемник на RDA5807 и семисегментнике

    У ATTINY88 на четыре порта больше. PortA.0 - PortA.4 добавлены.