roboforum.ru

Технический форум по робототехнике.

Датчик касания оптический, триангуляция

Обсуждение технологии печати на 3D принтерах. Самостоятельное изготовление и приобретение. RepRap и его последователи.

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 16:41

dccharacter писал(а):У меня токового делителя нету.

Ой, не токовый делитель, а делитель для токового резистора r4, делитель: r3/r5. Кассандра же :oops:
Схему брал с твоего git:
https://github.com/dccharacter/RF3Sens/blob/f8d2a6b9678d1baa5a72bd36d9a40589e9640467/doc/OpAmp-const-current-source.png
Смысл такой:
r3/r5 задает масштаб тока через r4. При соотношении этого делителя 1.5k/1k, получаем макс. ток при 3-х вольтах с шим = 3/1.5 /r4 = 16.6 ма. При этом ты уже теряешь 2 вольта на этой схеме. Если ты перерассчитаешь делитель r3/r5 под макс. выходное напряжение 1V, и соотв. r4 = 1v/16.6ma = 60 ом. Ыыыыы, зачем считал :) в 2 раза меньше напр., значит в 2 раза меньше резистор. А, да, о чем это я? Так ты сэкономишь 1 вольт падения при тон же макс. токе лазера...
Можно и на 0.5 вольт рассчитать, но надо уже инспектировать схему на раил-ту-раил.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 09 сен 2017, 16:49

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

А прям сейчас я пойду вот эту схему пробовать:
IFD2630_FO_0.gif


Добавлено спустя 4 минуты 1 секунду:
А вот схема, с которой я осциллограмму вчера снял
Capture.PNG
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 17:09

dccharacter писал(а):А прям сейчас я пойду вот эту схему пробовать:

схема - бред какой-то, даже не пробуй :)
Как может быть подтяжка r3 при dac? Да еще и при r2? Почему токовый резистор в плюсе питания, когда dac выдает относительно земли?

Добавлено спустя 1 минуту 7 секунд:
У тебя нормальная схема была, переведи ее на питание 12v и все...

Добавлено спустя 13 минут 26 секунд:
dccharacter писал(а):А вот схема, с которой я осциллограмму вчера снял

Это полностью нерабочая схема :)
После dac надо обязательно получать напряжение (фильтром), т.к. это напряжение будет переводиться в ток. А у тебя получается высокочастотные импульсы постоянного напряжения.
dccharacter, ты чего? :cry:

Добавлено спустя 2 минуты 9 секунд:
И не могло быть тех осциллограмм на этой схеме, у тебя должны были быть вч импульсы с меняющ. скважностью на лазере. Можно предположить, что вч импульсы сгладит низкое быстродействие ОУ и транзистора, но это капец - просто погода на Марсе...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 09 сен 2017, 17:15

После dac надо обязательно получать напряжение (фильтром), т.к. это напряжение будет переводиться в ток. А у тебя получается высокочастотные импульсы постоянного напряжения.

Чо? DAC напряжение чистое выдает, посмотри на зеленую линию на осциллограмме. Причем это буферезированный ДАК, с него еще и тока снять можно порядком.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 17:30

dccharacter писал(а):Чо? DAC напряжение чистое выдает

Я говорю про dac который на схеме с avr, т.е. наш датчик касания, там DAC делается из шим с помощью rc цепи, и на схеме у тебя обозначено: PWM. :)
Сейчас я догадываюсь, что ты туда подал напряжение от dac, тогда осциллограммы правильные, но насыщение надо убрать уменьшением напряжения с помощью делителя, который ты выкинул...
Вот и прикинь, как анализировать твои схемы, когда они только у тебя в голове :)

Добавлено спустя 3 минуты 55 секунд:
На схеме, которую ты всю разукрасил:
Вернуть r3 и r5 (кондер не нужен). Рассчитать делитель, чтоб было макс. напряжение 1v. Соотв. рассчитать токовый резистор из: 1v/(нужный макс. ток)...

Добавлено спустя 5 минут 33 секунды:
Если MCP6201 раил-то-раил, то перерассчитай схему под 0.5v макс. напряжения.
Но в любом случае, если ты временно подашь 12v на анод лазера, то и старая схема (с выкинутым делителем) заработает правильно. А дальше думай, дорабатывать схему до 5-ти вольт или оставить 12v.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 09 сен 2017, 17:53

Да, я 12В подал (благо, на принтере они есть), и все работает правильно. Можно lm358 использовать :-)
Проблема АВР-а - это всего 8 бит разрешение. В итоге рабочую зону проскакиваем в 2-3 тика. А на СТМ32 Дак - 12 бит. Плавнейшая регулировка.
Вторая проблема - быстродействие. Я пока не смотрел время выхода на установку, но оно очень небольшое. За это время надо n раз считать матрицу и подрегулировать лазер :-(

Добавлено спустя 3 минуты 46 секунд:
Дим, просьба. Рассчитай номиналы сглаживающей РЦ-цепочки между ШИМ-ом и Оп-АМПом. А то сами мы деревянные.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 18:12

dccharacter писал(а):Проблема АВР-а - это всего 8 бит разрешение. В итоге рабочую зону проскакиваем в 2-3 тика. А на СТМ32 Дак - 12 бит. Плавнейшая регулировка.

Проблема не в низкой разрядности, а в линейной функции. Тебе в любом случае не хватит скорости, что на 8-ми битах, что на 16-ти. Это ОЧЕНЬ много, даже 6 бит много. Надо делать квадратичную функцию. Я тебе это уже говорил.
Да, квадратичную функцию можно сделать и на линейном dac. Просто надо писать программу регулятора не с инкрементом шим, а с квадратич. зависимостью. Создаешь квадратичную табличку и линейно инкрементируешь старым регулятором tab[index++] :)

Добавлено спустя 6 минут 34 секунды:
dccharacter писал(а):Дим, просьба. Рассчитай номиналы сглаживающей РЦ-цепочки между ШИМ-ом и Оп-АМПом. А то сами мы деревянные.

Да я сам практич. путем такие вещи делаю :)
Ставишь 1кОм и 1нФ, смотришь осциллом, надо добиться мелкой пилы на заполнении 50%, например 0.1v. Это обеспечит и хорошую скорость и достаточную фильтрацию.
А нонче можно и в ваших инетах посмотреть :)
http://chipinfo.pro/article/basics_of_circuitry/pwm_filter.shtml
Но дедовский способ работает на острове без wi-fi :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 09 сен 2017, 18:18

Дим. Вот я реально дерево, я не понимаю. Вот у тебя при ток через лазер при значениях шима:
130 - 20мА
131 - 25мА
132 - 30мА
133 - 35мА
Ты куда собрался квадрат встраивать? Ты же не можешь на шим подать 131.0087?!?!??
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 19:33

Ну тут явная несогласованность схемы. Надо изначально добиться от схемы (аппаратно) приемлемого масштаба. Т.е. 1 шаг шим должен менять ток не более 0.1 мА.
Кста, разве в avr 8 бит шим? Там их 16 бит. Надо их использовать, вот тебе и будет дробиться один шаг в 5мА на 5мА/256
Не помню как я делал в этом датчике касания, если там реально только 8 бит, то делалось длю упрощения, чтоб не вникать в шим авр, пилите... :)

Добавлено спустя 13 минут 16 секунд:
Так, я в легком шоке, похоже в ATtiny85 8 бит шим :shock:
Но в нормальных дуинах явно больше...

Добавлено спустя 52 минуты 7 секунд:
Мда, ATtiny85 имеет только 8-ми разрядные таймеры. И это единственный, кажись, такой контроллер, даже ATtiny84 имеет 16-ти битный таймер :)
Остается только хак через прерывания:
http://www.technoblogy.com/show?1NGL
Вообще, грустно все это. Я даже в страшном сне не мог представить, что бывают контроллеры с ущербным 8-ми битным аппаратным шимом. Это меня развратили пикины...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 09 сен 2017, 19:36

Dmitry__ писал(а):Да я сам практич. путем такие вещи делаю :)
Ставишь 1кОм и 1нФ, смотришь осциллом, надо добиться мелкой пилы на заполнении 50%, например 0.1v. Это обеспечит и хорошую скорость и достаточную фильтрацию.
А нонче можно и в ваших инетах посмотреть :)
http://chipinfo.pro/article/basics_of_circuitry/pwm_filter.shtml
Но дедовский способ работает на острове без wi-fi :)

Есть только одна проблема. Частота шим - 500Гц. Соответственно 0.1В достигается со временем установки 1с.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 09 сен 2017, 19:46

dccharacter писал(а):Есть только одна проблема. Частота шим - 500Гц. Соответственно 0.1В достигается со временем установки 1с.

А ты коммент в моей ветке проги читал? Ну как главного начинателя этого датчика. Или все удалил? :)

Надо подключать аппаратный FastPwm, т.к. у меня спаян датчик на тиньке, то оплаживаю только вариант digispark.
Тут начинается жесткий хак. По умолчанию частота шим на дуинах всего около 500гц. Для digispark нагуглилось:
http://forum.arduino.cc/index.php?topic=144935.15
http://digistump.com/wiki/digispark/tricks
http://forum.amperka.ru/threads/%D0%9F% ... ny45.1609/

T.e. в моем случае надо сделать:
PWM on Pin0 (up to 32.2KHz), 1 (up to 64.5KHz) and 4 (up to 64.5KHz)
without breaking micros(), millis(), delay() and without disturbing DigiUSB.
FAVOR_PHASE_CORRECT_PWM set to 0
MS_TIMER_TICK_EVERY_X_CYCLES set to 1
Digispark Pin PWM Frequency (Hz)
Pin0 32227
Pin1 64453
Pin4 64453

FAVOR_PHASE_CORRECT_PWM to 0 in:
arduino-1.0x/hardware/digispark/cores/tiny/core_build_options.h

MS_TIMER_TICK_EVERY_X_CYCLES symbol in:
arduino-1.0x/hardware/digispark/cores/tiny/wiring.c

Pin0 = 64453 Hz:
закомментировать TIMER0_SUPPORTS_PHASE_CORRECT_PWM в вветке #if defined( __AVR_ATtinyX5__ )
.arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny/core_timers.h


Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 10 сен 2017, 03:28

Подключил-таки я fast pwm
IMAGE00.jpg
IMAGE00.jpg (13.94 КиБ) Просмотров: 2008

А жолтенькая линия - это опамп тормозит. Slew rate - 0.1V/us
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Датчик касания оптический, триангуляция

Сообщение Dmitry__ » 10 сен 2017, 10:03

Желтенькая - это шим напрямую, без rc-цепи, на ОУ?
5мкс/клетка? шим = 65кгц? Ну теперь загуляем :)
Осталось разрядность поднять до 12-ти бит, если у тебя ATtiny85:
http://www.technoblogy.com/show?1NGL
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Датчик касания оптический, триангуляция

Сообщение Madf » 10 сен 2017, 14:40

да, даки разные бывают, на хмегах выдают четко напряжение,а не ток, токовые обычно аля звуковые..
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: Датчик касания оптический, триангуляция

Сообщение dccharacter » 10 сен 2017, 18:37

Dmitry__ писал(а):Желтенькая - это шим напрямую, без rc-цепи, на ОУ?

Да. С МК на вход ОУ просто 1кОм резистор, на выходе - желтенькое.
Dmitry__ писал(а):5мкс/клетка? шим = 65кгц? Ну теперь загуляем :)
Осталось разрядность поднять до 12-ти бит, если у тебя ATtiny85:
http://www.technoblogy.com/show?1NGL

Разрядность поднимать не надо, на белой бумаге нормальный уровень в районе 35, на матовом торце мотка черной изоленты - 210. На столе (обратная сторона зеркала) - 190. Я считаю, что диапазон регулировки великолепный.

Следующая мысль - реализовать быстрый выход на установку через использования значений AVERAGE & SHUTTER.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в 3D печать

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron