Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха.

 
Опции темы
Непрочитано 11.11.2017, 23:08  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

Сообщение от AR_Favorit Посмотреть сообщение
А теперь давай поговорим о числах с плавающей точкой. А зачем они в гипотетической функции, которую я предложил, а Сань?
Они задаются стандартом синтаксиса G-кода! А в нем не предусмотрено представление отрезков линейных перемещений ни в микронах, ни в шагах шагового двигателя. Так что приходится миллиметры переводить из флотов в инты.
ALEGYR вне форума  
Непрочитано 11.11.2017, 23:20  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

Сообщение от ALEGYR Посмотреть сообщение
Они задаются стандартом синтаксиса G-кода! А в нем не предусмотрено представление отрезков линейных перемещений ни в микронах, ни в шагах шагового двигателя. Так что приходится миллиметры переводить из флотов в инты.
Логично, тысяча чертей!!!

Так что же ты их сразу по получении не переводишь, а набиваешь память флоатными буферами? Я в гэ-кодах не копенгаген абсолютно, но разве они не в текстовом виде ваабсче приходят? Из которого ты зачем-то при парсинге выцепляешь флоатные числа и распихиваешь их по буферам, вместо того, чтоб тот же текст преобразовывать сразу в инт...

А пид зачем с флоатами? Он же у тебя на-гре-ва-те-лем управляет, а не движком на много тыщ оборотоов с переменной нагрузкой. Ему нафига точные вычисления, которые ты потом всё равно убиваешь, упихав их результат в один байт?
AR_Favorit вне форума  
Непрочитано 11.11.2017, 23:29  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию

Сообщение от AR_Favorit Посмотреть сообщение
Но проблем, Сань! Держи!
if((iput_F › 30)&&(iput_F ‹= 865)){ max_count_Acceleration = 2 ;}
Эта одна строчка делает ровно то же, что твои 20! Я повысил эффективность участка твоего кода в 20 раз по скорости и в 20 же раз по занимаемому объему.
Молодец! Я же говорил
Сообщение от ALEGYR Посмотреть сообщение
Ай молодца! Вижу что что-то понимаешь!
Беда только в том что к численным методам это не имеет никакого отношения. Это просто издержки рабочего момента, когда проверка стратегии выбранного алгоритма решения того или иного участка программы, берет верх над чистотой написания текста программы.

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

Сообщение от AR_Favorit Посмотреть сообщение
Так что же ты их сразу по получении не переводишь, а набиваешь память флоатными буферами?
Меня это пока не напрягает! У меня 256K памяти, 90% программных задач решено, и всего 25K использовано со всем моим и ардуиновским мусором.

Сообщение от AR_Favorit Посмотреть сообщение
А пид зачем с флоатами? Он же у тебя на-гре-ва-те-лем управляет, а не движком на много тыщ оборотоов с переменной нагрузкой. Ему нафига точные вычисления, которые ты потом всё равно убиваешь, упихав их результат в один байт?
У меня модуль термопары max6675 обменивается флотами, вот и работаю с ними. А модуль я этот использую только потому, что он у меня уже был!

Сообщение от AR_Favorit Посмотреть сообщение
Я в гэ-кодах не копенгаген абсолютно, но разве они не в текстовом виде ваабсче приходят? Из которого ты зачем-то при парсинге выцепляешь флоатные числа и распихиваешь их по буферам, вместо того, чтоб тот же текст преобразовывать сразу в инт...
G-код приходят в текстовом виде, но у меня помимо G-кода, милиметров и микрошагов шагового двигателя есть еще и редукторное число! А оно у меня тоже не целочисленное! Вот и приходится сначала с флотами поработать, а потом округляться до пачки шагов.

Последний раз редактировалось mike-y-k; 13.06.2022 в 22:38. Причина: 6.6
ALEGYR вне форума  
Непрочитано 11.11.2017, 23:54  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию

Сообщение от ALEGYR Посмотреть сообщение
Молодец! Я же говорил
Да неважно, что ты говорил, я-то понимаю, а вот ты нет...

Сообщение от ALEGYR Посмотреть сообщение
Это просто издержки рабочего момента, когда проверка стратегии выбранного алгоритма решения того или иного участка программы, берет верх над чистотой написания текста программы.
Нет, это издержки, возникающие из-за неумения программиста писать оптимальный код.

Ну пусть по-твоему, проверил стратегию, и она даже устроила, почему 20 бесполезных строк не убрал, хотя бы перед тем, как этот позор на форум выложить? Кальсоны грязные тоже всем показываешь, или таки штаны надеваешь поверх них, прежде чем из дома выйти?)))

Сообщение от ALEGYR Посмотреть сообщение
Беда только в том что к численным методам это не имеет никакого отношения.
Конечно не имеет. Ты же с ними незнаком, раз стал писать, про "извлечение квадратных корней" и "вычислениях с плавающей точкой".

Сообщение от ALEGYR Посмотреть сообщение
Я просто взял стандартную библиотеку и вставил ее в свою программу, по тем правилам п которым придумал автор это библиотеки. Для моей задачи этого вполне хватило.
Нет, Саня, ты взял не стандартную библиотеку, а просто кусок чьей-то чужой программы. Нет никакой "стандартной библиотеки PID", есть несколько валяющихся в инете программных кусков с реализацией PID разных авторов. Этот "MyPID" на многих сайтах глаза мозолит.
Ну взял и взял, не беда. Почему тут же не переделал под инты? Дел на пять минут! Ты же сам мне час назад хвастался, как простыня IF-ов позволила "отказаться от вычислений с плавающей точкой"! Почему здесь не отказался? Может потому, что ты плохо понимаешь, что оно делает и как? Потому, что твой реальный уровень ка программиста - это вот та самая портянка IF-ов?

Может, нам как-нить это проверить?

Скажи, Сань, а есть ли в примененной тобой реализации PID ограничение величины максимально накопленной интегральной ошибки, и если есть, то зачем и какое, а если нет, то просто - почему?

Сообщение от ALEGYR Посмотреть сообщение
G-код приходят в текстовом виде, но у меня помимо G-кода, милиметров и микрошагов шагового двигателя есть еще и редукторное число! А оно у меня тоже не целочисленное! Вот и приходится сначала с флотами поработать, а потом округляться до пачки шагов.
А кто мешает задать и это редукторное число интом?!?!?! Ты же помнишь, что мы договорились: все, что у нас было флоатами, представляем в виде интов, умножив на 10 в некоторой степени. Если у нас одни из чисел вида 0.000032423, а другие вида 1232675231.0021312, то, понятное дело, нифига у нас хорошего из этого не вйдет. Но это же твоя программа, ты же можешь сказать про любую из килограмма своих флоат перемнных, какое максимальне и минимальное значение они могут принимать. Ведь можешь? И тогда можно будет сказать - о, у нас все просчитается через int32. Или О, ни фига не выйдет, чтобы такое просчитать, нам надо размерность типа int256, что нам тут недоступно, будем тут считать во флоатах".

Последний раз редактировалось mike-y-k; 13.06.2022 в 22:39. Причина: 6.6
AR_Favorit вне форума  
Непрочитано 12.11.2017, 00:04  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

AR_Favorit да забить на ALEGYR. Нафиг он нужен,он все равно не в зуб ногой,только стрелки метает старый пень. Не интересно с ним уже стало. Пусть его жизнь сама учит
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 12.11.2017, 00:16  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию

Сообщение от AR_Favorit Посмотреть сообщение
Ну пусть по-твоему, проверил стратегию, и она даже устроила, почему 20 бесполезных строк не убрал, хотя бы перед тем, как этот позор на форум выложить?
Так я вроде не в нормоконтроль сдаю заказной проект! И не предполагал что в ближайшие дни буду выставлять его на всеобщее обозрение. Я просто выполнил просьбу CERGEI1982, показать ему что нибудь из настоящего моих разработок, и загрузил то над чем сегодня работаю.

Сообщение от AR_Favorit Посмотреть сообщение
А кто мешает задать и это редукторное число интом?!?!?!
Не кто а что! Желаемая точность позиционирования и конструкционная неточность применяемых механических узлов.
Так что тут либо механику пидорим до высокого класса точности, либо вводим поправочный коэффициентик в программу.

Последний раз редактировалось mike-y-k; 13.06.2022 в 22:39. Причина: 6.6
ALEGYR вне форума  
Непрочитано 12.11.2017, 00:37  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию

Сообщение от ALEGYR Посмотреть сообщение
Так я вроде не в нормоконтроль сдаю заказной проект! И не предполагал что в ближайшие дни буду выставлять его на всеобщее обозрение. Я просто выполнил просьбу CERGEI1982, показать ему что нибудь из настоящего моих разработок, и загрузил то над чем сегодня работаю.
Не забываем. Ты не просто выполнял просьбу, а пытался доказать, что ты крут не только потому, что здоровался за руку с чуваком, который знает Антонова, а еще и потому, что программы умеешь писать.

Вот если бы мы были на форуме плотников, и тебя бы спросили - а что ты как плотник делал, а ты бы выложил кучу неотесанных досок, кое-как сбитых между собой, с торчащими сучками и т.д., было бы примерно то же самое, что этот текст - тут.

Вот твоя функция кстати, полином 4 степени, по средним точкам диапазонов, та часть, что в моем любимом куске, где (iput_F ‹ 865) - обрезана, смысла для её вычисления снижать точность в реально нужной части, просто возвращать 2 ОДНИМ If-ом (той самой одной строчкой, заменяющей 20).
Квадратных корней извлекать, разумеется, никаких не надо, только умножения, но вот флоат использовать _тут_ рекомендовано (или напрягать голову и вспоминать численные методы, или переводить кефы в инты и ограничиться более низкими степенями, где будет хуже сходимость с твоими значениями, хотя, возможно, и этого будет достаточно, поскольку сами эти значения тоже наверняка не идеал)

Коэффициенты сказать?

Сообщение от ALEGYR Посмотреть сообщение
Не кто а что! Желаемая точность позиционирования и конструкционная неточность применяемых механических узлов.
Так что тут либо механику пидорим до высокого класса точности, либо вводим поправочный коэффициентик в программу.
Ну так почему этот коэффициентик - флоат, а не пара интов, на один из которых надо умножить, а на другой потом разделить? Ну же?

Сообщение от ALEGYR Посмотреть сообщение
У меня модуль термопары max6675 обменивается флотами, вот и работаю с ними. А модуль я этот использую только потому, что он у меня уже был!
Точнее, потому что он, как и ПИД, просто БЫЛ где-то в интернетах. Свое - правильное - набросать тоже никак. Но всё равно не оправдание - ну и пусть он флоаты отдает, преобразовать значит в инт. Ты хоть примерно представляешь, скольким тактам процессора, скольким его командам эквивалентна каждая операция с плавающей точкой? Скажи, за сколько тактов процессора выполняется флоат * флоат в твоей ардуине?

Сообщение от ALEGYR Посмотреть сообщение
Меня это пока не напрягает! У меня 256K памяти, 90% программных задач решено, и всего 25K использовано со всем моим и ардуиновским мусором.
Твои буфера флоатные ваще-то в ОЗУ валяются. Которого там вовсе не 256к. Не отличаешь рому от рамы? :В
Миниатюры:
Нажмите на изображение для увеличения
Название: 27zm234.png
Просмотров: 0
Размер:	66.5 Кб
ID:	121333  

Последний раз редактировалось mike-y-k; 13.06.2022 в 22:40. Причина: 6.6
AR_Favorit вне форума  
Непрочитано 12.11.2017, 01:05  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

Сообщение от AR_Favorit Посмотреть сообщение
Ну так почему этот коэффициентик - флоат,
Потому, что когда тебе надо продвинуться например на 200 мм, и ты знаешь, что 1 мм у тебя делается 100 шагами, ты даешь интами 20000 шагов, и получаешь перемещение на 199.78 миллиметров! Вопрос ПОЧЕМУ? Ответ - потому что ремешок как-то тянется и шестеренки люфтят.
Берешь ожидаемые 200 мм, делишь на полученные 199.78 и получаешь коэффициентик 1.0011012113324657122835118630494. Округляешь этот коэффициентик до 1.0011 и используешь его как конструкционную поправку. После чего программа уже будет автоматом делать на 200 мм не 20000 (как думалось для интов), а 20022 шага надо! Не хочешь работать с флотами, получай конструкционную ошибку, или плати приличные бабки за точную механику!
ALEGYR вне форума  
Сказали "Спасибо" ALEGYR
title00 (12.11.2017)
Непрочитано 12.11.2017, 01:18  
levko07
Вид на жительство
 
Регистрация: 07.01.2009
Сообщений: 302
Сказал спасибо: 880
Сказали Спасибо 130 раз(а) в 68 сообщении(ях)
levko07 на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

А как воспринимается такая позиция. Заплатить хорошему знакомому мастеру лучше обычного. Дабы не было стыдно за плохую работу он приложит значительно больше обычного стараний.
До сих пор сам старался всегда сделать работу максимально качественно. Ошибка и без моей воли может сучиться. Ради интереса подбил итог за последние десять лет по ремонту гидроусилителей. Брак составляет 0.16% (в том числе по причине комплектующих).
levko07 вне форума  
Непрочитано 12.11.2017, 01:20  
ALEGYR
Вид на жительство
 
Регистрация: 10.06.2005
Сообщений: 325
Сказал спасибо: 43
Сказали Спасибо 360 раз(а) в 194 сообщении(ях)
ALEGYR на пути к лучшему
По умолчанию Re: Сколько видов работ вы выполняете без оплаты ?

Сообщение от AR_Favorit Посмотреть сообщение
Вот твоя функция кстати, полином 4 степени,
Вообще-то ВТОРОЙ! И не парабола, стремящаяся к бесконечности, а экспонента, стремящаяся к некоторому предельному значению!
ВТОРОЙ потому что это ускорение!
А предельное значение имеет потому что не может шаговый движок крутиться с бесконечной скоростью!
ALEGYR вне форума  
Сказали "Спасибо" ALEGYR
title00 (12.11.2017)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Сколько дней максимум Вы можете выдержать без интернета? Don_Ambrosio Отвлекитесь, эмбеддеры! 20 06.06.2008 16:54


Часовой пояс GMT +4, время: 13:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot