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

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, то её легко можно найти гуглем.

Psw

Это точно - режь последний огурец …
Если судить по количеству скачиваний то пока интерес к теме не у многих людей. Интересно всё-таки - а сколько людей подписалось бы каким-либо первоначальным денежным взносом в копилку реализации проекта ? В данном случае - Самодельного Нутра для Модельного Пульта Управления ?
Согласен с НайсТрай в его мнении - бесплатные бета-тестеры нужны авторам открытого кода - взаимополезное сотрудничество. Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.
Ну а раз уж основная инициативная группа сошлась во мнениях - какую линейку МК счесть более удобной/быстродействующей/перспективной и на каком языке писать - то для обхода уже найденными кем-то граблей хотя-бы между членами группы имело бы смысл опубликования всех наработок хотя бы внутри группы. К чему Вад64 и присоединился/предлагал давно - начал с обсуждения стандартов обмена настройками/параметрами моделей - вот и сейчас структуру проекта выложил.
Однако если проект будет двигаться Только Ради Самообучения - тогда и повторно на грабли можно наступать/код без опаски публиковать, а если (хотя бы с гипотетической и отдаленной) коммерческой реализацией типа выпуска нескольких десятков наборов из печатки/прошивки - тогда нужно платные мнения/голоса собирать в поддержку проекта на мой взгляд. Потому как исследование потенциального рынка сбыта - немаловажный этап в умении/успехе продавать. А уж если его сделать до того, как понести затраты на производство/разработку - так это вообще существенное снижение первоначального риска.
На чем мои нетрезвые мысли и завершаются. Модулятор (ASK) выключит за графоманство и некоторый офф-топ (односложные комментарии). Но всё-же для самоуспокоения написал.
С Уважением ко Всем,
Удачи в Начинаниях.

focus

1.По поводу написанного Psw: я ни от кого скрывать свой код не собираюсь, хотя и придерживаюсь экономиеских соображений. Но дело тут не в зароботке, а в экономии. Покупать новый передатьчик за 300 уе как-то жаба двит. А функций старого не хватает. Ну и конечно же я начал это дело для самообучения.
2. А совет Vad64 очень своевременный. Сейчас вот с хедерами и библиотеками разбираюсь сижу.

Сергей_Боровков
Psw:

Это точно - режь последний огурец …
Если судить по количеству скачиваний то пока интерес к теме не у многих людей. Интересно всё-таки - а сколько людей подписалось бы каким-либо первоначальным денежным взносом в копилку реализации проекта ? В данном случае - Самодельного Нутра для Модельного Пульта Управления ?
Согласен с НайсТрай в его мнении - бесплатные бета-тестеры нужны авторам открытого кода - взаимополезное сотрудничество. Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.

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

Я готов подписаться.

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

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

nicetry

to all

Psw:

Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.

А зачем ? Те, кто был реально заинтересован - поинтересовались, а остальным и тут неплохо 😉
Еще замечу, что потерял интерес к теме не из-за НеСмены ника (это была лишь оследняя капля), а из-за того, что, в отличии от Сергея Боровкова, не вижу в ней конструктива. Наоборот, вовсю проступает басня Крылова “Лебедь, рак и щука”, ведь каждый тянет в свою сторону: один почил на лаврах, другой предлагает заниматься эксгумацией микростара, третьи ставят лично перед собой задачи несколько несопоставимые со своим уровнем подготовки… - каши из всего из этого не сваришь, так что я подозреваю, что через много-много дней воз будет и ныне там.
Вобщем, не поминайте лихом и счастливо оставаться! 😉

Andrey_K

Хочу вернуться к двум деталям.

  1. Цифровые триммеры. Если таковые применяются - обычно это триммеры джойстиков и на индикатор выводятся рисунки, позволяющие визуально определить положение триммера. Маленькие прямоугольные индикаторы для этого не подходят.
  2. Джойстики остаются проблемой. Судя по сообщению Vad64, SANVA применяет специальные потенциометры, у которых полное изменение сопротивления происходит при повороте на угол 90…120 градусов. Если кто-то знает марку и где можно купить такие потенциометры – просьба сообщить. Футаба применяет стандартные потенциометры. Сигнал 2,5 плюс/минус 0,5 Вольт усиливает в пять раз операционный усилитель C3508C после мультиплексора. Мне пока не удалось повторить такое решение с другим ОУ, а C3508C купить невозможною Даже не нашел его характеристик… Может кто-нибудь помочь?
Vad64
Andrey_K:

Хочу вернуться к двум деталям.

  1. Цифровые триммеры.
  2. Джойстики остаются проблемой.
  1. Цифровые триммеры более просты конструктивно, более гибки в использовании, могут выполнять несколько функций. Из-за распространности мобильных телефонов графические ЖКИ достаточно доступны и дешевы. Индикатор от Нокиа 3510, к-рый я применяю, стОит 150 руб.
  2. На мой взгляд, самое простое решение - запитать потенциометры от бОльшего напряжения. Скажем, при 7В питания потенциометров и 2.6-3.3В опорного напряжения АЦП получится искомый рабочий угол 90-120град. Правда, при этом придется подбирать механическое положение потенциометра.
    Возможны также другие схемотехнические решения.
    В конце концов, я не вижу большой проблемы в снижении эффективной разрядности джойстика с 10 до 8-8.5 разрядов.
Psw

Я тоже не вижу смысла в повышении разрядности положения ручек более 8 бит - потому как ТРЕМОР (непроизвольные сокращения мускулов) пальцев человека наверняка превышает те самые дольки градуса - если длинна ручки 50-80 мм, то отклонения в (величина младшего разряда для 8 бит) дольки градуса на кончике ручки - это путь в 0,3 мм примерно - выше величины тремора пальцев у большинства людей - не говоря уж про люфт в системе управления.
Путь с повышением питания потенциометров - ну мне поначалу показалось страшновато, хотя в свое время я предлагал именно такой путь самой простой коррекции датчика расхода воздуха для авто двигла - просто на всех выводах ПИКов (про Атмел думаю так же) стоят защитные диоды 20 мА на питание/землю - достаточно ограничивающего ток резистора на всяк случай.
А опер усилитель с питанием 5 вольт и входом/выходом от +Питания и до Земли (от линии до линии) если денег не жаль то к примеру OP491 www.platan.ru/cgi-bin/…/id=11151&group=150 от АналогДевайс инструментал - 4 штуки в корпусе ДИП-14 за 170 руб. Ну а уж сопротивления резисторов отрицательной ОС для *5 усиления - ну как-нибудь вычислите из имеющихся у Вас номиналов.
Вот только НеКратные степеням 2 края диапазонов на входе тащат за собой арифметику приведения к нужному диапазону, которая может порождать некоторую неоднородность. Неизвестно - заметную или нет.
А Вад64 всё-таки наблюдает за темой - хотя и не отступает от своей позиции НеПубликации исходного кода своих разработок Самодельного Кодера для Пульта Управления Моделями - и я по-прежнему в ентом вопросе с ним не согласен - хотя дополнительных к сказанным доводов у меня нет, но и его высказанные доводы в защиту точки зрения меня не убедили.
А про индикатор Пульта хорошо бы найти что-либо большое в диагонали и дешёвое (сказка) 256*256 монохром к примеру. Ну если уж всех так заводит GUI. Да ещё и Touch-Screen - вообще сказка. От наладонника 320*240 - и диагональ 3.5 дюйма - и нормальный размерчик, и цвет - все блага. Цены не искал, но менее $100 я надеюсь - вроде такую сумму мне называли барыги стоимость замены разбитого дисплея в наладоннике.
Один наладонник со свернутой самолично башкой (разрыв кабеля соединяющего голову и корпус) и экраном NEC 3" у меня уже валяется - в гарантии отказали, купил новый (однокорпусный - что-бы нечего было свернуть), первый ещё не отремонтировал. Или для цветных дисплеев с 240*320 разрешением ресурсов Атмела/ПИК30 маловато будет ? Потому как только экранный буфер 154 Кб - без внешнего ОЗУ не обойтись ?

Aleksey_Gorelikov

Vad64 правильно делает! Думаю очень правильно! Следит за темой, дает намеки как обойти те грабли, на которые он наткнулся. А отдавать свои наработки всем подряд - смысл? Чтоб всем подряд отвечать почему у них что-то работает не так как они хотят??? Сколько ему вопросов задавали по шнурку на USB? Там не работать просто нечему, однако не работает же у кого-то… Тот, кто МОЖЕТ хоть что-то - сделает сам ВСЕ, ЧТО ЗАХОЧЕТ! (со временем…) Он сделал разработку ДЛЯ СЕБЯ, под исключительно СВОИ нужды и так, как ЕМУ удобней! И доводить ее он будет только под себя, по мере необходимости и свободного времени. Сырой или малофункциональный продукт Вам нужен? Будете его улучшать? Сделаете лучше чем у автора? Тогда делайте с нуля! Мне свои проги писать проще, чем в чужих разбираться. Давайте отстанем от Vad-a с намеками и просьбами, а займемся делом. Он поможет, обязательно, но надо делать а не просить!
Или купить в магазине и не париться!!!

nicetry

очень дельное и информативное сообщение, а главное - по теме.

PS: всё-всё, уже ушел 😃

Vad64
Psw:

А про индикатор Пульта хорошо бы найти что-либо большое в диагонали и дешёвое (сказка) 256*256 монохром к примеру. Ну если уж всех так заводит GUI. Да ещё и Touch-Screen - вообще сказка. От наладонника 320*240 - и диагональ 3.5 дюйма - и нормальный размерчик, и цвет - все блага. Цены не искал, но менее $100 я надеюсь - вроде такую сумму мне называли барыги стоимость замены разбитого дисплея в наладоннике.

По-моему, это не слишком рационально с точки зрения соотношения функциональность/(цена+сложность). Необходимая информативность ЖКИ в передатчике не так уж велика - книжки с него не читать и фильмы не смотреть. Для организации красивого GUI большого формата придется делать довольно мощный графпакет и ресурсов он отожрет немеряно. Вписать конструктивно дисплей такого размера в существующий корпус тоже будет непросто.
Если хочется развесистое редактирование настроек, то по-моему, лучше уж использовать внешний редактор (на том же наладоннике). Т.е. изолировать модель данных и организовать хороший канал связи, как я предлагал в начале.

APA

Не надо загонятся с потенциометрами .
У многих МК входы АЦП можно запрограммировать как дифы, выставить середину и максимальный размах, и будете иметь до 10бит при напруге от 2 до 3 вольт, при 2.5 средних (1мВ на единицу АЦП) 😛
А триммеры лучше цифровые, т.е. кнопки 😃
А в остальном МОЛОДЦЫ!!! 😃

nicetry
Vad64:

По-моему, это не слишком рационально с точки зрения соотношения функциональность/(цена+сложность).

Просто для информации: я покупал рабочие ipaq 3660 с небольшими дефектами с рук за 500-600 руб, за эти деньги его и выбросить не жалко. При таком раскладе соотношение смещается, особенно если вспомнить что можно наваять в 32/64Мб памяти при процессоре в 200MHz. За такие деньги конечно придется еще поискать, но совсем несложно найти долл за 50, а это цена нормального ЖКИ (не от телефончика). Правда… если стоит сверхзадача собрать передатчик за гроши, то всё это не прокатит.

PS: теперь точно ушел.

mivaol
Vad64:
  1. На мой взгляд, самое простое решение - запитать потенциометры от бОльшего напряжения. Скажем, при 7В питания потенциометров и 2.6-3.3В опорного напряжения АЦП получится искомый рабочий угол 90-120град.

Привет всем!
А зачем повышать напряжение, когда можно подать на ногу AREF то напряжение которое максимально для угла отклонения вашего резистора. Ну и конечно выбрать опорное напряжение с AREF ноги.
Хотя я сам использую фирменные резисторы с аппаратуры грапнер314.
Думаю если кто-то знаком с электро-химией то можно часть резистора которая не работает покрыть медью или серебром.

APA

mivaol
Посмотри выше, написан простой и эффективный метод решения данной проблемы 😃 .
Для этого АЦП должно уметь работать с дифференциальными сигналами.
Почти все Меги это умеют, встречал и др. МК у которых это можно.
Просто на общий инверсный вход подается 2.5В(центр), а на Aref размах относительно центра.
Пример: на общий вход 2.5В, на Aref 1В -> 0=1.5В…1023=3.5В.
Посмотрите в доках 😃

focus

Доброго времени суток. Я переделал менюху. Написал библиотеку для дисплея. Кому интересно - гяньте.

Возник такой вопрос: какие готовые микшеры надо испоьзовать? (V-tail, Elevon, Flapperon. А какие еще нужны?)

menu.rar

anm
focus:

Возник такой вопрос: какие готовые микшеры надо испоьзовать? (V-tail, Elevon, Flapperon. А какие еще нужны?)

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

икс600

привет всем. Кто подскажет что за микрухи стоят в хайтеке двойки
в передатчике М 52460Р
и в приемнике 14013В

Andrey_K
anm:

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

Александр, а какие ограничения лучше: в процентах от какой-то величины (какой?) или в миллисекундах как в Микростар?

anm
Andrey_K:

Александр, а какие ограничения лучше: в процентах от какой-то величины (какой?) или в миллисекундах как в Микростар?

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