Ivani писал(а): Наверно все таки до 1КГц, ведь обмотки на железе? Ага, и уши в трубочку будут закручиваться. Vitek_22 писал(а): Больше интересует удержание оборотов под нагрузкой. Рулить ШИМ-ом можно и без ОС. Если мотор относительно низкоомный, обороты не сильно будут меняться от нагрузки. Добавлено: Thu Aug 01, 2019 5:05 pm |
В итоге всем миром собрали частотник ))) Хотя если есть мк нафига тахометр, чтобы потом с него аналог в цифру гнать, не проще сразу импульсы с энкодера считать. Добавлено: Thu Aug 01, 2019 5:18 pm |
А разве коллекторник не даст определить частоту оборотов по импульсам тока в питании? Там же щетки физически ездят по контактам. Добавлено: Thu Aug 01, 2019 6:29 pm |
Ivani писал(а): ведь обмотки на железе у движков ДПР ротор без железа же Добавлено: Thu Aug 01, 2019 6:34 pm |
>А разве коллекторник не даст определить частоту оборотов по импульсам тока в питании? разгонять ацпшку до 2мгц чтобы ловить броски тока? можно конечно, но изврат. энкодер проще ногой аврки чем угодно при такой моще можно дергать. я 100вт светодиодов шимил на 30кгц ногой через первые попавшиеся феты\ на худой конец компл. пару фетов. Добавлено: Thu Aug 01, 2019 6:42 pm |
Датчик холла можно приложить снаружи к движку, как вариант. Только точку оптимальную выбрать. Добавлено: Thu Aug 01, 2019 6:51 pm |
N1X писал(а): скорость, а не положение Иначе нужно уже 3 ПИДа по хорошему ))) Ну да, так и есть Добавлено: Thu Aug 01, 2019 10:05 pm |
Если динамика разгона/торможения как у сервомотора не нужна, то в статике скорость = (Напряжение - Сопротивление обмотки * ток) * коэффициент. Делается такой аналоговый регулятор на 1 операционнике, далее на ШИМ. Если нужен реверс, то схема чуть сложнее, но по тому же принципу. Кстати при неправильной настройке такой привод может иметь интересное свойство: при добавке нагрузки на вал скорость увеличивается. Добавлено: Fri Aug 02, 2019 1:57 am |
Доктор Зло писал(а): при добавке нагрузки на вал скорость увеличивается Сталкивался с таким. Расскажи пожалуйста, почему так получается и как это устранить. Добавлено: Fri Aug 02, 2019 7:51 am |
такое бывает, если применяется IR компенсация, и она перенастроена... усиление сверх меры.... Добавлено: Fri Aug 02, 2019 8:04 am |
Vcoder писал(а): Сталкивался с таким. Расскажи пожалуйста, почему так получается и как это устранить.Перерегулирование - для двигателя с постоянными магнитами ЭДС линейно зависит частоты вращения, падение на сопротивлении двигателя линейно зависит от тока и сопротивления двигателя, если в "вычислителе" установлено сопротивление обмотки выше реального то будет перерегулирование. Добавлено: Fri Aug 02, 2019 9:05 am |
Николай писал(а): разгонять ацпшку до 2мгц чтобы ловить броски тока? можно конечно, но изврат. Не стоит применять АЦП там, где АЦП применять не нужно :D Вот схемка паяльной станции от известного товарища: http://www.leoniv.diod.club/projects/power/dxs-...ds/dfs-90_v04.pdf Смотреть 6 лист. Вот отрывок его описания: В блоке управление феном дополнительно осуществляется управление вентилятором. С помощью PID-регулятора его частота вращения поддерживается равной заданной. Вентилятор не имеет датчика частоты вращения, поэтому ее измерение производится по частоте пульсаций потребляемого тока. Сигнал пульсаций выделяется на датчике тока, затем усиливается и фильтруется спомощью ОУ типа LM358, затем поступает на компаратор со следящим порогом, собранный на второй половинке этого ОУ. Прямоугольные импульсы с выхода компаратора поступают на вход прерывания INT0 микроконтроллера. Частота этих импульсов в 4 раза выше частоты вращения крыльчатки (для двигателей других типов это соотношение может быть другим). Это не для данного случая, такая сложность не нужна, а в целом Добавлено: Fri Aug 02, 2019 10:30 am |
Чёт взялся я за 328p атмегу, ну вроде то же самое, что и 8, только ноги другие Но я не могу запустить на ней элементарный таймер. Подсобите, где я ошибся? Делитель 64, при достижении 250 "тиков" - т.е. 2 мс должно сработать прерывание, которое прибавит единичку к s, для простоты вывода я это дело перевожу в секунды, обнуляю счётчик... В итоге на экране всегда "о"...
Добавлено: Sat Aug 10, 2019 8:49 pm |
А где sei !??? как у тебя в прерывание уйдет, если они отключены? Добавлено: Sat Aug 10, 2019 9:08 pm |
А, есть он, я го с комментариями потёр #asm("sei") Добавлено: Sat Aug 10, 2019 9:13 pm |
а маски прерываний в TIMSK1 кто ставить будет? Добавлено: Sat Aug 10, 2019 9:37 pm |
а это что такое? Раньше не ставил... Добавлено: Sat Aug 10, 2019 9:55 pm |
All interrupts are individually masked with the timer interrupt mask register (TIMSK1) В этом регистре ставятся флаги прерываний по которым будет таймер срабатывать. http://ww1.microchip.com/downloads/en/DeviceDoc...28P_Datasheet.pdf страница 112. значения регистра Добавлено: Sat Aug 10, 2019 10:02 pm |
Вбил TIMSK1=0x02; прерывания при совпадении с A а всё равно не работает и ещё очень большая задержка между стартом и появлением "0" Добавлено: Sat Aug 10, 2019 10:15 pm |
хз. все работает уходит в прерывание каждые 16.064мс (у меня всегда делитель включен)
Добавлено: Sat Aug 10, 2019 10:26 pm |
Не знаю, что произошло, но вдруг заработало... Только каждые 8 секунд вместо 1 считает... Пересчитал 8000 000: 64: 250 = 500 тиков в секунду, странно... Добавлено: Sat Aug 10, 2019 10:41 pm |
Ну дык умолчальный фьюз clkdiv8 стоит жеж. вот и пашет на мегагерце Добавлено: Sat Aug 10, 2019 10:48 pm |
так я ж в протеусе выставляю 8 МГц внутренний ТГ Добавлено: Sat Aug 10, 2019 11:36 pm |
тыкни в протеусе на мегу - посмотри на фьюз CLKDIV8 жеж! стопудов (0)programmed стоит частота частотой а делитель делителем а по поводу работает\неработает, иногда протеус просто при запуске может и неперекомпилить. всегда жму сначала F7 потом F12 тоже сталкивался что пишешь, а он проигнорил написаное Добавлено: Sat Aug 10, 2019 11:39 pm |
Спасибо, помогло! Почему-то выставлял unprogrammed, а второй раз заходишь - действительно стоит (0)programmed... Возможно, эт из-за крякнутой проги Вот что значит, пару лет ничего не программить, всё из головы выдуло P.S. А в коде надо прописывать 1 делитель к внешнему кварцу или ничего вообще не писать? Типа CLKPR=(1<<CLKPCE); Добавлено: Sun Aug 11, 2019 12:34 pm |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |