NANO (или MICRO) + Компас + RS485

Тема в разделе "Arduino & Shields", создана пользователем IgorU, 14 ноя 2015.

  1. IgorU

    IgorU Нуб

    Стоит задача: используя в качестве датчика тройка-модуль "Компас" в связке с малогабаритными платформами Ардуино NANO или MICRO, передавать значения угла посредством интерфейса RS485 на другой такой же комплект. Пространство установки датчика ограничено, поэтому микро и нано.
    Вопросы:
    1. Схема подключения модулей к платформе? Есть ли какие тонкости?
    2. Будет ли работать такая связка, если установить несколько экземпляров с датчиками и их опрашивать в цикле?
    3. Хватит ли памяти у MICRO и NANO для программы обработки и трансляции данных?
     
    Последнее редактирование: 14 ноя 2015
  2. Alex19

    Alex19 Гуру

    По компасу, там все просто, не плохое описание тут - http://wiki.amperka.ru/продукты:troyka-compass.
    Единственный нюанс, что на nano I2C на ножках A4 (SDA) и A5 (SCL), а на micro 2 (SDA) и 3 (SCL). Про RS-485 модуль/микросхему Вы не чего не сказали. Я использую такие
    [​IMG]
    Подключение таких, тут - http://adatum.ru/podklyuchenie-konvertera-rs-485-v-ttl-k-arduino.html. Другие не особо отличаются. На контролер идут 2 провода на Serial (1 если, только передача) и 1 провод управления (его можно не использовать, посадить на землю или плюс, если не нужна 2-х сторонняя передача).

    Не очень понятен вопрос, если подключить еще какие-то датчики, то нужно понимать какие. В общем случае да, но бывают нюансы, в зависимости от скорости опроса и самих датчиков.

    Если речь об этом
    То безусловно хватит.
     
  3. IgorU

    IgorU Нуб

    Я имел ввиду на один комплект NANO посадить(например) Компас + Анемометр + температуры и влажности + барометр. Вот таких комплектов будет несколько. Все они должны объединиться в сеть и ведущая Ардуино будет последовательно их все опрашивать. Компас и анемометр опрашивать часто, а температуру и давление не так критично, можно и раз в минуту и даже реже.
    Беспокоит вопрос как ведущий узнает с какого комплекта пришли данные, каким образом идентифицировать комплекты или датчики?
     
  4. Alex19

    Alex19 Гуру

    Теперь появляется понимание задачи. По подключению для RS-485 2 пина TX, RX на ардуине и 1 управляющий на ней.

    Параметр часто, не самый лучший. Лучше кол-во опросов, к примеру 10 в секунду и т.д.

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

    Можно сделать свой, протокол. Но лучше воспользоваться существующими. Примеры можно посмотреть тут - http://playground.arduino.cc/Main/InterfacingWithHardware#Communication, смотрите на этой страницы Modbus RTU Master/Slave, ModbusMaster, SimpleModbus, Modbusino.

    UPD. Если решите делать свой протокол, чего я настоятельно не рекомендую. Могу дать отличную базу для AVR на Си, поддерживает и nano и micro, останется дописать адресацию и переключение. Она будет полезна, если обычные библиотеки не будут устраивать.
     
    Последнее редактирование: 14 ноя 2015
  5. IgorU

    IgorU Нуб

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