|
ADE7758 баги или ... ?, кто еще по счетчикам баги какие знает ? |
|
|
|
Dec 5 2007, 07:32
|
Частый гость
 
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141

|
купили кит с этой МС, подключили к МК и начали ее мучать. Почти сразу вылез первый баг. При циклическом чтении регистров IRMS VRMS одного канала, их значение читается не правильно (скачет на порядки), изменение задержек и частоты обмена, не привели к положительному результату, при этом регистр температуры читался нормально. Было применено двойное чтение регистров, т.е. два раза подряд читался один и тот же регистр, в результате брался второй результат чтения, который всегда был стабилен. Второй баг вылез чуть позже. Подключил я активную нагрузку к киту, и давай подбирать PHCAL приводя реактивную энергию к нулю, и вот тут началось самое интересное, да, читаю регистры энергии в режиме со сбросом 2-3 раза в секунду, регистр реактивной энергии постоял около нуля и вдруг началось 0 -> 255 -> -256 -> 0 -> 255 -> -256 ..... естественно накопленная реактивная энергия тутже скакать начала. Увожу в любую сторону выравнивание фаз тока и напряжения, как тут же эти скачки пропадают и колебания регистра сводятся к амплитуде 1-2 единицы. Кто с подобным сталкивался. В AD написал, пока до них еще не дошло, вопросы наводящие задают, типа где купил, что купил итд, пытаются понять не китайское ли
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Dec 28 2007, 08:41
|
Участник

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

|
По признакам очень похоже на некорректную работу цифрового интерфейса. Так что нет смысла нечего мерить и устанавливать, будет читается ерунда. Проверяй как всегда времянку, количество тактовых импульсов, последовательность работы, инверсию байт и т.д.
|
|
|
|
|
Dec 28 2007, 09:10
|
Частый гость
 
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141

|
проверял и не раз, паузы не ставил разве что между битами, т.к. SPI аппаратный. Скорость менял, фронты крутил, связь только пропадала. И почему-то глюк чтения только у двух регистров одного канала, если читать разные, то глюка нет, т.е. AVRMS и BIRMS. Это говорит о глюке именно AD. Кстати, этот глюк вылез и в ADE7753.
А вот с энергиями глюк ни чем не объяснить, кроме как глюком AD.
|
|
|
|
|
Jan 16 2008, 05:23
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Использовали ADE7758, никаких глюков в чтении/записи не замечено. Если с чем и пришлось немного повозиться то это с вычислением/пониманием масштабных коэффициентов на путях_следования_сиглалов.
|
|
|
|
|
Jan 16 2008, 06:14
|
Частый гость
 
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141

|
Alex03 т.е. если читать регистры IRMS VRMS одного канала поочереди, то глюков не наблюдается с непонятными скачками их значений от выборки к выборке ? Или вы их не используете ? Мне например надо выводить на дисплей текущее значение тока и напряжения, а не только энергию считать. А вот если читать регистры каналов вперемешку, то проблемы нет.
А на счет масштабных коэффициентов, все проще будет сделано, для начала прикинуты эти коэффициенты, а потом откалиброваны, по каждому значению.
Кстати, а Вы калибровали МС, например PHCAL ? и каким образом ? я контролировал реактивку в режиме чтения со сбросом, о результате сообщил в начале темы.
|
|
|
|
|
Jan 16 2008, 10:21
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
При отладке я одни и теже регистры не читал по очереди, читал скопом несколько.  потом в штатном режиме читались активные мощности и ещё читалось/писалось только то, что запрошено извне (отладочно настроечный УАРТ). Задача была упрощённая - только активная мощность, небольшой разбег фаз был не критичен. Калибровали только напряжение и токи отдельно по фазам, т.е. приводили их к какимто попугаям Вольт и Ампер на ед. младшего разряда. Ну а масштаб мощности по документации - как произведение этих попугаев на масштабные коэффициенты цепочек блоков микросхемы - цифра она и есть цифра. Вопрос: а Вы минимум 1.1мкс между посылкой байта команды и чтением данных выдерживаете (t9 с figure 4)?
|
|
|
|
|
Jan 16 2008, 10:36
|
Частый гость
 
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141

|
я пробовал задержки между байтами вставлять, и между посылками. Толку ноль, ошибка повторяется. Вот осциллограмма обмена с счетчиком, если что разглядите  наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек. суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 16 2008, 11:45
|
Частый гость
 
Группа: Новичок
Сообщений: 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 интересует повторяемость.
|
|
|
|
|
Jan 17 2008, 04:09
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(Desenix @ Jan 16 2008, 21:06)  уже говорил и не раз, снижал как частоту клоков, так и паузы между байтами делал километровыми, не помогло. В том то и дело что пауза между байтами вам не поможет, ибо там нормируется время между конкретным (восьмым) спадом и следующим наростанием клока, а в вашем случае это время всегда пол периода тактовой. Цитата Если есть возможность, повторите эксперимент. Мне на это надо потратить пол дня (поиск всего железа и само тестирование) поэтому можно сказать нет возможности.  Цитата И потом, почему этот глюк проявляется только в той комбинации что я указал ? Ни Вы ни я не знаем как врутри микросхемы реализован SPI интерфейс, так что нечего тут гадать, а обмен по SPI должен соответствовать документации. При этом если у вас чтото не работало при другой полягности клока, то ищите в этом ошибку.
|
|
|
|
|
Jan 21 2008, 06:56
|
Частый гость
 
Группа: Новичок
Сообщений: 111
Регистрация: 23-06-04
Пользователь №: 141

|
повторил эксперимент вечером в ПТ, т.к не было времени отписаться пишу сегодня. Схему для кита на ADE7758 собирать не стал, провел эксперимент на ADE7753. Перевернул клоки, сдвинул фазу, обмен заработал, хотя в прошлый раз не получилось. После установки задержки между командой и данными в более чем 5мкс глюк с обменом пропал. Странно что он проявляется только с этими двумя регистрами. Если задержку уменьшать, до 2.5мкс, то проявляется эффект смешивания каналов, когда подаю на вход 220В, а ток 0, то в измерениях виден рост тока до 5А в пересчете(в норме показывает 0.05), а напряжение занижено 180В. Если же задержку между командой и данными убрать, то каналы путаются, т.е. напряжение около нуля, а ток очень большой, показания не помню, важна суть. Прям аналоговый регулятор выходит.
Остался баг с реактивной энергией при чтении со сбросом и переходе ее через ноль. Он решением проблемы чтения, не решается, поглядим что будет на новой МС.
|
|
|
|
|
Jan 21 2008, 11:54
|
Местный
  
Группа: Свой
Сообщений: 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мкс, так что Ваш опыт лишь подтверждает инфу из датиша.  (для 7758 >= 1.1мкс)
|
|
|
|
|
Aug 6 2008, 09:24
|
Участник

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

|
Цитата(Desenix @ Jan 16 2008, 13:36)  я пробовал задержки между байтами вставлять, и между посылками. Толку ноль, ошибка повторяется. Вот осциллограмма обмена с счетчиком, если что разглядите  наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек. суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм вроде - как-то была такая же ситуация с первым неправильным чтением, если при начале работы с ADE7758 в момент установки CS в "0" сигнал SCLK в этот момент находился в "1" (а не в "0" как на рисунках в даташите)....
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|