Перейти к содержанию

Приемник на RDA5807 и семисегментнике


Рекомендуемые сообщения

Проводками тоже не айс. Помню подключал две разные платы, на одной  приемник, на второй управление. Прием упал ниже плинтуса. Подключил РДА прямо на плату, появился нормальный прием.

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

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

Проект.zip

Изменено пользователем andrusha152
дополнение
Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

А это моя новая программа приемника-теперь при вкл радио частота вкл как надо-ввел задержку 1 сек

Скрытый текст

$Regfile = "attiny2313a.dat"
$Crystal = 4000000
'$hwstack = 40
'$swstack = 16
'$framesize = 32
'i2c                             09.01.2018
Config Scl = Porta.1
Config Sda = Porta.0
Config I2cdelay = 40
I2cinit
dim bit_02h as byte , bit_02l as byte
bit_02h = &B11000011       'dhiz dmute (1=mono.2=stereo) (1=bass)  rclk  rclk seekup  seek
bit_02l = &B10000101
' настраиваем порты  к индикатору
segmentj alias portb : config portb = output
dig1 alias portd.6 : config dig1 = output
dig2 alias portd.3 : config dig2 = output
dig3 alias portd.5 : config dig3 = output
dig4 alias portd.4 : config dig4 = output
button alias pind.2 : config portd.2 = input : portd.2 = 0
dim buttons as byte
dim flag as byte
' таймеры
const const_t0 = 0       '128
Config Timer0 = Timer , Prescale = 64       ' 256
'Timer0 = const_t0
On Timer0 Pulse       '4000000/256/64=244   4.1 msec
Config Timer1 = Timer , Prescale = 256       '256
 On Timer1 индикация       '4.19 sec
Config Int0 = LOW LEVEL
dim freg as Integer
dim a as Integer
dim digit as Byte
dim stereo as bit
dim volume as byte
dim dane as byte
'начальные настройки
Waitms 250
Readeeprom dane , 10
waitms 1000
volume = 5
  'I2cinit
  I2cstart
  I2cwbyte &H20       '      20
  '02
  I2cwbyte &B11000010       'dhiz dmute mono bass  rclk  rclk seekup  seek    D2=11010010
  I2cwbyte &b00001101       '    85= 10000101
  '03
  'dane = freg - 870
  'dane = dane / 4
  I2cwbyte dane / 4       '
  'dane = freg - 870
  dane = dane mod 4
  dane = dane * 64
  set dane.4
  I2cwbyte dane       '
  '04
  I2cwbyte &B00010000       ' 000000000
  I2cwbyte &B00000000       '
  '05
  I2cwbyte &B10001000       ' 0000 4 бита-порог поиска
  dane = &B10000000 + volume
  I2cwbyte dane
  '06
  'I2cwbyte &B00010000       ' 000000000
  'I2cwbyte &B00000000
  '07
  'I2cwbyte &B00000000       ' 000000000
  'I2cwbyte &B00000000

  I2cstop
gosub Readword
'*******************************************************************************
' flag.0=1  переключение по частоте
' flag.1=1  громкость
' flag.1=0  rda on  flag.2=1  rda off
'
'
' flag.7=1сон
'*******************************************************************************
main:
  'gosub rda5807_init
  Enable Interrupts
  gosub enable_timer


  'buttons=16
do
  'если нажата кнопка(стоит флаг нажатия кнопки)
 if buttons < 15 then

    'если скан+ или скан-
    if buttons.0 = 0 OR buttons.1 = 0 then
         'ставим флаг автосканирования  для индикатора-отображать частоту
         flag.1 = 0
         bit_02h.1 = buttons.0       'end if       'направление скани рования 1=вверх,0=вниз
         bit_02h.0 = 1
         gosub rda5807_init
         bit_02h.0 = 0       'сброс бита автосканирования
         gosub Readword
    end if


    if buttons.2 = 0 OR buttons.3 = 0 then
         flag.1 = 1       'ставим флаг громкости для индикатора-отображать громкость
         if buttons.2 = 0 then incr volume
         if buttons.3 = 0 and volume > 0 then decr volume
         'volume = volume mod 16
         'if volume > 200 then volume = 0
         if volume > 15 then volume = 15
         gosub rda_volume
    end if


 waitms 100
 timer1 = 0
 flag.0 = 0       'сброс  флага нажатия кнопки
 end if
 'flag = 0
 if timer1 > 16000 then flag.1 = 0       'если прошло 16000*256/4000000= 1 сек то из индикации громкости переход на индикацию частоты
 if flag.7 = 1 then       'таймер сна,если не нажата ни одна из кнопок и прошло 65536*256/4000000= 4 сек то
   radio_sleep:
     'Writeeeprom dane , 10
     gosub disable_timer       'гасим индикацию
     Enable Int0       'ждем нажатия любой кнопки
     powerdown       'баиньки,аттини в сон
     disable Int0       'нажата кнопка,просыпаемся
     gosub enable_timer       ' вкл индикации,запуск таймера сна
     gosub Readword1
     end if
loop

goto main
'выкл таймеов,индикации
disable_timer:
   TIMSK = &B00000000
   dig1 = 0 : dig2 = 0 : dig3 = 0 : dig4 = 0
   portb = 0

return
'запуск таймеров,индикации
enable_timer:
   flag = 0
   TIMSK = &B10000010
   waitms 250
   Timer1 = 0
   flag = 0
return


'подпрограмма таймера сна,как прошло 4 сек то ставим флаг
индикация:
  flag.7 = 1
return

'чтение частоты
Readword:
  gosub disable_timer
  portb = 128
Readword1:
    'I2cinit
    I2cstart
    I2cwbyte &B00100000       'read
    I2cwbyte &h0a       ' b  Regno = &B00001010
    Waitms 50
    I2cstart
    I2cwbyte &B00100001       'adressread
    I2crbyte freg , Ack       ' RDSR STC  SF RDSS  BLK_E  ST  READCHAN[9:8]
    I2crbyte dane , nack       'READCHAN[7:0]
    I2cstop
 while freg.6 = 0       'ждем установки флага STC-стопа сканиования=найдена несущая
             timer1 = 0
             waitms 40
             goto Readword
             wend
             stereo = freg.2
             freg = dane + 870
             Writeeeprom dane , 10

    gosub enable_timer
  Return
' скан +/-
rda5807_init:
I2cinit
         I2cstart
         I2cwbyte &H20       '      20
  '02
         I2cwbyte bit_02h       'dhiz dmute mono bass  rclk  rclk seekup  seek    D2=11010010
         I2cwbyte bit_02l       '    85= 10000101
         I2cstop
  'Writeeeprom volume , 11
  return
'громкость
rda_volume:
      I2cstart
      I2cwbyte &h22
      I2cwbyte &h05       'H02
      I2cwbyte &B10001000       'H08
      dane = &B10000000 + volume
      I2cwbyte dane
      I2cstop
      return

'подпрограмма индикации
Pulse:
  'Timer0 = const_t0
  stop timer0
  incr digit
     if digit > 3 then digit = 0
  dig1 = 1 : dig2 = 1 : dig3 = 1 : dig4 = 1


  if digit = 0 then
      a = freg / 1000
      if a = 0 then a = 10
      if flag.1 = 1 then a = 11
      dig1 = 0
      'waitus 10
      buttons.3 = button
      end if
  if digit = 1 then
      a = freg / 100
      a = a mod 10
      if flag.1 = 1 then a = 12
      dig2 = 0
      'waitus 10
      buttons.2 = button
      end if
  if digit = 2 then
      a = freg / 10
      a = a mod 10
      if flag.1 = 1 then
            a = volume / 10
            if a = 0 then a = 10
            end if
      dig3 = 0
      'waitus 10
      buttons.1 = button
      end if
  if digit = 3 then
      a = freg mod 10
      if flag.1 = 1 then a = volume mod 10
      dig4 = 0
      'waitus 10
      buttons.0 = button
      end if
  portb = Lookup(a , Dta)       ' segmentj
  if flag.1 = 0 then
      if digit = 2 then portb.4 = 1
      if digit = 3 then portb.4 = stereo
      end if
  'if timer1 < 50000 then
   '   waitus 500
   '   else
      waitms 2
      portb = 0
   '   end if

   'portb = 0

  start timer0

return

Dta:
'таблица с данными о цифрах зажигает по порядку : 0123456789(10=пробел)

'таблица версии proekt3
'       GCB*FDAE
 Data &b01101111
 Data &b01100000
 Data &b10100111
 Data &b11100110
 Data &b11101000
 Data &b11001110
 Data &b11001111
 Data &b01100010
 Data &b11101111
 Data &b11101110
 Data &b00000000
 Data &b00001011       ' Г
 Data &b10101011       ' Р

 '(
'таблица версии proekt2
'       ed*cgbfa
 Data &b11010111
 Data &b00010100
 Data &b11001101
 Data &b01011101
 Data &b00011110
 Data &b01011011
 Data &b11011011
 Data &b00010101
 Data &b11011111
 Data &b01011111
 Data &b00000000
 Data &b10000011       ' Г
 Data &b10001111       ' Р
')

 

видосик старого варианта ,на первых секундах видно что частота "не загрузилась",вот это и исправил 

а здесь кнопки имеют двойное назначение,и откл радио есть (при громкости=0),проект на аттини13,исходник где то есть-надо порыться в ноутбуке

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Добрый день bulat943. Собрал уже второй приемник .На этот раз без резистора регулятора громкости. Возможно как то при громкости 0, отправлять RDA в сон, как вы делали на аттини 13. Сильно громко играет на нуле. Если сделаете, то в этой прошивке. Заранее спасибо за любой ответ.

http://forum.cxem.net/applications/core/interface/file/attachment.php?id=543544

http://forum.cxem.net/applications/core/interface/file/attachment.php?id=543545

 

 

 

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Продолжаю мучить модуль. Вторая версия приемника - для дачи. Код занимает 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

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

В 11.03.2018 в 18:01, resd1981 сказал:

Добрый день bulat943. Собрал уже второй приемник .На этот раз без резистора регулятора громкости. Возможно как то при громкости 0, отправлять RDA в сон, как вы делали на аттини 13. Сильно громко играет на нуле. Если сделаете, то в этой прошивке. Заранее спасибо за любой ответ.

 

 

 

Если откл приемник при громкости=0 то приемник выключится вообще,хозяин-барин-пробуйте

 

programm 88-108 oa ok 04 ST ER 04 01.hex

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

  • 4 недели спустя...

Уважаемый @bulat943 ! Пытаюсь повторить Вашу конструкцию с часами и сразу просьба- не могли бы Вы таким образом сообразить прошивку, что бы часы работали всегда, независимо от того, работает радио или нет, а частота либо громкость появлялась лишь в том случае, когда непосредственно менялась настройка. А термометр... Что им мерить-температуру внутри корпуса?  Ну его...

      Спасибо!

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

  • 2 недели спустя...

укв добавить не сложно,модуль принимает от 50 МГц

жду от вас желаемый точный диапазон и шаг

с транзисторами сложнее-не на чем тестировать

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

как схему нарисуете с транзисторами так и буду тестировать :)  !

диапазон от 65,9 до 108

а вот шаг идеально было бы 10кгц в диапазоне частот от 65,9 МГц до 74 МГц но судя по даташиту модуль может только от  25 кГц ? 

25 кГц тогда и оставить в этом диапазоне

ну а в ФМ 87,5 МГц до 108,0 МГц  там стандартные 100кгц

поправьте если что не так 

 

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

я и не собираюсь схему рисовать-схема на 1 странице первый пост,там транзисторы дорисовать и паяйте,как спаяете дайте знать

Шаг можно и 1 кгц сделать при ручном вводе частоты,вообще стандарт 30 кгц,но сканирования не будет и чтения частоты из регистров (это есть в даташите)

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

моно/стерео portc.1

басс portc.0

***********************************************************************************************************************************

Есть желающие проверить у себя?
Прошивка 50-108 МГц,шаг в диапазоне укв 50-76 МГц 50 кгц,в фм-100 кгц
Индикация в укв в формате ХХ.ХХ(например 50.00 69.65) ,в фм-ХХХ.Х(например 98.3 101.1)
Управление по старому,но есть отличия-
Из органов управления энкодер (скнопкой) и еще 2 кнопки (STEREO и BASS)

При первом включении частота 88,0 МГц,вращение энкодера=перестройка частоты с шагом 100 кгц

Короткое нажатие на кнопку энкодера-переходим в регулировку громкости,на экране ГР08(громкость=8)

Еще одно нажатие-переход обратно на перестройку по частоте

Кнопки-

1) кнопка BASS
1.1-в режиме громкость
-включение/выключение басов
1.2-при перестройке по частоте и каналам
-короткое нажатие=скан-,
-длинное нажатие(более 2 сек)-переход из режима перестройки частоты в режим перестройки по каналам (если хоть одна частота записана в память),на экране CHAN,крутим энкодер-перестраиваемся по записанным в память каналам,короткое нажатие на энкодер-регулировка громкости,еще короткое нажатие на энкодер-обратно перестройка по каналам,короткое нажатие BASS=вкл/выкл басов,нажатие более 2 сек-переход из режима перестройки по каналам в режим перестройки по частоте

2) кнопка STEREO
2.1-в режиме громкость-включение/выключение стерео
2.2-при перестройке по частоте и каналам
-короткое нажатие=скан+,
-длинное нажатие(более 2 сек)-в зависимости от того в каком режиме (перестройка по частотам/по каналам) находимся-
если в режиме перестройки по частотам то запись частоты в память
если в режиме перестройки по каналам то стирание частоты из памяти

включение приемника (когда приемник выключен) коротким нажатием энкодера,выкл приемника длинным нажатием энкодера

поддержка индикаторов с ОК и ОА,выбор -если PORTC.3 никуда не подключен то общий анод,если подключен к минусу то общий катод

Программа базовая,мк ATMEGA8 (HIGH FUSE= C9 LOW FUSE=83 )
Индикатор-любой с общим катодом или анодом
Энкодер-с кнопкой любой,RDA5807M,Стаб 3,3 в-xc6206p332mr

 

proteus_encoder oa oc.DSN

схема.spl7

схема.JPG

50_108MHZ_50 khz_01.hex

Изменено пользователем bulat943
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Все работает, проверил. Единственное , как то непонятно переход из одного диапазона в другой.  Автосканирование работает только в пределах  одного диапазона, для перехода в другой приходится крутить энкодер. Может сделать переход между диапазонами, при нажатии обоих кнопок вместе. Раз нажали, УКВ, второй раз  ФМ.

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

  • 2 недели спустя...

Смысл появится только если необходимо применить более простой МК и ног будет катастрофически не хватать.
К тому же, заявлено питание модуля 5 Вольт, что вызовет дополнительные неудобства в батарейных приёмниках. Работает ли он при 3 Вольтах - неизвестно.
Ну и прошивку почти всю перепахивать надо под него.

"Я не знаю какой там коэффициент, я просто паять умею. "

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

  • 2 недели спустя...

image.png.336451c2fbe76bcc8067605455718393.png

Вот по этой схеме собрал приемник. Не могу настроить преобразователь напряжения. При подаче напряжения 8в выдает 2.45в что для работы мало. Помогите советами!:wacko:

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

Скорее всего в этой схеме неправильно рассчитаны номиналы резисторов. Попробуйте вместо верхнего по схеме резистора на 1КОм поставить подстроечник, и немного увеличить сопротивление. Здесь есть калькулятор, можете сами посчитать.

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...