Телеметрия (часть 1)
Когда придется, попрошу помощи, ничего?
Чем смогу - помогу.
Кстати, вчера вбил в код (прошивка v225, пока не выкладываю) следующие изменения…
Просьба - раз проект открытый, то выкладывайте вместе с бинарником исходники к каждой версии, пожалуйста.
- Для запуска бутлодера нужна кнопка на ресете и некая кнопка HWB, чтобы после ресета бутлодер понял, что его хотят, и не передавал управление основному коду.
А если сделать так: предусмотреть в программе парсинг некоторой команды (ну сделан же уже парсинг NMEA предложений, как я понимаю). Так вот - добавить какую нибудь команду, по приёму которой будет происходить сброс мк (с переходом на bootloader) - и никаких тебе кнопочек!
Э… а что за кей-то? Это готовое устройство?
Блин. Я уже раза два ссылку давал: http://www.atmel.com/dyn/products/tools_ca…mp;tool_id=3879
В москве он 1000р стОит, в той же тере есть.
AT90USBKey Hardware User Guide - там всё расписано с картинками.
А если сделать так: предусмотреть в программе парсинг некоторой команды (ну сделан же уже парсинг NMEA предложений, как я понимаю). Так вот - добавить какую нибудь команду, по приёму которой будет происходить сброс мк (с переходом на bootloader) - и никаких тебе кнопочек!
Теоретически возможно. Оперативка AVR после ресета не ресетится, а сохраняет данные. Вполне можно поместить в ячейку байт (флажок) опосля чего вызвать ресет (вачдог + долгий цикл). Не помню, есть ли исходники бутлодеров на атмеле… Хексы точно есть.
Не, исходников нет 😦
Прошу прощения,никого не хотел обидеть, это я на радостях! Я же готов поделиться инфой по теме, а не звездами на крыльях меряться!
www.microsyl.com <- там bootloader есть неплохой, удобный, барометр и еще кое-че интересного.
ADP1111 - импульсник, к нему из довесков только дроссель нужен. Надоели 7805- греются, жгут батарейки!
- Почему видео по человечески на SPI не вывел? Нелюдь!
Изначально SPI не рассматривался по причине молодости и неопытности, а сейчас он будет занят связью со второй платой.
А если 32-ю… Там TWI есче есть его то и соединять с ARM7 скажем. Круто?
ARM - необоснованно круто. И по цене, и по возможностям
SPI- на видео, TWI- на вторую плату!!!
ARM - не так уж и круто- кристаллы лепят все кому не лень. Ядра одинаковые, периферия разная, особенно реализация. Может быть такая кривая! (Кривее, чем у Texas Instr. не видел!)
Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!
Megой всётаки лучше дату собирать, и первичную обработку делать. Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”
Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.
А зачем вообще USB тут нужен?(бытовой интерфейс- нельзя ему доверять- ибо непонятно во сколько ты дату получишь- вечная проблема).
Мой ноутбук-не самый- самый- на солнце не видно, да и аккумулятора на час всего хватает.
В моем варианте LCD графический подкл к борту+ 4 кнопки(войти, выйти,+,-)<-- маленькое все и не жалко, а как на солнце видно хорошо!
А чего там изучать? На сайте атмела лежат готовые хексы. Заливаете в МК и всё. В дальнейшем перепрошивку делает сам контроллер через какой-то порт.
Есть два НО:
- Для запуска бутлодера нужна кнопка на ресете и некая кнопка HWB, чтобы после ресета бутлодер понял, что его хотят, и не передавал управление основному коду.
- Бутлодер в чип таки надо вливать внешним программатором 😦 Кроме того, атмельские бутлодеры любят иногда “слетать”, что требует переодической полной перепрошивки чипа.
По этому я и ратую за кей. Там бутлодер с рождения и куча всего распаяно.
Чтоб не слетали- BLB10-BLB12=0
Блин. Я уже раза два ссылку давал: http://www.atmel.com/dyn/products/tools_ca…mp;tool_id=3879
В москве он 1000р стОит, в той же тере есть.
AT90USBKey Hardware User Guide - там всё расписано с картинками.Теоретически возможно. Оперативка AVR после ресета не ресетится, а сохраняет данные. Вполне можно поместить в ячейку байт (флажок) опосля чего вызвать ресет (вачдог + долгий цикл). Не помню, есть ли исходники бутлодеров на атмеле… Хексы точно есть.
Не, исходников нет 😦
См. www.microsyl.com
ну значит нас обманули, пишут безинерционные… и можно ставить на подвижные обьекты…
пока лазил читал про них нашел 4 вида констркции.
гироскоп
продвинутый акселометр
жидкость
магнитный вектор(не понял как работает)эхх… интересно былобы в руках повертеть…
С гироскопом понятно наверное!
Акселерометрический считает исходя из земного ускорения свободного падения (измеряет по XY, или XYZ) вектор перпендикулярен поверхности. (ADXL серия AnalogDevices)
Магнитный- та же байда, “только в профиль” линии напряженности магнитного поля, в идеале, параллельны поверхности земли(HMC-xxxx HONEYWELL)
жидкость- пузырек с маслом, плавает зеркальце, на него светодиодики светят. Оптическая мышь утопилась!
По отдельности это все редко используется- только в комплексе.(HONEYWELL, DYNON EFIS-EICAS)
Вообщем на HONEYWELL зачитаться можно- рекомендую!
МОИ ВОПРОСЫ!!!
А есть тут кто на вертолетах летающий?
Исходя из моих познаний в самолетовождении, компас нужен полюбасу. Самолет не может не двигаться-можно GPS использовать, на вертолет надо ставить что-то. Я схемку накидал на HMC1021- чегой-то слишком все серьезно получилось- одних деталек на тыщу р. и паять лень такое хозяйство. Опять- же в комплекс надо ADXL завязывать (акселерометр XY).
Есть предложения?
Кто может сдизайнить приборы в поле 128х128?
Я анимировать и засунуть могу- только дизайнер из меня никакой 😦
На закуску выписка:
"В любом полете должны соблюдаться общие правила самолётовождения, их три:
- Постоянный контроль за курсом, скоростью, высотой и временем полёта, остатком топлива;
- сохранение ориентировки в любом полете, в том числе и при наведении с земли;
- своевременное исправление отклонений от линии заданного пути."
вражеский GPS- не нужен 😎
Покритиковать- это всегда пожалуйста: в широко известном (в узких кругах) Micropilot 2028, который продается уже лет 5, используется УЗ высотомер до 20 ft (6м).
Сделан он на одной “таблетке”, надо думать: и передатчики и приемник.
Но посадка с его применением- душераздирающее зрелище : видел живьем один раз- до сих пор трясет 😃
Порывчик ветра, камушек- любая помеха : самолет в починку.
Тупая электроника не может адекватно угрозе (то есть чуть- чуть) “сыграть” рулями.
И садиться в этом режиме можно только на поверхность класса F1, желательно- помытую шампунем 😃
Кроме того- показания УЗ высотомера очень будут зависеть не только от температуры, но и от характера поверхности (трава- один коэффициент отражения, асфальт- совсем другой )
Ага, согласен полностью! Видел тут кино про X47 Boeing`а, который они учат на авианосец садиться. Там один из создателей дико ругался по поводу “бесстрашности” компьютеров- не боятся они ничего!
>Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!
Да прям уж 😃 Чего там страшного? Пропускной способности не хватит? Трудности в реализации?
>Megой всётаки лучше дату собирать, и первичную обработку делать.
Ну, так и делается.
>Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”
Ну правда, не дорос я еще до ARM. Зачем таскать на борту полноценный 32-битный компук?
>Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.
128й (ее аналога с аппаратным USB-) с запасом хватит для написания нормальной математики с плавающей точкой на Сях, неужели не так? 😃
>А зачем вообще USB тут нужен?(бытовой интерфейс- нельзя ему доверять- ибо непонятно во сколько ты дату получишь- вечная проблема).
Мой ноутбук-не самый- самый- на солнце не видно, да и аккумулятора на час всего хватает.
USB нужен для связи с компуком. Компук (НЕ ОБЯЗАТЕЛЬНО В ПОЛЕ!) удобен по многим причинам:
- Удобное обновление прошивки
- Конфигурирование телеметрии
- Расстановка контрольных точек по карте для автопилота (а вдруг и до этого доживем? 😃 )
- Слив всех логов со всех датчиков после полетного дня.
>Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!
Да прям уж 😃 Чего там страшного? Пропускной способности не хватит? Трудности в реализации?
>Megой всётаки лучше дату собирать, и первичную обработку делать.
Ну, так и делается.
>Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”
Ну правда, не дорос я еще до ARM. Зачем таскать на борту полноценный 32-битный компук?
>Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.128й (ее аналога с аппаратным USB-) с запасом хватит для написания нормальной математики с плавающей точкой на Сях, неужели не так? 😃
USB нужен для связи с компуком. Компук (НЕ ОБЯЗАТЕЛЬНО В ПОЛЕ!) удобен по многим причинам:
- Удобное обновление прошивки
- Конфигурирование телеметрии
- Расстановка контрольных точек по карте для автопилота (а вдруг и до этого доживем? 😃 )
- Слив всех логов со всех датчиков после полетного дня.
А ты логи хочешь в дополнительной оперативке хранить, а с каким разрешением, дельту? Может C-FLASH?
Зря ты про “не дорос”! Я так тоже думал(вопрос недели, посидеть, репу почесать). Аппетит приходит во время еды! Мне вот снится в “слюнявых” снах висение над… белой буквой “H” (не пинайте) т.е. видео надо будет построчно(поблочно) обрабатывать. У меня вот такие коробочки получаются:
Первая:
2хMPX4115- барометрия
GYROSTAR MURATA- гироскоп(на Z-YAW)
ADXL2010-10g по XY(как индикатор скольжения+калибровка магнитометра)
HMC1021-магнитометр на XY (компас, расчет ветра)
HMC1001- на Z(в планах для SWEEPDEV- отдельная тема)
DS18xx-градусники
RS-485 (на USB даже с метровым кабелем проблемы будут) Megaload с ним работает вроде.
Проявляется благодаря этому форуму:
OSD
4 сервовхода от приемника(2 точных 2 неточных)
4 сервовыхода (2 точных 2 неточных)
(главное, чтоб мега не задымилась)
Вторая:
железяка на ARM!(GPS+ всякая хрень, требующая другой ветки для обсуждения)
есть два варианта даже…
казалось бы-ARM(lpc2148)- жирный, все есть, а сам себя не может перешивать-тоскливо 😦
Про floatingpoint calcz ещё поговорим! Меня чего- то к lookuptables тянет последнее время, к самонастраиваемым! Оказывается формулы только в учебниках красиво выглядят. А в наших приложениях все сводится к умножению “попугаев” на чего-нить еще, так? Прикинь как все красиво получается, если тот-же синус не FP считать встроенным в 32bit, а массивчик одномерный 180byte допустим (unsigned int x 0-90 градусов) + смотрелка на ассемблере. Короче, математика нужна математикам, но не компьютерам! во какая глубокая мысля.
А до автопилота точно доживем ❗
>А ты логи хочешь в дополнительной оперативке хранить, а с каким разрешением, дельту? Может C-FLASH?
Маленькая serial flash, разрешение - как отображается на экране, дельта - секунда,
>2хMPX4115- барометрия
Почему два?
>Прикинь как все красиво получается, если тот-же синус не FP считать встроенным в 32bit, а массивчик одномерный 180byte допустим (unsigned int x 0-90 градусов) + смотрелка на ассемблере.
Ну, я именно так, например, использую двухбайтовый целый косинус для перевода координат на плоскость из сферических с GPSa
>Короче, математика нужна математикам, но не компьютерам! во какая глубокая мысля.
На 128й меге можно использовать и стандартные сишные флоаты, ничего с ним не сделается. Мгновенной реакции и четкой растактовки от второй платы, в отличие от первой, не требуется, так что пусть копошится, считает матрицы для автопилота.
Ох и стОить же она будет… 😃
Я в пятницу EZ0 купил, опробую доложу. Тоже полезно будет, ИМХО.
Вообще, эхолот на стадии посадки по приборам, штука нужная и полезная.Где лучше советовать, тут или где-то ещё? 😃
- Определитесь, что хотите - чистый USB или виртуальный СОМ порт. Я за второе, т.к. это позволит пользовать широкий круг терминалок для отладок/проверок, да и писать софт проще. Коды для AT90USB1287 у меня есть, могу поделиться.
- На Си проще репы: __eeprom char buf[100]; И всё… Но проще структуру, конечно. Удобней.
- Вдруг полезно 😃 Код управления таймерами для руления машинок:
//TIMER1 initialize - prescale:8 // WGM: 10) PWM phz correct, TOP= ICRn // desired value: 50Hz // actual value: 50,000Hz (0,0%) TCCR1B = 0x00; //stop TCNT1H = 0xF6; //setup TCNT1L = 0x3C; /* в OCR1х вписывать нужную величину ШИМ. Причём вписываемая величина соответствует длине импульса в мкС! */ // ICR1 = 20000 это ШИМ 100% равный периоду в 20000 мкС ICR1H = 0x4E; ICR1L = 0x20; OCR1AH = 0x05; //старшие 8 бит OCR1AL = 0x78; OCR1BH = 0x05; //старшие 8 бит OCR1BL = 0x78; OCR1CH = 0x05; //старшие 8 бит OCR1CL = 0x78; TCCR1A = 0xAA; TCCR1B = 0x12; //start Timer
Это для ATmega128, легко переводится на USB1287. Кварц 16 мег. Т.к. будет пользоваться USB, то квар по-любому должен быть либо 8, либо 16 😉
Может не надо всё-таки нам автогенов этих кривых
//TIMER1 initialize - prescale:8
// WGM: 10) PWM phz correct, TOP= ICRn_________<—Режим не тот- задаешь ____________________________________________длительность только для половины импульса-Dual Slope, blin!
// desired value: 50Hz
// actual value: 50,000Hz (0,0%)
TCCR1B = 0x00; //stop
TCNT1H = 0xF6; //setup_____________________<----Setup ЧЕГО??? Вообще не понятно зачем прилипает в ICC
TCNT1L = 0x3C;
/* в OCR1х вписывать нужную величину ШИМ. ____________только на 2 поделим!
Причём вписываемая величина соответствует длине импульса в мкС!<— Ага! Minvalue for mode ten is 3, means 3x2=6usec- негусто…
*/
// ICR1 = 20000 это ШИМ 100% равный периоду в 20000 мкС__________<—?! ICR и есть пол-периода!
ICR1H = 0x4E; ____________________T=2*8*ICR/16000000 (8-prescaler)
ICR1L = 0x20;
OCR1AH = 0x05; //старшие 8 бит____<—А это че? Знаешь что у тебя получается 0х578*2=2800usec. Понимаешь в
OCR1AL = 0x78;___________________каком положении серво окажется!
TCCR1A = 0xAA;
TCCR1B = 0x12; //start Timer
а где настройка портов на вывод ???
Может так:
Something like proper C:
PWM_Init () {
DDRx|=bit_set(OC1Apin,OC1Bpin,OC1Cpin); //настроим ножки на вывод. Для 128 DDRB
TCCR1B=bit_set(WGM12,WGM13);// Timer stopped, mode14
TCCR1A=bit_set(COM1A1,COM1B1,COM1C1,WGM11); //noninverting fastPWM mode14 set
ICR1=0x9C3F=39999; //для 16 mhz 20000usec period
TCCR1B=bit_set(CS11); //Timer start with prescaler=8
}
SERVO_MOVE(aservo,bservo,cservo){
// 1=0.5usec т.е. например серво в центре это 1.5msec длительность импульса
// 1500usec*2=3000=0xBB8 --> имеем на ход серво(250usec) разрешение 500!
// например: OCR1A=0xBB7; -Servo Neutral
OCR1A=aservo;
OCR1B=bservo;
OCR1C=cservo;
}
А режим фазкорректной модуляции вааще для других целей!!! Вот так вот.
Ребята, давайте сами все писать, вручную, без автогенов-они кривые.
Я вообще за стандартный RS232-485. То есть, я против USB!
Ну да, и терминал любой можно. У меня так уже давно сделано. Хочешь данные выводи, хочешь команды вводи вручную как на модеме и выглядит загадочно. Если хочется, всегда можно под винду форточку с кнопками забабахать. Я так в Matlab дату загоняю. Тем более JTAGmk1, скажем не синхронизируется через USB-COM!
Думаю, если нет его на чипе аппаратной реализации- и не надо. Есть- нет вопросов.
>А ты логи хочешь в дополнительной оперативке хранить, а с каким разрешением, дельту? Может C-FLASH?
Маленькая serial flash, разрешение - как отображается на экране, дельта - секунда,
>2хMPX4115- барометрия
Почему два?
>Прикинь как все красиво получается, если тот-же синус не FP считать встроенным в 32bit, а массивчик одномерный 180byte допустим (unsigned int x 0-90 градусов) + смотрелка на ассемблере.
Ну, я именно так, например, использую двухбайтовый целый косинус для перевода координат на плоскость из сферических с GPSa
>Короче, математика нужна математикам, но не компьютерам! во какая глубокая мысля.
На 128й меге можно использовать и стандартные сишные флоаты, ничего с ним не сделается. Мгновенной реакции и четкой растактовки от второй платы, в отличие от первой, не требуется, так что пусть копошится, считает матрицы для автопилота.
“Дельта” я имел ввиду компрессию. Т.е. не сохраняешь каждую секунду одно и то-же, а пишешь только во-сколько и насколько поменялось, если поменялось.
Высота, возд. скорость, верт. скорость.
Респект за косинус!- всегда живой.
Ну вообщем да. Хотя для вертолёта такая концепция не подойдет 😃
Ну ты, можно сказать, архитектурно в ноль повторяешь мой 2-х проц. девайс. Правда на более высоком уровне- прогресс!(у меня 2х8051 стояли, программный PWM для стрелочных индикаторов, ADC через SPI,протокол через SPI, LCD уродский на 16 символов) И задачи слегка разные, но грабли будут те- же.
P.S.
От 8051 к AVR, c AVR на ARM!- авиалозунг тридцатых!
схемку накидал на HMC1021-
Зачем этот анахронизм? 1052 (1055) и любой МК с диф-входами. Есть готовая и обкатаная схема с кодами. Датчик + АЦП + транзистор + МК. Всё. Точность 0,25 градуса без шумов и фильтрации.
А режим фазкорректной модуляции вааще для других целей!!! Вот так вот.
Ребята, давайте сами все писать, вручную, без автогенов-они кривые.
Проблема только в том, что на этом коде самолёт летает уже год как и даже не подозревает, что код кривой… В этом кривом коде 1024 точки на канальный импульс 2 мс. Больше машинки всё равно не понимают.
Про порты - а самому догадаться никак? 😃
>“Дельта” я имел ввиду компрессию. Т.е. не сохраняешь каждую секунду одно и то-же, а пишешь только во-сколько и насколько поменялось, если поменялось.
Ну посчитаем. 10 параметров по 2 байта раз в секунду - 72000 байт в час. Зачем жать? Мегабитной флешки на полжизни хватит.
>И задачи слегка разные, но грабли будут те- же.
А про эти грабли можно подробнее? 😃 А то тут каждый второй в форуме граблями грозит. 😈 Собрать эти грабли и раздать студентам - до Урала можно порядок в стране навести.
>Зачем этот анахронизм? 1052 (1055) и любой МК с диф-входами. Есть готовая и обкатаная схема с кодами. Датчик + АЦП + транзистор + МК. Всё. Точность 0,25 градуса без шумов и фильтрации.
Компас - хочу 😦 Вкусно и нужно, но на первую плату уже абсолютно точно не влезет 😦
Насчёт арм согласен, уже сейчас цена арма приближается к атмегам, а возможностей больше. Я следующий автопилот на нём буду делать.
Насчёт двухчиповости - мои чипы объединены через интерфейс внешней памяти 😉 Сегмент памяти воторого чипа является общим. передача байта - два тика. Доступ как и к оперативе, через указатель.
Компас - хочу 😦 Вкусно и нужно, но на первую плату уже абсолютно точно не влезет 😦
Осей сколько? Если есть стабилизатор, достаточно двух в плоскости. Я так сделал. Можно трёхосевой, но он чуть сложнее. Впрочем, у меня есть абочие варианты под оба случая. Если нужно, скину в мыло. После выходных 😃
www.microsyl.com <- там bootloader есть неплохой, удобный, барометр и еще кое-че интересного.
ADP1111 - импульсник, к нему из довесков только дроссель нужен. Надоели 7805- греются, жгут батарейки!
ADP1111 - 75 кГц. Дроссель будет огромным!
У той же АДи есть 1610, 1611 на 1,2 МГц. Я их пользовал - супер и всё мелкое 😉
>“Дельта” я имел ввиду компрессию. Т.е. не сохраняешь каждую секунду одно и то-же, а пишешь только во-сколько и насколько поменялось, если поменялось.
Ну посчитаем. 10 параметров по 2 байта раз в секунду - 72000 байт в час. Зачем жать? Мегабитной флешки на полжизни хватит.
>И задачи слегка разные, но грабли будут те- же.
А про эти грабли можно подробнее? 😃 А то тут каждый второй в форуме граблями грозит. 😈 Собрать эти грабли и раздать студентам - до Урала можно порядок в стране навести.
>Зачем этот анахронизм? 1052 (1055) и любой МК с диф-входами. Есть готовая и обкатаная схема с кодами. Датчик + АЦП + транзистор + МК. Всё. Точность 0,25 градуса без шумов и фильтрации.
Компас - хочу 😦 Вкусно и нужно, но на первую плату уже абсолютно точно не влезет 😦
Лично для моих целей надо 10фреймов минимум, мне не подходит раз в секунду.(для Matlab)
И вертикальную скорость в таком случае получаешь не раньше, чем через секунду.
Ну, про мои грабли: Все чудесно отлаживалось и работало по отдельности на одном чипе. Достаточно скоро, как ни странно, все оказалось забито softpwm и расчетом высоты и вертикалки. Встал вопрос: че делать? Новый чип? Второй чип? Новый чип осваивать побоялся из- за недостатка времени. Влепил второй. Через месяц я понял, что вместо того, чтобы не забивая себе голову, писать софтину, занимаюсь хренью, типа межпроцессорного протокола, распараллеливания и т.п. + проблемы стали расти в геометрической прогрессии х 2!(типа, код нада в двух местах обновлять) Понимаешь примерно? Сделать можно, и работать все будет у меня на полке стоит двухпроцессорный “барометр” прецизионный-теперь жалко разбирать(время потрачено немеряно! 8252 шьется минут 8!). Перешел на AVR- влегкую забабахал все то-же за один день в 2к памяти- никаких проблем с производительностью.
Короче, основные ГРАБЛИ: намучаешься с отладкой, времени потратишь(в то время, как все прогрессивное человечество…)- лучше его на освоение ARM пустить и не париться потом 😉
Лучше на тракторах порядок наводить, чем граблями!
Осей сколько? Если есть стабилизатор, достаточно двух в плоскости. Я так сделал. Можно трёхосевой, но он чуть сложнее. Впрочем, у меня есть абочие варианты под оба случая. Если нужно, скину в мыло. После выходных 😃
ADP1111 - 75 кГц. Дроссель будет огромным!
У той же АДи есть 1610, 1611 на 1,2 МГц. Я их пользовал - супер и всё мелкое 😉
Ну вот, есть прогресс! Молодец! А мне компас можно?
Зачем этот анахронизм? 1052 (1055) и любой МК с диф-входами. Есть готовая и обкатаная схема с кодами. Датчик + АЦП + транзистор + МК. Всё. Точность 0,25 градуса без шумов и фильтрации.
Проблема только в том, что на этом коде самолёт летает уже год как и даже не подозревает, что код кривой… В этом кривом коде 1024 точки на канальный импульс 2 мс. Больше машинки всё равно не понимают.
Про порты - а самому догадаться никак? 😃
Согласен, что анахронизм (схеме третий год пошел) потому и не стал лепить сейчас и выкладывать на обозрение.
С удовольсвием использовал- бы твои наработки по компасу!!!
То, что самолет летает- как раз не есть проблема! Просто не очень понятно ПОЧЕМУ?? именно зтот режим?
И зачем выкладывать код, если тут все и так сразу обо всем догадываются?! (на машине можно задним ходом до Питера доехать!)
Сорри плиз! Я просто максималист и критиковать люблю, но это КОНСТРУКТИВ!
(не бывает некривого софта! Мой ненамного прямее 😁 )
ДЛЯ SmallTim!
Еще грабли… Смотри, получается 1 фрейм твой будет занимать секунд …СЕМЬ!! 😌 В первую получаешь дату и делаешь с ней первичные преобразования, на вторую она уходит(не забудь про OSD). Дальше, смотри, чтобы поиметь летные данные, тебе надо это проделать минимум три раза: 1.скорость, высота 2.вертикальная скорость 3.тренд вертикальной скорости. Седьмую перебираешь матрицы(где только начитался?! или друзья- профессионалы едят вкусные-синие таблетки?! шутка…) и-и-и-и-и наконец в самом начале восьмой секунды твои серво совершают какое- то движение- не факт, что правильное(ибо обратный лооп и создан для компенсации)…хрясь…Я тебе как практик говорю- проверено на собственной заднице… 😃
P.S.
X47 реагирует 100 раз в секунду!
Осей сколько? Если есть стабилизатор, достаточно двух в плоскости. Я так сделал. Можно трёхосевой, но он чуть сложнее. Впрочем, у меня есть абочие варианты под оба случая. Если нужно, скину в мыло. После выходных 😃
ADP1111 - 75 кГц. Дроссель будет огромным!
У той же АДи есть 1610, 1611 на 1,2 МГц. Я их пользовал - супер и всё мелкое 😉
1610-1611 ( www.analog.com/en/power-management/…/index.html )- это step-up converter! Из 5---->12v?! С трудом представляю, где на борту использовать… Посмотри, он и стоит в 2 раза дешевше… Если дело в частоте- ADP3050. Дроссель, даже на 70к будет меньше любого линейного регулятора. От его индуктивности(размеров) зависит, в конкретной аппликации, только отдаваемый ток. Или на 1А у вас регулятор расчитан, что дроссель не помещается.
Если дело в частоте- ADP3050. Дроссель, даже на 70к будет меньше любого линейного регулятора. От его индуктивности(размеров) зависит, в конкретной аппликации, только отдаваемый ток. Или на 1А у вас регулятор расчитан, что дроссель не помещается.
А ток потребления у вас какой?
имхо, странно, мне хватает 78L05 в sot-89…, ток 32 ма…
Сергей- про межпроцессорный интерфейс использованием интерфейса внешней памяти- о можно поподробнее об организации на второй стороне? каких кристаллах идет речь? две 128-х меги?
ДЛЯ SmallTim!
Еще грабли… Смотри, получается 1 фрейм твой будет занимать секунд …СЕМЬ!! 😌 В первую получаешь дату и делаешь с ней первичные преобразования, на вторую она уходит(не забудь про OSD). Дальше, смотри, чтобы поиметь летные данные, тебе надо это проделать минимум три раза: 1.скорость, высота 2.вертикальная скорость 3.тренд вертикальной скорости. Седьмую перебираешь матрицы(где только начитался?! или друзья- профессионалы едят вкусные-синие таблетки?! шутка…) и-и-и-и-и наконец в самом начале восьмой секунды твои серво совершают какое- то движение- не факт, что правильное(ибо обратный лооп и создан для компенсации)…хрясь…Я тебе как практик говорю- проверено на собственной заднице… 😃
P.S.
X47 реагирует 100 раз в секунду!
lodeworx, не надо всех вокруг кретинами считать-то,а?
Речь шла о логгинге данных в память с интервалом в секунду. Передача же между чипами 50 раз в секунду. Математика автопилота отрабатывает за 1/50 секунды, до прихода следующей пачки данных с первого чипа.
Если у тебя математика занимает секунду, то это плохо, надо что-то в консерватории менять.
Про матрицы - повеселил. Давай тебе еще одно забавное слово для стеба произнесу: кватернионы.
А ток потребления у вас какой?
имхо, странно, мне хватает 78L05 в sot-89…, ток 32 ма…
Сергей- про межпроцессорный интерфейс использованием интерфейса внешней памяти- о можно поподробнее об организации на второй стороне? каких кристаллах идет речь? две 128-х меги?
У меня получилось ~в 2 раза меньше, на импульсном, в даташите все есть… Если брать на фикс. напряжение 3.3 или 5, нужен будет 1 дроссель только добавить(и токоограничивающий резистор 100ом?!), ну пару танталов…Сделал пока парочку, микро в термоусадку их, Отлично!