РРМ кодер, эконом вариант?

ВитГо

Лучше просто выкладывайте по мере изменений - иногда и советы умные давать будут - ну и опять таки для целей топика (пример проектирования) это более подходит

avisenja

теперь с таймером😒, но надо ожевлять:(

PARSEK

Уже красивей с таймером!
А что это за значок справа под надписью 0,3w? (0,3w - это излучаемая мощность радиопередатчика?)

михалыч2

можно ещё узнать, схемне решение не будет изменяться? а тоя сейчас буду травить плату под кодер, а схеам может измениться 😉

ВитГо

Кстати поддерживаю!

Было бы неплохо сейчас определить что может поменяться а что нет…

Тогда в повторяемых конструкциях можно будет закладываться на возможные изменения…
Хотя нужно сказать что плата вроде не сложная… если что можно и новую сделать…
или собрать все на макетке…

avisenja

Всем привет!
Схемка может быть, что подкарректируется, лучше не суетиться или сделайте пробный на макетке, сейчас мне надо время, надо прогу чуть упорядочить, да и отдохнуть малость надо.
0.3 w - да это мощность, значёк под уровнем мощи - блокировка двигуна или глушилка

avisenja

Всем привет!
Кому совсем не в терпёж, то вот *на побаловаться*, много чего крутиться и вертиться, но не окончательная версия.
Прошивка уже со всеми битами конфигурации, загружаем в прогр и прошиваем, без всяких заморочек.

sslobodyan
avisenja:

вот *на побаловаться*, много чего крутиться и вертиться, но не окончательная версия

Посмотрел я на код. Вам здесь уже рекомендовали сначала ядро разработать, а Вы и не вняли совету. Занимаетесь второстепенными вещами - батарейкой, таймером, мощностью. А математики нужной то и нет. Нет свободных микшеров, ЕРА, экспонент. Даже калибровки (нормализации АЦП) я не увидел. Идете четко по моим граблям. И получается пока не бюджетнее, а намного хуже чем у Фокуса в плане функционала.
А почему Вы не работаете на 3.3 вольтовом питании? И не надо городить согласование с дисплеем.
Извините, если показался резковатым. Просто я почти год шел к четкому пониманию как оно должно работать, поэтому перебрал много вариантов, пока наконец не написал за два дня ядро. Правда, я сразу выбрал 18 серию за их приоритетные прерывания (а высокоприоритетном висит обработка формирования ППМ с помощью компаре-модуля, а на низкоприоритетном - опрос АЦП, кнопок и математика). А в суперцикле я оставил только интерфейс с пользователем как наименее приоритетную задачу.
Удачи Вам!

enb65

Немного не в тему, Сергей можно Вас попросить по подробней расказать о том как формировать PPM с помощью компаре модуля (основную идею и шаги алгоритма, это я для себя прошу). Можно в личку чтоб не засорять ветку.

avisenja

Всем привет!
Если дисплею положенно питаться по даташиту 2,7-3,3в, то и нечего его насиловать, понятие * ведь работает и от 5в * как базис --> сомнительно! Хорошо, питаем схему от 3,3в, тогда как согласовывать с внешними модулями (синтезатор и т.д. , или малоли чего ещё ?) - шило на мыло?
Вы * sslobodyan * целый год , выводили ПО, а я пока потратил 3 недели - урывками и просто физически всё сразу осмыслить невозможно, кстати, ещё добавлено часть кода, просто не до выкладывания сдесь, да и надо ли?
А кое чего Вы просто не увидали, или незахотели, и сразу критик-горлопанство! не солидно, лодно, на палемику просто нет времени, да и желания.

Давайте свой исходник, тоже покритикуем, - ШУТКА! (лично мне не интерестно)

ВитГо

Ребята, не ругайтесь !!!

Грабли они везде 😃
В чем то вы оба правы !
В какой то мере и общую структуру программы нужно продумать (чтобы потом как дерево листьями каждую ветку одевать), но зачастую до общей структуры нужно и листики представить…
Так что здесь просто копятся еще идеи и способы их реализации… одновременно отрабатывается схема…
На счет питания дисплея кстати мне больше нравиться идея с 3,3в согласованием - ведь действительно в основном все что кроме дисплея скорее всего будет иметь питание 5 в…

А вот исходники (прокомментированные) очень даже интересны !! и это без шуток !

Кстати, есть хорошее правило: критикуя предлагай !!

Возможно если следовать ему - то критика будет уже не критикой а предложением на изменение схемы или программы с обоснованием - вот это очень продуктивно !
Соответственно если будет предложена схема на 3.3 в - то тогда и можно будет говорить о подводных камнях и скалах

sslobodyan
enb65:

Немного не в тему, Сергей можно Вас попросить по подробней расказать о том как формировать PPM с помощью компаре модуля (основную идею и шаги алгоритма, это я для себя прошу). Можно в личку чтоб не засорять ветку.

Наиболее для меня приемлемым (быстрым и точным) показался такой вариант. Запускаем таймер1 с таким предделителем, чтобы он не переполнился за 20мс. Заполняем массив “перепадов” временем изменения сигнала. Обнуляем таймер1 и ССР1 пишем время первого “перепада” который формирует межканальную паузу первого канала. В ССР модуль настроен на сравнение ССР1 и таймера и по равенству переключает (либо вверх, либо вниз - зависит от ППМ или ИППМ) выход ССР с вызовом прерывания ССР. В прерывании выбираем следующее время “перепада”,грузим его в ССР1 и настраиваем модуль на переключение в другую сторону.

Вот кусок моего кода (как раз прерывание по формированию ППМ).

#int_CCP1 HIGH
void CCP1_isr(void)
{
if (edge_idx == 0) { // на первом канале обнулим таймер
set_timer1(0);
}
CCP_1 = edge[edge_idx];
if (edge_idx & 0x01) { // открывающий канальный перепад
setup_ccp1(CCP_COMPARE_CLR_ON_MATCH);
}
else { // закрывающий канальный перепад
setup_ccp1(CCP_COMPARE_SET_ON_MATCH);
};
if (++edge_idx == (num_ch+1)*2) {// пошла межкадровая пауза
edge_idx=0;
}
}

Здесь в edge[] записаны времена переключения порта ППМ (формируются отдельно в блоке математики), edge_idx-индекс этого массива, num_ch-количество формируемых каналов в пакете.

avisenja:

Всем привет!
Если дисплею положенно питаться по даташиту 2,7-3,3в, то и нечего его насиловать, понятие * ведь работает и от 5в * как базис --> сомнительно!

Я не предлагал питать дисплей 5 вольтами.

avisenja:

Вы * sslobodyan * целый год , выводили ПО, а я пока потратил 3 недели - урывками и просто физически всё сразу осмыслить невозможно, кстати, ещё добавлено часть кода, просто не до выкладывания сдесь, да и надо ли?

Я очень сильно сомневаюсь, что в Вашей программе кто-то еще сможет разобраться кроме Вас. Так что особого смысла в ее выкладывании я тоже УЖЕ не вижу.

avisenja:

А кое чего Вы просто не увидали, или незахотели, и сразу критик-горлопанство! не солидно, лодно, на палемику просто нет времени, да и желания.

Давайте свой исходник, тоже покритикуем, - ШУТКА! (лично мне не интерестно)

Молодой человек, Вы напоминаете мне меня самого лет так с 15 назад. Тоже за все хватался с неимоверным энтузиазмом. Это только потом приходит понимание, что не все так просто, как кажется на первый взгляд. Вот поэтому я и советовал Вам (именно советовал, а не критиковал и не горлопанил - не люблю людей, а особенно мне не знакомых, обижать) подумать, осмыслить и вникнуть в постановку задачи. Что Вы хотите сделать? Простой 4-канальник без наворотов типа еская? Или с нормальной математикой и возможностью настройки как у Фокуса и у брендов? Если Ваша задача - максимум, то решите, что будет самым в ней самым важным, а что пока можно отложить. Пока я увидел у Вас только простенький ви-хвост, да и то без возможности изменить степень влияния каждого микшируемого канала. Если я чего-то не заметил - не стесняйтесь, укажите мне и я заберу свои слова обратно. Для меня самым важным было как раз понять математику, как там все микшируется, как наложить кривую (экспоненту), где добавлять триммера и как ограничивать через ЕРА. А формировать ППМ на основе данных с АЦП - так таких кодеров куча в нете есть.
Давать свой исходник я Вам и не собираюсь. Там все на С, без асма.
Еще раз прошу прощения, что мог показаться резковатым - совсем не хотел никого обижать. В дальнейшем в полемику с Вами вступать не буду. Хочу чтобы все у Вас получилось и Вы могли с гордостью показать свой кодер, который не уступит Фокусу, а может и превзойдет его по функционалу.
Удачи!

enb65

Сергей спасибо, невнимательно читал документацию, почему то считал что в режиме сравнения не возникает прерывание 😦. Буду читать внимательнее 😃.

sslobodyan
enb65:

Сергей спасибо, невнимательно читал документацию, почему то считал что в режиме сравнения не возникает прерывание 😦. Буду читать внимательнее 😃.

Рад, что помог. Можете еще сюда заглянуть www.microchip.ru/lit/?mid=1x0
Если что, то давайте в личку.

михалыч2

но вот схему лучше адаптировать под 3.3 вольта, поскольку как раз таки почти все нормальные синтезаторы работают максимум от 3.3вольт! да и вообще я часто наблюдаю микросхемы которые работают в диаппазоне 2.5-5вольт. просто ну очень не хочется ставить столько сабилитронов 😉

avisenja

Всем привет!

Можно и 3,3в только в конфиге надо убрать сброс проца по снижению напряжения питания, и диоды прийдётся поставить с барьером шотки (малогабаритные!), т.к. порог переключения по напряжению из *1* в *0*, по входу у пика составляет 1в при питании 5в, а падение напряжения на кремниевом диоде в среднем 0,6-0,7в, вот и кумекайте.

Есть ещё одно общее правило, чем выше амплитуда сигналов управления, тем выше устойчивость к помехам.

Что дороже, модель или кучка стабилитронов?

Ладно…, у меня уже таймер тикает, правда за четыре минуты - секунда набегает, по мне этой точности ЗА ГЛАЗА.

михалыч2

а можно увидеть последнюю версию прошивки? просто я уже плату почти развёл, надо пик прошить.
и можно ещё узнать, куда подключать Upow TX к TX? и для чего он вообще? что бы измерять потребляемый ток?

avisenja

Всем привет!
Занимался со старым вариантом *эконом*, по-этому в новом, с инд от нокии 3310, маловато чего добавил.
Кстати, прежний вариант, чем-то более симп, а вот чем, немогу понять !?
TX это напр пинания передатч
А другое это вых мощность передатчика

22 days later
михалыч2

сегодня собрал кодер, проверил осцилографом порты, вроде бы всё в порядке, сигнал ппм генерируется. подключил дисплей, он не запустился. потыкал щупом осцилографа потры, везде кроме как на DATA сигнал пресказуемый, на дате идёт меандр с достоточно малой частотой, верх и низ меандра как будто промодулированны шумом, как будто щуп отпадает, но всё нормально подключено, в чём может быть проблема?, попробовал заменить дисплей, другой так же не работает

михалыч2

неужели никто не знает в чём может быть дело? плата собрана аккуратно, скоро фотку выложу. может быть дисплеи разные бывают? я покупал именно от нокии 3310 в профи