Massaraksh7 писал(а): Сб июл 04, 2026 15:43:56Так это важно. При 1 кГц устройство может неправильно сработать. Как я уже говорил, при пересечении лучей в 1 см от светодиода разница в расстоянии всего 0.4мм. При скорости пересечения, например, 1 м/с это расстояние будет пройдено за 400 мкс. А у сигнала период 1000 мкс. Не успеет понять, в какую сторону пересечение.roman.com писал(а): Сб июл 04, 2026 15:31:57 осле демодуляции получаем на выходе TSOP импульсы 1 кГц.
Устройство на Ardiuno для контроля пересечения барьера.
- Реклама
Суть высокочастотной модуляции для ИК такая же какая в радио передатчикe радио управления.
При скорости 1 м/с, это 3.6 км/ч - то есть, очень не быстрый шаг, за 8 миллисекунд объект пройдет 8 мм. И, если расстояние между фотодиодами 25мм, то уже на трети расстояния от светодиода (как минимум, но скорее всего, больше) устройство будет работать неверно. Это я ещё не говорю про взмахи рукой - там скорость больше. Я же не просто так эту частоту выбрал, я сначала всё по скоростям посчитал.BOB51 писал(а): Вс июл 05, 2026 17:34:24 Да и какое расстояние пройдет объект за те 8 миллисекунд? Это ж не автомобиль и/или спринтер.
Можно сделать, конечно, расстояние между фотодиодами значительно больше, но это уже будет громоздкое устройство.
Последний раз редактировалось Massaraksh7 Вс июл 05, 2026 20:18:11, всего редактировалось 1 раз.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Так, что-то у меня сегодня день не задался. Сделал новую плату, все детали перед установкой проверил, запаял, прочистил, проверил с лупой дорожки и контакты - всё, вроде, нормально. Даже ещё МК не монтировал.
И ни один усилитель не работает. Светил на фотодиоды ранее сделанным генератором на NE555 (и проверенным оперативно на реальном устройстве) - никакой реакции, на коллекторе выходного транзистора +5
https://cloud.mail.ru/public/AZVM/8sn79hMmV
Сделаю паузу. Тем более, второе устройство ещё нужно установить.
И ни один усилитель не работает. Светил на фотодиоды ранее сделанным генератором на NE555 (и проверенным оперативно на реальном устройстве) - никакой реакции, на коллекторе выходного транзистора +5
https://cloud.mail.ru/public/AZVM/8sn79hMmV
Сделаю паузу. Тем более, второе устройство ещё нужно установить.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Стандартно выделение сигнала на фоне многократно превосходящих помех.
На фотодиоде постоянная засветка может дать предельное насыщение, но она относительно постоянна ("фиксированный уровень смещения") и некоторая переменная ("несущая частота").
Кроме того могут быть ещё источники "переменной помехи" в виде светильников с ВЧ/импульсным питанием. Посему ставится усилитель и частотный фильтр (как минимум)...
На выход которого проходит лишь усиленый сигнал "несущей частоты" из которого далее получаем логический уровень для обработки МК.
Простое усиление может действовать при усложнении оптики излучателя и приёмника (различные тубусы, светофильтры, ИК прозрачные линзы).

На фотодиоде постоянная засветка может дать предельное насыщение, но она относительно постоянна ("фиксированный уровень смещения") и некоторая переменная ("несущая частота").
Кроме того могут быть ещё источники "переменной помехи" в виде светильников с ВЧ/импульсным питанием. Посему ставится усилитель и частотный фильтр (как минимум)...
На выход которого проходит лишь усиленый сигнал "несущей частоты" из которого далее получаем логический уровень для обработки МК.
Простое усиление может действовать при усложнении оптики излучателя и приёмника (различные тубусы, светофильтры, ИК прозрачные линзы).
- Реклама
...а концовка дня зато отличная.
Проблемы было две:
1. Микротрещина в дорожке. То есть, её не видно, но дорожка не прозванивается. Первый раз сталкиваюсь (или раньше просто зрение было лучше).
2. Те же проблемы с помехами, которые были, так же остались. Но я ещё в том раз предположил, что это переусиление, поэтому в новой разводке сделал места для резисторов в эмиттере. И так и оказалось - при установке туда резисторов номиналом 1к все помехи исчезли (правда, это я пока МК не ставил, но уверен, дело было не в нём, точнее, не в главной мере в нём.)
Уровень сигнала же приличный. Ну это я ещё потом поэспериментирую.
Так, что схема теперь выглядит так:
https://cloud.mail.ru/public/wHGb/kCnfLLkP8
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Ну что ж, могу сказать, что с помощью уважаемого сообщества удалось довести до ума полезное устройство.
Сделано на Atmega328P, без кристалла, на частоте МК 8 МГц.
Окончательная схема:
https://cloud.mail.ru/public/84gD/TT7qE86AQ
Видео тестирования:
https://cloud.mail.ru/public/yC2Y/DyWeQ1doY
Кот здесь:
И здесь:
https://cloud.mail.ru/public/nVJr/Bjgvob3B1
Сделано на Atmega328P, без кристалла, на частоте МК 8 МГц.
Окончательная схема:
https://cloud.mail.ru/public/84gD/TT7qE86AQ
Видео тестирования:
https://cloud.mail.ru/public/yC2Y/DyWeQ1doY
Кот здесь:
Код: Выделить всё
/*==============
cvavr 3.12
Beams.c
8 МГц
Фьюзы: High 0xDF
Low 0xD2
Created: 02.07.2026
Author: Massaraksh7
================*/
#include <mega328p.h>
#include <interrupt.h>
#define FIRE DDD6
#define FB1 DDD0
#define FB2 DDD1
#define GEN DDB1
#define R_WAIT 0
#define R_DIR 1
#define R_BACK 2
#define R_DO_DIR 3
#define R_DO_BACK 4
#define MAX_VIS 3
#define DEL 2000
volatile int sign1,sign2; //---Сигнал 0 или 1
volatile int imp1,imp2; //---Число импульсов
volatile int tim0; //---счётчик основного цикла
int count,rate;
//---Начальные установки
void prepare()
{
//---Установка переменных
imp1 = 0;imp2 = 0;tim0 = 1;
count=0;rate=R_WAIT;
sign1=1;sign2=1;
//---Установка портов
DDRB = 0;
DDRB |= (1<<GEN);
DDRD = 0;
DDRD |= (1<<FB1) | (1<<FB2) | (1<<FIRE);
PORTD.FIRE = 0;
#asm("cli")
//---Устанровка таймера0 ~ 1мс
TCCR0A = (1 << WGM01); // CTC
TCCR0B = (1 << CS00) | (1 << CS01); // 8000000/64 = 125000
OCR0A = 124; // 125000/(124+1) = 1000 -> 1мс
TIMSK0 |= (1 << OCIE0A);
//---Установка таймера1 - 25мкс, ШИМ, OC1A
TCCR1A = (1 << WGM11) | (1 << COM1A1); // WGM11+WGM13 -> Fast PWM, COM1A1 - Вывод на OC1A (PB1)
TCCR1B = (1 << WGM13) | (1 << CS10); // CS10 - без предделителя
ICR1H = 1;ICR1L = 0x8F; // =400-1, 8000000/400 = 20кГц
OCR1AH = 0; OCR1AL = 0xC7; // =200-1, меандр
//---Внешние прерывания
EICRA = (1 << ISC01) | (1 << ISC00) | (1 << ISC11) | (1 << ISC10);
EIMSK |= (1 << INT0) | (1 << INT1);
#asm("sei")
}
//---Подключить нагрузку
void fireON() {
PORTD.FIRE=1;
}
//---Отключить нагрузку
void fireOFF() {
PORTD.FIRE=0;
}
interrupt [EXT_INT0] void int0_isr(void) {
imp1++;
}
interrupt [EXT_INT1] void int1_isr(void) {
imp2++;
}
//---Прочитать состояние входов
void ReadSignals() {
if (imp1<3) sign1=1; else sign1=0; imp1=0;
if (imp2<3) sign2=1; else sign2=0; imp2=0;
//if (sign1==0) PORTD &= ~(1 << FB1); else PORTD |= (1 << FB1);
//if (sign2==0) PORTD &= ~(1 << FB2); else PORTD |= (1 << FB2);
if (sign1==0) PORTD.FB1 = 0; else PORTD.FB1 = 1;
if (sign2==0) PORTD.FB2 = 0; else PORTD.FB2 = 1;
}
//---Основной цикл 1мс
interrupt [TIM0_COMPA] void timer0_compa_isr(void) {
tim0--;if (tim0!=0) return;
tim0=1;
if (rate==R_WAIT) //---Режим ожидания основной
{
ReadSignals();
if (sign1==0 && sign2==1){rate=R_BACK;return;}
if (sign1==1 && sign2==0){rate=R_DIR;return;}
return;
}
if (rate==R_DIR) //---Режим возможного пересечения вперёд
{
ReadSignals();
if (sign1==0 && sign2==0){rate=R_WAIT;return;}
if (sign1==1 && sign2==1){rate=R_DO_DIR;return;}
return;
}
if (rate==R_BACK) //---Режим возможного пересечения назад
{
ReadSignals();
if (sign1==0 && sign2==0){rate=R_WAIT;return;}
if (sign1==1 && sign2==1){rate=R_DO_BACK;return;}
return;
}
if (rate==R_DO_DIR) //---Точно пересечение вперёд
{
if (count<MAX_VIS) count++;
if (count==1) fireON();
tim0=DEL;
rate=R_WAIT;
return;
}
if (rate==R_DO_BACK) //---Точно пересечение назад
{
if (count>0) count--;
if (count==0) fireOFF();
tim0=DEL;
rate=R_WAIT;
return;
}
}
void main(void)
{
prepare();
while (1) { };
}
https://cloud.mail.ru/public/nVJr/Bjgvob3B1
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Я тут подумал: в корпусе TQFP32, наверное, в любительских условиях очень трудно сделать, но вот в корпусе SOIC попроще, наверное. И микросхема подходящая есть - Attiny84. Ну, это, если кто захочет компактности. Я думаю, там в коде минимальные изменения.
P.S.: И тогда уж рассмотреть операционный усилитель типа LM358P: там 2 канала усиления, будет очень компактно вместо 4 транзисторов, 12 резисторов и 4 конденсаторов.
P.S.: И тогда уж рассмотреть операционный усилитель типа LM358P: там 2 канала усиления, будет очень компактно вместо 4 транзисторов, 12 резисторов и 4 конденсаторов.
P.S2: Не минимальные, но можно.в коде минимальные изменения.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Кстати, за идею спасибо.Zapolyarny писал(а): Ср июл 01, 2026 19:03:27 Цифровой микроскоп со встроенным дисплеем очень выручает, притом, даже самый дешёвый.
https://cloud.mail.ru/public/MmuR/8gb7NLtua
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
- Сообщения: 434
- Зарегистрирован: Чт май 07, 2026 00:30:38
Во, теперь вся мелочь как брёвна 
А ещё с ним очень хорошо удалять занозы - минимальное травмирование тканей и безболезненно.
А ещё с ним очень хорошо удалять занозы - минимальное травмирование тканей и безболезненно.
Это от условий зависит. Для меня это очень легко там же шаг 0.8 и ширина/зазор 0.4, это в два раза больше, когда уже начинается сложно (стандартно делаю дорожка/зазор 0.25/0.25...0.3/0.3) А очень трудно - это менее 0.2 мм.Massaraksh7 писал(а): Пн июл 06, 2026 03:05:20 Я тут подумал: в корпусе TQFP32, наверное, в любительских условиях очень трудно сделать
Единственно, непонятно, а паять-то под ним можно? Ведь весь канифольный дым будет уходить вверх, и, наверное, там оседать, это не повлияет ни на что?
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
ЛУТ? А такие мелкие дорожки не исчезают при протравливании?Zapolyarny писал(а): Пн июл 06, 2026 16:57:11 Это от условий зависит. Для меня это очень легко там же шаг 0.8 и ширина/зазор 0.4, это в два раза больше, когда уже начинается сложно (стандартно делаю дорожка/зазор 0.25/0.25...0.3/0.3) А очень трудно - это менее 0.2 мм.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
- Сообщения: 434
- Зарегистрирован: Чт май 07, 2026 00:30:38
Можно, повлияет - осядет на оптику. Для дыма нужна вытяжка, чтоб и в лёгких не оседал. Я пока не сделал, паяю несколько лет так, объектив протирал один раз спиртом.Massaraksh7 писал(а): Пн июл 06, 2026 17:19:04 Единственно, непонятно, а паять-то под ним можно? Ведь весь канифольный дым будет уходить вверх, и, наверное, там оседать, это не повлияет ни на что?
Фоторезист. Не исчезают и 0.1, если соблюдать условия. Если раствор плохой и передержать к тому же - сильные боковые подтравы неизбежны. Но сейчас перешёл на гравировку ЧПУ-станком, поэтому, подобных проблем вообще нет. Есть другиеMassaraksh7 писал(а): Пн июл 06, 2026 17:30:04 ЛУТ? А такие мелкие дорожки не исчезают при протравливании?
- Сообщения: 1385
- Зарегистрирован: Пн май 01, 2017 20:01:45
Zapolyarny, наверно вы плохо/сегментарно читали тему. У ТС постоянные протравы/трещины на платах. О каких 0.1/0.2 может идти речь?
К слову, 5/5 mil могу показать, делал ЛУТом. Меньше просто не могу напечатать. Рабочая норма 0.2/0.2 (2 трассы под 0805). Так что, фоторезист не обязателен.
К слову, 5/5 mil могу показать, делал ЛУТом. Меньше просто не могу напечатать. Рабочая норма 0.2/0.2 (2 трассы под 0805). Так что, фоторезист не обязателен.
Так сейчас какие проблемы? На любой вкус и кошелёк.Zapolyarny писал(а): Пн июл 06, 2026 20:01:36 Для дыма нужна вытяжка, чтоб и в лёгких не оседал. Я пока не сделал, паяю несколько лет так.
https://www.wildberries.ru/catalog/0/se ... 0%BA%D0%B8
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
Проверил, как работает LM358P по схеме:
https://cloud.mail.ru/public/XaFv/QS2dH13vg
Видео:
https://cloud.mail.ru/public/oRBm/kzN1h3VkG
В принципе, работает, но что-то смущает.
https://cloud.mail.ru/public/XaFv/QS2dH13vg
Видео:
https://cloud.mail.ru/public/oRBm/kzN1h3VkG
В принципе, работает, но что-то смущает.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
ну вот. уже лучше.
а мне не нравится сидеть с микроскопом.
раньше брал обычный медицинский микроскоп и сидел паял паяльной станцией.
но это был ремонт. за деньги. тут понятно.
а вот чтоб делать свои устройства лучше брать детали побольше. чтоб не напрягать зрение. не забывайте что зрение у нас одно на всю жизнь ! так что берегите себя ))

а мне не нравится сидеть с микроскопом.
раньше брал обычный медицинский микроскоп и сидел паял паяльной станцией.
но это был ремонт. за деньги. тут понятно.
а вот чтоб делать свои устройства лучше брать детали побольше. чтоб не напрягать зрение. не забывайте что зрение у нас одно на всю жизнь ! так что берегите себя ))
- Сообщения: 434
- Зарегистрирован: Чт май 07, 2026 00:30:38
Верно. Я как-то криво построил фразу, будто только с фоторезистом можно.
Ваш навык с ЛУТ достоин восхищения - у меня такое с ним не выйдет.
Итого - в первую очередь, всё-таки важны руки. И голова.
Так и жизнь одна и не бесконечна. Какой смысл помирать самосбережённым?roman.com писал(а): Вт июл 07, 2026 12:24:20 зрение у нас одно на всю жизнь ! так что берегите себя ))
Как это удаётся? У меня переносится всё чётко, даже линии 0.1мм, проблемы начинаются именно после травления.u37 писал(а): Пн июл 06, 2026 20:16:19 К слову, 5/5 mil могу показать, делал ЛУТом. Меньше просто не могу напечатать. Рабочая норма 0.2/0.2 (2 трассы под 0805).
Чем травите, при какой температуре, сколько, когда останавливаетесь?
Я, например, персульфатом аммония, в горячей воде, травление занимает, наверное, минуту или чуть больше, но протравы постоянные.
"Чтобы правильно задать вопрос, нужно знать бОльшую часть ответа" - Р.Шекли
- Сообщения: 1385
- Зарегистрирован: Пн май 01, 2017 20:01:45
Вот чем не заморачивался, так это тем, "чем" травить. Стандартный состав аптечные 3% с лимонной кислотой. Травить 3-5 минут. Если больше - раствор выливается и быстро собирается свежий. Держать в растворе долго нельзя - всё перетравится. Сульфаминовую кислоту купил, но так и лежит не распакованной.
Если есть подтравы, то кроме химии дело может быть в не держании картинки на меди. Плату нельзя шкурить и вообще тереть абразивом (если хотите менее 0.2/0.2) и поверхность гарантированно должна бить чистой. Мне хватает пемолюкса.
Если есть подтравы, то кроме химии дело может быть в не держании картинки на меди. Плату нельзя шкурить и вообще тереть абразивом (если хотите менее 0.2/0.2) и поверхность гарантированно должна бить чистой. Мне хватает пемолюкса.


