Проект "Безколлекторная Лама4"
А не проще по сопротивлению со стабилитроном в каждый канал, а вместо инвертора поменять четыре строчки в тексте проги?
count_on: clr temp1 ; PWM 1
sbis PINB, PWM_IN1 ;
ldi temp1, 1 ; ранее 0
sbic PINB, PWM_IN1 ;
ldi temp1, 0 ; ранее 1
add on1cnt_l, temp1
adc on1cnt_h, temp2
clr temp1 ; PWM 2
sbis PINB, PWM_IN2 ;
ldi temp1, 1 ; ранее 0
sbic PINB, PWM_IN2
ldi temp1, 0 ; ранее 1
Сама прошивка Koaxial.rar
Конечно проще! Я с этого вопроса и начал, но пока ты не пришёл, никто не взялся исправить программу. Я даже перепрошить не смогу - придётся кого-нибудь просить. Если иметь тиньку с инвертированным сигналом, то можно стабилитрон с резистором сделать в виде набалдашника, надевающегося прямо на контакты блока 4-в-1 и из набалдашника по одному проводку на входы тиньки.
А прицепленный файл прошивки уже исправленный? И может опробован даже?
Конечно проще! Я с этого вопроса и начал,
А можно по сопротивлению и диоду (к Vcc ATTINY), вместо сопротивления и стабилитрона.
А не проще по сопротивлению со стабилитроном в каждый канал, а вместо инвертора поменять четыре строчки в тексте проги?
А не сможете, наоборот, сделать прежнюю же программу, но чтобы для ATTINY26 вместо 13?
А не проще … вместо инвертора поменять четыре строчки в тексте проги?
А можно взамен поменять в них sbis <–> sbic?
А не проще по сопротивлению со стабилитроном в каждый канал,
Кстати, а вообще без этого нельзя ли обойтись? Если использовать внутренние pull-ups, сконфигурировав порт? (Еще одну строку поменять.) Они, правда, могут быть до 50ком…
В принципе, стабилитроны вроде необязательны – внутренние диоды там до 40ма…
Если это сработает, то совсем просто – никаких деталей, красный моторный провод к питанию ESC, оба других провода к входным пинам – и все, кроме этого нужно лишь землю.
Прошивка измененная на 20мс, работало, правда особо время помучать не было, практически включил, запустил бесколлекторник на каждом канале и она была продана в Питер вместе с блоком 4-в-1.
Замена sbis <–> sbic равнозначна произведенным будет.
Диоды всетаки не приводят сигнал в рамки питания, потому предпочел стабилитроны.
Не с ATTINY26 вместо 13 пробовать не на чем , ни тиньки такой, ни блока 4-в-1, да и зачем не понятно.
.А прицепленный файл прошивки уже исправленный? И может опробован даже?
[/quote]
Приветствую !! незнаю как насчет исправленного файла, это вопрос к PigTail … но все прекрасно работает !!! 😃 😃 за что ему большое спасибо и ресрект его золотым рукам !!! 😃 😃 😃
Прошивка измененная на 20мс, работало, правда особо время помучать не было, практически включил, запустил бесколлекторник на каждом канале и она была продана в Питер вместе с блоком 4-в-1.
Замена sbis <–> sbic равнозначна произведенным будет.
Диоды всетаки не приводят сигнал в рамки питания, потому предпочел стабилитроны.
Не с ATTINY26 вместо 13 пробовать не на чем , ни тиньки такой, ни блока 4-в-1, да и зачем не понятно.
Если я правильно понял, тинька с исправленной прошивкой опробована и продана e380ka?
Хочу уточнить подключение. Итак: сток ключа в блоке 4-в-1 подключается на + батареи через резистор и на землю через стабилитрон (кстати, какой 4,7В или 5,2В?) катод к стоку, анод к земле. Со стока сигнал подаётся на вход тиньки. Питание тиньки от +5В откуда заведено? С ESC бесколлекторника, с отдельного стабилизатора или опять стабилитрон?
Я думаю, что при подключении стока ключа через резистор к +5В (питание тиньки) можно вообще обойтись только этим резистором. Тогда на платке тиньки имеет смысл поставить свой трёхвыводной стабилизатор. В итоге на платке будет: тинька, 4 резистора, конденсатор и светодиод.
Я уже спаял платку с инверторами. Получилось, конечно, великовато оттого, что при разводке я побоялся, что не найду маленьких резисторов и оставил под них места с большим запасом. Транзисторы 2Т3117, конденсатор отпаял со старого моторчика, светодиод от разобранного сидюка (здоровый, кстати, тоже). Сегодня может быть опробую. Тинька у меня съёмная на панельке, поэтому переделать не проблема.
Не с ATTINY26 вместо 13 пробовать не на чем , ни тиньки такой, ни блока 4-в-1, да и зачем не понятно.
Может, попробуете написать, а я на реальном чипе его погоняю? Мне-то прямой смысл – у меня они есть, куплены с большим запасом (а TINY13 покупать нужно). Кроме того, на 26ю у меня дальнейшие виды – добавить контроль и индикацию питания (имеет прямой смысл, ибо при большом запасе по мощности можно легко переразрядить LiPo ), еще кой-какие сервисы. У 13й может на все ресурсов не хватить.
Поскольку я с ними лишь начинаю, мне трудно сразу все, особенно всякие инициализации правильно сделать. Гораздо проще начинать с неьолтших модификаций уже работающих программ.
Я думаю, что при подключении стока ключа через резистор к +5В (питание тиньки) можно вообще обойтись только этим резистором.
Можно. Я бы, правда, поставил резистор поменьше, 2-5 ком – выходные емкости у ключей могут быть приличные… А питание можно взять с ESC, если он есть. А можно и с 4in1 или со своего стабилизатора.
Попробую посмотреть 26-ю, но не обещаю ничего конкретного, и не писать, а переделать 😃, а вообще то огромное спасибо немцу, написавшему и опубликовавшему прогу.
Вчера запустил платку. Перед этим благополучно спалил один транзистор, подав сдуру на базу +5В - проверочка такая получилась - хотел подать землю, а по ошибке подпаялся к +5В. Перепаял, проверил - ключи работают нормально, светодиод горит. Всунул в панельку тиньку, соединил платку с блоком 4-в-1 (предварительно прозвонил выходы блока на предмет обнаружения +Uпит. и выходов), подсоединил регулятор с мотором. Включаю предатчик, подсоединяю акк-р. Замигал светодиод на платке конвертера, моргнул своим огоньком регулятор. Даю газ… Ура! Закрутилось! Погонял один мотор, другой, потом с другим регулятором оба мотора - вроде работает. Потом произошла какая-то ерунда с регуляторами. Мотор пускается, раскручивается, потом тормозит, дергается (как будто пытается снова запуститься) проделывает три серии подёргиваний, потом три раза мигает индикатор на регуляторе и тишина. При попытке повторного пуска - та же фигня, да ещё моторчик начинает греться. Я расстроился. Поковырялся ещё немного и обнаружил следующее: если даёшь газ плавно, давая моторчику раскрутиться на малых оборотах, то потом всё работает нормально, а если резко, то дёргается и встаёт. Не понял с чем это связано. Может особенности настроек регулятора влияют. Не стал я дальше мучить, разобрал. Сделал фотку всего вместе: моторы, регуляторы и платка. Выложу, когда обработаю.
если даёшь газ плавно, давая моторчику раскрутиться на малых оборотах, то потом всё работает нормально, а если резко, то дёргается и встаёт. Не понял с чем это связано. Может особенности настроек регулятора влияют. Не стал я дальше мучить, разобрал. Сделал фотку всего вместе: моторы, регуляторы и платка. Выложу, когда обработаю.
Непонятно, моторы уже стоят на вертолете, или это все на холостых? С обоими моторами такое, или с одним?
Есть наивная мысль: PPM сигнал управления мотором тот же, что и сервой. Так что можно подключать один мотор (имеется в виду ESC с мотором), а второй – серву, и смотреть таким образом по серве, что на выходе.
Да, и еще мысль – а источник тока достаточно мощный? Напряжение на питании микроконтроллера и блока 4в1 не просаживается? Питание, в конце концов, откуда сделано?
Какой индикатор на каком регуляторе мигает, и что по инструкции это может означать?
А, случаем, отсечка по напряжению в ESC не срабатывает? Можно бы попробовать ее отключить. На некоторых регуляторах напряжение устанавливается вручную, вдруг там стоит на 3S вместо 2S?
Непонятно, моторы уже стоят на вертолете, или это все на холостых? С обоими моторами такое, или с одним?
Есть наивная мысль: PPM сигнал управления мотором тот же, что и сервой. Так что можно подключать один мотор (имеется в виду ESC с мотором), а второй – серву, и смотреть таким образом по серве, что на выходе.Да, и еще мысль – а источник тока достаточно мощный? Напряжение на питании микроконтроллера и блока 4в1 не просаживается? Питание, в конце концов, откуда сделано?
Какой индикатор на каком регуляторе мигает, и что по инструкции это может означать?
А, случаем, отсечка по напряжению в ESC не срабатывает? Можно бы попробовать ее отключить. На некоторых регуляторах напряжение устанавливается вручную, вдруг там стоит на 3S вместо 2S?
По порядку.
- Моторы не на вертолёте. Фигня с обоими моторами и обоими ESC.
- Чего можно увидеть по серве?
- Питание с родного свежезаряженного проверенного акк-ра.
- Индикатор красного цвета мигает на ESC. Что это означает не знаю. Он мигает при включении питания и при вышеописанных обстоятельствах.
- Мысль интересная. В настроечном софте есть регулировки по питанию. Я невнимательно к ним отнёсся, а это скорее всего напряжение отсечки и есть. Помню, что установил 7,2В, если это так, то естественно, что при резком старте даже на проводах просадка будет. Надо наверно 6,8В поставить.
- Чего можно увидеть по серве?
что идет по PPM сигналу. 1мс – в одном крайнем положении, 2мс – в другом. На самом деле они отрабатывают несколько бОльший интервал длительностей.
Помню, что установил 7,2В, если это так, то естественно, что при резком старте даже на проводах просадка будет. Надо наверно 6,8В поставить.
Первый подозреваемый! На 2 элементах нужно ставить не более 6В, а то и 5.5В (в зависимости от удельной нагрузки и качества аккумуляторов). А на вертолете лучше бы вообще отсечку отключать – в воздухе она может дорого обойтись! – а использовать микроконтроллерный контроль за напряжением (одна из основных причин, почему я хочу использовать более продвинутый ATTINY, хотя это можно сделать и на том же 13-м).
что идет по PPM сигналу. 1мс – в одном крайнем положении, 2мс – в другом. На самом деле они отрабатывают несколько бОльший интервал длительностей.
Первый подозреваемый! На 2 элементах нужно ставить не более 6В, а то и 5.5В (в зависимости от удельной нагрузки и качества аккумуляторов). А на вертолете лучше бы вообще отсечку отключать – в воздухе она может дорого обойтись! – а использовать микроконтроллерный контроль за напряжением (одна из основных причин, почему я хочу использовать более продвинутый ATTINY, хотя это можно сделать и на том же 13-м).
Да мне не особо интересно что идёт по PPM сигналу. Это я мог бы посмотреть на осциллограмме. Видно и так, что длительность меняется, поскольку меняется скорость вращения.
А какая разница где контроль в процессоре или в регуляторе? Или ты имеешь в виду, что нужно индицировать, но не нужно вырубать питание?
Да мне не особо интересно что идёт по PPM сигналу. Это я мог бы посмотреть на осциллограмме.
Ну, осциллограф пока из-под шкафа вытащишь, пока подсоединишь, пока режим подстроишь… А серва оперативно “в работе” показывает.
А какая разница где контроль в процессоре или в регуляторе? Или ты имеешь в виду, что нужно индицировать, но не нужно вырубать питание?
Да, индикатор. по-моему, в любом случае нужен. А с вырубанием – можно его в какой-то форме и оставить, но тогда нужно это грамотно сделать. А то – даже в лучшем случае – вдруг один ротор на высоте трех метров начнет вращаться на 30% медленнее – не уверен, что это то, что нам нужно! Начал бы я с самого простого, просто ограничил бы максимальную длительность импульсов (газ) так, чтобы вертолет просто переставал висеть при севшей батарее. Заодно и защита шестеренкам от перегрузки.
Да, индикатор. по-моему, в любом случае нужен. А с вырубанием – можно его в какой-то форме и оставить, но тогда нужно это грамотно сделать. А то – даже в лучшем случае – вдруг один ротор на высоте трех метров начнет вращаться на 30% медленнее – не уверен, что это то, что нам нужно! Начал бы я с самого простого, просто ограничил бы максимальную длительность импульсов (газ) так, чтобы вертолет просто переставал висеть при севшей батарее. Заодно и защита шестеренкам от перегрузки.
Я думал об ограничении длительности импульсов РРМ сигнала для ограничения тока через моторы, но по-моему, это неверный путь. Получиться в конечном счёте ограничение тока разряда акк-ра. Нужно контролировать одновремнно и напряжение питания и потребяемый ток. С одной стороны не хочется убить акк-р слишком глубоким разрядом или спалить моторы слишком большим током, а с другой стороны не хочется терять полётное время из-за ограничения тока. В идеале нужно иметь на выходе ESC не ключи, а регулируемые источники тока или иметь обратную связь по току на вход ESC. Если делать обратную связь программно, то нужно ставить в цепь питания регулятора, условно говоря, датчик тока (резистор) и отслеживать по его сигналу изменения тока, текщего через ESC и соответственно через мотор.
Защита от перегрузок механики прежде всего должна быть в голове, а ещё лучше иметь запас по прочности конструкции, чтобы сами перегрузки не могли возникнуть. Возможности же б/к моторов, я считаю, надо использовать по максимуму.
Остановлюсь поподробнее на вышеизложенной идее регулировки тока - токовой защите посредством введения программной обратной связи по току.
В первом приближении: нужно установить резистор в цепь питания ESC, измерить пдение напряжения на нём и подать на вход АЦП или компаратора контроллера. В контроллере с АЦП нужно сравнить полученное значение с неким заданным предельным значением и откорректировать(уменьшить) длительность импульсов в РРМ сигнале до исчезновения превышения над заданным предельно допустимым значением. В контроллере с компаратором нужно отслеживать наличие сигнала рассогласования и при его появлении также скорректировать длительность РРМ-импульсов. Резистор-датчик тока должен иметь сопротивление порядка 0,01-0,03Ом. Тогда падение напряжнения на нём при токе, скажем 6А (по 3А на мотор), не превысит 0,2В.
В результате имеем защиту по току и мотора, и ESC, и батареи в одном флаконе.
Я думал об ограничении длительности импульсов РРМ сигнала для ограничения тока через моторы, но по-моему, это неверный путь.
Конечно, это не лучший способ и он не решает всех задач, но ничего неверного в нем я не вижу. Это как использование мотора с более низким kV. Ну, в заводской конфигурации защита от переразряда в какой-то мере присутствует – и здесь будет, такая же. Полётное время при этом вовсе не теряется, просто в конце цикла запас по тяге уменьшается, и, следовательно, лишь время возможной динамичной части полета снижается за счет этого конца.
а ещё лучше иметь запас по прочности конструкции, чтобы сами перегрузки не могли возникнуть. Возможности же б/к моторов, я считаю, надо использовать по максимуму.
Как общее пожелание это, конечно, бесспорно, но мы обсуждаем конкретно то, что в руках. Я как раз уверен, что использовать по максимуму те моторы, что я собираюсь ставить, ни в коем случае нельзя – слишком велик избыток мощности.
Защита от перегрузок механики прежде всего должна быть в голове
Это неправильная концепция для большинства устройств и нормального использования. Она применима лищь в особых условиях вроде соревнований, где все ставится на безошибочность и оптимальность действий участников.
Правильно в данном случае отслеживать напряжение и понижать возможную длительность импульса при опускании ниже порога (как на многих обычных ESC), но пропорционально по обоим каналам. Как защита от перегрузки можно ввести и пороговый контроль потребляемого тока (можно даже слегка увеличивать порог при понижении напряжения питания, но это перфекционизм). Плюс нужна обязательно индикация питания, ибо при большом запасе мощности легко не заметить приближение к концу емкости, тогда как в стандартной конфигурации это хорошо ощущается даже на подсознательном уровне.
Остановлюсь поподробнее на вышеизложенной идее регулировки тока - токовой защите посредством введения программной обратной связи по току.
Мне кажется, что необходимая система зависит от реальности конфигурации. В моем случае, когда моторы имеют по меньшей мере троекратный запас, беспокоится об их незначительной перегрузке излишне. Нужно ограничивать радикальную перегрузку, а также защищаться от нештатных случаев (блокировка лопастей или вала, короткое замыкание). При этом необязательна такая тонкая обратная связь, обычное двух-трех ступенчатое понижение макимального газа достаточно. Оно также обладает тем достоинством, что его срабатывание очевидно пилоту.
Но вот что делает защиту более эффективной – это отслеживание тока по каждому мотору отдельно. Я, например, сейчас ставлю по плавкому предохранителю в каждый из двух коллекторных моторов, а не один общий.