Девиз: Глаза боятся, а руки делают!
Описание схемы и работы с программой на uart-модуле для измерения влажности/температуры c использованием микроконтроллера 12f629 и датчиков с интерфейсом I2C |
|
|
Адрес описания и документации: |
|
Скачать программу: |
http://90.189.213.191:4422/temp/uart_h2o_v1/opisalovo_cmd/test/ |
· Программа и схемы предназначены для получения данных от датчиков температуры, влажности, давления и т.п. из известных на настоящее время;
· Программа предназначена для отладки схем и взаимодействия с датчиками. После отладки модули и схемы интегрируются в данную программу и доступны в данном описании;
· Получаемые результаты (тексты, модули, схемы сопряжения) предназначены для других программ в тематике измерений.
· Внимание! Пояснения и помощь к программе (т.е. данный файл) составляется по методике «что сделал, то и описал»» (ударение на букву =а=, а не =и=).
Программа при первом старте выдает в режиме консоли «проблему выбора», показано ниже на рисунке и окно «часиков». На выбор решения всего одна минута, надо нажать клавишу 1,2 или 3.
Восстановление всей информации из программы и компиляция новой программы
Программа содержит все компоненты, для своего дальнейшего развития. Если выбрать 3-й пункт, то сформируется каталог test_monsys_exe, в котором находятся все файлы необходимые для дальнейшего развития:
· файлы текстов на языке FORTH и так же простые файлы txt, если они требуются по теме пояснений;
· файлы описания в формате word или html;
· архивы с файлами схем. Можно и без архивов, но для понимания тематики удобнее объединять схемы и пояснения в одном архиве;
· файл языка программирования FORTH 100_spf4.exe Цифра 100 означает, что данный компилятор языка может формировать файлы до 100мб. Автор Черезов Андрей дает только до 4х мб, поэтому его компилятор и называется spf4.exe Шутка. На самом деле это версия четыре. Все версии смотрите на сайте forth.org.ru Андрею Черезову еще раз привет, успехов и здоровья в 2022 году!
Далее Вы исправляете требуемые файлы, компилируете и получаете новый файл в формате exe. Он будет иметь другие размеры и контрольные суммы. Это позволит достаточно просто определить авторство и принадлежность источника и создателя.
Выполните файл start_new_versii.cmd для компиляции и формирования файла.
Метод и способ, достоинства и недостатки представлены в электронной публикации
Опции режимов в окне консоли - измерение термопарой с MAX6675
Для измерения температуры через микросхему max6675 нажмите клавишу =X=. Программа изменит настройки и по заданному порту будет обращаться через PIC- 12f629 к микросхеме max6675 и получать данные о температуре.
Вид окна с пояснениями и схема предствлены ниже на рисунках:
·
В
архиве uart_h2o_v1_help.files\uart_h2o_v1_izm_max6675_12f629.zip
схема представлена в редакторе DipTrace 2.4.0.2 Full portable
· Представлена схема «аппаратного прототипа”
· Программа и схема с «жесткой логикой» для измерения температуры с использованием uart-usb и max6675 опубликована в журнале «Соэл» 2020г N3-c60,62 и на сайте автора
· Программа на форт-ассеблера для 12f629 представлена в текстовом файле uart_h2o_v1_12f629_v1.f подключается и компилируется из основной «пусковой» программы, так же текстового формата, uart_h2o_v1.f
Консольный режим – особенности в Win10 и «влияние мышки»
· Влияние систем переходит
и на такой «архаичный» вид отображения, как консоль или терминал.
· Консоль вызывается командой «CMD» и появилась это «штука» еще во времена DOS, RT11 и наверное сама =идея= ранее.
· В 2016 году добавили в консоль и управление мышкой для Windows-10.
· Ниже на скане с экрана, показана галочка, которая управляет этим режимом.
·
При
работе программы, галочка в выделении «мышью», не позволяет управлять
кнопками «мыши» при наведении на «значащие» места.
· В этом случае сохраняется режим управления кнопками клавиатуры. Например, если нажать кнопку 1 то сформируются необходимые файлы для работы программы.
Измерение влажности и температуры микросхемой SHT3x
Выбор режимов работы в консольном меню программы и схема измерения представлены ниже на рисунках.
· В архиве uart_h2o_v1_help.files\uart_h2o_v1_izm_sht3x_12f629.zip схема представлена в редакторе DipTrace 2.4.0.2 Full portable
· Схема использует внутреннюю «подтяжку» от микроконтроллера, что позволяет отказаться от внешних «подтягивающих» резисторов и обеспечить режим «ОК» - общий коллектор.
· Для работы с интерфейсом I2C используется программное обеспечение микроконтроллера, которое работает по следующему алгоритму:
o Скорость и тип передачи UART-PIC12F629 определен 9600n1.
o Устанавливается передача блоком в 2 или 3 байта, где каждый байт задает режимы работы с датчиком (sht3x). Количество принимаемых байт может быть разное.
o Для устойчивой работы микроконтроллера без кварцевой стабилизации, предусмотрен алгоритм автоподстройки по биту СТАРТА. Это означает, что всегда первый бит должен быть равен 1, а все последующие могут быть любые.
o Блок на передачу имеет 2-а байта : 0xFF N1=0..0x7F - Выполняется проверка отклика адреса устройства шины I2C. Если ответ по адресу второго байта есть, то возвращается байт 0xFF. Если нет ответа то 0x0. Этот режим позволяет вручную или программой определить наличие устройства с интерфейсом I2C В программе предусмотрен режим по клавише =С= . Ниже на рисунке показан данный режим и отображен адрес sht3x.
o Адреса 0 и 1 и 7F могут отображаться, т.к. это ошибки ответа устройства, а таких устройств в стандарте не предусмотрены.
·
Блок
из 4х байт 0xFD 0x44 0x2C 0x06
задает режим однократного измерения по адресу устройства 0x44
командой 0x2C 0x06
Правильный ответ состоит из 6 байт кода FF.
· Далее передается блок из двух байт 0XFF 0x44, который определяет запрос данных по адресу устройства 0x44. Ответ состоит из 6 байт кодов данных температуры и влажности. Эти шесть байт распределены на 2е группы по 3 байта. Первые 2-а байта это данные и 3-й байт - контрольная сумма.
· Описание работы SHT3x приведено по адресам: А1 Doc А2 Магазин
· Далее заключительное действие цикла измерения - передача 2-х байт 0XFF 0x44. Вторичная повторная передача с адресом 0x44 закрывает цикл измерения и датчик готов к новому измерению. Правильный ответ 0x00 0xFF 0xFF 0xFF
· Время одного измерения в данном цикле опроса составляет около 50 миллисекунд.
· Для получения данных в ручном режиме можно воспользоваться программой гипертерминал или Тест_модема. Ниже на рисунке показан скан запроса данных в программе Тест модема.
· Программа опроса данных в микроконтроллере находиться в файле uart_h2o_v1_12f629_v1_sht3x.f Общая структура и текст подготовлен на языке Forth Реализация обращения к микроконтроллеру на авторском варианте forth-assemblera. После выполнения компиляции файлом start_new_versii.cmd формируется каталог с hex-файлами. Файлы записываются в микроконтроллер любым доступным программатором.
· Внимание! Программы на форт-ассеблера для 12f629 подключаются и компилируется из основной «пусковой» программы, так же текстового формата, uart_h2o_v1.f ИНДИВИДУАЛЬНО. Это означает, что можно компилировать по выбору только один файл. Ниже в таблице показан фрагмент подключения разных вариантов подключения.
\
----------------------------------------------------------------------------------------- \ пояснения по подключению общих или похожих библиотек. \ принят такой метод - если надо для формирования hex кода то
подключаем и делаем, если не надо то «ремим» \ если библиотеки все время подключать и прибавлять, то \ - время на компиляцию зачем
тратить, если hex файлы писать в микроконтроллеры не будем? \ - компиляция многих библиотек
формирует одинаковые форт-слова, и будет сообщения про их дублирование. \ - хотя можно и отключить эти сообщения о
дублировании. \ - но если надо, то можно
подключать и смотреть что задублировано. \ ----------------------------------------------------------------------------------------- \ библиотека для формирования hex кодов и работы с термопарой с имс
max6675 \ S"
uart_h2o_v1_12f629_v1_max6675.f"
2DUP INCLUDED ( Тут не компилируем. В строке установлен знак
\ ) \ библиотека для формирования hex кодов с датчиком sht3x \ WARNING 0! ( выключили
контроль повтора слов ) S"
uart_h2o_v1_12f629_v1_sht3x.f"
2DUP INCLUDED ( <= Тут подключаем и компилируем. ) \ -1 WARNING ! ( контроль повтора слов ) \ допускается использовать одинаковые имена слов, надо учитывать что в
работе будут последние назначеные \ итого –
допускается все, что разрешено форт-словами программы. |
·
Для
запуска нескольких действий меню предусмотрено указывать эти действия (т.е.
«цифры» «буквы» клавиш» ) в командной строке:
·
…\uart_h2o_v1.exe L K 5 <enter> - выполняется режим измерения влажности,
выдается график и включается музыкальная пауза;
·
…\uart_h2o_v1.exe a z <enter> - вызывается диспетчер устройств и файл помощи
по программе;
·
И т.п. смотрите меню и указывайте действия.
Всего предусмотрено 16 команд по действиям.
Лицензионность, правообладание и использование
· Программа поставляется =как есть=. Все риски связаные с ее использованием и возможными последствиями несут лица ее выполняющие;
· Программа подготовлена на языке Forth. В программе при старте проводится проверка на правильность контрольных сумм и в случае изменния даже на один бит выдается предупреждение о ВОЗМОЖНЫХ МОДИФИКАЦИЯХ
· В программе предусмотрена проверка на УНИКАЛЬНОСТЬ ИМЕНИ. Другое имя программы не допускается.
· Автор оставляет за собой право на модификацию и изменения программы;
· Автор может ответить на вопросы по программе только в случае соответствия даты, контрольной суммы, размера и названия файла и при наличии свободного времени.
Автор: Шабронов Андрей Анатольевич тс.+7-913-905-8839 shabronov@ngs.ru
Успехов и здоровья! г. Новосибирск 2022г.
Ред. 2022-02-27 Ред.2022-3-14
Программа переведена в оконный режим отображения в связи с большим количеством опций и условий работы датчиков.