Контроллер для кордовых электричек

persey
lentyai:

Еще бы под них кто головки дизельные изготавливал, не у всех есть такие возможности.

Прошу прощения, Вы очевидно не в курсе предложенного метода конвертации в дизель с использованием “водопроводного метода”, который был подробно освещён в теме Расконсервация ЦСТКАМ2,5КР. Из материалов нужно: 1.Дохлая ГСК, 2.Водопроводный клапан от кран-буксы глухой, точеный-есть в продаже на рынках, 3.Листовой Д16 1,5мм, АМГ тоже пойдет. 4. Контр-винт от дохлого МАРЗа. Инструмент:1. Ножовка по металлу, 2. Дрель с 5мм и 10мм сверлом. 3. Метчик М6х0,75 №1 и №2. 4. Плоские и круглые напильники. 5. Мотивация, настроение, интерес к работе. 6. При наличии данных компонентов успех гарантирован. С Уважением.

Davron
persey:

отзывы очень нехорошие и смысла в приобретении

Эмиль, что же так отрезали, сами знаете как возникают отзывы, особенно если моторы попадают в руки баранов. Про Ваш метод конвертации мы все знаем, он заслуживает внимания. Но вот возникает вопрос у Ярослава, где взять ЦСТКАМ калилку, чтобы его потом переделать в дизель. У Ярослава по видимому появился источник этих дизелей, поэтому он и спрашивает про них. Ярослав, для того чтобы сделать дизельную головку по рецепту Эмиля, особо то и возможностей не надо, посмотрите тему еще раз. Лично мое мнение, мотор для детей нормальный, из разряда Марзов. В моем случае в кружке, весь тюнинг этого мотора заключался в герметизации сосущих устройств.

Владимир же, по сути, после своих доработок, от мотора оставил только название.

p/s пока писал, Эмиль уже технологию повторил

А чтобы любой мотор работал так как хочется, хоть Марз, КМД или даже Саито, нужно руками все равно залезть вот к примеру тоже что то ковырял

lentyai
persey:

Прошу прощения, Вы очевидно не в курсе предложенного метода конвертации в дизель с использованием “водопроводного метода”, который был подробно освещён в теме Расконсервация ЦСТКАМ2,5КР. Из материалов нужно: 1.Дохлая ГСК, 2.Водопроводный клапан от кран-буксы глухой, точеный-есть в продаже на рынках, 3.Листовой Д16 1,5мм, АМГ тоже пойдет. 4. Контр-винт от дохлого МАРЗа. Инструмент:1. Ножовка по металлу, 2. Дрель с 5мм и 10мм сверлом. 3. Метчик М6х0,75 №1 и №2. 4. Плоские и круглые напильники. 5. Мотивация, настроение, интерес к работе. 6. При наличии данных компонентов успех гарантирован. С Уважением.

Можно где почитать про этот метод? Честное слово первый раз прочел.

VTjr
Davron:

…Владимир же, по сути, после своих доработок, от мотора оставил только название. …

Ну почему же.😮 Ничего существенного я ведь на этом моторе не изменил.😛 Да и опорная шайба родная, жиклер, все еще у меня есть. Если его буду чистить для коллекции, то ее обратно сменю, и жиклер также на родной.😎
С родной шайбой, которую надо было очень сильно затягивать, чтобы на валу конус не проворачивался, я побаивался того, что вскоре у меня сорвется мелкая резба М6х0,75 в дюраллевом коке. А потом трудно прийдется, так как метчиков на эту резьбу у мена нет и не было, гайки такие тоже стандартно не продаются. В настоящее время метчики и плашки любых размеров конечно просто купить, хоть они и довольно дорогие, но в конце 80-х лет это было почти невозможно.

persey
persey:

Расконсервация ЦСТКАМ2,5КР

Это для Ярослава.
Для Володи вопрос, мотор в консервационной смазке?! С Уважением.

lentyai
Davron:

У Ярослава по видимому появился источник этих дизелей, поэтому он и спрашивает про них.
p/s пока писал, Эмиль уже технологию повторил

От части Davron прав, при разборке закормов Родины попался в руки мне такой, не помню, может у товарища в гараже среди моего барахла еще есть. Тут тема про ЦСТКАМы всплыла, в результате чего я имел неосторожность спросить, знал бы что на это будет такая реакция, промолчал бы.

persey
Davron:

особенно если моторы попадают в руки баранов.

Уважаемый Даврон, категорически не согласен! В книге Мерзликина прямо указано что вполне пригодный мотор был изуродован заводскими “руками технологических баранов”. Пользователи здесь не причём. С Уважением.

Davron
persey:

Пользователи здесь

Эмиль, я пользовал этот мотор, для чего мне Мерзилкин со своими руками?

Не раз подтверждался тот факт, что пока мы тут трепемся о том что хорошо, а что плохо, люди летают на том, что мы “эксперты” даже в руки не возьмем. Подъедте как нибудь на полетушки, посмотрите, люди ради прикола собрали бойцовку с Марзом, будете удивлены.

По этой теме я “пас” каждый при своем.

lentyai
Davron:

Но вот возникает вопрос у Ярослава, где взять ЦСТКАМ калилку, чтобы его потом переделать в дизель.

Такой проблемы нет, все что было из ЦСТКАМов и Тайфунов отдал пионерам в соседний город, это лучше, чем просто лежали у меня мертвым грузом. Мне КМД для занятий дома хватает.

Davron
lentyai:

Мне КМД для занятий дома хватает

По хорошему и его в соседний город, возьмите OS25fp, на ебэе часто попадаются, отличный мотор для “порезвиться”

persey
Davron:

для чего мне Мерзилкин со своими руками?

Даврон, на стр.109 привожу приведенные результаты цоканья “бараньих рук (копытцев)” заводских технологов. Я не удивляюсь о плохих отзывах людей которые не в состоянии исправлять горе-рационализацию. Просто Вы и Володя в состоянии, а другие нет. В принципе вешь купленная пользователем должна отрабатывать заявленные характеристики, в данном случае конечно этого не было, т.е. паспорт вероятно напечатан с эталонного образца, а серийные конечно до этого совсем не дотягивали, отсюда и отзывы. С Уважением.

lentyai
Davron:

По хорошему и его в соседний город

Низя МОЕ!!! Не ОТДАМ!!! Нам еще летать!

Davron:

возьмите OS25fp, на ебэе часто попадаются, отличный мотор для “порезвиться”

ОСы пока дороги, есть два нулячих АСП-25 для начала хватит, но надо еще на КМД налетаться, а тяжелая авиация ближе к лету, когда снег сойдет 😃

Olaf
persey:

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

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

У нас в моделке была первая партия ЦСТКАМ-2.5Д из 5 штук, пришла осенью 1976 года. Надо думать, без “социалистической рационализации” и с косыми окнами в цилиндре. Двигатель оказался слабее МК-12В, отсутствие подшипников на мощности сказалось очень сильно. Повоевали пару раз и больше мы их не использовали. Тем более, что одновременно пришла первая партия КМД.

Токсик

Привет всем!

Было и у нас так же штук 5 ЦСТКАМ-2.5Д.
Другого не было, а на чём то нуна было летать.
Посмотрели, померили. В картере было ещё мясо.
Выбрали вверх продолжение каналов. Мотор стал по шустрее и по стабильнее работать.

Всем пока, пока, пока.

persey

“люди ради прикола собрали бойцовку с Марзом, будете удивлены.”
Здравствуйте, вполне представляю, позвоните на полетушки по возможности, интересно посмотреть. Конструкция МАРЗа в отличие от ЦСТКАМа2,5Д технологами не уродовалась. Это хорошо видно-основные детали выполнены так как задумывалось конструктором, картер, гильза-поршень, шатун, золотник конструктивно выполнены вполне грамотно и логично. Другое дело что качество изготовления топорное, тут претензии уже не к технологам а к цеховым. МАРЗ не требовал улучшения самой конструкции, только снятие заусенцев, чистка, промывка. Иногда когда слишком тугой, дополнительная притирка поршневой и только. С Уважением.

VTjr
persey:

Это для Ярослава.
Для Володи вопрос, мотор в консервационной смазке?! С Уважением.

Как обычно в компрессионные моторы, немного смеси керосина и машинного масла.😉 Мотор лежит без дела уже более 6-ти лет, но проворачивается свободно (вчера его покрутил).😃
Но компрессия у него уже слабая, поэтому я его и заменил на тогда новый MVVS 2,5 DFR.
С тем я правда тоже немного замучился.😮 После 2000-го года 2,5-кубовым двигателям (особенно дизелям) в МВВС уже видно не уделяли нужного внимания,:) так что попался экземпляр требующий несколько доработок.
В первую очередь там был ужасно тесный контрик. Так что 3 раза я его выбивал и шлифовал, пока мне удалось его ослабить так, чтобы двигался нормально.
Потом пришлось сделать класическую футорку, так как мотор продавался с RC-карбом (тот я использовал для MVVS2,5GRR с которым до сих пор летаю с той радиоуправляемой пилотажкой).
И 3-я доработка, вернее уже надо назвать ремонтом, это было обнаружение наличия трещин в пластиковой задней крышке картера.😮 Мотор стал плохо заводиться, работал неустойчиво, и гадил мтораму маслом. Так что выточил новую из дюраля.
С тех пор мотор заводится отлично, работает стабильно, и не гадит.
Но в общем моя последняя покупка 2,5-кубового мотора от МВВС меня довольно разочаровала.😦 По сравнении с бывшим опытом с моторами МВВС, покупаемыми в 70-80-х годах, когда они не нуждались в никаких доработках, это было довольно круто, и думаю, что менне опытный моделист-моторист бы с ним не справился.
Грустно и то, что это был не единственный случай в последнее время. Я примерно 4 года тому назад использовал распродажу их калилок и приобрел за 1200 чешских крон (это примерно 3500 Руб.) один из последних выпускаемых экземпляров MVVS 4,6GFS/R. Там обнаружил тоже деффект - при затяжке пропелера, вал стал прокручиваться с натугой, при освобождении шел свободно. Дело в том, что опорная шайба давила на передний подшипник, потому что вал имел длинну толстой золотниковой части по нижнему допуску а картер видимо по верхнему. Конечно это было легко исправить, достаточно на утонченую часть носка вал за передний подшипник вложить тонкую прокладку 0,3мм. Но такие доводки должны делать на заводе, потоу что неопытный моделист бы уже во время обкатки угробил подшипники в следствии сильного осевого давления.
Видно китайская конкуренция на них уже настолько давила, что стало в смысле рационализации производства и снижения расходов, падать качество. Правда ону уж видимо были намерены закончить производзтво всех калилок, что наконец и сделали.😦 На данный момент на их сайте в продаже тоэко 12,7-кубовая калилка, осталные только бензиновые и электро двигатели.

persey:

Уважаемый Даврон, категорически не согласен! В книге Мерзликина прямо указано что вполне пригодный мотор был изуродован заводскими “руками технологических баранов”. Пользователи здесь не причём. С Уважением.

Эмиль, я конечно читал Мерзилкина.😎 Меня, именно в связи с этим мотором, заинтересовали те страницы, которые Вы здесь обнародовали.😉
Но читал его лишь пару лет назад, когда все эти книжные шедевры мог скачать с интернета. А в те времена, когда купил свой первый и последний ЦСКАМ-2,5Д, то о книге Мерзилкина не знал, но я сам добрался к тому, что каналы сделаны поганно:), и что с тем, что там пишут в описании (мол продувка Шнюрле😆) действительность не имеет много общего. Так что сам и занялся доработкой. Книги у меня, правда, были, прочитаные взад и наперед, от Филиппычева, Гаевского и две от Калины.😛
Как уже писал выше, дорабатывал каналы только в смысле разширения их сечения. Правда можно было (если бы у меня тогда была бормашина Дремель с нужными алмазными и наждачными наконечниками), распилить все окна немного вверх, и придать им нужную форму. Важно только то, что надо было бы распилить вверх и выхлопное окно, так как фаза выхлопа должна быть хоть чуть-чуть длиннее чем фаза продувки (выхлоп должен начинаться чуть раньше, иначе выхлопные газы устремятся в картер, что ослабит продувку - писал об этом, что бывала такая болезьнь Метеоров). Естественно, что такая доработка окон потребует, или утопить немного поглубже гильзу в картер (сточить торец рубашки цилиндра), или немного удлиннить шатун (то есть конечно сделать новый). Или можно и смирится с тем, что фазы как выхлопа, так и продувки будут немного шире. Это в конце концов при применении резонансных труб (ГДН) бы и не помешало - наоборот даже улучшило режим работы, хотя вроде 1/4-волновой “Мегик Мафлер” этого не требует, только 1/2-волновая длинная труба.

persey:

… Конструкция МАРЗа в отличие от ЦСТКАМа2,5Д технологами не уродовалась. …

Могу подтвердить. Тот МАРЗ, что получил от Вас меня порадовал высоким качеством производства.😎

persey

Шайбочку на вал требуют и некоторые КМД, я сообщал об этом, во всяком случае которые есть у меня один с шайбой, другой без. Длину ступеней на валах промерял, одинаковые до 0,1мм. Расточки картеров по глубине под носовой подшипник бывают разные. Шайба причем была явно установлена на заводе из твердой стали. Та же история с МК-12, правда с инверсией, наоборот вал обычно сильно гуляет в осевом направлении. Я это компенсировал подбором шайб под упорную шайбу винта, добиваясь гуляния в пределах 0,1-0,2мм для тепловой компенсации. Т.е. это не проблема, а вот доработка каналов это уже серьёзно, неопытный пользователь может просто испортить двигатель. С Уважением.

pavel_61

В моторе КМД диапазон шайб 0.8-1.2.
Или расточка картере или коленвал гулял.
Тепловой зазор желательно 0.3 выставлять.

VTjr
lentyai:

… Тут тема про ЦСТКАМы всплыла, в результате чего я имел неосторожность спросить, знал бы что на это будет такая реакция, промолчал бы.

Да ничего страшного не случилось 😎, мы ведь на любую тему насчет моторов поболтать любим.😆😆😆

Olaf
persey:

Конструкция МАРЗа в отличие от ЦСТКАМа2,5Д технологами не уродовалась. Это хорошо видно-основные детали выполнены так как задумывалось конструктором, картер, гильза-поршень, шатун, золотник конструктивно выполнены вполне грамотно и логично.

МАРЗ - это обезображенный МК-12В (Вебра Мах I). Лучше бы скопировали Вебру Мах II( Комета) с передним распределением или модифицировали сам МК-12В. Хоть один бы двигатель был со встречной продувкой с передним распределением и подшипниками качения в отечественной номенклатуре авиамодельного двигателестроения. Не пришлось бы бойцам резать передние кромки моделей под карбюратор. 😉

VTjr
Olaf:

… Вебру Мах II( Комета) …

Не понял:o, Комета - это ведь чистая копия Super Tigre G21/29 of 1954, с Веброй Мах 2 не имеет ничего общего. Может кроме переднего всасывания через вал. Кто не верит пусть прочитает здесь:P: adriansmodelaeroengines.com/catalog/main.php?cat_i… или посмотрит как выгладела Вебра Мах 2 например здесь: sceptreflight.net/…/Webra Mach II (2).html

Olaf:

… с передним распределением или модифицировали сам МК-12В. Хоть один бы двигатель был со встречной продувкой с передним распределением и подшипниками качения в отечественной номенклатуре авиамодельного двигателестроения. Не пришлось бы бойцам резать передние кромки моделей под карбюратор. 😉

Так таким мотором ведь был именно ЦСТКАМ 2,5КР, о котором здесь уже неоднократно шла речь.😒 Также многие даже довольно древние МВВСы (например калильный RL или компрессионный TRS с 1963-го года).

volli

Всем привет.
А кто нибудь может сказать- как выставить камеру на компрессионном двигателе? Понятно, что с обычным контриком это не сделать, а вот как это делают на гоночных моторах и современных форах и мастерах?

VTjr

В старом чехословацком журнале Modelář была публикована статья доработки Радуги-7 на дизельный вариант. Прилагаю чертежи из этой статьи. Текст к ним был коротенький, на чешском языке, переводить его целиком не имеет смысла, я только поясню из каких материалов изготовлены отдельные детали и еще кое-что к ним. Установка степени сжатья сделана не при помощи контр поршня в целом сечении цилиндра, как бывает у малых дизелей, а лишь малым латунным контриком значительно меньшего диаметра, который движется в цилиндрической полости стальной головки/днища цилиндра - деталь No.1, которая выполнена из стали (делали вроде без термообработки, но можно конечно и закалить и внутри полость для контрика отшлифовать). Контрик No. 3 выполнен из латуни, диаметр его должен быть такой, чтобы он входил в полость головки No.1 на плотную посадку +0,01мм. Рубашка головки с охладительным ребрами No.2 выполнена из дюраля, в ней просверлено 6 отверстий с посадкой, совпадающих с положением резьбовых отверстий в картере для крепежных винтов. Регулировочный винт/гайка No.4 выполнен также из латуни, резба М5 в нем (и также на контрике No.3) желательно левая. Но если будет и правая, не беда, только тогда смысл его вращения при регулировке компрессии будет непривычным, обратным. Наконец рычаг No.5 выполнен из стали и плотно впрессован в регулировочный винт No.4.
Конечно эту схему надо приспособить для размеров деталей конкретного двигателя.

VTjr
Olaf:

… Хоть один бы двигатель был … с передним распределением … Не пришлось бы бойцам резать передние кромки моделей под карбюратор. 😉

Кстати, меня всегда немного удивляла любовь советских конструкторов/производителей к концепции модельных ДВС с задним всасыванием.😮 То что в других странах (фирмах) было скорее в виде исключения, для особо мощных, гоночных двигателей, то было в СССР практически стандартом. Могу называть постепенно по очереди МК-16, МК-17, МК-12С, МК-12В, Ритм, КМД-2,5, МАРЗ, из редких спортивных например Союз-2, Ж-88, МДА-2,5, или даже древние конструкции Филиппычева как Комар и Шмель, Гаевского МБ-09, итд.😵 Думаю никде в мире не были в ширпотребе столь распространеные моторы с задним всасыванием. В любом случае на Западе, хобийные моторы для ширпотреба были почти как правило всегда с всасыванием передним.😉
Но даже такой аргумент, что именно с задним всасыванием можно добиться более высоких мощностных показателей, это не совсем оправдывает.😃 Ведь например в свое время самый лучший скоростной 2,5-кубовый двигатель ROSSI.15/FI-ABC был также с передним всасыванием через коленчатый вал.😛

vbrf
VTjr:

меня всегда немного удивляла любовь советских

А может просто из соображений ТБ? - Поберечь детские пальчики при настройке жиклера. Отсюда и “любовь” к длинным носкам МК-16, МК-17, тех же Йен и в последствии КМД (про длинный носок - как удобство - было даже в советской модельной печати). Это уж опосля, ближе к нам, стали обычными выносные иглы позади мотора (а в каком-то из древних журналов вроде попадалось описание самодельной такой иглы).

ipopov
Маркс:
  • увеличить нагрузку на мотор, установленный на стенде

грузить генератором (любой маленький эл двигатель на магнитах)

Маркс

не представляю как

если имеется в виду, присоединение к валу другого мотора в качестве генератора,
то совсем не вариант, моторчик в наличии только один, да и очень маленький )

сегодня попробую “притормаживать” с помощью ватки на конце зубочистки,
теоретически должно сработать.

RandomJ

Регулируемый источник питания нужен для настройки " батарейка садится а обороты держим"
А для нагрузки двигателя цепляем ему на вал такой же моторчик (или мощнее) в качестве генератора, к генератору цепляем выпрямитель (трёхфазный выпрямитель Ларионова) и к выпрямителю цепляем нужное количество лампочек. Количеством лампочек регулируем нагрузку на двигатель.

Маркс
RandomJ:

Регулируемый источник питания нужен для настройки " батарейка садится а обороты держим"

Ардуинке фиолетово, по какой причине начали падать/расти обороты мотора,
то ли это изменение напряжения, толи изменение нагрузки на мотор,
метод увеличения/снижения оборотов только один, увеличить/уменьшить длительность PWM на входе регулятора.

Маркс

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



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

эти всплески “вниз” влияют на работу регулировки оборотов

Маркс

в общем предстоит подумать над фильтром помех,
которые периодически проскакивают через операционный усилитель.
попробую поиграть с RC цепочкой.

честно говоря, совсем не ожидал такого течения событий ))

Маркс

проанализировал данные о длительности импульсов с кросс платы на Ардуинку,
в итоге понял, что не в фильтре дело, начал писать “оконный” фильтр,

принцип простой, берется восемь (число может быть любым) последовательных значений,
восемь удобно, потому как на восемь делить просто, сдвиг на 3 разряда в право ),
вычисляется среднее арифметическое (то самое деление суммы на восемь)
и следующее значение сравнивается с результатом деления,
если отличие больше чем на Х процентов, по моим прикидка надо сделать 25 процентов,
(это как раз деление на 4, т.е. сдвиг на два разряда), то данное значение отбрасывается.
если значение попадает в диапазон ±25 процентов от среднего в массиве,
его сохраняем в массив последним, а первое значение в массиве выбывает.

очень надеюсь, что к выходным гувернер заработает

Маркс

Мне на почту Сергей Андреев прислал еще один метод измерения оборотов.
Но связан он с достаточно серьезной доработкой мотора

Геннадий, доброго дня! давно не читал страничку форума про контроллер, тов заглянул. ребята возможно копают там слишком глубоко и не в том направлении. нужно много знать про мотор чтобы просто измерять обороты для последующей обработки, так как все будет изменяться от мотора к мотору. получается решение оч персонализированное.
наверное не буду оригинальным, сказав что Игорь Бургер, так сказать один из тех кто родоначальник и на практике давно эффективно использует такие девайсы, решает вопросы оч просто, поставив на планшайбу мотора и стационарное кольцо секцию из датчиков холла, получив таким образом энкодер, который тупо все считает, очень точно и прям сейчас. потом все логи и данные получаются у него записанными и их можно корректировать для следующих полетов. возможно это простое решение и по эффективности возможно лучшее
на сколько я понял, эта сборка стоит у него прямо в/на моторе

Маркс

Все оказалось немножко сложнее, чем выглядит на первый взгляд.

Вариант “кольцевой буфер” с последовательной записью всех данных работает.
но из за попадания в буфер ошибочных данных, выпадают целые обороты мотора.
не сильно критично, но не приятно, это может составлять до 0,1 секунды.

если в буфер помещать только данные без ошибок, возникает коллизия
никак не получается обойти “неопределенное состояние”, это самое начало работы мотора,
когда мотор только начинает крутится, данные идут совсем хаотичные.
И при резком изменении оборотов, то же самое, гувернер вырубается.
Он тупо не понимает, какие данные верные, а какие с ошибкой.

VitalikV

А нам для гувернера, на сколько нужно считать обороты? Можно привязаться к каким либо другим параметрам, которые прямо или обратно пропорциональны оборотам? Например KV , известен, количество банок аккумулятора тоже. Напряжение на фазе при изменении нагрузки меняется, или всегда постоянно?

Что касается датчика холла расположенного среди других магнитов, внутри мотора, или рядом с ним, как то сомнительно. Надо датчик и магнит, по которому считаются обороты, выносить за пределы магнитного поля мотора… Или делать как на машине, на коленвалу, зубчатый шкив из магнитного сплава и по зубцам считать обороты

Маркс

напряжение меняется, но не сильно.
там не столько меняется напряжение, сколько амплитуда и частота


на этих графиках видно. желтые это фазовые сигналы при разных оборотах

надо еще подумать, если пойму откуда лишние импульсы на выходе ОУ,
может получится с ними побороться без программных изысков

VitalikV

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

Такое может быть? Или у меня фантазия разыгралась уже?))))

VitalikV

Скетч от простейшего регулятора на Атмеге, может чем поможет …

// Управление бесколлекторным двигателем постоянного тока без датчиков на ATmega48 #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/wdt.h>

// Фаза U(Верхнее плечо) #define UH_ON TCCR2A |= (1 << COM2A1); #define UH_OFF TCCR2A &= ~(1 << COM2A1);

// Фаза U(Нижнее плечо) #define UL_ON PORTB |= (1 << PB5); #define UL_OFF PORTB &= ~(1 << PB5);

// Фаза V(Верхнее плечо) #define VH_ON TCCR1A |= (1 << COM1B1); #define VH_OFF TCCR1A &= ~(1 << COM1B1);

// Фаза V(Нижнее плечо) #define VL_ON PORTB |= (1 << PB4); #define VL_OFF PORTB &= ~(1 << PB4);

// Фаза W(Верхнее плечо) #define WH_ON TCCR1A |= (1 << COM1A1); #define WH_OFF TCCR1A &= ~(1 << COM1A1);

// Фаза W(Нижнее плечо) #define WL_ON PORTB |= (1 << PB0); #define WL_OFF PORTB &= ~(1 << PB0);

#define PHASE_ALL_OFF UH_OFF;UL_OFF;VH_OFF;VL_OFF;WH_OFF;WL_OFF;

#define SENSE_U ADMUX = 0; // Вход обратной ЭДС фазы U #define SENSE_V ADMUX = 1; // Вход обратной ЭДС фазы V #define SENSE_W ADMUX = 2; // Вход обратной ЭДС фазы W

#define SENSE_UVW (ACSR&(1 << ACO)) // Выход компаратора

#define START_PWM 50 // Минимальный ШИМ при запуске

unsigned char position, speed; volatile unsigned char commutation_step = 0; volatile unsigned char rotor_run = 0; // Счетчик импульсов обратной ЭДС

// Крутим по часовой стрелке void commutation(char startup) { switch (commutation_step) { case (0): if(!SENSE_UVW || startup) { UH_ON; // На фазе U - ШИМ WH_OFF; // Фаза W отключена SENSE_W; // Активируем вход фазы W commutation_step = 1; // Следующий шаг TCNT0 = 0; // Обнуляем счетчик T1 } break;

    case (1):
        if(SENSE_UVW || startup)
        {
            VL_OFF; // На фазе V - лог. 0
            WL_ON;  // На Фазе W - лог. 1
            SENSE_V; // Активируем вход фазы V
            commutation_step = 2;
            TCNT0 = 0; // Обнуляем счетчик T1
        }
        break;

    case (2):
        if(!SENSE_UVW || startup)
        {
            UH_OFF; // Фаза U отключена
            VH_ON;  // На фазе V - ШИМ
            SENSE_U; // Активируем вход фазы U
            commutation_step = 3;
            TCNT0 = 0; // Обнуляем счетчик T1
        }
        break;
 
    case (3):
        if(SENSE_UVW || startup)
        {
            UL_ON;  // На фазе U - лог. 1
            WL_OFF; // На Фаза W - лог. 0
            SENSE_W; // Активируем вход фазы W
            commutation_step = 4;
            TCNT0 = 0; // Обнуляем счетчик T1
        }
        break;

    case (4):
        if(!SENSE_UVW || startup)
        {
            VH_OFF;  // Фаза V отключена
            WH_ON;   // На фазе W - ШИМ
            SENSE_V; // Активируем вход фазы V
            commutation_step = 5;
            TCNT0 = 0; // Обнуляем счетчик T1
        }
        break;

    case (5):
        if(SENSE_UVW || startup)
        {
            UL_OFF; // На фазе U - лог. 0
            VL_ON;  // На Фазе V - лог. 1
            SENSE_U; // Активируем вход фазы U
            commutation_step = 0;
            TCNT0 = 0; // Обнуляем счетчик T1
        }
        break;
}

}

// Обработчик прерывания по компаратору. Детектор обратной ЭДС ISR(ANALOG_COMP_vect) { if(rotor_run == 200) commutation(0); rotor_run++; if(rotor_run > 200) { rotor_run = 200; wdt_reset(); } }

// Обработчик прерывания по переполнению Т0. Работа двигателя без сигналов обратной ЭДС ISR(TIMER0_OVF_vect) {
commutation(1); // Если сработало прерывание, есть пропуски импульсов обратной ЭДС rotor_run = 0; // Сбрасываем счетчик импульсов OCR1A = START_PWM; // ШИМ минимум OCR1B = START_PWM; OCR2A = START_PWM; }

int main( void ) { //Watchdog on wdt_enable(WDTO_1S);

// Порты ввода/вывода DDRB = 0xFF; // Порт B - выход PORTB = 0x00;

// T0 - для старта и работы двигателя без сигналов обратной ЭДС TCCR0A = 0; TCCR0B = 0; TCCR0B |= (1 << CS02)|(1 << CS00); // Предделитель на 1024 TIMSK0 |= (1 << TOIE0); // Разрешаем прерывание по переполнению T0

// T1 и T2 ШИМ TCCR1A |= (1 << WGM10); // Режим Fast PWM, 8-bit TCCR1B |= (1 << CS10)|(1 << WGM12); // Без предделителя

TCCR2A |= (1 << COM2A1)| // Сброс вывода OC2A при совпадении (1 << WGM21)|(1 << WGM20); // Режим Fast PWM TCCR2B |= (1 << CS20); // Без предделителя

PHASE_ALL_OFF; // Выключаем все фазы

ADCSRB |= (1 << ACME); // Отрицательный вход компаратора подключаем к выходу мультиплексора АЦП DIDR1 |= (1 << AIN0D);

sei(); // Глобально разрешаем прерывания

while(1) { cli(); position = ADMUX; // Сохраняем позицию ротора в буфер ADMUX = (1 << MUX1)|(1 << MUX0); // Вход ADC3
ADCSRA |= (1 << ADEN) | (1 << ADPS1)|(1 << ADPS0); // Разрешаем АЦП, предделитель на 8 ADCSRA |= (1 << ADSC); // Запускаем преобразование АЦП while(ADCSRA & (1 << ADSC)){}; // Ждем окончания преобразования speed = ADC/4; ADCSRA = 0; // Выключаем АЦП ADCSRB = 0; ADCSRB |= (1 << ACME); // Отрицательный вход компаратора подключаем к выходу мультиплексора АЦП ADMUX = position; sei();

if(speed > START_PWM) { ACSR |= (1 << ACIE); // Разрешаем прерывание от компаратора TIMSK0 |= (1 << TOIE0); // Разрешаем прерывание по переполнению T0

if(rotor_run == 200) { // Если импульсы обратной ЭДС присутствуют, крутим наполную OCR1A = speed; OCR1B = speed; // Изменяем ШИМ OCR2A = speed; } } else { PHASE_ALL_OFF; // Все фазы выключены ACSR &= ~(1 << ACIE); // Запрещаем прерывание от компаратора TIMSK0 &= ~(1 << TOIE0); // Запрещаем прерывание по переполнению T0 }

} }

Маркс

Это маловероятно,
я совсем забыл, что в моей схеме ОУ работает без обратной связи, в режиме насыщения,
с Ку (коэф. усиления) стремящемся к бесконечности (в идеале)
А некоторые ОУ в таком режиме, при стечении обстоятельств в виде совпадения “сигналов на входах”
могут кратковременно “переворачивать” (инвертировать) сигнал на выходе.

как варианты

  • забить и продолжить изыскания в области программной фильтрации ошибочных данных
  • взять другую модель ОУ, не факт что поможет, ЕМНИП в больше или меньшей степени этому подвержены все ОУ
  • добавить обратную связь, для уменьшения Ку, тогда придется сразу прикручивать и формирователь сигнала, потому как на выходе ОУ будет синусоида, что усложнит схему, но совсем не факт, что вылечит )

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

Маркс

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

и пронаблюдал траблу на осциллографе.

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

на макетке купировать удалось, скорее всего не на 100 процентов,
но процентов 85 помех не пропустить на вход МК удалось,
а это значит, что количество ошибочных данных уменьшится на порядок.

Маркс

ну и вот, на выходе имеем первое приближение

Гувернер на базе Ардуино Нано.
Датчик оборотов пока собран на макетной плате.
Требуемые обороты в программе указываются в оборотах/минуту.

В программе установлено две полки оборотов, 2000 и 3000.
После старта гувернеру передается команда на установку оборотов 2000 об/минуту,
через пять секунд посылается новая команда - 3000 об/мин
и еще через пять секунд новая команда - 2000 об/минуту.
Все остальное делает программа.

2000 и 3000 проверял оптическим тахометром, все в пределах погрешности, заложенной в программе,
на данный момент это примерно 6 процентов, но что то мне подсказывает, что дельту можно убрать.

Сегодня поменяю конденсаторы на прототипе кросс платы и она должна заработать так же )

Собственно говоря, регулировка построена на изменении длительности сигнала PWM на входе регулятора,
на основании данных с датчика оборотов мотора, построенного на операционном усилителе.
Датчик фиксирует прохождение обмоток регулятора над магнитами.

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

Маркс

в общем прототип тоже работает,
осталось причесать программу и можно встраивать в таймер

Маркс

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

VitalikV

Пару диодов можно, а вот кнопку, которая со временем начнет звинеть, думаю не надо…

Маркс
VitalikV:

которая со временем начнет звинеть,

это маловероятное явление, звон возможен только в момент нажатия/отпускания,
кроме того, количество срабатываний на отказ у кнопок достаточно велико,
в том числе и у китайских.
у меня Уно уже лет десять работает, кнопку Reset топтал не меренное количество раз )

VitalikV

А зачем эта кнопка нужна на кросс плате? Есть штатная кнопка на ардуино. Так же кнопка нужна на корпусе модели, тем более если модель объемная и мотор под капотом.

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

VitalikV

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

А вот гироскоп наверное имеет смысл размещать по центру тяжести модели. Хотя и не обязательно.

Маркс
VitalikV:

А зачем эта кнопка нужна на кросс плате? Есть штатная кнопка на ардуино.

штатная - RESET, от нее ни тепло ни холодно, да и закрыта она росс платой получается.
а нужна кнопка управления, старт-стоп ну и мало ли что еще.

VitalikV:

отключения гироскопа, гувернера

режим без GYRO и GOVER будет, как и без одного из них,
но предстоит разобраться с логикой

VitalikV:

Кстати на счет акселерометра

MPU6050 - это 3-х осевой гироскоп + 3-х осевой акселерометр

VitalikV:

А вот гироскоп наверное имеет смысл размещать по центру тяжести модели.

нет никакого смысла, его задача угол тангажа измерять не более того