Самодельный передатчик (часть 1)
Это похоже на шум АЦП. Не знаю, как ведет себя АЦП в новых чипах PIC, а в старых он шумел довольно сильно (насколько я помню).
Всем добрый день.
На AT Mega 32 при частоте встроенного АЦП кажется 64 кГц
(если на память не путаю), частоте проца 8 МГц, при емкостях на входе АЦП - 10Н,
на сервах шума я на наблюдаю (задержек после переключения каналов АЦП нет),
(так же в тест режиме выводились результаты на индикатор, шумит на один младший бит.)
в другой проге (не передатчие) сделано по 30 измерений (с задержкой при переключении каналов)
а потом деление на 15, шума нет а точность измерения выше на 1 бит (т.е имеем как бы 11 бит АЦП).
В третей проге, при попытке загнать АЦП на макс. возможную частоту, оцифровать синусоиду
и вывести на граф. ЖКИ, синусоида перестала быть синусоедой, особенно если
переключать каналы с макс. возможной скоростью и давать разные сигналы на разные входа.
Из выше сказанного можно сделать вывод, что не надо загонять АЦП на высокую частоту,
и надо ставить конденсаторы по каждому каналу АЦП, тогда будет работать чисто, без проблем.
С уважением, Андрей.
2_focus
А ты на GCC собранный под AVR перейти не хочешь. Преимущества - более быстрый код (только IAR может соперничать с GCC), постоянное обновления. Наличие всех средств написания и отладки. Про бесплатность я и не говорю.
Здравствуйте Уважаемые!
Я тут немного написал на AVR могу и на обшаг кинуть хотя до логического конца ещё поработать надо.
Трямс!
2 klen_s: я ни разу ССG не видел даже. Я смотрю, к нему в нете куча библиотек всяких разных.
Что использовать это дело каждого, но рекомендую попробывать и посмотреть. На это есть четыре веских причины хотябы пороывать:
- gcc под AVR дает отличный код оттранслированный с С.
- Немерянная куча библиотек, документации ( например под управление рулевыми машинками, бесколекторниками и всяко другого)
- поддержка новых устройств. Я сам правлю исходники gcc для поддерки новых устройств, собираю всю среду для разраотки и затем использую в AVRStudio.
- AVRStudio крайнего билда подерживает gcc.
Я сам с ICC перешел на gcc потомучто когда я захотел вставить ATmega48 в рулевую машинку то едиственным компиллером С поддерживающим в тот момент 48 был gcc. Кроме того ICC выдавал крайне отвратный код.
Привет всем я обещал выложить свой недоделаный код вот и выкладываю с терпение вынесу все упреки 😃 Atmega128.rar
Оказывается ссылки на варез кидать на форуме нельзя… Заработал себе продупреждение. А так хотелось поделиться.
Я вот часть менюшки накатал. если интересно кому - гляньте. Пока смамое начало. Все работает. Очень похожа на менюху Vad64.
Прошу извинить за качество фоток - сфоткано мобилкой
Женя, МОЛОДЕЦ!!!
Продолжай так же!
Я вот часть менюшки накатал. если интересно кому - гляньте. Пока смамое начало. Все работает. Очень похожа на менюху Vad64.
Евгений,
Я бы посоветовал изолировать отдельные модули проекта, а то сейчас все в одной куче - и железо и графика и ЖКИ. По мере роста проекта его будет трудно менеджить. Еще труднее будет проводить изменения, например, поменялся формат ЖКИ или тип интерфейса ЖКИ. Или кнопки переехали на другие ноги и т.д. Лучше попытаться сразу продумать структуру проекта так, чтобы модули не зависели от внутренностей друг друга, а общались между собой только через API. Как пример прикладываю свою разбивку. Может, разбивка не оптимальная, но мне она показалась довольно удобной в работе.
хотел к НГ довести до презентабельного состояния и выложить на этом форуме (типа финальный аккорд перед уходом на другой форум), но раз пошла такая пьянка, то похоже теперь моя очередь - выложу что есть.
Времени для работы над проектом удаётся выделять немного, так что дальше меню я тоже пока не дошел, однако направил свои усилия главным образом на создание добротного эмулятора. Считаю это очень важным моментом, т.к. он позволит комфортно обкатывать большую часть алгоритмов и съэкономит гораздо больше затраченного на него времени. При разработке больше ориентировался на внутреннюю “правильность и красоту”, так что внешних проявлений немного, но достаточно чтобы почуствовать, что всё настоящее.
Симулятор сделан максимально модульным, дабы именть возможность варьировать переферию и задействовать максимальное количество рабочего (не эмулирующего) кода.
Исходники прилагаются, но чисто для референса - сильно порезанные (не обессутьте, ну не готов я пока).
Если программа не запускается из-за отсуствия msvcr71.dll, то её легко можно найти гуглем.
Это точно - режь последний огурец …
Если судить по количеству скачиваний то пока интерес к теме не у многих людей. Интересно всё-таки - а сколько людей подписалось бы каким-либо первоначальным денежным взносом в копилку реализации проекта ? В данном случае - Самодельного Нутра для Модельного Пульта Управления ?
Согласен с НайсТрай в его мнении - бесплатные бета-тестеры нужны авторам открытого кода - взаимополезное сотрудничество. Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.
Ну а раз уж основная инициативная группа сошлась во мнениях - какую линейку МК счесть более удобной/быстродействующей/перспективной и на каком языке писать - то для обхода уже найденными кем-то граблей хотя-бы между членами группы имело бы смысл опубликования всех наработок хотя бы внутри группы. К чему Вад64 и присоединился/предлагал давно - начал с обсуждения стандартов обмена настройками/параметрами моделей - вот и сейчас структуру проекта выложил.
Однако если проект будет двигаться Только Ради Самообучения - тогда и повторно на грабли можно наступать/код без опаски публиковать, а если (хотя бы с гипотетической и отдаленной) коммерческой реализацией типа выпуска нескольких десятков наборов из печатки/прошивки - тогда нужно платные мнения/голоса собирать в поддержку проекта на мой взгляд. Потому как исследование потенциального рынка сбыта - немаловажный этап в умении/успехе продавать. А уж если его сделать до того, как понести затраты на производство/разработку - так это вообще существенное снижение первоначального риска.
На чем мои нетрезвые мысли и завершаются. Модулятор (ASK) выключит за графоманство и некоторый офф-топ (односложные комментарии). Но всё-же для самоуспокоения написал.
С Уважением ко Всем,
Удачи в Начинаниях.
1.По поводу написанного Psw: я ни от кого скрывать свой код не собираюсь, хотя и придерживаюсь экономиеских соображений. Но дело тут не в зароботке, а в экономии. Покупать новый передатьчик за 300 уе как-то жаба двит. А функций старого не хватает. Ну и конечно же я начал это дело для самообучения.
2. А совет Vad64 очень своевременный. Сейчас вот с хедерами и библиотеками разбираюсь сижу.
Это точно - режь последний огурец …
Если судить по количеству скачиваний то пока интерес к теме не у многих людей. Интересно всё-таки - а сколько людей подписалось бы каким-либо первоначальным денежным взносом в копилку реализации проекта ? В данном случае - Самодельного Нутра для Модельного Пульта Управления ?
Согласен с НайсТрай в его мнении - бесплатные бета-тестеры нужны авторам открытого кода - взаимополезное сотрудничество. Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.
Давно уже подписался на эту тему и вижу, что в теме появляется конструктив, что очень радует.
Я готов подписаться.
Сам програмил AVR на асме года полтора-два назад, но сейчас растет дочка маленькая и на написание серьезного и большого кода, регулярное паяние у меня банально нет сил 😦 . Поделать с этим я ничего не могу, но могу участвовать в дискуссиях, тестировать что-либо, писать тех документацию. То есть делать то, что не требует обязательных непрерывных затрат времени.
Готов проанализировать работу пользовательских интерфейсов передатчиков, до которых смогу дотянуться и сообщить результаты. По-моему очень важно не упереться в ошибку, которую очень часто делали раньше при изготовлении программ и устройста - нужно четко понимать, что интерфейс - это одна из главных частей программы и на разработку самого интерфейса (не его реализацию) надо потратить довольно много времени.
to all
Жаль правда, что из-за НеСмены ника он решил перейти на другой форум - но хоть бы сказал на какой.
А зачем ? Те, кто был реально заинтересован - поинтересовались, а остальным и тут неплохо 😉
Еще замечу, что потерял интерес к теме не из-за НеСмены ника (это была лишь оследняя капля), а из-за того, что, в отличии от Сергея Боровкова, не вижу в ней конструктива. Наоборот, вовсю проступает басня Крылова “Лебедь, рак и щука”, ведь каждый тянет в свою сторону: один почил на лаврах, другой предлагает заниматься эксгумацией микростара, третьи ставят лично перед собой задачи несколько несопоставимые со своим уровнем подготовки… - каши из всего из этого не сваришь, так что я подозреваю, что через много-много дней воз будет и ныне там.
Вобщем, не поминайте лихом и счастливо оставаться! 😉
Хочу вернуться к двум деталям.
- Цифровые триммеры. Если таковые применяются - обычно это триммеры джойстиков и на индикатор выводятся рисунки, позволяющие визуально определить положение триммера. Маленькие прямоугольные индикаторы для этого не подходят.
- Джойстики остаются проблемой. Судя по сообщению Vad64, SANVA применяет специальные потенциометры, у которых полное изменение сопротивления происходит при повороте на угол 90…120 градусов. Если кто-то знает марку и где можно купить такие потенциометры – просьба сообщить. Футаба применяет стандартные потенциометры. Сигнал 2,5 плюс/минус 0,5 Вольт усиливает в пять раз операционный усилитель C3508C после мультиплексора. Мне пока не удалось повторить такое решение с другим ОУ, а C3508C купить невозможною Даже не нашел его характеристик… Может кто-нибудь помочь?
Хочу вернуться к двум деталям.
- Цифровые триммеры.
- Джойстики остаются проблемой.
- Цифровые триммеры более просты конструктивно, более гибки в использовании, могут выполнять несколько функций. Из-за распространности мобильных телефонов графические ЖКИ достаточно доступны и дешевы. Индикатор от Нокиа 3510, к-рый я применяю, стОит 150 руб.
- На мой взгляд, самое простое решение - запитать потенциометры от бОльшего напряжения. Скажем, при 7В питания потенциометров и 2.6-3.3В опорного напряжения АЦП получится искомый рабочий угол 90-120град. Правда, при этом придется подбирать механическое положение потенциометра.
Возможны также другие схемотехнические решения.
В конце концов, я не вижу большой проблемы в снижении эффективной разрядности джойстика с 10 до 8-8.5 разрядов.
Я тоже не вижу смысла в повышении разрядности положения ручек более 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 Кб - без внешнего ОЗУ не обойтись ?
Vad64 правильно делает! Думаю очень правильно! Следит за темой, дает намеки как обойти те грабли, на которые он наткнулся. А отдавать свои наработки всем подряд - смысл? Чтоб всем подряд отвечать почему у них что-то работает не так как они хотят??? Сколько ему вопросов задавали по шнурку на USB? Там не работать просто нечему, однако не работает же у кого-то… Тот, кто МОЖЕТ хоть что-то - сделает сам ВСЕ, ЧТО ЗАХОЧЕТ! (со временем…) Он сделал разработку ДЛЯ СЕБЯ, под исключительно СВОИ нужды и так, как ЕМУ удобней! И доводить ее он будет только под себя, по мере необходимости и свободного времени. Сырой или малофункциональный продукт Вам нужен? Будете его улучшать? Сделаете лучше чем у автора? Тогда делайте с нуля! Мне свои проги писать проще, чем в чужих разбираться. Давайте отстанем от Vad-a с намеками и просьбами, а займемся делом. Он поможет, обязательно, но надо делать а не просить!
Или купить в магазине и не париться!!!
очень дельное и информативное сообщение, а главное - по теме.
PS: всё-всё, уже ушел 😃
А про индикатор Пульта хорошо бы найти что-либо большое в диагонали и дешёвое (сказка) 256*256 монохром к примеру. Ну если уж всех так заводит GUI. Да ещё и Touch-Screen - вообще сказка. От наладонника 320*240 - и диагональ 3.5 дюйма - и нормальный размерчик, и цвет - все блага. Цены не искал, но менее $100 я надеюсь - вроде такую сумму мне называли барыги стоимость замены разбитого дисплея в наладоннике.
По-моему, это не слишком рационально с точки зрения соотношения функциональность/(цена+сложность). Необходимая информативность ЖКИ в передатчике не так уж велика - книжки с него не читать и фильмы не смотреть. Для организации красивого GUI большого формата придется делать довольно мощный графпакет и ресурсов он отожрет немеряно. Вписать конструктивно дисплей такого размера в существующий корпус тоже будет непросто.
Если хочется развесистое редактирование настроек, то по-моему, лучше уж использовать внешний редактор (на том же наладоннике). Т.е. изолировать модель данных и организовать хороший канал связи, как я предлагал в начале.
Не надо загонятся с потенциометрами ☕ .
У многих МК входы АЦП можно запрограммировать как дифы, выставить середину и максимальный размах, и будете иметь до 10бит при напруге от 2 до 3 вольт, при 2.5 средних (1мВ на единицу АЦП) 😛
А триммеры лучше цифровые, т.е. кнопки 😃
А в остальном МОЛОДЦЫ!!! 😃
По-моему, это не слишком рационально с точки зрения соотношения функциональность/(цена+сложность).
Просто для информации: я покупал рабочие ipaq 3660 с небольшими дефектами с рук за 500-600 руб, за эти деньги его и выбросить не жалко. При таком раскладе соотношение смещается, особенно если вспомнить что можно наваять в 32/64Мб памяти при процессоре в 200MHz. За такие деньги конечно придется еще поискать, но совсем несложно найти долл за 50, а это цена нормального ЖКИ (не от телефончика). Правда… если стоит сверхзадача собрать передатчик за гроши, то всё это не прокатит.
PS: теперь точно ушел.