Главная » Микроконтроллеры
Призовой фонд
на март 2017 г.
1. UNI-T UT-39C
Паяльник
2. Тестер компонентов LCR-T4
Паяльник
3. 100 руб.
От пользователей

LAN Control

Почти 2 года назад, я разработал устройство Universal Device, но, как оказалось, оно слишком многофункциональное, вторая его проблема была в том, что он очень зависим от ПК. Мне присылали много писем, в которых пользователи устройства перечисляли плюсы и минусы. Теперь я решил разработать устройство, которое будет подходить большинству критериев:

  1. Устройство должно быть независимо от ПК.
  2. Управление функциями ПК (Винамп, курсор и т.д.) тоже бессмысленно.
  3. Уменьшить количество индикаторов.
  4. И самый важный критерий: полное удаленное управление на любом расстоянии (разумеется, через инет).

Еще писали, понравилось то, что такое многофункциональное устройство уместилось на односторонней плате, поэтому, и это я тоже постарался уместить на односторонней плате.

Какой интерфейс применить? Не долго думая, я выбрал Ethernet, а в качестве интерфейсной микросхемы -  ENC28J60. С момента появления этой микросхемы, уже создано много самоделок, они подключаются к роутеру, и имеют WEB интерфейс, это значит, что с помощью браузера до устройства можно достучаться через его IP, к тому же, не только в пределах локальной сети, настроив в роутере проброс порта, можно получить доступ по IP роутера через любое устройство, подключенное к инету. Но если такие устройства уже есть, зачем же мне разрабатывать еще одно? Если у Вас IP статический, то зная его, вы всегда можете получить доступ к устройству через инет, но статический есть далеко не у всех, а если вы используете GPRS/3G инет (как я, CDMA), то статический адрес приходится покупать за дополнительную плату. Но в моем устройстве нет этого недостатка, к нему можно получить доступ с помощью логина и пароля, не зная IP.

Я разработал устройство с такими характеристиками:

  1. Подключение к роутеру с помощью витой пары.
  2. Количество выходящих каналов: 7 (максимальный ток 500мАна каждый), выходящее напряжение равно напряжению питания.
  3. Количество входящих каналов: 4.
  4. Сеть 1-wire, к которой можно подключить до 20 датчиков DS18B20.
  5. Управление и настройка устройства с помощью браузера.
  6. Возможность управления выходящими каналами с помощью пульта с RC5.
  7. Возможность устанавливать имя для каналов и датчиков, сохраняется в энергонезависимой памяти.
  8. Обновление прошивки через USB.

К сожалению, ENC28J60 требует обвес, у меня так и не получилось сделать для него одностороннюю плату, поэтому, я решил купить готовый модуль:

Модуль ENC28J60

Купить можно AliExpress. Цена 3-4$ с учетом доставки. Но при этом, у нас уже есть сама микра и разъем с трансформатором с светодиодами, если покупать это по отдельности, то цена будет точно выше.

Схема 1. Питание:

Схема питания

Питание 6-35В постоянного тока, понижается до 5В с помощью импульсного стабилизатора MC34063A. Дроссель советую брать минимум на 1А.

Схема 2:

Схема устройства

Микроконтроллер Atmega32, память AT24C64, в качестве ключей выходных каналов используется микросхема ULN2003. Питание Ethernet модуля требует 3,3В, поэтому, установлен стабилизатор REG1117-3.3. Для приема сигналов с пульта установлен TSOP1736, перемычкой возле него можно отключить возможность приема комманд с ПДУ. 2 транзистора 2N7002 используются для 1-wire, рядом 2 диода защищают линию от напряжения, выше напряжения питания (если будет длинный провод, то будут наводки), еще установлен один датчик DS18B20. PORT6 для подключения Ethernet модуля. Ну и паръем USB для подключения к ПК. Перемычка BOOTLOADER предназначена для перевода устройства в режим обновления прошивки.

Получилась вот такая плата:

Плата устройства

Я здесь забыл поставить перемычку бутлоадера. Вверху слева показано, куда надо подключать модуль. Выходящие замыкаются на землю, тоесть, если Вы хотите подключить светодиод, то его «+» надо подключит к VCC а «-» к одному из каналов. Входящие каналы считаются активными, если замкнуты на землю (GND). Дополнительные датчики DS18B20 подключаются разъему U4.

Фото устройства

Теперь надо прошить МК. Прошейте его файлом bootloader.hex, затем выставьте фьюзы LOW=0x3F, HIGH=0xDA, если программа вашего программатора не позволяет просто выставить верхний и нижний байты, тогда зайдите сюда http://avr.roboforum.ru/calc.html?part=ATmega32, слева введите эти 2 байта и увидите, как правильно надо расставить фьюзы. Бутлоадер прошит, теперь программатор не нужен. Вставьте МК в устройство, подключите кабель USB, установите перемычку бутлоадера, и затем подключите питание, комп должен найти новое HID устройство и установить его (драйверы не нужны), устройств успешно переведено в режим прошивки. Для прошивки используются 3 файла: bootloadHID.exe – программа хоста, boot.bat файл и командами и LAN_Control.hex – это сама прошивка, когда будете обновлять прошивку, то замените этот файл новым. Все 3 файла должны лежать в одной директории. Запустите boot.bat, должно выскочить черное окно, в нем пару минут будут бегать цифры и оно закроется, прошивка завершена.

Отключите перемычку, подключите питание, загорится D6 на 1 секунду и потухнет, если пока он горит, установить перемычку бутлоадера, то установляться стандартные настройки, это нужно обязательно сделать при первом включении. После их установки дважды мигнет светодиод. Стандартные настройки такие:

  • IP: 192.168.1.170
  • MAC: 84.85.88.16.0.41
  • Порт: 80

Если зайти в меню вашего роутера, то ВОЗМОЖНО там будет отображаться подключение этого устройства, но далеко не всегда (у меня он вообще его не показывал). Чтобы убедиться, что есть нормальная связь между компом и устройством (они должны быть в одной локальной сети, тоесть, подключены к одному роутеру), откройте Командную строку и напишите ping 192.168.1.170, должно прийти 4 ответа:

Ping

Это значит, что связь нормальная.

Откройте браузер и перейдите по адресу http://192.168.1.170/, должно появиться примерно такое окно:

mc91-7.png

У меня подключен один внешний датчик, поэтому отображается 2. Теперь можно управлять выходными каналами, но лучше сначала задать им имена, нажмите Настройки, появится такая страница:

Настройки

И задайте для каждого компонента имя(латинскими буквами). Для этого, выберите Термодатчик, номер 1 и введите какое то имя, затем для каждого термодатчика, после этого, для 7 выходных и 4 входных каналов. Теперь нажмите Выходящие каналы.

Каналы

Как видите, у меня для первого канала установлено имя «one», для второго – «two» и т.д. Если выход активный, то возле него будет ON, если не активный – OFF. Чтобы изменить состояние, нажмите «Изменить».

Примерно так же выглядит вкладка «Входящие каналы»:

Каналы

Продолжаем настройку устройства. Для этого, нужно зайти в панель администрирования. Для этого, при включенном устройстве нужно установить перемычку бутлоадера и перейти по адресу http://192.168.1.170/admin

Admin

Здесь можно изменить IP адрес, МАС и порт(остальное пока что не нужно). Установленные изменения применяются только после перезагрузки устройства. Имейте ввиду, что порт 80 – это стандартный порт сервера, если он будет не 80, а к примеру, 200, то в адресной строке после IP надо через двоеточие указывать порт, тоесть http://192.168.1.170:200/.

Теперь попробуем достучаться к устройству через инет, зная его IP.

Для начала, нужно настроить проброс порта на IP устройства. После этого, его кто-то перейдет с внешней сети IP:порт_устройства, то запрос перейдет на само устройство.

Настройка проброса порта не вызывает никаких трудностей, у меня роутер WR1043 с прошивкой OpenWrt. Для настройки проброса нужно зайти в веб-интерфейс роутера (обычно http://192.168.1.1), затем Сеть->Межсетевой экран, там найдите Перенаправления и нажмите Добавить.

Перенаправление траффика

Имя введите любое, Протокол TCP+UDP или просто TCP, Внешний порт – это порт устройства, Внутренний IP адрес – это IP устройства, Внутренний порт можете оставить пустым. Сохраните и примените настройки. Попробуйте достучаться к устройству через инет(можно делать и в локальной сети). Узнайте IP роутера во внешней сети, для этого можно открыть http://speedtest.net/, в самом большом окне внизу слева будет отображаться ваш IP. Теперь откройте в браузере этот IP, и через двоеточие порт (к примеру, у меня http://130.185.30.125:80/), должно отобразиться то же самое что и при переходе по IP устройства.

Теперь наше устройство доступно через инет. Но мы подключались к нему зная IP, а если мы его не знаем?
Для этого, я создал небольшой сервис, принцип его работы в том, что пользователь на нем регистрируется, затем вводит логин и пароль в панели администрирования, и устройство с установленной периодичностью отправляет логин, пароль и порт на этот сервис, сервис вычисляет IP, откуда пришли дынные (это будет IP роутера во внешней сети) и сохраняет данные в базе данных. Затем, пользователь заходит на сайт, вводит логин и пароль, после чего отображается страница с фреймом, в котором переход по IP:port. Теперь более подробно.

Регистрируется на сайте http://kibermaster.net/, затем открываем http://lc.kibermaster.net/, «Регистрация» и вводим те же самые логин, пароль и имейл, которые на http://kibermaster.net/. Теперь заходим в админ-панель устройства (у меня http://192.168.1.170/admin), вводим там логин, пароль, частоту репорта (как часто отправлять данные на сервис) и IP роутера по внутренний сети (обычно 192.168.1.1), сохраняем, вытягиваем перемычку бутлоадера и перезагружаем устройство. Если частота репорта не равна 0, тогда при включении будет отправлять на сервис данные устройства, так же, они будут отправляться через установленный интервал времени (частота репорта).

Внимание! Автор проекта принимает заказы на разработку устройств на микроконтроллерах, обращайтесь на devices2000 {собака} ya.ru

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Схема 1. Питание
DC/DC импульсный конвертер
MC34063A
1 Поиск в FivelВ блокнот
Выпрямительный диод
1N4007
1 Поиск в FivelВ блокнот
Диод18121 Поиск в FivelВ блокнот
Конденсатор470 пФ1 Поиск в FivelВ блокнот
Конденсатор0.1 мкФ5 Поиск в FivelВ блокнот
Электролитический конденсатор10 мкФ1 Поиск в FivelВ блокнот
Электролитический конденсатор100 мкФ1 Поиск в FivelВ блокнот
Электролитический конденсатор1000 мкФ1 Поиск в FivelВ блокнот
Резистор
680 Ом
1 Поиск в FivelВ блокнот
Резистор
1.5 кОм
1 Поиск в FivelВ блокнот
Резистор
4.7 кОм
1 Поиск в FivelВ блокнот
Светодиод1 Поиск в FivelВ блокнот
Дроссель220 мкГн1 Минимальный ток 1 АПоиск в FivelВ блокнот
Разьем для подключения питанияDG301-5.0-02P1 Поиск в FivelВ блокнот
Схема 2
МК AVR 8-бит
ATmega32
1 32-16PIПоиск в FivelВ блокнот
Линейный регулятор
REG1117-33
1 Поиск в FivelВ блокнот
МикросхемаM24C64MN11 Поиск в FivelВ блокнот
Датчик температуры
DS18B20
1 Поиск в FivelВ блокнот
Составной транзистор
ULN2003
1 Поиск в FivelВ блокнот
MOSFET-транзистор
2N7002
2 Поиск в FivelВ блокнот
Стабилитрон3.6 В2 Защита USBПоиск в FivelВ блокнот
Диод12064 Поиск в FivelВ блокнот
Диод18122 Поиск в FivelВ блокнот
Конденсатор22 пФ2 Поиск в FivelВ блокнот
Конденсатор0.1 мкФ2 Поиск в FivelВ блокнот
Резистор
68 Ом
2 Поиск в FivelВ блокнот
Резистор
1 кОм
8 Поиск в FivelВ блокнот
Резистор
1.5 кОм
1 Поиск в FivelВ блокнот
Резистор
2.4 кОм
3 Поиск в FivelВ блокнот
Резистор
4.7 кОм
3 Поиск в FivelВ блокнот
Резистор
100 кОм
1 Поиск в FivelВ блокнот
Кварцевый резонатор16 МГц1 Поиск в FivelВ блокнот
Кварцевый резонатор1 Поиск в FivelВ блокнот
LED Светодиод1 Поиск в FivelВ блокнот
USB-разьем1 Поиск в FivelВ блокнот
РазьемDG301-5.0-02P1 Поиск в FivelВ блокнот
РазьемDG301-5.0-03P5 Поиск в FivelВ блокнот
РазьемPORT22 Поиск в FivelВ блокнот
РазьемPORT31 Поиск в FivelВ блокнот
РазьемPORT61 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Бражников Михаил Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (2) | Я собрал (0) | Подписаться

0
mvasia #
Лучше использовать ddns , а пароль поставить на вход в WEB интерфейс.
Ответить
0
Dячеслав #
Скажите, а веб интерфейс где хранится? Ну там HTML и прочая приблуда?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Печатная плата для усилителя "LM3886 + AD825" Осциллограф DSO138
вверх