Проектирование автоматизированной установки объёмной печати моделей

Проектирование установки, предназначенной для быстрого прототипирования (печати пластиковых моделей по готовой 3D-модели). Укрупнённая структурная схема системного проектирования. Разработка корпуса автоматизированной установки. Внешний вид контроллера.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.01.2015
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

(Descounted Payback Period - DPP) - период времени, за который
дисконтированные поступления от результатов внедрения проектных
решений покроют инвестиции, т.е. значение периода окупаемости
определяется из соотношения:

(6.14)

где CFt - поступление денежных средств от эффектов, связанных с
внедрением проекта;

Инвестиции в разработку данного проекта составляют 1250 тысяч рублей. Себестоимость одной установки 25,65 тысяч рублей.

С учётом того, что на производство одной установки тратится 25, 65 тысяч рублей, инвестиции на разработку установки и сборку первого экземпляра тратиться 1250 тысяч рублей, принятое количество продаваемых установок в год составляет 5 единиц, а прибыль с продажи одной составляет 180 тысяч рублей, можно рассчитать период окупаемости, построив таблицу.

Таблица 6.2. Таблица формирования денежного потока

Показатели

Год

Итого

0

1

2

3

4

5

Результаты

0

900

900

900

900

900

4500

Затраты

0

128,25

128,25

128,25

128,25

128,25

641,25

Денежные средства от реализации

0

771,75

771,75

771,75

771,75

771,75

3858,75

Инвести-ции

1250

Ликвидационная стоимость

0

Денежные средства от инвести-ционной деятель-ности

-1250

Чистый денежный поток

-1250

771,75

771,75

771,75

771,75

771,75

Дисконти-рованный чистый денежный поток

-1250

648,27

547,94

455,33

385,86

316,42

1103,82

Дисконти-рованный денежный поток нараста-ющим шагом

-1250

-601,73

-53,79

401,54

787,4

1103,82

7. Безопасность и экологичность проекта

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

Безопасность - это состояние деятельности, при котором с определённой вероятностью исключается появление нежелательных последствий.

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

Обеспечение безопасности достигается следующим:

определением риска возникновения травмоопасного воздействия в системе и снижение его значения до допустимого уровня,

применением защитных устройств и других мероприятий;

обеспечением малоотходности производства и максимальной эффективности использования энергоресурсов при выборе технического решения;

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

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

7.1 Анализ безопасности и экологичности проектируемой установки

Автоматизированная установка объёмной печати моделей имеет конструкцию с подвижными механическими частями, которые перемещаются со скоростью до 25 сантиметров в секунду и развивающие усилие с моментом порядка 3 кг на сантиметр. Установка работает от сети переменного тока 220 В., потребляет мощность порядка 300-350 ватт. Температура печатающей головки достигает значений 190-230 градусов по Цельсию. Температура пластика в начальный момент экструзии так же достигает значений порядка 190-230 градусов. При печати применяются термопласты, такие как Поливинилхлорид, полистирол, полиамид-6, поликарбонат, ABS и PLA пластики.

Для работы с автоматизированной установкой объёмной печати моделей достаточно одного человека (оператора), следящего за процессом, производящего изъятие готовой модели и её постобработку. Так же оператор работает за ПК, обрабатывает 3D-модели, генерирует G-код и производит управление установкой. Однако установка поддерживает так же вариант раздельной работы с ПК, то есть работы в отсутствие связи с ПК. В этом случае установка управляется с клавиатуры, находящейся на корпусе, а индикация производится с помощью ЖК-дисплея, рядом с клавиатурой.

Работа с автоматизированной установкой объёмной печати моделей сопряжена с определёнными опасностями (см. таблицу 7.1). Для удобства восприятия и более точного понимания того, на каком именно этапе какие опасные и вредные факторы могут возникнуть, таблица разбита на операции и к каждой из них приведены факторы, которые возникают во время её выполнения.

Таблица 7.1. Опасные и вредные факторы при работе с автоматизированной установкой объёмной печати моделей

Операция технологического процесса

Опасные и вредные факторы

Включение установки

Электрический ток.

Процесс печати

Электрический ток; движущиеся части механизмов; высокие температуры рабочего органа и печатаемых материалов; токсичность используемого сырья; шум от движущихся частей механизмов и электрооборудования.

Изъятие готовой детали из установки

Высокая температура рабочего органа; высокая температура изготовленной модели; токсичность материала из которого изготовлена модель; острые кромки изготовленной модели; электрический ток.

Проведение постобработки модели

Токсичность материала из которого изготовлена модель; токсичность растворителя; раздражающее воздействие испарений растворителя.

К экологическим опасностям проекта стоит отнести следующее:

загрязнение воздуха токсичными испарениями, возникающими в процессе использования некачественного пластика, при печати;

загрязнение воздуха токсичными испарениями, возникающими в процессе постобработки при использовании некачественных пластика и/или растворителя;

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

7.2 Выбор мер по обеспечению норм безопасности и уменьшению риска

Важными физическими факторами при работе с установкой являются параметры микроклимата, а именно:

влажность воздуха;

температура воздуха;

скорость движения воздуха.

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

Требования к параметрам микроклимата и производственному помещению должны быть сопоставимы с требованиями, которые применяются к офисным помещениям при организации режима работы с оргтехникой (ГОСТ 30494-96).

А именно:

помещение должно иметь естественное и искусственное освещение;

искусственное освещение должно осуществляться системой общего равномерного освещения. Освещённость на поверхности стола должна быть 300-500 лк;

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

площадь на одно рабочее место с ПЭВМ должна быть не менее 6,0 кв.м, а объем - не менее 24,0 куб.м.;

звукоизоляция помещений должна отвечать гигиеническим требованиям и обеспечивать нормируемые параметры шума согласно требованиям СанПиН 2.2.2.542-96, не более 50 дБА.;

помещения должны оборудоваться системами отопления, кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией;

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

Температура воздуха - +15..+35?C;

Относительная влажность воздуха - 5-85% без конденсации;

Вибрация не более 0,25-55Гц;

во время эксплуатации техники форточки и рамы должны быть закрыты, техника должна быть защищена от воздействия прямых лучей;

в помещении ежедневно должна производиться влажная уборка.

Что касается самой автоматизированной установки, то для обеспечения безопасности необходимы соблюдать следующие правила:

подключать установку только в работающую розетку;

не допускать попадания влаги в установку (в случае попадания немедленно выключить и высушить);

не допускать попадание грязи и пыли в установку (в случае попадания нужно выключить и почистить);

использовать для печати только качественный пластик ABS или PLA;

по окончании печати выждать некоторое время прежде чем извлекать модель, либо извлекать модель в теплозащитных перчатках;

не выполнять постобработку в некачественном растворителе;

не выполнять постобработку в непроветриваемом помещении;

работать с растворителем только в специальных перчатках.

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

Работники должны пройти следующие инструктажи:

вводный

первичный

повторный

внеплановый

целевой

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

Так же необходимо проводить обучение работников правилам пожарной безопасности. Противопожарный инструктаж должен проводиться с учётом специфики предприятия. Проведение противопожарного инструктажа включает в себя ознакомление работников организаций с:

правилами содержания территории, зданий (сооружений) и помещений, в том числе эвакуационных путей, наружного и внутреннего водопровода, систем оповещения о пожаре и управления процессом эвакуации людей;

требованиями пожарной безопасности, исходя из специфики пожарной опасности технологических процессов, производств и объектов;

мероприятиями по обеспечению пожарной безопасности при эксплуатации зданий (сооружений), оборудования, производстве пожароопасных работ;

правилами применения открытого огня и проведения огневых работ;

обязанностями и действиями работников при пожаре, правилами вызова пожарной охраны, правилами применения средств пожаротушения и установок пожарной автоматики.

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

Необходимо обеспечить наличие всех инструкций по охране труда на рабочих местах.

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

При постобработке модели в растворителе необходимо использовать как средства индивидуальной защиты, так и средства коллективной защиты.

В качестве средств индивидуальной защиты необходимо использовать:

средства защиты рук: перчатки х/б с полным нитриловым покрытием и манжетой (защита от кислот);

средства защиты органов дыхания, лица и глаз: закрытые противогаз или респиратор.

В качестве средств коллективной защиты необходимо использовать средства нормализации воздушной среды, а именно:

вентиляция и очистка воздуха;

локализация вредных факторов.

Соблюдение всех этих мер обеспечит требуемый уровень безопасности на объекте.

7.3 Разработка проектных решений

7.3.1 Разработка мероприятий, методов и средств обеспечения безопасности работы установки

Для обеспечения безопасности работы установки, необходимо определить, какие именно опасности можно устранить путём внесения конструктивных решений в проект. В таблице 6.1 был указан перечень возможных опасностей, которые могут возникнуть при работе с установкой.

Стоит начать с самого простого. Так как установка рассчитана на применение пластиков ABS и PLA, которые в свою очередь изготавливаются из натуральных компонентов и не токсичны, так что при использовании их в качестве сырья для трёхмерной печати всякая опасность, связанная с химическим поражением человека исчезает. То есть мероприятие по устранению химической опасности, связанной с некачественным пластиком заключается в закупке качественного сырья.

Такой же принцип и по устранению химической опасности вследствие использования некачественного растворителя. Для растворения ABS пластика необходимо использовать ацетон, а для растворения PLA необходимы фенол или концентрированная серная кислота. Для работы с данными растворителями необходимо помещение с хорошей вентиляцией. Так же необходимо применять средства индивидуальной защиты. Для допуска персонала к работе с вредными веществами требуется проведение инструктажа по технике безопасности, а так же необходимо проводить предварительные и периодические медицинские осмотры лиц, имеющих контакты с вредными веществами. Вследствие этих мероприятий химическая опасность установки устраняется целиком, а химическая опасность постобработки модели в растворителях снижается.

Для предотвращения опасности механических травм о движущиеся части установки, опасности ожогов о нагревающиеся элементы установки и об пластик, а так же снижения опасности поражения электрическим током в конструктив установки необходимо внести изменения.

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

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

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

7.3.2 Выбор способов утилизации отходов производства

Сам процесс печати безотходен, и даже если приходится утилизировать старые отработанные модели, напечатанные на установке, то в этом не возникает никаких трудностей, поскольку используемые в печати пластики ABS и PLA являются нетоксичными и биоразлагаемыми.

Однако в постобработке моделей присутствует работа с кислотами, а именно с серной кислотой и фенолом (карболовая кислота).

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

Разложение кислоты при высокой температуре.

В жидком состоянии серная кислота может находиться при температуре ну более 300 градусов по Цельсию, при температуре 296 градусов уже начинается процесс разложения. Метод заключается в том, что кислота разогревается до температуры порядка 305 градусов, вследствие чего происходит нейтрализация;

Нейтрализация гидроксидом натрия.

Концентрированная серная кислота разбавляется одной порцией NaOH:

H2SO4 (конц.)+NaOH=NaHSO4+H2O.

Для разбавленной серной кислоты требуется та же щелочь в двойном размере:

H2SO4 (разб.)+2NaOH=Na2SO4+H2O.

В обоих случаях образуются оксосоли Na2SO4;

Помимо этого, серная кислота при определенных условиях нейтрализуется оксидами некоторых металлов.

Так, например, разбавленная серная кислота, соединяясь с оксидом бария, образует соль - сульфат бария и воду:

H2SO4 (разб.)+BaO=BaSO4+H2O.

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

H2SO4 (разб.)+Zn=ZnSO4+H2.

Для нейтрализации паров фенола можно использовать специальную установку.

Абсорбционно-биохимическая установка очистки вентиляционного воздуха от вредных веществ (АБХУ).

Рисунок 7.1 - Технологическая схема АБХУ

Установка состоит из следующих элементов:

вентилятор;

абсорбер;

массообменная решётка;

биореактор;

насос.

Вентиляционный воздух, удаляемый от технологического оборудования, с помощью вентилятора 1 подается в абсорбер 2, где на массообменной решетке расположен слой насадки 3. Насадка непрерывно орошается абсорбентом, подаваемым насосом 5 и находится в «кипящем» состоянии, что обеспечивает интенсивный массообмен между газовой и жидкой фазами. В качестве абсорбента применяется техническая вода. Регенерация абсорбента осуществляется в биореакторе 4, где с помощью специально селекционированного штамма микроорганизмов вредные органические вещества минерализуются до СО2 и Н2О. Для обеспечения активной жизнедеятельности микроорганизмов, за счет добавления в биореактор биогенных добавок, в растворе поддерживается концентрация азота и фосфора. Очищенный абсорбент вновь подается на орошение в абсорбер. Установка имеет замкнутый цикл циркуляции абсорбента и не имеет стоков в канализацию. Очищенный вентвоздух после сепарации выбрасывается в атмосферу.

Так же можно воспользоваться услугами специальных фирм по утилизации вредных отходов.

7.3.3 Оценка вероятности возникновения пожара.

Так как автоматизированная установка объёмной печати моделей является пожароопасной, необходимо провести расчёт вероятности возникновения пожара при её эксплуатации.

При определении вероятности возникновения пожара из за электрооборудования использовались следующие источники:

ГОСТ 12.1.004-91. Пожарная безопасность. Общие требования;

Статья 143. Требования пожарной безопасности к электрооборудованию (Федеральный закон 123-ФЗ);

Из этих источников можно заключить, что вероятность возникновения пожара в электрооборудовании не должна превышать 10-6 в год. Это относится к электрическим розеткам, компьютерам, блокам питания, электромоторам и т.д.

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

При расчёте вероятности возникновения пожара используется ГОСТ 12.1.004-91* "Метод определения вероятности возникновения пожара (взрыва) в пожаровзрывоопасном объекте".

Для определения пожаровзрывоопасности любого объекта, необходимо определить пожаровзрывоопасность его составных частей (технологических аппаратов, установок, помещений). Вероятность возникновения пожара (взрыва) в объекте в течение года Q(ПЗ) вычисляют по формуле:

(7.1)

где Qi(ПП) - вероятность возникновения пожара в i-ом помещении объекта в течение года;

n - количество помещений в объекте.

Возникновение пожара (взрыва) в любом из помещений объекта (событие ПП) обусловлено возникновением пожара (взрыва) или в одном из технологических аппаратов, находящихся в этом помещении (событие ПТАj,), или непосредственно в объеме исследуемого помещения (событие ПОi). Вероятность Qi(ПП) вычисляют по формуле:

(7.2)

где Qj(ПТА) -- вероятность возникновения пожара в j-м технологическом аппарате i-го помещения в течение года;

Qi(ПО) -- вероятность возникновения пожара в объеме i-го помещения в течение года;

m -- количество технологических аппаратов в i-м помещении.

Предполагаем, что вероятность возникновения пожара в объеме i-го помещения в течение года Qi(ПО) равна нулю. Т.е. вся опасность возникновения пожара исходит от электрооборудования. Это допущение применимо для объектов, где в объеме помещений не могут образовываться пожаровзрывоопасные смеси или газы. Например, такие объекты как общественные и административные здания.

Для примера расчёта примем цех, в котором есть 5 помещений, среднее количество человек в помещении - 5, среднее количество электрооборудования на человека - 10 (в том числе: сетевых розеток, офисной техники, светильников и т.п.).

Расчёт возникновения пожара в типовом помещении:

То есть с вероятностью 50•10-6 в каждом помещении может возникнуть пожар.

Расчёт вероятности возникновения пожара на объекте (весь цех):

Вероятность возникновения пожара на объекте в целом составляет 0,00025. В соответствии с приказом С.К. Шойгу от 30 июня 2009 г. № 382, для объектов, на которых нет собранной статистики пожаров допускается принимать вероятность возникновения пожара равной 4•10-2 для каждого здания. Следовательно, расчёт для нашего цеха удовлетворяет требованиям пожарной безопасности.

Заключение

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

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

Проведён функционально-стоимостной анализ проекта и определён период его окупаемости (около 3-х лет).

Освещена тема безопасности и экологичности проекта, выбраны меры по обеспечению безопасности работающих с установкой, а так же меры по обеспечению экологичности проекта и по предотвращению чрезвычайной ситуации (пожара).

Список использованных источников

Кузнецов В.П. Методические указания к выполнению дипломного проекта для студентов специальности 210200. - Курган: Курганский государственный университет, ризограф, 2001. - 50 с.

Пухов А.С. Синтез решений при создании автоматизированных объектов. Учебное пособие. - Курган: Кург. гос. ун-т, 2000. - 36 с.

Кенио Т. Шаговые двигатели и их процессорные системы управления. М.: Москва Энергоиздат, 1987. - 200 с.

Брайан Керниган, Деннис Ритчи. Язык программирования C. М.: Вильямс, 2012. - 304 с.

Нестеров А.Л. Проектирование АСУТП. Книга 1. М.: ДЕАН, 2006. - 544 с.

Вальков В.М., Вершин В.Е. Автоматизированные системы управления технологическими процессами.- Л.: Политехника, 1991.-269 с

Проектирование систем автоматизации технологических процессов: Справ. пособие / Под общ. ред. А.С. Клюева-М.: Энергоатомиздат,1990.- 464 с.:ил.

Бахвалов Л.А. Моделирование систем: Учебное пособие для вузов. - Москва: Московский государственный университет, 2006. - 290 с.

Шемелин В.К. Проектирование систем управления в машиностроении: Учебник для студентов техн. вузов. - М.: Издательствово “Станкин”, 1988. - 254 с.

Таранов С.Т., Макарова И.М. “Автоматизация технологических процессов и производств”. Методические указания к выполнению экономической части дипломного проекта для студентов специальности 220301

Н.Л. Попова. Безопасности и экологичность проекта. Методические указания к выполнению раздела «Безопасность и экологичность проекта» в дипломных проектах для студентов специальности 210200. - Курган: Курганский государственный университет. - 27 с.

Безопасность и охрана труда: Учебное пособие для вузов / Под ред. О.Н.Русака. - СПб.: Изд-во МАНЭБ, 2001.

Об утверждении норм пожарной безопасности «Обучение мерам пожарной безопасности работников организаций»: Приказ МЧС РФ от 12.12.2007 № 645.

Об утверждении методики определения расчётных величин пожарного риска в зданиях, сооружениях и строениях различных классов функциональной пожарной опасности: Приказ МЧС РФ от 30.06.2009 № 382 (ред. От 12.12.2011).

ГОСТ 12.1.007-76 (1999) ССБТ. Вредные вещества. Классификация и общие требования безопасности.

ГОСТ 12.1.004-91. Пожарная безопасность. Общие требования.

ГОСТ 12.4.011-89. Система стандартов безопасности труда. Средства защиты работающих. Общие требования и классификация.

Приложение А

Управляющая программа контроллера. Функция начального позиционирования экструдера.

#include <Stepper.h>

//Здесь определяются выводы, к которым подключены шаговики и количество шагов на оборот для них

#define AStpStep 14

#define AStpDir 13

#define BStpStep 12

#define BStpDir 11

#define CStpStep 10

#define CStpDir 9

#define StepsPerRevolution 200

//Здесь определено подключение концевиков

#define AEndSwitch 1

#define BEndSwitch 2

#define CEndSwitch 3

//Стандартные скоростные режимы двигателей привода

#define open_circuit_speed 100

#define pretravel_speed 50

//Здесь создаётся класс для каждого шаговика (число шагов на оборот, первый пин, второй пин)

//============================================================

Stepper AStepper = Stepper(StepsPerRevolution, AStpStep, AStpDir);

Stepper BStepper = Stepper(StepsPerRevolution, BStpStep, BStpDir);

Stepper CStepper = Stepper(StepsPerRevolution, CStpStep, CStpDir);

//============================================================

//Функция установки экструдера в начало координат

void Stepper_init()

{

int AES;

int BES;

int CES;

do

{

AES = digitalRead(AEndSwitch);

BES = digitalRead(BEndSwitch);

CES = digitalRead(CEndSwitch);

if (AES<1)

{

AStepper.step(1);

}

if (BES<1)

{

BStepper.step(1);

}

if (CES<1)

{

CStepper.step(1);

}

}while (AES<1 || BES<1 || CES<1);

}

void setup() {

//Установка скорости вращения двгателей на 100 оборотов в минуту (в дальнейшем уточнится)

AStepper.setSpeed(open_circuit_speed);

BStepper.setSpeed(open_circuit_speed);

CStepper.setSpeed(open_circuit_speed);

//Установка портов, к которым подключены концевики на ввод

pinMode(AEndSwitch, INPUT);

pinMode(BEndSwitch, INPUT);

pinMode(CEndSwitch, INPUT);

//Установка портов, к которым подключены двигатели на вывод

pinMode(AStpStep, OUTPUT);

pinMode(AStpDir, OUTPUT);

pinMode(BStpStep, OUTPUT);

pinMode(BStpDir, OUTPUT);

pinMode(CStpStep, OUTPUT);

pinMode(CStpDir, OUTPUT);

Stepper_init();

}

Приложение Б

Диспетчерская программа. Функции открытия и валидации 3D-модели в формате STL.

package Slic3r::Format::STL;

use Moo;

use Slic3r::Geometry qw(X Y Z triangle_normal);

sub read_file {

my $self = shift;

my ($file) = @_;

Slic3r::open(\my $fh, '<', $file) or die "Failed to open $file\n";

# let's detect whether file is ASCII or binary

my $mode;

{

my $size = +(stat $fh)[7];

$mode = 'ascii' if $size < 80 + 4;

# skip binary header

seek $fh, 80, 0;

read $fh, my $buf, 4;

my $triangle_count = unpack 'L', $buf;

die "STL file seems invalid, could not read facet count\n" if !defined $triangle_count;

my $expected_size =

+ 80 # header

+ 4 # count

+ $triangle_count * (

+ 4 # normal, pt,pt,pt (vectors)

* 4 # bytes per value

* 3 # values per vector

+ 2 # the trailing 'short'

);

$mode = ($size == $expected_size) ? 'binary' : 'ascii';

}

my $facets = [];

my $vertices = [];

$mode eq 'ascii'

? _read_ascii($fh, $facets, $vertices)

: _read_binary($fh, $facets, $vertices);

close $fh;

my $model = Slic3r::Model->new;

my $object = $model->add_object(vertices => $vertices);

my $volume = $object->add_volume(facets => $facets);

return $model;

}

sub _read_ascii {

my ($fh, $facets, $vertices) = @_;

my $point_re = qr/(([^ ]+)\s+([^ ]+)\s+([^ ]+))/;

my $facet;

my %vertices_map = ();

seek $fh, 0, 0;

while (my $_ = <$fh>) {

if (!$facet) {

/^\s*facet\s+normal\s+/ or next;

$facet = []; # ignore normal

} else {

if (/^\s*endfacet/) {

push @$facets, $facet;

undef $facet;

} else {

/^\s*vertex\s+$point_re/o or next;

my $vertex_id = $1;

my $vertex_idx;

if (exists $vertices_map{$vertex_id}) {

$vertex_idx = $vertices_map{$vertex_id};

} else {

push @$vertices, [map $_ * 1, $2, $3, $4];

$vertex_idx = $vertices_map{$vertex_id} = $#$vertices;

}

push @$facet, $vertex_idx;

}

}

}

if ($facet) {

die "STL file seems invalid\n";

}

}

sub _read_binary {

my ($fh, $facets, $vertices) = @_;

die "bigfloat" unless length(pack "f", 1) == 4;

my %vertices_map = ();

binmode $fh;

seek $fh, 80 + 4, 0;

while (read $fh, my $_, 4*4*3+2) {

push @$facets, my $facet = [];

for (unpack 'x[f3](a[f3])3') { # ignore normal

my $vertex_idx;

if (exists $vertices_map{$_}) {

$vertex_idx = $vertices_map{$_};

} else {

push @$vertices, [ unpack 'f<3', $_ ];

$vertex_idx = $vertices_map{$_} = $#$vertices;

}

push @$facet, $vertex_idx;

}

}

}

sub write_file {

my $self = shift;

my ($file, $model, %params) = @_;

Slic3r::open(\my $fh, '>', $file);

$params{binary}

? _write_binary($fh, $model->mesh)

: _write_ascii($fh, $model->mesh);

close $fh;

}

sub _write_binary {

my ($fh, $mesh) = @_;

die "bigfloat" unless length(pack "f", 1) == 4;

binmode $fh;

print $fh pack 'x80';

print $fh pack 'L', scalar(@{$mesh->facets});

foreach my $facet (@{$mesh->facets}) {

print $fh pack '(f<3)4S',

@{_facet_normal($mesh, $facet)},

(map @{$mesh->vertices->[$_]}, @$facet[-3..-1]),

0;

}

}

sub _write_ascii {

my ($fh, $mesh) = @_;

printf $fh "solid\n";

foreach my $facet (@{$mesh->facets}) {

printf $fh " facet normal %f %f %f\n", @{_facet_normal($mesh, $facet)};

printf $fh " outer loop\n";

printf $fh " vertex %f %f %f\n", @{$mesh->vertices->[$_]} for @$facet[-3..-1];

printf $fh " endloop\n";

printf $fh " endfacet\n";

}

printf $fh "endsolid\n";

}

sub _facet_normal {

my ($mesh, $facet) = @_;

return triangle_normal(map $mesh->vertices->[$_], @$facet[-3..-1]);

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.