Бесколекторный команч 2.4 ГГц!
Я хочу предложить вставить вместо тамошних формул свои, которые писал выше. Тогда и проверка не понадобиться.
Для Вас “…там все по комментариям видно…”, а для меня - тёмный лес.
Эти?
Out1=(In1+In2)/2
Out2=30-(In1+In2)/2
Что такое 30?
В схеме Attiny13 использует внутренний генератор (кварц) вроде как 9.6Мгц (надо еще разбираться - он калибруется). Таймер запрограммирован на тики кварца 1/8. Все константы приведены в тиках таймера.
Вот константы из кода:
;***** Constants
.equ CHANNEL_RESOLUTION = 1200 ; resolution of channels
.equ MIDDLE_VALUE = CHANNEL_RESOLUTION / 2 ; middle position value
.equ CHANNEL_MIN_PULSE_LENGTH = 1200 ; min pulse length measured in timer increments
.equ CHANNEL_PULSE_REPEAT_RATIO = 24000 ; PPM pulse repeat ratio measured in timer increments
.equ GLITCH_TOLERANCE = 600 ; If the pulse length is lower or higher by this value than expected the pulse considered as glitch
.equ PULSE_REPEAT_TIMEOUT = 200 ; Servo pulse repeat timeout value for pulse timeout (in 256x timer increment)
.equ PULSE_OUT_DISABLED_STATUS = 0xff ; Pulse output disabled status code
; default input output values
.equ DEFAULT_CHANNEL_OUT_VALUE = MIDDLE_VALUE + CHANNEL_MIN_PULSE_LENGTH - 256;
.equ DEFAULT_CHANNEL_IN_VALUE = MIDDLE_VALUE;
Есть у кого дока по сигналу который управляет сервами и т.д.
Эти?
Out1=(In1+In2)/2
Out2=30-(In1+In2)/2
Да, они.
Что такое 30?
Это константа. Я ошибочно написал 30, имея в виду 3мСек. Можно наверное представить это как сумму минимальной (1мСек) и максимальной (2мСек) длительности импульсов
Вот константы из кода:
;***** Constants
.equ CHANNEL_RESOLUTION = 1200 ; resolution of channels
.equ MIDDLE_VALUE = CHANNEL_RESOLUTION / 2 ; middle position value
.equ CHANNEL_MIN_PULSE_LENGTH = 1200 ; min pulse length measured in timer increments
.equ CHANNEL_PULSE_REPEAT_RATIO = 24000 ; PPM pulse repeat ratio measured in timer increments
До сих пор понятно.
.equ GLITCH_TOLERANCE = 600 ; If the pulse length is lower or higher by this value than expected the pulse considered as glitch
.equ PULSE_REPEAT_TIMEOUT = 200 ; Servo pulse repeat timeout value for pulse timeout (in 256x timer increment)
.equ PULSE_OUT_DISABLED_STATUS = 0xff ; Pulse output disabled status code; default input output values
.equ DEFAULT_CHANNEL_OUT_VALUE = MIDDLE_VALUE + CHANNEL_MIN_PULSE_LENGTH - 256;
.equ DEFAULT_CHANNEL_IN_VALUE = MIDDLE_VALUE;
А это непонятно.
Это константа. Я ошибочно написал 30, имея в виду 3мСек. Можно наверное представить это как сумму минимальной (1мСек) и максимальной (2мСек) длительности импульсов
Т.е. в тиках таймера это 1200+2400 получается. А точно ли входной канал будет не превышать 2400 тиков?
Т.е. в тиках таймера это 1200+2400 получается. А точно ли входной канал будет не превышать 2400 тиков?
Да, похоже так и получается. Выходной сигнал не будет больше 2мСек и меньше 1мСек при условии, что входные сигналы лежат в этом же диапазоне. Это очевидно из формул.
Да, похоже так и получается. Выходной сигнал не будет больше 2мСек и меньше 1мСек при условии, что входные сигналы лежат в этом же диапазоне. Это очевидно из формул.
Вот реализация Ваших формул:
На работе лежит плата AVR Dragon можно прожечь ей attiny13 в диповом корпусе, только надо еще узнать параметры high voltage programming из оригинального проекта.
Круто! Очень шустро Вы накатали, я не расчитывал на такую скорость реализации! А можете прошить attiny13? Я Вам взамен пустую такую же привезу.
А свми то Вы будете себе пробовать делать верт со своим вариантом прошивки?
Круто! Очень шустро Вы накатали, я не расчитывал на такую скорость реализации! А можете прошить attiny13? Я Вам взамен пустую такую же привезу.
А свми то Вы будете себе пробовать делать верт со своим вариантом прошивки?
Микросхемы в дипе у меня нет. Мы с другими работаем. Потом вопрос по программированию еще не ясен. Там есть очень важные параметры при прошивке - которых я не нашел нигде. Сам пробывать пока не буду, но результат интересен. Микшер автора темы пока устраивает.
Жаль, что не сможете прошить. А чего не хватает то? Фьюзов что ли? Может у авторов исходной проги спросить?
Коллеги! Поможайте кто сможет! Очень любопытно пощупать результат.
Жаль, что не сможете прошить. А чего не хватает то? Фьюзов что ли? Может у авторов исходной проги спросить?
Коллеги! Поможайте кто сможет! Очень любопытно пощупать результат.
Отчего тишина, неужто ни у кого мыслищи не прут? Тема то вроде интересная.
Капаться нет времени, скажете какая частота, а правивший прогу должен сие знать, иначе непонятно из каких соображений цифири, тады прошью, но только самовывоз 😉
Да . Нужны fuses, без них долго разбираться надо. Я эти контроллеры не знаю. Цифири брал основываясь на базе минимального сигнала 1200 тиков таймера. Был в оригинале. Соответственно максимальный 2400. Но какие частоты, какие порты как програмить, конфигурация выводов - надо терзать автора.
Автору отписался.
Порты в проге расписаны:
;***** Pin definitions
; input pins
.equ CH0_INPUT_PIN = PB3
.equ CH1_INPUT_PIN = PB4
; output pins
.equ CH0_OUTPUT_PIN = PB0
.equ CH1_OUTPUT_PIN = PB1
Остальные вроде не используются, исходя из 1200 тиков таймера на 1 мс получается, что можно шить микруху с дефолтными фьюзами с завода, т.е. частота внутренноего генератора 9.6 МГц с включенным делителем на 8.
C интересом слежу за развитием событий. Интересно, через какое время появится сообщение - “Чего-то не работает ни фига”.
C интересом слежу за развитием событий. Интересно, через какое время появится сообщение - “Чего-то не работает ни фига”.
Открыли бы исходники - хотя бы алгоритма. Люди успокоются 😃
Открыли бы исходники - хотя бы алгоритма. Люди успокоются 😃
Он там есть в самом начале… 😉 И код прошивки и схема. Мне лично интереснее принцип, а не цифирь…
Если бы я знал, что такое электричество,
Я сделал бы шаг,
Вышел бы на улицу
Зашел в телефон
Набрал бы твой номер
И услышал твой голос.
Но я не знаю, как идет сигнал,
И я не знаю принципов связи,
И я не знаю, кто клал кабель,
Едва ли я когда-нибудь услышу тебя… 😃
Он там есть в самом начале… 😉 И код прошивки и схема. Мне лично интереснее принцип, а не цифирь…
Какой принцип интересен? Я не пойму. Вроде по ходу темы размусолили все приниципы, соорудили даже черновой набросок алгоритма. В чём вопрос то?
Кстати, по поводу алгоритма, что-нибудь сдвинулось? кто-нибудь прошил себе новый вариант?
Дык вроде никто кроме Вас и не рвался пробовать, итак понятно что работать не будет, достаточно включить миксер в той же DX7 и посмотреть на мониторе что с каналами происходит.
Дык вроде никто кроме Вас и не рвался пробовать, итак понятно что работать не будет, достаточно включить миксер в той же DX7 и посмотреть на мониторе что с каналами происходит.
Ну не у всех же DX7… А что происходит с каналами?
Ну как в формуле в первоначальном исходнике было написано, т.е. к первому входу плюс/минус отклонение от середины второго входа, единственное чего, входные сигналы идут с коэффициентом 0.75 дабы не вылезти за максимальные 150% на выходе.
Какой принцип интересен?
Работы предложенного Andrey73 миксера и обычного V-миксера… Формулы формулами, цифры цифрами, но есть ведь еще ряд логических “условий” (и, или, если, то) описывающих работу устройств вот это мне и интересно…