Синхронно разноименная частота с двух выходов

Ответить
noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#1

Сообщение noahi1977 » 03.05.2020{, 20:34}

Всем здравствуйте.
Вопрос.Возможно ли с помощью флпрог генерить с двух каналов синхронную разноименную частоту.
Например одновременно 25мкс и 5000мкс.
Я в своих проектах использую ЧПУ моторы взрослые,сервы .Нужен разгон ,работа,торможение,стоп. Ранее получалось обходить постоянную проблему сбоя частоты .
Иной раз стоит просто добавить аналоговый вход в проект ,ничего не считающий и виден сбой частоты.Уходил с данной логики.
В последнем проекте обойти не получилось.Пробовал и на меге,уно,нано.Сбой частоты заметен и без осцилографа.
Разнёс проэкт на 3 контроллера для пробы,чтоб снять нагрузку с меги ,но нужна обратная связь для счётчиков.Хотя сам проэкт минимален по ресурсам для самого простого контроллера.
Но идет потеря в счётчиках .Потеря критична.
Логика построена на счётчиках и она работает прекрасно.Достаточно высокая точность поворота нескольких моторов нужна.Но пришлось изменить из за передаточного числа
редукторов.
Подсказали мне,что нужен язык СИ или ещё какой, работа с регистрами иначе удачи не видать.Говорят промышленные PLC на языке FBD имеют такой же неприятный нюанс.
Хочу окончательно убедится в невозможности и искать специалистов на стороне для электроники или значительное изменение в конструкции.
Спасибо Всем ответившим.Надеюсь я смог донести смысл.

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Синхронно разноименная частота с двух выходов

#2

Сообщение Dragony » 03.05.2020{, 21:42}

Не совсем понятно, что имеется в виду -
noahi1977 писал(а):
03.05.2020{, 20:34}
синхронную разноименную частоту
:smile44:

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#3

Сообщение Ingwar » 03.05.2020{, 21:55}

noahi1977 писал(а):
03.05.2020{, 20:34}
Хочу окончательно убедится в невозможности
Может что из этих тем подойдет...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#4

Сообщение noahi1977 » 03.05.2020{, 21:55}

Пример.
При активации с одной переменной работают два генератора .Каждый на свой выход.
25мкс и 5000мкс.
Подключаем осцилограф и видим .Частоты плавают.
Совсем плавать начинают с добавлением аналогового входа.Который может совсем ничего не считать.
Может плавать и сама частота с одного генератора при добавлении аналоговых входов логики.
Плавает значительно.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#5

Сообщение Ingwar » 03.05.2020{, 22:00}

noahi1977 писал(а):
03.05.2020{, 21:55}
при добавлении аналоговых входов логики
Попробуйте блоки от Александра (быстрые входы/выходы) в разделе пользовательские блоки.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#6

Сообщение noahi1977 » 03.05.2020{, 22:00}

У меня частота идет на промышленный драйвер.Он управляет моторами.Работает хорошо.Но..
Стоит добавлять логику аналога ,частота падает значительно.Хотя в настройках генератора стоит параметр генерации.И он совсем далеко от заданного.
Когда работаем с логикой 0 или 1 такого нет.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#7

Сообщение Ingwar » 03.05.2020{, 22:03}

Я понимаю Вашу проблему и знаю причину. Предложенные варианты попробуйте.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#8

Сообщение noahi1977 » 03.05.2020{, 22:05}

Ingwar,
Ingwar
Не могли бы указать на данные быстрые блоки Александра..
К сожалению с Андроида не пойму как обратиться именно к давшему совет

Отправлено спустя 2 минуты 3 секунды:
Будем пробовать по данным ссылок.Спасибо

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#9

Сообщение Ingwar » 03.05.2020{, 22:12}

noahi1977 писал(а):
03.05.2020{, 22:07}
быстрые блоки Александра..
viewtopic.php?t=3065

Отправлено спустя 2 минуты 5 секунд:
http://cyber-place.ru/showthread.php?t=550
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#10

Сообщение edyapd » 04.05.2020{, 06:05}

noahi1977 писал(а):
03.05.2020{, 20:34}
генерить с двух каналов синхронную разноименную частоту.
Например одновременно 25мкс и 5000мкс.
Небольшое отступление. Частота измеряется в Герцах (Гц, кГц, МГц ...)
То, что вы написали, это период.
У AtMega2560 тактовая частота 16МГц. Значит на одну команду уходит от 0.0625мкс до 0.188мкс. Чтобы можно было получить на выходе сигнал с периодом 25мкс, надо его переключать каждые 12.5мкс. Если к нему привязать ещё и вывод который будет переключаться каждые 2500мкс, то такое можно сделать только на прерываниях таймера. И при этом придётся побороться за каждый такт работы микроконтроллера. Вы же хотите подвесить на него ещё и аналоговый вход.
Думаю вам надо поискать более скоростной микроконтроллер.

Аватара пользователя
ElectronicRTC
Рядовой
Сообщения: 49
Зарегистрирован: 09.07.2019{, 06:13}
Репутация: 1
Откуда: Москва
Имя: Евгений

Синхронно разноименная частота с двух выходов

#11

Сообщение ElectronicRTC » 04.05.2020{, 06:55}

edyapd, так сразу бы рекомендовали компьютер ))) чего тут скоростной микроконтроллер то .
noahi1977, предположу что нужно или использовать отдельный ардуино-мини именно для задачи стабильности частоты, или же нужно СИ или ассемблер (что будет сложнее)
Промышленная электроника и оборудование

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#12

Сообщение edyapd » 04.05.2020{, 07:08}

ElectronicRTC, Обязуюсь поставить вам десять плюсов, если вы сможете сделать данный проект на FLProg, со стандартными блоками. А если сможете реализовать это на СИ, заведя обратную связь, как это просит ТС, то буду считать вас гуру в СИ. (При условии, что ТС всё устроит)
А пока только общие слова и ничего более.
ElectronicRTC писал(а):
04.05.2020{, 06:55}
так сразу бы рекомендовали компьютер
Для всех этих двигателей есть промышленный контроллеры. И думаю ТС про них знает. Но они довольно таки дороги. Угадайте с трёх раз, почему их не делают на дешёвых АтМегах?

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

Синхронно разноименная частота с двух выходов

#13

Сообщение Dragony » 04.05.2020{, 08:45}

edyapd писал(а):
04.05.2020{, 06:05}
Думаю вам надо поискать более скоростной микроконтроллер.
Какой-нибудь типа STM?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Синхронно разноименная частота с двух выходов

#14

Сообщение Sancho » 04.05.2020{, 09:45}

edyapd писал(а):
04.05.2020{, 06:05}
Чтобы можно было получить на выходе сигнал с периодом 25мкс, надо его переключать каждые 12.5мкс. Если к нему привязать ещё и вывод который будет переключаться каждые 2500мкс, то такое можно сделать только на прерываниях таймера. И при этом придётся побороться за каждый такт работы микроконтроллера. Вы же хотите подвесить на него ещё и аналоговый вход.
Согласен полностью, потому-что:
Sancho писал(а):
25.01.2018{, 16:39}
D12_High;
value1=analogRead(2);
D12_Low;
Чтение 1-го аналогового входа с присваиванием 112µs!!! два - 224µs

D12_High;
value1=A2_Read;
D12_Low;
Чтение быстрого аналогового входа с присваиванием 64µs!!! два 136µs

После этого все логические операции в программе становятся ВООБЩЕ малозначимыми по времени выполнения!
Вижу решение в переходе на stm32, но придётся всё-равно писать на си, или для генерации использовать другие мк, например 168, управляемые по SPI.
Мастер будет читать аналог и основное будет в нём.
Мысли понедельниковсого утра :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#15

Сообщение noahi1977 » 04.05.2020{, 11:16}

Я пробовал использовать Мегу и две нано.
Логика на Меге.Частоты на Нано.Но для корректной(как по мне),,мягкой и красивой работы моторов нужен старт,разгон,работа,торможение,стоп.
Далее ,если это поиск чёткой позиции ,а их может быть много и без конечников то нужна обратная связь.Но для каждой позиции нужно своё начало старта,разгона итд.Поэтому идет нагромождение счётчиков с обратной связью о сделанных шагах и кучей проводов.Так же при нескольких контроллерах теряются в счетчиках числа.Да..при таких скоростях счётчики работают странно.Это критично.
В алгоритм сторонних программ с открытым доступом изначально в настройках мотора закладываются ускорения,торможения перед стопом.И если надо проехать 10см ,то мы просто указываем мотору проехать 10см .А общет идет внутри.Я не програмист контроллеров .И понимаю,даже если логика с несколькими поедит это хорошо,но не выход.
Далее о разгоне..при больших массах и небольшом моторе ,чтоб просто поднять скорости перемещения без ухода драйвера в ошибку нужна мягкость.
Частоту в мкс я написал для простого понимания,ведь в настройках генератора мы вводим период, а не герц.
Поэтому приходиться постоянно переводить гц в мкс,и мс.

Буду пробовать с данными ссылкам выше.
Посмотрим ,что получиться.
Спасибо откликнувшимся.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Синхронно разноименная частота с двух выходов

#16

Сообщение ingener » 04.05.2020{, 12:44}

25 мкс это 40кГц? Разве сервоприводу нужны такие частоты? :shok:

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#17

Сообщение Ingwar » 04.05.2020{, 13:18}

ingener писал(а):
04.05.2020{, 12:44}
Разве сервоприводу нужны такие частоты?
Сервопривод это не только машинка для поворота на угол, но и мотор (в т. ч. шаговый) + энкодер.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Синхронно разноименная частота с двух выходов

#18

Сообщение ingener » 04.05.2020{, 13:59}

Ingwar писал(а):
04.05.2020{, 13:18}
Сервопривод это не только машинка для поворота на угол, но и мотор (в т. ч. шаговый) + энкодер.
драйверу шагового мотора нужно максимум единицы кГц, но никак не десятки. Конечно, если не включать делитель на 16 или более

noahi1977
Рядовой
Сообщения: 8
Зарегистрирован: 03.05.2020{, 19:50}
Репутация: 0
Имя: Эдуард

Синхронно разноименная частота с двух выходов

#19

Сообщение noahi1977 » 04.05.2020{, 14:42}

Да..присутствует деление драйвера.У каждого драйвера свой пакет делений связанный в том числе с инкрементным энкодером сервопривода.
Ранее пришлось подбирать в угоду стоимости сервы и шаговый смотря на шаг деления их драйверов
Редукция на одном моторе 26к1
Быстро поворачивать нужна большая частота.
Деление драйвера подобрано так,чтоб адекватно работали счётчики Флпрога.Так как есть ограничение в присвоении числа переменной начало отсчёта.Там не более 33 с чем то тысяч на integra.Если брать выше ,то у меня неадекватно работал блок присвоения начала отсчёта счетчика.Если брать другой тип переменной, то присвоение было некорректно.
Нормально только до 33000.
В общем там компромисс из драйверов,механики и логики.И это работало отлично,до поры изменения редукции второго мотора.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Синхронно разноименная частота с двух выходов

#20

Сообщение Ingwar » 04.05.2020{, 15:54}

ingener писал(а):
04.05.2020{, 13:59}
драйверу шагового мотора нужно максимум единицы кГц, но никак не десятки
Давайте не будем свой опыт применения принимать за некий оптиум.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ответить

Вернуться в «Помогите, а то я "нимагу"»