Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/88: Рейтинг темы: голосов - 88, средняя оценка - 4.72
I-Sot
1

Перепрограммирование квадрокоптера с STM8S005К6

14.06.2015, 01:28. Просмотров 16218. Ответов 11
Метки нет (Все метки)

Всем добрый вечер!

Начну с того, что в микроконтроллерах я полный новичок (разве что пару лет назад собирал градусник LCD-дисплеем на Ардуино, но это не считаю за достижение), как и в программировании в целом (не считая продвинутого уровня в написании макросов в экселе, но это все обязывает профессия и тоже особо делу не поможет, наверное), потому все нижеизложенное может, наверное, вызвать неописуемый баттхерт и тонны ненависти ввиду стандартного "хочу-но-не-знаю-как-помогите", так что заранее за это извиняюсь.

Позавчера попал в руки игрушечный квадрокоптер на радиоуправлении (http://www.hamleys.com/hamleys-rc-mini-drone.ir - совсем игрушечный, далеко не AR Drome). Из плюсов разве что небольшой размер, можно спокойно летать по квартире из комнаты в комнату. Интереса хватило ровно на 1.5 дня, после этого просто летать уже стало скучно. И вот тут-то и появилась "как всегда гениальная идея" - перепрограммировать этот квадрокоптер на самостоятельный полет (из угла в угол на средней высоте). Все интереснее, чем управлять самому, имхо.

"Разобрав" этот вертолетик (картинки начинки ниже, хотя качество, наверное, не очень), обнаружил, что его мозг - STM8S005K6. Пульт пока не разбирал за ненадобностью, так как предположил, что гироскоп и акселерометр должны находиться на борту квадрокоптера (хотя могу и ошибаться).

После определения микрочипа появился извечный великий вопрос: "Что делать (дальше)?". Вопрос слишком широкий и всеобъемлющий, чтобы задавать его именно в таком виде, потому я постараюсь перевести его в три вопроса поменьше, по которым, я надеюсь, вы сможете меня проконсультировать, за что я был бы очень признателен и благодарен.

1. Реально ли в целом исполнение задуманного проекта? Может у кого-то был похожий опыт?
2. Если исполнение реально, то будет ли возможно просмотреть/сохранить код (при условии, что он не запротекчен производителем), который уже залит на микрочип квадрокоптера, для последующей реверсивной инженерии? Соответственно, возможно ли будет его выгрузить/конвертировать в С, например (о котором есть хоть 1% представления, после "работы" с Ардуино). В качестве программатора планирую использовать ST/Link V2 Mini (http://www.wvshare.com/product/ST-LINK-V2-mini-STM8.htm)
3. Возможно ли соединение микрочипа с программатором без отрывания первого от платы квадрокоптера? Или же его придется оторвать и подключить, скажем, через макетную доску? На передней стороне платы квадрокоптера (нижняя правая сторона) находятся три свободных пина, которые (опять же, ничем не аругментированное предположение), как я полагаю, служат для подключения к микрочипу (левые верхние два пина ведут к светодиоду, закрепленному на корпусе). С другой стороны, судя по описанию предоставленного выше программатора, для подключения необходимо четыре пина, так что возможно я и ошибаюсь.

Вот, наверное, и все. На данный момент это три основных вопроса, неимение ответов на которые останавливает от дальнейших действий (покупка программатора, отсоединение микрочипа и т.д.). Буду очень благодарен за помощь/советы, предоставленные по этой теме!

Всем хорошего вечера


<Изображение удалено>

<Изображение удалено>
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2015, 01:28
Ответы с готовыми решениями:

Перепрограммирование микроконтроллера от USB камеры
Можно ли перепрограммировать микроконтроллер от обычной USB-камеры т.е. использовать только часть...

Захват шим с rc-приемника для квадрокоптера
Хочу написать радиоперехватчик под stm32f103 для коптера. Нужно принять 4 шим сигнала -газ, крен,...

CHDK. Перепрограммирование фотоаппаратов
Есть ли здесь люди, увлечённые перепрограммированием фотоаппаратов? Эта направление обычно...

Полное перепрограммирование iPhone
Здравствуйте! Меня интересует вот такой вопрос, можно ли полностью перепрограммировать iPhone что...

11
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,406
14.06.2015, 09:59 2
99.99%, что чип залочен.
Да и нафиг нужна эта китайская прошивка, когда свою лучше сделать?
И да: если есть желание сделать свой квадрокоптер, то лучше бы взять STM32. И желательно с аппаратным ftoot, т.к. очень много надо будет считать всяких синусов-косинусов.
В данном случае, т.к. игрушка мелкая, скорее всего всю логику сделали целочисленной с привязкой к выхлопу конкретных датчиков.
0
I-Sot
14.06.2015, 12:32 3
Здравствуйте, Iddy_Im,

Мысль о том, что микрочип залочен, конечно же была. В связи с этим также была идея обратиться к компании-производителю, описать ситуацию и вежливо попросить получить доступ к чипу (хотя, опять же, 99.99%, что меня пошлют нафиг, но, как говорится, не попробуешь - не узнаешь).

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

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

Насчет того, чтобы строить квадрокоптер с нуля, тоже пока речи не идет, ввиду отсутствия знаний микроэлектроники и программирования, но может быть в будущем, при наличии свободного времени, дойду и до этого =)

Спасибо!
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
14.06.2015, 12:58 4
Да на самом деле всё проще, можно взять китайский клон любого полётного контроллера под который есть рабочие и активно развивающиеся проекты с открытым кодом. Там и пайки то почти нет, кроме силовых проводов. Но к сожалению ваш аппарат врятли потянет его по весу, темболее что и приёмник нужен будет отдельный, да и пультом обзавестись придётся. Но зато открытый и даже местами документированный код.
0
I-Sot
14.06.2015, 13:22 5
Здравствуйте, mShit,

Идея как раз в том, чтобы совсем отказаться пульта управления и получить домашний игрушечный БПЛА =)

То есть, в своем абсолютно дилетантском представлении я вижу первоначальное исполнение (в виде кода, к примеру) таким:

1. Задать на все четыре мотора определенное напряжение для поддержки постоянного уровня высоты.
2. С одинаковыми временными интервалами повышать/понижать напряжение на разные моторы для обеспечения движения.
3. Зациклить все это до момента полного расхода заряда батареи.

При этом все расчеты проводить на практике и на глаз. Следовательно, первоначальный этап - просто заставить квадрокоптер взлететь на определенную высоту после подключения батареи и висеть на месте. О стабилизации полета с помощью гироскопа пока не говорю, так как еще не вникал в эту тему.

Опять же, основной вопрос стоит в том, возможно ли это сделать, а не как это сделать. То есть я не прошу готового решения, скорее правильного направления в нужную сторону (ну или же аргументов, почему это невозможно и лучше вообще на это дело забить ;))

Спасибо!
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,406
14.06.2015, 14:32 6
Беспилотник — это же совсем другой уровень. Как контролировать препятствия? А то он у вас полетит до ближайшей китайской вазе, и объясняй потом жене, что не нарочно...
Для беспилотников уже чуть ли не полноценный компьютер нужен. Лучше начать с дистанционного управления.
0
I-Sot
14.06.2015, 14:39 7
О настолько продвинутой версии БПЛА, который бы сам облетал жену и китайские вазы (ни первого, ни второго, кстати, в наличии не имеется, так что уже на две проблемы меньше ;), речи, конечно же, не идет, что вы. Исключительно "взлететь - метр влево х4 раза", при это летное пространство будет свободным. И, опять же, достигнуть всего это только путем запрограммированного изменения вращения винтов - никаких сенсоров, искусственного интеллекта и т.д. Исключительно механика, если можно так выразиться.
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,406
14.06.2015, 15:00 8
Без сенсоров не взлетит. Абсолютно одинаково ваши пропеллеры крутиться не будут, так что, без гироскопа и акселерометра это будут какие-то пируэты, а не плавный полет.
0
I-Sot
14.06.2015, 15:06 9
Про сенсоры - это я больше про облет препятствий имел ввиду, но не совсем в том месте про них написал, это верно :)
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
14.06.2015, 16:54 10
Цитата Сообщение от I-Sot
Мысль о том, что микрочип залочен, конечно же была.
...
Касательно прошивки - исключительно для того, чтобы посмотреть, что, как и за что отвечает, и попробовать это реплицировать/переделать. Как я писал выше, навыков в программировании у меня нет, но логика вроде бы работает ;)
Ну допустим чип не залочен, и вам удалось слить прошивку, а что дальше? Бинарник это ведь даже не программа на асме - ни комментариев, ни каких внятных названий там не будет...
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
14.06.2015, 17:17 11
Помимо гироскопа с акселерометром для удержания горизонта нужен будет как минимум датчик высоты, без него аппарат или сядет на пол или упрётся в потолок. И барометр для комнатных применений не самый удачный вариант, ультразвуковой дальнометр будет лучше. Но как тут уже говорили, даже если будет прошивка с ней ничего не сделать, темболее новичку. Алгоритмы там сложные, с серьёзной математикой, в исходниках с коментариями непросто разобраться.
0
I-Sot
14.06.2015, 17:36 12
Большое спасибо за предоставленные комментарии. Значит затея была обречена на провал, потому не буду этим заниматься =) Вместо этого начну читать статьи/учебники и, возможно, попробую собрать квадрокоптер самостоятельно, например на Arduino Momo.

Еще раз всем спасибо за потраченное время!
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2015, 17:36

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

Перепрограммирование микрочипа биоса
всем привет. как перепрограммировать микрочип биоса? без программатора. я слышал что можно это...

Перепрограммирование платы ардуино
Есть плата ардуино на Atmega328. В своё время на нужные пины платы подрубил JTAG и сделал...

Перепрограммирование счетчика ТИЦ
Доброе время суток! Люди скажите, можно ли счетчик тиц изменить так чтобы он показывал более мелкие...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.