Pull to refresh

Как мы создавали стенд лабораторный для дисциплины заморской «Информатика»

DIY
Sandbox
Долго ли история сказывается, споро ли дело делается, но сложилось у меня ощущение, что студент нынче пошел какой-то иной. Не то, чтобы не слушающий, и не сколько глупый, сколь в себя неверующий. Не верит он, что может сам, своими руками что-нибудь стоящее сделать. А поскольку специальность у нас «Управление техническими системами» и без «прямых ручек работящих» здесь никак, то решил я им помочь. Показать, что просто все, что баклуши бить любой подмастерье может. Было бы полено, да инструмент ладный – компьютер, то бишь.

Стенд в том виде, которым его видит студент в первый раз

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


Структурная схема стенда (задумка)
Рис.1 Общая схема проекта

Сперва положили мы глаз на Arduino – хороша чертовка. Все при ней: и разъемы ладные, и примеров – хоть пруд пруди. Но дорогая она, и не поверит никто, что дипломник мой самостоятельные изыскания вел, ночами корпел; не только руками, но и головой работал. А значит, по-другому идти надо – microsin'у челом бить: «Угоди нам контроллером полезным, чтобы подключить могли к Родному и управлять из Окаянной с языком знакомым».
И явилась нам ATMEGA16. И могла она по USB команды принимать. И по указке сигналы электрические на схемы управляющие подавать.

Фото монтажной платы перед напайкой оптронов
Рис.2 Монтажная плата контролера

И возрадовались мы, и поздравив друг друга схему управления надумали. Назвали гордо – исполнительный механизм, чтобы студенты значимость и полезность осознавали своей работы. Мол технологи они уже, можно на производство высаживать, как саженцы проросшие.

Принципиальная электрическая схема
Рис.3 Принципиальная схема подключения линий управления исполнительных механизмов (разводка макетной платы взята с microsin.ru)

А схема-то – проще пареной репы. Проводки-то, от монтажной платы прямо к ключам пульта подпаяли. Ну само собой разъемы по пути вставили, да и оптроны для гальванической развязки не забыли. А то кто их знает, этих первокурсников, что они в дырки то совать будут – дурное то дело не хитрое.
Ломать – не строить, паять – не песни писать. Но вышла у нас поделка достойная. И вроде не сказать, что кустарщина – так, прототип, альфа-версия.

Макетка после пайки
Рис.4 Макетная плата с напаянными оптронами

Собранный стенд (без компьютера и машинки)
Рис.5 Модуль в сборе

Ну а далее самое интересное началось – изучение управления. Как сделать так, чтобы и машинка поехала, и студенты-первокурсники зеленые потом с этим же справились.
И пособил нам вновь microsin. Вернее сайт его незабвенный. Нашли мы на нем описания разные и библиотеку интересную – LibUSB. Ну и самое главное, в чем наша удача сложилась – изучали-то наши студенты С# («Си-шарп», то бишь). Хоть некоторые и говорили «Си-решетка».
И вышло у нас чудо-чудное, задачка-загляденье: «Как из программы некаверзной, править машинкой незалежной». И нужно-то всего, сборку стороннюю ATMega16.cs подключить, да объект объявить. А дальше – пиши-читай, не отлынивай.
И руководство методическое было подготовлено, и заготовка сделана — бей баклуши студент, да ложки строгай! Глядишь и помчит повозка лихая, и получишь ты оценку заветную.

Вид стенда подготовленного к защите
Рис.6 Стенд в сборе (скриншот приложения вклеен позднее – это иллюстрация для диплома)

image
Рис.7 Скриншот приложения

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

image
Рис.8 Скриншот полного приложения

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

А ежели кто повторить нашу работу у себя желание имеет, то пользуйтесь на здоровье:
исходный код программы управления (C#);
рекомендации по подключению и настройке контроллера, библиотека LibUSB и модуль-сборка ATMega16.cs.

PS. Вертолет радиоуправляемый сделать предлагать не стоит – уже в работе…
Tags:
Hubs:
Total votes 124: ↑85 and ↓39 +46
Views 3.3K
Comments Comments 113