hddee Опубликовано 20 августа Опубликовано 20 августа (изменено) @макс54 техническую задачу можно решить разными способами, например не перекладывать на автономку регулировку температуры, пусть молотит на максимум а в колонне работает нормальный жидкостной отбор с клапаном. Но ладно, допустим тебя прижало так что кровь из носа но надо регулировка оборотов. Самый тупой и понятный мне метод - брезенхем. Настраиваешь ШИМ на таймере с периодом скажем ровно 0,500 секунды и регулируешь скваженность с шагом 0,05 секунды, получаешь 10 ступеней регулирования, вентилятор подключаешь через МОСьку с детектором ноля, например 3083, она тебе будет подпускать две полуволны в мотор, мощность пропорциональна скваженности, вент будет дергаться зато детектор ноля не нужен. Ладно, допустим тебе не нравиться дергать вент два раза в секунду, очень хочется фазового регулирования, тогда берешь SSR с индексом VF, оно режет синус пропорционально входному напряжению 0-5В, настраиваешь тот же ШИМ но уже максимально быстрый, скажем 20МГц от кристалла без делителя с 8 битным счетчиком дает скваженность 78кГц, ставишь простую LC цепочку с выхода МК что бы его сгладить, и наслаждаешься фазовым регулированием. Изменено 20 августа пользователем hddee 1
leon013 Опубликовано 20 августа Автор Опубликовано 20 августа 4 минуты назад, hddee сказал: и наслаждаешься фазовым регулированием Фазовое регулирование не для асинхронников, в лучшем случае до половины оборотов работать будет. 4 детали для zero cross и 10 строк кода - и профит на 10 шагов регулирования оборотов асинхронника... Нет, блин, брезенхейм ,SSD с индексом VF )))) Тема вроде закрыта 8 лет назад, я смотрю у вас времени свободного много )))) Ну да не мое это дело.... Каждый сам себе злобный буратино, как говорит в таких случаях мой знакомый из Москвы))) Автоматика для дистилляции и ректификации на PIC
hddee Опубликовано 20 августа Опубликовано 20 августа (изменено) 17 минут назад, leon013 сказал: 4 детали для zero cross если ты внимательно прочитаешь написанное то поймешь что и детектор ноля не нужен, МОС3083+симмистор или готовая SSR с ZVS, фсё ;-) настроенный таймер работает вообще без участия программы а переключение мощности происходит через запись значения в регистр сравнения всего одной строчкой. Ровно так же элементарно работает SSR VF через LC-цепочку, никаких лишних телодвижений: надо мощность поднять - регистр++, уменьшить - регистр--. Изменено 20 августа пользователем hddee
макс54 Опубликовано 20 августа Опубликовано 20 августа (изменено) Парни спасибо что на связи !!! Отдельное спасибо Алексею что откликнулся. Только пишу проги на asm и в СИ как в китайском _)) Алексей ! У вас старого проекта я так понял не осталось? Я бы в протезе глянул сигналы управления симистром по управлению вентилятора Меня интересует только 2 вопроса 1. Регулировка 10% вентилятора это сколько берем полувольн (волн) и сколько пропускаем тоже с..20%......30% и т.д. На верхних ваших схемах используется только одно прерывание за волну ( судя на PC817 ) Значит о полуволнах речи нет..? И второе..какую лучше выходную схему управления на симисторе применить ? есть BT139.... BTA12 через МОС 3023 ? Че только в нете нет ))) Симистр открыт оптроном постонянно или нет???? У меня сложилось впечатление что для лампочки достаточно короткого открывания симистора ( потом он закрывается при переходе ноля) а вот для реактивной нагрузке хрен... Нужно видмо его постонно держать открытым Само собой речь идет ТОЛЬКО о асинхронном конденсаторном моторе...основной продукт ширпотреба кондюков ))) Вот замутил такую схему. Лампочка управляется красиво как положено а вот двигатель хрен с пальца..мычит и все_))) Изменено 20 августа пользователем макс54 дополнение
leon013 Опубликовано 21 августа Автор Опубликовано 21 августа @hddee Ну схему бы этой приблуды всей посмотреть и кто и как этим управлять будет? можно от руки нарисовать и фото выложить ) @макс54 9 часов назад, макс54 сказал: Регулировка 10% вентилятора это сколько берем полувольн Одну 9 часов назад, макс54 сказал: ( судя на PC817 ) Упс))) 814 правильный ответ .. 9 часов назад, макс54 сказал: BTA12 через МОС 3023 ? BTA16 тоже можно. У меня эта связка годами работает... 9 часов назад, макс54 сказал: Симистр открыт оптроном постонянно или нет???? да, при обработке прерывания от зеро кроса принимается решение открывать на эту полуволну симистор или нет . По теории он должен бы уже сам быть закрытым, тк через ноль напряжение прошло, но индуктивная нагрузка вероятно задерживает это закрытие и мы опять его открываем (еще открытый). Автоматика для дистилляции и ректификации на PIC
макс54 Опубликовано 21 августа Опубликовано 21 августа (изменено) Спасибо! но ответа не получил про интервалы открытия симистра . Например: 10% это одна волн открыта и 4 волны закрыто... 50% это одна волны открыта затем одна волна закрыта...и т.д. .. Мне нужен сам алгоритм управления. Фазой управлять не правильно.. Вот схемка что состряпал.\ При фазовом управлении и при импульсном открывании симистора она на реактивную нагрузку не работает Изменено 21 августа пользователем макс54
leon013 Опубликовано 21 августа Автор Опубликовано 21 августа (изменено) @макс54 а интервалов открытия попросту нет))) Считаем количество полуволн и все void pwm_vent(void){ count_pwm++;/ увеличили значение счетчика при прерывании if(count_pwm > 9) count_pwm = 0; Проверили , что значение не больше 10, в противном случае обнуляем счетчик if(count_vent > count_pwm) vent = 1; Сравниваем сколько нам нужно пропустить полуволн с текущим значением счетчика. Если нужное количество пропущенных не достигнуто вывод вентилятора в лог.1 else vent = 0; иначе - лог.0 } ну и как по мне ставить опторазвязки и использовать бестрансфорсаторное питание это такое себе .... эээээ....рукоблудие ))))) Без обид))) Изменено 21 августа пользователем leon013 Автоматика для дистилляции и ректификации на PIC
Виктрыч Опубликовано 21 августа Опубликовано 21 августа Вот мой регулятор Карлсона и Тена Error_KARL -= KARL;//ошибка и задание 0-100% if (Error_KARL < 0) { Error_KARL += 100; digitalWrite(PIN_KARL, 1); } else digitalWrite(PIN_KARL, 0); Error_TEN -= POW; // то же самое для тена if (Error_TEN < 0) { Error_TEN += 100; digitalWrite(PIN_TEN, 1); } else digitalWrite(PIN_TEN, 0); Дергается каждые допустим 10 мс. Не помню уже. Вроде каждые 100 полуволн таймером. И моська с определением нуля. Допустим 3083. Зачем лишние детали для того же функционала. Дорога к обеду ложка, К ночи дорог унитаз.
hddee Опубликовано 21 августа Опубликовано 21 августа (изменено) 4 часа назад, leon013 сказал: Ну схему бы этой приблуды всей посмотреть и кто и как этим управлять будет? можно от руки нарисовать и фото выложить ) эээ.. схему чего ? два провода от ардуины к твердотелу ? 2 часа назад, макс54 сказал: Мне нужен сам алгоритм управления. Фазой управлять не правильно.. я только по ардуино, пример настройки таймера на 2560 меги на 78кГц ШИМ: TCCR5A = 0; TCCR5B = 0; TCCR5A = B10101001; // 10 - переключение А, 10 - В, 10 - С, 01 - ШИМ 8 бит /* структура битов в регистре TCCRxA COMnA1 COMnA0 COMnB1 COMnB0 COMnC1 COMnC0 WGMn1 WGMn0 где: биты COMnA1 COMnA0: 0 0 Обычная работа порта как GPIO, функционал OCnx отключен. 0 1 Переключение OCnx в противоположное состояние при Compare Match. 1 0 Очистка OCnx при Compare Match (выходной сигнал сбрасывается в лог. 0). 1 1 Установка OCnx при Compare Match (выходной сигнал переходит в лог. 1). биты WGMn1 WGMn0 - см. дальше в комбинации с WGMn3 WGMn2 TCCR5B = B00001001; // 000 - не исп., 01-ШИМ 8 бит, 001 - частота без делителя /* структура битов в регистре TCCRxB ICNCn ICESn --- WGMn3 WGMn2 CSn2 CSn1 CSn0 : где: ICNCn - подавеление шума ICESn - фронт или спад --- - бит не используется WGMn3 WGMn2 WGMn1 WGMn0 Режим работы TOP Обновл. OCRnx TOVn установится при значении 1 0 0 0 0 Normal 0xFFFF Немедленно MAX 2 0 0 0 1 Phase Correct PWM, 8 бит 0x00FF TOP BOTTOM 3 0 0 1 0 Phase Correct PWM, 9 бит 0x01FF TOP BOTTOM 4 0 0 1 1 Phase Correct PWM, 10 бит 0x03FF TOP BOTTOM 5 0 1 0 0 CTC OCRnA Немедленно MAX 6 0 1 0 1 Fast PWM, 8 бит 0x00FF BOTTOM TOP 7 0 1 1 0 Fast PWM, 9 бит 0x01FF BOTTOM TOP 8 0 1 1 1 Fast PWM, 10 бит 0x03FF BOTTOM TOP 9 1 0 0 0 Phase and Frequency Correct ICRn BOTTOM BOTTOM 10 1 0 0 1 Phase and Frequency Correct OCRnA BOTTOM BOTTOM 11 1 0 1 0 Phase Correct PWM ICRn TOP BOTTOM 12 1 0 1 1 Phase Correct PWM OCRnA TOP BOTTOM 13 1 1 0 0 CTC OCRnA Немедленно MAX 14 1 1 0 1 Зарезервировано - - - 15 1 1 1 0 Fast PWM ICRn BOTTOM TOP CSn2 CSn1 CSn0: предделитель частоты от процессора 0 0 0 Нет источника для тактирования (таймер/счетчик остановлен). 0 0 1 clkI/O/1 (прескалер отключен). 0 1 0 clkI/O/8 (прескалер 8). 0 1 1 clkI/O/64 (прескалер 64). 1 0 0 clkI/O/256 (прескалер 256). 1 0 1 clkI/O/1024 (прескалер 1024). 1 1 0 Внешний источник тактов, подключенный к ножке Tn. Тактовый перепад от 1 к 0. 1 1 1 Внешний источник тактов, подключенный к ножке Tn. Тактовый перепад от 0 к 1. скваженность задается записью в регистры: OCR5A = 63; 25% на лапке 46 OCR5B = 127; 50% пин 45 OCR5C = 191; 75% пин 44 2 часа назад, Виктрыч сказал: Дергается каждые допустим 10 мс. и не надо ничего программно дергать ))) Изменено 21 августа пользователем hddee
hddee Опубликовано 21 августа Опубликовано 21 августа если надо 16 битный ШИМ и поменять частоту то WGM устанавливается в режим "15", верхняя граница счета задается ICR5 на все три счетчика сразу, скваженность получается OCR5A/ICR5
Виктрыч Опубликовано 21 августа Опубликовано 21 августа Ну да. Таймер по прерыванию или как его там. Не спец. Вроде третий свободный на 328.Программно только ошибка вычисляется ну и уставка задается. Или тоже вычисляется. А первая версия действительно в цикле работало. А он с секунду. Так и терпел пока люди не научили. Дорога к обеду ложка, К ночи дорог унитаз.
hddee Опубликовано 21 августа Опубликовано 21 августа 4 часа назад, Виктрыч сказал: digitalWrite(PIN_KARL, 1); на таймере это работает без участия программы
макс54 Опубликовано 21 августа Опубликовано 21 августа (изменено) Парни! ) Мне примитивно на пальцах кнонить может обьяснить что нужно пропускать чтобы вентиль крутился на 10% ? Остальное это я уже сам) Вот берем синусоиду. В каждой полуволне симистр открывается постоянно на всю полуволну. Если нужно чтобы движок крутил лопасти на 10% что нужн пропустить ? какие полуволны ? ...а на 50 % ? Вот пример с этого видоса. 10%...20%...30%...40...и т.д. Диаграмма синусоиды на движке в кадом случае какая ??? https://rutube.ru/video/47de7ab491095b9c8a8de61e066ee926/ В нэте вот что находил..но как-то примеров живых нет..сомнительно. Думаю это актуально на активную нагрузку ( тэн паяльник ...) Изменено 21 августа пользователем макс54 дополнение
Виктрыч Опубликовано 21 августа Опубликовано 21 августа Примерно так. Моторчик Карлсона немножко ворчит на тычках. Но ИМХО его конструктивное исполнение примитивно и он эти тычки переживет. Правильный качественный движок может сдохнуть. Ему нужен частотник. Вдогонку. Мой в рабочем режиме крутит от 50% и выше. Можно и 1% задать. Будет тикать и проворачиваться. Но нам же нужно дуть! Ещё. По умолчанию программно и выставлено эти 50%.нах ему даже 45. Дорога к обеду ложка, К ночи дорог унитаз.
макс54 Опубликовано 21 августа Опубликовано 21 августа (изменено) Мне интересна реализация управления вентилятором вот с этого видоса который привел выше ) Автор Алексей leon013 ( на сколько я понял) --- Пусть автор сам скажет что это частотный преобразователь и что там модифицированная синусоида и т.д и т.п ) Чтото на видео не вижу этого и видимо это не так Я прекрасно понимаю что асинхронные движки тоже бывают разными и не претендую на идеальную регулировку в широком диапазоне скоростей. ( не та задача и не тот уровень) Мне нужно всего 4- 5 скоростей Изменено 21 августа пользователем макс54
hddee Опубликовано 21 августа Опубликовано 21 августа (изменено) 48 минут назад, макс54 сказал: Если нужно чтобы движок крутил лопасти на 10% что нужн пропустить ? какие полуволны ? положительную и отрицательную полуволны, у них период 50мс, после этого надо подождать 450мс, мощность и обороты будут плюс-минус 10%, из-за скольжения двиг не разгонится на столько, поэтом скорее минус. Не знаю чего ты уперся в пики, бери ардуино Изменено 21 августа пользователем hddee
макс54 Опубликовано 21 августа Опубликовано 21 августа Почему50? При частоте сети 50 Гц один период это 20mS же?
макс54 Опубликовано 21 августа Опубликовано 21 августа Значит получается 1 период (20mS) работа... 20 периодов (400mS) это пауза ? а может пауза 10 периодов при 10% ? Хотелось бы почитать что автора Алексей по данному вопросу напишет ) Какие интервалы (или полуинтервалы) использовал в своем проекте
leon013 Опубликовано 21 августа Автор Опубликовано 21 августа 2 часа назад, макс54 сказал: Мне примитивно на пальцах кнонить может обьяснить что нужно пропускать чтобы вентиль крутился на 10% ? только полуволну 1, другими словами мы за секунду пропустим всего 10 полуволн, с интервалом 10mS каждая и интервалом между ними 90 mS 2 часа назад, макс54 сказал: ...а на 50 % ? 1,2,3,4,5 2 часа назад, hddee сказал: Не знаю чего ты уперся в пики, бери ардуино Ну наверное потому , что microchip купил atmel , а не наоборот))) Ну а если серьезно, то я аплодирую стоя людям, которые кодят на ASM! Автоматика для дистилляции и ректификации на PIC
Виктрыч Опубликовано 21 августа Опубликовано 21 августа (изменено) Ещё момент. Дался вам этот блок кондиционера. Радиатор авто как раз работает на кипяток. А наши температуры 80 и выше. И вентилятор у него 12 вольт. Тот же Шим на ардуино и ключ на полевике за 20р и все дела. Чем с 220 связываться. У меня ваще печка от газели. Вентилятор не достался. Вот и выкруживал. Изменено 21 августа пользователем Виктрыч Дорога к обеду ложка, К ночи дорог унитаз.
макс54 Опубликовано 21 августа Опубликовано 21 августа Только что, Виктрыч сказал: Ещё момент. Дался вам этот блок кондиционера. Радиатор авто как раз работает на кипяток. А наши температуры 80 и выше. И вентилятор у него 12 вольт. Тот же Шим на ардуино и ключ на полевике за 20р и все дела. Чем с 220 связываться. У меня ваще печка от газели. Вентилятор не достался. Вот и выкруживал. Вот вот)) Я так товарищу и сказал..НАХХХ он нужен? поставить так как вы сказали и постоянный моторчик. Никаких проблемм и + с регулировкой с контролем тока по крутящему моменту)... но вот попросил сделать вращения именно на вентилятор кондиционера 190 Вт моторчик асинхронный. У него система охлаждается через наружный блок уже организована и постоянное вращение вентилятора только вредит..цмыкать его реле тоже так себе.... Только что, leon013 сказал: только полуволну 1, другими словами мы за секунду пропустим всего 10 полуволн, с интервалом 10mS каждая и интервалом между ними 90 mS Вот так ?
hddee Опубликовано 21 августа Опубликовано 21 августа 57 минут назад, leon013 сказал: только полуволну 1, другими словами мы за секунду пропустим всего 10 полуволн, с интервалом 10mS каждая и интервалом между ними 90 mS нельзя трансформторы и моторы накачивать полуволнами, сердечник в насыщении войдет, только целой волной по 20мс 30 минут назад, макс54 сказал: Вот так ? тут правильно, волна полностью
Виктрыч Опубликовано 21 августа Опубликовано 21 августа Правильный брезен может разорвать полуволны для равномерного заполнения периода Но там математика мама не горюй. В нашем случае просто скорострельный ШИМ с привязкой к нулю. Дорога к обеду ложка, К ночи дорог унитаз.
hddee Опубликовано 21 августа Опубликовано 21 августа (изменено) @Виктрыч не надо ничего к нулю привязывать, кварц МК крайне сталбильная штука, переключение в случае использования таймера мгновенное, это digitalWrite медленно работает, а SSR с ZVS выдаст ровно две полуволны за 20мс, на какое бы значение сетевого напряжения не попал сигнал с МК всё равно ZVS эту волну пропустит, откроется на следующей и еще на одной следующей т.к 20мс еще не закончатся. Симмистор сам не закрывается, только по окончанию полуволны сетевого напряжения поэтому с ZVS можно смело выдавать 20мс и не париться о насыщении сердечника, только не через программный digitalWrite. Если на PIC12 ничего больше не вешать то он с этой задачей справится но я беру только ардуинки: дешево, функционально и понятно Изменено 21 августа пользователем hddee
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти