Ремонт электронных счетчиков
Добавлено: Ср ноя 09, 2016 08:44:05
Имеется трёхфазный счетчик "Энергия-9" СТК3-10А1H5.IK4 одесского завода "Телекарт-прибор", дата выпуска август 2005г. Анамнез его мне неизвестен, известно только что вышел из строя он давно. При подаче питания на дисплее отображается надпись "Err_crc".
Счетчик трехфазный, поэтому имеет 3 канала измерения напряжения и 3 канала измерения тока.
Датчики тока выполнены на трансформаторах тока, далее сигнал нормируется схемой на двух ОУ LM224. Далее следует 3 канала преобразователя электроэнергии в число импульсов, выполненном на ADE7755.
Блок питания счетчика выполнен на TNY253P и вырабатывает напряжения +/- 12В для питания аналоговой части, гальванически отвязанный источник +12В для питания развязки интерфейса и +5В для питания цифровой части.
Всё управление выполнено на МК HT49R50A-1. Этот МК имеет встроенный драйвер ЖКИ, поэтому может быть подключен непосредственно к "голому" семисегментному цифровому ЖКИ, что в данном счетчике и реализовано. Нужно заметить, что вычислительной нагрузки на МК нет практически никакой, поскольку вся его работа - счёт импульсов от ADE7755. Данный МК не имеет перезаписываемой энергонезависимой памяти, поэтому в схему введена микросхема EEPROM 93С46, из которой происходит чтение данных для инициализации при подаче напряжения питания и в которую записываются данные при снятии напряжения питания.
В приборе есть интерфейс RS-232 и поверочный выход.
Логично предположить, что при инициализации МК читает содержимое EEPROM, вычисляет его CRC и сравнивает опять же с прочитанным из памяти значением. Но по неизвестной причине очевидно повреждены данные, хранящиеся в EEPROM 93С46, и теперь счетчик не может правильно инициализироваться.
Был снят дамп с 93С46:
Как видно из дампа, бОльшая часть EEPROM пустая.
Были сняты диаграммы обмена данными между EEPROM и МК. Чтение из EEPROM происходит периодически и поблочно, сначала блок из 7 байт по адресам 0x2B - 0x31, затем 3 блока по 11 байт по адресам 0xA - 0x14, 0x15 - 0x1F и 0x20 - 0x2A. После данной процедуры чтения обновляется (мигает) надпись "Err_crc" на дисплее. Для ориентировки по содержимому EEPROM здесь и далее будет принята ситема сокращений:
- блок 1: 11 байт по адресам 0xA - 0x14;
- блок 2: 11 байт по адресам 0x15 - 0x1F;
- блок 3: 11 байт по адресам 0x20 - 0x2A
- блок 4: 7 байт по адресам 0x2B - 0x31;
- блок 5: 7 байт по адресам 0x32 - 0x38;
- блок 6: 7 байт по адресам 0x39 - 0x3F.
В исходном варианте последовательность чтения такова: блок4 - блок1 - блок2 - блок3.
Попробовал стереть EEPROM, с чистой последовательность такова: блок4 - блок5 - блок6 - блок1 - блок2 - блок3, и всё то же сообщение "Err_crc".
Возникает вопрос, можно ли как-нибудь "сбросить в ноль" этот счетчик, чтобы он проинициализировал EEPROM и начал нормально считать? Может быть у кого-нибудь есть нормальный дамп с этого счетчика?
Счетчик трехфазный, поэтому имеет 3 канала измерения напряжения и 3 канала измерения тока.
Датчики тока выполнены на трансформаторах тока, далее сигнал нормируется схемой на двух ОУ LM224. Далее следует 3 канала преобразователя электроэнергии в число импульсов, выполненном на ADE7755.
Блок питания счетчика выполнен на TNY253P и вырабатывает напряжения +/- 12В для питания аналоговой части, гальванически отвязанный источник +12В для питания развязки интерфейса и +5В для питания цифровой части.
Всё управление выполнено на МК HT49R50A-1. Этот МК имеет встроенный драйвер ЖКИ, поэтому может быть подключен непосредственно к "голому" семисегментному цифровому ЖКИ, что в данном счетчике и реализовано. Нужно заметить, что вычислительной нагрузки на МК нет практически никакой, поскольку вся его работа - счёт импульсов от ADE7755. Данный МК не имеет перезаписываемой энергонезависимой памяти, поэтому в схему введена микросхема EEPROM 93С46, из которой происходит чтение данных для инициализации при подаче напряжения питания и в которую записываются данные при снятии напряжения питания.
В приборе есть интерфейс RS-232 и поверочный выход.
Логично предположить, что при инициализации МК читает содержимое EEPROM, вычисляет его CRC и сравнивает опять же с прочитанным из памяти значением. Но по неизвестной причине очевидно повреждены данные, хранящиеся в EEPROM 93С46, и теперь счетчик не может правильно инициализироваться.
Был снят дамп с 93С46:
Как видно из дампа, бОльшая часть EEPROM пустая.
Были сняты диаграммы обмена данными между EEPROM и МК. Чтение из EEPROM происходит периодически и поблочно, сначала блок из 7 байт по адресам 0x2B - 0x31, затем 3 блока по 11 байт по адресам 0xA - 0x14, 0x15 - 0x1F и 0x20 - 0x2A. После данной процедуры чтения обновляется (мигает) надпись "Err_crc" на дисплее. Для ориентировки по содержимому EEPROM здесь и далее будет принята ситема сокращений:
- блок 1: 11 байт по адресам 0xA - 0x14;
- блок 2: 11 байт по адресам 0x15 - 0x1F;
- блок 3: 11 байт по адресам 0x20 - 0x2A
- блок 4: 7 байт по адресам 0x2B - 0x31;
- блок 5: 7 байт по адресам 0x32 - 0x38;
- блок 6: 7 байт по адресам 0x39 - 0x3F.
В исходном варианте последовательность чтения такова: блок4 - блок1 - блок2 - блок3.
Попробовал стереть EEPROM, с чистой последовательность такова: блок4 - блок5 - блок6 - блок1 - блок2 - блок3, и всё то же сообщение "Err_crc".
Возникает вопрос, можно ли как-нибудь "сбросить в ноль" этот счетчик, чтобы он проинициализировал EEPROM и начал нормально считать? Может быть у кого-нибудь есть нормальный дамп с этого счетчика?