• advertisement_alt
  • advertisement_alt
  • advertisement_alt

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

Всем привет, кто нибудь работал с MCP4921, я в анг.языке не силён и поэтому раскурить даташит на данную микру не особо получается, может ли кто нибудь подсказать, как настроить выходную частоту. Привожу осциллограмму и код. http://pastebin.com/5iGNRgtZ <- код тут. Всем спасибо. 

MCP.jpg

Atmega8.png

Изменено пользователем Шамиль Прилов
Добавил схему.
0

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


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

Что за "выходная частота"? Это же ЦАП. У него аналоговый выход.

0

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


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

Что за "выходная частота"? Это же ЦАП. У него аналоговый выход.

Ну вот я генерю какой нибудь сигнал с помощью ЦАПа, как мне выходную частоту менять? Та же пила. 

0

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


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

На выходе ЦАПа должен быть твой сигнал. Что запишешь в ЦАП, то и будет.

Всё же, о какой частоте речь?

0

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


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

Ну вот пила, частота близка к 300Hz, как мне сделать допустим 600Hz, 700Hz, 800Hz, в ДШ сказано что макс.вых.частота 20 MHz. 

0

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


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

цап не при чём

копайте программу генерации сигнала

0

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


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

20МГц - это максимальная частота интерфейса SPI. То есть на выходе DAC сигнал может меняться с максимальной частотой около 1МГц.

Записывай в DAC другую пилу - будет и она на выходе.

0

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


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

20МГц - это максимальная частота интерфейса SPI. То есть на выходе DAC сигнал может меняться с максимальной частотой около 1МГц.

Записывай в DAC другую пилу - будет и она на выходе.

Т.е для генерации допустим синуса в 20kHz мне нужен более быстродейственный ЦАП? 

0

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


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

Нет, этот подойдёт. Он может синус до 1МГц выдавать.

Но только отчёты этого синуса надо постоянно подавать в цап. Вообще представляешь как цап работает?

0

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


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

Нет, этот подойдёт. Он может синус до 1МГц выдавать.

Не могли бы код с пилой показать как будет выглядить? Я что то совсем не пойму, задержек в коде нет, на прерывания не ухожу, т.е я с максимально возможной частотой запихиваю в DAC и даже в этом случае у меня максимальная частота 12-битной пилы близка к 300Hz. 

0

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


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

В строке

unsigned int Level = (unsigned int)(Voltage * 4096) / 5;

Попробуй увеличить число 4096 в несколько раз.

0

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


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

Тогда по другому генерируй эту пилу. Например не умножением, а прибавлением постоянного числа.

0

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


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

Ну тк она у меня прибавлением и генерируется 
 

	for ( float i = 0; i < 5; i = i+0.1){	
    convert_DAC(i);
    }
	convert_DAC(0); 
	}

 

Данная строка лишь переводит нормальное напряжение вида 4.33 вольт, в понятное значение понятное контроллеру.
 

unsigned int Level = (unsigned int)(Voltage * 4096) / 5;

 

0

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


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

Ага, тогда сделай i = i+0.5 например

0

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


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

Ага, тогда сделай i = i+0.5 например

Блиин.. капец я тугодум. Ну да, от этой строки скорость и зависит) Спасибо вам, добрый человек. 
 

0

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


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

Тогда генерируй её по другому, а не этим странным кодом.

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

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


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

Тогда генерируй её по другому, а не этим странным кодом.

Думаю единственный вариант это тактировать мк от внешнего кварца 16MHz, бит ускоренной передачи данных по SPI итак включён уже. 

0

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


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

- Не используй дробные числа.

- Можно использовать внутрений счетчик процессора (будет более равномерно и на максимальной скорости).

- Дескретизация 12 бит это много 16MHz/4096 = 3906,25Hz - максимально возможная частота.

0

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


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

Не-не-не, одно число передаётся за 16 тактов, плюс ещё несколько между передачами. Так что 16МГц/20 = 0.8МГц - максимальная возможная частота.

0

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


Ссылка на сообщение
Поделиться на других сайтах
В 16.02.2017 в 10:45, Сергей Степанов сказал:

- Не используй дробные числа.

- Можно использовать внутрений счетчик процессора (будет более равномерно и на максимальной скорости).

- Дескретизация 12 бит это много 16MHz/4096 = 3906,25Hz - максимально возможная частота.

В конечном итоге убрал это конвертирование float в понятный ЦАП код, но скорость передачи осталась та же. Будем искать другой ЦАП =) 
Всем спасибо за ответы. 

0

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


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

Зачем другой ЦАП? Нужна скорость более 1МГц?

0

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


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

Чтоб ступеньки по выходу глаза не мозолили, фильтр ставят. Та же АД9850 с частотой 125 МГц, по выходу гарантировано 40 МГц , 1/3. Т.е. для МСР4921 примерно 0.6 МГц, хотя без ДМА АтМега больше 150 кГц в прерывание нырять не сможет, так что ЦАП по быстродействию х4 с запасом 

0

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сообщения

    • WiFi ESP8266. Nodemcu Lua для ESP-01. Управление нагрузками по web интерфейсу

      Довольно широко известно, что компания Espressif выпускает крайне недорогие модули WiFi, стоимость составляет порядка 2-3 долларов за один модуль. Кроме дешевизны, да и благодаря ей, на основе WiFi модулей ESP8266 развиваются инструменты программирования и управления, доступные каждому желающему. Первым модулем ESP8266 был выпущен ESP-01, особенностями которого являются малый размер, встроенная PCB антенна и всего два доступных порта ввода – вывода. Построен этот модуль по аналогии с популярным NRF24L01. Далее модули, пройдя некоторый путь эволюции, стали выпускаться в несколько другом форм факторе:

      С одной стороны такие модули как ESP-07 более удобные и имеют большее количество портов ввода – вывода, но занимают большее посадочное место. Поэтому, кажется, устаревший формат ESP-01 все же проще использовать в несложных проектах, для которых компактность имеет не последнее значение, так как для подключения только необходимо место для восьми штырьков. Справедливости ради стоит отметить, что из-за этого конструкция с модулем ESP-01 будет выше.

      На сегодняшний день существует несколько способов программировать модули ESP8266 и управлять ими: по умолчанию настройка и управление происходит посредством AT команд, можно также перепрошить модуль nodemcu и писать прошивки на lua, а можно воспользоваться средой программирования Arduino последних версий, где этот модуль WiFi поддерживается. Каждый способ имеет свои плюсы и минусы и имеет право на существование.

      Достаточно интересным вариантом является использование nodemcu по причине своей простоты. Попробуем сделать устройство, управляющее нагрузками по сети WiFi.

      ➡ Читать далее: http://cxem.net/arduino/arduino175.php
    • Например, какой фрагмент кода указывает на то, что необходимо засветить только нижний слой из 16-ти светодиодов? 
    • Иван, Я думаю, этанолоперегонного устройства
    • Привет всем! Решил собрать 12 > 19 по схеме Старичка , (вернее собрал и запустил, работает ), но проблема с дросселями, а вернее в их расчете (сейчас стоят от балды намотанные) Есть желтые кольца от ибп компов, и не знаю какой материал указать в программе для расчета Кому не сложно подскажите пожалуйста. Да и вообще в той ли я программе рассчитываю?
    • Электронного усилителя может?