Змінюй хід війни! Допомагай ЗСУ!

Говорящий мультиметр.

  • Автор теми Автор теми Gasser
  • Дата створення Дата створення
Прошил - с этой версией теперь даже "ошибка" не говорит
Сообщение об ошибке я отключил.
В ЕЕПРОМ ничего не оказалось,нули.
Нулей не должно быть. Во всех ячейках должны быть FF (или 255), а в первых трех уже то, что считал МК с регистров.
 
Добавил запись данных, считанных с мультиметра в память EEPROM. После запуска устройства, считайте данные с EEPROM, посмотрим, что считал. Желательно чтобы мультиметр показывал что-то реальное во всех разрядах.
Может , лучше записывать их на карту памяти (в идеале в виде текстового файла или открываемого текстовым редактором), чтобы не бегать каждый раз к программатору?
Просто как пожелание,если такое возможно.

Нулей не должно быть. Во всех ячейках должны быть FF (или 255), а в первых трех уже то, что считал МК с регистров.
Еще разок попробую...
Присоединил лог ЕЕПРОМ.На индикаторе мультиметра в момент выполнения программы приставки было показание 810-812(шум при режиме измерения емкости)..
 
Останнє редагування:
Может , лучше записывать их на карту памяти (в идеале в виде текстового файла или открываемого текстовым редактором), чтобы не бегать каждый раз к программатору?
Бегать к компьютеру, чтобы прочитать файл... А если серьезно, то в прошивке много чего менять надо. Кроме того, если нет записи в EEPROM, то не факт, что будет на карточку. Давайте пока с EEPROM разберемся, это тоже вопрос, почему нули.


Присоединил лог ЕЕПРОМ
Нули - значит ничего не считал с регистров. Замедлил скорость чтения с регистров. Теперь еще по окончании работы питание отключаться не будет, а в случае, если с регистров что-то будет считано, будет мигать светодиод (если Вы его оставили). Если светодиод замигает - снова считайте EEPROM, мне нужны данные. Если не замигает, тогда уже осциллограф. Если можете в Proteus запустить симуляцию и посмотреть виртуальным осциллографом что на выходе - сверьте с реальной картинкой. Если нет, тогда я наделаю скринов.
 

Вкладення

Останнє редагування:
Замедлил скорость чтения с регистров.
Як читаємо, як таймінги виглядають? Який інтервал між фронтом тактового(позитивний перепад на вх.регістрів,або негативний на нозі проца) і моментом зчитування даних?
Gasser, а зменшити резистори в навантаженнях ключів не пробував?



Таке ще прийшло в голову, хай полежить, може, хтось в мене тапком кине :)
 

Вкладення

  • kaskad1.webp
    kaskad1.webp
    6.6 КБ · Перегляди: 79
Останнє редагування:
Як читаємо, як таймінги виглядають? Який інтервал між фронтом тактового(позитивний перепад на вх.регістрів,або негативний на нозі проца) і моментом зчитування даних?
Скрин с анализатора во вложении. Это на выводах МК. U6 - CLK, U7 - LOAD, U5 - данные с регистров. Между спадом на выходе МК и моментом считывания ~38 мксек. Период CLK ~80 мксек. (Это для тестовой прошивки.)
---
Gasser, я перезалил последнюю тестовую прошивку, нашел в ней ошибку. Попробуйте ее. Пока продолжаем те же действия - получить в EEPROM хоть какую-нибудь информацию. Возможно она будет некорректной, то есть озвучки по-прежнему не будет, но это пока неважно.
 

Вкладення

  • ANALYSIS.webp
    ANALYSIS.webp
    24.8 КБ · Перегляди: 73
Gasser, а зменшити резистори в навантаженнях ключів не пробував?



Таке ще прийшло в голову, хай полежить, може, хтось в мене тапком кине :)

Была такая мысль(навеяная не очень красивой бананоподобной формой "меандра" CLK на осциллограмме:rolleyes:),завтра параллельно с обновлённой прошивкой попробую и это,если время останется.
За новый УНЧик спасибо, пока пусть полежит-тестирую на ЛМ-ке.

---
Gasser, я перезалил последнюю тестовую прошивку, нашел в ней ошибку. Попробуйте ее. Пока продолжаем те же действия - получить в EEPROM хоть какую-нибудь информацию. Возможно она будет некорректной, то есть озвучки по-прежнему не будет, но это пока неважно.
ОК.



Скрин с анализатора во вложении. Это на выводах МК. U6 - CLK, U7 - LOAD, U5 - данные с регистров. Между спадом на выходе МК и моментом считывания ~38 мксек. Период CLK ~80 мксек.
Я видел что перепад уровней этих сигналов происходит с 0 на 1, т.е. в макете инверсные картинки,0 в паузе и 1 в сигнале (общий провод при измерениях-восьмой вывод регистров,минус питания регистров).Это важно или просто особенности Вашего анализатора в симуляторе?
 
Останнє редагування:
Я видел что перепад уровней этих сигналов происходит с 0 на 1, т.е. в макете инверсные картинки,0 в паузе и 1 в сигнале (общий провод при измерениях-восьмой вывод регистров,минус питания регистров).Это важно или просто особенности Вашего анализатора в симуляторе?
Это важно и тут я в последней версии инвертировал сигналы. Собственно считывание должно было и так идти, но результат этого считывания неверный, но не нули. Нули это значит или в регистрах "пусто", или до МК сигнал не доходит, а может и до регистров не доходят импульсы управления от МК.
Эпюры напряжений приведены относительно минуса питания ATMEGA8 на выводах ATMEGA8.
 
не очень красивой бананоподобной формой "меандра" CLK
По ідеї, активний фронт (0->1) повинен бути чітким, а вже спад -- зализаним. Ще мене гризе підозра, що при проході зализаної ділянки через поріг логіки може якась наводка накладатися, і в результаті зайві клоки відпрацьовуватимуться (причому, опціонально ще й не всіма регістрами -- за рахунок різних порогів :) ). Ну це вже треба на зчитані дані глянути. Для більшої певності можна на регістри спочатку не живі сегментні сигнали подавати, а розкидати входи на +/- для статичної картинки.
 
Останнє редагування:
Светодиодик отмаргивает после цикла опроса - данные в ЕЕПРОМ сохраняются.
Итак, файл eeprom2 - считывание показаний "743".Данные в первых ячейках уже ненулевые.:клас:

Затем я уменьшил сопротивления резисторов R1,R2,R3 c 10кОм до 1,2кОм(что было под рукой).

Результат считывания показания "745" приведен в файле eeprom3.
По моему,ничего не изменилось,
 
Останнє редагування:
Данные в первых ячейках уже ненулевые.
Это хорошо. Плохо, что они попадают под состояние регистров, когда не используемые входа регистров это лог. 1, а все остальные 0.
То есть, данные с сегментов индикатора не записались в регистры (записались все нули), а выводы подключенные к +питания (у Вас это 0, pin 16) записались и считались верно.
 
Это хорошо. Плохо, что они попадают под состояние регистров, когда не используемые входа регистров это лог. 1, а все остальные 0.
То есть, данные с сегментов индикатора не записались в регистры (записались все нули), а выводы подключенные к +питания (у Вас это 0, pin 16) записались и считались верно.

Что следует изменить?Может,нужны осциллограммы с выводов ЖКИ(входы регистров)?
 
Может,нужны осциллограммы с выводов ЖКИ(входы регистров)?
Да, желательно бы глянуть... относительно минус питания регистров.
Я б для початку (якщо нетяжко) відпаявся від індикатора і подав статичні рівні.
По тому, что записалось в EEPROM, как раз хорошо видно, что статические единицы записались верно, а что к индикатору, то нули.
 
ХЗ, може, в нього не 5 вольт (як в мене), а мінімально достатніх 2.5-3 на індикатор йде? Але я б перевірив докладно правильність прочитання кожного сегмента, щоб не було потім ніяких підозр в збоях тактування...
 
Ну та навіть вибірково, починаючи з дальніх -- зразу буде видно, чи він на своєму місці читається...
 
А можно выборочно попробовать подтянуть вход регистра к +питания? Если так проще физически...
 
Тобто, "позмагатися" з драйвером індикатора? Та певно, що можна, навіть мікросхема 99% виживе, тільки підвищиться споживання і скоріш за все попливе точність :) Так в нього читаются нулі з врахуванням всіх інверсій, тобто воно бачить 0 відносно мінуса живлення регістрів, чи як? Бо якщо менша амплітуда, то воно б мало сприйматися як 1.
 
Тобто, "позмагатися" з драйвером індикатора?
Подтянуть, не значит замкнуть.
Так в нього читаются нулі з врахуванням всіх інверсій, тобто воно бачить 0 відносно мінуса живлення регістрів, чи як?
Да.
 
СН1 - сегмент А1 (включен)
СН2 - сегмент G1 (выключен)
На индикаторе мультиметра "000", измерения относительно минуса питания регистров.
 
Останнє редагування:
Назад
Зверху Знизу