реклама на сайте
подробности

 
 
5 страниц V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Ультразвуковой термометр, Он же анемометр и указатель направления ветра
Guest_orthodox_*
сообщение Aug 22 2009, 16:28
Сообщение #46





Guests






Цитата(Altair @ Aug 8 2009, 15:06) *
До сих пор флюгер не сделал потому что в близкой доступности нет мех. обработки. Без нее нормальный флюгер не сделать.


используйте покупные подшипники, фольгированный стеклотекстолит и пайку , легкие листовые пластики и полимерный клей.
Подшипники тоже возможно крепить пайкой на самом деле для этой цели. Можно целиком взять компьютерный вентилятор, крыльчатку от него на оси... Короче, были бы руки...
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 23 2009, 00:32
Сообщение #47


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Цитата(orthodox @ Aug 22 2009, 19:28) *
... покупные подшипники, фольгированный стеклотекстолит и пайку , легкие листовые пластики и полимерный клей...компьютерный вентилятор...


Это банально. А потому - неинтересно. Для меня это очень важный момент, потому как проект делается для собственного удовольствия. :-)


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 24 2009, 03:29
Сообщение #48


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



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

Видео с осциллографа


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 25 2009, 10:45
Сообщение #49


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Вот так выглядит сигнал при небольшом изменении расстояния между датчиками.


Вы бы не горячились про "гуанодатчики". Налицо большой оверхед в процедуре обработки прерывания по таймеру. С двух сторон от фронта/спада имеется мертвая зона, в которой значение пина, соответствующего компаратору не обновляется. Думаете, у меня зря там компаратор на ICP заведен? А так - все фурыкает. Хотя, сигнал малость слабоват (видно по тому, что меандр с компаратора не 50 на 50).

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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 25 2009, 16:07
Сообщение #50


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Мдя... Точняк. Заменил в прерывании возбуждения PORTC^=0b00000011;
на:
#asm("sbi 0x08,0")
#asm("cbi 0x08,1")

Судя по асм листингу прерывание существенно сократилось.

Видео завтра выложу. Дрожание снизилось с 4 мкс до 2 мкс.... Явно это тормозит проц.

Так что надо мудрить все по настоящему - думаю в "тестовом" варианте более не увидеть, т.к. наблюдать сигнал достоверно не смогу из-за программного метода его получения. А вот капчится он должен хардварно, независимо от кода.

З.Ы. Датчики все же гуано. при 60* развороте друг друга чуют только на 2 см, а напрямую начинают примерно на 35 см. Так что, либо 4 датчика, либо усилять.

Сообщение отредактировал Altair - Aug 25 2009, 16:41


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 25 2009, 17:36
Сообщение #51


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Судя по асм листингу прерывание существенно сократилось.


Вам бы еще компилятор сменить на вменяемый, например, IAR.

Цитата
Так что, либо 4 датчика, либо усилять.


Предлагаю 4 датчика и воспользоваться тем, что еще один датчик можно зацепить на порт D - на непосредственный вход компаратора - именно тот, который сидит на мультиплексоре. Второй - оставить на земле.

А по чем датчики брали?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 26 2009, 04:37
Сообщение #52


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Вот так выглядит при оптимизированном обработчике прерывания (масштаб такой же как на предидущем видео):

Видео с осциллографа

Невооруженным глазом видно, что фронт стал меньше колебаться.

Думаю что не бывает плохих компиляторов, быват плохие программисты. :-)) В крайнем случае напишу #asm... и, эх раззудись плечо, размахнись рука... :-)) Хотя и отвык от АСМа капитально.

Цитата
Предлагаю 4 датчика и воспользоваться тем, что еще один датчик можно зацепить на порт D - на непосредственный вход компаратора - именно тот, который сидит на мультиплексоре. Второй - оставить на земле.


Тогда можно вобще все датчики одним концом на мультиплексор, вторым на другой порт. Никакой разницы.


С датчиками оказалось сложно. Сначала хотел купить в Платане, но дешевых нет в наличии, а те которые есть предложили привезти по 500 р за шт. Я че то пожадничал. Негуманный ценник. И тогда заказал у китаезов вот такой парктроник. За 1000 р. я получил 4 датчика с комплектом электроники "для опытов". Правда пришлось месяц ждать доставки.
Отдельно датчики от парктроников по вменяемой цене тож не нашел.


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 26 2009, 04:52
Сообщение #53


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Тогда можно вобще все датчики одним концом на мультиплексор, вторым на другой порт. Никакой разницы.


Неа. Разница есть. Надо драйвить сразу оба пина в противофазе. Значит, оба вывода датчика должны быть подключены к одному порту.

Цитата
Думаю что не бывает плохих компиляторов


Бывают компиляторы, генерящие плохой код в не зависимости от мастерства программиста. ICC в их числе.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 27 2009, 01:21
Сообщение #54


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Цитата(Rst7 @ Aug 26 2009, 07:52) *
Неа. Разница есть. Надо драйвить сразу оба пина в противофазе. Значит, оба вывода датчика должны быть подключены к одному порту.

Пробовал и одновременно, и по очереди. Разницы не заметил.

Цитата(Rst7 @ Aug 26 2009, 07:52) *
Бывают компиляторы, генерящие плохой код в не зависимости от мастерства программиста. ICC в их числе.

У меня CodeVision. Хотя думаю особой разницы нет. Но меня ПОКА устраивает.

Вопрос еще такой. Интегратор это как? Мне представляется - сложить все измерения, например те же 1024 цкла, и по окончании поделить. Арифметическое среднее короче. Или принять первое значение, а потом в зависимости от значений следующих измерений либо прибавлять либо отнимать единичку к первому принятому?

Сообщение отредактировал Altair - Aug 27 2009, 01:29


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 27 2009, 04:54
Сообщение #55


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Интегратор это как? Мне представляется - сложить все измерения, например те же 1024 цкла, и по окончании поделить. Арифметическое среднее короче.


Да. Но есть тонкость - если значения будут колебаться 0,255,0,255... и т.д., например. Тут надо брать разность по модулю 255 между двумя измерениями и его дважды интегрировать.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 27 2009, 06:59
Сообщение #56


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



А не думали умножить сигнал на sin/cos тех же 40кгц, а уже потом проинтегрировать ? Вроде бы должно помочь принципиально подавить помехи ?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 27 2009, 07:36
Сообщение #57


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А не думали умножить сигнал на sin/cos тех же 40кгц, а уже потом проинтегрировать ? Вроде бы должно помочь принципиально подавить помехи ?


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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 28 2009, 04:01
Сообщение #58


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Можно измерять в диапазоне -128 0 +128. Значение капчи присваивать переменной типа signed char и отнимать 128. А для усреднения использовать модуль. Тогда получиться как в коде Грея - на краях диапазона различие в один младший разряд. Только одновременно нужно считать количество положительных и отрицательных компонент при усреднении, что бы понимать в положительной или отрицательной половине остаемся.

Сообщение отредактировал Altair - Aug 28 2009, 04:07


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 28 2009, 04:10
Сообщение #59


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Не совсем понятно, что Вы хотите сделать.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Altair
сообщение Aug 28 2009, 04:22
Сообщение #60


Участник
*

Группа: Свой
Сообщений: 71
Регистрация: 8-07-05
Из: Омск
Пользователь №: 6 644



Ну например постоянно принимается 0-255-0-255. Мы это число переводим в знаковое и от каждого измерения отнимаем 128. ТОгда получается что на выходе то -1 то 0. Вот их и усредняем. О, даже и отнимать ничего не надо. В знаковом виде будет то -127 то +127. Таймер то считает от 0 до 255, а в знаковом виде - от -127 до +127. Т.е. когда он досчитал до +127, переполнился и начинается - 127. Или я что то неправильно понимаю?


--------------------
Время не придет. Время уходит.
Go to the top of the page
 
+Quote Post

5 страниц V  « < 2 3 4 5 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 11:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01511 секунд с 7
ELECTRONIX ©2004-2016