Характеристика заряда/разряда конденсатора нелинейна. Но можно использовать какой-то маленький её кусочек, на котором нелинейность не так заметна. Но для этого потребуется схема на ОУ, я тут соседней теме один из вариантов выложил.SVP писал(а):Как-бы сделать так, чтобы линейно напряжение на выходе менялось, а не по экспоненте.
LCNC управление шпинделем "наоборот"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Ммм... настолько нелинейна ? Хотя конденсатор там может довольно древний, нашел в сусеках.UAVpilot писал(а):Характеристика заряда/разряда конденсатора нелинейна. Но можно использовать какой-то маленький её кусочек, на котором нелинейность не так заметна. Но для этого потребуется схема на ОУ, я тут соседней теме один из вариантов выложил.SVP писал(а):Как-бы сделать так, чтобы линейно напряжение на выходе менялось, а не по экспоненте.
Попробую найти какой-нибудь поновее. Есть ли информация о том, какие конденсаторы наиболее линейны ?
Откудаб выкусить
ОУ это хорошо, но пока я их закуплю...
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Попробовал разные конденсаторы "посувать".
То, что было в наличии.
Толку в общем-то никакого, всё равно всё офигенно нелинейно.
Может какие-нибудь танталовые итп получше ? Ионисторы ? Гдеж их токо взять...
Выдергиваю его вообще, мультиметр начинает показывать вроде как гораздо более правильные значения.
(усредняет сам похоже)
То, что было в наличии.
Толку в общем-то никакого, всё равно всё офигенно нелинейно.
Может какие-нибудь танталовые итп получше ? Ионисторы ? Гдеж их токо взять...
Выдергиваю его вообще, мультиметр начинает показывать вроде как гораздо более правильные значения.
(усредняет сам похоже)
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Ок, другой вопрос, гдеб почитать и посмотреть примеры решения следующей задачи.
Хочу иметь некую таблицу соответствия "установленная скорость" - "подаваемое на pwm", т.е. корректировать вручную.
Или это только в исходники лезть ?
Где-то ведь производится рассчет исходя из текущей установленной скорости вращения, и максимальной необходимой.
Вот там-бы поправить...
Хочу иметь некую таблицу соответствия "установленная скорость" - "подаваемое на pwm", т.е. корректировать вручную.
Или это только в исходники лезть ?
Где-то ведь производится рассчет исходя из текущей установленной скорости вращения, и максимальной необходимой.
Вот там-бы поправить...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Дело не в типе конденсатора, а в его физике.
Вот график заряда конденсатора - это экспонента
Например можно использовать только кусок этой характеристики от 0 до 20%, но тогда надо будет изменить частоту или ёмкость соотв. образом и напряжение на конденсаторе увеличить в 5 раз.
Вот график заряда конденсатора - это экспонента
Например можно использовать только кусок этой характеристики от 0 до 20%, но тогда надо будет изменить частоту или ёмкость соотв. образом и напряжение на конденсаторе увеличить в 5 раз.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Да, похоже четко соответствует наблюдаемому.
Но я предпочел-бы научиться исправлять программно.
Это всё для лазерной выжигалки. Хочется уметь корректировать её мощность нелинейно, т.к. в зависимости от материала, самого лаз. диода итп
для получения равномерного цвета нужно по-разному менять выходную мощность лазера в зависимости от установленной.
Т.е. там тоже всё нелиненое совсем.
Это понятно, и чем кусок меньше тем будет линейнее. Пока смирюсь с тем что есть, на будущее может имеет смысл подумать над ОУ итп.UAVpilot писал(а):Например можно использовать только кусок этой характеристики от 0 до 20%, но тогда надо будет изменить частоту или ёмкость соотв. образом и напряжение на конденсаторе увеличить в 5 раз.
Но я предпочел-бы научиться исправлять программно.
Это всё для лазерной выжигалки. Хочется уметь корректировать её мощность нелинейно, т.к. в зависимости от материала, самого лаз. диода итп
для получения равномерного цвета нужно по-разному менять выходную мощность лазера в зависимости от установленной.
Т.е. там тоже всё нелиненое совсем.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Физика с математикой должны тебе помочь.SVP писал(а):Но я предпочел-бы научиться исправлять программно.
Формула зарада конденсатора известна (экспонента) - надо просто входное значение pwmgen скорректировать по обратной экспоненте.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Дык в этом и вопрос: где покурить примеры подобных доделок ?UAVpilot писал(а):Физика с математикой должны тебе помочь.SVP писал(а):Но я предпочел-бы научиться исправлять программно.
Формула зарада конденсатора известна (экспонента) - надо просто входное значение pwmgen скорректировать по обратной экспоненте.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
В учебниках физики и математики. 
Если мне не изменяет мой склероз, напряжение на конденсаторе меняется согласно формуле:
Следовательно чтобы скомпенсировать её нелинейность входное значение должно меняться по обратному закону. Сейчас думать над такими высокими материями не готов, но как минимум в обратной формуле не должно быть "1-", степень вроде должна остаться отрицательной...
Если мне не изменяет мой склероз, напряжение на конденсаторе меняется согласно формуле:
Следовательно чтобы скомпенсировать её нелинейность входное значение должно меняться по обратному закону. Сейчас думать над такими высокими материями не готов, но как минимум в обратной формуле не должно быть "1-", степень вроде должна остаться отрицательной...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
sas_75
- Мастер
- Сообщения: 463
- Зарегистрирован: 10 мар 2015, 11:03
- Репутация: 115
- Настоящее имя: Сергей
- Откуда: Владивосток
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Можно сделать проще: осуществить зарядку конденсатора постоянным током на одном транзисторе по схеме генератра тока, тогда зависимость напряжения на конденсаторе будет линейна от тока: U = I/C. Вот только напряжение с конденсатора надо подавать на полевой транзистор, либо использовать операционный усилитель с входным каскадом на полевиках. Можно и интегратор на ОУ использовать.
Про расчет транзисторного варианта можно почитать здесь:
http://www.electronicsblog.ru/impulsnay ... -toka.html
Про расчет транзисторного варианта можно почитать здесь:
http://www.electronicsblog.ru/impulsnay ... -toka.html
- Вложения
-
- ГТ.jpg (13.04 КБ) 2925 просмотров
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Открыл парочку, ни в одном не нашел ничего про linuxCnC и его внутреннее устройство.UAVpilot писал(а):В учебниках физики и математики.
В какой главе за какой класс это описано ?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Попробуй дальше мой пост почитать - я после той строчки, что ты отквотил практически всё написал, осталось уточнить детали.SVP писал(а):В какой главе за какой класс это описано ?
Вот и помогай людям... 
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Еще раз: нет проблем с тем, чтобы вычислить необходимые значения, более того, они не такие как получатся по твоей формуле,
их очевидно можно будет получить только путем калибровки, т.к. светимость лазерного диода не линейна, и поглощение
обрабатываемым телом излучения тоже не вполне линейно. Т.е. конденсатор тут только одна из деталей требующих подгонки.
Есть проблема с тем, куда это всё в lcnc "сувать"
Пример-бы какой-нибудь...
Но уже ясно, что малой кровью не допилить, и придется читать маны.
их очевидно можно будет получить только путем калибровки, т.к. светимость лазерного диода не линейна, и поглощение
обрабатываемым телом излучения тоже не вполне линейно. Т.е. конденсатор тут только одна из деталей требующих подгонки.
Есть проблема с тем, куда это всё в lcnc "сувать"
Пример-бы какой-нибудь...
Но уже ясно, что малой кровью не допилить, и придется читать маны.
Кто людям помогает - тот тратит время зря, хорошими делами прославится нельзя
.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Имеет смысл копать здесь http://www.linuxcnc.org/docs/html/man/m ... rve.9.htmlSVP писал(а):Есть проблема с тем, куда это всё в lcnc "сувать"
Чудес не бывает. Бывают фокусы.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
1. надо понять как работать с пинами в hal, это http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_halSVP писал(а):Пример-бы какой-нибудь...
Но уже ясно, что малой кровью не допилить, и придется читать маны.
2. потом прочитать про компонеты: http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal
3. Потом прикинуть какие компоненты и пины понадобятся: компоненты: http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal (внизу)
потом пробуешь все это сделать в custom.hal, ну и вешай сюда для дальнейших коментариев.
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Почитал, немного непонятно.
Кажется, что для управления надо встроить в цепочку свой компонент, и в нем посредством функции производить расчеты.
Не могу понять пока только одного: где сам код выполняемой функции-то должен быть ?
Вот есть некий энкодер
http://linuxcnc.org/docs/html/man/man9/encoder.9.html
Своё мне такое как-куда добавить ? Как свой компонент hal сделать ? Личный, с моим поведением.
Или речь о том, что надо из имеющихся компонент собрать некий аля-конечный автомат, который модифицирует значение
посредством простых операций ?
Кажется, что для управления надо встроить в цепочку свой компонент, и в нем посредством функции производить расчеты.
Не могу понять пока только одного: где сам код выполняемой функции-то должен быть ?
Вот есть некий энкодер
http://linuxcnc.org/docs/html/man/man9/encoder.9.html
Своё мне такое как-куда добавить ? Как свой компонент hal сделать ? Личный, с моим поведением.
Или речь о том, что надо из имеющихся компонент собрать некий аля-конечный автомат, который модифицирует значение
посредством простых операций ?
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Свой компонент тоже разработать можно. Но это если "аля-конечный автомат" из готовых кубиков не получается собрать (нет каких-то кубиков, либо слишком громоздкая конструкция выходит.SVP писал(а):Или речь о том, что надо из имеющихся компонент собрать некий аля-конечный автомат, который модифицирует значение
посредством простых операций ?
То есть в конечном итоге есть некая эмпирическая зависимость? Тогда, как я уже писал, имеет смысл вставить компонент LINCURVE. У него есть один "аналоговый" вход и один "аналоговый" выход. А зависимость выходного сигнала от входного задается таблицей из максимум 16 пар значений "вход-выход". Для промежуточных значений применяется линейная интерполяция.SVP писал(а):Еще раз: нет проблем с тем, чтобы вычислить необходимые значения, более того, они не такие как получатся по твоей формуле,
их очевидно можно будет получить только путем калибровки, т.к. светимость лазерного диода не линейна, и поглощение
обрабатываемым телом излучения тоже не вполне линейно.
Чудес не бывает. Бывают фокусы.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Вот он: http://git.linuxcnc.org/gitweb?p=linuxc ... d1;hb=HEADSVP писал(а):Не могу понять пока только одного: где сам код выполняемой функции-то должен быть ?
Вот есть некий энкодер
В подавляющем большинстве случаев писать свой компонент не приходится.
Опиши свою зависимость?
-
SVP
- Мастер
- Сообщения: 6140
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Да, думаю lincurve мне подойдет, хотелось в целом понимать какие есть возможности.
Можно было-бы написать на С, как-то собрать и подключить свою функцию ?
Зависимость у меня пока не вполне понятная (надо еще на свежую голову подумать тщательно).
Но похоже по набору значений в первом приближении подойдет.
Можно было-бы написать на С, как-то собрать и подключить свою функцию ?
Зависимость у меня пока не вполне понятная (надо еще на свежую голову подумать тщательно).
Но похоже по набору значений в первом приближении подойдет.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: LCNC управление шпинделем "наоборот"
Да, можно. Ищи по форуму comp и halcompile
ну и
http://linuxcnc.org/docs/html/hal/comp.html
http://linuxcnc.org/docs/html/man/man1/ ... ile.1.html
ну и
http://linuxcnc.org/docs/html/hal/comp.html
http://linuxcnc.org/docs/html/man/man1/ ... ile.1.html
