Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Моя версия ESR метра

Список форумов» Программное обеспечение» Микроконтроллеры
АвторСообщение
Ramil
Гость 95.78.*.*





07-02-2010 17:02

Пока только предварительная схема.
Принципиально ничем не отличается от схем подобных приборов которые уже есть в сети. Из того что то привнёс я, - это способ включения набора образцовых резисторов и способ включения синхронного детектора(в данном применении он работает как фазовый детектор). Вернее включение усилителя после ФД. На него подаётся смещение около 25мВ. При таком включении шкала АЦП будет использоваться практически полностью. Но т.к. выходное напряжение зависит от фазы приходящего сигнала и может быть отрицательным, а нам нужно только положительное, подано смещение. Попадание уровня напряжения в диапазон от 0 до 25 мВ будет служить сигналом к тому чтобы повернуть фазу опорного генератора ФД на 180 градусов и тем самым "перевернуть" полярность напряжения поступающего на АЦП. При этом из шкалы АЦП "исчезают" только 25 самых младших значений и мы получаем практически всю 10 битную шкалу. 25мВ будут означать уровень 0.
Образцовые резисторы коммутируются так что 2 резистора могут быть включенными последовательно. По схеме это 100К - 1К и 10К-100 Ом. Т.е. вместо сопротивления 100К и 10К будет 101К и 10.1К что даёт ошибку в 1%. Что не страшно.
Интересны ваши мнения.

Файл почему то не добавлялся.

  esr2.rar  48 КБ  Скачано: 820 раз(а)

pavel-pervomaysk
Your editor
Сообщения: 8037




07-02-2010 20:39

Ramil, задум хороший , пару поправок дам тебе по жки Nokia1110i ,

Соединять линии управления жки лучше через резистивные делители. Там уровень не должен превышать 2 вольта.
В питание жки ставить диод. При установки на обеих ногах 3 вольт , на некоторых жки нельзя получить нормальный контраст.
Вывод RESET подтянуть к + питания через 10к и добавить одну команду в инициализации ЖКИ.
Вывод CS лучше отвязать и кинуть напрямую , ибо иногда появляются глюки в виде мусора если его просто посадить на корпус.

4094 не знаю как , я бы советовал 74НС595 .

Собственно сам код для инита ЖКИ , обновленный на сегодня.


.equ lcd = PORTx //

init_lcd: // Инициализация ЖКИ модуля
ldi tmp,0xE2 // Internal reset ( не используем вывод RESET ) без этой команды инит не пройдет по 3м проводам
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0xEB // температурная компенсация включена
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0x2F // режим питания
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0xA1 // направление строки LSB -> MSB
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0xA4 // очистить все пиксели жки
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0xA6 // позитивное изображение
;ldi tmp,0xA7 // негативное изображение
rcall lcd_cmd // выводим команду на ЖКИ
ldi tmp,0xAF // включить дисплей
rcall lcd_cmd // выводим команду на ЖКИ
rcall clr_lcd // Очищаем ЖКИ от случайного мусора
ret // на выход


и подпрограмы вывода данных и команд на ЖКИ модуль.

lcd_cmd: // передача команды на ЖКИ
cbi lcd,cs // CS -> 0
cbi lcd,dat // DAT -> 0
sbi lcd,clk // CLK -> 1
cbi lcd,clk // CLK -> 0
rjmp out_byte // вывести 8 битов
lcd_data: // передача данных на ЖКИ
cbi lcd,cs // выбор чипа
sbi lcd,dat // DAT -> 1
sbi lcd,clk // CLK -> 1
cbi lcd,clk // CLK -> 0
out_byte: // вывод 8 битов из регистра
ldi loop,8 // bit counter
out_c: // цикл
clc // очищаем кари флаг
rol tmp // tmp brcc d_zer // если флаг очищен , до значит данные DATA -> 0
sbi lcd,dat // если установлен DATA -> 1
rjmp d_one //
d_zer: //
cbi lcd,dat // DATA=0
d_one: //
sbi lcd,clk // CLK -> 1 импульс
cbi lcd,clk // CLK -> 0
dec loop //
brne out_c //
sbi lcd,cs // CS -> 1
ret //
Ramil
Гость 95.78.*.*





07-02-2010 22:10

pavel-pervomaysk писал:
Ramil, задум хороший , пару поправок дам тебе по жки Nokia1110i ,

Спасибо за инфу. Твои исходники в соседней теме тоже помогли.
Вообще говоря "навороты" с CS, 4094 и "хитромудрой" реакцией на клавиатуру,- вынужденные, не хватает портов у мк.
По схеме транзистор VT1 открывается и вызывает прерывание NMI только после нажатия на одну из кнопок - это для того чтобы контроллер не отвлекался на клавиатуру во время "основной" работы. Транзистор VT2 управляется ногой контроллера которая опять же во время "основной" работы является входом опорного напряжения. Сам же VT2 управляет выбором - либо LCD либо 4094.
Сделал я так потому что играясь с этим LCD заметил то что он зависает от "неправильных" сигналов на шине, просто перестаёт реагировать на команды. VT2 позволяет выбирать куда пойдут данные, не "загружая" LCD(надеюсь что так он не будет зависать).
Да и ещё по схеме,- у DA1, DA2 питание должно быть двуполярным. У DA1.4 и DA2.4 питание д.б. однополярным, т.е. это должны быть микросхемы в разных корпусах. Некоторые обозначения на схеме не правильные(схема предварительная, возможно будет другой мк).

Дальнейшее развитие будет только через неделю.
ПС. Я не уверен что у этого мк хватит ресурсов.
pavel-pervomaysk
Your editor
Сообщения: 8037




07-02-2010 22:48

Ramil, подвисает , я баг нашел и исправил
ldi tmp,0xE2 // Internal reset ( не используем вывод RESET ) без этой команды инит не пройдет по 3м проводам
rcall lcd_cmd // выводим команду на ЖКИ

или так , или дергать ногой в течении 10 мкс.
Если нужен фрифт 9 х 14 для этого ЖКИ , могу подбросить код с дигитами для цифр.
Удачи в проэкте.
Список форумов» Программное обеспечение» Микроконтроллеры» Моя версия ESR метра
Перейти:  
Текущий раздел» Программное обеспечение» Микроконтроллеры (Микроконтроллеры - AVR-ы, PIC-и и другие)


Похожая информация:
  • Моя версия программатора....
  • Новая версия программы AVRDUDESELL








  • Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!