MDobroch

Генератор звука на Arduino

19 сообщений в этой теме

MDobroch    0

Доброго времени суток уважаемые форумчане!

Обращаюсь по такому вопросу, собираю схему генератора звука на Arduino основываясь на следующей статье : http://www.instructables.com/id/Arduino-Audio-Output/

Данная схема призвана сформировать синусоидальный сигнал определенной частоты используя 8 цифровых выходов Ардуино,  Собранном на резисторах ЦАП, фильтре и паре операционных усилителей. К сожалению в данной теме указано, что качество сигнала при использовании резисторов намного ниже чем при использовании 8 битного ЦАПа в формате готовой микросхемы. Также данное решение разрабатывалось для работы с 1 частотой. 

Техническое задание :
Необходима схема, работающая на двух частотах. Стабильность частоты, ровно как и качество сигнала на выходе -  крайне важны !!!   Потребителем данного сигнала будут 2 телефона подключенные к этому "генератору" посредством двух аудио кабелей. 

Проблема:
К сожалению я не сильно опытен в схемотехнике - являюсь программистом. Но данное решение необходимо разработать для одного проекта.

Вопрос:

1) Как по вашему мнение усложнится схема, для выполнения технического задания описанного выше?

2) Какие компоненты необходимо добавить в схему? (Какую модель ЦАП нужно выбрать?)  

3) Возможна ли вообще выдача стабильной частоты на 2 телефона при помощи ардуино или лучше выбрать для реализации данного задания другую платформу?

4) Возможно среди форумчан есть желающие разработать подобное решение за не разумное материальное вознаграждение? Данный вариант тоже можем обсудить. 

 

Благодарю за ответы и желаю хорошего дня!

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


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

Привет.

Для данной задачи - слишком громоздкая платформа. Это как воробьями по пушке стрелять. :rolleyes:

Для программиста не составит никакого затруднения "выдавить" звук из ардуинки, PIC, Atmega, если он вспомнит про ШИМ (широтно-импульсную модуляцию).

Если в качестве телефонов, к примеру, использовать buzzer, обвес будет минимальным.

Попахивает каким-то курсовым проектом (лабораторной работой).

 

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
4 минуты назад, юра сказал:

Привет.

Для данной задачи - слишком громоздкая платформа. Это как воробьями по пушке стрелять. :rolleyes:

Для программиста не составит никакого затруднения "выдавить" звук из ардуинки, PIC, Atmega, если он вспомнит про ШИМ (широтно-импульсную модуляцию).

Если в качестве телефонов, к примеру, использовать buzzer, обвес будет минимальным.

Попахивает каким-то курсовым проектом (лабораторной работой).

 

 

Ардуино выбрал по причине работы "из коробки", без необходимоти закупать программатор, разбираться в работе МК-ов, и вообще доступная платформа с большим комьюнити.

Для программиста пишущего под Андроид -  ШИМ не говорит ни о чем =))  Но желание разобраться присутствует. Ознакомлюсь с этим.

В качестве телефонов надо использовать именно телефоны

Университет был мною закончен более 10 лет назад, так что данная схема не лаборатока и не курсовой и даже не дипломный =)))

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


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

Найдите миллионы труднодоступных

электронных компонентов

ruhi    35
13 часа назад, Стальной сказал:

Купить микросхему ЦАП, 150 рублей и всё

.

А впаиваться она сама будет, я уж не говорю о разводиться.

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


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

А что, генератор синусоиды на 2 фиксированные частоты  без ардуин и цапов нынче никак не построить?

Изменено пользователем Dr. West

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
17 часов назад, Стальной сказал:

Купить микросхему ЦАП, 150 рублей и всё

.

Подскажите модели подходящие под данную задачу.

 

4 часа назад, ruhi сказал:

А впаиваться она сама будет, я уж не говорю о разводиться.

+ Поддерживаю )))

 

4 часа назад, Dr. West сказал:

А что, генератор синусоиды на 2 фиксированные частоты  без ардуин и цапов нынче никак не построить?

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

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


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

В поиск: генератор звуковой частоты, мост Вина. Такие штуки пионеры делали уже лет 30 назад без особых сложностей.

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


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

Какие конкретно требования к форме сигнала и стабильности частоты? Потому как генераторов придумана не одна сотня. 

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
В 20.12.2017 в 16:45, oldmao сказал:

Какие конкретно требования к форме сигнала и стабильности частоты? Потому как генераторов придумана не одна сотня. 

Добрый вечер,

Синусоида
516.796875 Гц   - 0.5 секунды
990.52734375 Гц - 0.5 секунды
 

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


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

Точность восемь знаков после запятой - это круто! Ничего, что у стандарта частоты точность всего на один знак получше?
Все временные интервалы в Ардуино заданы обычным (не прецизионным) кварцем с точностью 50 ppm (0,05%). Допустим, кварц в Ардуине 20 МГц, мы тупо делим его на 20202, чтобы получить 990 Гц. Точность будет 0,5 Гц.
Так что аппетит-то поумерь, в реальном мире живёшь, в котором упираемся в законы физики и возможности технологии.
Мне вот ещё очень интересно - как в смартфоне обрабатывать эту частоту будешь, если АЦП всего 16-битное? И частота дискретизации - зависит от ровно такого же стандартного кварца? Или программисты живут в придуманном мире, физические ограничения железа им по барабану?

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
1 минуту назад, oldmao сказал:

Точность восемь знаков после запятой - это круто! Ничего, что у стандарта частоты точность всего на один знак получше?
Все временные интервалы в Ардуино заданы обычным (не прецизионным) кварцем с точностью 50 ppm (0,05%). Допустим, кварц в Ардуине 20 МГц, мы тупо делим его на 20202, чтобы получить 990 Гц. Точность будет 0,5 Гц.
Так что аппетит-то поумерь, в реальном мире живёшь, в котором упираемся в законы физики и возможности технологии.
Мне вот ещё очень интересно - как в смартфоне обрабатывать эту частоту будешь, если АЦП всего 16-битное? И частота дискретизации - зависит от ровно такого же стандартного кварца? Или программисты живут в придуманном мире, физические ограничения железа им по барабану?

Данные частоты рассчитаны программно как идеальные условия.  Думаю достаточно будет выдать стабильные 516 и 990 Гц соответственно. 

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


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

Ну и зачем здесь Ардуина? Генератор с фазосдвигающей цепочкой на одном транзисторе :
1295778684_rc_generator.jpg

Или с двойным Т-мостом:

ris7-12.gif

Оба имеют возможность точно выставить частоту подстройкой всего одного резистора. 
Рекомендую освоить любую программу симуляции схем (Micro-Cap например) и поиграться параметрами, подобрав нужную частоту.
Не забывая, что в реальном мире все детали имеют разброс, обычно в 10%. Поэтому нужно предусмотреть подстройку.

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
18 часов назад, oldmao сказал:

Ну и зачем здесь Ардуина? Генератор с фазосдвигающей цепочкой на одном транзисторе :
1295778684_rc_generator.jpg

Или с двойным Т-мостом:

ris7-12.gif

Оба имеют возможность точно выставить частоту подстройкой всего одного резистора. 
Рекомендую освоить любую программу симуляции схем (Micro-Cap например) и поиграться параметрами, подобрав нужную частоту.
Не забывая, что в реальном мире все детали имеют разброс, обычно в 10%. Поэтому нужно предусмотреть подстройку.

Большое спасибо за подробный ответ!
В ближайшее время займусь моделированием предложенного вами варианта генератора. 
Остается один вопрос, теоретически можно собрать 2 такие схемы с разными номиналами элементов для генерации двух частот.  Но как добиться смены частоты одну за другой каждые 0.5 секунды?  

UPDATE:
Также вопрос еще, нужно ли согласовывать выходное сопротивление как то с потребителем? Если у нас будет не 2 телефона, а 20, необходимо рассчитать какой то усилительный каскад? Существуют ли схемы подстройки автоматически выходной мощности в зависимости от кол-ва подключенных потребителей?

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

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


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

Зачем две схемы? Соберите одну и переключайте в ней частотозадающие элементы.

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


Ссылка на сообщение
Поделиться на других сайтах
MDobroch    0
MDobroch    0
1 час назад, Dr. West сказал:

Пойдет.

Есть ли идеи, каким образом можно на данном устройстве сформировать 2 частоты и менять их через заданный промежуток времени?
Насколько я понимаю нужно будет иметь 2 комплекта подстроечных элементов настроенных на 2 частоты и переключаться между ними по какому то таймеру.
Т.е данную схему необходимо доработать 

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


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

ТО есть учиться вы упорно отказываетесь? Литература, достаточная, после изучения, для самостоятельного решения вашей проблемы, уже дана.
Напоминаю: Борисов "Юный радиолюбитель" для начала.

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


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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: ренат07
      помогите дописать программу
      в долгу не останусь естественно 
      взял текст программы для управления ШГ и интернета 
      все работает красиво 
      но мне нужно что бы работало ни всегда, а при определённых условиях 
      то есть что бы "кнопкой" включения бодр определённое положение реостата 
      подскажите пожалуйста 
      спасибо большое 
    • Автор: ренат07
      у меня есть такой мини проект по вентиляции автомобиля 
      Короче, есть шаговый двигатель установленный регулировки заслонки воздушного дефлектора
      основа программы для шагового двигателя была взята с интернета
      так вот, в самом авто есть электронная заслонка печки отвечающая за направление потока воздуха и для определения положения заслонки блоком управления, внутри заслонки стоит простой реостат
       так вот в чем вопрос как сделать чтобы программа управления ШГ запускалась при про определенном напряжении с реостата ? 
      помогите пожалуйста, постораюсь не остаться в долгу  
    • Автор: Dandan He
      Здравствуйте, Уважаемые форумчане!
      TOMTOP – интернет-магазин, специализирующийся на продажах товаров китайского производства. Магазин TOMTOP не является новичком на рынке – он был основан ещё в 2004 году. К 2017 году портал завоевал репутацию заботливого и ответственного торговца высококачественной продукции, а также получил признание такого «гиганта» продаж, как Alibaba. В 2006 году Alibaba пожаловала продавцу TOMTOP статус «золотого поставщика» — очень почётный для азиатского рынка.
      Доступные способы оплаты
      Российским покупателям магазин TOMTOP даёт возможность оплачивать товары множеством способов:
      С банковских карт Visa и MasterCard. Оплата происходит через защищённый сервер платежей Alipay – риск того, что деньги попадут к мошенникам и не дойдут до продавца, сведён к нулю.
      Посредством PayPal. Именно этот способ оплаты считается наиболее безопасным — покупатель, прибегнувший к услугам PayPal, может быть уверен: если он вдруг станет жертвой мошенников, ему вернут деньги. Однако сервис PayPal неудобен для оплаты дорогостоящих товаров — если сумма единовременного платежа превосходит 1000 $, платёж наверняка будет задержан на несколько дней для проверки транзакции.
      С электронных кошельков. TOMTOP ведёт сотрудничество с 3-мя ведущими отечественными платёжными системами – QIWI, Яндекс.Деньги, WebMoney. Комиссия при оплате с кошельков перечисленных систем не берётся.
      Доставка товара
      Покупатель вправе выбрать один из 2-х способов доставки: почтовая (дёшево и сердито) или экспресс (для тех, кому срочно). Доставка посредством авиапочты является бесплатной – в этом плане магазин TOMTOP «заткнул за пояс» даже площадку AliExpress, которая в 2017 году за пересылку многих товаров в Россию стала требовать деньги.
      Стоимость экспресс-доставки зависит от того, какого рода товар и с какого склада он отправляется. За быструю доставку гаджета с китайского склада покупателю придётся заплатить порядка 4 тыс. рублей. Экспресс-доставка смартфона / планшета со склада, размещённого в России, обойдётся примерно в 1 тыс. рублей. Если речь идёт о каком-либо мелком и дешёвом товаре (например, о светодиодной Wi-Fi лампочке), экспресс-доставка с отечественного склада может оказаться бесплатной.
       
      Основной сайт: https://www.tomtop.com/
      Служба поддержки: service@tomtop.com
      ПАРТНЕРСКАЯ ПРОГРАММА : https://www.tomtop.com/help/affiliate-program.html
      Как присоединиться к нашей партнерской программе?
      Выберите партнерские сети и зарегистрируйтесь как партнер или издатель.
      Найдите идентификатор программы Tomtop.
      Подать заявку, чтобы присоединиться к нам и ждать нашего одобрения.
      Получите наши ссылки для продвижения и просмотра комиссионных.

    • Автор: Alexander1997
      Доброго времени суток. Понадобилось сделать несложное меню.  Меню построено следующим образом - имеется главный пункт и 4 подпункта. Попасть в нужный подпункт можно только через главное меню. Вот примерный вид главного меню.

      Блок схема меню

       
      Конструкция кода
      typedef struct { uint8_t menu;// uint8_t submenu;// MAIN_MENU, MENU_MANUAL, MENU_AUTO, MENU_SETUP, MENU_START }menuItem; typedef struct Selection { unsigned char id; //Номер меню/подменю unsigned char ent_f : 4; //Флаг входа в подменю unsigned char esc_f : 4; //Флаг выхода из подменю }SL; enum switchVariants : byte { // Определения для переключателя пунктов меню; MAIN_MENU, MENU_MANUAL, MENU_AUTO, MENU_SETUP, MENU_START }; switchVariants switchPointer = MAIN_MENU; // С чего начнем цикл int main (void) { while(1) { } } Посоветуйте как организовать вход и выход из меню? Для этого завел два флага ent и esc. Но как их связать голову ломаю.
    • Автор: Yon
      Нарыл код в нете для FM радио на Ардуино на базе EM5807M.  Залил это дело в Atmega8, все заработало, сделал простой выбор стаций.
      А кто знает как управлять програмно громкостью, басами, стерео/моно  и др. Используемая часть кода ниже.