Jump to content
Sign in to follow this  
awpe01

Подбор Ацп Для Резольвера

Recommended Posts

Здравствуйте,

делаю устройство для ЧПУ станка, помогите пожалуйста подобрать модуль АЦП.

Входной сигнал идёт с ОУ, могу настроить его на любую амплитуду, изначальный сигнал (до ОУ) это синус с амплитудой 1В, и максимальной частотой 20кГц, передаётся по дифф. паре поэтому стоит ОУ.

Нужно оцифровывать сигнал с эффективным разрешением 8бит, можно до 12.

передача результатов оцифровки по i2c/spi/пареллельная...

Скорость оцифровки от 20 миллионов выборок.

Источник опорного напряжения - любой.

Источник частоты АЦП - любой.

Питание в пределах 3.3В.

Корпус - любой.

Пока что смотрю в сторону AD9200JRSZ с тактированием от ПЛИС (которая тактируется от FXO-HC536R-60) в которой будут данные обрабатываться, и питанием от внутреннего ИОНа включенного на 2В, соответственно входной ОУ будет иметь такие резисторы чтобы в 2 раза увеличивать амплитуду входного сигнала.

Можете посоветовать аналоги АЦП?

В ПЛИС есть ФАПЧ, планирую генерировать 20МГц для АЦП, но в даташитах к ним советуют точные источники частоты использовать, вопрос насколько сигнал с ФАПЧ ПЛИСины будет сказываться на повторяемости измерений? Что можно улучшить если использовать внешний ИОН и отдельный источник частоты для АЦП (всмысле нужно ли это для моего случая с низкой частотой входного сигнала)?

Edited by awpe01

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Similar Content

    • By artos5
      Приветствую всех на этом форуме!
      Есть необходимость измерять сигнал при помощи данного АЦП. С помощью этого АЦП можно измерять 4 аналоговых не дифференциальных сигнала . Схема следующая:
      Schematic_Temp_opto_sens_V2_20190817124112.pdf
      Картинками с более низким разрешением:
      библиотеку за основу взял эту:
      https://github.com/nsaspook/nidaq700/blob/master/supermoon/example/ADS1220.c
      Путем незначительного допиливания, получилась такая библиотека:
       
      Поправил только эти функции:
      void ADS1220SendByte(unsigned char Byte) { unsigned char Result = 0x01, i=0, flg=0; MOSI_LO; Delay_us(1); for(i=0;i<8;i++) { SCK_LO; //ADC_CLK=0 Delay_us(4); if (flg) MOSI_LO; Delay_us(1); SCK_HI; //ADC_CLK=1 Delay_us(1); if (Byte&Result){ MOSI_HI; flg=1; } else MOSI_LO; Delay_us(4); Result<<=1; } SCK_LO; //ADC_CLK=0 } unsigned char ADS1220ReceiveByte(void) { unsigned char Result = 0, i=0; for(i=0;i<8;i++) { Result<<=1; SCK_LO; //ADC_CLK=0 Delay_us(5); //Delay_us(5); SCK_HI; //ADC_CLK=1 Delay_us(3); if (MISO) Result++; Delay_us(2); } SCK_LO; //ADC_CLK=0 return Result; } И добавил эту функцию:
      void ADS1220Config_MUX_GAIN(uint8_t mux, uint8_t gain) { unsigned Temp; ADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &Temp); // clear prev value; Temp &= 0x0f; Temp |= gain; Temp |= mux; // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_0_REGISTER, 0x01, &Temp); ADS1220ReadRegister(ADS1220_1_REGISTER, 0x01, &Temp); // clear prev DataRate code; Temp &= 0x1f; Temp |= (ADS1220_DR_600 + ADS1220_CC); // Set default start mode to 600sps and continuous conversions // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_1_REGISTER, 0x01, &Temp); } ADS1220.h :
      в результате получаю такую осциллограмму :

      То есть , постоянно считывается 0.
      А вот регистры конфигурации:
      Задаю номер входа MUX и усиление :
       

       
      Читаю данные так:
      ADS1220Config_MUX_GAIN(ADS1220_MUX_0_G, ADS1220_GAIN_1); HAL_Delay(10); temp_[0] = ADS1220ReadData(); Это для 0 канала. 
      Пробовал и так:
      ADS1220SetChannel(ADS1220_MUX_0_G); ADS1220SetGain(ADS1220_GAIN_1); temp_[0] = ADS1220ReadData(); Результат аналогичный. Кто что подскажет? Может кто заметит какой косяк в коде? Уже голова дымит ..
    • By alexhd
      Здравствуйте, уважаемые форумчане! 

      Собрал станок на сборке Arduino + CNC Shield v3.0 + A4988. Прошил на ардуинку GRB 0.9j, настроил на шаговиках токи с помощью подстроечного резистора драйверов A4988. Через Universal_G_code ардуинку видит, все шаговики вращаются, все оси перемещаются. Далее в прошивке указал количество шагов на миллиметр. Больше ничего не менял, так как концевиков щупов и т.д. в станке не имеется. Работать пробую через Candle 1.1.7, но при нажатии на кнопки перемещения оcей в  этой программе станок стоит на месте. COm порт указан верно,ардуинку программа видит, но шаговики не вращаются.
      Неожиданно для себя обнаружил, когда нажимаю в Candle кнопку Z-щуп станок перемещает ось Z вниз. Но не одна из остальных команд не работает.

      Подскажите, пожалуйста, в какую сторону копать
    • By pryanic
      Доброго времени суток. Понадобилось разобраться с АЦП.  Основной материал использовал Евстифеева (микроконтроллеры семейства мега) и учебный курс Di-Halt.
      На первый раз задача простая - обработать напряжение с переменного резистора и послать по UART в терминал. С терминалом уже кое-что делал, так что тут вряд ли косяк есть.
      Кратко опишу программу: каждую секунду в обработчике прерывания таймера (не совсем точно, прерывание по переполнению Т0) запускаю преобразование АЦП установкой в 1 бита ADSC. 
      В обработчике прерывания АЦП читаю байт ADCH (выравнивание по левому краю ADLAR=1) и шлю по уарт. Но в терминал приходят одни FF независимо от положения движка потенциометра (подключен к PC1 средним контактом, крайними на землю и AVCC)
       
       
      ADC_test.zip
    • By dav1977
      Кто-нибудь запускал скоростные  АЦП  AD7606(последовательного приближения)
       в последовательном режиме считывания данных ?,
      из 4 шт одна заработала, остальные на выводе последовательного вывода DOUT ничего не выдают постоянно 0.
      пробовал переключаться с внутренним опорным источником(выдает 2.49), и с внешним без разницы.
      Может у них есть какая то очередность включения?
       

    • By dommax
      Распродаю остатки радиодеталей.
      Для удобного поиска написал WEB страничку http://detali.syremo.com.ua/
      Количество может не совпадать. Пишите - отвечу. Договоримся...
      Отправляю только по Украине. Перед отправкой смогу сделать фото.
  • Сообщения

    • у меня есть пароль, на файл - без конца. Могу по тихому тебе продать, за 100 рублей. Пиши в личку... личку вряд ли кто прочтёт и никто не узнает, что ты пароль попросил... поторопись - завтра будет дороже.  
    • - Вы когда нибудь видели детектор лжи? - Да я на нём женат!   Величайшим изобретением человечества по ремонту техники до сих пор считается кувалда. Только размахнешься - техника сразу начинает работать.
    • Не стоит вымещать свою злость беспричинно на других. Карма она такое знаете, возвращается. Понятно, что вы по нескольким темам лазаете, но я то тут причем. В теме это обсуждалось уже. Вы же и советовали, ваше же сообщение и процитировано ровно 1PgUp ранее. Классический форум на русском, собственно чего я удивляюсь  Так и скажите не знаю. Ладно, спасибо.
    • Спасибо, буду иметь ввиду.
    • Все новое-это хорошо забытое старое.  
    • Да много причин... Чтобы самому поразвлечься... Чтобы вы могли вспомнить молодость,  в частности те её счастливые времена,  когда вас дрючили за использование штангеля в качестве ключа... Чтобы кто-то  смог запостить фотку заводского стенда с  ужасными самопальными инструментами, или фотку нарезанной колбасы со штангелем... Чтобы Суханов, не долго думая,  мог сходу написать о возникшем у него желании пригвоздить меня ржавыми гвоздями с позорному столбу, а не искал бы по форуму подходящие посты, куда можно было бы хоть что-то запостить...Чтобы у народа  появился информациоонный повод для активности в теме... Чтобы тема жила... И.т.п. ЗЫ: Но не для того, чтобы заставить кого-то крутить гайки штангелем, или носить пакеты на микрометре. Как не глупый человек вы должны были бы догадаться, не заставляя меня  писать об этом в открытую.
  • Покупай!

×
×
  • Create New...