Отправлено: 25.04.10 13:14. Заголовок: Регулятор оборотов коллекторного двигателя
Добрый день всем специалистам!!! Обращаюсь к Вам с большой надеждой,что получу помощь. Вкратце история такова, задача была сделать регулятор оборотов коллекторного с индикацией и стабилизацией. После долгих поисков была найдена схема удовлетворяющая требованию, в журнале "Радиоматор 2003 №9 стр. 22". Схема была мной собрана. Т.к. я до этих пор с микроконтроллерами не имел, то был собран программатор и собственоручно прошит микроконтролер. В ходе запуска регулятора были обнаружены небольшие ошибки в схеме, но это всё было преодолено. Регулятор в режиме без стабилизации работал без нареканий, но вот в режиме стабилизации (когда отслеживаются обороты двигателя, сравниваются с заданными и производится корректировка) выявлена неустойчивая работа, которая варжается в неустойчивости работы. Двигатель мог начать резко разгоняться, затем резко сбрасывать обороты, вплоть до полной остановки, затем снова запускаться, и так без конца. Пришлось засесть за изучение микроконтролеров, чтоб разобраться в работе прошивки. Была прочитана 1 книга Самоучителя данного сайта. После, изучив прошивку контроллера, методом научного тыка я начал искать в чём ошибка. В принципе я почти нашёл что не работает, но не знаю как исправить. Все мои манипуляции приводят к неработоспособности программы. В программе есть некая переменная J которая в зависимости от разницы заданных и измеренных оборотов принимает значение от 1 до 4. Так вот при значении J меньше 3 алгоритм изменения оборотов не работает, хотя по программе должен. Т.е. корректировка начинает работать при большой разнице между заданными и измеренными оборотами и изменяет их, грубо говоря , сразу на 3-4 ступени, отсюда неустойчивая работа регулятора. Может я излишне подробно всё описываю, для специалиста достаточно одного взгляда на программу, чтоб понят алгоритм, но мне понадобился месяц. Сделать самостоятельно я ничего так и не смог, поэтому обращаюсь к Вам. Это последняя надежда, у меня уже руки опускаются, всю зиму ковыряюсь. Если можно прикрепить картинку со схемой и ASM файл с прошивкой, то подскажите как, а то всё на пальцах объяснять неудобно. Заранее спасибо откликнушимся!
Пост N: 5
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 08:45. Заголовок: У меня панелька совс..
У меня панелька совсем другая, всего 6 кнопок: клавиатура, кавычки ит.д. Может я кому нибудь перешлю, кто может тут выложить. У меня видать ограничения прав. Братцы...., только не бросайте...!!!))))
Пост N: 1594
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
2
Фото:
Отправлено: 26.04.10 09:10. Заголовок: Для дальнейшего пред..
Для дальнейшего предметного разговора, думаю нужно обозначить задачу. - Что требуется регулировать - Пределы регулировки - регулировка плавная или ступенчатая - и т.д. Нужно просто объяснить что Вы хотите получить и для чего это нужно. Тогда есть вероятность, что Вам помогут. А разбираться с чужой программой - дело очень кропотливое и долгое. Легче и надёжнее написать свою.
Пост N: 6
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 09:44. Заголовок: Вообще-то задача так..
Вообще-то задача такая: Нужна регулировка оборотов коллекторного э/двигателя (220В 600 Вт) с обратной связью и индикацией. Обороты двигателя до 1000, регулировка от 0 до максимума. Задается необходимая частота вращения, она высвечивается на индикаторе, затем, после запуска, регулятор через оптодатчик или датчик Холла отслеживает частоту вращения и корректирует приводя к заданной, на индикаторе должна высвечиваться реальная частота. Шаг регулирования 10 оборотов, можно чуть больше, даже 20. В приведенном регуляторе частота указывалась всегда в процентах от максимальной, а максимальная задавалась програмно. Шаг регулировки - 2 процента. На индикаторе высвечивалась информация в виде XXX YYY, XXX-заданная частоа, YYY-реальная, всё в процентах. Меня это всё устраивало. Написать программу я сам не смогу. Была мысль упростить указанную, поубирав в ней лишний функции (реверс, торможение, подсчет отработанного времени). В алгоритме работы программы я в принципе разобрался, найдена причина неправильной работы, но я не могу устранить. Если б кто нибудь из специалистов взглянул на программу, я бы указал в каком месте глюк, может бы и нашли причину. Моих мизерных знаний не хватает.
Пост N: 179
Зарегистрирован: 03.12.09
Откуда: Украина, Киев
Рейтинг:
0
Отправлено: 26.04.10 09:50. Заголовок: Urlin пишет: У мен..
Urlin пишет:
цитата:
У меня панелька совсем другая, всего 6 кнопок: клавиатура, кавычки ит.д. Может я кому нибудь перешлю, кто может тут выложить. У меня видать ограничения прав.
Это потому, что Вы не являетесь постоянным участником, т.е. не приобрели самоучитель на диске. Ewgen пишет:
цитата:
А через файлообменник никак?
Адрес нашего файлообменника http://zalil.ru/, разместите на нем все, что необходимо, а ссылку на место размещения поместите в очередном своем посте. Можете воспользоваться и другим файлообменником.
Пост N: 9
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 10:23. Заголовок: Теперь можно предме..
Теперь можно предметно всё обсудить. В прошивке в подпрограмме STABIL (стр.618) в L55 и в L86 (стр. 722-786 и стр.770-800 соответственно) есть переменна J, которой присваивается значение от 1 до 4, в зависимиости от разницы заданной и реальной частоты. Если эта переменная меньше 3, т.е. разница оборотов меньше 40, программа коррекции оборотов не работает. Это уже мной проверено практически, я убирал строки 737-748 и 781-792, фиксировал J=1 или J=2, но всё начинало работать при J=3 и больше. В зависимиости от величины J исполняется цикл увеличения (уменьшения) K_ZAP (коэф. заполнения) L88 стр. 757 (L91 стр. 801).
Отправлено: 26.04.10 11:25. Заголовок: У меня файлы почему-..
У меня файлы почему-то не открываются. Но осмелюсь предположить, что дело не в глюке, а задача слишком сложна. Лично я очень хотел-бы иметь (изготовить) подобное устройство и даже не от нуля оборотов и не через 20.
Пост N: 272
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг:
1
Отправлено: 26.04.10 11:33. Заголовок: Мне кажется проблема..
Мне кажется проблема в обратной связи, так как датчик частоты вращения делается самостоятельно, вполне возможно, что он отличается от авторского. Опишите как вы сделали датчик, и проверялась ли правильность его работы? В принципе, проблемы с датчиком объясняют неустойчивую работу в режиме со стабилизацией, видимо иногда датчик не срабатывает или есть ложные срабатывания, вот МК честно и отрабатывает эти изменения. Мне кажется автор не стал бы выкладывать криво работающее устройство, поэтому вряд ли ошибка в программе, хотя всякое может быть.
Пост N: 10
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 11:37. Заголовок: Первые два файла - к..
Первые два файла - картинки, третий - ASM прошивка. Только что попробовал, у меня всё скачалось и открылось... На счёт от нуля я конечно погорячился, хотя бы от 100...
Пост N: 11
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 12:38. Заголовок: Нет.., эт исходный....
Нет.., эт исходный... У меня есть правленный мой... Там в исходном есть пару ошибок, сечас уже не вспомню в каких строках, там вместо латиницы есть русские буквы, при переводе в HEX файл эти ошибки вылазят. Не знаю автор специально так сделал или опечатался... А..., в авторском я менял кодировку..., сейчас сравнил контрольные суммы, не совпадают... Выкладываю скачанный архив... http://slil.ru/29034478
Пост N: 13
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 15:01. Заголовок: DerSpiwak пишет :..
DerSpiwak пишет :"Опишите как вы сделали датчик, и проверялась ли правильность его работы?"
На датчик я поставил автомобильный датчик Холла. Вроде бы он работает. В режиме без стабилизации показывает обороты (какие-то).., в процентах. Обороты не скачут. Авторский датчик у меня не заработал, вот там действительно была свистопляска. Датчик Холла я подключил сразу к RB7 МК. Всё сразу заработало.
Хочу ещё пояснить. Если двигатель ещё не запущен, а я задаю обороты к примеру - 30(%), то регулятор даже не запускается, циферки на табло моргают и всё (по ходу программа входит в вечный цикл какой-то). Если задаю обороты больше 40 (%) то регулятор работает, но неустойчиво. В ходе экспериментов с прошивкой было выяснено, что начинает работать при J больше 2 (см. предидущие посты).
Пост N: 273
Зарегистрирован: 03.09.08
Откуда: Россия, г.Иркутск
Рейтинг:
1
Отправлено: 26.04.10 15:25. Заголовок: Urlin пишет: На дат..
Urlin пишет:
цитата:
На датчик я поставил автомобильный датчик Холла. Вроде бы он работает.
Насколько я понял из статьи, авторский датчик дает 2 импульса за оборот, датчик холла только один, по моему. Этот вопрос надо проверить иначе обратная связь работает не правильно.
Urlin пишет:
цитата:
Если двигатель ещё не запущен, а я задаю обороты к примеру - 30(%), то регулятор даже не запускается
Ну тут дело может быть и в двигателе, просто не хватает напряжения чтобы его запустить, не пробовали при низкой выставленной скважности крутануть вал?
Пост N: 14
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 26.04.10 15:56. Заголовок: Датчик Холла также в..
Датчик Холла также выдаст любое кол-во импульсов, сколько прорезей сделаешь в металлическом диске, дело явно не в этом. У меня и вправду один импульс на оборот, но датчик работает в процентах и я изменил в программе макс. обороты. Если запустить двигатель напрямую от сети, но на табло показывает в районе 100%. И ещё, на табло высечивается две группы цифр, одна - коэф. заполнения в % (период импульса подаваемый на двигатель), вторая - обороты реальные в %. Эти две величины не совпадают. Например при заполнении = 8, реальные обороты около 30%, при 100% должно всё совпасть. Т.е. взаимосвяз не линейная. Регулятор ориентируется на реальные обороты. На табло мы задаем обороты, двигатель запускается, программа сравнивает заданные обороты с выдаваемые от Датчика, и производит корректировку коэф. заполнения (периода импульса тока). Шаг изменения коэф. заполнения - 2% (теоретически, а реально вышло что не менее 8%). На табло можно наблюдать в этот момент как горят наши заданные обороты и скачут цифры коэф. заполнения от 0 до 16 (к примеру) и обратно. Иногда регулятор может даже минуту проработать без сильных скачков.
Крутить пробовал, не помогло. В режиме без стабилизации двигатель начинает работать при коэф. заполнения = 6, обороты в этот момент показывают около 20%, и всё запускается.
Всё таки проблемма в программе. Если я насильно задаю J=1, то иногда (при прогоне в MPLab) коэф. заполнения начинает расти (ячейка памяти 25), а иногда программа зависает на строках 886-887, прыгает с одной на другую. 885 MOVLW .3 886 MOVWF PCLATH 887 MOVF EEADR, 0 888 ADDWF PCL, 1 По моему что-то связано с переполнением PCLATH..., но я не спец, эт только мои ощущения...
Отправлено: 29.04.10 21:44. Заголовок: А выше, что? Я повто..
А выше, что? Я повторюсь. Не люблю эти выражения Urlin пишет:
цитата:
Я так понял, что помощи уже можно не ждать?
Вы хотите, чтобы кто-то бросил все свои дела и занялся вашей программой и вникал в работу этого устройства? Нет, если кому это интересно, может так и сделает, но пока их нет. Надо ждать и надеятся. А еще лучше самому разобраться. Если PCLATH и PCL, то ваш автор сделал маленькую бяку, надеюсь не специально. Urlin пишет:
цитата:
Может я излишне подробно всё описываю, для специалиста достаточно одного взгляда на программу, чтоб понят алгоритм, но мне понадобился месяц.
Жаль, таких не встречал, все равно надо разбиратся. В общем если будет у кого время, может и подключится вплотную. Могу и я, только объясните практическое применение данного устройства. Регулировка коллекторного двигателя с индикацией? Зачем? Я пока далек от этого, но может тоже куда нибудь приспособлю. Трехфазный 3-5 Квт точно было бы интересно. Посмотрел Вашу программу, она как то странно оформленна. Вы её по hex расшифровывали? Нет начала, нет определения вектора прерывания. Комментарии обрывочные.
Пост N: 16
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 30.04.10 11:20. Заголовок: Да нет, в выложенных..
Да нет, в выложенных файлах я ничего не менял, эт всё от автора. Только что снова гонял в MPLABе, всё работает, даже при J=1, а в реальности (на устройстве) только при J>2. Данный регулятор подключен к двигателю насоса и следит за оборотами, т.к. нужна строгая дозировка перекачиваемого вещества. При изменении напряжения в сети или изменении нагрузки дозировка должна быть более-менее стабильной. Также при необходимости можно было бы изменить дозировку. Насос шестеренчатый. Всё это будет - пеноизольная установка. Пеноизол - это утеплитель такой, типа пенопласта, но получше. Себестоимость, если делать самому, то невысокая. Установки такие есть в продаже, но цена их от 2 тыс. у.е.. Мне не по карману, утеплять надо свой дом, и родственникам. Если кого-то заинтересует, могу дать схему установки и принцип работы.
Отправлено: 30.04.10 12:24. Заголовок: Urlin пишет: Да нет..
Urlin пишет:
цитата:
Да нет, в выложенных файлах я ничего не менял, эт всё от автора.
Я хулиган, но автор покруче будет. org 0x000; org 0x004 оказывается это лишнее. Я три дня буду занят, добиваю статью. Потом постараюсь Вам помочь. если не трудно, опишите алгоритм программы, если разобрались, лучше словами. Можно в личку или на мыло.
Отправлено: 15.06.10 20:16. Заголовок: В продолжении темы. ..
В продолжении темы. Сделал свою программу под регулятор. В старой. по моему мнению, проблемы были в её не универсальности. Задумал, что для начала надо, для нормальных расчетов данных, провести тест применяемого двигателя. Потом по этим данным уже и регулировать. Программа отлажена в отладчике и отправлена Urlin (Александру) для полевых испытаний. Тяжело в отладчике проверять без реальной обратной связи. Но регулировка +/-1% коэф. заполнения идет. Два варианта с частотой ШИМ 2КГЦ и 10КГЦ. Контроллер PIC16F876A. Два канала аппаратного ШИМ, режим измерения температуры (нужен для контроля температуры раствора установки), его можно отключить в меню. Индикатор МТ16S2D, 4 кнопки. В меню также можно всегда протестировать двигатель, задать заданную частоту вращения, она распространяется на ручной и автоматический режим, выбрать режим. На индикатор постоянно выводится заданная частота, измеренная, температура и текущий коэф. заполнения, признак режима. Пока проверяется моя идея, не делал возможность торможения и программного реверса. О реальных результатах доложим в обмене.
Пост N: 19
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 13.09.10 15:08. Заголовок: Регулятор работает б..
Регулятор работает без нареканий. Опробованы оба варианта, с частотой 2КГц и 10КГц, в варианте 10 кГц пришлось в силовой части поменять диод на FR807. Большое спасибо MAZу за отклик и за огромную проделанную работу. Считаю, что программа универсальна и с минимальными доработками может использоваться не только для управления электородвигателем, но и для поддержания заданных значений различных физических параметров (например температура в комнате, аквариуме и т.д.).
Отправлено: 30.09.10 13:31. Заголовок: В общем меня понесло..
В общем меня понесло. Сделал универсальный модуль. 1, регулятор 2. счетчик оборотов ( может работать в ручном и от двигателя) Для счетчика пришлось сделать коэф. заполнения ШИМ 0, 25% Его можно выбрать и для регулятора. Возможность реверса, торможения, индикация направления вращения. Но зависит от применяемого датчика оборотов и силового узла двигателя. Самое главное под любой двигатель, главное, меняй силовую часть и тестируй. Чего еще забыл добавить? Пол контроллера пустого.
Пост N: 190
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг:
1
Отправлено: 30.09.10 19:50. Заголовок: Как то год назад в р..
Как то год назад в разговоре товарищ высказал такую мысль. А нельзя ли сделать так что бы обороты, тобой выставленые, не менялись при изменении нагрузки на вал(в каких то пределах, естественно). Своего рода стабилизация. Вот не знаю нужно это или нет?
Отправлено: 30.09.10 21:36. Заголовок: Уде сделано, режим с..
Уже сделано, режим стабилизации по выбранным оборотам. +/- 0,5% Если у двигателя 100% это 10000 об/мин. То 1% это 100 об/мин Или если регулировка идет через 1сек, 1% - 1,6 об/сек Помоему нормально. В программе, заданное число оборотов сравнивается с измеренным и подгоняется под равенство, а потом начинает "качать" возле точки. Если обороты сильно ушли в результате торможения, будет увеличиваться коэф. заполнения, пока обороты не сравняются.
Отправлено: 30.09.10 23:16. Заголовок: Не знаю, наверно нет..
Не знаю, наверно нет. Но надо до делать до конца, опять интересные для меня программные решения накапливаются. Но заказ на добавку счетчика оборотов был. Если использовать как регулятор, то можно подключить индикатор, настроить. Отключить индикатор. И программа будет работать по выбранным настройкам, что добавляет универсальности. Если использовать как счетчик, то возможно трансформаторы помотать иногда или катушки, или еще чего нибудь.
Пост N: 20
Зарегистрирован: 23.04.10
Откуда: Россия, Волгоград
Рейтинг:
0
Отправлено: 02.10.10 18:58. Заголовок: От себя хочу добавит..
От себя хочу добавить, что указаннй регулятор держит обороты не только при изменении нагрузки на валу двигателя, но и при изменении напряжения в сети. Т.е. теоретически получается стабилизация независимая от внешних условий. Регулятор оборотов делался для жесткой фиксации скорости перекачивания жидкости насосом. Два объемных насоса должны были качать жидкости в определенном соотношении, и никакие внешние воздейсвия не должны это соотношение менять. Жидкости разные по вязкости и меняют вязкость от внешней температуры. Указанный регулятор со своей задачей справился, за что, повторюсь, особая благодарность разработчику MAZу.
Александр, спасибо, за поддержку, а то фотограф взял, вот так и руки опустил. Тебе выслать схему и прошивку без внешних компараторов, или подождешь когда все закончу Выискиваю глюки под лупой. Но когда будет стабилизация с 0,25% ШИМ, будет наверно четче.
Все даты в формате GMT
3 час. Хитов сегодня: 26
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет