Jump to content
duty

Подключение адресного ключа к микроконтроллеру

Recommended Posts

Привет, участникам форума! Подскажите, пожалуйста, как можно реализовать связь микроконтроллера pic с адресным ключом (ds2405 или ds2408) по 1-wire (на шине будут висеть несколько ключей)  для считывания pio ключа, во входном режиме, т.е на pio поступает сигнал  с магнитоконтактного датчика о срабатывание его или нет.    Datasheet читал, но мало чего понял.  Тестирование произвожу в proteus 8.6

Share this post


Link to post
Share on other sites
5 часов назад, duty сказал:

Datasheet читал, но мало чего понял.

Естественно. Там ничего нет про магнитоконтактный датчик.
Схему что ли нарисуйте... Где у вас там датчик.

Share this post


Link to post
Share on other sites

И вопрос более развёрнутей задайте. "как можно реализовать связь" - слишком скромно...

Share this post


Link to post
Share on other sites

Особенности схемотехники и трассировки печатных плат для STM32WB55

Разработка новых устройств на базе беспроводного микроконтроллера STM32WB от STMicroelectronics может быть сделана в короткий срок, если выполнять некоторые важные правила и воспользоваться готовыми конструктивными решениями и рекомендациями инженеров ST.

Читать статью

Ну и 1-wire шина подразумевает, что у вас данные будут передаваться в обе стороны по одной линии, т е у МК пин будет настраиваться на выход и отпускать линию (на вход). Команды можно слать всем ключам одновременно, а можно по-отдельности, используя уникальное имя отдельно взятого ключа.

Share this post


Link to post
Share on other sites
02.11.2019 в 00:18, Lexter сказал:

Естественно. Там ничего нет про магнитоконтактный датчик.
Схему что ли нарисуйте... Где у вас там датчик.

image.png.92bc7fad3f2e2bb911a38e3077692c72.png

Вот схема. Ключ - подобие "сухих контактов" магнитоконтактного датчика \. Я программирую мк на ccs c compiler, но нигде не нашел нормальной реализации, кроме как для ds1990 и ds18b20. Может быть есть у кого-нибудь реализация связи мк с ds2405 (не обязательно для ccs)?  

Share this post


Link to post
Share on other sites
                     

CoolGaN - на предельной скорости коммутации!

Решения на галлий-нитриде (GaN) обладают фундаментальными преимуществами перед кремнием. В частности, имея более высокую критическую напряжённость электрического поля, в сравнении с традиционными кремниевыми транзисторами, транзисторы на основе галлий-нитрида обладают выдающимися динамическими характеристиками, что позволяет коммутировать их на высоких частотах. Семейство CoolGaN™ – это именно то, что необходимо, чтобы поднять ваши устройства на принципиально новый уровень. Мы собрали все самые интересные материалы по данной теме на одной странице.

Читать статьи

3 часа назад, duty сказал:

Я программирую мк на ccs c compiler, но нигде не нашел нормальной реализации...

Понятнее не стало...

Так вы таки программируете, или ищете готовую схему и прошивку?

 

Кстати, схема неправильная. Внутри DS2405 на входе-выходе PIO ключ на GROUND, а подтяжки к питанию нет. При использовании PIO как входа, его замыкание-размыкание на GROUND бессмысленно.

Edited by Lexter

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Илья Говжеев
      Поделитесь опытом , кто уже пробывал из arduino сделать программатор pic? 

    • By Терентенко Андрей
      Добрый день! Имею следующую ситуацию : на базе  PIC16f676  создал приблуду для "управления нештатной магнитолой с руля", а именно  сигнал с руля это 4,8в и в зависимости от нажатой кнопки падает дискретной до 0.8в мк с помощью АЦП отслеживает  на магнитолу паралельно кнопкам кинул оптрони которыми управляет МК. Питание от LM с фильтрующими конденсаторами. При тестових прогонах всё работало как надо (программно реализовано защиту от дребезга аж на 0.1 сек в поисках решений) и в машине  и от штатного БП . Но заметил закономерность сейчас на улице - 2 и при первом запуске минут 5, МК "шумит" несоотвецтвует нажатия на руле кнопке  на магнитоле ! Сигнал с руля смотрел стабильный без дребезга , притом когда тестил вынес магнитолу подключил всё работало гуд но пока устанавливал закручивал она остыла и начинались эти тацы . Кто что подскажет? МК или ЛМ могут так реагировать на температуру ? Прошу прощения у модераторов за повторение теми (может в этом разделе будет актуальней)
    • By Splav
      Речь пойдет о таймере цикличного включения вентиляции гаража.
      Стояла задача обеспечить принудительную вентиляцию гаража.
      Оставлять включенным вентилятор круглые сутки - неоправданно.
      Включать его периодически вручную... Неудобно и лишено смысла.
      Поэтому было решено включать его на определенное время через разные интервалы времени, в зависимости от субъективного восприятия наличия сырости в гараже.
      Вменяемых вариантов в продаже я не нашел.
      Можно, конечно, приобрести на Али программируемый суточный таймер или что-то подобное...
      Да, можно, но мне кажется, что собрать из подручных деталей тоже можно, ну и мозги потренировать.
      За основу был выбран PIC12F675, потому что он у меня был.
      По уму здесь должен стоять PIC12F629, он дешевле, в нем нет АЦП, который в конструкции не используется и отключен.
      Итак.
      Время работы выбрано фиксированным и неизменным - 1 час.
      Время простоя - в зависимости от режима.
      1 час - 2 часа - 3 часа.
      (Изначально я планировал другие задержки: 2-3-5 часов. На практике в моих гаражных условиях эти интервалы оказались слишком большими)
      Индикация осуществляется всего 1 светодиодом.
      Переключение режимов и управление - всего 1 кнопкой.
      Схема:

      Коротко о работе:
      Кнопка.
      Опрос кнопки 10 раз в секунду. Антидребезг и подавление помех 0,3с - 3 опроса подряд кнопка нажата.
      Короткое нажатие на кнопку(от 0,3 до 2 с) - переключение режимов по кругу. 1 - 2 - 3 - OFF - 1 - 2 -  ....
      Длинное нажатие на кнопку (дольше 2 с) - смена состояния реле.
      Если оно было включено - выключается.
      Если было выключено - включается. Интервалы работы реле при этом соответствуют режиму.
      В режиме OFF длинное нажатие ничего не меняет.
      Переключение режима или смена состояния реле происходят при отпускании кнопки.
      Светодиод.
      Индикация режимов светодиодом:
      1 - 1 раз в 2 секунды загорается, если реле не включено. Проблеск света.
            1 раз в 2 секунды гаснет, если реле включено. Проблеск тени.
      2 - 1 раз в секунду загорается, если реле не включено.
            1 раз в секунду гаснет, если реле включено.
      3 - 2 раза в секунду загорается, если реле не включено.
            2 раза в секунду гаснет, если реле включено.
      OFF - загорается раз в 5 секунд. Контроль того, что МК не завис.
      Режимы работы.
      Время работы циклического таймера по режимам:
      1 - 1 час работы / 3 часов отдых. 6/24
      2 - 1 час работы / 2 часа отдых.  8/24
      3 - 1 час работы / 1 часа отдых.  12/24
      Работа.
      При отключении питания, пока не разрядились конденсаторы фильтра, МК отключает все выходы, сохраняет текущие данные в память, ждет 15 сек в таком состоянии и возобновляет работу, если отключение было кратковременным и емкостей фильтра питания хватило.
      Если отключение питания было длительным то, при возобновлении питания, загружает сохраненные данные из памяти и продолжает работу.
      При первом включении, после программирования МК, устройство работает в 1-ом режиме.
      Программа писалась в MPLab X IDE v4.05.
      Прошивка:fan_cycle_timer.hex

      Плата для устройства не разрабатывалась. Все было собрано на макетке.
      В блоке питания использован стандартный трансформатор для монтажа на плату ТПК 2х9V с 2-мя вторичными обмотками на 9В.
      Использовал только одну из них. Вторая - не подключена, в "воздухе"
      Реле - HLS-14F1D-DC12V-C. С обмотка на 12В, и одной группой переключающих контактов на 10А/240VAC.
      Устройство собрано в корпусе щитка для автоматов на 8 модулей. Производитель VIKO.
      Закреплена плата на щиток через резьбовые дистанционные втулки с резьбой М3.
      В качестве вентилятора - вытяжной вентилятор диаметром 125мм ВЕНТС 125С
      Устройство на данный момент отработало в гараже все лето, температура воздуха в тени доходила до 32 градусов.
      Перегревов элементов и зависаний контроллера пока не было.
       
      Несколько фото для общего представления о конструкции.

    • By Rusteka
      Продам микросхемы. Все микросхемы новые, в наличие.
      1. PIC18LF4550-I/P Microchip 65шт
      2. ATtiny85-20PU [DIP-8] Atmel 200шт
      3. PIC18LF452-I/L Microchip 50шт
      4. A29L040L-70F Amic 50шт
       
       

       



       
  • Сообщения

    • В наличии 13 шт.   2т819в с радиаторами.  год 1990.  б.у.  продаётся всё сразу за 500 руб. + почтовые расходы.  оплата на карту сбербанк. 
    • http://www.alfarzpp.ru/rus/sc/153ud1-3.pdf примерно одно и то же ... ставь - пойдет аж бегом
    • @IMXO Схему в Протеусе не рисовал, а те, что были - давно утеряны. Да там схема-то особо и не нужна. RB3 - вход (последовательный 1 wire), все остальные - выходы на сегменты и выбор знака. В проекте Протеуса подтянул RB3 к питанию, остальные - выходы, в никуда. В общем, схема как в 16f505_test. В программе на первую секунду зажигаются все сегменты (на выходах на сегменты все нули), потом индицируется " - - " (только два нуля) и без последовательного кода на входе не меняется. Линии выбора знака индикатора должны меняться с частотой примерно 60 Гц. Поправочка. Вход - RB3 и RB2 (соединены).
    • элементарно. сигнал усилить в усилителем в 20раз и пропустить через триггер Шмитта на компараторе , подать на вход INT МК и включить прерывание по нарастающему фронту, запустить любой таймер на тик 1мс , по отработке таймера инкриминировать беззнаковый счетчик разрядностью 16 бит  по отработке прерывания по фронту из нового значения счетчика вычесть старое значение счетчика = период с точностью +/-1мс новое значение счетчика сохранить как старое.
    • @IMXO , вот например, дешифратор динамического семисегментного индикатора. Написан в 2003-м под pic16c, для pic16f исправлен OPTION в 2015-м в MPLab 8.40. В ASM есть коментарии. RB3 - вход (последовательный 1 wire), все остальные - выходы на сегменты и выбор знака. С этим проектом с единственным из всех Протеус запустил заново созданный проект (даже ещё без имени и не сохранённый), открылось окно окно Sourse Code и может долго шагать по шагам, дважды вызвав подпрограмму. Но всё равно если RUN, то вылетает с той же ошибкой в DLL на совершенно безобидной операции то ли RLC, то ли MOVE (по которым он уже дважды прошёл), - не отловил, т.к. при вылете в ошибку закрываются все окна Sourse Code. DC_BAG1.rar
×
×
  • Create New...