Автор Тема: Микроконтроллеры как универсальный инструмент.  (Прочитано 19246 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
    Добрый день, уважаемые форумчане! Вот и стал день длиннее ночи и значит скоро лето! А пока снег, слякоть… Но, хватит лирики, пора переходить к физике.
   Попал мне в руки прибор Mastech MS8222G. Прежний хозяин был весьма невнимательным, поэтому в режиме прозвонки полез к большому напряжению. Результат предсказуем. Диод, операционник, логическая микросхема… и пустой экран. Вне всякой системы при включении экран вдруг оживал на мгновение – было видно, что прибор начинает тест, но тут же гаснет. Внутри прибора установлен две микросхемы: АМЕ7106 по классической схеме, но урезанным функционалом (без ЖКИ драйвера) и SC3080 – читает с денинтегрирующего выхода первой микросхемы данные и выводит результат на ЖКИ дисплей. О второй микросхеме и пойдёт речь. По схеме должен был быть кварц на 32768кГц, но в реальности его нет. Работал внутренний генератор, запитываемый внешним резистором. Получалось, что не стартует генератор и при этом повышенное потребление – до 0,04А. При таком потреблении экран не стартовал, но как только потребление тока в момент включения не превышало 0,01А, то на мгновение экран оживал. Установка кварца ситуацию не изменило. Тогда пришлось отрезать дорожку питания микросхемы от основного прибора и экспериментировать только с ней. Принудительное тактирование внешним генератором и поднятие напряжения до 7,67 (почему-то при таком значении были наилучшие результаты) позволяли запустить микросхему в режиме теста. Т.е. она сама запускалась в режиме теста, но так и оставалась в нём, хотя должна была переходить в рабочий режим. Вывод напрашивался сам собой – микросхема погибла. Приобрести такую возможности нет – не продаётся…
   Казалось бы, совет простой: -да выкинь ты и не заморачивайся! Но я не из таких. Прибор хороший, внутренности целые, а самое главное, есть желание его не просто восстановить, а модернизировать, пользуясь таким случаем! И что характерно, таким способом можно не только восстанавливать погибшие безвременно измерительные приборы, оживлять метеостанции, но и использовать ЖКИ дисплеи в любительских конструкциях различного назначения. Достаточно иметь какие-либо данные на дисплей – из даташита, либо самому выяснить назначение выводов. Поскольку на имеющийся в составе прибора дисплей даташита нет, то с генератором в руках пришлось составить таблицу соответствия выводов и сегментов. Теперь переходим к постановке задачи:
1.   Реанимация прибора путём модернизации установкой микроконтроллера. Установка микроконтроллера позволяет отказаться от двух, имеющихся на борту прибора, микросхем. Измеряемый сигнал заводить на МК. Показания выводить на дисплей с МК.
2.   Написание программы для МК с подробнейшими комментариями. Поскольку я сам в программировании весьма слаб, а поставленная задача требует хорошего владения программированием, то предлагается сенсеям в великой науке единиц и нулей почувствовать себя Макаренковыми и Сухомлинскими и на примере программы для прибора помочь мне, а вместе со мной и таким как я, быстрее освоить «столь премудрую науку, о Благословенный Волька!» Подробнейший комментарий и терпеливые ответы на наши глупые или не очень вопросы будут активно продвигать неучей в изучении микроконтроллеров.
3.   Имеем прибор (схема прилагается), дисплей (таблица прилагается), Два микроконтроллера: а. PIC16F914/7; б. Atmega169. Даташиты на них прилагаются. Требуется: вход измеряемого напряжения, входы положения точек (3 положения), выходы на дисплей (20шт. - 4сом и 16 сегменты). Даташит на SC3080 тоже есть – в нём прописаны примеры работы драйвера дисплея в разных конфигурациях.
Надеюсь встретить тут всестороннюю поддержку в деле освоения микроконтроллеров как для себя, так и для всех интересующихся этими вопросами.
Вот пара ссылок на сайты с похожими материалами:
http://www.embed.com.ua/mikrokontrollernyiy-konstruktor/multipleksnyiy-rezhim-upravleniya-simvolnyim-zhki/
и ещё одна:
http://www.ccsinfo.com/forum/viewtopic.php?t=32774&postdays=0&postorder=asc&start=0

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Добавляю даташиты на микроконтроллеры и на дисплей.

Livemaker

  • Администратор
  • *****
  • Сообщений: 1893
  • www.microsmart.eu
    • Microsmart
Ваш порыв и позыв понятен. Крайне сложно представить, что кто то ещё пытался бы решать подобную задачу. К сожалению, как мне думается, с учётом некого опыта, вряд ли Вам удастся найти единомышленников. Люди, как правило, хотят видеть ГОТОВЫЕ решения, но ни как участвовать в мозговом штурме. Увы.
Касаемо измерительной аппаратуры, то прямо сейчас ставится на производственную платформу массовая сборка анализатора промышленной сети, который был создан при помощи участников форума, которые не просто принимают участие, а сменили географическое положение из Украины в Латвию и влились в тесную команду. Да, да, мы работаем вместе, тут, в Риге. Такой результат и был целью этого форума.

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Работа, достойная уважения! Как говаривает молодёжь: респект и уважуха! :)

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
   Тем не менее, будем надеяться, что найдутся энтузиасты. Попробую расширить тему. Есть масса ЖКИ дисплеев: в калькуляторах, счётчиках, микроволновках, метеостанциях. А ещё есть дисплеи со спалёнными контроллерами (HD4470). И все эти дисплеи потребляют микроамперы и идеальны в переносных устройствах. Устройства могут быть самыми разными: измерительными, аналитическими, статистическими. А какое поле для работы в мире игрушек для детей!
   Теперь начну, пожалуй. Задачу, на мой взгляд, можно решить двумя способами: первый, это написать просто программу под конкретный проект и на этом почить на лаврах собственной гордыни; второй - написать универсальную программу под различные задачи. Для этого надо сотворить несколько файлов. Первый - описание процессора. Второй - описание всех возможных режимов работы дисплеев. Третий - режимы работы генератора. Четвёртый - описание входов/выходов и их настройка и использование. Всё это свести в makеfile, где и выбирать нужные параметры при компиляции. Если возможно такое, то единый макфайл и для АВР, и для ПИКа. Если такое не возможно, то две программы для разных МК. Тогда каждый для себя будет волен выбрать, что для него наиболее удобно. Пока так.
   Ау!!!!!!!!! Энтузиасты...

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Начал составлять программу. Установил CodeWizardAVR. Создал проект, выбрал нужные функции. Программа сгенерировала исходный код. Осталось совсем немного - написать тело программы. Штудирую Белова.

Apparatchik

  • *
  • Сообщений: 15
  • Nixie
Для начала нужно научится код генерировать самому, для этого штудировать даташиты и например книгу во вложении.

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Огромное спасибо за участие в моём образовании на стезе программирования. Мои познания заканчиваются на начальном уровне бейсика и фортрана. Как-то трудно мне даётся сия наука... Надеюсь, что с помощью добрых людей смогу, наконец-то, освоить хорошо и крепко науку единиц и нулей, однако... :)

Serj66610

  • *
  • Сообщений: 25
  • Умирают-только дураки,умные-совершают переход
Недели две как начал читать литературу по программировании....хм,что могу сказать....не так все просто как кажется....программистом нужно быть и жить этим,просто сесть и написать программу под свои нужды,лишь прочев одну две книги-не получится,программирование-это не инструкция по включению телевизора,это скорее инмтрукция по его разработке и ремонте,т.е. вам предлогается понять как вообще пришла идея телевидения,ее первоначальная реализация,первые попыхания,модернизации,улучшения,выбор оптимальной схемы,сборка,настройка,подгон номиналов,реализация готовой модели...дальнейшее участие в развитии проекта....только так и никак не иначе.
А по сему я (по доброте своей душевной) рекомендую вам разработать плату под мультиметр,и собрать его на ПВ5 или буржуйском аналоге...так как просто выбросить его вы не согласны...я просто раньше сам был таким...лепил из говна чудо....иногда получалось....но потом я нашел ''русло'' для своей деятельности...источники питания....разработка,изобретение,отладка,модернизация....результатом моей деятельности явилось разработка сверхединичного генератора(скорее генератораСЭ)....как видите свою творческую энергию я направил на то,что у меня получается лучше всего...следующий проект-перемещение в пространстве.....затем если повезет-то и во времени.
Так что мой вам совет,найдите себя.
Все эти самоделки-не более чем шаг на пути к вершине-совершенству сознания....тела меняются как рубашки у ''костюма''....сознание-остается....вещи не имеют значения,важен лишь опыт....только его можно забрать из одного рождения в другое(нить приемственности).

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Спасибо за Ваш совет. Но такой вариант я даже не рассматриваю: для переделки на 7106 придётся сменить дисплей, тогда весь проект лишается смысла. Для меня важнее решить эту задачу так, как я её для себя обозначил. Тем более, что решение этой задачи приведёт к результатам значительно шире, чем этот прибор. Впрочем, это я уже описывал в начале темы. Для меня очень важно разобраться самому. И тем, кто готов мне в этом помочь, будет моя огромная благодарность, а может и более того, если реализация будет столь изящна... Тогда возможно развитие в какой-либо проект.

Livemaker

  • Администратор
  • *****
  • Сообщений: 1893
  • www.microsmart.eu
    • Microsmart
Программирование МК, как мне видится, это две составляющие. Первое - знать команды и понимать суть настроек (инициализации) контроллера. Второе - остроумие, от которого зависит качество программы. Это можно сравнить, например, с вождением автомобиля, где минимальным является знание органов управления, что позволяет переместится из точки "а" в точку "б". А можно им управлять виртуозно.

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Соглашусь и с Serj66610, и с Livemaker. Истинный программист перед сном ставит на прикроватную тумбочку два стакана: один полный, а другой - пустой. Полный - это если вдруг ночью захочется пить, а пустой на тот случай, если пить не захочется...  ;D Я думаю так: настоящий инженер не живёт только сопроматом, термехом и математикой. Он изучает природу, окружающий мир и прочее. Ибо гениальные изобретения или просто нетривиальные решения всегда находятся на стыке нескольких пространств существования человека. Тоже относится и к программистам, и многим другим специальностям. Дорогу осилит идущий.  ;)

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Отвечая Serj66610: я не две недели как читаю литературу. В 1991 году довелось учиться на отечественных ЭВМ электроника, к тому же, в те годы увлекался "Синклером" или иначе ZX Spectrum, если Вам это что-то говорит. А там Basic. А сравнительно недавно изучал Фортран, а на Яве (Java - ява, а не джава, игра слов такая :)  ) делал дипломную работу в университете (учился заочно) на автомобильном факультете. Поэтому не всё так плохо, как может показаться. Прилагаю поправленный исходник, где задействовал АЦП. Но мне хотелось бы использовать его несколько иначе - чтобы напряжение измерять не относительно общего провода. Кажется, это называется дифференциальное измерение. Это нужно для того, чтобы не следить за полярностью на щупах.

Livemaker

  • Администратор
  • *****
  • Сообщений: 1893
  • www.microsmart.eu
    • Microsmart
Вероятно, стоило бы подчистить кодевиженовский мусор. Ну и ноги, к которым будет подключен дисплей, хорошо бы настроить как OUT.

anvlamat

  • *
  • Сообщений: 16
  • Жизнь есть энергия.
Настроить их можно и даже нужно, но вот в чём проблема... Я никак не могу понять каким образом полученные данные с АЦП привести к виду для вывода на ЖКИ! Несколько раз перечитал даташит и пока в тупике...