eeprom что это такое в кондиционере
Расшифровка и инструкции к кодам ошибок кондиционеров General Climate
Расшифровка кодов ошибок кондиционеров Дженерал климат дает возможность, не вызывая мастера из сервиса, устранить неполадки.
Коды ошибок кондиционеров General Climate, высвечиваемые на дистанционном управлении:
Коды ошибок на дисплеях
Некоторые ошибки можно исправить самостоятельно. Для устранения других придется обратиться к специалисту:
Коды ошибок сплит-систем типа S-HR
Даже у одного производителя оборудования, обозначения всегда различаются, потому следует внимательно изучать инструкцию и знать точную модель своего кондиционера и его блоков (внутреннего и внешнего). Только после данных действий можно подобрать точную расшифровку таких кодов на кондиционере как pre/def. Ниже представлена таблица как раз для такого случая.
Будьте внимательны, данные коды действительны для следующих моделей: S12HR, S09HR, S18HR, S07HR.
operation | timer | defrosting | В чем проблема |
моргает | не горит | моргает | На компрессор подается слишком высокое напряжение четыре раза подряд |
Не горит | моргает | моргает | Дольше минуты стоит вентилятор внутреннего модуля |
моргает | моргает | моргает | Стоит компрессор |
не горит | не горит | моргает | Нет контакта с температурным датчиком на трубах внутреннего модуля |
не горит | моргает | не горит | Нет контакта с температурным датчиком внутреннего модуля, измеряющим температуру в помещении |
on | моргает | не горит | Нарушение функции EEPROM |
Ошибка кондиционера General Climate для модели S24HR
operation | timer | defrosting | auto | В чем проблема |
моргает | моргает | моргает | моргает | Четырежды отмечено превышение напряжения на компрессоре |
Не горит | моргает | Не горит | Не горит | Не функционирует температурный датчик внутреннего модуля |
моргает | Не горит | Не горит | Не горит | Не функционирует температурный датчик на трубах внутреннего модуля |
Не горит | Не горит | моргает | Не горит | Не функционирует температурный датчик внешнего модуля |
Не горит | Не горит | моргает | моргает | Превышение напряжения на внешнем модуле или нарушена функция термистора |
Не горит | Не горит | Не горит | моргает | Нарушение функции EEPROM |
Ошибки кондиционеров Дженерал климат чаще всего появляются из-за несвоевременного сервисного обслуживания или нарушения правил пользования кондиционером.
ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ: ЕЕПРОМ
Забросил я уроки для начинающих, сегодня поговорим о EEPROM — энергонезависимой памяти.
Эта память одно из главных составляющих в функционале поделок на микроконтроллерах, любой начинающий микроконтроллерщик подходит к этапу освоения этой энергонезависимой памяти. Оно и ежу понятно, что сохранять настройки очень часто надо, нужно и без этого нельзя.
В даташитах все рассусолено сухим техническим языком про особенности работы еепром, я же остановлюсь на основополагающих правилах использования этой памяти, правильную на мой взгляд.
Объявляется еепром так же как и переменная, работают с еепром так же как с переменной, кроме некоторых но. Пример (Code Vision AVR):
unsigned char a; // объявляем беззнаковую переменную размером 8 бит
unsigned char eeprom eea; // объявляем «переменную» в еепром такого же типа, этого достаточно, всю остальную работу делает компилятор.
Переменную я обозвал в кавычках, ибо с ней можно обращаться как с обычной переменной, а в остальном она ведет себя по другому:
1. — значение хранимое в ЕЕПРОМ по умолчанию равно максимально возможному числу, в нашем случае после объявления в eea лежит число 255 или оно же 0xFF или оно же 0b11111111.
2- количество циклов стирания-записи у памяти ЕЕПРОМ относительно мало, поэтому нужно максимально ограничивать число записей в алгоритме программы.
Вот поучительная история про то, как фирма BLAUPUNKT лоханулась и проигнорировала второй пункт: www.audi.org.ua/materials/2954.html
3. Память ЕЕПРОМ самый тормозной тип данных, это нужно учитывать. Особенно при записи в ЕЕПРОМ. Можно получить каку, например, запихнув обработку еепром в прерываниях. В особо ответственных моментах можно использовать флаги состояния памяти ЕЕПРОМ, бывает очень полезно.
После обявления еепром и переменной я делаю команду присвоения числа из еепром в переменную, до начала основного цикла и как правило до начала работы прерываний:
После этого я верчу как хочу эту переменную, пишу в нее, читаю, используя ее в алгоритме и в нужный момент, когда нужно сохранить делаю так, чтоб данные закатились из этой переменной обратно в ЕЕПРОМ единожды:
Вот пример куска кода записи в ЕЕПРОМ:
unsigned char a; // объявляем беззнаковую переменную размером 8 бит
unsigned char eeprom eea; // объявляем еепром такого же типа,
unsigned char trig; // объявляем переменную, которая будет помнить, что кнопка нажата.
Далее идет основанная часть программы void main(void), в ней :
a=eea; // загоняем данные в с еепром в переменную
Далее идет главный цикл while(1) и в теле цикла:
if(key==1) // если кнопка настройки нажата, то:
<
trig=1; // включаем триггер, который запоминает, что кнопка нажата
a*b+b^2 ; //тут что то делаем нужное, когда кнопка нажата
>
else // если кнопка отжата
<
LED=1 ; //тут что то делаем нужное, когда кнопка отжата
if(trig) //если кнопка отжата и триггер включен, то:
<
eea=a; // пишем переменную а в еепром
trig=0; // сбрасываем триггер
>
>
Запись в ЕЕПРОМ срабатывает по отжатию кнопки единожды, когда триггер равен единице.
Работа с параметрами в EEPROM, как не износить память
Введение
Доброго времени суток. Прошлая моя статья про параметры в EEPROM была, мягко говоря, немного недопонята. Видимо, я как-то криво описал цель и задачу которая решалась. Постараюсь в этот раз исправиться, описать более подробно суть решаемой проблемы и в этот раз расширим границы задачи.
А именно поговорим о том, как хранить параметры, которые необходимо писать в EEPROM постоянно.
Особенность таких параметров заключается в том, что их нельзя писать просто так в одно и то же место EEPROM, вы просто израсходуете все циклы записи EEPROM. Например, если, необходимо писать время работы один раз в 1 минуту, то нетрудно посчитать, что с EEPROM в 1 000 000 циклов записей, вы загубите его меньше чем за 2 года. А что такое 2 года, если обычное измерительное устройство имеет время поверки 3 и даже 5 лет.
Кроме того, не все EEPROM имеют 1 000 000 циклов записей, многие дешевые EEPROM все еще производятся по старым технологиям с количеством записей 100 000. А если учесть, что 1 000 000 циклов указывается только при идеальных условиях, а скажем при высоких температурах это число может снизиться вдвое, то ваша EEPROM способно оказаться самым ненадежным элементом уже в первый год работы устройства.
Поэтому давайте попробуем решить эту проблему, и сделать так, чтобы обращение к параметрам было столь же простым как в прошлой статье, но при этом EEPROM хватало бы на 30 лет, ну или на 100 (чисто теоретически).
Итак, в прошлой статье, я с трудом показал, как сделать, так, чтобы с параметрами в EEPROM можно было работать интуитивно понятно, не задумываясь, где они лежат и как осуществляется доступ к ним
Для начала проясню, для чего вообще нужно обращаться по отдельности к каждому параметру, этот момент был упущен в прошлой статье. Спасибо товарищам @Andy_Big и @HiSER за замечания.
Если использовать способ, который предложил пользователь @HiSER- это будет означать, что для перезаписи одного параметра размером в 1 byte, я должен буду переписать всю EEPROM. А если алгоритм контроля целостности подразумевает хранение копии параметров, то для 200 параметров со средней длиной в 4 байта, мне нужно будет переписать 1600 байт EEPROM, а если параметров 500, то и все 4000.
Малопотребляющие устройства или устройства, питающиеся от от токовой петли 4-20мА должны потреблять, ну скажем 3 мА, и при этом они должны иметь еще достаточно энергии для питания модема полевого интерфейса, графического индикатора, да еще и BLE в придачу. Запись в EEPROM очень энергозатратная операция. В таких устройствах писать нужно мало и быстро, чтобы средний ток потребления был не высоким.
Очевидно, что необходимо, сделать так, чтобы микроконтроллер ел как можно меньше. Самый простой способ, это уменьшить частоту тактирования, скажем до 500 КГц, или 1 Мгц (Сразу оговорюсь, в надежных применениях использование режима низкого потребления запрещено, поэтому микроконтроллер все время должен работать на одной частоте). На такой частоте, простая передача 4000 байт по SPI займет около 70 мс, прибавим к этому задержку на сохранение данных в страницу (в среднем 7мс на страницу), обратное вычитывание, и вообще обработку запроса микроконтроллером и получим около 3 секунд, на то, чтобы записать один параметр.
Поэтому в таких устройствах лучше чтобы доступ к каждому параметру был отдельным, и обращение к ним должно быть индивидуальным. Их можно группировать в структуру по смыслу, или командам пользователя, но лучше, чтобы все они не занимали больше одной страницы, а их адреса были выравнены по границам страницы.
Как работать с EEPROM, чтобы не износить её
Те кто в курсе, можете пропустить этот раздел. Для остальных краткое, чисто мое дилетантское пояснение.
Как я уже сказал, число записей в EEPROM ограничено. Это число варьируется, и может быть 100 000, а может и 1 000 000. Так как же быть, если я хочу записать параметр 10 000 000 раз? И здесь мы должны понять, как внутри EEPROM устроен доступ к ячейкам памяти.
Итак, в общем случае вся EEPROM разделена на страницы. Страницы изолированы друг от друга. Страницы могут быть разного размера, для небольших EEPROM это, скажем, 16, 32 или 64 байта. Каждый раз когда вы записываете данные по какому-то адресу, EEPROM копирует все содержимое страницы, в которой находятся эти данные, во внутренний буфер. Затем меняет данные, которые вы передали в этом буфере и записывает весь буфер обратно. Т.е. по факту, если вы поменяли 1 байт в странице, вы переписываете всю страницу. Но из-за того, что страницы изолированы друг от друга остальные страницы не трогаются.
Таким образом, если вы записали 1 000 000 раз в одну страницу, вы можете перейти на другую страницу и записать туда еще 1 000 000 раз, потом в другую и так далее. Т.е. весь алгоритм сводится к тому, чтобы писать параметр не в одну страницу, а каждый раз сдвигаться в следующую страницу. Можно закольцевать эти действия и после 10 раз, снова писать в исходную страницу. Таким образом, вы просто отводите под параметр 10 страниц, вместо 1.
Анализ требований и дизайн
Все требования можно сформулировать следующим образом:
Пользователь должен задать параметры EEPROM и время обновления параметра
На этапе компиляции нужно посчитать количество необходимых страниц (записей), чтобы уложиться в необходимое время работы EEPROM. Для этого нужно знать:
Количество циклов перезаписи
Время обновления параметра
Время жизни устройства
Хотя конечно, можно было дать возможность пользователю самому задавать количество записей, но что-то я хочу, чтобы все считалось само на этапе компиляции.
Каждая наша переменная(параметр) должна иметь уникальный начальный адрес в EEPROM
Мы не хотим сами руками задавать адрес, он должен высчитываться на этапе компиляции
При каждой следующей записи, адрес параметра должен изменяться, так, чтобы данные не писались по одному и тому же адресу
Это также должно делаться автоматически, но уже в runtime, никаких дополнительных действий в пользовательском коде мы делать не хотим.
Мы не хотим постоянно лазить в EEPROM, когда пользователь хочет прочитать параметр
Обычно EEPROM подключается через I2C и SPI, передача данных по этим интерфейсам тоже отнимает время, поэтому лучше кэшировать параметры в ОЗУ, и возвращать сразу копию из кеша.
При инициализации мы должны найти самую последнюю запись, её считать и закешировать.
За целостность должен отвечать драйвер.
За алгоритм проверки целостности отвечает драйвер, если при чтении он обнаружил несоответствие он должен вернуть ошибку. В нашем случае, пусть в качестве алгоритма целостности будет простое хранение копии параметра. Сам драйвер описывать не буду, но приведу пример кода.
Ну кажется это все наши хотелки. Как и в прошлой статье давайте прикинем дизайн класса, который будет описывать такой параметр и удовлетворять нашим требованиям:
Посмотрим на то, как реализуются наши требования таким дизайном.
Пользователь должен задать параметры EEPROM и время обновления параметр
При каждой следующей записи, адрес параметра должен изменяться, так, чтобы данные не писались по одному и тому же адресу
Еще одной особенностью нашего противоизносного параметра является тот факт, что кроме самого значения, мы должны хранить еще и его индекс. Индекс нужен нам для двух вещей:
По нему мы будет рассчитывать следующий адрес записи
Для того, чтобы после выключения/включения датчика найти последнюю запись, считать её и проинициализировать значением по адресу этой записи кеширумое значение в ОЗУ.
Давайте посмотрим как реализован метод расчета текущего адреса записи:
Мы не хотим постоянно лазить в EEPROM, когда пользователь хочет прочитать параметр
Теперь самое интересное, чтобы проинициализировать копию в ОЗУ правильным значением, необходимо при запуске устройства считать все записи нашего параметра и найти запись с самым большим индексом. Наверняка есть еще разные методы хранения данных, например, связанный список, но использование индекса, показалось мне ну прямо очень простым.
В общем-то и все класс готов, полный код класса:
Результат
Собственно все, теперь мы можем регистрировать в списке любые параметры:
Что произойдет в этом примере, когда мы будем писать 10,11,12. 15 в наш параметр. Каждый раз при записи, адрес параметра будет смещаться на размер параметра + размер индекса + размер копии параметра и индекса. Как только количество записей превысит максимальное количество, параметр начнет писаться с начального адреса.
На картинке снизу как раз видно, что число 15 с индексом 5 записалось с начального адреса, а 10 теперь нет вообще.
В данном случае после сброса питания, при инициализации, будет найдена запись с индексом 5 и значением 15 и это значение и индекс будут записаны в кэшируемую копию нашего параметра.
Вот и все, надеюсь в этой статье цель получилось пояснить более детально, спасибо за то, что прочитали до конца.
Коды ошибок для всех марок кондиционеров и сплит систем
Не всегда для ремонта климатического оборудования необходимо вмешательство мастера. Многие ошибки настенных кондиционеров возможно исправить самостоятельно. Для этого надо просто вникнуть и узнать стандартные неполадки и как их исправить.
Коды ошибок кондиционеров Aeronik (Аэроник)
Коды ошибок кондиционеров Quattroclima (Кватроклима)
Индикатор RUN
Цифровой
дисплей
Причина и устранения неисправностей
Переключение в режим оттайки
Мигает 1 раз в секунду
dF
Не является ошибкой.
Служебная функция кондиционера, и её настройки не могут быть изменены.
Предотвращение подачи холодного воздуха
Мигает 1 раза в 3 секунды
Вентилятор внутреннего блока не вращается Не является ошибкой.
Служебная функция кондиционера, и её настройки не могут быть изменены.
Ошибка датчика температуры в помещении
Мигает 2 раза подряд каждые 4 секунды
Е2
1. Проверьте сопротивление датчика температуры, если сопротивление датчика не соответствует норме для текущей температуры, замените датчик.
2. Проверьте подключение датчика и целостность цепи
3. Плата управления неисправна, заменить плату.
Ошибка датчика температуры трубы
Мигает 3 раза подряд каждые 5 секунд
Е3
1. Проверьте сопротивление датчика температуры, если сопротивление датчика не соответствует норме для текущей температуры, замените датчик.
2. Проверьте подключение датчика и целостность цепи
3. Плата управления неисправна, заменить плату.
Ошибки кондиционеров
Все сплит системы, снабженные устройствами для самодиагностики, при случившейся неисправности выдают код ошибки. Не всегда для ремонта климатического оборудования необходимо вмешательство мастера. Многие ошибки настенных кондиционеров возможно исправить самостоятельно. Для этого надо просто вникнуть и узнать стандартные неполадки и как их исправить. Об этом ниже и будет рассказано в этой статье.
Распространенные неисправности кондиционеров
Неполадки бытовых сплит систем носят самый разнообразный характер. Имея в своем устройстве сложные механизмы по своей конструкции, данные приборы нуждаются в особом внимании со стороны владельца. И если вовремя оборудование не обслуживать, то неисправности сплит через какое-то время проявятся. Неполадок у такой техники может быть множество, но здесь будут выделены лишь основные, которые в целом можно характеризовать по следующим признакам:
Что делать если моргает ошибка кондиционера
Мигание лампочек на дисплее означает, что в кондиционере случилась какая-то неисправность. При этом необходимо срочно реагировать на это, поскольку игнорирование такого важного сигнала может привести к выходу из строя какого-либо составляющего узла устройства.
Таковой составной частью может быть, в лучшем случае, непроходимость дренажной трубки, а в худшем – неполадки в двигателе, компрессоре или электронной плате. Мигающие индикаторы предупреждают о неисправности, и в то же время препятствуют включению всего устройства.
При этом такое моргание сигнализирует о следующих неисправностях в системе:
Некоторые неполадки можно устранить своими силами, как, например, несоответствие напряжения (нужно подключить сплит через стабилизатор) и отвод конденсата (необходимо лишь выставить правильно уклон). Но по другим кодовым ошибкам рекомендуется сразу же вызывать специалистов из сервисного центра, так как промедление может привести к непредсказуемым последствиям.
Коды ошибок кондиционеров разных брендов
Вероятные неполадки климатического оборудования обнаруживают по кодам ошибок, расшифровка которых обычно пишется в сопроводительной инструкции к данному кондиционеру. Если моргает индикатор с указанием ошибки: F-1, F-2, F-3, F-4, F-5, F-6, F-7, и т. д., то причиной, скорей всего, являются неисправности в термодатчиках.
А в случае сигнализации кода Е-0 и E-L – нужно искать ошибку сплит в силовой части климатического устройства. При этом причины могут быть как по механике: заклинил вал электродвигателя из-за подшипника, так и по электрической части: короткое замыкание в цепи, нет сигнала на плате и т. д.
В таких случаях определенные датчики подают сигнал на панель управления. Она, в свою очередь, блокирует работу всей системы и одновременно подает сигнал через мигающую индикаторную лампочку на электронное табло. Ниже представлены в виде таблиц коды ошибок наиболее популярных моделей кондиционеров
Коды ошибок кондиционеров Aeronik
В сопроводительной инструкции данного кондиционера есть перечень кода ошибок, возникающих при эксплуатации этой климатической техники. Они инициируются на дисплее комнатного модуля и одновременно воспроизводятся на пульте управления. Определить, что обозначает тот или иной шифр, можно ниже из руководства:
Увеличенное давление в магистрали
Обмерзание теплообменника во внутреннем блоке