Написать программу для микроконтроллера

Цена договорная • наличный расчёт, безналичный расчёт
03 мая 2018, 06:55 • 9 откликов • 63 просмотра

Устройство для включения технологической колеи для зерновой сеялки.

Требуется написать программу для микроконтроллера, которая будет в зависимости от сигнала на входе от датчика управлять
включением и выключением клапанов подачи семян от распределительной системы сеялки в сошники. Таким образом создавая технологическую колею. Программа должна включать
и выключать клапана.
Микроконтроллер лучше использовать AVR. Наверно, подойдёт любой Atmega. Например, Аtmega8.

Сигнал на вход МК будет поступать от датчика положения сошников сеялки, который имеет два значения:
1) Рабочее положение (сошники опущены) - идет сев - логическая единица на входе МК.
2) Разворот на краю поля (подняты) - логичесий ноль.
Во время работы сеялки в поле идет постояная последовательность: рабочий ход - подъём на краю поля, разворот, опускание - рабочий ход - подъём и тд

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



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

Количество проходов N в цикле задаётся оператором при настройке устройства на определённый режим.
Настройка происходит перед работой в зависимости от ширины сеялки и ширины штанги опрыскивателя. Эта цифра отображается на ЖК мониторе,
(например LCD 1602). Во время работы на экране она не меняется.

Вторая цифра (условно M) отображается на ЖК рядом с первой (N). Она показывает номер текущего прохода. Обе цифры двухзначные, десятичные.
Эта цифра (M) при работе меняется во время работы в зависимости от номера прохода, то есть она показывает номер текущего прохода.

Например:
00 00 - N = 0, M = 0. Это режим, когда технологическая колея не задана, те клапана не будут включаться ни на каких проходах.
04 02 - N = 4, M = 2. Задан режим с циклом из 4 проходов, сейчас 2ой проход. Техколея включится, когда на экране увидим 04 04, те N = M
06 03 - N = 6, M = 3. Задан режим с циклом из 6 проходов, сейчас 3й проход. Техколея включится, когда на экране увидим 06 06.

Например для режима с N = 4, цикл будет выглядеть так:

04 01
04 02
04 03
04 04 - Здесь включится техколея, программа подаст напряжение на клапана и их закроет.
04 01
и тд

Этот режим подойдёт, например, когда мы имеем сеялку шириной, например, 6 м и опрыскиватель со штангой шириной 24 м. 24/6 = 4. На каждом 4-м проходе включится

техколея по которой будет ходить потом опрыскиватель.

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

Может возникнуть вопрос - зачем нужно устанавливать значение второй цифры (M)? Это нужно для того, чтобы при начале работы начать цикл не с единицы,
а с какого-то числа.
Например, имеем сеялку 6 метров шириной, опрыскиватель 18 метров шириной штанги. Начиная сев по краю поля вдоль посадки, мы устанавливаем на экране 03 02,
N = 3, M = 2. Начинаем сеять вдоль посадки полосу шириной 6 м. Это проход M = 2. Хотя у нас это первый проход.
Доходим до конца поля, поднимаем сошники, разворачиваемся, опускаем сошники, начинаем проход номер 3, на экране видим 03 03. Это проход 3. Сейчас включается техколея,

и расстояние от центра сеялки до края поля 9 метров - половина ширины штанги опрыскивателя. Т.е. проходя по этой колее впоследствии на опрыскивателе, край штанги будет

находится точно на краю поля.

Требуется также дать рекомендации по управлению 12 B коммутацией переключения клапанов - какие рекомендуются реле или тиристоры? Написать схему их подключения. Произвести разводку платы. Ток катушек клапанов пока не могу сообщить, но наверно не очень большой - там нет нагрузки.

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