Activity

Настройка 3d дельта принтера по русски на примере Rostok mini

Данный мануал основан на всем известном англоязычном howto

Все нижеперечисленное на основе прошивки Marlin и программы Repetier-Host V1.5.4

Итак, наш принтер собран, электроника подключена, концевики работают, двигатели крутят в нужную сторону и располагаются там где надо (X - слева, Y - справа, Z - сзади), а также выставлено соответствие шага к перемещению (для примера: 1,8гр стандартный nema17, ремень Т2 и 20-ти зубая передача на 1/16 шаге дают значение 80).
Все вышеописанное вначале проверяется на обычной (не дельта) прошивке для удобства, а потом уже заливаем прошивку дельты, переставляем концевики (на каналы макс значений) и еще раз проверяем правильность направления.

К моменту калибровки очень желательно иметь на принтере уже установленный (причем жестко) со стеклом. Также как вам должно быть известно, необходимо чтобы шарниры имели максимально равную длину, причем точное значение самой длинны не так критично, и может отличаться от 186мм между центрами осей.

Предварительные настройки Repetier-Host (меню Конфигурация->Настройки принтера->Размеры) выставить так:
Тип принтера - Принтер Rostok (круглый стол)
Начало Х - 0
Начало У - 0
Начало Z - Max
Печатаемый радиус - 80 (сюда ставим радиус печати своего принтера)
Печатаемая высота - оставляем любое (с запасом), менять будем позже

Поехали:
1) выставляем регулировочные винты примерно на 2-3 мм выше плоскости каретки (запас на регулировку)

2) заливаем прошивку дельты, жмем домик - принтер уводит головку вверх к концевикам. Измеряем линейкой примерное значение и уменьшаем его на 5мм (подгоним позже, сейчас чтобы не сломать ничего даем запас).

3) идем в Marlin/Configuration.h в настройки дельты
строка 109 DELTA_DIAGONAL_ROD = 186 - тут ставим длину наших шарниров (расстояние между осями вращения, а не длинна шарнира), дефолтное 250
строка 112 DELTA_SMOOTH_ROD_OFFSET = 140,5 - расстояние от центра платформы(сопла) до центра направляющих, дефолтное 175
строка 115 DELTA_EFFECTOR_OFFSET = 33 - расстояние от центра платформы до оси вращения шарнира на платформе, дефолтное 33
строка 118 DELTA_CARRIAGE_OFFSET = 22 - расстояние от центра направляющих до оси вращения шарнира каретки, дефолтное 18
строка 413 Z_HOME_POS = 150 - измеренное линейкой значение

заливаем прошивку, калибруем, начинаем потихоньку спускать к 0. Как опустили - смотрим, какое расстояние осталось до поверхности стекла, после чего изменяем значение Z_HOME_POS, но оставив 1-2мм запаса. Это же значение также указываем в Repetier-Host -> Настройки принтера -> Размеры - > Печатаемая высота

4) Для начала, в репитер хосте нам необходимо задать 4 скрипта позиционирования сопла - центральное положение, и положение у одной из стоек, когда шарнир будет параллелен направляющим. Для этого идем в Настройки принтера -> Скрипты, выбираем Скрипт 1 (2, 3, 4) и записываем следующие строки (справедливо для росток мини):

  1. G28
    G0 F8000 X-70 Y-40 Z0
  2. G28
    G0 F8000 X70 Y-40 Z0
  3. G28
    G0 F8000 X0 Y80 Z0
  4. G28
    G0 F8000 X0 Y0 Z0

Теперь запускайте 1 скрипт. Платформа переместится к мотору Х. Высота сопла от стекла должна быть такой, чтобы между ними проходил с небольшим зацеплением лист бумаги для принтера. Если расстояние больше - выкручиваем винт регулировки концевика Х, если же вдруг меньше (а такое вполне может быть - поэтому и оставляли запас) - то наоборот закручиваем.
После чего повторяем скрипт 1 необходимое кол-во раз.
Далее повторяем то же самое со 2 и 3 скриптом - положение у остальных направляющих, причем после 3-го скрипта обязательно проверяем 1-й скрипт, если остался на месте - то этот пункт закончен, иначе повторяем цикл из 3-х скриптов опять.

5) Калибровка плоскости по оси Z
Теперь следует настроить точно остальные параметры, которые у нас ну никак не будут сходится с дефолтными - это будет заметно по положению сопла в центре, которое при идеальных положениях в 3-х точках будет выше или ниже.
Запустите 4 скрипт. Возможны 3 варианта: в центре сопло будет выше, на нужной высоте, или же ниже (ударится об стекло).
Плоскость перемещения по оси Z в прошивке задается константой DELTA_RADIUS. Если она велика, то сопло будет ниже, если же мала - то выше.
DELTA_RADIUS = DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET
для удобства, стоит менять только один параметр - DELTA_SMOOTH_ROD_OFFSET, причем чтобы опустить сопло - увеличиваем значение, а чтобы поднять - уменьшаем

После настройки нужной высоты - возвращаемся к п.4, т.к. изменение DELTA_RADIUS влияет на калибровку высоты. После окончания 4 и 5 пунктов высота сопла от стекла должна быть одинаковой во всех 4 точках.

6) Калибровка размеров XY
Теперь принтер готов к печати, а также можно использовать автоуровень (если есть), но размеры могут не совпадать с реальными.
За размеры отвечает параметр DELTA_DIAGONAL_ROD (строка 109).
Для настройки распечатайте кубик, со сторонами 100х100мм и высотой 2мм.
Если размеры отличаются, то новое значение = 100/(измеренное*DELTA_DIAGONAL_ROD).
После пробуем еще раз печать, и при необходимости поправляем

5.8G диверсити приемник для FPV шлема v3


доделал наконец-таки себе видеоприемник в шлем (переделка v2 из-за больших габаритов).

Началась вся эпопея в конце октября - начале ноября, когда прикупил себе на халявные деньги (с командировки остались) 250-й квадрик.
Шлем v2 был всем хорош, но был здоровый минус - это его габариты, что собственно привело к идее его переделать.

После того, как оформилась примерная конструкция шлема - задался вопросом размещения видеоприемника внутри него. Вначале планировал сделать туда Продвинутый 3 (по соответствующей теме) от Сергея Панкратова.
Как то так получилось, что наткнулся на упоминание о диверсити приемниках. И - ВОТ оно))) решил объединить одно с другим.

Проц как то само собой получилось (на самом деле из-за моей лени почитать даташит на приемыш и посмотреть на код - думал что нет CS пина и требуються 2 СПИ интерфейса) что решил взять хмегу, что в последующем оказалось правильным решением.

Помимо прочего, решил сделать возможность работы как по РССИ, так и оценивать качество видеосигнала по синхроимпульсам.

Первый вариант у меня был с дисплеем:
схема и разводка
готовое устройство

и т.д. в процессе чего кинули ссылку на девайс с выводом на основной дисплей.

на той плате была куча косяков, т.к. разводка была на скорую руку, поэтому было решено ее переделать + избавиться от дисплея, т.к. во первых - зачем лишнее, во вторых - чтобы что-то настроить потребовалось бы снимать шлем, в третьих оформить в шлеме с внешним дисплеем - не оч удобно.

В итоге наконец нарисовал подправленную схему и развел.
Габариты получились 130х50: ширина продиктована размерами шлема и разнесением антенных входов подальше друг от друга, ну а высота - так было удобнее.


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

В процессе оживления и тут обнаружил пару косяков:
1) нормализатор (хз как по другому назвать) видеосигнала на 2-х транзисторах наотрез отказывался работать с генерируемым видеосигналом. Причина оказалась в том, что синхроимпульс обрезался первым транзистором (инвертер), и от него в итоге оставался лишь кусок, который дисплей как ни странно переваривал, но изображение плавало + могло оказаться в любом месте экрана. Решилось переносом нормализатора на 1-й каскад коммутатора, до коммутации видео/меню
2) добавил 2 резистора по 75 Ом в нагрузку видеоприемников - не обязательно, но без этого размах видеосигнала до нормализатора (высокоомная нагрузка) был равен 3В
3) в разрез генерируемого видеосигнала добавил танталовый электролит - разгрузка выходов процессора на случай непредвиденных обстоятельств. опция не обязательная, но если что-то не так с сигналом меню - стоит поставить
4) при отсутствии видеосигнала, шум, по которому я анализировал кач-во видео в первом варианте - сыграл злую шутку - очень частые прерывания процессора (2шт каждые 3мкс) довольно сильно завешивали проц и рвали генерируемое изображение. В первом варианте был и2с дисплей, с которым такое было побарабану. Тут же все решилось установкой RC фильтра на выходе синхры с ЛМ-ок. Т.к. места под резисторы я предусмотрел, то осталось только подобрать значения и припаять конденсаторы. Номиналы получились 4,7к резистор и 510пФ конденсатор. Шум при отсутствии сигнала ушел полностью (3000 лишних прерываний за 10мс без него против 1-5 с ним). Это позволило намного лучше анализировать качество.

Итого имеем:
схема исправленная - Shema.rar
готовый ПДФ под ЛУТ - LUT.rar
готовый ПДФ под фоторезист - fotorezist.rar
размещение элементов - PCB1.rar PCB2.rar
доработка -
и оригинал картинки доработка.rar
hex файл прошивки - Diversity2.rar

проц - именно atxmega32a4 u - без u в конце возможно придеться перекомпилировать

для прошивки нужен avrisp mkII программатор, либо его клон, но есть возможность прошить и USBASP

Так. Теперь собственно по возможностям и использованию:
1. Управление. Имеются 4 кнопки - BACK, DOWN, UP, SELECT, хотя назвать их можно как угодно. Кроме кнопки SEL - переключение режимов, остальные кнопки имеют разные функции в зависимости от меню.
2. Есть 5 меню

  • Video - это вывод видео с приемников. В этом меню кнопками DOWN и UP можно перевести вывод изображения на конкретный приемник (1 или 2 и автоматически переключает в ручной режим выбора приемника)
  • Diversity - меню выбора типа работы и просмотра хар-ки РССИ и синхры
    кнопка BACK - переключает тип выбора приемника MANUAL/RSSI/SYNC
    кнопки DOWN и UP - аналогично меню Video
    одновременное нажатие DOWN и UP - сохранение параметров
  • Channel freq - выбор частоты приемника по таблице каналов
    кнопки DOWN и UP - листание каналов
    одновременное нажатие DOWN и UP - сохранение параметров
  • Manual freq - ручной выбор частоты приемника с шагом 3 МГц
    кнопки DOWN и UP - увеличение/уменьшение частоты, при этом сбрасываеться номер канала для режима Channel freq
    кнопка BACK - переключение в ручной режим и смена приемника
    одновременное нажатие DOWN и UP - сохранение параметров
  • Spectr - отображение спектра сигналов в диапазоне 5550-6000 с шагом 3МГц
    кнопки DOWN и UP - выбор приемника, по которому идет сканирование
    кнопка BACK - замедление скорости сканирования
    при выходе из меню - все настройки восстанавливаються из записанных
    3. Режимы работы:
    Всего имеются 3 режима:
    MANUAL - назначение понятно из названия - ручной выбор приемника
    RSSI - выбор приемника на основе лучшего сигнала РССИ. Как бы основной режим работы, работает во всем диапазоне
    SYNC - выбор приемника на основе анализа качества видео. Работа будет заметна только при изображении “со снегом”

Время переключения приемников в режимах RSSI и SYNC - менее 0,1с
4. Сохранение параметров.
Не сохраненные параметры работают только до загрузки сохраненных из ЕЕПРОМ - при запуске и при переключении из режима Spectr в режим Video (именно при переключении, если просто пролистали меню - загрузки не будет)
Сохраняються: частота, режим работы, частотный канал (или его отсутствие при ручном выборе частоты), пункт меню при включении

По приемникам. Необходимы модули со встроенным стабом на 3.3в (5в питание), которые доработаны соответствующим образом для работы через СПИ

12.07.2015 Сорри забыл сразу выложить… была небольшая ошибка в коде - не было обнуления значения MAX RSSI при повторном заходе в меню СПЕКТР -> если уходили на другой канал, а на нем значение было меньше, то оно не отображалось
yadi.sk/d/Vo5i-THrhNZ7G

FPV шлем v2

Добрый день однофорумчане!

Предупреждение: многа букаффф…

Вдохновленный примером Sci_Rosso и немного разочарованный первой версией шлема, поднакопив деньжат решил сварганить и себе подобное…

Сразу скажу… начальные фото выложу позже, а середина так получилось что не сделал

Начать решил именно с выклейки шлема.
Посмотрев на ход работ Sci_Rosso вначале поехал покупать кусок ПВХ, скульптурный пластилин и монтажную пену.
Так как время было уже позднее… к рекламщикам я не попал… и подумав, съездил и купил упаковку потолочки, которая не из пенопласта а типа пвх но более гибкая… пачка была с небольшим браком так что досталась мне аж за 14 рублей 😁 дорога до магазина дороже вышла.

Приехав домой, стал из всего этого безобразия придумывать что делать.
Для начала сделал гребень по форме головы. Так как потолочка сильно гибкая, пришлось делать аж 3 слоя. После сварганил короб под матрицу, изогнул лист под гребень под форму головы, ну и по финишу соеденил все это термоклеем…

Пришлось после склейки добавлять еще кусочки сзади.
Далее залил все это снаружи обильно пеной.
На следующий день взяв нож в руки стал придавать этому бесформенному кому внешний вид. После приобретения примерной формы поверхность пены и неудавшиеся места покрыл пластилином. За 2 дня получил вроде бы то что хотел…

Далее дело было за стекловолокном… Так как я еще ни разу с ней не работал, для начала взял 350г/м2 стеклоткань и 1л. банку полиэфирной смолы… первый блин чуть не вышел комом… так что вышел только кусок 1-го слоя.
Потом прикупив 150г/м2 (меньше не было в автомагазине, а где еще у нас продается - хз) и порезав на небольшие куски стал все это дело обклеивать…
Наложив примерно 3-4 слоя решил остановится… Когда все это дело высохло - возникла дилемка как все лишнее добро оттуда достать???
Как оказалось - не так страшен черт - все легко извлеклалось после порезки на полосочки - пена отходила от пластилина довольно легко (как уже говорил - первый раз - не подумал о разделителе), а вот пластилин пришлось отскабливать чайной ложкой)))

Следующим этапом было шкурение (60-й шкуркой), птом шпаклевание (по пластику шпаклевка), опять шкурение (60 и 120), ну и для пробы грунтанул…
При этом выползло много косячков, которые после ошкурки не были видны…

Далее начался этам ожидания матрицы. Как всегда, посылка до Пачти Рассеи летела аж 35 дней, а вот от оренбурга до брянска слава богу доехала за 7 дней.
Получив матрицу (которая 5,6" и без синего) начал думать как это добро все внутрь запихнуть…
В процессе рассверливания штатных 2,2мм крепежных отверстий, верхняя рамка матрицы пошла лесом… пришлось срочно городить рамку из текстолита и приклеивать добро с помощью термоклея.
Первоначальная задумка об вклеивании стоек для крепления матрицы тож пошла лесом - оч неудобно внутри… так что плюнул на это дело и тупо просверлил спереди 4 отверстия.
Контроллер размещается в затылочной части шлема, разъемы выходят наружу.
Тут я лопухнулся с шириной полки, так что пришлось выпаивать разъем питания и USB гнездо - будут внешними…
Под размещение контроллера стойки будут вклеиваться.
Отверстия под разъемы выпилились дремелем с 2мм кукурузой оч даже легко и довольно точно.

Подкладку делала сестра, для обшивки купил замша(лицо) + флис(обратка) ткань - довольно толстая и приятная на ощупь.

По финишу все это добро будет красится в синий глянец…

Фото на текущий момент:

Шпакленул каверны, грунтанул… несколько мест все равно осталось…
Плюнул на абсолютно идеальный вид… приступил к покраске.
Походу как высохнет опять придется драить шкуркой - пузырится + в 2-х местах - наплывы. (знаю причину - толстый слой… делаю как получается)
Крашу краской аэрозольной… пульверизатора нет…

После долгого молчания продолжаем:

в прошедшие пятницу и субботу (8 и 9 ноября) шлем был почти доделан:
1)Френель был закреплен в 7 см от матрицы на основе ис ПВХ пластика, до френеля от глаз примерно столько же. Расстояние подобрано на глазок - достаточное увеличение без ущерба искажениями. Полученный визуальный размер - примерно метр ширины дисплея с расстояния 50-60см.
2) Переделаны кнопки, теперь довольно удобно вслепую их использовать

3) разъем питания и ЮСБ выведены отдельно

4) Для охлаждения (без вентиляции нагревается довольно значительно за 10-15 мин работы) прикрутил вентилятор 40х40х10 (140р. на подшипниках). Так как в расстояние между платой и задней стенкой изнутри он не влез (мешают доп разъемы и конденсаторы), пришлось вынести его наружу и прикрыть декоративной решеткой (22р.)

5) Был разобран RC305 приемник, модуль RX5808 вместе с разъемом и переключателем каналов внедрены внутрь. Питание от ЮСБ порта, выход видео подпаян через рекомендованный по даташиту 470мкФх10В кондер напрямую к RCA видеовходу

вес итоговый 977г. шлем и 302г подкладка.

Шлем проверен просмотром фильма и ФПВ полетами в прошедшую субботу. Фильмы смотреть довольно непривычно - как будто приобретает объем, обычная работа на компьютере возможна, но немного неудобно - глаза напрягаются при смещении на края. ФПВ - вообще отлично.
Несмотря на вес более килограмма, усталости шеи нет. Шлем сидит на голове удобно, не сползает, доп ремешка для удержания не требуется.

Внешний вид до внедрения 5.8 приемника внутрь… на фото не я 😛

П.С. финишная покраска откладывается на неопределенный срок: после первой покраски краской были пузырьки и пара наплывов - ну не умею я аэрозолями красить… после зашкуривания всего этого дела прошелся снова краской - в некоторых местах появилась чешуя. Так что пока плюнул на это дело… как припрет - разберу и перекрашу, а пока и так устраивает.

FPV шлем

Недавно решил таки тоже сварганить себе шлем для ФПВ.
понравилась вот эта статья
но так как раскошеливатся на нормальную матрицу сейчас нет возможности, то пришлось под эти цели использовать имеющийся 4.3" моник (давно валялся без дела). покупался на ебее 2 года назад за 18$ и имеет разрешение 480х272 вроде.
линза такая
маска такая

на маску для крепления прикрутил сверху и снизу стойки:

корпус сделан из рекламного пластика 3мм толщиной, размеры в основном на глазок, вышло 180 длина, 170 ширина, 100 высота,
пластик посажен на клей через уголки сделанные из заглушек для подоконников, для моника и линзы сделаны экраны, вклеенные внутрь - конструкция получилась очень жесткой и прочной при изначальной гибкости вспенненного пластика.

Видимый размер дисплея - как 15" экран ноута с расстояния в 0,5м
детализация из-за маленького разрешения экрана конечно страдает, но для полета вполне норм.

Вчера был первый облет шлема и можно сказать первый мой полет по FPV. проху просто прикрепил липучкой сверху трехи, так что желе присутствует, видео выложено в низком качестве - в 1080 60к/с выложить 4 гига нет никакой возможности а пережимать - времени

Первичная настройка MultiWii

Решил написать небольшой мануал по настройке мультивия, себе на память и начинающим на подмогу.
Мануал планирую потихоньку редактировать, вспоминая и находя нужные куски текста в большой куче форума.
Нусь… начнем потиххоньку:
1. Настройка ориентации сенсоров.
Для начала необходимо определится, какие сенсоры у вас на плате.

Если это готовая плата - смотрим на описание платы, практически все дефайны уже есть в def.h, остается только раскомментировать нужную в config.h.

Если это отдельная плата с датчиками, и ее нет в списке - то раскомментируем необходимые датчики чуть ниже выбора готовых плат.

Далее компилим прошивку и заливаем ее в аппарат.

Теперь необходимо проверить правильность ориентации, для этого располагаем платку предполагаемым передом от себя и начинаем крутить:
а) при наклоне вправо должен увеличиватся угол ROLL по акселю и положительный скачок ROLL по гироскопу, Z ось акселя и компаса должны уменьшатся.
б) при наклоне вперед - аналогично по PITCH, Z ось акселя и компаса должны уменьшатся.
в) при наклонах влево и назад - значения должны быть минусовые, Z ось акселя и компаса должны уменьшатся.
г) при подъеме вверх (с норм скоростью) должен увеличиваться Z акселя, при переворачивании - менять знак
д) при повороте вправо должен быть скачок по гироскопу оси Z в положительную сторону
е) в горизонте Z ось акселя и компаса должны быть положительными
П.С.: По данным гироскопа вы увидите вначале скачок в одну, а потом в противоположную сторону - это нормально, так как вы вначале поворачиваете, а потом тормозите плату.
Источник: How_should_be_the_sensor_axis_directions

также для правильной настройки компаса вы должны указать параметр MAG_DECLINIATION (в config.h в разделе настроек ЖПС)
Для этого идем на magnetic-declination.com, находим свое местоположение, щелкаем на карту и запоминает, например у меня это Magnetic declination: 8° 41’ EAST
После чего получаем нужную нам цифру: 8+41/60 = 8,6833f.

Если все соответствует - значит с определением осей все в порядке.
В противном случае запоминаем, по какой оси у нас были другие показания, и меняем направления либо в def.h (для вашей платы), либо в config.h для версии 2.2

/* enforce your individual sensor orientation - even overrides board specific defaults */
      //#define FORCE_ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
      //#define FORCE_GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  X; gyroADC[YAW] = Z;}
      //#define FORCE_MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  =  X; magADC[PITCH]  =  Y; magADC[YAW]  = Z;}

2. Арм/дизарм и подключение приемника
Важная часть настройки для начинающих.
Во первых, определяем, поддерживает ли приемник PPM SUM (для подключения одним 3-х жильным кабелем) или нет.
Далее идем в config.h, и если у нас приемник, поддерживающий PPM SUM на одном из каналов (для прошитого телеметрийного приемника FrSky это 1-й канал при замыкании сигнальных контактов 3 и 4-го контакта) то раскомментируем строчку:

#define SERIAL_SUM_PPM         ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4,8,9,10,11 //For Robe/Hitec/Futaba

После чего заливаем любую прошивку к аппарату с подключенным приемником.

Далее запускаем конфигуратор, соеденяемся и двигая стики убеждаемся в правильности настройки каналов.
Также при этом можно сразу оттриммировать значения каналов для ROLL, PITCH и YAW на центральное положение 1500 (это делается триммерами на пульте)

После этого, двигая стик газа, запоминаем минимальное и максимальное положение (например 1047 и 1980), и повторяем такую же процедуру и для остальных стиков (для примера R P Y 1137/1884 1054/1987 1097/1920).
После этого, принимаем для текущего примера газа мин значение 1100 и макс значение 1900 (1950), а для остальных стиков при текущем примере мин 1150 и макс 1850 (необходим запас как минимум примерно в 50)
Значения для газа заносим в файле config.h в поля:

#define MINTHROTTLE 1100
#define MAXTHROTTLE 1900

а значение #define MINCOMMAND на 50 меньше MINTHROTTLE

Значения остальных стиков (вычисленное) заносим в файле MultiWii.ino в строчках

// ******************
// rc functions
// ******************
#define MINCHECK 1150
#define MAXCHECK 1850

После данной настройки заливаем нашу прошивку в аппарат.

Арм/дизарм после данной настройки, а также все остальные комбинации стиков делаются без проблем.

Также не забываем в config.h раскомментировать

   /********************************    ARM/DISARM    *********************************/
   /* optionally disable stick combinations to arm/disarm the motors.
     * In most cases one of the two options to arm/disarm via TX stick is sufficient */
    #define ALLOW_ARM_DISARM_VIA_TX_YAW
    //#define ALLOW_ARM_DISARM_VIA_TX_ROLL

После этого:
АРМ: Газ вниз и YAW вправо
ДИЗАРМ: Газ вниз и YAW влево
при необходимости можно изменить строчку, при этом будет то же самое, только вместо YAW будет стик ROLL

3. Настройка акро ПИД
Это основная настройка для вия, от нее можно сказать пляшут и остальные настройки.
Очень желателен еще один человек, которому необходимо как минимум показать как делать арм/дизарм и где канал газа и как его двигать…

Для начала, заливаем нужную прошивку на готовый аппарат (про виброразвязку и балансировку тут не буду говорить), оставляем включенным только АКРО, идем в центр зала/на улицу, берем аппарат снизу в руки, делаем арм и даем газу до примерной точки взлета (аппарат начинает терять вес).

Вначале следует обратить внимание на то, есть ли осцилляции (самопроизвольная вибрация/раскачка), если ее нету, то пробуем резкими движениями менять положения коптера, наклоняя вперед/назад, влево/вправо, при этом вы должны ощутить сопротивление изменению положения (хотя при слабых ПИД-ах иногда бывает практически не заметно).

Если сопротивление слабое, либо достаточно сильное(но есть желание отстроить по максимуму), то идем к компьютеру и повышаем P на 0,1-0,5 (с каждым последующим разом уменьшаем шаг изменения) и повторяем процедуру до появления осцилляций, после чего уменьшаем P на ~20% от его текущего значения вниз.

По желанию можно продолжить дальнейшую отстройку параметров D и I
что и за что отвечает - добавлю позже…

Программатор для xmega и других AVR - клон avrisp mkII

Когда решил начать работать с процессорами xmega первым делом встал вопрос - “А чем их программировать?”
Покурив форумы, выяснилось что для программирования оных используется не ISP интерфейс, а т.н. PDI. Следовательно стала задача купить/изготовить отдельный программатор.
После довольно продолжительных поисков на форуме Радиокота была найдена темка как раз по нужной нам темке AVRISP mkII новый клон (поддерживает XMEGA) (ссылка на источник).

Из всех найденных там схем больше всего понравилась схемка DoоMmen-а, но вот его печатную плату решил переделать под имеющийся корпус и комплектующие.
Для самостоятельной сборки потребуется AT90USB162, кварц на 8 или 16 МГц (желательно 2-е), разъем миниЮСБ 5пин, 2 переключателя на 2 группы контактов, 3 кнопки, стаб на 3.3в, 5 светодиодов, самовосстанавливающийся чип предохранитель на 0,5А (несколько раз выручал - ЮСБ порты остались живы после КЗ в подключаемом устройстве) и немного резисторов и конденсаторов.

Итак… для начала качаем вот этот - AVRISP MKII clone Progr.rar архивчик. В нем схема программатора, сборка и отзеркаленная печатка для ЛУТ-а (изготовление печатных плат с помощью лазерного принтера и утюга для тех кто не знаком) в pdf файлике, прошивка и шильдик на готовую коробочку.

Изготавливаем платку, находим/покупаем все необходимые з/ч, паяем все и получаем вот такое:

далее проверяем все на аккуратность пайки и подключаем к компьютеру.
Компьютер, недолго подумав, ругнется что нашел мол устройство AT90USB162 устройство но не нашел на него драйверов (если ругнется на неизвестное устройство - ищите косяки в пайке). Не беда - идем на сайт Atmel-a и качаем FLIP 3.4.7 лучше с явой - хуже во всяком случае не будет. Отключаем наш девайс, ставим ФЛИП, подключаем девайс - находит драйвера (если вдруг не захочет находить - ведем в папочку установки флипа).
Далее запускаем флип, выбираем нашу микросхемку, выбираем ЮСБ подключение, загружаем в буфер нашу прошивку и прошиваем наш программатор.
После данного шага в диспетчере устройств исчезает AT90USB162 и появляется LUFA AVRISP MKII Clone (или что-то подобное) и компьютер опять не может найти драйвера… Не беда, идем на тот же сайт Atmel-a и качаем студию (советую последнюю - 6-ю) и запускаем на установку. В самом начале установки ставятся исходные драйвера (Atmel USB Jungo Driver - устанавливать и подтверждать все что просит), потом ставится все остальное - советую таки установить все…

По окончанию данных мытарств мы получаем отличный программатор, позволяющий прошивать любые контроллеры AVR семейства по протоколам ISP/TPI/PDI !!!

П.С. ну либо можно не страдать такими издевательствами и заказать оригинальный программатор у атмела либо клон на ебее