hsl73

Индикатор Топлива И Напряжения Акб Для Автомобиля

233 сообщения в этой теме

hsl73    23

Тема поддержки для статьи на сайте: Индикатор топлива и напряжения АКБ для автомобиля V.4

Такая же фигня: дисплей показывает зеркально. 4-я версия, дисплей китай "правильный", контакты шлейфа металлизированны с обоих сторон 1202. Подправьте пожалуйста прошивку для не фартовых.

Поскольку самому сейчас проверить не на чем, да и дисплеи те, что есть у меня все ведут себя "правильно", предлагаю желающим, собравшим 4-ю версию и у кого отображение зеркальное проверить несколько прошивок и отписатся о результатах. В архиве 5 вариантов комплектов файлов *.hex и *.epp все они попарно пронумерованы, хотя EEPROM у них у всех одинаковый, но на всякий случай приложены каждый от своей прошивки. Если у Вас индикатор уже откалиброван, просто сохраните текущий EEPROM, его в принципе можно использовать с любой из тестовых прошивок.

test.rar

Изменено пользователем admin

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
zakhar8318    0

Спасибо за ваши труды и отзывчивость , но ничего не поменялось. все прошивки показывают зеркально , кроме 20z она вообще не работает, через несколько сек. включается подсветка, а на дисплее пусто.

Изменено пользователем zakhar8318

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

Интересно, вообще 20z это как раз без команды зеркального отражения, ок, попробуйте еще три варианта.

Test2.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
zakhar8318    0

здравствуйте ! С Test2 прошивки не работают, светится одна подсветка :unknw: . Думал на плате , что-то отвалилось зашил стандартной прошивкой V.4 все заработало,только зеркально :help: .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

Как я уже писал библиотеки в 3 и 4 версии идентичны, для включения зеркального режима (зеркального относительно "нормальных" дисплеев) нужно в инициализации дисплея

void lcd_init(void)

закоментировать 2 строки:

lcd_write(CMD,0xC8); //- mirror Y axis (about X axis)
lcd_write(CMD,0xa1); // Invert screen in horizontal axis

Можно также вначале добавить команды

lcd_write(CMD,0xE2);
lcd_write(CMD,0xEF);
lcd_write(CMD,0x04);
lcd_write(CMD,0xD0);

Хотя я от них никакого эффекта не наблюдал

И еще один параметр, задержка в начале инициализации delay_ms(50)

tmp = 1<<cs;		
LCD_PORT &= tmp;
tmp = 1 << rst;	
LCD_PORT &= ~ tmp;
delay_ms(50);

Это не касается зеркального отображения, а влияет на запуск дисплея в целом, эту задержку для разных дисплеев нужно подбирать, 50 мс это для дисплеев 1110, а для 1202 примерно 10 мс

Изменено пользователем hsl73

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

hsl73, спасибо за помощь. Но он гад так и не запустился. Второй, что дороже работает так, как надо. В подтверждение своих слов пару фото.

post-176331-0-85453500-1385748225_thumb.jpg

post-176331-0-40528500-1385748244_thumb.jpg

Плохой работать не хочет. Думаю паленый. Но тут загружаю Test3.rar.

post-176331-0-61204000-1385748232_thumb.jpg

Он запустился. Но частота контроллера в 2 раза ниже. При 8 Мгц он не работает. В любом случае спасибо за помошч. Покупать такие больше не буду.

Изменено пользователем Вася111111

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

...частота контроллера в 2 раза ниже...

Интересный момент, а изменением задержки описанной мною выше не пробовали запустить на частоте 8МГц?

Хотя если визуально на 4МГц вывод на дисплей не тормозит то можно использовать и на такой частоте, в программе нет каких либо принципиальных временных привязок.

Если есть желание то есть еще одно место где можно попробовать поковырять, в функции

void lcd_write(char cd,unsigned char c)

Есть строка

delay_us(20); //Delay10TCYx(20);

Это задержка между отпрявляемыми командами, в 4-й версии стоит 35, этот параметр похоже тоже нужно подбирать под конкретный дисплей.

Изменено пользователем hsl73

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

Не поделитесь библиотекой 1202 для CVAVR?

Вы предыдущие посты читаете?

Во первых библиотек под контроллер дисплея PCF8814 в интернете море, вернее библиотека одна и та же, ибо нечему там различаться, но примеров куча.

Во вторых

...Как я уже писал библиотеки в 3 и 4 версии идентичны...

А исходники 3-й версии мною выложены.

Ну и в третьих, исходники последней версии ни в каком виде выкладываться не будут, это не обсуждается.

А если, что то конкретно непонятно, спрашивайте, если знаю подскажу.

Изменено пользователем hsl73

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
voloshroman    0

Добрый день! Вопрос: А у Вас есть другие разработки для авто? Например одометр или еще что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

Нет другие приборы не делал, а вообще для авто, блок управления ДХО, часы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sanyasanya    0

...частота контроллера в 2 раза ниже...

Интересный момент, а изменением задержки описанной мною выше не пробовали запустить на частоте 8МГц?

Хотя если визуально на 4МГц вывод на дисплей не тормозит то можно использовать и на такой частоте, в программе нет каких либо принципиальных временных привязок.

Если есть желание то есть еще одно место где можно попробовать поковырять, в функции

void lcd_write(char cd,unsigned char c)

Есть строка

delay_us(20); //Delay10TCYx(20);

Это задержка между отпрявляемыми командами, в 4-й версии стоит 35, этот параметр похоже тоже нужно подбирать под конкретный дисплей.

А мне так помогло

void lcd_init(void){

unsigned char tmp;

tmp = 1<<cs; //cs = 1;

LCD_PORT &= tmp;

delay_ms(25);

tmp = 1 << rst; //rst = 0;

LCD_PORT &= ~ tmp;

delay_ms(25); // 5mS so says the stop watch(less than 5ms will not work)

tmp = 1<<rst;

LCD_PORT |= tmp; //rst = 1;

delay_ms(25);

lcd_write(CMD,0x20); //- write VOP register

lcd_write(CMD,0x90); // контраст 0x90 0x9f

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

...А мне так помогло...

Интересный подход, а это минимальные рабочие значения?

Тут кстати есть еще один момент, команды инициализации на дисплей нужно подавать только после того как на нем появится питающее напряжение, если после стабилизатора на 3.3в поставить слишком большой электролит то он при включении может не успеть зарядится до необходимого уровня и команды инициализации пройдут раньше. В принципе этот конденсатор можно без ущерба уменьшить в разы или увеличить емкость в цепи начального сброса МК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sanyasanya    0

...А мне так помогло...

Интересный подход, а это минимальные рабочие значения?

нет, и на 5мс работает

крену на три вольта не использую а с пяти вольт последовательно два диода 4147 и к индикатору

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
serenbkii    2

Исходников я что-то не увидел, только прошивки. В сети библиотек под cvavr мне найти тоже не удалось. Если жаба душит за свои исходники и нет желания оказать помощь, то какого хрена тебе, барыге, вообще на форуме делать? Мне кажется форум для того и создан, или я ошибаюсь? Иди продавай свои индикаторы топлива, глядишь на семерку с нерабочим штатным индикатором и заработаешь.

Изменено пользователем serenbkii

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

ок, проехали

Изменено пользователем hsl73

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
serenbkii    2

Извиняюсь, что нагрубил. Видимо не те файлы качал. Test2, test3 качал, там только прошивки. Почему закралась мысль про барыгу- есть пару ресурсов, где очень часто такое встречается. Вот и подумал на вас то же самое. Да и исходники мне не нужны, мне нужны только библиотеки для работы с дисплеем. И я вовсе не попрошайка, сам учусь всё делать, зачем что-то просить, если можно самому всё сделать и получить бесценный опыт? На грубость натолкнуло ваше во первых, во вторых, в третих и то, что вы выставляете меня тупым ни на что не способным лентяем. Поверьте, я по два раза все файлы в теме перекачал и ничего в них не нашёл перед тем как задать вопрос. Если бы нашел что искал, то и писать бы в тему ничего не стал, кстати в гугле не забанен, сюда с гугла пожаловал. Ещё раз извиняюсь, палку сильно перегнул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

...качал. Test2, test3...

Там естественно только прошивки, все основное в статье по ссылке в начале топика.

...мне нужны только библиотеки для работы с дисплеем...

да собственно это и есть часть исходника просто выделенная в отдельный файл

...И я вовсе не попрошайка, сам учусь всё делать, зачем что-то просить, если можно самому всё сделать и получить бесценный опыт?...

Согласен, порой проще свой код написать, чем разобратся в чужом, однако в качестве примера чужой код тоже бывает полезен, поэтому рекомендую почитать эту статью _http://digitalchip.ru/podklyuchenie-displeev-nokia-1110-1110i-1200-1202-1203-1112-1116-2660-2760-6085 очень подробно и доходчиво расписано как работать с этими дисплеями, да код там не под cvavr, но в части самой библиотеки разницы в синтаксисе практически нет, сравинте саму библиотеку, что там приводят с той, что используется у меня, оформление немного другое но суть одна и та же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
serenbkii    2

Спасибо. Статью читал по дисплеям. Теперь понял где искать библиотеку. Так же на ваших исходниках посмотрю примеры работы с дисплеем. Вот так из за обычного непонимания вырастают конфликты. Ещё раз дико извиняюсь, не знаю что на меня нашло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
_Naga    24

Собрал вторую версию, все работает как часы! Но у меня проблема с контрастом дисплея. Значит, проблема состоит в том, что "черная точка" довольно насыщенная, а вот "белое пространство" совсем не белое, а серое (простите за примитивный говор). Вот ломаю голову, в чем может быть проблема. Напряжения все согласно схемы. Еще заметил, что фон "сереет" через долю секунды после выхода из меню или другой смены картинки. Все детали по номиналу, кроме електолитов (номинал больше чем на схеме). Присмотрел, что в 4й версии есть регулировка контраста - может и во второй можно программно подкрутить? Или проблему в другом месте искать? Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
hsl73    23

...может и во второй можно программно подкрутить? Или проблему в другом месте искать?...

Дисплей я так понимаю какой то из 1100/1110/1110i? Есть у них программная настройка контрастности, но она уже стоит на максимуме, это у них такая особенность, именно так работают "левые" дисплеи 1100/1110/1110i, по моим наблюдениям как минимум 50% а может и более вот такие, пытался я в свое время заставить их нормально работать аппаратными методами, уровнями питающих напряжений, различными уровнями управляющих сигналов, так ничего и не вышло, нормальных, контрастных дисплеев у меня было всего несколько штук. Может быть можно еще и как то программно на них повлиять, но в купе с тем что их еще очень геморойно подключать, ответных частей разъемов практически не найти, а паять их еще то удовольствие, поэтому я от них отказался в пользу 1202.

Ко 2-й версии вполне можно прикрутить плату дисплея от 4-ой, с дисплеем 1202, единственное, может быть придется подправить задержки при инициализации дисплея, а может и так заработает.

Изменено пользователем hsl73

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
sanyasanya    0

Собрал вторую версию, все работает как часы! Но у меня проблема с контрастом дисплея. Значит, проблема состоит в том, что "черная точка" довольно насыщенная, а вот "белое пространство" совсем не белое, а серое (простите за примитивный говор). Вот ломаю голову, в чем может быть проблема. Напряжения все согласно схемы. Еще заметил, что фон "сереет" через долю секунды после выхода из меню или другой смены картинки. Все детали по номиналу, кроме електолитов (номинал больше чем на схеме). Присмотрел, что в 4й версии есть регулировка контраста - может и во второй можно программно подкрутить? Или проблему в другом месте искать? Заранее спасибо.

LCD_PORT |= tmp; //rst = 1;

lcd_write(CMD,0x20); //- write VOP register

lcd_write(CMD,0x90); // контраст 0x80 0x9f --------------------------------------- тут подбирай от 80 до 9f

lcd_write(CMD,0xA4); //- all on/normal display A4/A5

lcd_write(CMD,0x2F); //- Power control set(charge pump on/off)

lcd_write(CMD,0x40); //- set start row address = 0

lcd_write(CMD,0xb0); //- set Y-address = 0

lcd_write(CMD,0x10); //- set X-address, upper 3 bits

lcd_write(CMD,0x00); //- set X-address, lower 4 bits

lcd_write(CMD,0xC8); //- mirror Y axis (about X axis)

lcd_write(CMD,0xa1); // Invert screen in horizontal axis

lcd_write(CMD,0xac); //- set initial row (R0) of the display

lcd_write(CMD,0x07);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас