ОБОРУДОВАНИЕ ТЕХНОЛОГИИ РАЗРАБОТКИ
Урок 74. Регулировка скорости вращения двигателя без обратной связи. Измерение периода и частоты сигналов с помощью Ардуино.
Продолжение разработки ПИД-регулятора скорости вращения двигателя постоянного тока. В уроке запустим двигатель без обратной связи. Научимся измерять временные параметры импульсов дискретного сигнала.
Попробуем управлять двигателем только с помощью ШИМ, не используя датчик оборотов.
Регулировка скорости вращения двигателя без обратной связи.
Я написал простую программу, которая формирует ШИМ пропорциональный напряжению на входе A0.
- Измеряет напряжение сигнала на входе A0.
- Усредняет его для защиты от помех.
- Формирует ШИМ с коэффициентом заполнения пропорциональным среднему напряжению на выводе A0.
- При формировании ШИМ учитывает “мертвое время”.
- Выводит значение ШИМ в последовательный порт для контроля.
Вот скетч программы:
Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!
Поясню, что такое “мертвое время”. Допустим, ШИМ работает с высокой частотой, например, 62,5 кГц. Если мы зададим ему коэффициент заполнения 1, то это означает, что с периодом 16 мкс будет формироваться импульс длительностью 0,0625 мкс. Импульс такой короткой длительности транзисторный ключ не отработает, не успеет. В результате транзистор будет какое-то время в полуоткрытом режиме и не к чему хорошему это не приведет. Особенно на высоком напряжении.
Поэтому необходимо искусственно ограничивать импульсы минимальной длины. Если значение 1 транзистор не способен отработать, значит, вместо него необходимо формировать 0. Тоже самое в конце диапазона ШИМ. Например, значение 254 необходимо заменить на 255.
Отработку ”мертвого времени» производит следующий блок программы.
#define DEAD_TIME 10 // мертвое время
// мертвое время
if( valPwm < DEAD_TIME ) valPwm=0;
if( valPwm > (MAX_PWM — DEAD_TIME) ) valPwm= MAX_PWM;
Если значение ШИМ меньше заданного, оно заменяется на 0. Если больше, то оно равно максимальному значению ШИМ.
В программе в определенных пределах можно изменять частоту периода ШИМ.
TCCR2B= 1; // 62 500 Гц
//TCCR2B= 2; // 7 812 Гц
// TCCR2B= 3; // 1 953 Гц
// TCCR2B= 4; // 977 Гц
// TCCR2B= 5; // 488 Гц
// TCCR2B= 6; // 244 Гц
// TCCR2B= 7; // 61 Гц
Для формирования ШИМ используется таймер 2 и вывод 11.
Можно переключиться на вывод 3. Изменения коснутся только строки.
Использование других выводов недопустимо.
Загружаем скетч в контроллер, открываем монитор последовательного порта.
Вращаю переменный резистор, подключенный к входу A0. Монитор показывает изменение ШИМ. В положении резистора от 0 до максимума ШИМ равен 0, затем скачком меняется до 10. Дальше плавное изменение до 245 и скачок до 255. Т.е. заданное ”мертвое время” 10 отрабатывается правильно.
Дальше подключаем к схеме питание 12 В и проверяем работу ключа с мотором-вентилятором. Я проверил для разных частот ШИМ. Как не странно, лучше всего работает на низких частотах 244 и 61 Гц. Мотор начинает вращаться с ШИМ равным 30. На частоте 62,5 кГц вентилятор начинает вращаться при значении ШИМ 60. На средних частотах он еще противно пищит.
Когда Игорь проводил эти испытания на мощном двигателе 500 Вт, он категорично выбрал высокую частоту 62,5 кГц. На высоких частотах его двигатель вращается равномерно, без вибраций. Тише работает, начинает крутиться с меньшего значения ШИМ. Т.е. для каждого двигателя лучше выбирать частоту ШИМ экспериментально.
В любом случае регулировка с помощью ШИМ без обратной связи работает, скорость двигателя изменяется плавно. Конечно, частота оборотов непредсказуема и зависит от механической нагрузки.
Измерение периода и частоты входных импульсов с помощью Ардуино.
Чтобы стабилизировать скорость вращения мотора необходимо ее измерять. А скорость в свою очередь определяется частотой импульсов датчика Холла. Об этом сказано в предыдущем уроке. Как следствие возникает задача – измерение периода и частоты импульсов. Давайте на короткое время забудем про двигатель и научимся измерять частоту импульсов дискретного сигнала.
Задача не очень простая. Скорость вращения мотора у Игоря достигает 12000 об/мин. При такой скорости и использовании с датчиком Холла двух магнитов надо измерять временные параметры с периодом 2,5 мс. Если мы хотим обеспечить точность не более 1%, то разрешающая способность измерителя должна быть не более 250 мкс.
Но бывают и более скоростные двигатели. Часто используются датчики, которые формируют более 2 импульсов на оборот. Это еще уменьшает время дискретности измерителя.
А с другой стороны двигатель может вращаться и со скоростью 60 об/мин. Это соответствует периоду импульсов 0,5 сек.
- наш измеритель должен иметь высокую разрешающую способность по времени (не более десятков мкс)
- и широкий диапазон измерения (не менее 1 сек).
Измерять период с точностью десятков микросекунд чисто программными средствами невозможно. Даже если мы подадим измеряемый сигнал на вход внешнего прерывания, вряд ли это позволит решить задачу. Обработка прерывания может задерживаться другими прерываниями, например, счетчиком системного времени. А это будет искажать время измерения.
Поэтому будем использовать аппаратный узел микроконтроллера – таймер в режиме захвата. У микроконтроллера ATmega328 только таймер 1 может работать в этом режиме.
Лучше будет, если вы почитаете об этом режиме в документации на ATmega328. Я расскажу коротко и чисто с практической точки зрения.
Входной сигнал подключаем к входу ICP1 (вывод 8). Использование других выводов недопустимо.
Микроконтроллер выделяет нужный фронт сигнала на входе ICP1 (я задал перепад с высокого уровня на низкий) и по нему перегружает содержимое таймера 1 в специальный регистр ICR1. Можно считать значение этого регистра и тем самым узнать, когда был перепад входного сигнала, даже если чтение произошло позже самого события.
Дальше немного сложно в понимании, но объем информации небольшой. При желании можно разобраться по шагам.
Мы задаем режим работы таймера 1. Переводим его в режим простого счетчика от внутреннего генератора с максимальной частотой. В этом режиме каждые 0,0625 мкс к счетчику прибавляется 1. При достижении максимального значения 65536, он начинает считать с 0. Также задаем режимы для захвата и разрешаем прерывания таймера 1 по захвату и переполнению.
// установка режима захвата таймера 1
pinMode (8, INPUT_PULLUP); // вход сигнала захвата ICP, входные измеряемые импульсы
TCCR1A = 0; // нормальный режим работы таймера 1
TCCR1B = 0; // выбор отрицательного фронта входного сигнала
TCCR1B = (1 << ICNC1) | (1 << CS10); // включение подавления шума входного сигнала, частота тактирования — внутренний генератор, без деления
TCNT1 = 0; // сброс счетчика
TIMSK1 = (1 << ICIE1) | (1 << TOIE1); // разрешения прерываний таймера 1 по захвату и переполнению
Создаем обработчик прерывания по захвату (фронту входного сигнала).
// прерывание по сигналу захват (по отрицательному фронту измеряемого сигнала)
ISR (TIMER1_CAPT_vect) <
periodTime = (unsigned long)ICR1 | (((unsigned long)numOverflowTimer1) << 16);
TCNT1 -= ICR1;
numOverflowTimer1 = 0;
>
В нем мы считываем значение регистра ICR1 и сохраняем его в переменной periodTime .
Дальше нам надо сбросить счетчик таймера в 0, чтобы отсчет следующего времени начался с 0. Но с момента, когда реально был захват, прошло неизвестное нам время. Надо было его сбрасывать в 0 в момент захвата. Но тогда мы, возможно, отрабатывали другое прерывание. Поэтому мы вычитаем из счетчика значение его в момент захвата.
Что равносильно сбросу в 0 в момент захвата.
В результате вышеописанных действий в переменной periodTime оказывается время между захватами. Т.е. время между отрицательными фронтами входного сигнала. Реальное время будет равно значению periodTime , умноженному на дискретность таймера 0,0625 мкс.
Все было бы хорошо, но при периоде сигнала более 4096 мкс ( 65536 * 0,0625 мкс) таймер 1 переполнится. Значит, нам надо считать еще и переполнения таймера 1.
Для этого создаем обработчик прерываний по переполнению таймера.
// прерывание по переполнению таймера 1
ISR (TIMER1_OVF_vect) <
numOverflowTimer1++;
>
И полученное значение прибавляем к periodTime.
periodTime = (unsigned long)ICR1 | (((unsigned long)numOverflowTimer1) << 16);
Теперь все. В переменной periodTime получаем период входных импульсов. Для вычисления реального времени необходимо умножить его на 0,0625 мкс.
Пишем программу измерения временных параметров входного сигнала и проверяем ее работу.
Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!
Для проверки формируем на выводе 5 сигнал ШИМ с частотой 976,56 Гц.
analogWrite(5, 200); // формирование тестовых импульсов на выводе 5 (976,56 Гц)
Соединяем вывод 8 с выводом 5. Запускаем монитор последовательного порта.
Тестовый сигнал формируется аппаратным способом, поэтому имеет высокую стабильность.
Надо проверить работу нашего измерителя в полном диапазоне.
Для этого тестовый сигнал на выводе 5 формируем с помощью системного времени Ардуино.
Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!
Период задается в строке.
#define TEST_TIME 10 // время периода тестового сигнала (мс)
Проверяем для периода 10 мс.
Вот период 100 мс
Высокой точности от формирования тестового сигнала с помощью системного времени ждать не приходится. Но измеритель работает нормально в широком диапазоне периода входного сигнала.
Такой способ измерения частоты и периода сигналов может использоваться в других приложениях.
В следующем уроке вернемся к двигателю. Будем измерять его скорость вращения.
Регулируем скорость вращения двигателя с помощью ШИМ(PWM) на ATtiny2313
Реализация регулировки скорости вращения двигателя довольно не сложная. Для этого необходимо знать что такое Широтно Импульсная Модуляция (ШИМ по английски PWM), иметь понятие о возможных вариантах её реализации.
В данном примере я расскажу как использовать программную ШИМ, то есть специальные таймеры-счетчики при программной ШИМ не будут задействованы. ШИМ с применением аппаратного ресурса таймеров-счетчиков называется аппаратной ШИМ про нее хорошо рассказал мой коллега.
И так, алгоритм следующий, необходимо организовать уменьшение и увеличение заполненности импульсов, при нажатии на кнопки «+» и соответственно «-«. Подпрограммы уменьшения и увеличения скорости вращения будет включаться двумя кнопками, которые в свою очередь будут присоединены к прерываниям int0 и int1. Такое решение в связи с тем что управляющих кнопок больше не будет, а значит прерывания просто грех не использовать. Соответственно скорость будет увеличиваться или уменьшаться в зависимости от заполненности импульсов коммутирующих силовую схему управления двигателем.
Схема устройства представляет из себя следующее:
Используется только один полевой транзистор из сборки.
В основном цикле программы будет сама непосредственно программа реализации программной ШИМ.
Вывод 12 микроконтроллера AtTiny2313 необходимо соединить с силовой схемой. Силовую схему для управления двигателем предлагаю построить на сборке из двух полевых транзисторов IRF7105. Довольно дешевая, компактная и доступная в продаже сборка. Преимущество применения именно полевых транзисторов в том что на них практически нету падения напряжения, и собственно они за счет этого не греются. Небольшим недостатком является напряжение открытия полевых транзисторов этой сборки оно составляет по паспорту 5В, но экспериментально проверено что оно порядка 4В.
А это значит что мы будем иметь довольно узкий диапазон изменения скорости вращения двигателя от 4В до 5В. В принципе можно использовать любую другую схему для управления мощной нагрузкой, применение такой схемы обусловлено маленькой мощностью портов микроконтроллера ATTiny2313 да и вообще всех микроконтроллеров семейства AVR. Что бы не сжечь порты микроконтроллера как-раз и применяется силовая схема управления нагрузкой а в данном случаи коллекторным двигателем.
На фотографии:
— макетная плата для attiny2313;
— сборка IRF7105 на полевых транзисторах;
— маломощный коллекторный двигатель.
Видео работы регулятора:
Это круто! 🙂 Спасибо за
Это круто! 🙂 Спасибо за статью и исходник. Запустил свой движок. Конешно не обошлось без танцев с бубном. Но это главным образом из-за самого движка. Движок у меня достаточно мощный (из таких часто делают мини дрели для сверления плат). Проблема в том что он никак не хотел запускаться на малых оборотах и при понижении оборотов глох, ну и сам режим ШИМ не подходил-работало не так как хотелось бы. Плюс в программе не предусмотрены «ограничители» по скорости. Т.е. нажимаем например все время кнопку уменьшения громкости. Скорость уменьшается, уменьшается. И потом наступает момент когда переменная для ШИМ переходит через нуль в отрицательные значения. В этот момент мой практически остановившийся движок. можно сказать «Взлетел» со стола на максимальных оборотах. Я мягко говоря был в шоке. Хорошо что к оси был преклеен всего-лишь листочек бумаги, а не что-то «по-тяжелее». В общем через пару часов копания в программе, изменения переменных, диапазона, удалось добиться более-менее нормальных результатов. В целом проблема с малыми оборотами осталась (ну такой движок, ничего не поделаешь), но шим работает шикарно. С прерываниями все тоже гуд! 🙂
необходима помощь
не подскажете как можно при помощи подобного схемного решения управлять двигателем мн-145А с номинальными характеристиками напряжения 27 вольт и током 0.6-0.7 ампера
Да собственно схема остается
Да собственно схема остается той же, единственное что полевой транзистор надо взять мощнее, можно взять например irfz44. И обрати внимание на микроконтроллер больше 5 Вольт нельзя подавать!
Помогите на tiny85 сделать
Помогите на tiny85 сделать управление сервомашинкой через USB (без дополнительных микросхем и кварцев) — чтобы можно было открывать com порт и писать туда нужный мне угол?
И я хочу чтобы в сутках было
И я хочу чтобы в сутках было 34 часа.
Фраза «. через USB. » «. открывать com порт. » убила
ну а чего такого? виртуальный
ну а чего такого? виртуальный ком-порт — разве нельзя?
". через USB (без
«. через USB (без дополнительных микросхем и кварцев). » — нуууууу, с такими условиями.
ну делают
ну делают же)
obdev.at/products/vusb/easylogger.html
только задача несколько другая, и документации мало)) или переделка аналогового входа в цифровой — намного сложнее?
Оцени по сложности этот
Оцени по сложности этот проект с учетом того, что исходника нету.
От 1 до 100. Если помигать светодиодом это к примеру 5-ть!
И скажи, много ты знаешь людей, которые могут сами написать софтовый протокол USB .
некорректная постановка
некорректная постановка задачи. что брать за 95? (у меня фантазии не хватает)))
этот — USB ШИМ?
исходник USB части вроде как раз есть (на том самом V-USB), причем вроде бы встречались реализации именно подобных вещей с передачи данных от компьютера к устройству. остается только повесить шим и все это объединить в одном проекте.
меня для начала не хватает разобраться с работой программного USB))) нужно, чтобы это было хорошо разжевано) — поэтому и спрашиваю)))
Нужен совет!
Кто подскажет в чём трабла собрал эту схему мотор молотит постоянно на кнопки не гу гу!фузы?
программу копировал прямо с этой страничке ! разводку кнопок с http://avrlab.com/node/37 как я понял. прошивка льётся нормально и компелируется гуд!
Код с сайта если взять и
Код с сайта если взять и скопировать то работать не будет, надо удалить нумерацию строк.
Глянь на всякий случай не включена ли оптимизация кода, она может лишние паузы убирать и будет плохо работать программа.
Кнопки действительно подтянуты резисторами +5Вольт.
Нумирация строк не копируется
Нумирация строк не копируется при копировани копируется чистый код !
Тут же все основано на
Тут же все основано на прерывании!
Просто для проверки прерывания напии програмку простенькую, которая по нажатию на кнопку внешнего прерывания включает светодиод или типа того. Таким образом проверишь работает ли у тебя в самом микроконтроллере прерывания.
Обрати внимние на подключение библиотеки прерываний, конфигурирование прерываний и само глобальное разрешение прерываний. Все должно быть как в листинге программы на страничке сайта.
Эх если бы я умел писать программ!
Эх если бы я умел писать програмы ! почему эта не работает вот в чём секрет ?
Эх если бы я умел чаво
Эх если бы я умел чаво писать)) для мено писать код это как в космос)
Не ну есть такое выражение
Не ну есть такое выражение «. высраться и не надуться. »
Не в обиду сказано, но без труда ичего не будет.
Если есть проблема — её верное решение лежит в понимании её решения и умении сделать то, что необходимо для решения.
Без этого никак.
Я понимаю всё! просто новичёк
Я понимаю всё! просто новичёк в этой сфере, чё да как на примерах разбираю, кодописательство ещё в планах ну типа научится а там хз как будет!собераю примеры рабочие программы коды пробую делаю чё не получается ищу причину! Часы недавно по схеме соберал всё с первого раза заработало там не сложнее чем эта хрень, а тут загвоздка не знаю почему прошивка не робит или компелируется как то не так кароче хз!
Автоматическая регулировка оборотов кулеров для снижения шума
alt=»Кулер» width=»80″ height=»64″ />Порой гул от системного блока не позволяет насладиться тишиной или сосредоточиться. В этой статье я расскажу как регулировать обороты кулеров с помощью специальной программы для Windows XP/7/8/10, а в конце покажу на видео более подробно весь процесс.
Почему вентиляторы шумят и какие есть способы это исправить
За исключением особых безвентиляторных модификаций, в каждом компьютере установлено два и более кулера: в блоке питания, на процессоре, видеокарте, в корпусе и другие. И каждый по-своему шумит, и это плохая новость. Многие просто привыкли к шуму своего системника и считают что так и должно быть. Может быть и должно, но необязательно! В 99% случаев шум от компьютера можно уменьшить на 10%-90%, и это хорошая новость.
Как вы уже поняли, бесшумность достигается уменьшением шума от кулеров. Это возможно с помощью применения более тихих, по своей природе, кулеров, либо с помощью уменьшения оборотов уже имеющихся. Естественно, уменьшать скорость можно до значений не угрожающих перегреву компьютера! В этой статье речь пойдёт именно об этом способе. Ещё больше снизить шум помогут программы для уменьшения треска от жёсткого диска.
Итак, чтобы уменьшить обороты вращения кулера можно использовать один из вариантов:
- Программа для управления скоростью вращения кулеров
- «Интеллектуальная» система контроля оборотов, зашитая в BIOS
- Утилиты от производителя материнской платы, ноутбука или видеокарты
- Использовать специальное устройство – реобас
- Искусственно занизить напряжение питания вентилятора
У кого нормально работает управление из BIOS, могут дальше не читать. Но частенько BIOS лишь поверхностно регулирует обороты, не занижая их до бесшумных, и при этом всё ещё приемлемых, значений. Утилиты от производителя, порой, единственный способ влияния на вентиляторы потому что сторонние программы часто не работают на необычных материнских платах и ноутбуках. Разберём самый оптимальный – первый способ.
Программа для управления кулерами SpeedFan
Это многофункциональная и полностью бесплатная программа. Наверное сразу немного огорчу, сказав что эта программа работает не на всех ноутбуках, но можно пробовать, и не будет регулировать обороты тех вентиляторов, которыми не умеет управлять материнская плата из BIOS. Например, из моего BIOS можно включить функцию управления кулером SmartFan только для центрального процессора. Хотя смотреть текущие обороты можно ещё для двух. Для управления кулером ноутбука есть другая программа.
Иначе может произойти следующая ситуация. В момент загрузки программы SpeedFan считываются текущие обороты и принимаются за максимальные. Соответственно, если к этому времени BIOS не раскрутит вентилятор до максимальных оборотов, то и программа не сможет это сделать.
У меня так один раз случилось, что в момент загрузки программы кулер на процессоре крутился со скоростью 1100 об/мин, и SpeedFan не мог установить бОльшее значение. В итоге процессор нагрелся до 86 градусов! А заметил я это случайно, когда в момент большой нагрузки не дождался шума от вентилятора. Благо ничего не сгорело, а ведь компьютер мог больше не включиться…
Запуск и внешний вид программы
Скачайте и установите приложение с официального сайта.
При первом запуске возникнет обычное окошко с предложением помощи по функциям программы. Можете поставить галочку, чтобы оно больше не появлялось и закройте его. Далее SpeedFan считает параметры микросхем на материнской плате и значения датчиков. Признаком успешного выполнения будет список с текущими значениями оборотов вентиляторов и температур компонентов. Если вентиляторы не обнаружены, значит программа вам ничем не сможет помочь. Сразу перейдите в «Configure -> Options» и поменяйте язык на «Russian».
Как видим, здесь также показана загрузка процессора и информация с датчиков напряжения.
В блоке «1» располагается список обнаруженных датчиков скорости вращения кулеров с названиями Fan1, Fan2…, причём их количество может быть больше, чем есть на самом деле (как на картинке). Обращаем внимание на значения, например Fan2 и второй Fan1 имеют реальные показатели 2837 и 3358 RPM (оборотов в минуту), а остальные по нулям или с мусором (на картинке 12 RPM это мусор). Лишние мы потом уберём.
В блоке «2» показываются обнаруженные датчики температур. GPU – это графический чипсет, HD0 – жёсткий диск, CPU – центральный процессор (вместо CPU на картинке Temp3), а остальное мусор (не может быть 17 или 127 градусов). В этом недостаток программы, что нужно угадывать где что (но потом мы сами переименуем датчики как нужно). Правда, на сайте можно скачать известные конфигурации, но процедура не из простых и усложнена английским языком.
Если непонятно какой параметр за что отвечает, то можно посмотреть значения в какой-нибудь другой программе для определения параметров компьютера и датчиков, например AIDA64 и сравнить с теми что определила программа SpeedFan, чтобы точно знать где какие показания скорости и температуры (на видео под статьёй всё покажу).
И в блоке «3» у нас регулировки скоростей Speed01, Speed02…, с помощью которых можно задавать скорость вращения в процентах (может показываться как Pwm1, Pwm2…, подробнее смотрите на видео). Пока что нам надо определить какой Speed01-06 на какие FanX влияет. Для этого меняем значения каждого со 100% до 80-50% и смотрим изменилась ли скорость какого-нибудь Fan. Запоминаем какой Speed на какой Fan повлиял.
Настройка SpeedFan
Вот и добрались до настроек. Нажимаем кнопку «Конфигурация» и первым делом назовём все датчики понятными именами. На своём примере я буду программно управлять кулером процессора.
На вкладке «Температуры» находим определённый на предыдущем шаге датчик температуры процессора (у меня Temp3) и кликаем на него сначала один раз, а потом через секунду ещё раз – теперь можно вписать любое имя, например «CPU Temp». В настройках ниже вписываем желаемую температуру, которую будет поддерживать программа с минимально-возможной скоростью вращения кулера, и температуру тревоги, при которой включаются максимальные обороты.
Я устанавливаю 55 и 65 градусов соответственно, но для каждого это индивидуально, поэкспериментируйте. При сильно низкой установленной температуре, вентиляторы будут крутиться всегда на максимальных оборотах.
Далее разворачиваем ветку и снимаем все галочки, кроме той Speed0X, которая регулирует FanX процессора (это мы уже определили ранее). В моём примере это Speed04. И также снимаем галочки со всех остальных температур, которые мы не хотим видеть в главном окне программы.
На вкладке вентиляторы просто находим нужные вентиляторы, называем их как хочется, а ненужные отключаем.
Идём дальше на вкладку «Скорости». Становимся на тот Speed0X, который отвечает за нужный кулер, переименовываем его (например в CPU Speed) и выставляем параметры:
- Минимум – минимальный процент от максимальных оборотов, который программа сможет установить
- Максимум – соответственно максимальный процент.
У меня минимум стоит 55%, а максимум 80%. Ничего страшного, что программа не сможет установить значение на 100%, ведь на вкладке «Температуры», мы задали пороговое значение тревоги, при котором принудительно будет 100% оборотов. Также для автоматического регулирования не забываем поставить галочку «Автоизменение».
В принципе это всё. Теперь переходим в главное окно SpeedFan и ставим галочку «Автоскорость вент-ров» и наслаждаемся автоматической регулировкой скорости вращения С первого раза не получится оптимально настроить под себя, поэкспериментируйте и оставьте подходящие параметры, оно того стоит!
Дополнительные параметры
Программка SpeedFan имеет ещё кучу функций и параметров, но я не буду в них углубляться, т.к. это тема отдельной статьи. Давайте поставим ещё несколько нужных галочек на вкладке «Конфигурация -> Опции»
- Запуск свёрнуто – чтобы SpeedFan запускался сразу в свёрнутом виде. Если не поставить, то при запуске Windows главное окно программы будет висеть на рабочем столе. Если программа не запускается вместе с Windows, то просто добавьте её ярлык в автозагрузку.
- Static icon – предпочитаю установить, чтобы в системном трее вместо цифр отображался просто значок программы
- Сворачивать при закрытии – установите чтобы при нажатии на «крестик» программа не закрывалась, а сворачивалась в системный трей (возле часиков)
- Полная скорость вентиляторов при выходе – если не установить, то после выхода из программы обороты кулеров останутся в том состоянии, в котором были на момент закрытия. А так как управлять ими больше будет некому, то возможен перегрев компьютера.
Ну как, всё получилось, программа работает, обороты регулируются автоматически? Или может вы используете другие способы? Надеюсь, информация оказалась для вас полезной. Не поленитесь поделиться ей с друзьями, я буду вам премного благодарен!
А теперь видео с подробной настройкой SpeedFan. Примечание: на видео произошёл небольшой сбой. После ручного регулирования вентилятора процессора Fan1 его значение не вернулось в 3400 RPM, а осталось почему-то в 2200 RPM. После перезапуска программы всё нормализовалось. В последних версиях SpeedFan на моём компьютере такого не было.
Инструкции
1. Данные на бензине: выбирается файл или папка (Pro) с файлами логов, собранных при езде на бензине.
2. Данные на газе: выбирается файл или папка (Pro) с файлами логов, собранных при езде на газе.
Инструкции по записи логов Вы можете найти в на сайте в разделе ЧаВо / FAQ
Блок «Допуски» (настройка доступна в версии Pro)
1. Допуск оборотов в плюс и в минус: допуск оборотов двигателя от указанных в таблице коэффициентов в большую (плюс) или меньшую (минус) сторону. Предназначен для уменьшения погрешности при расчете. Т.е., например, указана величина в плюс 100, в минус 150, и в таблице значение оборотов 1000, то программа будет брать диапазон 1000+100 и 1000-150, от 850 до 1100, и считать эти значения равными 1000. Не рекомендуется, чтобы значение допуска в плюс или в минус превышало 30% от шага оборотов в таблице коррекций.
2. Допуск времени впрыска в плюс и в минус: допуск времени впрыска от указанных в таблице коэффициентов в большую (плюс) или меньшую (минус) сторону. Предназначен для уменьшения погрешности при расчете. Т.е., например, указана величина в плюс 0.1, в минус 0.2, и в таблице значение времени впрыска 3мс, то программа будет брать диапазон 3+0.1 и 3-0.2, от 2.9мс до 3.2мс, и считать эти значения равными 3мс. Не рекомендуется, чтобы значение допуска в плюс или в минус превышало 20% от шага времени впрыска в таблице коррекций.
Автозаполнение
1. Заполнить время впрыска:
Указываются начальное, конечное время впрыска и интервал, с которым нужно заполнить строки таблицы коэффициентов.
2. Заполнить обороты:
Указываются начальное, конечное количество оборотов двигателя и интервал, с которым нужно заполнить столбцы таблицы коэффициентов.
Таблица «Коррекции»
В таблицу можно загрузить данные из штатной программы настройки, а затем результаты выгрузить обратно.
Загрузка данных:
Чтобы загрузить данные в таблицу нужно скопировать их в буфер обмена из штатной программы настройки или из таблицы Excel, далее кликнуть правой кнопкой мыши на нужной ячейке таблицы «Коррекции» и выбрать пункт меню «Вставить». Данные буду загружены вправо и вниз начиная с указанной ячейки.
Чтобы выгрузить расчетные данные из GMC в штатную программу настройки или таблицу Excel необходимо выделить диапазон ячеек в таблице «Коррекции», далее кликнуть правой кнопкой мыши на таблице и выбрать пункт меню «Копировать», значения будут скопированы в буфер обмена.
В списке видов расчета, рядом с кнопкой «Рассчитать», вам будет предложено 2 вида расчета:
- Без учета таблицы — при выборе этого вида расчета таблица «Коррекции» будет очищена и в нее будут помещены данные нового расчета в процентном выражении, которые необходимо ввести в газовой карте в программе настройки ГБО. Значения указываются именно такие, какие и нужно вводить. Т.е. если -20, то нужно ввести -20%, если 15, то нужно вводить 15% в штатной программе настройки ГБО.
- С учетом таблицы — если вы выберете этот вид расчета, данные в таблице «Коррекции» будут изменены с учетом новых расчетных данных (т.е. к уже указанным в таблице значениям будет прибавлен процент, полученный расчетным путем). Таким видом расчета удобно пользоваться если предварительно загрузить в таблицу данные из штатной программы настройки. В результате вы получите готовые значения в абсолютном выражении для ввода в штатную программу настройки.
- Кнопка «Добавить строку» (Pro): предназначена для добавления строки в таблице коэффициентов, новая строка будет добавлена над выделенной.
- Кнопка «Удалить строку» (Pro): предназначена для удаления выделенной строки из таблицы коэффициентов.
- Кнопка «Добавить столбец» (Pro): предназначена для добавления столбца в таблице коэффициентов, новый столбец будет добавлен слева от выделенного.
- Кнопка «Удалить столбец» (Pro): предназначена для удаления выделенного столбца из таблицы коэффициентов.
- Щелчок на заголовке столбца (Pro): вызывается диалог ввода значения оборотов двигателя для текущего столбца таблицы.
- Щелчок на заголовке строки (Pro): вызывается диалог ввода значения времени бензинового впрыска для текущей строки таблицы.
- Кнопка «Рассчитать» предназначена для запуска расчета коэффициентов коррекций с заданными настройками.
Вкладка «Средние значения MAP»
Здесь можно увидеть усредненные расчетные данные с датчика MAP, полученные из файлов логов собранных при езде на бензине/газе при соответствующих времени впрыска и оборотах двигателя (строка и столбец, соответственно).
Алгоритм работы
- Нужно указать пути к файлам логов** (и/или папкам для версии Pro) путем нажатия на кнопку возле соответствующих полей. При нажатии на «…» откроется диалог выбора файла, если же нажать на стрелочку с правой стороны кнопки появится выпадающее меню (в Windows XP доступно при клике правой кнопкой мыши по кнопке «…»);
- Далее нужно указать параметры для расчета во всех блоках;
- Для версии Pro, в таблице коррекций можно указать любые значения времени открытия бензиновых форсунок для расчета и их количество путем добавления или удаления строк таблицы;
- Для версии Pro, в таблице коррекций можно указать любые значения оборотов двигателя для расчета и их количество путем добавления или удаления столбцов таблицы.
- Для версии Pro, выбрать вид расчета в выпадающем списке рядом с кнопкой «Рассчитать»;
- Нажать кнопку «Рассчитать»;
- В зависимости от вида расчета значения в таблице коррекций будут либо в процентном выражении, либо абсолютные, это следует учитывать, внося коррекции в газовую карту в штатной программе настройки ГБО;
- Для версии Pro, в таблице коррекций будет выполнена подсветка ячеек. Более темный цвет означает, что для указанной ячейки собрано большее количество данных и расчет произведен точнее. При выделении ячейки будет выведена подсказка с количеством значений, обработанных при расчете: чем больше, тем точнее расчет.
* Если расчет производится для ГБО Lovato, то имена полей могут отличаться. В случае, если у вас оборудование Landi Renzo, OMVL Saver или подобное, с точки зрения штатного ПО для настройки, то указанные выпадающие списки будут не активны, и программа автоматически возьмет правильные значения.
Отличия версии Pro:
- Доступны возможности сохранять и загружать настройки;
- Доступны кнопки «Добавить строку», «Удалить строку», также можно при клике на ячейке крайнего левого столбца указать требуемое время впрыска. Простыми словами можно рассчитать коррекцию для любого времени впрыска;
- Доступны кнопки «Добавить столбец», «Удалить столбец», также можно при клике на ячейке верхней строки указать требуемое значение оборотов двигателя. Простыми словами можно рассчитать коррекцию для любых оборотов двигателя;
- Доступно изменение дельт по оборотам и времени впрыска;
- Если собрали отдельно несколько логов на бензине и отдельно несколько на газе, то можно эти файлы разделить по папкам (бензин в одну, газ в другую) и выбрать именно папки, файлы программа обработает сама;
- Ограничение оборотов до 7000;
- Подсветка ячеек и подсказки в таблице коррекций, отражающие качество собранных логов;
- Есть возможность загрузить в таблицу коррекций значения из штатной программы настройки ГБО или таблицы Excel;
- Есть возможность скопировать значения из таблицы коррекций в буфер обмена;
- Расчет может быть выполнен с учетом введенных данных в таблицу коррекций, таким образом, можно получить абсолютные значения для ввода в топливную карту штатной программы настройки ГБО.
ВНИМАНИЕ!
Для проведения расчетов необходимо наличие датчика MAP!
При активации версии Pro программа привязывается к железу компьютера! Т.е. использовать ее можно ТОЛЬКО на том компьютере, где была произведена активация.
Всегда используйте только последнюю версию программы! С изменениями можете ознакомиться на странице Что нового?
Если у вас остались вопросы, попробуйте найти на них ответы в разделе ЧаВо
Также можете скачать программу GMC по прямой ссылке, пароль к архиву: 123456