Самодельный передатчик (часть 1)

toxa

модератор
Тема вычищена от односложных комментариев и поисков кряков. Открыта обратно. Высказываемся дальше по теме. Если, конечно, есть что сказать дельного.

focus

Сказать есть что, даже показать. Доделал модуль вывода текстовой информации на LCD Nokia 3410. (в тему, т.к. для кодера передатчика). Если кому интересно - могу показать.

Andrey_K

Тема называется ”Самодельный передатчик”. Дискуссия свелась к нескольким частным вопросам. Написавшие сюда самодельщики не хотят открытого анализа своих устройств.
Может быть, найдутся желающие потратить время и разобрать по косточкам кодер Микростар?
Это будет полезно всем интересующимся заявленной темой. Вся необходимая информация по версии 1.0 есть на этом сайте. Если согласятся участвовать те, кто сделал Микростар, будет очень хорошо.
Предлагаю условную последовательность для анализа решений Гордона Андерсона.

Принципиальная схема
Комплектующие
Математика
Программная реализация математики
Интерфейс пользователя
ПС интерфейс
Процедура внесения изменений
Инструкция по программированию

Один из возможных способов – каждый участник дискуссии составляет документ, в котором излагает свою оценку какой-то части проекта Микростар. В итоге можно создать отличное пособие для самодельщиков, а может быть, даже статью для RC design.

Для начала дискуссии и просто для всех, кому это интересно, прилагаю небольшой задел.

ПРИМЕЧАНИЯ.

  1. Попытка наладить диалог с заокеанскими пользователями Микростар на MP8K@yahoogroups.com дала некоторые положительные результаты. Тед Сандер согласился включить в свой документ часть из моих предложений. Гордон на мои сообщения не отреагировал, хотя наверняка все прочел и сделал выводы.
  2. Желаю всем самодельщикам успехов и поменьше наступать на чужие грабли.

The_flowcharts_Microstar2000.zip

anm

> Принципиальная схема
Трудно разбираться с подключением шлейфов. Способ подключения кнопок и переключатей можно оптимизировать, но похоже автор выбрал контроллер с наибольшей памятью, которая уже закончилась.
> Комплектующие
Редкий контроллер и память, маленький экран. Хочу большой с картинками-подсказками.
> Математика
> Программная реализация математики
> Интерфейс пользователя
В вер1.0 ужасный, в вер1.1 плохой. Постоянно попадаю не туда. Есть некоторые сложности по настройке модели.
> ПС интерфейс
показался удобным, но почти не пользовался
> Процедура внесения изменений
Флешовый проц с USB, было-бы в самый раз.
> Инструкция по программированию
Убогая, спасибо Теду, помог.

nicetry
Andrey_K:

В итоге можно создать отличное пособие для самодельщиков, а может быть, даже статью для RC design.

было бы шикарно.

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

Добавлено
к сожалению не могу больше писать на этом форуме (старый ник использовать не хочу, новый - не дают).
проект я не бросаю, если кого-то интересует процесс (или результ) - пишите на akozhukhar [сабака] yandex.ru
Всем успехов в начинаниях.

Andrey_K

Два! Толькл два настоящих любителя Микростар осталось.Тэд Сандер и Александр Молчунов. Глохнет тема. Жаль.

“А в чем проблема? Делайте MicroStar2000 - просто и открыто”- написал Vad64.

А я до сих пор не сделал. Главная причина, по которой я отказался повторять конструкцию Гордона – ретропроцессор. Для изменения и отладки программы необходим эмулятор. Дорого. Где же выход?
Преподаватели по марксистско-ленинской философии учили: если у вас есть сомнения, обратитесь к классикам. Достал из книжного шкафа фолиант “Гордон Андерсон. Полное собрание сочинений. Издательство RCdesign. Москва, 2165г.” (Твердый переплет, золотое тиснение, суперобложка).
На первой странице эпиграф: Do as I say, and not as I do!!! Twinman
Открыл документ “The Encoder. A Technical Discussion And Fabrication Notes. Gordon Anderson. September 6, 2001“. На стр.10 прочел: “…Please remember this is not a commercial product, its intended for the guy who likes to tinker a bit with RC radio equipment…You are also welcome to change the software as you like to build your our custom radio, but please do not sell or claim this development as your own, I have lots of work invested in this project.”
Предлагаю для тех, кто любит паять, схему устройства для экспериментов с программным обеспечением Микростар на PIC18F452.
Достоинства:

  • современный процессор в корпусе PDIP;
  • есть описание процессора на русском языке;
  • количество пропорциональных и дискретных органов управления м.б. увеличено;
  • можно проверить схемные решения, применяемые Футаба

Недостатки:

  • только некоторые программы с PIC17 м.б. автоматически перенесены на PIC18;
  • это не законченная схема кодера, это устройство для проверки решений Гордона и своих;
  • нелинейность результатов АЦП. Располагаемый диапазон результатов АЦП немного меньше 0…1023. А кто сказал, что будет легко? Я не случайно спрашивал у Vad64 про потенциометры. Это – отдельная проблема. Для изучения и изменения “под себя” п/п режима CAL и интерфейса пользователя вместо потенциометров AIL и ELE можно установить трехпозиционные тумблеры.

Резервы схемы:

  • переход на четырехпроводную шину данных индикатора высвободит 4 вывода PIC (если этого окажется недостаточно – возможны и другие варианты);
  • программная память PIC18F452 такая же, как у PIC17С766. MICROCHIP уже производит PIC18F4610 и PIC18F4680. Там в два раза больше памяти. Эти процессоры невозможно купить. Но это - временно, а до необходимости использования их ресурсов еще нужно ДОРАСТИ;
  • Предлагаемая внешняя память обеспечит хранение данных 16 моделей (по 512 байт для одной модели).

В одном из ответов мне Тед Сандер написал: “…Given Gordon’s time commitments, I think the best chance of fully understanding how it works will come when he’s ready to release the source code. Perhaps late this year…”
Будем ждать или продолжим?

PS. По поводу эпиграфа. Если среди читателей есть пользователи передатчика FUTABA8U, имеющие ПРАКТИЧЕСКИЙ опыт использования трансляционных таблиц в смесителях PMIX-6 и PMIX-7 и согласные потратить некоторое время, чтобы ответить на мои вопросы – отзовитесь.

Cхема_15_12_05.zip

focus

Предлагаю не особенно вдаваться в то, на каком проце делать будем. Кто-то любит AVR, кто-то - PIC. Тут самое главное алгоритм и математика. Вот я и предлагаю сделать упор на обсуждение именно этого. Очень хочется услышать мнение Vad64.

Psw

Двумя руками за ПИК. За ПИК18 или ПИК30 - особенно. Ассортимент ПИКа хороший в TRT.RU и они высылают по России штучно наложенным платежом почтой - получал. За Asm - потому как до С не дорос - только читаю со словарем. Схема в ПДФ сделана под А3, при ентом половина площади листа не использована ? У меня на столе только А4 принтер - на нем мелковато, но разглядел, не вопрос.
А аналоговые триммеры/расширители портов - это действительно надо ? Разве цифровое триммирование - это не благо ? Я на RD8000 насчитал примерно 20 кнопок которые единовременно только одна нажимается (управление меню/цифровые триммера) и 8 переключателей которые могут в любых положениях быть. Итого 4х5 матричная клава и максимум 8 дискретных входов. Ну и 4 традиционно аналоговых входа от ручек - вполне можно пробовать на 40 ног разбросать.
Хотя дисплей лучше думать какой-либо СПИ/И2Ц от сотовых телефонов - примеров пока нет, но этом случае один синхронный приемопередатчик будет маловато, а по 2 на борту только у 64 ног и более.
Кроме того - быть может за основу взять ПИК PIC18F4550-I/PT=$6,60 - доступен сейчас в Трт.Ру и содержит на борту USB2.0 среднескоростной контроллер на 32 ендпоинта?
И - кто будет координатором проекта, ну то есть кто подпишется под обязательством тратить на енто дело хотя бы по 10 часов в неделю в течение ближайшего года в лучшем случае ? За право в конце писать, что енто - ЕГО проект ? Менеджер ентого сайта Виталий Пузрин ? Мне кажется - у него нет столько времени (как минимум одна из причин). Хотя с точки зрения созидания макс удобного веб-интерфейса к публично ведомым проектам дело может ему показаться интересным. Даже на поисках такого добровольца дело может застопориться.
Ну и текстики лично я бы с большим удовольствием читал в *.ТХТ чем в *.ПДФ - хотя это не принципиально.
А там уже и интерфейс СПИ от передатчика к доступному готовому (дерьмовому по Рулл - но других доступных/готовых пока не встретил - довольствуемся тем что имеем ) цифровому радиомодулю трансивера 433-435 МГц - DP1205 который мной уже упоминался - для обратной связи и очень коротких антеннок - правда это уже 3 синхронных канала - 40 ног корпус ПИКи такие отсутствуют - только 64/80 ног. Кстати, в RD8000 стоит 100 ног МК - но он скорее всего напрямую разрядами ЖКИ управляет судя по разводке платы - потому и ног так много и ЖКИ такой убогий - так что по такому пути идти вряд-ли стоит - надо использовать стандартный индикатор с контроллером на борту.
Кстати, где-то прочел - не могу вспомнить где - что в России вроде как что-то там разрешено около 430-440 МГц для целей дистанционного управления моделями - просто этот диапазон не освоен из-за тех сложностей созидания ВЧ модулей.
С Уважением, Удачи всем в начинаниях …

Vad64
focus:

Тут самое главное алгоритм и математика. Вот я и предлагаю сделать упор на обсуждение именно этого. Очень хочется услышать мнение Vad64.

Мнение - по поводу чего? Микростар и его углубленное изучение мне не слишком интересны. Реализация микшеров для вертолетной аппаратуры, по-моему, довольно простая задача (про специфику других моделей я не в курсе). Математика там на уровне средней школы. АЦП - нормализация - учет триммера - линейная интерполяция по кривой - укладка в расходы - учет реверса - выдача в ШИМ (для РРМ). Какие конкретно проблемы?

PIC или AVR - дело вкуса (мне лично больше нравится Atmel). Я бы только посоветовал осторожно подойти к выбору процессора по количеству ресурсов. У меня в передатчике сейчас уже задействовано 18Кбайт флеша из 64 и 1.6 кбайт ОЗУ из 4. Правда, у меня Си-код и графический ЖКИ.

serj

Во-во!! количество ног считать обязательно надо! на мой прикид, 32-й меги будет достаточно. взваливать на один проц и общение с радиомодулем- тяжко. в модуле свой камень стоять должен- мега 8 как пример. Если народ будет падать на xemix, то следует иметь в виду, что там spi софтовый придется делать, ибо обмен там не 8-ми, а 14 битный…

однако я этого делать увы, не буду, мне эклипса хватает.

Andrey_K
Psw:


А аналоговые триммеры/расширители портов - это действительно надо ? Разве цифровое триммирование - это не благо ? …

В отношении триммеров я - ретроград.

Psw:


Кроме того - быть может за основу взять ПИК PIC18F4550-I/PT=$6,60 - доступен сейчас в Трт.Ру и содержит на борту USB2.0 среднескоростной контроллер на 32 ендпоинта?

Расцениваю это предложение как согласие представить текст программы на ассемблере. USB интерфейс для Микростар - большая проблема даже для американцев.

Psw:

И - кто будет координатором проекта …

Я не предлагал разрабатывать проект.
Я предлагал на примере Микростар изучить:

  1. Проблемы, которые решали схемотехник, математик, программист.
  2. КАК и почему именно ТАК решены проблемы. Анализ полученных результатов.
  3. Предложить другие возможные варианты решения проблем.

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

Кстати о проблемах. Вот одна из них.
Микростар - компьютерный передатчик. Большинство исходных чисел – результаты АЦП. Для проверки ‘что в черном ящике” Гордон Андерсон придумал п/п TestI0. Проверим, как работает? Транслируем файл MS18_12_05.asm. Программируем. Стартуем при нажатых кнопках OPTION и PRESET. Через 3 сек после появления на экране стартового сообщения отпускаем кнопки. Горит светодиод OVERRUN. Проверяем все кнопки и выключатели кроме OPTION. После нажатия и отпускания кнопки OPTION проверяем результаты АЦП. У меня при ПОСТОЯННОМ напряжении на входе результат АЦП не постоянный. Если это не цифровой шум, то что? А как в настоящем Микростар?
Предполагаю, что аналогично.
Предполагаю, что по этой причине Гордон придумал OverSample – четырехкратный последовательный опрос потенциометра с осреднением результатов. Транслируем файл MS19_12_05.asm. Программируем. Стало лучше, но результат АЦП по прежнему не постоянный. ВЫНУЖДЕН предпринять решительные меры. Ввел принудительное обнуление младшего бита результата OverSample. Файл MS20_12_05.asm. Результат воодушевляет. Но ПОЛНОСТЬЮ проблема не исчезла.
Может, обнулить два младших бита?
Кто знает, как решить проблему без внешнего АЦП?
Кто знает, как решают эту проблему Футаба или Хайтек?
Отзовитесь!

В моей MPLAB v6.50 какой-то шутник удалил из файла P18F452.INC часть текста, обеспечивавшего совместимость программ для PIC16 и PIC17 с системой команд PIC18. Если у кого-то есть эта проблема - воспользуйтесь прилагаемым файлом.

ВАЖНОЕ ЗАМЕЧАНИЕ. Мне не удается вывести информацию на вторую и четвертую строки дисплея АС-204. Если применяется АС-162 – константа LINE2 должна быть H’C0’!!!

А РРМ сигнал на выходе видели? Его ПОКА нельзя изменить, но…
Процесс пошел…

Может, остановимся? А то еще немного и …
……………
Акции Футабы падают…….
Хайтек на грани банкротства……
Graupner разводится с JR….
Санва затачивает нож для харакири…
Магазины, торгующие этим барахлом закрылись….
ИГВА воскресла….
……………………………………
Кошмар!!!

Еще одна важная проблема, которую стоит рассмотреть ДО того, как начать программировать – располагаемое время для вычислений.
Утверждаю: просматривается устойчивая ТЕНДЕНЦИЯ роста объема вычислений в компьютерных передатчиках.
Примерно через неделю попробую изложить как это решено в Микростар.

MS181920.ZIPСХЕМА_15_12_05_А4.ZIP

Vad64
Andrey_K:

У меня при ПОСТОЯННОМ напряжении на входе результат АЦП не постоянный. Если это не цифровой шум, то что?

Это похоже на шум АЦП. Не знаю, как ведет себя АЦП в новых чипах PIC, а в старых он шумел довольно сильно (насколько я помню). Вполне возможно также, что неправильно выбрана частота преобразования и/или не выдерживаются достаточные задержки при переключении каналов и при работе СВИХ.
С этой точки зрения мне нравятся контроллеры Atmel - их АЦП работает без мерцаний младших разрядов.
Также необходимо убедиться в отсутствии помех и наводок на сигнал при прохождении аналоговых мультиплексоров (прямое подключение потенциометров было бы более предпочтительным). После переключения канала мультиплексора должна быть достаточная задержка.

aromu
Vad64:

Это похоже на шум АЦП. Не знаю, как ведет себя АЦП в новых чипах PIC, а в старых он шумел довольно сильно (насколько я помню).

Всем добрый день.
На AT Mega 32 при частоте встроенного АЦП кажется 64 кГц
(если на память не путаю), частоте проца 8 МГц, при емкостях на входе АЦП - 10Н,
на сервах шума я на наблюдаю (задержек после переключения каналов АЦП нет),
(так же в тест режиме выводились результаты на индикатор, шумит на один младший бит.)
в другой проге (не передатчие) сделано по 30 измерений (с задержкой при переключении каналов)
а потом деление на 15, шума нет а точность измерения выше на 1 бит (т.е имеем как бы 11 бит АЦП).
В третей проге, при попытке загнать АЦП на макс. возможную частоту, оцифровать синусоиду
и вывести на граф. ЖКИ, синусоида перестала быть синусоедой, особенно если
переключать каналы с макс. возможной скоростью и давать разные сигналы на разные входа.
Из выше сказанного можно сделать вывод, что не надо загонять АЦП на высокую частоту,
и надо ставить конденсаторы по каждому каналу АЦП, тогда будет работать чисто, без проблем.
С уважением, Андрей.

klen_s

2_focus

А ты на GCC собранный под AVR перейти не хочешь. Преимущества - более быстрый код (только IAR может соперничать с GCC), постоянное обновления. Наличие всех средств написания и отладки. Про бесплатность я и не говорю.

mivaol

Здравствуйте Уважаемые!
Я тут немного написал на AVR могу и на обшаг кинуть хотя до логического конца ещё поработать надо.

klen_s
focus;222889

Трямс!
2 klen_s: я ни разу ССG не видел даже. Я смотрю, к нему в нете куча библиотек всяких разных.

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

  1. gcc под AVR дает отличный код оттранслированный с С.
  2. Немерянная куча библиотек, документации ( например под управление рулевыми машинками, бесколекторниками и всяко другого)
  3. поддержка новых устройств. Я сам правлю исходники gcc для поддерки новых устройств, собираю всю среду для разраотки и затем использую в AVRStudio.
  4. AVRStudio крайнего билда подерживает gcc.

Я сам с ICC перешел на gcc потомучто когда я захотел вставить ATmega48 в рулевую машинку то едиственным компиллером С поддерживающим в тот момент 48 был gcc. Кроме того ICC выдавал крайне отвратный код.

mivaol

Привет всем я обещал выложить свой недоделаный код вот и выкладываю с терпение вынесу все упреки 😃 Atmega128.rar

focus

Оказывается ссылки на варез кидать на форуме нельзя… Заработал себе продупреждение. А так хотелось поделиться.

Я вот часть менюшки накатал. если интересно кому - гляньте. Пока смамое начало. Все работает. Очень похожа на менюху Vad64.

Прошу извинить за качество фоток - сфоткано мобилкой

menu.rar

serj

Женя, МОЛОДЕЦ!!!

Продолжай так же!

Vad64
focus:

Я вот часть менюшки накатал. если интересно кому - гляньте. Пока смамое начало. Все работает. Очень похожа на менюху Vad64.

Евгений,
Я бы посоветовал изолировать отдельные модули проекта, а то сейчас все в одной куче - и железо и графика и ЖКИ. По мере роста проекта его будет трудно менеджить. Еще труднее будет проводить изменения, например, поменялся формат ЖКИ или тип интерфейса ЖКИ. Или кнопки переехали на другие ноги и т.д. Лучше попытаться сразу продумать структуру проекта так, чтобы модули не зависели от внутренностей друг друга, а общались между собой только через API. Как пример прикладываю свою разбивку. Может, разбивка не оптимальная, но мне она показалась довольно удобной в работе.

vad_headers.zip

nicetry

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

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

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

Если программа не запускается из-за отсуствия msvcr71.dll, то её легко можно найти гуглем.