РРМ кодер, эконом вариант?
Код в соседней ветке - 34К. Жутко не оптимален, можно ужать довольно прилично. Но для любого проекта имеет смысл (а значит и интерес) иметь сверхзадачу- например действительно макс. бюджетно, или макс. функционально, или мин трудозатрами. Правда иметь именно свою разработку - тоже вполне достойная задача.
Писать на асме только из “вредности”, неоправданный расход времени. Если бы я свой проект OSD-телеметрия/автопилот чисто на асме делал, времени бы ушло на прядок больше. А так, там асма только ~25%, по причинам действительно необходимой оптимизации,- уложился всего за ~месяц неспешной работой по вечерам…
Все имхо…
Всем привет!
Откываю всё что успеваю оформлять, про других незнаю, тут кто как.
Что-бы влезть в ограничение ресуры, то-ко 8 кило и усё!
Ладно, щас подрисую тут одно *сокровище* на PIC16F877А (чтоб ног хватило)
Тоже страдал такой “болезнью”.
Правда, не долго. Перешел на 4620 и теперь не парюсь с размером.
По ходу дела увидиш, что математика кодера займет от силы четверть обьема, а остальное уйдет под сервис и интерфейс с пользователем. Писать интерфейс на асме - без меня.
Всем привет!
Вот произвёл маленькое ПОДрисование. Основа не моя, инд прилепил тока.
Что то ты там наворотил… Зачем там везде стабилитроны 5V1, и какие то резисторы по 240 ом?
Там можно половина элементов убрать. Смотри схему от msv на Mega 128, схему можно сделать ту же, с небольшими изменениями, связанными с заменой проца на PIC.
Например можно убрать подтягивающие резисторы с порта В, т.к. можно включить внутренние подтяшивающие резисторы 20К на +5В, они на этом проце могут устанавливаться как раз только на порте В. См. регистор OPTION_REG,
И что такое UpowTX?
И нет смысла делать выход на сентизированный передатчик. Это уже всё, прошлый век, сейчас 2,4G рулит. Тем более цены на 2,4G передатчика и приёмники, падают с каждым днём, скоро будут стоить копейки, и не будет смысла городить самодельный передатчик на 40 мгц, тем более сентизаторый, и сидеть с его настройкой - месяц.
С подключением дисплея, согласен, но хотя на схеме msv от 5В, всё пашет.
Ну и предусмотреть выход для внутрисхемного программирования, не мешало бы.
Могу привести пример, как сделать удобно.
Всем привет!
Насчёт кондёров и резисторов, то я имею немалый практический опыт, кому не нравиться, может вообще ничего не ставить в обвязке, но с глюками пусть разбирается сам.
С программированием проблем СОВСЕМ нет! Самым традиционным способом, примочка от ПОНЬКИ и icprog, плюс переключ, кнопку нажал- влил- отжал. Когда нравиться результат, кнопку меняю на джампы.
2,4 Gолубозубые не трогают совсем, чесное слово НУ …СОВСЕМ !!!
За соучастие спасибо.
Всем привет!
Ежели сильно не карячиться над мультиками, то начну с такого варианта, а дальше но остаткам памяти посмотрим, какое *многомордие 😁(интерфейс)* выйдет.
Всем привет!
Интересно, это только мой инд от нокиа 3310 с такими заморочками или они все управляемые по шине SPI такие!
Объясняю, если загружаеш озу инд и в этот момент происходит прерывание, напримет от таймера, то происходит в дальнейшем сбой правильного отображения инфы на время до след обновления дисплея, с другими дисп, где шина данных параллельная такого никогда не происходит.
Спроси у Сергея msv, он может быть поможет.
Да если бы знал, помог… По идеи синхронный протокол с отдельной синхронизирующей шиной не критичен к времени передачи бита. Но кто его(контроллер индикатора) знает, в каких пределах это время допустимо…
Всем привет!
А , буду кусками код пихать в синхро паузе, не беда.
Вот ещё малость намолотил!
Вот ещё малость намолотил!
Бегло пробежался по коду.
Очень рекомендую Вам перейти на С. И используйте аппаратные возможности Пика - модуль ССР для формирования ППМа и модуль SSP для работы по SPI.
И продумайте сразу ядро вашей системы. Я когда писал свой кодер, несколько раз менял идеологию работы ядра. Даже ОС пытался использовать.
Удачи Вам и творческого вдохновения!
Всем привет!
Ну … ВОТ! Основные функции сделал, РРМ 8 каналов - молотит на всю, параметры читаю из памяти и сохраняю - по 8 моделям, клавиатура , инверсия каналов, … и ещё много чего, а памяти программ контроллера ушло около 1,8 Килобайт ??? (правда черновая прога, можно и поджать!)
Из доступных 8 кило ! А вот наверное *многомордие*, остальное и съест, хе-хе !
Не понимаю термин *многомордие*, наверное имеется в виду “междумордие”? 😃
Да, это значительно большая часть кода. Совет - не поленитесь, составте сразу диаграмму обработки сигналов, поможет в тч. для формирования структуры меню.
Всем привет!
Вот произвёл маленькое ПОДрисование. Основа не моя, инд прилепил тока.
почему то гифчик не открывается… говорит ошибка формата 😦(
можно во что нить другое пожать ?
А так? съедобно !😃
намного лучше!! но в области клавиатуры все равно мелко очень…
но все равно спасибо, очень интересно
Картинки лучше в архив, а то форум уменьшает.
Разрешите и мне немного по обсуждать данный проект. Прежде всего спасибо автору за предмет обсужения. Я тоже решил попробывать сделать свой кодер для передатчика на PICе. Правда я не ставил целью эконом вариант поэтому выбрал для старта PIC 18F14(13)K50 он имеет USB порт. А теперь несколько слов о проекте.
- PIC16F877 уже не рекомендуют вместо него предлагают PIC16F887 и он имеет 14 входов для АЦП. Это важно. Можно использовать одну из особенностей PIC овского АЦП, а именно Vref- и Vref+. Установить Vref- равным минимальному напряжению с потенциометра ручки, а Vref+ - максимальному. Тогда можно с хода ручки ±30 градусов снять 1024 бита (или около того).
- Использовать таймера для формирования всех временных параметров сигнала PPM c точностью до 1 микросекунды (правда надо подсчитать получиться ли это на 8 разрядных таймерах) Я попробывал реализовать эти предложения на том PICе что был у меня под рукой PIC18F458 с 16МГц кварцем. Код, правда он на C, прилагаю. Повторяю, это проверочный код, но сигнал PPM он генерит очень хороший.
- Еще одно предложение. В PICе есть входа, в которых можно включать, так называемые подтегивающие резисторы. Они позволяют отказаться от подтягивающих резисторов к 5 вольтам для кнопок.