admin

Радиомодуль с RDA5807M продлевает жизнь старых радиоприёмников

1 544 сообщения в этой теме

taif    18

Вот, фото. Второй с кракозябрами в режиме записанных станций. Иногда подобное появляется и в автонастройках. МК стирал  - бесполезно. Дисплей Nokia 5110 из  Китая.

 

 

33.jpg

FM.jpg

Изменено пользователем taif
ошибка

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Посмотрел я внимательно на Вашу печатную плату и очень она мне не понравилась. Особенно плохо разведена "земля". У Вас "земляная" дорожка с 1-го вывода RDA5807M огибает половину платы, вначале непосредственно к  этому выводу подключены резисторы R1 и R2, через которые могут попадать помехи от Вашего усилителя НЧ, затем на эту же дорожку подключены общий провод индикатора и его подсветки. И весь этот "ансамбль" дополняет какой-то элемент (возможно резистор), которого нет на схеме, и через который дорожка, наконец-то, связывается с полигоном "земли". Моё замечание о возможной большой длине проводов к кнопкам управления относится к таким вариантам монтажа, когда плата находится в одном месте радиоприёмника, а кнопки, по конструктивным и дизайнерским соображениям находятся в другом. Так, как у Вас кнопки находятся практически рядом, то можете об этом не беспокоиться.

Что же делать с данной платой? Попробуйте перерезать дорожку непосредственно рядом с 1-м выводом RDA5807M и соединить его перемычкой с полигоном "земли",  перерезать верхнюю дорожку связывающую выход на УНЧ с выводами индикатора и также соединить её перемычкой с полигоном "земли".

И ещё одно замечание. Судя по надписям около разъёма для программирования вы программируете при напряжении питания программатора +5 В. Если это так, то это опасно для индикатора, он может быть повреждён.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

 Спасибо, asvetp, за соучастие)) Сделал, как Вы, рекомендовали. Верхняя "минусовая" дорожка вообще не нужная оказалась( по невнимательности моей), т.к. "какой-то элемент (возможно резистор)" есть  перемычка. Избавился от резисторов с выхода УНЧ, обрезал дорожки.  Но, увы, все по-прежнему.  5В при прошивке, подавал  без дисплея и без стабилизатора напряжения(3.3в)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Как-нибудь на досуге я выберу время и попробую увеличить тайминги при обмене с LCD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

У меня появились сомнения taif, правильно ли Вы выставили фьюзы при программировании. Очень похоже на то, что внутренний генератор микроконтроллера работает не на той частоте, отсюда и изменились все тайминги. При помощи фьюзов  CKSEL0..3  устанавливается частота внутреннего генератора равной 8 МГц. а фьюз CKDIV8 не программировать, иначе частота генератора разделится на 8 и будет составлять 1 МГц.

И ещё одно замечание. Если количество ваших радиостанций отличается от моих (14 штук), то в программе нужно указать ваше число радиостанций уменьшенное на единицу в двух местах. Привожу фрагмент программы, в котором две красные цифры 13 нужно изменить:

  St_Up:                 ; Выбрать следующую станцию из FLASH

                               clr r2                                           ;Очистить кнопочный буфер

                               ldi ZL,LOW((freq_st)*2)               ;Загр. в Z нач. адр.хран.

                               ldi ZH,HIGH((freq_st)*2)          

                               inc temp3                                     ;Номер следующей станции

                               cpi temp3,13                                 ;Номер не должен быть > 14-1

                               brlo st_u                                         ;

                               ldi temp3,13                                      

                               rjmp st_u                                         ;


       

В дальнейшем я изменю программу так, чтобы это было проще делать неопытным в программировании радиолюбителям. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

Добрый вечер, asvetp.  Количество станций у меня тоже - 14 . Вот фьюзы считал только что. Я в них понимаю лишь, как выставить. Пробую вникать... но стар видать для такого разбору, хотя, и в молодости бестолков был)). Да, не знаю, важно, или нет - эти кракозябры пропадают после выключения-включения и, более не появляются пока приемник работает.

codeVisionAVR.PNG

Изменено пользователем taif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Двухпроводный интерфейс настроен на частоту обмена 400 кГц. Давайте, taif,  попробуем уменьшить частоту обмена например до 300 кГц. Для этого в драйвере индикатора (файл  I2C_hard_driver.asm) нужно в первой команде вместо числа 2 поставить число 5 (см. фрагмент программы ниже).

speed_clk:  ;Настройка скорости работы
  ldi temp,5      ; TWBR = ((8000000/300000) - 16)/(2*4^0) = 5

И ещё, мне не нравится, что питание индикатора заведено с двух сторон. Может это и неважно, но попробуйте всё таки все подключения сделать с одной стороны (снизу по плате).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

Спасибо, буду пробовать. Вопрос. После исправлений в AVR Studio указанного  файла, он в папке  появляется отдельно с расширением aps File. А вроде должен заменить исходный - I2C_hard_driver( или ошибаюсь), или изменения сохраняю неправильно??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Здесь что-то на так. Файл с расширением .aps это файл проекта в AVR-Studio. Да, он генерируется программой и содержит информацию о составе, настройках,  и местонахождении файлов, но файл I2C_hard_driver.asm никуда не должен деваться. Сделать изменения в ассемблерном файле можно даже в блокноте, а затем перекомпилировать проект так, как это вы делали при записи своих радиостанций. В программе Proteus компиляция делается тоже нажатием на одну кнопку "Build All". Если у Вас, taif, не получится, пришлите мне свой файл RDA5807M_&_Nokia5110.asm и я Вам  это сделаю, хотя эти простые операции нужно всё-таки освоить, если Вы хотите заниматься микроконтроллерами в дальнейшем. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

Здравствуйте, asvetp . Буду сам пробовать, давно уж имею желание, хоть чуток освоить программирование, вот, нынче, при ваших подсказках кое-что осваивать начал. Спасибо.))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

asvetp, вот папка в которой сохранился переделанный мной файл(300). Перепрошивать не пробовал, не знаю, верно ли все вышло.

Спасибо

Nokia & ATMega8 00000.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Да, taif, файл драйвера Вы изменили правильно. Но т. к. в созданном Вами проекте только этот файл и находится, да ещё и под другим именем, то скомпилировать весь проект Вам не удастся. Нужно при создании проекта указать имя основного исполняемого файла проекта RDA5807M_&_Nokia5110.asm, предварительно в ту же папку, где он находится скопировать и другие подключаемые файлы, в том числе изменённый файл драйвера индикатора. После этого дать команду "Build" и тогда программа AVR Studio создаст файл прошивки RDA5807M_&_Nokia5110.HEX

Я для Вас это уже сделал. Прилагаю архив с проектом в программе AVR Studio.

 

taif_300.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Имея ввиду, уважаемый taif, что схема и прошивка уже многократно проверена и повторена другими радиолюбителями, остаётся попробовать заменить индикатор. Впрочем, как следует из моего опыта заочного ремонта электронных устройств путём подачи советов по телефону, причина может быть до смешного проста и крыться совсем не там где мы её ищем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
taif    18

Совершенно с Вами согласен,  asvetp,  по всем  приведенным пунктам. Оставлю как есть. Главное, я нашел то, что нужно было. Спасибо Вам за помощь, подсказки и потраченное время.

С уважением, Александр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Представляю вниманию радиолюбителей слегка обновлённую версию программы для варианта радипприёмника Nokia & ATtiny2313 rus. Перебор сохранённых станций теперь производится по кругу, т. е. при нажатии на кнопку S- перебор не останавливается на первой станции, а выбирается последняя, затем предпоследняя и т. д. Аналогично происходит при нажатии на кнопку S+ после последней идёт первая станция.
Кроме того, индикация "Моно-Стерео" производится как на дисплее, так и светодиодом. Для тех вариантов исполнения радиоприёмников, которые питаются от батареек, это позволит экономить энергию батареи. Светодиод в этом случае, разумеется, подключать не нужно.
Упрощается так же адаптация программы для случаев, когда число местных радиостанций отличается от моих (14 шт). Для этого нужно ввести своё число станций в начале файла  RDA5807M_&_Nokia5110.asm  в строке: 

.equ Nst   = 14            ;Число местных станций 

RDA5807M_&_Nokia5110_v1.01.zip

Изменено пользователем asvetp
ошибка

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hvoma2    0

Эх! Цены бы не было, если бы еще для миниатюрных вариантов приемников, работающих только на наушники, сделать кнопки S+ и S- как громкость больше и меньше, а F+ переключение сохраненных каналов по кругу(для вариантов бездисплейных микро приемников - тем более).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

То есть Вы hvoma2 считаете, что автонастройка вообще не нужна, или кроме громкости сделать переключение по кругу сохранённых каналов по кругу в одну сторону и автопоиск в одну сторону? Уточните Ваше пожелание и я в свободное время подумаю над этим вариантом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hvoma2    0

Доброго время суток, asvetr. У нас в регионе работают 9 радиостанций уже n-ое количество лет, не прибавляются и не уменьшаются. Так что мне лично автонастройка по идее и не нужна. Но учитывая радиолюбителей других регионов, возможно будет правильней так, как Вы написали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Автонастройка была введена из-за того, что как я считал, не всегда известны точные частоты вещания местных радиостанций. Кроме того, имея автонастройку, можно вообще не прописывать свои станции для тех, кому это слишком сложно, а пользоваться только двумя кнопками автонастройки. 

В общем будем думать как сделать лучше. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hvoma2    0

Полностью с Вами согласен! То, что я просил, это просто один из вариантов. Я собираю миниатюрные приемники без усилителя, сразу на наушники и мне необходимы кнопки для регулировки звука. Вот отсюда все и вытекает: две кнопки для регулировки звука, кнопка для переключений сохраненных каналов по кругу, ну и кнопка для автопоиска по кругу. Мне кажется этот вариант устроит многих радиолюбителей. Может и ошибаюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
asvetp    144

Работая над вариантом программы, предложенной hvoma2, я попутно заметил досадную оплошность, допущенную в новой редакции программы, выложенной пятью постами выше. Это касается номера порта, по которому управляется светодиод. Заодно были установлены некоторые начальные условия при старте программы, что предположительно должно устранить проблему, с которой столкнулся taif. Поэтому выкладываю исправленный вариант.

 

Nokia & ATMega8_v1.02.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Гость Юра
      Автор: Гость Юра
      Добрый день!
      Очень нужна помощь, что бы понять, есть ли возможность модернизировать схему. В теме микроконтроллеров я не шарю.
      Есть устройство управления силовыми нагрузками с помощью реле, вот это:
      http://www.carymart.com/2-channel-10a-dc-reversing-motor-remote-controller-speed-adjustable-p-1528.html
      Этими реле через сборку транзисторов uln2003a управляет микроконтроллер em78p156elpj-g
      http://html.alldatasheet.net/html-pdf/60152/EMC/EM78P156ELP/325/6/EM78P156ELP.html
      который получает команды через приемник:
      http://www.carymart.com/super-regeneration-rf-wireless-receiver-module-dc-5v-p-699.html
      он же на ebay:
      http://www.ebay.com/itm/5PCS-MX-05V-Chip-Super-Regenerative-RF-Wireless-Receiver-Module-DC5V-315Mhz-/151572645578?hash=item234a6f06ca:g:CFEAAOSwdzVXvBpB
      Этот приемник впаян в основную плату и имеет четыре пина
      1 GND
      2 RXD
      3 закорочен с 2
      4 VCC
      GND идет на общий минус
      RXD идет на ногу 8 контроллера em78p156elpj-g
      VCC идет на ногу 14 контроллера em78p156elpj-g (в даташите обозначена VDD)
      Описание приемника:
      Model No.: 0020238
      Working voltage: DC5V
      Working current: 4mA
      RF Sensitivity: -103dBm
      Modulation Method: Amplitude modulation (ASK or OOK)
      Output Level : TTL Level (5V)
      Output Type : Serial Output (manchester code)
      Working temperature: -20°C ~ +70°C
      Type: Receiver Module for Fixed Code (without decode)
      А вопрос такой: можно ли заменть радио приемник на какой-то wi-fi модуль с управлением через приложение для Android?
      Являются ли стандартными команды, передаваемые через RXD и есть ли такие модули у китайцев?
      или контроллер em78p156elpj-g программируется под конкретные команды от радио модуля и подобрать wi-fi модуль без
      перепрограммирования не удастся? Или я все не так понимаю вообще?
    • Гость Борис
      Автор: Гость Борис
      Здраствуйте. Проблемма такая существующие (доступные мне) радиомодули имеют мощность 8, 17, 20 дбм.
      Нужно дотянут до 30дбм (1Вт), Видимость непрямая и сигнал уже через сотню метров теряется, местность сильно пересечена, много зелени, посему обещаных 200...300м тупо нет и в помине.
      Проблемка в чем? Как сделать усилитель на определенную частоту я представляю: транзистор, колебательный контур, но тут несколько каналов. Я немного в замешательстве, как это делается, например в рациях? Как сделать широкополосный усь?
    • Гость Qant
      Автор: Гость Qant
      Подскажите пожалуйста название хорошего радиомодуля, для передачи аналогового сигнала.
  • Сообщения

    • Территориально г.Магадан,оплата на карту сб,вышлю почтой. 2000 рублей,доставка по РФ за мой счет. Адаптер приложу
      Лампы не дефицит 6ж1п (стоят производства КНР)
    • Первый раз в жизни попались конденсаторы Kenwood  
    • пальцы наверное не под то заточены... ничего не сводит, абсолютно. Хоть весь день ковыряйся. Бывает на распае часа по три подряд швыркаешь, когда субботник в лаборатории
    • HAL_BUSY возвращается функцией только в одном случае, когда флаг состояния в регистре SR1 I2C говорит о том, что шина не готова к следующей транзакции (HAL_I2C_STATE_READY != 1) Если в наглую, то нужно просто перезапустить чтение заново. По флаг HAL_BUSY ваша функция вывалится в колбэк, там надо проверить состояние этого флага. Если он есть, просто перезапускаем чтение и все. Он сбрасывается автоматически. Но надо гдето сохранить данные о том, что произошло такое событие. Вообще если вы получаете такой флаг, то с вашей системой явный непорядок. В нормальной жизни этот флаг не должен получаться никогда. В ином случае ваш адресат либо неисправен, либо работает в неверном режиме, либо у вас на плату упала арматурина. В любом случае работу лучше прекратить  
    • Коллега, лично я не знаю почему казахи грибы не едят, может аллах не позволяет или считают их "грязной" пищей типа свинины. Но реальный факт наблюдаемый самолично. Они и овощи не все едят. Например на баклажаны и патисоны на моём огороде они смотрели как папуасы на каракку Колумба, причалевшую к их берегу. А редиска была как гравицапа от пепелаца с планеты Плюк... трескают заветренную баранину в бешбармаке от которой меня выворачивает наизнанку... а я сижу на корточках и вылавливаю только треугольнички из теста и чаем запиваю чтоб туда пролезло а обратно не вылезло. Вот свежий каурдак нормально, и горячий лагман с лепёшкой токаш из тандыра цэ ништяк. Плов из молодой барашки да с овощным салатом да под бокал хорошего виноградного вина... праздник гурмана. С этим цифровиком ввк Т2 прям мистика какая то. На Россия1 работает хоть бы хны, стоит переключить на СТС/ТНТ/ОТР отключается через 5-15минут. Перепрошил последней оффверсией, поменял конденсаторы в бп, поставил вентилятор для лёгкого терморежима, поотключены все таймеры, удалены ненужные каналы. Всё равно живёт своей жизнью и портит мне нервы. Младшая можель на том же чипсете работает без охлаждения и замены кондёров без нареканий даже от куска провода. А этом выёживается. Если после самоотключения включить сразу, то индикатор питания/режима становиться зелёным но загрузки не происходит, зависает намертво. Включпется только после туды сюды вилку из розетки.
    • ну швеллер лежал на земле  плюс полил его водой чтоб контачил лучше))) могу еще на трубе вкопанной попробовать 
    • Я понял. Спасибо! Буду искать мастера.