Перейти к содержанию

Датчик высева семян. Нужна помощь!


barsic

Рекомендуемые сообщения

Добрый день! В общем такое устройство, ставят на сеялки для контроля за высевом! Есть два варианта: один вроде рабочий но на плате затерли название оу, второй жутко нестабильный... он вроде и работает но на раз отсеятся, потом глюки! Датчик состоит из железного короба, текстолитовых пластин с фольгой (находятся друг напротив друга), и самой платы... Датчики, как утверждает производитель, емкостные... На одну пластину подаеться меандр с генератора (в первом 400кгц, во втором 13 кгц) со второй пластины снимается напряжение, усиливаеться и далее через конденсатор на усилитель и триггер шмидта... с выходной частью всё более менее ясно, она однаковая в датчиках. А вот входная отличаеться, в первом(стабильном) оу инвертирующий с оос, во втором( глючный) неинвертирующий с оос... Питание оу 6в через кренку. Оу в первом неизвестно, во втором лм358. Импульсы с пластины около 5mV. При проведение любым объектом между пластинами меняется амплитуда импульсов. Так вот, очень хочеться доработать схему для стабильности. Много помех и наводок усиляют. Много чего перепробовал, бесполезно... может кто подкинет какую нибудь идею... схемы входной части прилагаються.

Более стабильная с неизвестным оу uploadfromtaptalk1474969043517.jpg.ab069

Глючная

uploadfromtaptalk1474969147688.jpg.b4aac

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Жесткие условия там, стоит в сошнику, а там земля и т.д... вот как раз в первой любой и не заработал. Уже кучу перепробовал, толку 0.

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Выход с генератора... сетка 1 V. Частота около 25 кгц.
uploadfromtaptalk1475042460388.jpg.72d97
На приемной пластине... сетка 5mV..uploadfromtaptalk1475042762081.jpg.171e7

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

Ссылка на комментарий
Поделиться на другие сайты

Ага, тогда, похоже что в первом варианте применён трансимпедансный ОУ. А попробуйте в глючной схеме уменьшить R5. Скажем, до 100 кОм. Правые выводы R3 C3 посадить на общий провод. R1 и R2 увеличить до 10 кОм, диод D1 перемкнуть, вместо С1 и С2 (они окажутся параллельно включенными) поставить один на 10 мкФ. Получим классический усилитель с детектором на выходе.

Ссылка на комментарий
Поделиться на другие сайты

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

А R3 С3 похоже на фильтр обычный, без него после диода пила...

Ссылка на комментарий
Поделиться на другие сайты

Диод D4 для исключения чуствительности к входному-выходному смещению и дрейфу.Зеркало на D1,R2,C2 -образец с осциллятора,открывание D4 и рост напряжения (или спад) и будет работой.Ограничитель на D2..D3 во второй схеме отсутствует или просто забыли нарисовать? Схема 2 просто не корректна и стабильной работы вряд с ней врядли случится..

Изменено пользователем kotosob
Ссылка на комментарий
Поделиться на другие сайты

Обе срисованы с плат, на второй диоды отсутствуют...

Вот полная схема! Они отличаються только входной частью, которые я выше указывал. Емкость конденсаторов указана неправильно (потерял тот лист где были записаны замеры)
uploadfromtaptalk1475056784740.jpg.9babe

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

@barsic , можно попросить озвучить суть задачи?

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

В зависимости от этого, решение сильно разное.

Ссылка на комментарий
Поделиться на другие сайты

А на резонаторе х2--бокс второй или опорный генератор с кварцем? Плохо видно .Судя по схеме,выход на пластину в боксе передающую.В симулятор надо закинуть схему..или по месту подбором..вам видней.

Изменено пользователем kotosob
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, barsic сказал:

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

Да, именно так: http://forum.cxem.net/index.php?/blogs/entry/323-быстродействие-оу-по-сравнению-с-компараторами/

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

 

Просят - не откажи. Не просят - не навязывайся!

Простота хуже воровства.

Ссылка на комментарий
Поделиться на другие сайты

А на резонаторе х2--бокс второй или опорный генератор с кварцем? Плохо видно .Судя по схеме,выход на пластину в боксе передающую.В симулятор надо закинуть схему..или по месту подбором..вам видней.

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

@barsic , можно попросить озвучить суть задачи?

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

В зависимости от этого, решение сильно разное.

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

Ссылка на комментарий
Поделиться на другие сайты

Ну по полной схеме видно, что D6 нужен для смещения D7 на начальный участок ВАХ для лучшего детектирования слабых сигналов. Попробуйте поставить трансимпедансный ОУ с подходящей цоколёвкой.

Схема просто детектирует наличие изменения ёмкости датчика, когда летит зерно, она меняется непредсказуемым образом. Встречал в 80-х датчики засорения сеялок производства Болгарии, там использовался оптический метод: падающие зёрна перекрывали поток света от лампочки на фотодатчик. Если нет с фотодатчика переменного сигнала (или нет зерна, или забито зерном или пылью, или перегорела лампочка) в течение 2 секунд, то загорался светодиод, указывающий номер сошника и пищал динамик. Обычно их выкидывали, т.к. колхозному трактористу было похрену, что и как там посеялось, а писк отвлекал. Поэтому у меня было много болгарских транзисторов/диодов и прочих деталей для самоделок ;)

Изменено пользователем oldmao
Ссылка на комментарий
Поделиться на другие сайты

Кто ставит такое у-во, завод или шарашка? раньше стояли оптические датчики,двух модификаций.
 


Шарашкина контора... просто у сеялок супн и спч большое отверстие, и пыли много... опто не прокатило... тот первый по схеме Российского производства, второй украинского... они не смогли вычислить и влепили копеечный лм358, а они жутко нестабильны...
Ссылка на комментарий
Поделиться на другие сайты

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

http://jayo.ru/books/2-5-avtomatizaciia-mobilnyh-processov-v-polevodstve/

Изменено пользователем Mahno

Лужу,паяю,телевизоры починяю.

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Это еще где-то на рубеже 2013-2014 годов призошло, просто Вы поздновато присоединились к глобальному помешательству.
    • Этот вариант меня вполне устроит.  То есть тот инструмент, которым редко пользуемся, отключаем и убираем в коробку. При этом доставать и подключать нужный инструмент ИМХО удобнее, чем ставить еще один габаритный девайс с нужным инструментом на рабочий стол. 
    • Вашими бы устами да мед пить. А мозги топикстартеру пожаловать в качестве кешбека. Но suum cuique...
    • Данная тема к "импульсникам" не относится, поэтому всё "внетемное" удаляю. Не флудим. Для обсуждения других схем создавайте отдельные темы!
    • @READART Из практики. Даже 2в1 ухитряются путаться и мешать друг другу. Что за ад будет происходить с 4в1 я с трудом представлю. Вероятнее всего он будет низведен до банального 2в1 из-за неудобства.
    • нечего там смотреть, достаточно взглянуть на картинку- это похоже болячка этой деки- присоединяюсь к теме- у меня такая же проблема!
    • @donec Спасибо, но нет. Слишком всё как то всё сложно и запутано написано там в этом коде.  Я сейчас тем временем продолжаю разбираться с дисплеем. Выяснил причину артефактов на дисплее, а она кроется в коде, но это ещё нужно понять как исправить. Собственно в чём суть дела вывод по одному символу работает корректно и всё отображается правильно, но как только я пытаюсь вывести строку то на дисплее сразу появляются всяческие артефакты. Так что тут получается нужно каким то образом править код вывода строки. Вот весь код написанный под ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define MAIN_H_ #define LCD_H_ #define LCD_DDR DDRA #define LCD_PORT PORTA #define LCD_PIN PINA #define DATA 0b11110000 #define RS PA2 #define E PA3 #define E1 LCD_PORT|=(1<<E) #define E0 LCD_PORT&=~(1<<E) #define RS1 LCD_PORT|=(1<<RS) #define RS0 LCD_PORT&=~(1<<RS) void lcd_ini(void); void lcd_str(char* str); void lcd_pos(uint8_t line, uint8_t pos); void lcd_num(uint8_t num, uint8_t line, uint8_t pos); uint8_t n=0; void write(uint8_t n) { n<<=4; E1; //линию Е в 1 LCD_PORT&=~DATA; //удалить предыдущую отправку LCD_PORT|=n; //выставить значение на пины управления дата битами asm("nop"); //пропуск такта E0; //линию Е в 0 } void send_byte(uint8_t byte, uint8_t tip) { if (tip) //если тип данные на линии RS 1 { RS1; } else //иначе тип команда и на линии RS 0 { RS0; } write(byte>>4); //передача старшего полубайта write(byte); //передача младшего полубайта } void lcd_ini(void) { LCD_DDR|=DATA | (1<<RS) | (1<<E); _delay_ms(20); RS0; write(3); _delay_ms(5); write(3); _delay_us(150); write(3); _delay_us(50); write(2); _delay_us(50); send_byte(40,0); _delay_us(50); send_byte(12,0); _delay_us(50); send_byte(1,0); _delay_ms(2); send_byte(6,0); _delay_us(50); } void lcd_str(char* str) { uint8_t n=0; while(str[n]) { send_byte(str[n],1); n++; } } void lcd_pos(uint8_t line, uint8_t pos) { uint8_t adress=(line*0x40+pos)|0x80; send_byte(adress,0); _delay_us(50); } void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) #define FLAG_END_RX (1<<3) #define FLAG_ERR_RX (1<<4) #define BUF_SIZE 20 char rx_buf[BUF_SIZE]; char buf_index = 0; char rxb; volatile start=1, flags; ISR(USART_RXC_vect) { char rxb = UDR; if(!(flags & FLAG_END_RX)) { rx_buf[buf_index]=rxb; if(rx_buf[buf_index] == 0x0D) { flags |= FLAG_END_RX; return; } buf_index++; if(buf_index >= BUF_SIZE) { buf_index = 0; flags |= FLAG_ERR_RX; } } } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); flags = 0; } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); flags = 0; DDRB = 0b10000000; PORTB = 0b11111111; lcd_ini(); while(1) { if (~PINB & (1<<1)) { send_UART('P'); send_UART('B'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('A',1); lcd_pos(1,0); lcd_str("PORT B1"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("GAMES AND SOFT"); //send_byte(0b01000001,1); //A //send_byte(0x41,1); //A //send_byte('A',1); //A } if (~PINB & (1<<2)) { send_UART('P'); send_UART('B'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('B',1); lcd_pos(1,0); lcd_str("PORT B2"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("TIFASO"); } if (~PINB & (1<<3)) { send_UART('P'); send_UART('B'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('C',1); lcd_pos(1,0); lcd_str("PORT B3"); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str("HELLO"); //lcd_pos(1,0); //lcd_str("PLAYER BT201"); } if (~PINB & (1<<4)) { send_UART('P'); send_UART('B'); send_UART('4'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('D',1); lcd_pos(1,0); lcd_str("PORT B4"); //lcd_pos(0,0); //lcd_str(" "); //lcd_pos(1,0); //lcd_str(" "); //lcd_str("FILE MUSIC MP3"); //lcd_pos(1,0); //lcd_str("USB PLAYER VOLL"); } char i = 0; if (rx_buf[i] == 'M'){ i++; if (rx_buf[i] == '1') { LED_1_ON(); LED_2_OFF(); } else if (rx_buf[i] == '2') { LED_1_OFF(); LED_2_ON(); } else if (rx_buf[i] == 'T') { LED_1_ON(); LED_2_ON(); } else if (rx_buf[i] == 'K') { LED_1_OFF(); LED_2_OFF(); } } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('E',1); lcd_pos(1,0); lcd_str("PORT C0"); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); lcd_pos(0,0); send_byte('F',1); lcd_pos(1,0); lcd_str("PORT C1"); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Собственно за вывод символа отвечает send_byte она работает правильно, а за вывод строки отвечает lcd_str вот в ней как раз таки и вся проблема с артефактами. А что конкретно не так я пока ещё никак не пойму. Может кто более опытным глазом увидит и подскажет что нужно исправить.
×
×
  • Создать...