В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Управляем нагрузкой по USB с помощью ПК и ATMega8

📆28 августа 2013   ✒️hottabi4   🔎30.523   💬15  
Управляем нагрузкой по USB с помощью ПК и ATMega8

В наше время все больше находят применение устройства, позволяющие управлять нагрузками с помощью ПК. Обычно это некий коммутатор силовых нагрузок, подключаемый к компьютеру и специальное программное обеспечение.

Встречаются готовые образцы, которые позволяют управлять нагрузками удаленно через интернет, например, давая возможность включать свет, ТЭНы в бане, различные клапаны и т.д. Современные технологии позволяют делать устройства миниатюрными и быстродействующими.
Описанное в статье устройство создавалось в рамках учебного курса университета в виде курсового проекта, поэтому начну с самого начала.

Анализ

Для решения задачи я решил применить микроконтроллер, который должен иметь на борту приемопередатчик UART и минимум три свободных порта для трёх каналов управления (количество их может быть увеличено и зависит от числа нагрузок). Вполне подходящим оказался микроконтроллер семейства AVR - ATMega8, как самый распространенный и недорогой.

Для создания связи устройства через USB-порт с ПК я использовал аппаратный преобразователь USB-UART с использованием микросхемы FT232RL.

Схема структурная

Структурную схему можно представить в следующем виде:

Тут все очень просто и почти не требует пояснения. Вся электрическая часть устройства состоит из следующих элементов:
a) Блок управления включения/выключения нагрузки
b) Микроконтроллер
c) Преобразователь USB – UART
d) ПК и программа управления устройством

После подключения устройства к ПК пользователь запускает программу управления устройством. При удачном подключении от устройства придёт сообщение, после чего можно будет управлять нагрузкой. Данные о включении или выключении выводятся в окне программы.

Схема электрическая принципиальная

Связь с компьютером осуществляется с помощью преобразователя USB-UART на FT232RL, для чего используется выводы 3 и 4 порта D микроконтроллера, соответствующие сигналам RxD и TxD. Схема подключения осуществляется согласно документации на FT-232RL и ATMega8. Кварцевый резонатор имеет частоту 7.3728 Мгц. Управление нагрузкой осуществляется с помощью гальванически развязанного ключа на симисторе BT138-600 и оптопаре MOC3061. Такого ключа достаточно для нагрузки до 12А.
Схема выглядит следующим образом:
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.



А как же это все должно работать?

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

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

При запуске программы и удачном подключении устройства, программа обменивается с МК данными иполучает сообщение об удачном подключении. При повторном подключении программы к уже включенной плате, устройство посылает сообщение о количестве и номере включенных устройств.
Работает МК в режиме ожидания, пока не произойдет прерывание по приему данных. Описанный выше цикл повторяется бесконечно, пока включено питание устройства.

Прошивка для МК

Программа, отвечающая за работу МК написана с использованием WinAVR и отлаживалась виртуально на ПК при помощи пакета ISIS 7 Professional. Увидеть исходный код и получить готовую прошивку можно скачав архив внизу статьи.
Если кому-то будет интересен результат компиляции кода, то он представлен ниже:


Программа для ПК

Написание программы для ПК для меня было уже куда более интересным. Т.к. раньше мне уже доводилось встречаться с Delphi изначально был выбран он. Но дойдя до стадии использования в проекте объекта для работы с COM-портом встретился с проблемой (возможно сам не доглядел): ни в одной сборке студий я такой объект не обнаружил.
Тогда я взял самоучитель по С# и, посидев с ним 2 вечера после работы, приступил к написанию пробной версии программы. Внешне вышла она не очень привлекательной, но это не главное. Главное - работает!

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

В общем, программа получилась такой как я хотел, хотя осталась еще пара идей, которые хотелось бы реализовать позднее.
Для работы программы COM-порт необходимо настроить следующим образом:
Baund Rate - 9600
Data bits - 8
Stop Bits - 1


Сборка


Проект был собран на монтажной плате, ПП не разрабатывалась. Прилагаю к статье файл модели в Proteus 7.6 SP4.

Заключение

В заключении хочется сказать, что работа над проектом продолжается.
В планах:
• реализация FIFO,
• наращивание числа коммутаторов,
• доработка управляющего ПО

Спасибо за внимание!

Файлы

Исходники и прошивка МК:
🎁AVR.zip  70.42 Kb ⇣ 89

Программа управления по USBдля Win:
🎁USB-Controll.zip  26.83 Kb ⇣ 84

Модель в Proteus 7.6 SP4:
🎁All.zip  920.45 Kb ⇣ 76

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 23 читателя.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, Евстифеев А.В.... Издательство: Додэка XXI [М.], 560 стр. 2005 г. Книга посвящена вопросам практического применения...
Схема на Датагоре. Новая статья Управление шаговым двигателем с ПК... Драйвер для шагового двигателя, который управляется с персонального компьютера. Привет всем! Решил...
Схема на Датагоре. Новая статья ATmega8A, ATmega8, ATmega8L datasheet даташит... Фото чипа atmega8a в корпусе dip28 Представляю вам даташит на микроконтроллер ATmega8 фирмы Atmel,...
Схема на Датагоре. Новая статья Миниатюрный полный USB-RS232 адаптер на CP-2102 для подключения микроконтроллера к компьютеру по USB... В продолжение к теме «Программатор AVR910», про маленькое устройство, хочу предоставить вашему...
Схема на Датагоре. Новая статья SHT10 + Atmega8: Микроконтроллерный модуль управления вентилятором санузла, v2... Доброго дня, сограждане! Представляю вторую версию блока управления вентилятором для ванной,...
Схема на Датагоре. Новая статья Elect_60: программа микроконтроллерного управления внешними устройствами от ПК... Многие наши коллеги желающие создать микроконтроллерное устройство, управляемое от ПК сталкиваются...
Схема на Датагоре. Новая статья Регулятор громкости и тембра с ДУ на TDA8425 + ATMEL AT90S4433... Когда-то, в 2005-2006 году, мной был сделан регулятор громкости и тембра на TDA8425 с ДУ. Статья...
Схема на Датагоре. Новая статья Фото-реле на микроконтроллере ATTiny13... Привет датагорцам! Я затеял ремонтные работы дома, и мне понадобилась система автоматического...
Схема на Датагоре. Новая статья TDA7442D+ATmega8. Микропроцессорный регулятор громкости... Привет ВСЕМ!!! Интересно, кому бы не хотелось, чтобы его усь обладал сервисом промышленных...
Схема на Датагоре. Новая статья USB-программатор AVR на FT232RL с буффером... Иметь дело с микроконтроллерами (как и вообще с цифровой техникой) мне приходится довольно редко и...
Схема на Датагоре. Новая статья Программирование микроконтроллеров в AtmelStudio 6. Часть 2. Одна программа на разных языках.... Для радиолюбителей, которые до определенного времени не использовали микроконтроллеры в своих...
Схема на Датагоре. Новая статья Универсальный контроллер управления 7-сегментными LED индикаторами по двум проводам (Atmega16)... Занялся я конструированием нового устройства и встал вопрос — на чем отображать данные....
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

<
Читатель Датагора

AudioKiller

<
Читатель Датагора

Datagor

<
Читатель Датагора

dimon5000

<
Читатель Датагора

AudioKiller

<
Читатель Датагора

Datagor

<
Читатель Датагора

hottabi4

<
Читатель Датагора

GRafGRay

<
Читатель Датагора

Datagor

<
Читатель Датагора

GRafGRay

<
Читатель Датагора

UncleHarry

<
Читатель Датагора

Datagor

<
Читатель Датагора

UncleHarry

<
Читатель Датагора

Datagor

<
Читатель Датагора

dream

<
Читатель Датагора

Datagor



Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой