Перейти к содержанию

Еще Раз Про Термометр


my504

Рекомендуемые сообщения

Занятно...

А Вы название темы читаете?

Причем тут 5 датчиков?

Паразитное питание возможно для любой КМОП схемы. Эта возможность АВТОМАТИЧЕСКИ следует из схемотехники выходов и входов. Просто как бонус.

Так что галактический бульон тут не причем. :)

戦う前に相手のベルトの色に注目

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов 199
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

название читаю, человек вопрос задал, чтож не ответить. не выходит за рамки.

Купи два беляша и собери из них кошку

Labor est etiam ipse voluptas Труд уже сам по себе есть наслаждение (*Формула любви)

Ave novie-nostra ales Если один человек построил - другой завсегда разобрать может....(*Формула Любви).

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

Учение - изучение правил. Опыт - изучение исключений.

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

Я писал диаграмму вручную, на АСМе.

Всегда можно разглядеть проблему на экране осциллографа и отработать ее в коде.

戦う前に相手のベルトの色に注目

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

Осцилографа под рукой небыло, алгоритм считывания датчика был реализован на ассемблере. Отлаживать ... не представляется возможным, т.к. проблема проявляется только в готовом устройстве.

Учение - изучение правил. Опыт - изучение исключений.

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

Не удивлюсь если вопрошающий просто печатку перезеркалил/недозеркалил, а тут такие дебаты... :)

Любой, заслуживающий внимания, опыт приобретается себе в убыток...

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

Тестовая прошивка показала что схема работает, значит дело не в монтаже.

Кстати, а не может ли быть проблема эта из-за того что датчик запрограммирован на большую битность чем предполагает устройство? Схема может просто не дожидается окончания преобразования.

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

Учение - изучение правил. Опыт - изучение исключений.

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

Датчик программируется на ту битность, с которой используется.

И вообще эта прошивка и схема неоднократно повторялась.

Внимательно смотрим, что устанавливается 9-разрядный режим:

 
;--- инициализация датчика ---------------------------

init_DS         call reset_wire
               movlw skip_ROM
               movwf buffer
               call byte_out
               btfsc flags,duty
               goto $-1
               movlw write_scratchpad
               movwf buffer
               call byte_out
               btfsc flags,duty
               goto $-1
               movlw 0x3F
               movwf buffer
               call byte_out
                btfsc flags,duty
                goto $-1
                movlw 0xFF
                movwf buffer
                call byte_out
                btfsc flags,duty
                goto $-1
                movlw 0x1F                     ; уст. 9-ти разрядного режима
                movwf buffer
                call byte_out
                btfsc flags,duty
                goto $-1
                 return

Осцилографа под рукой небыло, алгоритм считывания датчика был реализован на ассемблере. Отлаживать ... не представляется возможным, т.к. проблема проявляется только в готовом устройстве.

Вот я для этого хедеры и держу. Кстати этот термометр дебажился на хедере....

戦う前に相手のベルトの色に注目

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

По моему я делал и на 629-ый и на 676-ой. Даже если последняя и не сохранилась, я ее сейчас же восстановлю. Там всего и делов, что сбросить ANSEL, что бы пины стали цифровыми (по умолчанию все пины работающие в двух режимах, по сбросу - аналоговые).

Минуту....

Получите вариант для 676-го:

:020000040000FA
:040000000000522882
:08000800C0000308C100040858
:10001000C2000C1C1E28221D15282108013C031DAE
:10002000152822086039031D3F2883160515831201
:10003000900105112212A2100C1038282B08840000
:100040002830840787010030221A04388500000810
:1000500087004039C500C50C2B084E20221A0438F1
:1000600045048500AB0A03302B020319AB010B11C9
:100070004208840041088300C00E400E0900900130
:1000800050308E00C9308F00A21E482810169016DE
:10009000101405152216A21222131C2882070134FF
:1000A000023410348316FF2390000C1403308100B7
:1000B0000430950091010C308500870183120730D0
:1000C0009900900185018701A2018B177120AB0176
:1000D000A801A901AA0181010B118B168C20C42053
:1000E0006E28B120CC30A0002421A21875284E30F3
:1000F000A0002421A2187A283F30A0002421A218B1
:100100007F28FF30A0002421A21884281F30A000DF
:100110002421A218892808003030AD00AC012C0839
:10012000BA20003E0319AA28A000FF3E031D9A280A
:10013000B120A428013E443C0319A216443E483C89
:1001400003192217483E2421AC0A09302C02031D52
:100150008F28080018212D08840020088000AD0A8F
:10016000A428A2153221A218B3280519B528051D07
:10017000B728080082070134CC3444340134CC342D
:10018000BE34003400340134A401300E0F39A40011
:10019000310EF039A407A213A41FD128A409A40A80
:1001A000A217F6202708031DDB280A3EA700260811
:1001B00003190A3EA600A21BA70A8B122508E920F4
:1001C000A8002608E920A9002708E920AA008B1624
:1001D000080082073F3406345B344F3466346D3494
:1001E0007D3407347F346F3400344034A701240E4B
:1001F00024070F398318163E8318063E063E831CDB
:10020000FA3E241A1B3E831CFA3EA41A303E241BDD
:10021000603EA41B203E603EA70D271CA03EA5000B
:10022000A600A60E0F30A505A605A41BA70A080068
:10023000A21122110830A1003221220CA00CA21818
:100240001F29A10B1C290800A21122150830A100AA
:10025000A00C2210031822143221A2182D29A10B60
:100260002829080005112212A2140030A21DBA305C
:100270008E00FE30A21DFF308F000C108B130B1769
:100280001014831605118312A2194D29221D4F291E
:10029000221C4D298316051583128B17080083161F
:1002A000051583120230FF3E031D53292210051944
:0602B00022148B17080068
:02400E00A43FCD
:00000001FF

戦う前に相手のベルトの色に注目

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

Я тоже собрал подобную конструкцию (собственный алгоритм). Использовал 16f84 контроллер. Вроде все работает, но странное дело - температура поднимается до 49С (прислоняю к обогревателю), а потом перескакивает на 127. Есть подозрение, что это разновидность DS18B20. Точная маркировка: DALLAS 18B20 0938C4 +495AH. Порылся в мануалах, но ничего про это не нашел. Может кто сталкивался?

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

Естественно никто не сталкивался. Поскольку это маркировка обычного датчика.

А описанное - это ошибка в программе...

戦う前に相手のベルトの色に注目

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

Да там вообщем какие могут быть ошибки. Интересуют положительные значения от 0 до 100С. Автоматизация системы отопления.

Считываем температуру в TEMH и TEML.

Затем сдвигаем регистры на 4 бита из TEMH в TEML

MOVLW .4

MOVWF PAS3

LOOP_TEM

RRF TEMH,F

RRF TEML,F

DECFSZ PAS3,F

GOTO LOOP_TEM

далее выводим TEML на жк-строку. Вывод проверенный на другом проекте - 100% рабочий.

Температура правильно показывается до 49С - потом всегда 127 - не зависимо от температуры.

Если отключить запрос преобразования, то выводит 85С.

Я когда покупал термометр, то он в каталоге значился как DS18B20/C4, но нигде в описаниях информации по такой маркеровке нет.

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

Очень странно. в таких случаях, лучше всего вывести двоичное значение которое поступает с термометра, затем смотреть наличие этой "ступеньки" у самого термометра.

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

Учение - изучение правил. Опыт - изучение исключений.

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

Вся информация по маркировке датчика есть в даташите.

Все последние цифры никакого отношения к функционалу прибора не имеют.

Первый вопрос. Какое питание. Полное или паразитное?

Второй вопрос. Какая разрядность устанавливается у датчика?

Третий вопрос. Какое время ожидания конвертирования?

Остальное потом.

戦う前に相手のベルトの色に注目

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

Проблема решена. :)

Попробовал для начала запитать датчик не паразитно - никаких изменений.

Потом стал менять резистор на шине. При уменьшении до 2,5 кОм - все заработало. Если увеличить до 7,5 кОм, то градусник всегда выводит 127С. В одном из описаний я нашел рекомендацию продавливать 1 уровень с резистора 1 с МК в течении 3-5 мкс для улучшения фронтов сигнала. Завтра попробую.

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

А Вы что, даташит не читаете?

4,7 кОм - номинал подтяжки шины. Более недопустимо.

Сам себе трудности создает, сам же их успешно преодолевает... :)

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

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

戦う前に相手のベルトの色に注目

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

  • 3 недели спустя...

А как всё таки вкарячить 2 датчика температуры (вариант с переключателем не очень эстетичен), на одну шину? Свободных портов не наблюдается.

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

Смотря какой датчик, DS18B20 позволяет это делать если изменить алгоритм опроса и выяснить заранее зашитый в датчики серийный номер. Но в таком режиме работать одновременно сможет только один из датчиков т.е. пока преобразование температуры не закончится на первом датчике ко второму обращаться нельзя - любой импульс на шине просто остановит преобразование для первого датчика.

Учение - изучение правил. Опыт - изучение исключений.

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

В описании прибора есть такая фраза По просьбам трудящихся можно увеличить число датчиков, но не более 3-х (иначе не хватит 14 выводов МК). Так же можно портировать решение на любой МК Микрочипа с числом выводов не менее 14..Так что всё таки имел в виду автор?

Изменено пользователем iggi1711
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Так, ну ладно,... забудем про сигнатуры.... И так,... как я вижу Программу. Программа состоит из двух файлов: экзешника и хелпера, а лучше одного экзешника, чтобы не путаться в обилии файлов в директории. Можно выбрать номер кома и его скорость, тип МК, а также другие вспомогательные парметры,..... и ... большая красная кнопка "сгенерировать Бутлодер", при нажатии которой, создается файл Бутлодера, с соответствующим именем. Внутри файла Бутлодера несколько байт выделено для названия МК, которые возможно считать Программой, и которые в дальнейшем определяют модель работы Программы с Бутлодером, чтобы не путать пользоваетля. Сделать относительно короткими пакеты обмена между Программой и Бутлодером, чтобы избежать длительных зависаний. Конечно это увеличит общее время записи, ну мы же никуда не спешим. Добавить команду считывания названия МК из Бутлодера, что кажется мне самым важным. Да, как я организую процесс записи флеш: заполняю буфер несколькими командами, запускаю команду записать страницу. МК принимает данную команду, декодирует и запускает стирание страницы, дожидается окончания процесса стирания страницы (<5 мс, ЦПУ остановлено), запускает запись страницы (<5 мс, ЦПУ остановлено), осуществляет проверку записанных данных на странице(верификация) и посылает ответ ПК с флагом проверки данных.(Это все из дата шита). Запись в еепром производится побайтно в каждой комманде. (ну мы же никуда не спешим). При записи в еепром считываются данные из ячейки, и если они совпадают с теми, что нужно записать, то запись не осуществляется. В противном случае запускаем запись данных в ячейку (<5 мс), ждем окончания записи , осуществляем проверку записанных данных в еепром(верификация) и посылаем ответ ПК с флагом проверки данных. Ну как-то так крупными мазками.    
    • Не эта конкретная плата, а AMP2X15 на основе TPA3110D2: Могли бы в своей теме задать вопрос, а не плодить темы.
    • Не хватает. Это же песочница? Да, только бы понять это точнее. Спасибо за идею.
    • Попробуй еще раз сакцентировать внимание. В рамках моего вопроса, рассматривается ТОЛЬКО способ крепления разьема с ПРЯМЫМИ ногами, ВДОЛЬ платы. Другие способы не подойдут. Никак. Совсем. Их нет смысла советовать. И основной вопрос "как разместить переходные отверстия, что бы максимально крепко пролить оловом ноги разьема?". Желательно без клея. Пока из дельного насоветовали только что-то типа Оловянных Клепок, через овтерстия максимально большого проходного сечения  
    • ДБ функция логарифмическая, а на твоём спектралабе шкала дб линейная, почему??? Радиотехник ты неплохой, а вот метролог из тебя левый. Учи матчасть и не зас_рай  тему своим офтопом.
    • правильно мыслишь... скорее всего надо увеличить сопротивление R1 до 2-3 кОм.. (или R3)..
×
×
  • Создать...