Infotex Мир Хобби

Hard&Soft => Радиолюбителю => Arduino UNO => Тема начата: Koshak от 12 Апреля 2015, 16:02:12

Название: Генератор на AD9850
Отправлено: Koshak от 12 Апреля 2015, 16:02:12
Вариант первый с использованием дисплея на MAX7219.
Диапазон перестройки 100KHz-40MHz.
Минимальный шаг 10Hz.
Шаг перестройки меняется нажатием на валкодер.
Прошивку льём через Xloader!
Название: Re: Генератор на AD9850
Отправлено: Koshak от 12 Апреля 2015, 16:06:20
Вариант второй, используется дисплей ST7735.
Тактикотехнические характеристики аналогичны первому варианту.
Подключение AD9850 и валкодера берём с первого варианта.
Подключение дисплея:

LED > 3.3V
SCK > D13
SDA > D11
A0 > D7
RST > D6
CS > D5
GND > GND
VCC > 5V

Название: Re: Генератор на AD9850
Отправлено: Hamradio от 13 Апреля 2015, 08:40:18
Круто,молодец!!! :po:
Название: Re: Генератор на AD9850
Отправлено: ZUBR от 06 Ноября 2015, 13:02:31
А случайно нет скеча, так как не имеется ардуино мини! Есть только нано версия.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 07 Ноября 2015, 10:38:31
А случайно нет скеча, так как не имеется ардуино мини! Есть только нано версия.
Тут нет зависимости от платы  :-) шейте нано.
Исходники обоих вариантов в аттаче.
Название: Re: Генератор на AD9850
Отправлено: ZUBR от 09 Ноября 2015, 20:39:10
Спасибо большое :$
Название: Re: Генератор на AD9850
Отправлено: ZUBR от 25 Ноября 2015, 22:51:36
Долго мучился с кодом под Мегу2560 и Ардуино нано, все компилируется дисплей 16*2 работает, шаг настройки меняется, кроме частоты т.е. энкодер не пашет, в тестовой программе все ок. Оказалось, что энкодер нужно жестко привязывать к ногам 2 и 3, я ставил на свое усмотрение вот и не работало.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 26 Ноября 2015, 07:15:19
Почитайте и станет всё ясно http://arduino.ru/Reference/AttachInterrupt
Название: Re: Генератор на AD9850
Отправлено: Николай З от 26 Марта 2016, 18:17:22
Здравствуйте ! Я в микроконтроллерах начинающий ,у меня стоит задача сделать перестраиваемый  генератор синусоиды  0,1 ....3,5 МГц  , но важно , чтобы на выходе синусоида прерывалась  с частотой примерно 1000 Гц . Я заказал этот модуль с микросхемой ad9850 , Arduino uno   у меня есть уже , осваиваю потихоньку , изучаю интеренет  ,решил здесь поспрашивать .
Как этот модуль , с ad9850  , позволяет ли это делать ? Как  в скетче этим управлять ?
Картинки , того , что мне бы хотелось получить , прикреплю.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 26 Марта 2016, 19:08:23
AD9850 для установки частоты нужно где-то 8-10ms в итоге максимальная частота включения получится 80-100Гц.
Можно конечно уменьшить задержку но не знаю как она себя поведёт  ???
Проще всего добиться этого эффекта можно даже не трогая АДэшку а сделать примитивный коммутатор на PIN диоде, и получать любые значения прерывания  :-)
Название: Re: Генератор на AD9850
Отправлено: Николай З от 26 Марта 2016, 21:45:37
Спасибо за информацию , а как Вы порекомендуете сделать ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 26 Марта 2016, 22:43:28
Я ж писал с помощью PIN диода  :-) Схемку могу набросать 
Название: Re: Генератор на AD9850
Отправлено: Николай З от 27 Марта 2016, 07:11:49
Да , нарисуйте пожалуйста .  Я посмотрел , PIN диоды на СВЧ в основном применяются ?
Здесь что то очень простое лучше применить .
Название: Re: Генератор на AD9850
Отправлено: Koshak от 27 Марта 2016, 12:48:54
У меня в голове крутится такая схема  :-) должна работать.
Название: Re: Генератор на AD9850
Отправлено: Николай З от 28 Марта 2016, 20:25:48
Спасибо , попробую на макетке собрать .
Название: Re: Генератор на AD9850
Отправлено: Николай З от 17 Апреля 2016, 20:27:11
В общем , приехал ко мне этот модуль , LCD keypad shield  у меня был уже , и я собрал генератор  во по такой схеме
http://mini-tech.com.ua/index.php?route=product/product&product_id=123
А модулятор я собрал на макетке , но использовал в качестве генератора 555 , сигнал с которой идет на коллектор кт940а , на базу идет  с выхода dds , в цепи эмиттера  резистор , с которого осциллографом я снял  похожую , как мне нужно , картинку .
Но скетч мне не понравился совершенно - регулируется только самый старший разряд частоты и через 1 от него , а выбор разряда не получается - видимо у меня не совсем такой же кейпад шилд , как в примере . А как этот косяк поправить , я пока незнаю.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 18 Апреля 2016, 13:03:50
Да скетч вроде адекватно работает, проверял с такой платкой http://www.ebay.com/itm/1602-LCD-Board-Keypad-Shield-Blue-Backlight-For-Arduino-LCD-Duemilanove-Robot-/170928504704

Но удобней с валкодером всё таки  :-)
Название: Re: Генератор на AD9850
Отправлено: Николай З от 22 Мая 2016, 19:53:32
Алексей , здравствуйте ! Подскажите по  самой первой схеме , ко мне приехали эти индикаторы , но  распиновка разъемов у меня
VCC
GND
DIN
CS
CLK

 и справа
VCC
GND
DOUT
LODA
CLK

а плата у меня  arduino nano , я так понял , индикатор  по схеме подключен к ардуине
DIN-PD7
CLK-PD6
LODA-PD5
VCC-VCC
GND-GND

правильно?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 22 Мая 2016, 20:10:37
Индикатор на MAX7219?
Название: Re: Генератор на AD9850
Отправлено: Николай З от 22 Мая 2016, 21:12:25
Да .
Название: Re: Генератор на AD9850
Отправлено: Koshak от 22 Мая 2016, 21:29:45
Если смотреть на индикатор. Подключать к контактам с левой стороны.

VCC-VCC 5v
GND-GND
DIN-D7
CLK-D6
CS-D5
Название: Re: Генератор на AD9850
Отправлено: Николай З от 22 Мая 2016, 21:38:36
Спасибо ! Пока правда , попробовать не получится , энкодер еще в пути где то :)
VCC  у меня 6,5 в , для этих индикаторов это допустимо ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 22 Мая 2016, 21:42:15
Ну индикация и без энкодера должна завестись))
Название: Re: Генератор на AD9850
Отправлено: Николай З от 22 Мая 2016, 22:06:31
Да , работает :)
Название: Re: Генератор на AD9850
Отправлено: Koshak от 22 Мая 2016, 22:09:07
Отлично  :$
Название: Re: Генератор на AD9850
Отправлено: Николай З от 02 Июня 2016, 20:03:39
Сегодня приехал наконец энкодер , и все заработало :) Алексей , огромное Вам спасибо !!!
У меня осталось несколько вопросов по схеме - я так понял , последний разряд - десятки герц , единицы герц не отображаются . Как поменять в скетче , чтобы отображались единицы герц ? Мне больше 4 мгц всеравно пока не актуально...
Название: Re: Генератор на AD9850
Отправлено: Koshak от 02 Июня 2016, 22:56:12
Добавил шаг 1Hz с выводом на дисплей.  Резистор на схеме можно выкинуть, порт программно притянул к VCC.
Должно работать.
Название: Re: Генератор на AD9850
Отправлено: Николай З от 03 Июня 2016, 07:22:42
Алексей , здравствуйте ! С новым скетчем получается , что регулируется только шаг сотен герц , шаги при нажатии на энкодер не  меняются .
Да , единицы герц он стал отображать , а где это  в скетче указывается  ? , мне интересно .
И попутно еще хотел спросить , у меня пока все эти компоненты запитаны от 6, 5 в , я так понимаю , для ардуины это нормально , там встроенный стабилизатор , а вот для платы ад9850 и  лед дисплея , это нормально , или там  надо 5в подавать ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 03 Июня 2016, 07:26:59
Вся схема целиком и полностью должна быть запитана от 5 В !!!
Отображение с точностью до 10 Hz в строке rx_disp = rx_disp/10;
Название: Re: Генератор на AD9850
Отправлено: Николай З от 03 Июня 2016, 19:59:57
Алексей , я подобрал другой бп , и в старом скетче вот эту строку поправил , ноль стер просто , и нормально все стало работать , меня все очень устраивает , спасибо :)
Название: Re: Генератор на AD9850
Отправлено: Koshak от 03 Июня 2016, 20:42:14
Коль пиши если что подправить  ;) чем смогу помогу.
Название: Re: Генератор на AD9850
Отправлено: Николай З от 30 Июля 2016, 21:28:57
Алексей , здравствуйте ! Подскажите пожалуйста , как исключить  из скетча  шаг при нажатии на энкодер 1 мгц ? Он мне как бы не нужен вообще , а частоту постоянно  переключаю в пределах сотен кгц , чтобы нажатий меньше было ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 31 Июля 2016, 13:54:41
Привет! Проверяй  :-)
Название: Re: Генератор на AD9850
Отправлено: Николай З от 31 Июля 2016, 15:41:34
 Привет ! Похоже , у меня с ардуиной проблемы - видимо даром не прошло , что по ошибке я ее  не так в разъем вчера вставил . Скетчи теперь не записываются , выдает
Arduino: 1.6.8 (Windows 7), Плата:"Arduino Nano, ATmega328"

Скетч использует 5 652 байт (18%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 282 байт (13%) динамической памяти, оставляя 1 766 байт для локальных переменных. Максимум: 2 048 байт.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xc5
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xc5
Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .

Старый скетч   однако остался и работает :)
 Это я уже второй генератор собираю , придется ардуин еще заказать .
Алексей , я использую самую первую версию , подскажите ,  где в ней этот шаг , который надо убрать ? Я сам попробую . Просто незнаю , как начать . Я попробовал  позавчера , но смысла этого не очень  понимаю , и у меня на индикаторе просто  один разряд перестал светиться , пришлось вернуть как было .

Название: Re: Генератор на AD9850
Отправлено: Koshak от 31 Июля 2016, 15:56:25
Я проверил всё прекрасно заливается  ;) Возможно проблемы с самой платой?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 31 Июля 2016, 16:03:55
В коде меняется тут

Цитировать
void read_Step_Select() {
  if(stp==8) //7
  {
    stp=1;
  }
  if(stp==0) 
  {
    stp=7; //6
  }

  if(stp!=stp_old) 
  {
    if (stp==1)
    {   
      step1 = 1;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
       
    }
    else if (stp==2)
    {   
      step1 = 10;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
    }
    else if (stp==3)
    {   
      step1 = 100;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
      lc.setChar(0,5,'0',false);
    }
    else if (stp==4)
    {   
      step1 = 1000;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
      lc.setChar(0,5,'0',false);
      lc.setChar(0,4,'0',false);
    }
    else if (stp==5)
    {   
      step1 = 10000;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
      lc.setChar(0,5,'0',false);
      lc.setChar(0,4,'0',false);
      lc.setChar(0,3,'0',false);
    }
    else if (stp==6)
    {   
      step1 = 100000;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
      lc.setChar(0,5,'0',false);
      lc.setChar(0,4,'0',false);
      lc.setChar(0,3,'0',false);
      lc.setChar(0,2,'0',false);
    }
     else if (stp==7)
    {   
      step1 = 1000000;
      lc.clearDisplay(0);
      lc.setChar(0,7,'1',false);
      lc.setChar(0,6,'0',false);
      lc.setChar(0,5,'0',false);
      lc.setChar(0,4,'0',false);
      lc.setChar(0,3,'0',false);
      lc.setChar(0,2,'0',false);
      lc.setChar(0,1,'0',false);
    }

Нижний блок удалить, и поменять значения переменных я выделил цветом
Название: Re: Генератор на AD9850
Отправлено: Николай З от 31 Июля 2016, 19:08:46
Спасибо , попробую на днях . Да , с платой не  впорядке , похоже  микросхема , которая связывает атмегу  с usb  портом  накрылась , тем не менее , сама  ардуина  работает , вот фотки  почти готового блока , как оказалось , из оцинковки довольно легко  можно сделать корпуса , если  на предполагаемой линии сгиба просверлить отверстия каждые несколько сантиметров.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 01 Августа 2016, 07:11:12
Неплохо  :$ а для чего будет сей девайс?
Название: Re: Генератор на AD9850
Отправлено: Николай З от 01 Августа 2016, 19:32:37
Ответил в личку . Алексей , а вот такие ардуины в этой схеме можно использовать ?
http://samopal.pro/atmega328-arduino/
Название: Re: Генератор на AD9850
Отправлено: Koshak от 01 Августа 2016, 21:12:26
Да пойдёт, это минимальный обвес ардуины, я собирал подобное на чипе Mega168, но я правда постоянно беру ProMini, для моих самоделок самое то :$
Название: Re: Генератор на AD9850
Отправлено: Николай З от 02 Августа 2016, 22:15:18
Алексей, здравствуйте ! Подскажите пожалуйста , я вот сегодня посмотрел , что Atmega168 может быть дешевле , чем Atmega328  вот например
http://ru.aliexpress.com/item/ATMEGA8A-PU-ATMEGA8A-DIP-28-8-bit-with-8K-Bytes-In-System-Programmable-Flash/32571726133.html?spm=2114.30010708.3.2.NOiick&ws_ab_test=searchweb201556_10,searchweb201602_1_10048_10047_10049_10046_10045_10017_106_105_104_10060_103_10061_102_10062_412_10039_10057_10056_10037_10055_10059_10033_10058_10032_405_404,searchweb201603_6&btsid=3141e1dc-8f0b-4bca-8d8b-3a9a706b9052

Можно брать для этой схемы ?
Не посмотрел :) Вы же про них и писали в предыдущем сообщении .
Название: Re: Генератор на AD9850
Отправлено: Koshak от 02 Августа 2016, 22:17:51
Приветствую! По ссылке Mega8 маловато памяти у ней... 
Название: Re: Генератор на AD9850
Отправлено: Николай З от 02 Августа 2016, 22:18:42
Лучше не связываться и купить 328 ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 02 Августа 2016, 22:22:39
Лучше не связываться и купить 328 ?
Ага памяти много не бывает)), возможно ещё пригодится для других проектов  :po:
Название: Re: Генератор на AD9850
Отправлено: Кукс от 13 Августа 2016, 00:42:10
Ребята, подскажите, я совсем с контроллерами не сталкивался, но хочется попробовать. Можно ли с ардуино и вот этим генератором (или без него) решить следующую задачку:
нужен импульсный сигнал с длительностью импульса примерно 50-100 нс и частотой от 0 до 3кГц с шагом примерно 0,1Гц. При этом, чтобы можно было длительность импульса менять скажем в пределах 100-500 нс.

Мыслю так, раз тактовая частота ардуино uno 16 МГц, стало быть самый короткий импульс, какой можно получить 1\16 МГц, т.е.  62,5 нс, правильно? И теперь, если ардуиной управлять, то можно импульс пропустить (логическая единица), а затем нули, столько сколько надо для обеспечения нужной скважности. Нужен импульс пошире - две логические единицы и т.д..
Название: Re: Генератор на AD9850
Отправлено: Koshak от 14 Августа 2016, 16:38:32
Как я понял вам нужен генератор специальной формы, по сути ваша схема должна делится на два блока генератор импульсов и модулятор. Сама ADшка может синтезить довольно мелкий шаг при тактовой частоте 125MHz.

Цитировать
The AD9850’s innovative high speed DDS core provides
a 32-bit frequency tuning word, which results in an output
tuning resolution of 0.0291 Hz for a 125 MHz reference clock
input.

Я просто не углублялся в эти тонкости )))
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 12:23:39
С Ардуино Про Мини - все отлично работает. Спасибо огромное !!! С экраном ST7735
А вот с Ардуино Нано - замучился.
Никаким образом не хочет переключатся диапазор 1кгц,100кгц,1 мгц --- не переключатся вообще при нажатии на энкодор. Частота меняется скачками.
Если выставить как на скече -

Rotary r = Rotary(2,3); // sets the pins the rotary encoder uses. 
//LedControl lc=LedControl(7,6,5,1);
const int buttonPin = 4;

То получается на Ардуино Нано - каша. Частоты с 10мгц при прокрутке энкодера могут скакать до 2мгц
Нажатие на кнопку энкодера - никакой реакции на смену диапазона. Диапазон частоты сами по себе живут - и сменяют друг друга сами по себе.

Если выставить:
Rotary r = Rotary(2,3); // sets the pins the rotary encoder uses. 
//LedControl lc=LedControl(7,6,5,1);
const int buttonPin = 0;
То частота меняется плавно в обе стороны, а кнопка энкодера не меняет диапазон ни в какую.

Я новичек и по схеме не знаю куда еще подсоединить на Ардуино Нано провод от Энкодера чтобы при нажатии на кнопку энкодера менялся - переключался бы диапазон частот. Буду очень благодарен за подсказку.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 19:47:39
Резисторы на валкодере имеются?
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 20:38:19
Да имеются. Спасибо, что отвечаете на мой вопрос, Только на Вас надежда.
Экран отлично светится =
Вариант второй, используется дисплей ST7735.
Тактикотехнические характеристики аналогичны первому варианту.
Подключение AD9850 и валкодера берём с первого варианта.
Подключение дисплея:

LED > 3.3V
SCK > D13
SDA > D11
A0 > D7
RST > D6
CS > D5
GND > GND
VCC > 5V

R1 10 kom = все как по схеме на фото в первом посте. Плюс валкодер этой же марки с сопротивлениями на плате.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 20:42:00
A валкодер к какому напряжению притянут? 3,3в или 5в?
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 20:47:28
У меня вся схема питается только от +5 вольт
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 20:54:22
Я собрал по Вашей схеме по фото на Ардуино Про Мини  только с экраном ST7735. Все отлично работает и частоты и диапазоны меняются = СУПЕР!
А вот с Ардуино Нано = у меня частоты танцуют скачками а диапазоны вообще не переключаются
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 20:55:36
А на портах ардуины 3,3 или 5 вольт?
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 20:58:28
 +5 вольт Я +3,3вольта вообще не подключаю = на дисплее сзади стоит стабилизатор с 5 до 3 вольт
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 21:01:41
Ну а если кнопку валкодера повесить на D8?
В коде const int buttonPin = 8;
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 21:04:19
Это в этом месте поменять 4 на 8 и провод подключить к 8 ножке:?
В этом месте?
Rotary r = Rotary(2,3); // sets the pins the rotary encoder uses. 
//LedControl lc=LedControl(7,6,5,1);
const int buttonPin = 8;
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 21:09:04
Ну да
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 21:11:18
Сейчас все перекину , залью измененый скеч с 8 пином и чуть попозже отпишусь.
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 22:37:24
Огромное спасибо!!! Все заработало в штатном режиме.!!! На 4pda вместо спасибо обычно плюсуют - сейчас посмотрю как на этом форуме можно выразить Вам свою благодарность за помощь и доброе отношение.
Удачи Вам!!!
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 22:41:42
У тебя скорее всего порт D4 "битый" поэтому и не работало  :-)
Название: Re: Генератор на AD9850
Отправлено: venso от 24 Октября 2016, 23:00:51
Я только только начал этим заниматься - пока как в танке. - читаю и курю документацию. Думаю потихоньку вникну в это дело. В любом случае - примите мои благодарности!! Удачи Вам!!! Если не в напряг - возможно посоветоваться  с Вами в дальнейшем?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 24 Октября 2016, 23:07:37
Чем могу помогу  ;)
Название: Re: Генератор на AD9850
Отправлено: RX9CDR от 20 Декабря 2016, 13:02:07
Прошу помочь со скетчем.
Решил, на основе вашего скетча сделать синтезатор для трансивера со шкалой МАХ7219 и немного запутался.
Схему и скетч со своими доработками прилагаю. Не могу придумать как отключать не нужные реле при переключении диапазонов, как реализовать переключение верхней и нижней полосы. И ещё, не уверен что корректно запускаю стартовую частоту генератора.
Прошу Вас, помогите грамотно допилить скетч.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 21 Декабря 2016, 20:05:12
Приветствую! Ну хоть какая реакция реле при переключении?
Название: Re: Генератор на AD9850
Отправлено: RX9CDR от 22 Декабря 2016, 09:07:36
Пока никакой. Платы с макетной доской едут из китая. До этого собирал синтезатор от Сергея 4z5ky.
http://ur5yfv.com.ua/index.php/stati/mikrokontrollery/133-sintezator-chastoty-na-modulyakh-arduino.html

Фото моей поделки здесь  http://qrz-e.ru/forum/118-2921-2 Кстати, на этой же странице чуть ниже есть ссылка на ваш Панорамный SWR  :-)
Синтезатор от 4z5ky прекрасно работает, но мне не нужны WARC диапазоны. И переключение хочу галетное а не кнопочное (Собираю клопика в корпусе от Эфира-М). В его конструкции нужен дешифратор диапазонов и нет исходников. Только НЕХ файлы. На просьбу дать исходники Сергей не ответил, да и пишет он на баскоме. По совести говоря, программист из меня никакой. Поэтому и обращаюсь за помощью. Если у вас есть что то подобное и уже готовое, то было бы вообще замечательно.

Вчера вечером почесал затылок и придумал как управлять реле при переключении диапазонов. Но до сих пор сомневаюсь в правильности конфигурирования и использования аналоговых выводов.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 22 Декабря 2016, 21:16:40
Надо на макете попробовать собрать))
А зачем в трансивер ставить синтез с таким индикатором? Куча помех из-за динамической индикации будет  ???
Название: Re: Генератор на AD9850
Отправлено: RX9CDR от 23 Декабря 2016, 06:24:35
В приемнике, для которого делал синтезатор от Сергея 4z5ky помех не обнаружил. Эти помехи проходят как правилор через цепи питания. Поэтому на каждый модуль у меня всегда отдельный стабилизатор (7805).  Конкретно в этом прансивере синтезатор ещё и отдельным трансформатором питаться будет.  Единственный минус - это щелчки во премя перестройки.
Читал, что щелчки устраняются программно, но как устраняются не написано.

Кстати, какой индикатор посоветуете для снижения помех?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 23 Декабря 2016, 20:03:29
Эти помехи проходят как правилор через цепи питания
Да в основном 99% из-за отсутствия ключей управления индикатором на выходе контроллера, поэтому жирные пульсации по цепям питания  :-)
Название: Re: Генератор на AD9850
Отправлено: Николай З от 03 Июля 2017, 21:52:59
Здравствуйте ! Подскажите пожалуйста  , хочу вместо  энкодера KY-040  купить что то вроде
https://ru.aliexpress.com/item/2-EC11/32673684898.html?spm=2114.14010208.99999999.262.zkSFpX

или
https://ru.aliexpress.com/item/Original-Rotary-encoder-code-switch-EC11-audio-digital-potentiometer-with-switch-5Pin-handle-length-20mm-free/1669858125.html?spm=2114.14010208.99999999.270.zkSFpX
и впаять сразу на плату , мне кажется , так надежнее будет , чем шлейфом соединять , да и хлипкая какая то у KY-040 плата .
Какой лучше выбрать ? Или может , есть получше вариант ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 04 Июля 2017, 06:58:30
Да можно этот поставить, или оптический но он дорогой. 400 импульсов на оборот http://www.ebay.com/itm/Incremental-Optical-Rotary-Encoder-400-600-360P-R-A-B-Phase-5-24V-/172304673265
Название: Re: Генератор на AD9850
Отправлено: Yuri от 11 Июля 2017, 10:18:58
 Собрал генератор
Все работает! Спасибо за схему и скетч!
Название: Re: Генератор на AD9850
Отправлено: Koshak от 12 Июля 2017, 07:30:53
Отлично  :$
Название: Re: Генератор на AD9850
Отправлено: Николай З от 08 Сентября 2017, 19:49:02
Поменял ардуино нано на мк Atmega328p  , прошивал в ардуино уно с пом программатора , залил загрузчик , следом скетч .
Название: Re: Генератор на AD9850
Отправлено: Koshak от 12 Сентября 2017, 06:18:47
Я ещё кину один вариант с более дешёвой DDS, может понравится  :94:
Название: Re: Генератор на AD9850
Отправлено: Николай З от 12 Сентября 2017, 10:22:50
Здравствуйте Алексей ! Да , это актуально , очень жду . Может быть , речь идет о подключении вот такого модуля на АД9833 ?
https://ru.aliexpress.com/item/1PC-New-Arrival-AD9833-AD9833BRMZ-CJMCU-9833-sine-wave-triangle-wave-square-wave-Module-Board/32818644829.html?ws_ab_test=searchweb0_0,searchweb201602_3_5570020_10152_10065_10151_10068_5490020_10307_10301_10137_10060_10155_10154_10056_10055_10054_5470020_10059_303_100031_10099_5460020_10338_10339_10103_10102_440_10169_10052_10053_10142_10107_10050_10051_5380020_10326_10084_10083_10080_10082_10081_10110_10111_10112_10113_10114_143_10312_10313_10314_5560020_10078_10079_10073_10125,searchweb201603_23,ppcSwitch_2&btsid=f8fe1b72-dc4d-45f4-b457-908ffdd141e4&algo_expid=66a6d7ec-7f1a-423a-be56-832a2171a838-25&algo_pvid=66a6d7ec-7f1a-423a-be56-832a2171a838
Название: Re: Генератор на AD9850
Отправлено: Koshak от 12 Сентября 2017, 22:13:07
Да Николай, всё руки не доходят протестить  :-)
Название: Re: Генератор на AD9850
Отправлено: Koshak от 14 Сентября 2017, 23:17:08
Понравился этот проект http://www.vwlowen.co.uk/arduino/AD9833-waveform-generator/AD9833-waveform-generator.htm
Может попробуешь  :xexe:
Название: Re: Генератор на AD9850
Отправлено: Восточный от 03 Октября 2017, 15:03:53
Скетч из поста  (#62) не компелируется в загрузчике, есть у кого рабочий скетч под данную схему? Прошу выложить, тоже пытаюсь сделать диапазонный синтезатор. Вообще думал прописать входа цифровыми выходами здесь http://rfanat.ru/s24/sin_ad_9850_dds_vfo.html   на каждый диапазон с выходов А1...А5 была логическая единица вот как допилить тот скетч тоже не знаю, может кто поможет. Т.е. суть такова например выставляешь частоту в предела диап. 40м и на входе А2 появляется лог. 1 включая соответствующий фильтр вывел частоту за пределы диапазона, на всех А1...А5 лог.0 и так далее до следующего диапазона. Всё управление одним энкодером
Название: Re: Генератор на AD9850
Отправлено: Koshak от 04 Октября 2017, 07:19:04
Нужно добавить проверку в код, а на выход повесить например дешифратор SN74LS145, можно будет сделать 10 поддиапазонов.
Надо попробовать сделать. :po:   
Название: Re: Генератор на AD9850
Отправлено: Восточный от 04 Октября 2017, 10:29:40
Было бы круто. Так понимаю в скетч нужно будет добавлять как здесь http://greenoakst.blogspot.ru/2012/06/arduino_29.html . А вот как прописывать границы диапазона ?
Название: Re: Генератор на AD9850
Отправлено: Koshak от 11 Октября 2017, 06:55:06
Как по ссылке не обязательно делать, цифровых портов вроде хватает, разбитие по бэндам можно посмотреть например в коде от WSPR маяка.
Название: Re: Генератор на AD9850
Отправлено: Восточный от 11 Октября 2017, 13:18:41
А как это всё будет выглядеть? :sm: Схемотически, что то схему не встретил  на AD9850. А как здесь в скетче http://rfanat.ru/s24/sin_ad_9850_dds_vfo.html  задать команды на фильтра, плата вытравлена и уже работает, хотелось лишь управлять релюшками
Название: Re: Генератор на AD9850
Отправлено: Koshak от 17 Октября 2017, 07:24:31
В пикаде схемы смотреть можете?
Название: Re: Генератор на AD9850
Отправлено: Восточный от 17 Октября 2017, 11:49:07
Всё прописал в прошивке.
При попадании на диапазон выскакивает 1 на соответствующем выводе. Вот только на А6 и А7 почему то 1 не выскакивает может атмега такая, хотя гальванически контакты до самой микросхемы звонятся.
Работаем...........  :D Скетч http://my-files.ru/65k5xa
Пикад пока не делал, стояла 10 снёс нафиг, поставил 7, а то драйвер не вставал, что только не делал, и отменял электронную подпись драйверов и т.д. ничего не помогало, как то так

Название: Re: Генератор на AD9850
Отправлено: Восточный от 17 Октября 2017, 11:57:29
Ну а если еще дешифратор добавить, то вообще будет песня :99:
Название: Re: Генератор на AD9850
Отправлено: Koshak от 17 Октября 2017, 19:58:57
Приатачил, можно посмотреть как используется дешифратор.
Название: Re: Генератор на AD9850
Отправлено: Восточный от 19 Октября 2017, 12:04:01
Что то не получается открыть у меня это расширение sch. :?! Может дадите ссылочку на установку проги.
Название: Re: Генератор на AD9850
Отправлено: Koshak от 20 Октября 2017, 06:49:35
Веювер пикада

Название: Re: Генератор на AD9850
Отправлено: Восточный от 20 Октября 2017, 13:04:40
Всё ОК. А самого скетча нету? :sm:
Название: Re: Генератор на AD9850
Отправлено: Koshak от 20 Октября 2017, 21:58:38
Тут только пример как подключается дешифратор к ардуине)))  :94:
Название: Re: Генератор на AD9850
Отправлено: Koshak от 20 Октября 2017, 22:17:31
Конвертнул в pdf :xexe:
Название: Re: Генератор на AD9850
Отправлено: Восточный от 21 Октября 2017, 18:51:59
Благодарю, уже схемку посмотрел. А вот так по выделенным строчкам можно прописывать два выхода на один частотный интервал? Так то компиляция проходит без ошибок.

void sendFrequency(double frequency) {
  //
  if (rx <= 13550000 || rx >= 13900000) digitalWrite(A1,LOW); else digitalWrite(A1,HIGH);
  if (rx <= 13550000 || rx >= 13900000) digitalWrite(A2,LOW); else digitalWrite(A2,HIGH);
  if (rx <= 15000000 || rx >= 15850000) digitalWrite(A2,LOW); else digitalWrite(A2,HIGH);
  if (rx <= 17440000 || rx >= 17910000) digitalWrite(A3,LOW); else digitalWrite(A3,HIGH);
  if (rx <= 21440000 || rx >= 21870000) digitalWrite(A4,LOW); else digitalWrite(A4,HIGH);
  if (rx <= 25600000 || rx >= 28800000) digitalWrite(A5,LOW); else digitalWrite(A5,HIGH);
Название: Re: Генератор на AD9850
Отправлено: Восточный от 22 Октября 2017, 06:53:42
Попробовал, залил скетч, ерунда получилась, задача не выполняется
Название: Re: Генератор на AD9850
Отправлено: Восточный от 27 Октября 2017, 19:03:42
Вот http://my-files.ru/7ylox9 , очередной скетч на 9 диапазонов с дешифратором СD4028, остаётся ещё пин. А5 если кому мало диапазонов можно задействовать.  :D
Название: Re: Генератор на AD9850
Отправлено: Николай З от 28 Октября 2017, 23:30:16
Синтез на АД9833 , детали приехали
Собрал  схему для АД9833 , сигнал на выходе есть , частота регулируется , треугольник , меандр и синус переключаются , но дисплей признаков жизни не подает .
Я купил не совсем ту модель , которая  в схеме по ссылке .Я купил вот такую
https://ru.aliexpress.com/item/1-8-SPI-TFT-128-x-160-Pixels-Display-LCD-Module-Breakout-ST7735R-R179T-Drop-Shipping/32810524510.html?spm=a2g0s.9042311.0.0.yQLX7g
У нее 16 контактов, соединил
дисплей     Атмега
mosi           17
sck              19
cs                 24
a0                 23
reset              25

Может , дело в библиотеках ?
Надо наверное мне отдельно с дисплеем поиграться , чтобы оживить .
Алексей , посоветуйте что нибудь :)
Название: Re: Генератор на AD9850
Отправлено: Koshak от 31 Октября 2017, 05:57:12
Николай сделай так, у него включено для QDTech он сам про это пишет
Цитировать
Use the ST7735 library if the display has an ST7735 controller chip or the QDTech library if the display uses the Samsung S6D02A1 chip.
Цитировать
  #include <Adafruit_ST7735.h>            // Hardware-specific library
  Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);

//  #include <Adafruit_QDTech.h>              // Hardware-specific library
//  Adafruit_QDTech tft = Adafruit_QDTech(cs, dc, rst); 
Название: Re: Генератор на AD9850
Отправлено: Николай З от 31 Октября 2017, 20:19:42
Алексей , здравствуйте ! В общем сделал вот так , но не помогло
Склоняюсь к тому , чтобы купить другой дисплей . Но такой вот точно модели как у автора я на али не встретил .
/*
AD9833 Waveform Module vwlowen.co.uk
*/

#include <SPI.h>
#include <rotary.h>            // Rotary encoder: https://github.com/brianlow/Rotary


#define dc   A0                // Define pins for TFT display.           
#define cs   A1                //
#define rst  A2 

#include <Adafruit_GFX.h>      // Core graphics library

// include Adafruit library OR QDTech library depending on the display's controller chip.

 #include <Adafruit_ST7735.h>            // Hardware-specific library
 Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);

 


// https://github.com/zigwart/Adafruit_QDTech


#define BLACK 0x000                         // Define the display colours we'll be using
#define BLUE 0x001F                         // so they're constants regardless of which
#define GREEN 0x07E0                        // display library we use.
#define YELLOW 0xFFE0
#define GREY 0x632C

const int SINE = 0x2000;                    // Define AD9833's waveform register value.
const int SQUARE = 0x2028;                  // When we update the frequency, we need to
const int TRIANGLE = 0x2002;                // define the waveform when we end writing.   

int wave = 0;
int waveType = SINE;
int wavePin = 7;

int freqUpPin = 2;                          // Define rotary encoder pins.
int freqDownPin = 3;
int stepUpPin = 5;
int stepDownPin = 6;

const float refFreq = 25000000.0;           // On-board crystal reference frequency

const int FSYNC = 10;                       // Standard SPI pins for the AD9833 waveform generator.
const int CLK = 13;                         // CLK and DATA pins are shared with the TFT display.
const int DATA = 11;

Rotary r = Rotary(freqUpPin, freqDownPin);    // Rotary encoder for frequency connects to interrupt pins
Rotary i = Rotary(stepUpPin, stepDownPin);    // Rotart encoder for setting increment.

unsigned long freq = 1000;               // Set initial frequency.
unsigned long freqOld = freq;

unsigned long incr = 1;
unsigned long oldIncr = 1;

void setup() {

  pinMode(freqUpPin, INPUT_PULLUP);      // Set pins for rotary encoders as INPUTS and enable
  pinMode(freqDownPin, INPUT_PULLUP);    // internal pullup resistors.
  pinMode(stepUpPin, INPUT_PULLUP);
  pinMode(stepDownPin, INPUT_PULLUP);
  pinMode(wavePin, INPUT_PULLUP); 
 
   // Can't set SPI MODE here because the display and the AD9833 use different MODES.
  SPI.begin();
  delay(50);
 
  // Initialize either Adafruit OR QDTech display
  //QDTech display
//     tft.init();
 
//  Adafruit  ;display     
  ;tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
 
  tft.setRotation(3);
  tft.setTextWrap(false);                                  // Allow text to run off right edge

  tft.fillScreen(BLACK);
  tft.drawFastVLine(20, tft.height()-55, 4, GREY);         // Display 'static' cosmetic text.
  tft.drawFastVLine(40, tft.height()-55, 4, GREY);
  tft.drawFastVLine(47, tft.height()-55, 4, GREY);
  tft.drawFastVLine(88, tft.height()-55, 4, GREY);
  tft.drawFastVLine(95, tft.height()-55, 4, GREY);
  tft.drawFastVLine(134, tft.height()-55, 4, GREY);
 
  tft.drawFastHLine(20, tft.height()-52, 20, GREY);
  tft.drawFastHLine(47, tft.height()-52, 42, GREY);
  tft.drawFastHLine(95, tft.height()-52, 40, GREY);
 
  tft.setTextColor(GREY);
  tft.setCursor(23, tft.height()-48);
  tft.print("MHz   kHz     Hz");
 
  tft.setCursor(15, tft.height() -20);
  tft.setTextSize(1);
  tft.drawFastHLine(0, tft.height() - 23, tft.width()-10, BLUE);
  tft.setTextColor(BLUE);
  tft.println("AD9850 10 Hz to 5 MHz ");
  tft.print("   waveform generator");
 
 
// Configure interrupt for rotary encoder and enable.
  PCICR |= (1 << PCIE2);
  PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
  sei();
 
  AD9833reset();                                   // Reset AD9833 module after power-up.
  delay(50);
  AD9833setFrequency(freq, SINE);                  // Set the frequency and Sine Wave output
  updateDisplay();
}

void updateDisplay() {
 
  // To complicate things, the display uses SPI MODE0 but the AD9833 uses SPI MODE3 so it's
  // necessary to switch modes before each SPI transfer.
  SPI.setDataMode(SPI_MODE0);   
 
  tft.fillRect(50, 10, 100, 12, BLACK);            // Clear text.
 
  tft.setTextColor(YELLOW);
  tft.setCursor(55, 10);
  tft.setTextSize(1);
  switch (waveType) {
    case SINE: tft.print("  sine"); break;
    case SQUARE: tft.print(" square"); break;
    case TRIANGLE: tft.print("triangle"); break;
  }
 
  tft.fillRect(25, 50, 140, 14, BLACK);           // Clear frequency numerals.
  tft.setTextColor(GREEN);
  tft.setTextSize(2);
  tft.setCursor(25, 50);
  format(freq);                                   // Show frequency in formatted form. 

}

void format(unsigned long value) {
   
   // Break the frequency value down into individual digits & into variable 'digit'.
   // If a digit corresponds with the currently-selected x10 increment, change the
   // text colour to YELLOW. All other digits and commas are GREEN.
   
  unsigned long j = 1000000;
 
  for (int i=6; i>=0; i--) {
    int digit = (value / j) % 10;
    incr == j ? tft.setTextColor(YELLOW): tft.setTextColor(GREEN);
    tft.print(digit);
    if ((i == 6) || (i == 3)) {                  // Add commas at millions and thousands
      tft.setTextColor(GREEN);
      tft.print(",");
    }   
    j /= 10;
  }
}


void loop() {
 
  if (oldIncr != incr) {
    updateDisplay();
    oldIncr= incr;
  }
 
  // Check 'increment' rotary encoder. Increase or decrease 'increment' by a factor of x10
  // if encoder has been turned.
  unsigned char result = i.process();
  if (result) {
    if (result == DIR_CW)  {if (incr < 1000000) incr *= 10;}
    if (result == DIR_CCW) {if (incr >= 10) incr /= 10;}
    updateDisplay();
  }
 
  // Check if push button on 'increment' rotary encoder is pushed and set Wave Type accordingly.
  if (digitalRead(wavePin) == LOW) {
    wave += 1;
    if (wave > 2) wave = 0;
    switch (wave) {
      case 0: waveType = SINE; break;
      case 1: waveType = SQUARE; break;
      case 2: waveType= TRIANGLE; break;
    }   
    AD9833setFrequency(freq, waveType);     // Set AD9833 to frequency and selected wave type.
    updateDisplay();
    delay(200);
  }
 
  if (freq != freqOld) {                    // If frequency has changed, interrupt rotary encoder
    AD9833setFrequency(freq, waveType);     // must have been turned so update AD9833 and display.
    updateDisplay();
    freqOld = freq;                         // Remember new frequency to avoid unwanted display
  }                                         // and AD9833 updates.
}

// AD9833 documentation advises a 'Reset' on first applying power.
void AD9833reset() {
  WriteRegister(0x100);   // Write '1' to AD9833 Control register bit D8.
  delay(10);
}

// Set the frequency and waveform registers in the AD9833.
void AD9833setFrequency(long frequency, int Waveform) {

  long FreqWord = (frequency * pow(2, 28)) / refFreq;

  int MSB = (int)((FreqWord & 0xFFFC000) >> 14);    //Only lower 14 bits are used for data
  int LSB = (int)(FreqWord & 0x3FFF);
 
  //Set control bits 15 ande 14 to 0 and 1, respectively, for frequency register 0
  LSB |= 0x4000;
  MSB |= 0x4000;
 
  WriteRegister(0x2100);   
  WriteRegister(LSB);                  // Write lower 16 bits to AD9833 registers
  WriteRegister(MSB);                  // Write upper 16 bits to AD9833 registers.
  WriteRegister(0xC000);               // Phase register
  WriteRegister(Waveform);             // Exit & Reset to SINE, SQUARE or TRIANGLE

}

void WriteRegister(int dat) {
 
  // Display and AD9833 use different SPI MODES so it has to be set for the AD9833 here.
  SPI.setDataMode(SPI_MODE2);       
 
  digitalWrite(FSYNC, LOW);           // Set FSYNC low before writing to AD9833 registers
  delayMicroseconds(10);              // Give AD9833 time to get ready to receive data.
 
  SPI.transfer(highByte(dat));        // Each AD9833 register is 32 bits wide and each 16
  SPI.transfer(lowByte(dat));         // bits has to be transferred as 2 x 8-bit bytes.

  digitalWrite(FSYNC, HIGH);          //Write done. Set FSYNC high
}


// Interrupt service routine for the 'frequency' rotary encoder.

ISR(PCINT2_vect) {

  unsigned char result = r.process();
  if (result) {
    if (result == DIR_CW) {                   // Clockwise rotation so add increment to frequency
       if ((freq + incr) < 6000000) freq+=incr;
       
    } else {
        if (freq > incr) {                    // Counter-clockwise rotation so subtract increment
          freq -= incr;                       // from frequency unless it would result in a negative
        } else {                              // number.
          if (freq >= 1) incr /= 10;
          if (incr < 1) incr = 1;             // Compensate for math rounding error.
        } 
    }
  }
}

Название: Re: Генератор на AD9850
Отправлено: Gart от 16 Ноября 2017, 08:07:47

Я купил не совсем ту модель , которая  в схеме по ссылке .Я купил вот такую
...skip...
Может , дело в библиотеках ?
Надо наверное мне отдельно с дисплеем поиграться , чтобы оживить .
Алексей , посоветуйте что нибудь :)
Николай, так получилось у Вас запустить дисплей? Вы пробовали подключить через библиотеку Ucglib?
Название: Re: Генератор на AD9850
Отправлено: Николай З от 16 Ноября 2017, 19:55:31
Не , пока задвинул до лучших времен :) , я на самом деле не слишком понимаю в этом , могу только рабочую конструкцию воспроизвести , да и то , с вопросами надоедаю :)
А что это за библиотека Ucglib?
Название: Re: Генератор на AD9850
Отправлено: Gart от 16 Ноября 2017, 21:43:40
А что это за библиотека Ucglib?
Графическая библиотека для разных дисплеев.  Используется в некоторых вариантах генератора.
Название: Re: Генератор на AD9850
Отправлено: Восточный от 24 Ноября 2017, 18:25:05
Доброго времени суток!
Как задействовать в этом скетче  http://my-files.ru/w267zx  индикатор МАХ7219 для отображения частоты, что то у меня ничего не выходит. Индикатор подключил так
Название: Re: Генератор на AD9850
Отправлено: Gart от 24 Ноября 2017, 21:32:48
Доброго времени суток!
Как задействовать в этом скетче  http://my-files.ru/w267zx  индикатор МАХ7219 для отображения частоты, что то у меня ничего не выходит. Индикатор подключил так
А какую собственно библиотеку для вывода информации на свой дисплей Вы используете?
Название: Re: Генератор на AD9850
Отправлено: Восточный от 25 Ноября 2017, 04:55:41
Доброго времени суток!
Как задействовать в этом скетче  http://my-files.ru/w267zx  индикатор МАХ7219 для отображения частоты, что то у меня ничего не выходит. Индикатор подключил так
А какую собственно библиотеку для вывода информации на свой дисплей Вы используете?

Вот эту "LedControl.h"
Название: Re: Генератор на AD9850
Отправлено: Восточный от 25 Ноября 2017, 06:29:27
Пины переназначил 5 и 6 , частота высвечивается, вот только надо запятую прописать и убрать последний ноль ( единицы герц) :sm:
Название: Re: Генератор на AD9850
Отправлено: Gart от 25 Ноября 2017, 08:13:05
Пины переназначил 5 и 6 , частота высвечивается, вот только надо запятую прописать и убрать последний ноль ( единицы герц) :sm:
В указанном Вами скетче вывод частоты на дисплей организован в функции showFreq(), в частности там попробуйте поиграться. Или может у Вас вывод по своему организован? Посмотрите на пример выложенный ув. Koshak в начале этой ветки форума, я думаю там все нужное для Вас есть.
Название: Re: Генератор на AD9850
Отправлено: Восточный от 25 Ноября 2017, 08:39:57
Пины переназначил 5 и 6 , частота высвечивается, вот только надо запятую прописать и убрать последний ноль ( единицы герц) :sm:
В указанном Вами скетче вывод частоты на дисплей организован в функции showFreq(), в частности там попробуйте поиграться. Или может у Вас вывод по своему организован? Посмотрите на пример выложенный ув. Koshak в начале этой ветки форума, я думаю там все нужное для Вас есть.
Там скетч в hex расширении, так просто не посмотришь
Название: Re: Генератор на AD9850
Отправлено: Koshak от 25 Ноября 2017, 14:17:57
Я думал Вы уже всё сделали  :-)
Название: Re: Генератор на AD9850
Отправлено: Gart от 25 Ноября 2017, 15:01:35
Там скетч в hex расширении, так просто не посмотришь
Ну тогда смотрите как реализованно в указанной мною функции в Вашем скетче,  строки 418-420
Название: Re: Генератор на AD9850
Отправлено: Восточный от 25 Ноября 2017, 15:50:20
Я думал Вы уже всё сделали  :-)
Да вот решил перенести на индикатор с большими цифрами и теперь небольшая проблемка
Название: Re: Генератор на AD9850
Отправлено: Восточный от 28 Ноября 2017, 14:05:26
Всё разрулил, работает!!!!!!! Правда наверное раз 80-100 заливаний и 168-я сдохла, загрузка данных не идёт, заменил.... Благо чип большенький так заказал, придёт и заменю :104:
Название: Re: Генератор на AD9850
Отправлено: Gart от 28 Ноября 2017, 19:01:13
Всё разрулил, работает!!!!!!! Правда наверное раз 80-100 заливаний и 168-я сдохла, загрузка данных не идёт, заменил....
skip
А Вы перед заливкой прошивку не тестите например в Proteus ?
Название: Re: Генератор на AD9850
Отправлено: Восточный от 29 Ноября 2017, 03:16:45
Да нет, надо будет научиться в этой проге работать,2-й месяц с ардуинкой занимаюсь, пока во многом темный лес :?!
Название: Re: Генератор на AD9850
Отправлено: Gart от 29 Ноября 2017, 20:01:20
Отличная программа, и можно залить прошивку в контроллер без проблем, есть конечно нюансы, но в целом хоть можно понять как взаимодействует код и контроллер.