IPB

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
> кто программирует на младших PICах?, нужна помощь, платная...
orthodox
сообщение 20.8.2010, 14:50
Сообщение #1


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Собственно, сабж.
Есть небольшая задачка, как раз для малых PIC-ов.
Алгоритм имеется. Отмоделирован , работает.
если что не так с алгоритмом - отвечаю я.
если кто еще умеет на АСМ - я был бы спокойнее за надежность решения.
Прерываний нет, ветвлений по условию - и то нет. Задача линейная...
Просто мне, как совсем новичку - рано еще...

Схема, плата - сделаю, этим отвлекать не стану...
ну, обсудим...

PS могут потребоваться небольшие доработки по ходу, типа небольшого
интегрирования, ну простенький КИХ фильтрик, возможно, придется добавить...
Но все коэффициенты будут =1, и отводов мало, так что проблем не ожидается...

Пишите в личку, если есть время у кого, можно и в скайп - обговорить условия и прочее...

Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 20.8.2010, 18:12
Сообщение #2


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 20.8.2010, 16:50) *
Пишите в личку, если есть время у кого, можно и в скайп - обговорить условия и прочее...

А можно несколько иначе?
Вы выкладываете алгоритм и мы вместе с Вами пишем программку.
Я так думаю, что без прерываний там ничего не выйдет...
Заодно и с этим вопросом разберемся.
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 20.8.2010, 20:06
Сообщение #3


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(Прохожий @ 20.8.2010, 18:12) *
Вы выкладываете алгоритм и мы вместе с Вами пишем программку.

плюс пицот!
А есть здесь вариант закрытого от кетайсев форума, жалко все-таки ...?
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 20.8.2010, 22:47
Сообщение #4


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Да есть в общем-то... для пущей конспирации он в разделе "Остальное". smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 20.8.2010, 23:30
Сообщение #5


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 20.8.2010, 19:12) *
А можно несколько иначе?
Вы выкладываете алгоритм и мы вместе с Вами пишем программку.
Я так думаю, что без прерываний там ничего не выйдет...
Заодно и с этим вопросом разберемся.


Не, без прерываний, если только не иметь в виду что-то типа служебных каких-то, не от алгоритма зависящих...
А-а-а, понял...
Да, вы правы, кое-что может и придется использовать, точно. Недавно же обсуждали в соседней теме про АЦП...

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

Где посидеть - найдем, но там конкретная типа халтурка с продолжением...
То есть уже отмоделированное все , и как-то надо не очень медленно все это загнать в камень.
То есть в продукте конечно поучаствовать хотелось бы, для контроля и надежности и обучения.
Но после его все же хочется купить, а не на халяву получить...
Ну или покупать , еще лучше...как обычно делают с камнями...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 21.8.2010, 21:50
Сообщение #6


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 21.8.2010, 1:30) *
Но после его все же хочется купить, а не на халяву получить...
Ну или покупать , еще лучше...как обычно делают с камнями...

Не говорите ерундой.
Вам по-настоящему надо всего два-три псевдо занятия, а дальше Вы все сделаете самостоятельно.
По неотложным проблемам существует Skype.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 0:08
Сообщение #7


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 21.8.2010, 22:50) *
Не говорите ерундой.
Вам по-настоящему надо всего два-три псевдо занятия, а дальше Вы все сделаете самостоятельно.
По неотложным проблемам существует Skype.

Да как-то неудобно отрывать время в коммерческих целЯх...
ладно бы чисто познавательно, но я ж с этих занятий потом иметь буду...
тем более, задача конкретно уже для дела.

насчет двух-трех псевдозанятий - согласен...
Перейти в начало страницы
 
+Цитировать сообщение
_pasha
сообщение 22.8.2010, 5:24
Сообщение #8


тот самый
Иконка группы

Группа: Мод
Сообщений: 13629
Регистрация: 24.11.2009
Из: Харьковская обл., UA
Пользователь №: 25



Цитата(GuruKiller @ 22.8.2010, 0:01) *
через жопу сделана работа со знаковыми числами.

Просто своя специфика. Carry флаг показывает наеборот переполнения-от этого усложнения.
Тем, кто осваивает пиковский асм. Если быстро ответите на вопрос "Как поменять местами значения, находящиеся в W и каком-нить регистре F без участия третьего операнда?", можете смело начинать что-то пиСать. Окно прорублено. smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 15:51
Сообщение #9


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(YIG @ 22.8.2010, 16:06) *
И всё-таки, какова задача (не нашёл этого в теме)?

Взять два синуса с аналоговых входов, оцифровать от середины диапазона,
считая ее нулем (то есть вычислить реальные мгновенные значения), получить корень квадратный из суммы квадратов по каждому отсчету , результат сравнить с константой - если меньше - выдать на ШИМ полное заполнение,
если больше - константу поделить на полученное значение и выдать на ШИМ, так чтобы при
например, полученном значении вдвое больше константы - шим генерировал бы скважность 2,
то есть обратная пропорция.


Значение перед вычислением заполнения ШИМ немного сгладить, простое усреднение нескольких отсчетов.
Возможно и не понадобится.

В основном, это все. Сколько денег?

PIC12F683, PIC12F615 - что-то вроде этого.
Камень не дороже доллара желательно.
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 22.8.2010, 17:03
Сообщение #10


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 22.8.2010, 17:51) *
Взять два синуса с аналоговых входов, оцифровать от середины диапазона,
считая ее нулем ...

Это место малость не понял.
Еще раз, если можно и помедленнее.
Я заппписую (С)...
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 17:45
Сообщение #11


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 22.8.2010, 17:32) *
Это место малость не понял.
Еще раз, если можно и помедленнее.
Я заппписую (С)...

Там 10 битный АЦП, но у него явного нуля нету, как бы однополярный.
Потому циферку 512 будем считать нулем...
Однако же, отрицательные значения при этом будут
неправильные получаться, нужно преобразовать дополнительный код как-то...
То есть просто считать старший разряд знаком не получится почему-то...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 22.8.2010, 18:29
Сообщение #12


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 22.8.2010, 19:45) *
Там 10 битный АЦП, но у него явного нуля нету, как бы однополярный.
Потому циферку 512 будем считать нулем...
Однако же, отрицательные значения при этом будут
неправильные получаться, нужно преобразовать дополнительный код как-то...
То есть просто считать старший разряд знаком не получится почему-то...

Просто так считать старший разряд знаковым низзя.
К примеру, число -512 в двоичной системе при 16 разрядной сетке будет выглядеть как:
1110 0000 0000 0000 -здесь 1 в старшем разряде - это минус.
Вычитание при этом заменяется сложением.
Поставим эксперимент.
-512+1023=+511
Итак:
1111 1110 0000 0000 - это -512
+
0000 0011 1111 1111 - это 1023
=
0000 0001 1111 1111 = 01ff = 511
Аналогично и в другую сторону.
-512+230=-282
Проверяем:
1111 1110 0000 0000 - это -512
+
0000 0000 1110 0110 - это 230
=
1111 1110 1110 0110 - это некое отрицательное число, поскольку старший бит 1.

Чтобы взять его модуль, надо сделать следующее:
1. Инвертируем число поразрядно:
0000 0001 0001 1001
2. Прибавляем к нему 1, т. е. дополняем до 2-х:
0000 0001 0001 1010 = 11А= 282, что и требовалось.

Перейти в начало страницы
 
+Цитировать сообщение
novichok
сообщение 22.8.2010, 18:32
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 40
Регистрация: 30.7.2010
Пользователь №: 189



Есть PIC12F675, есть программатор для него. Сколько платите, могу реально сделать, но делать бесплатно неинтересно. А много просить не хочется. Конфликт интересов елы палы. Работа недорогая, но затеваться не хочется. Как прижмет, ортодокс, конечно сделаю и пришлю Вам и чипы и исходники. Но это если совсем уж никто не сделает. Считайте меня запасным вариантом для своей разработки. Как американцы любят говорить план B smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 18:35
Сообщение #14


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 22.8.2010, 19:29) *
Просто так считать старший разряд знаковым низзя.

Ну я об этом же и говорю.
Я помню, как все это делается, только МК боюсь.

Цитата(novichok @ 22.8.2010, 19:32) *
Есть PIC12F675, есть программатор для него. Сколько платите, могу реально сделать, но делать бесплатно неинтересно. А много просить не хочется. Конфликт интересов елы палы. Работа недорогая, но затеваться не хочется. Как прижмет, ортодокс, конечно сделаю и пришлю Вам и чипы и исходники. Но это если совсем уж никто не сделает. Считайте меня запасным вариантом для своей разработки. Как американцы любят говорить план B smile.gif

Меня устраивает общий расклад....Но сумму вам нужно придумать как-то самому...
По любому, варианты пригодятся...

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

У PIC 12F675 не нашел ШИМ - модуля... Программно, что ли его делать? Некошерно, наверное, это ж сердце как бы...
Таймер-то восьмибитный есть, а 8 бит исходя из тактовой там и планировалось на вывод. ну, не знаю...
Перейти в начало страницы
 
+Цитировать сообщение
Прохожий
сообщение 22.8.2010, 18:44
Сообщение #15


сундук
***

Группа: Пользователи
Сообщений: 4043
Регистрация: 21.11.2009
Из: Ростов-на Дону
Пользователь №: 15



Цитата(orthodox @ 22.8.2010, 20:35) *
Ну я об этом же и говорю.
Я помню, как все это делается, только МК боюсь.

Бояться не надо.
Берете MPLAB - там все просто.
Пишете код расчета и прогоняете в симуляторе.
А иначе никак...
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 18:46
Сообщение #16


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(Прохожий @ 22.8.2010, 19:44) *
Бояться не надо.
Берете MPLAB - там все просто.
Пишете код расчета и прогоняете в симуляторе.
А иначе никак...

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

Да, и еще - какой ASM ставить? Как пристегивать?
Предпочтение тому, для которого описание поподробнее найдется.
И который по PICи заточен, конечно smile.gif
Я на СИ не смогу, мне надо каждый бит под контролем...
Чтобы оно без разрешения и взбзднуть не могло само...

Да и нет в СИ такого корня квадратного быстрого. как я себе уже спроектировал для ASM...

Собственно, сотню - две команд на ассемблере чтож, не потяну что ли?
Перейти в начало страницы
 
+Цитировать сообщение
Harbinger
сообщение 22.8.2010, 18:58
Сообщение #17


посіпака Хунти
Иконка группы

Группа: Мод
Сообщений: 20016
Регистрация: 21.11.2009
Из: Vinnitsa
Пользователь №: 11



Цитата(orthodox @ 22.8.2010, 19:35) *
У PIC 12F675 не нашел ШИМ - модуля... Программно, что ли его делать? Некошерно, наверное, это ж сердце как

Аааа... у P89LPC917 не только ШИМ, а и шустрый восьмибитный ЦАП есть. Всё-таки что-то клонит туда и клонит... как это преодолеть в сторону пиков, дал бы кто пинка? wink.gif
Перейти в начало страницы
 
+Цитировать сообщение
tester
сообщение 22.8.2010, 18:58
Сообщение #18


Активный участник
***

Группа: Пользователи
Сообщений: 41
Регистрация: 15.8.2010
Из: SPb
Пользователь №: 197



Цитата(orthodox @ 22.8.2010, 20:46) *
Да и нет в СИ такого корня квадратного быстрого. как я себе уже спроектировал для ASM...

Я бы рекомендовал вообще отказаться от корня. Операция довольно длительная, а толку в данном случае нет. Вам ведь только сравнивать надо? Сравнивайте с константой в квадрате.
Перейти в начало страницы
 
+Цитировать сообщение
orthodox
сообщение 22.8.2010, 19:01
Сообщение #19


ДИКТАТОР
Иконка группы

Группа: Мод
Сообщений: 23809
Регистрация: 20.11.2009
Из: Житомир
Пользователь №: 3



Цитата(tester @ 22.8.2010, 19:58) *
Я бы рекомендовал вообще отказаться от корня. Операция довольно длительная, а толку в данном случае нет. Вам ведь только сравнивать надо? Сравнивайте с константой в квадрате.

Мне надо извлекать корень.
И я это делаю за 4 деления и 4 суммы и 4 сдвига на 1 бит.
Должно успевать вроде бы.
Можно деления в принципе на умножения заменить, но выигрыша вроде нет особого.
У деления сходимость выше, меньше циклов. за 4 уверенно и с запасом.
Я делаю по принципу преобразования Фурье.
А по Хартли с "CAS"-ами его у меня и на ОУ уже есть, и работает.
Но там два корпуса 4*ОУ, один точный конденсатор и штук
20 резисторов... аж трех разных номиналов...

Ну, фазовая матрица, на 16 точек в эквиваленте... вообще-то 8, а еще 8 интерполяция, но ничего...
Перейти в начало страницы
 
+Цитировать сообщение
tester
сообщение 22.8.2010, 19:03
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 41
Регистрация: 15.8.2010
Из: SPb
Пользователь №: 197



Цитата(orthodox @ 22.8.2010, 21:01) *
Мне надо извлекать корень.
Я делаю по принципу преобразования Фурье.
А по Хартли у меня и на ОУ уже есть, и работает.
Но там два корпуса 4*ОУ, один точный конденсатор и штук
20 резисторов... аж трех разных номиналов...

Ну, фазовая матрица, на 16 точек в эквиваленте... вообще-то 8, а еще 8 интерполяция, но ничего...


А сколько выборок в секунду нужно? ПИК вообще потянет такое?
Перейти в начало страницы
 
+Цитировать сообщение

4 страниц V   1 2 3 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 12:00