реклама на сайте
подробности

 
 
> ADE7758 баги или ... ?, кто еще по счетчикам баги какие знает ?
Desenix
сообщение Dec 5 2007, 07:32
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



купили кит с этой МС, подключили к МК и начали ее мучать.

Почти сразу вылез первый баг.
При циклическом чтении регистров IRMS VRMS одного канала, их значение читается не правильно (скачет на порядки), изменение задержек и частоты обмена, не привели к положительному результату, при этом регистр температуры читался нормально. Было применено двойное чтение регистров, т.е. два раза подряд читался один и тот же регистр, в результате брался второй результат чтения, который всегда был стабилен.

Второй баг вылез чуть позже.
Подключил я активную нагрузку к киту, и давай подбирать PHCAL приводя реактивную энергию к нулю, и вот тут началось самое интересное, да, читаю регистры энергии в режиме со сбросом 2-3 раза в секунду,
регистр реактивной энергии постоял около нуля и вдруг началось 0 -> 255 -> -256 -> 0 -> 255 -> -256 .....
естественно накопленная реактивная энергия тутже скакать начала.
Увожу в любую сторону выравнивание фаз тока и напряжения, как тут же эти скачки пропадают и колебания регистра сводятся к амплитуде 1-2 единицы.

Кто с подобным сталкивался.
В AD написал, пока до них еще не дошло, вопросы наводящие задают, типа где купил, что купил итд, пытаются понять не китайское ли smile.gif
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
VadimPlotnikov
сообщение Dec 28 2007, 08:41
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 20-03-07
Из: Красноярск
Пользователь №: 26 321



По признакам очень похоже на некорректную работу цифрового интерфейса. Так что нет смысла нечего мерить и устанавливать, будет читается ерунда. Проверяй как всегда времянку, количество тактовых импульсов, последовательность работы, инверсию байт и т.д.
Go to the top of the page
 
+Quote Post
Desenix
сообщение Dec 28 2007, 09:10
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



проверял и не раз, паузы не ставил разве что между битами, т.к. SPI аппаратный. Скорость менял, фронты крутил, связь только пропадала.
И почему-то глюк чтения только у двух регистров одного канала, если читать разные, то глюка нет, т.е. AVRMS и BIRMS.
Это говорит о глюке именно AD.
Кстати, этот глюк вылез и в ADE7753.

А вот с энергиями глюк ни чем не объяснить, кроме как глюком AD.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 16 2008, 05:23
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Использовали ADE7758, никаких глюков в чтении/записи не замечено.
Если с чем и пришлось немного повозиться то это с вычислением/пониманием масштабных коэффициентов на путях_следования_сиглалов. smile.gif
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jan 16 2008, 06:14
Сообщение #5


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



Alex03 т.е. если читать регистры IRMS VRMS одного канала поочереди, то глюков не наблюдается с непонятными скачками их значений от выборки к выборке ? Или вы их не используете ?
Мне например надо выводить на дисплей текущее значение тока и напряжения, а не только энергию считать.
А вот если читать регистры каналов вперемешку, то проблемы нет.

А на счет масштабных коэффициентов, все проще будет сделано, для начала прикинуты эти коэффициенты, а потом откалиброваны, по каждому значению.

Кстати, а Вы калибровали МС, например PHCAL ? и каким образом ? я контролировал реактивку в режиме чтения со сбросом, о результате сообщил в начале темы.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 16 2008, 10:21
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



При отладке я одни и теже регистры не читал по очереди, читал скопом несколько. smile.gif
потом в штатном режиме читались активные мощности и ещё читалось/писалось только то, что запрошено извне (отладочно настроечный УАРТ). Задача была упрощённая - только активная мощность, небольшой разбег фаз был не критичен. Калибровали только напряжение и токи отдельно по фазам, т.е. приводили их к какимто попугаям Вольт и Ампер на ед. младшего разряда. Ну а масштаб мощности по документации - как произведение этих попугаев на масштабные коэффициенты цепочек блоков микросхемы - цифра она и есть цифра.

Вопрос: а Вы минимум 1.1мкс между посылкой байта команды и чтением данных выдерживаете (t9 с figure 4)?
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jan 16 2008, 10:36
Сообщение #7


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



я пробовал задержки между байтами вставлять, и между посылками.
Толку ноль, ошибка повторяется.
Вот осциллограмма обмена с счетчиком, если что разглядите smile.gif
наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек.
суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 16 2008, 11:18
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Да в принципе видно, сначала читаеца AIRMS потом 2 раза AVRMS.

Времена какие не этом рисунке? Или хотябы какая частота SPI?
Что на входе напряжения фазы А? Напряжение и частота.
Какие конфигурационные регистры?
Мож переполнение гденить?



да и полярность клока в неактивном состоянии я бы сделал как в датише
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jan 16 2008, 11:45
Сообщение #9


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



какие напряжение, ток и частота, уже не помню, т.к. это с кита снималось, и уже давно. Ток снимали через трансформатор 1:1000 и был он около 0.47А, резистор шутна 24Ом, напряжение было 6В, но делитель доработан, вместо 1К стоял 24Ом, а вместо 499к было вроде 1К. Могу ошибаться.

Частота клоков, была вроде 1мбит. в принципе время реальное на диаграмме. Можно посчитать.

Этот же глюк с чтением проявился и на 7753.
В результате читаю первый раз в мусор значение, второй и последующие суммирую и считаю среднее арифметическое. Читаю регистры при переходе через ноль 50раз/сек, и раз в секунду обсчитываю результирующее значение.
Если при таком раскладе не выкидывать первый отсчет при каждом чтении регистра, то ошибка накапливается и потом на выходе получаю левый ошибочный рез-тат. Долго не мог понять почему I/VRMSOS-ом не могу занулить значения.

Самое интересное, что если читать так AIRMS - BIRMS - AVRMS - BVRMS то ошибки не наблюдается, но т.к. мне нужен был только один канал, то пришлось городить огород.

вот такие у меня регистры
cmd_adc(0x93, 0x00, 1); // ADE7758 (0x13) OPMODE
cmd_adc(0x94, 0x24, 1); // ADE7758 (0x14) MMODE
cmd_adc(0x95, 0x00, 1); // ADE7758 (0x15) WAVMODE
cmd_adc(0x96, 0x04, 1); // ADE7758 (0x16) COMPMODE
cmd_adc(0x97, 0x48, 1); // ADE7758 (0x17) LCYCMODE
cmd_adc(0x98, 0x00, 3); // ADE7758 (0x18) IMR
cmd_adc(0xA3, 0x00, 1); // ADE7758 (0x23) GAIN

другие по дефолту, не трогал.

Alex03 у меня к вам вопрос, могли бы вы проверить данный глюк у себя в железке, почитать в цикле AIRMS - AVRMS - AVRMS и сравнить результаты первого и последующего чтения подряд одного регистра ?
а так же AVRMS - AIRMS - AIRMS
интересует повторяемость.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 16 2008, 15:34
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Если частота клока 1МГц, то при Вашей полярности клока в неактивном состоянии - t9 в любом случае около 500нс, т.е. требование t9 > 1.1мкс Вы не выполняете.
Чтобы это проверить снизте скорость клока до 250кГц.
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jan 16 2008, 16:06
Сообщение #11


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



уже говорил и не раз, снижал как частоту клоков, так и паузы между байтами делал километровыми, не помогло.
Если есть возможность, повторите эксперимент.
И потом, почему этот глюк проявляется только в той комбинации что я указал ?
на счет клоков, давно пробовал другие режимы МК, в них не получал ответа от МС счетчика. Хотя завтра еще попробую, но сомневаюсь что это решит проблему. Ведь при чтении регистров в другой последовательности глюка не наблюдал.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 17 2008, 04:09
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Desenix @ Jan 16 2008, 21:06) *
уже говорил и не раз, снижал как частоту клоков, так и паузы между байтами делал километровыми, не помогло.

В том то и дело что пауза между байтами вам не поможет, ибо там нормируется время между конкретным (восьмым) спадом и следующим наростанием клока, а в вашем случае это время всегда пол периода тактовой.
Цитата
Если есть возможность, повторите эксперимент.

Мне на это надо потратить пол дня (поиск всего железа и само тестирование) поэтому можно сказать нет возможности. smile.gif
Цитата
И потом, почему этот глюк проявляется только в той комбинации что я указал ?

Ни Вы ни я не знаем как врутри микросхемы реализован SPI интерфейс, так что нечего тут гадать, а обмен по SPI должен соответствовать документации. При этом если у вас чтото не работало при другой полягности клока, то ищите в этом ошибку.
Go to the top of the page
 
+Quote Post
Desenix
сообщение Jan 21 2008, 06:56
Сообщение #13


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141



повторил эксперимент вечером в ПТ, т.к не было времени отписаться пишу сегодня.
Схему для кита на ADE7758 собирать не стал, провел эксперимент на ADE7753.
Перевернул клоки, сдвинул фазу, обмен заработал, хотя в прошлый раз не получилось. После установки задержки между командой и данными в более чем 5мкс глюк с обменом пропал. Странно что он проявляется только с этими двумя регистрами.
Если задержку уменьшать, до 2.5мкс, то проявляется эффект смешивания каналов, когда подаю на вход 220В, а ток 0, то в измерениях виден рост тока до 5А в пересчете(в норме показывает 0.05), а напряжение занижено 180В.
Если же задержку между командой и данными убрать, то каналы путаются, т.е. напряжение около нуля, а ток очень большой, показания не помню, важна суть. Прям аналоговый регулятор выходит.

Остался баг с реактивной энергией при чтении со сбросом и переходе ее через ноль. Он решением проблемы чтения, не решается, поглядим что будет на новой МС.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 21 2008, 11:54
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(Desenix @ Jan 21 2008, 11:56) *
Схему для кита на ADE7758 собирать не стал, провел эксперимент на ADE7753.
Перевернул клоки, сдвинул фазу, обмен заработал, хотя в прошлый раз не получилось. После установки задержки между командой и данными в более чем 5мкс глюк с обменом пропал. Странно что он проявляется только с этими двумя регистрами.
Если задержку уменьшать, до 2.5мкс, то проявляется эффект смешивания каналов, когда подаю на вход 220В, а ток 0, то в измерениях виден рост тока до 5А в пересчете(в норме показывает 0.05), а напряжение занижено 180В.
Если же задержку между командой и данными убрать, то каналы путаются, т.е. напряжение около нуля, а ток очень большой, показания не помню, важна суть. Прям аналоговый регулятор выходит.

Ну так для 7753 t9 >= 4мкс, так что Ваш опыт лишь подтверждает инфу из датиша. smile.gif
(для 7758 >= 1.1мкс)
Go to the top of the page
 
+Quote Post
Sergu
сообщение Aug 6 2008, 09:24
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 18-03-05
Пользователь №: 3 452



Цитата(Desenix @ Jan 16 2008, 13:36) *
я пробовал задержки между байтами вставлять, и между посылками.
Толку ноль, ошибка повторяется.
Вот осциллограмма обмена с счетчиком, если что разглядите smile.gif
наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек.
суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм


вроде - как-то была такая же ситуация с первым неправильным чтением, если при начале работы с ADE7758 в момент установки CS в "0" сигнал SCLK в этот момент находился в "1" (а не в "0" как на рисунках в даташите)....
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01479 секунд с 7
ELECTRONIX ©2004-2016