Nikopol 0 8 апреля, 2019 Опубликовано 8 апреля, 2019 · Жалоба Доброго времени суток уважаемые коллеги. Сейчас занимаюсь разработкой дозатора для сыпучих материалов, в качестве АЦП для обработки сигнала с тензодатчика остановил свой выбор на AD7730. На данный момент произвожу написание драйера для работы с АЦП под STM32. Чтение и запись регистров освоил, режим одиночного чтения работает. Запустил режим непрерывного чтения из АЦП и вот тут у меня появились вопросы: 1. Я прочел в DS, что скорость формирования данных в регистре DR в режиме непрерывного преобразования, должна подчиняться формуле data rate = Fclk/16 * 1/3*SF. где SF значение записанное в регистре фильтра. У меня кварц на 2 Мгц. Так вот, я подцепил осциллограф на выход DRDY, частота на нем должно соответствовать data rate, а у меня при любых значениях SF там 81 Гц. Диапазон изменения SF до 2048. Почему так происходит или я что то не дочитал в DS? 2. Пока изготавливаются платы, ПО я отлаживаю на макетной плате с АЦП. К плате подключен тензодатчик на 5 кг 1 мВ /В, питание моста , так как и опорное напряжение 5 В. АЦП настроен на считывание 1-го канала с диапазоном -10 - 10 мВ, чопер отключен. При нажатии на датчик, но при этом я точно не создаю 5 кг АЦП начинает выдавать то все 1- на выходе, то "нормальное" значение, не ужели я загоняю АЦП за диапазон? А режиме униполярного входа АЦП вообще начинает постоянно выдавать ерунду. Если нужно могу вложить код и схему подключения к МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 8 апреля, 2019 Опубликовано 8 апреля, 2019 · Жалоба 1 час назад, Nikopol сказал: У меня кварц на 2 Мгц. Так вот, я подцепил осциллограф на выход DRDY, частота на нем должно соответствовать data rate, а у меня при любых значениях SF там 81 Гц. Диапазон изменения SF до 2048. Почему так происходит или я что то не дочитал в DS? а про 2 Мгц - это вы где-то прочитали или поставили что-то из своих соображений? в доке: "The AD7730 is specified with a clock input frequency of 4.9152 MHz while the AD7730L is specified with a clock input frequency of 2.4576 MHz." из инета: "I set the wrong value in the filter register. Now its value is 0x800010, that is 50 Hz output and CHOP mode." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivan24190 0 8 апреля, 2019 Опубликовано 8 апреля, 2019 (изменено) · Жалоба 3 hours ago, Nikopol said: Доброго времени суток уважаемые коллеги. Сейчас занимаюсь разработкой дозатора для сыпучих материалов, в качестве АЦП для обработки сигнала с тензодатчика остановил свой выбор на AD7730. На данный момент произвожу написание драйера для работы с АЦП под STM32. Чтение и запись регистров освоил, режим одиночного чтения работает. Запустил режим непрерывного чтения из АЦП и вот тут у меня появились вопросы: 1. Я прочел в DS, что скорость формирования данных в регистре DR в режиме непрерывного преобразования, должна подчиняться формуле data rate = Fclk/16 * 1/3*SF. где SF значение записанное в регистре фильтра. У меня кварц на 2 Мгц. Так вот, я подцепил осциллограф на выход DRDY, частота на нем должно соответствовать data rate, а у меня при любых значениях SF там 81 Гц. Диапазон изменения SF до 2048. Почему так происходит или я что то не дочитал в DS? 2. Пока изготавливаются платы, ПО я отлаживаю на макетной плате с АЦП. К плате подключен тензодатчик на 5 кг 1 мВ /В, питание моста , так как и опорное напряжение 5 В. АЦП настроен на считывание 1-го канала с диапазоном -10 - 10 мВ, чопер отключен. При нажатии на датчик, но при этом я точно не создаю 5 кг АЦП начинает выдавать то все 1- на выходе, то "нормальное" значение, не ужели я загоняю АЦП за диапазон? А режиме униполярного входа АЦП вообще начинает постоянно выдавать ерунду. Если нужно могу вложить код и схему подключения к МК. Во вложении тестовый проект для AD7730 (рабочий, Keil 4.74), Вас интересует все файлы в папке \Lib\AD7730_drv_v1.x. Вдруг пригодится... (Если нужно, то могу отправить описание на микросхему на русском по почте, сюда выложить не удается пишет ошибка -200) Tensometer_1.4.zip Изменено 8 апреля, 2019 пользователем ivan24190 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikopol 0 9 апреля, 2019 Опубликовано 9 апреля, 2019 (изменено) · Жалоба 14 hours ago, Jury093 said: а про 2 Мгц - это вы где-то прочитали или поставили что-то из своих соображений? в доке: "The AD7730 is specified with a clock input frequency of 4.9152 MHz while the AD7730L is specified with a clock input frequency of 2.4576 MHz." из инета: "I set the wrong value in the filter register. Now its value is 0x800010, that is 50 Hz output and CHOP mode." Поставил из соображений, того, что в таблице timing характеристик (стр. 47 DS) указан диапазон допустимых частот тактирования от 1 -5 МГц, ну и из-за того, что другого просто нет под рукой. Собственно каким образом АЦП понимает, что его тактируют не "той" частотой? Т.е. Вы считаете, что проблема в тактовой частоте? Тогда встречный вопрос, на AD7714 в DS также указан кварц на 2.4576 Mhz, но при тактировании его от 2 МГц, все работает как нужно и data rate управляется согласно описания. ivan24190, спасибо, посмотрю Ваш код. Если не затруднит, то киньте доки на levichev.dmitry(dog)gmail.com Изменено 9 апреля, 2019 пользователем Nikopol Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 9 апреля, 2019 Опубликовано 9 апреля, 2019 · Жалоба 2 часа назад, Nikopol сказал: считаете, что проблема в тактовой частоте? Нет, Вас спрашивают, читали ли Вы табл.XIV. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikopol 0 9 апреля, 2019 Опубликовано 9 апреля, 2019 · Жалоба Конечно читал, не пойму к чему Вы клоните? Также смотрел и таблицу XV, где приведены частоты для стандартных кварцев, но как это отражает то, что при смене кварца АЦП постоянно выдает данные с одинаковой скоростью при любых вариантах значения SF? Давайте я чуть позже напишу, какие биты у меня в регистр устанавливаются, так будет проще друг друга понять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nikopol 0 11 апреля, 2019 Опубликовано 11 апреля, 2019 · Жалоба Прошу прощения, что долго не писал. Только смог добраться к проекту. Сегодня еще раз запустил код с подключенным осциллографом, картина следующая: - запуск в режиме непрерывного чтения со следующими параметрами канала: DR 100 Hz, CHOP = 1, Bipolar, 10 mV. В регистр Filter пишется следующее значение: 0x4E2000 На осциллограмме идет последовательность импульсов, но с разной частотой, т.е. идет пачка из 3-5 импульсов с нужной частотой, а затем идет длительная пауза и снова пачка из импульсов. Осциллограф пытается усреднить показания, отсюда и частота ниже, в данном случае показывает около 61 Гц. - запуск в режиме непрерывного чтения со следующими параметрами канала: DR 100 Hz, CHOP = 0, Bipolar, 10 mV. В регистр Filter пишется следующее значение: 0x1A0010 На осциллографе картина та же. На сайте AD есть excel файл с моделью фильтра в АЦП, там можно посмотреть как будут меняться характеристики в зависимости от параметров, так вот подставляя свои значения получаю желаемый результат, т.е. проблема не в содержимом конкретно данного регистра. Пишу пост, а параллельно экспериментирую, походу, осцил мой подгоняет, при большем времени развертки начинается какой то бред в отображении, уменьшил до 10 мс, все стало как надо, а я голову морочу и себе и людям. Буду дальше разбираться, думаю, что вопросы все же еще будут... PS Хочу выразить отдельную благодарность ivan24190 за предоставленный код и ман на русском. Все же Ваша реализация драйвера более глубже проработана, чем моя, возможно портирую под свои нужды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mg1234 0 24 августа, 2022 Опубликовано 24 августа, 2022 · Жалоба В 08.04.2019 в 18:55, ivan24190 сказал: Во вложении тестовый проект для AD7730 (рабочий, Keil 4.74), Вас интересует все файлы в папке \Lib\AD7730_drv_v1.x. Вдруг пригодится... (Если нужно, то могу отправить описание на микросхему на русском по почте, сюда выложить не удается пишет ошибка -200) Tensometer_1.4.zip 1017 кБ · 20 загрузок Не могли бы Вы отправить описание на микросхему на русском на почту alifanovd123(dog)gmail.com . Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться