Устройство подсчета сыпучих материалов в элеваторе с импульсным выходом.



Решил делать по блочно, схема формирователя импульсов (на входе прицепил инвертор на транзисторе на всякий случай, если вдруг будет датчик с p-n-p, частота генератора равна примерно 1кГц):

Быстренько нарисовал печатную плату (впоследствии оказалось, что нужно было неиспользуемые входа притянуть к минусу, шел фон):

Вот такой модуль получился:

Вроде бы дело в шляпе но, в элеваторе помимо сырья есть еще и сам носитель-лопатка, имеющая достаточно большую ширину порядка 20мм, ее нам считать при перекрытии оптическим датчиком не нужно. Решено было их отрезать, сделать при помощи костыля на attiny13. При помощи потенциометра на АЦП изменял плавно начало старта импульсов на выходе:

Схема получилась вот такая:

Печатная плата также была изготовлена:

Текст программы в CodeVision:
//Chip type : ATtiny13
//Clock frequency : 1,200000 MHz
#include <tiny13.h>
#include <delay.h>
bit enable;
unsigned char counter;
unsigned char data;
// External Interrupt 0 service routine
// Прерывание по положительному фронту входного сигнала
interrupt [EXT_INT0] void ext_int0_isr(void)
{
TCNT0= 0x00; // сброс таймера
if(counter < 255) ++counter;
if(counter > data) enable= 1;
}
// Timer 0 overflow interrupt service routine
// срабатывает через 1,71 мсек
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
c0unter= 0; // сброс количества импульсов
enаble= 0; // запрет вывода
}
#define ADC_VREF_TYPE Оx20
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
АDMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
АDCSRА|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x1О)==0);
АDCSRА|=0x10;
return АDCH;
}
void main(void)
{
#include "init.с"
while (1)
{
dаta= reаd_аdс(1); // считывание АЦП. Возвращает число 0..255
if(enable) PОRTB.4= PINB.1; // передача на выход входного сигнала
else PORTB.4= 0;
};
}
Девайс в сборе:

Оба устройства были помещены в корпуса с радиорынка;

Питание устройства обеспечил DC-DC MeanWell SD25-12A, так как на импульсник не было времени.
Все это запихали в кабину комбайна, запустили элеватор и при помощи осциллографа, потенциометром на плате с аттини13 отрезали лишние импульсы, которые давали лопатки элеватора при перекрытии фотодатчиком. После чего поехали в поле и проверили, действительно количество импульсов на каждой лопатке было разным. Дальнейшее участие в калибровке я не принимал, были какие-то трудности. Но в общем знакомый остался доволен — сказал что работает неплохо и минимум погрешностей.
Фото элеватора:

Фото элеватора и индуктивного датчика на цепной передачи шнека выгрузки:

Конечно устройство не идеальное, нет защит входов — а очень нужно, все-таки техника. Собрано модульно, а не на одной ПП, нет своего качественного стабилизатора питания (SEPIC или DC-DC). Можно было применить какую-нибудь мегу, прицепить к ней дисплей и считать импульсы уже самим микроконтроллером. Думаю данный метод (не новый и не мною разработанный) и устройство пригодится людям в автоматизации процессов. Главное, что устройство воплотилось в жизнь и трудится уже год на предприятии без замечаний.
- +6
- 19 ноября 2014, 18:32
- Jman
- 1
Файлы в топике:
й.jpg
НИКОГДА! слышите? НИКОГДА не занимайтесь промавтоматизацией! сами же знаете свои ошибки и ставите эти девайсы на рабочую машину.
Так ведь устройство не влияет на работу агрегата, поэтому в данном случае ничего страшного. А вот учет это уже задача сложнее, заказчик на основе этих данных может принимать неправильные выводы. Но в любом случае если конструкция не оправдывает себя по точности ее можно заменить на другую. В данном случае конструкция я так понял получилась удачной.
- mishgan_zp
- 20 ноября 2014, 10:50
- ↑
- ↓
Видимо да, погрешность есть… Но экономически целесобразно, уже трудно будет чего-нить стырить, и примерно можно понять, сколько собирает комбайн за заход в электронном виде, а не по бумажкам водилы, инженеров, которые вась-вась друг другу моют руки (это я так образно, без обид =)) Если вытяну пару отчетов, выложу.
Ну шо вы так кричите ;) каждый волен делать шо желает, не забывая о ТБ и иже с ними.
Не боги ж горшки обжигают? надо с чего то начинать и учиться на ошибках т.к. они лучше всего запоминаются.
зы заказчик волен решать поставить эксперимент за 100USD или получить результат за 10000USD (причем не факт что последнее на 100% устроит заказчика)
Не боги ж горшки обжигают? надо с чего то начинать и учиться на ошибках т.к. они лучше всего запоминаются.
зы заказчик волен решать поставить эксперимент за 100USD или получить результат за 10000USD (причем не факт что последнее на 100% устроит заказчика)
каждый волен делать шо желаету себя дома, на огороде, етц
надо с чего то начинать и учиться на ошибкахна гирляндах и прочих метеостанциях — пожалуйста.
не у всех есть огород и метеостанция, а кому и комбайн гирлянда ;)
да и ошибки кому очевидны кому нет — люди разные
да и ошибки кому очевидны кому нет — люди разные
Самое главное, это же не подделка, которая дальше верстака не пошла. У меня таких несколько коробок. Делалось для души, либо не реализованные проекты. А тут как бы заодно пшенички посчитал =) Полезное для людей сделал. Кстати, питание от Минвела, а не от борт сети многое решает, потом я везде на платах поставил супрессоры на 18 Вольт по питанию и самовостанавливающие предохранители на 0,3А, если даже и скакнет — пожгет стеклянные фьюзы. стекло 5х20 ставил после минвела (внутри блока не было, видимо срыв генерации по перегрузке, но рисковать не стал). На входе минвела фьюз стоял, так что перед блоком питания не устанавливали плавкий предохранитель. На выходе формирователя резюк на 22 Ома, если коза на выходе будет — вылетит резюк, надо было и на второй плате тоже самое сделать. А вот входы не защитил — мне минус. Можно было тоже супрессоров напихать, а перед ними резисторов 1206 на ом 20, или стабилитроны хотя бы поставить.
Да ладно так категорично говорить. Действительно бывают моменты, нужно сделать вчера. Ресурсов кот наплакал. И время, время… Человек обошелся подручными средствами, задача как-то решена. Автору на будущее: бортовая сеть источник сильных помех. И входы желательно развязать оптронами. То есть, датчик нужно было подключить через оптрон.
- demiurg1978
- 22 ноября 2014, 12:59
- ↑
- ↓
А нафига формирователь пачик импульсов, если в схеме есть МК? Можно прекрасно на нем посчитать длину импульса на входе и выдать требуемое количество сигнальных импульсов на выходе.
Алсо, код помести в тег <code>.
Алсо, код помести в тег <code>.
Спасибо, тег вставил. Если честно, то изначально вообще хотел обойтись без МК, так как роль сбора данных играл GPS-треккер на 32 битном Кортексе, думал просто ему пачку импульсов на вход подавать и все. Но перекрытие лопаток давало большую погрешность, сделал на скорую руку костыль на МК. Ваша идея даже лучше, ибо тикалки можно все привязать к внешнему кварцу. А это термостабильность генератора и помехоустойчивость.
Ехал костыль через костыль — видит на входе костыль а на выходе пачка импульсов.
- count_enable
- 20 ноября 2014, 13:53
- ↓
Вполне достаточная конструкция, тут главное скорость реализации. А так, даже если она и не будет работать, всё равно воровство зерна снизится до почти нуля. Главное чтобы водилы комбайнов об этом не знали ;) Такой вот эффект плацебо :)
достаточная конструкция и скорость реализации — это вам к ПЛКшника. про эффект плацебо это верно. но я бы такой аппарат на месте зказачика включать не стал. видимо совсем бюджетная шарага
Сам подобное видел. Водители оборзели и стали красть товар с машин. Поставили видяху в фургон. Так чтобы сразу не догадались. Одного уволили и кражи прекратились. Так что тут да важен пример и психологический эффект.
Главное это сделать стабильное решение и вовремя, а из чего и как это уже не так важно.
Главное это сделать стабильное решение и вовремя, а из чего и как это уже не так важно.
Кстати, рядом стояч другой комбайн, понавороченней, так там уже стояли датчики в элеваторе, на классных кронштейнах. Зажим отжал — вытянул датчик, почистил.

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

Они все завязывались видимо на бортовик, внутри кабины стоял дисплей и что-то показывал — не довелось узнать. Думаю, эту инфу с датчиков можно слить по CAN шине, или прицепиться к ним вышеописанным девайсом. У датчиков было два выхода синфазных.
Оптический датчик нам дает 1 импульс всего при прохождении лопатки с зерном, но высота горки с зерном + сама лопатка бывает разная (она априори не может быть одинаковой), для этого 1 импульс я преобразовывал в пачку, что бы считать их количество за период перекрытия горки с зерном, саму толщину лопатки отсек…
Уже становится понятнее, то-есть здесь идет измерение длительности импульса от оптического датчика, а размерность этих измерений тоже импульсы, но маленькие импульсы из пачки.
Это был привод отгрузочного шнека, я считал кол-во импульсов за оборот звезды и сравнивал с отгруженным зерном + на выгрузке стоял датчик хола, который давал сигнал, что идет выгрузка, а не холостой ход… Т.е данные на выходе комбайна.
Я использовал пару Оптики для элеватора (свои), Индуктивный (свой), штатный датчик холла выгрузки и штатный датчик поднятия жатки. Еще я использовал зажигание…
В статье все как то сумбурно излагается. Можешь расширить и углубить статью, описав все поподробней? Какие датчики использовал? Для чего использовались? Как обрабатывал данные от датчиков? Как загонял их в трекер? И самое главное, как в конце концов на основе данных от датчиков, рассчитывается количество зерна?
Комментарии (39)
RSS свернуть / развернуть