IPB

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

 Правила форума Правила форума
Роторный компрессометр своими руками
Рейтинг 5 V
 
Alarmistt
сообщение 6.4.2015, 18:04
Сообщение #1


Новичок (<30 постов)
*

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



Картинка в предыдущем сообщении для примера.
Вот файл замера:
https://drive.google.com/file/d/0B9qWdrDLHR...iew?usp=sharing
На протяжении всего замера минимальное значение отрицательное, т.е. есть пик значения положительный(его беру при расчете), а есть между ними минимальное значение - вот оно всегда отрицательное.
При этом до начала замера значения всего два -0,89 и -0,101 (кг/см2)
Прикрепленный файл  __________.jpg ( 72.94 килобайт ) Кол-во скачиваний: 14

В связи с этим два варианта

1. Если у всех так, то скорее всего вопрос программный
2. У меня не так как нужно работает двигатель или датчик
специально просмотрел что при повороте ротора к свечам впускное окно перекрыто, точнее в момент прохождения апексом нижней свечи

Сообщение отредактировал Alarmistt - 6.4.2015, 18:07
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 6.4.2015, 16:33
Сообщение #2


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Alarmistt @ 6.4.2015, 21:42) *
Приветствую!
Сделал несколько замеров по схеме в начале темы, и возник вопрос:
Почему минимальные значения давления отрицательные?

Прикрепленный файл  MegaLog.png ( 51.66 килобайт ) Кол-во скачиваний: 28


Если перед началом замера ротор находился в ВМТ, то первый оборот будет создаваться вакуум.
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 6.4.2015, 15:44
Сообщение #3


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Скорее всего при повороте ключа в камере создается разряжение.
Далее Нормально всасывается воздух и сжимается.
Так же стоит посмотреть значение на воздухе - насколько они близки к нулю в атмосфере.
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 6.4.2015, 13:42
Сообщение #4


Новичок (<30 постов)
*

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



Приветствую!
Сделал несколько замеров по схеме в начале темы, и возник вопрос:
Почему минимальные значения давления отрицательные?
При повороте ротора к свече вроде впускное окно уже перекрыто, в таком случае откуда разряжение?
во вложении картинка из второго поста этой темы

Прикрепленный файл  MegaLog.png ( 51.66 килобайт ) Кол-во скачиваний: 28
Перейти в начало страницы
 
+Цитировать сообщение
Baron4eg
сообщение 14.2.2015, 1:59
Сообщение #5


Новичок (<30 постов)
*

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



Приветствую, тоже хочу данный девайс.

Запишите меня в очередь или что там надо? rolleyes.gif

Сообщение отредактировал Baron4eg - 14.2.2015, 2:00
Перейти в начало страницы
 
+Цитировать сообщение
Piga
сообщение 6.2.2015, 14:45
Сообщение #6


Старик (>150 постов)
***

Группа: Пользователи
Сообщений: 155
Регистрация: 20.10.2009
Из: Рязань
Пользователь №: 3409



Доооо, ждём
Перейти в начало страницы
 
+Цитировать сообщение
Rotor
сообщение 6.2.2015, 0:18
Сообщение #7


Пользователь
**

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



Цитата(vl-alexander @ 5.2.2015, 20:36) *
Скоро-скоро всё будет. Просто желание сделать вещь не на скорую руку, а так, чтобы потом ей гордиться, немного затянуло процесс. smile.gif

Ждём-ждём ph34r.gif


--------------------
будь проще
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 5.2.2015, 19:36
Сообщение #8


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Скоро-скоро всё будет. Просто желание сделать вещь не на скорую руку, а так, чтобы потом ей гордиться, немного затянуло процесс. smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
Piga
сообщение 5.2.2015, 13:09
Сообщение #9


Старик (>150 постов)
***

Группа: Пользователи
Сообщений: 155
Регистрация: 20.10.2009
Из: Рязань
Пользователь №: 3409



Как успехи с компрессометром ? Никто больше не собирас модного с экранчиком?
Перейти в начало страницы
 
+Цитировать сообщение
Rotor
сообщение 5.2.2015, 1:59
Сообщение #10


Пользователь
**

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



Как обстоят дела?) jap.gif


--------------------
будь проще
Перейти в начало страницы
 
+Цитировать сообщение
dll
сообщение 12.1.2015, 15:20
Сообщение #11


Team member
*****

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



Цитата(John @ 12.1.2015, 16:10) *
Можно. Со следующей недели, постараюсь не забыть забрать из гаража.
Самовывоз и возврат в рабочее время - район м. ВДНХ/м. Алексеевская.
Башня 25 этажей, если помнишь ты заезжал как-то....


Помню Помню. Мне он не раньше чем через месяц понадобится.


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
John
сообщение 12.1.2015, 15:10
Сообщение #12


неабразованый калхозник
************

Группа: Администраторы
Сообщений: 1836
Регистрация: 13.10.2005
Из: Мытищи, Московская область, Россия.
Пользователь №: 4



Цитата(dll @ 12.1.2015, 15:56) *
Ммм, дашь погонять?

Можно. Со следующей недели, постараюсь не забыть забрать из гаража.
Самовывоз и возврат в рабочее время - район м. ВДНХ/м. Алексеевская.
Башня 25 этажей, если помнишь ты заезжал как-то....


--------------------
... что можно сделать из простой швейной машины Зингера? Небольшое приспособление - и получилась прелестная колхозная сноповязалка.
(с) Остап-Сулейман-Берта-Мария-Бендер
Перейти в начало страницы
 
+Цитировать сообщение
dll
сообщение 12.1.2015, 14:56
Сообщение #13


Team member
*****

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



Цитата(John @ 12.1.2015, 15:53) *
Есть в Подмосковье на ардуино с экранчиком, правда без корпуса

P. S. спасибо vl-alexander и pcdeath за идею, описание и прошивку.


Ммм, дашь погонять?


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
John
сообщение 12.1.2015, 14:53
Сообщение #14


неабразованый калхозник
************

Группа: Администраторы
Сообщений: 1836
Регистрация: 13.10.2005
Из: Мытищи, Московская область, Россия.
Пользователь №: 4



Цитата(dll @ 12.1.2015, 9:55) *
Дорогие мои, а есть у кого в москве компрессометр? Заказал мотор. Хочу по приезду понять нужно ли его разбирать

Есть в Подмосковье на ардуино с экранчиком, правда без корпуса

P. S. спасибо vl-alexander и pcdeath за идею, описание и прошивку.


--------------------
... что можно сделать из простой швейной машины Зингера? Небольшое приспособление - и получилась прелестная колхозная сноповязалка.
(с) Остап-Сулейман-Берта-Мария-Бендер
Перейти в начало страницы
 
+Цитировать сообщение
dll
сообщение 12.1.2015, 8:55
Сообщение #15


Team member
*****

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



Дорогие мои, а есть у кого в москве компрессометр? Заказал мотор. Хочу по приезду понять нужно ли его разбирать


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
cherepnev
сообщение 29.12.2014, 2:22
Сообщение #16


GOLD
************

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



Цитата(vl-alexander @ 28.12.2014, 23:35) *
Очередь уже приличная smile.gif Из тех, кто живет со мною рядом, и общается лично, плюс тех кто написал в личку, а так же тех, кто написал в теме - уже получается 7 человек. Именно такую пилотную партию девайсов я и планировал собрать в январе smile.gif


Прикрепленные файлы
Прикрепленный файл  Shut_up_and_take_my_money.jpg ( 346.61 килобайт ) Кол-во скачиваний: 4
 
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 28.12.2014, 16:35
Сообщение #17


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Rotor @ 27.12.2014, 20:54) *
А уже в очередь встаём?))) буду третьим))))


Очередь уже приличная smile.gif Из тех, кто живет со мною рядом, и общается лично, плюс тех кто написал в личку, а так же тех, кто написал в теме - уже получается 7 человек. Именно такую пилотную партию девайсов я и планировал собрать в январе smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
Rotor
сообщение 27.12.2014, 12:54
Сообщение #18


Пользователь
**

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



Цитата(fastmak @ 26.12.2014, 0:30) *
Когда старт продаж? Я второй в очереди после cherepnev.

А уже в очередь встаём?))) буду третьим))))


--------------------
будь проще
Перейти в начало страницы
 
+Цитировать сообщение
fastmak
сообщение 25.12.2014, 23:30
Сообщение #19


GOLD
************

Группа: Пользователи
Сообщений: 1236
Регистрация: 18.5.2006
Из: Екатеринбург
Пользователь №: 91



Цитата(vl-alexander @ 23.12.2014, 15:18) *
Затарился комплектующими на первую партию девайсов. По цене немного погорячился в прошлых постах. Слишком много мелочей, из которых сложилась сумма чуть больше чем я ожидал smile.gif Цена будет в пределах 5000 руб. Полный комплект с датчиком, проставкой под свечное отверстие, USB проводом, софтом.

Когда старт продаж? Я второй в очереди после cherepnev.
Перейти в начало страницы
 
+Цитировать сообщение
cherepnev
сообщение 25.12.2014, 7:01
Сообщение #20


GOLD
************

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



Цитата(vl-alexander @ 24.12.2014, 23:16) *



Тоже такой девайс хочу dry.gif
Перейти в начало страницы
 
+Цитировать сообщение
John
сообщение 24.12.2014, 16:43
Сообщение #21


неабразованый калхозник
************

Группа: Администраторы
Сообщений: 1836
Регистрация: 13.10.2005
Из: Мытищи, Московская область, Россия.
Пользователь №: 4



Цитата(vl-alexander @ 24.12.2014, 17:16) *

круть smile.gif


--------------------
... что можно сделать из простой швейной машины Зингера? Небольшое приспособление - и получилась прелестная колхозная сноповязалка.
(с) Остап-Сулейман-Берта-Мария-Бендер
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 24.12.2014, 16:16
Сообщение #22


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



http://www.youtube.com/watch?v=6jbe30eB2-c

Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 24.12.2014, 1:13
Сообщение #23


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Piga @ 24.12.2014, 1:04) *
что в телефон нужно для андройда?? для такого девайса ?? а то я в очередь за девайсом если что ;-)


андроид не ниже 3.2 и поддержка usb host (уже несколько лет как все девайсы это поддерживают) совместимость проверяется просто - покупается usb OTG шнур (usb мама) и втыкается в него флешка\клавиатура\мышь - что угодно. если заработает, то и компрессометр заработает.
Перейти в начало страницы
 
+Цитировать сообщение
Unnamed
сообщение 23.12.2014, 17:31
Сообщение #24


GOLD
************

Группа: Пользователи
Сообщений: 1743
Регистрация: 13.2.2010
Из: Санкт-Петербург
Пользователь №: 3645



Цитата
ага, а ещё под symbian и j2me

Не, под них не надо, они уже вымирающий вид, а вот виндафон развивается достаточно активно)))
Перейти в начало страницы
 
+Цитировать сообщение
Piga
сообщение 23.12.2014, 17:04
Сообщение #25


Старик (>150 постов)
***

Группа: Пользователи
Сообщений: 155
Регистрация: 20.10.2009
Из: Рязань
Пользователь №: 3409



что в телефон нужно для андройда?? для такого девайса ?? а то я в очередь за девайсом если что ;-)
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 23.12.2014, 16:07
Сообщение #26


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Unnamed @ 23.12.2014, 23:56) *
Даешь версию софта под Windowsphone ))))


ага, а ещё под symbian и j2me smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
Unnamed
сообщение 23.12.2014, 15:56
Сообщение #27


GOLD
************

Группа: Пользователи
Сообщений: 1743
Регистрация: 13.2.2010
Из: Санкт-Петербург
Пользователь №: 3645



Даешь версию софта под Windowsphone ))))
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 23.12.2014, 15:18
Сообщение #28


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Прикрепленный файл  DSC_6431.jpg ( 339.31 килобайт ) Кол-во скачиваний: 50

Первые шпионские фотки smile.gif Прототип почти готов.

Затарился комплектующими на первую партию девайсов. По цене немного погорячился в прошлых постах. Слишком много мелочей, из которых сложилась сумма чуть больше чем я ожидал smile.gif Цена будет в пределах 5000 руб. Полный комплект с датчиком, проставкой под свечное отверстие, USB проводом, софтом.

P.S. любителям эппл: надежда что проект будет портирован под iOS всё-же есть. Это зависит от его успеха на андроиде. На 2014 год рынок всех гаджетов на 80% занят андроидом, и лишь 13% занимает iOS. Надеюсь на понимание )

Сообщение отредактировал vl-alexander - 23.12.2014, 15:24
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 8.12.2014, 12:22
Сообщение #29


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(FIL @ 8.12.2014, 19:30) *
а как быть людям с аллергией на андройды? под яблоко есть?


Можно купить китайский андроидо-планшет за 3 тыщи.
Чтобы писать софт под айфон, нужно купить хотя бы сымый дешевый мак бук эир за 1000$. их IDE работает только под macos. у меня нет желания такие затраты нести. В андроиде, для разработчика, всё проще - чтобы начать писать затрат никаких.

P.S. аллергии лечатся медикаментозно smile.gif (шутка)

Цитата(dennis_ex @ 8.12.2014, 19:51) *
2000-3000 руб. Фантастика если у них старая модель 350$ без доставки. Реально новая модель будет еще дороже. 2000 тыщи это может быть себестоимость в Китайском подвале.


2000-3000 это моя цена предполагаемая

Сообщение отредактировал vl-alexander - 8.12.2014, 12:26
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 8.12.2014, 11:51
Сообщение #30


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



2000-3000 руб. Фантастика если у них старая модель 350$ без доставки. Реально новая модель будет еще дороже. 2000 тыщи это может быть себестоимость в Китайском подвале.

Сообщение отредактировал dennis_ex - 8.12.2014, 11:52
Перейти в начало страницы
 
+Цитировать сообщение
FIL
сообщение 8.12.2014, 11:30
Сообщение #31


GOLD
************

Группа: Пользователи
Сообщений: 1032
Регистрация: 8.2.2009
Из: Красноярск
Пользователь №: 2857



Цитата(vl-alexander @ 8.12.2014, 14:29) *
twisted rotary. подробности у них на фэйсбуке.

По моим прикидкам, стоимость данного изделия на продажу будет порядка 2000-3000 руб. Телефон на андроиде почти у каждого есть, и в стоимость естественно не входит smile.gif


а как быть людям с аллергией на андройды? под яблоко есть?
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 8.12.2014, 9:29
Сообщение #32


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(dennis_ex @ 8.12.2014, 15:50) *
А кто они?
Всяко будет не меньше 10 ки рублей.
Я свой собрал за 2.5.
Сейчас буду фрезеровать корпус из алюминия.

twisted rotary. подробности у них на фэйсбуке.

По моим прикидкам, стоимость данного изделия на продажу будет порядка 2000-3000 руб. Телефон на андроиде почти у каждого есть, и в стоимость естественно не входит smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
cherepnev
сообщение 8.12.2014, 8:14
Сообщение #33


GOLD
************

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



Цитата(vl-alexander @ 8.12.2014, 14:03) *
Прикрепленный файл  10435679_801913179841277_7358671202412756026_n.jpg ( 50.19 килобайт ) Кол-во скачиваний: 84

Они украли мою идею smile.gif Собственно, в скором времени, такое же буду реализовывать. Очень просто, дешего, и наверное действительно можно будет на поток поставить.


Подскажи где заказать можно?smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 8.12.2014, 7:50
Сообщение #34


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Цитата(vl-alexander @ 8.12.2014, 8:03) *
Прикрепленный файл  10435679_801913179841277_7358671202412756026_n.jpg ( 50.19 килобайт ) Кол-во скачиваний: 84

Они украли мою идею smile.gif Собственно, в скором времени, такое же буду реализовывать. Очень просто, дешего, и наверное действительно можно будет на поток поставить.

А кто они?
Всяко будет не меньше 10 ки рублей.
Я свой собрал за 2.5.
Сейчас буду фрезеровать корпус из алюминия.
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 8.12.2014, 7:03
Сообщение #35


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Прикрепленный файл  10435679_801913179841277_7358671202412756026_n.jpg ( 50.19 килобайт ) Кол-во скачиваний: 84

Они украли мою идею smile.gif Собственно, в скором времени, такое же буду реализовывать. Очень просто, дешего, и наверное действительно можно будет на поток поставить.
Перейти в начало страницы
 
+Цитировать сообщение
Piga
сообщение 26.11.2014, 20:13
Сообщение #36


Старик (>150 постов)
***

Группа: Пользователи
Сообщений: 155
Регистрация: 20.10.2009
Из: Рязань
Пользователь №: 3409



да мне тоже интересно, может есть тут кто смог бы собрать этот самый "роторный компрессометр своими руками" за денежку?
Перейти в начало страницы
 
+Цитировать сообщение
Rotor
сообщение 17.9.2014, 1:57
Сообщение #37


Пользователь
**

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



Я конечно не "самый умный")) может есть тут кто смог бы собрать этот самый "роторный компресометр своими руками" за денежку?) или может есть ещё какие то супер бюджетные варианты?)))

Только не трольте)))))))))))


--------------------
будь проще
Перейти в начало страницы
 
+Цитировать сообщение
FIL
сообщение 10.9.2014, 4:47
Сообщение #38


GOLD
************

Группа: Пользователи
Сообщений: 1032
Регистрация: 8.2.2009
Из: Красноярск
Пользователь №: 2857



Цитата(Alarmistt @ 9.9.2014, 17:40) *
Всем спасибо за разъяснения!
По ссылке результаты замеров на трех машинах RX-8.
https://drive.google.com/folderview?id=0B9q...amp;usp=sharing
P.s. не понял в чем вопрос про подключение к обд...

Ну я не уловил что разговор о восьмерке sleep.gif
Немцы мне обещали сделать протокол для семерки под скандок, вопрос времени unsure.gif
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 10.9.2014, 2:47
Сообщение #39


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Alarmistt @ 9.9.2014, 20:40) *
P.s. не понял в чем вопрос про подключение к обд...

Rx-7 не совместима с obd-2, поэтому для многих форумчан это в диковинку smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 9.9.2014, 12:40
Сообщение #40


Новичок (<30 постов)
*

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



Всем спасибо за разъяснения!
По ссылке результаты замеров на трех машинах RX-8.
https://drive.google.com/folderview?id=0B9q...amp;usp=sharing
P.s. не понял в чем вопрос про подключение к обд...
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 9.9.2014, 6:27
Сообщение #41


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Цитата(vl-alexander @ 9.9.2014, 5:25) *
потому что надо было внимательнее прочитать второе сообщение в теме. Самая последняя строчка:
Формула: rpm = 180 / t. откуда взялась цифра 60?
180/0.852 = 211 оборотов в минуту.



очевидно же что RX-8.

60/т если измерять время между соседними пиками(секциями камеры)
180/т если мерим время между 1 и 4 пиком (т.е. все три секции)
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 9.9.2014, 4:25
Сообщение #42


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Alarmistt @ 8.9.2014, 17:30) *
время (сек)_______6.217_____7.069
подсчет оборотов 60/(7.069-6.217)=60/0.852=70 об/мин, как-то маловато
Собираем авто и пробуем выполнить замер оборотов по OBD, получается 210 об/мин.
Теперь вопрос: В чем трабл, почему по графику такие обороты? Я не правильно рассчитал обороты или что-то не так в замере?
файл замера: https://drive.google.com/file/d/0B9qWdrDLHR...dit?usp=sharing

потому что надо было внимательнее прочитать второе сообщение в теме. Самая последняя строчка:
Формула: rpm = 180 / t. откуда взялась цифра 60?
180/0.852 = 211 оборотов в минуту.


Цитата(FIL @ 8.9.2014, 19:15) *
к ОБД чем подключаетесь?!

очевидно же что RX-8.

Сообщение отредактировал vl-alexander - 9.9.2014, 4:25
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 8.9.2014, 12:49
Сообщение #43


Новичок (<30 постов)
*

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



Надеюсь за флуд не сочтут. Подключение к OBDII китайским адаптером на ELM327 + телефон на андройд с программой Torque
Перейти в начало страницы
 
+Цитировать сообщение
FIL
сообщение 8.9.2014, 11:15
Сообщение #44


GOLD
************

Группа: Пользователи
Сообщений: 1032
Регистрация: 8.2.2009
Из: Красноярск
Пользователь №: 2857



Цитата(Alarmistt @ 8.9.2014, 14:30) *
Приветствую!
Провел на днях замер на авто, и возник вопрос.
По графику определяю давление в секциях
________________1-я пика___4-я пика
давление (кг/см2)__6.619_____6.777
время (сек)_______6.217_____7.069
подсчет оборотов 60/(7.069-6.217)=60/0.852=70 об/мин, как-то маловато
Собираем авто и пробуем выполнить замер оборотов по OBD, получается 210 об/мин.
Теперь вопрос: В чем трабл, почему по графику такие обороты? Я не правильно рассчитал обороты или что-то не так в замере?
файл замера: https://drive.google.com/file/d/0B9qWdrDLHR...dit?usp=sharing

к ОБД чем подключаетесь?!
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 8.9.2014, 9:30
Сообщение #45


Новичок (<30 постов)
*

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



Приветствую!
Провел на днях замер на авто, и возник вопрос.
По графику определяю давление в секциях
________________1-я пика___4-я пика
давление (кг/см2)__6.619_____6.777
время (сек)_______6.217_____7.069
подсчет оборотов 60/(7.069-6.217)=60/0.852=70 об/мин, как-то маловато
Собираем авто и пробуем выполнить замер оборотов по OBD, получается 210 об/мин.
Теперь вопрос: В чем трабл, почему по графику такие обороты? Я не правильно рассчитал обороты или что-то не так в замере?
файл замера: https://drive.google.com/file/d/0B9qWdrDLHR...dit?usp=sharing
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 13.8.2014, 21:55
Сообщение #46


Новичок (<30 постов)
*

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



Приветствую!
Пробный замер выполнен. Результаты во вложении (может кому интересно), правда акум сел. На первой секции (второй замер) уже еле крутил.
https://www.dropbox.com/s/572tc7snk39gyy8/c...on_13.25.24.msl
https://www.dropbox.com/s/vjvi3h9veim7pxd/c...on_13.54.50.msl
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 6.8.2014, 2:17
Сообщение #47


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(Alarmistt @ 6.8.2014, 3:23) *
Приветствую! Собрал схему из первого поста этой темы. Прошил ардуино, запустил процессинг, подключил ардуино к компу, запустил скетч из 51 сообщения и вот тут незадача
выскакивает ошибка, окно записи зависает и нечего не происходит (
Кто может подсказать что сделано не так?
Заранее благодарен!

P.S. Ноутбук, виндовс 7 64 бит, ардруино http://www.aliexpress.com/snapshot/6049728348.html, датчик http://www.aliexpress.com/snapshot/316059559.html.


Надо было всю тему прочитать smile.gif обсуждалось. Винда не разрешает использовать знак двоеточия в названиях файлов.

Цитата
У кого под виндой прога написанная в процессинге не работает поменяйте строку
output = createWriter("compression_" + str(hour()) + ":" + str(minute()) + ":" + str(second()) + ".msl");
на
output = createWriter("compression_" + str(hour()) + "_" + str(minute()) + "_" + str(second()) + ".msl");

У меня выдало ошибку при создании файла - не могу создать такой файл. Проблема в разделителе ":" после замены на "_" все ОК


Сообщение отредактировал vl-alexander - 6.8.2014, 2:19
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 5.8.2014, 19:23
Сообщение #48


Новичок (<30 постов)
*

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



Приветствую! Собрал схему из первого поста этой темы. Прошил ардуино, запустил процессинг, подключил ардуино к компу, запустил скетч из 51 сообщения
Цитата(vl-alexander @ 26.7.2013, 6:01) *
Далее всё просто - нажимаем на клавиатуре кнопку "S"
и вот тут незадача
Прикрепленный файл  ________________________.png ( 218.41 килобайт ) Кол-во скачиваний: 31

выскакивает ошибка, окно записи зависает и нечего не происходит (
Кто может подсказать что сделано не так?
Заранее благодарен!

P.S. Ноутбук, виндовс 7 64 бит, ардруино http://www.aliexpress.com/snapshot/6049728348.html, датчик http://www.aliexpress.com/snapshot/316059559.html.
Перейти в начало страницы
 
+Цитировать сообщение
VxD
сообщение 12.7.2014, 11:39
Сообщение #49


Новичок (<30 постов)
*

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



добрый день. сижу, читаю про копрессометр на ардуино. не нашел схему. ткните пожалуйста.
спасибо
Перейти в начало страницы
 
+Цитировать сообщение
Alarmistt
сообщение 1.7.2014, 20:26
Сообщение #50


Новичок (<30 постов)
*

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



Приветствую! Собрал все как описано в первом посте, ардруино прошил, но при запуске проги для замера, выскакивает ошибка. В чем проблема?
Вопрос решен сам собой - обновил программу

Сообщение отредактировал Alarmistt - 1.7.2014, 20:39
Прикрепленные файлы
Прикрепленный файл  __________.png ( 215.32 килобайт ) Кол-во скачиваний: 37
 
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 19.6.2014, 16:09
Сообщение #51


Новичок (<30 постов)
*

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



Отловлено несколько багов, связанных с крайне низком объёмом памяти у АТМеги и большим разбросом параметров кнопок на LCD Keypad.

Версия 0.14.
Главные изменения:
- Между пином 3 и землёй повешена кнопка калибровки.
- С пина 2 убрана кнопка выбора типа датчика - теперь тип переключается по нажатию "вверх-вниз" до замера
- При первом включении после заливки скетча обязательна калибровка кнопок LCD keypad, также калибровку можно выполнить, зажав кнопку калибровки при подаче питания на компрессометр.
- Мерить можно только одну секцию за один раз. датчик на аналоговом входе 1, можно менять.
- Замер останавливается через заданный таймаут (по умолчанию 30 секунд), а не по нажатию кнопки.

Просьба оттестировать и сообщить, если будут баги.
Модеров прошу потереть старый пост, чтоб не было проблем с использованием старого скетча..

Код
// Компрессометр by PCDeath  

char ver[6] = "v0.14";

/* Версия 0.14
Для Arduino Uno R3 с LCD keypad shield. На других платформах не проверялось.
Мерит обычные поршневые двигатели 4Т/2Т или РПД.

В связи с большим разбросом значений кнопок у разных производителей LCD keypad Shield добавлена
возможность калибровки кнопок.
Для калибровки необходимо прицепить тактовую кнопку между цифр.пином 3 и массой.
Датчик давления 5В, при атм.давлении возвращают 0,5В (102), при макс.давлении - 4,5В (922), погрешность не более +/-10%
Верхний предел давления регулируемый, можно использовать 2 различных типа датчиков,
в моём варианте 10,5 кгс/см2 и 14 кгс/см2.

Установлены 2 порога давления - 20% и 30% от показаний датчика, для чёткого разделения по секциям
Датчик подключается  к аналоговому входу Arduino, по умолчанию 1, можно менять.
Рекомендуется питать компрессометр от отдельного батарейного источника питания +8...+12В, во избежание помех и
ошибок из-за просадки напряжения при прокрутке двигателя стартером.


Управление:

Калибровка кнопок:
Если при включении нажата кнопка на цифр.пине 3, или ПО только что залито в контроллер, компрессометр переходит в режим калибровки.
При калибровке требуется нажать кнопку, которая запрошена на экране, затем  нажать кнопку калибровки.
После записи значений на экране появится приглашение отпустить кнопку калибровки.
Отпускаем сначала кнопку калибровки, затем - кнопку на keypad shield, которую откалибровали, и переходим к калибровке следующей кнопки.
По окончании калибровки требуется перезагрузить компрессометр

До замера:
"ВВЕРХ"  переходит к типу датчика 2
"ВНИЗ"   переходит к типу датчика 1
"ВПРАВО" переводит к следующему типу измерения
"ВЛЕВО"  переводит к предыдущему типу измерения


По нажатию кнопки "SELECT" стартует процесс измерения, останавливается через заданное время.
При старте происходит десятикратный опрос датчиков с интервалом в 50 мс.
Если показания на входе имеют погрешность более 10% от заявленного значения,
(датчик отсутствует или замкнут), на экран выводится предупреждение с указанием, в какую сторону погрешность

Во время роторного замера на экране сырые значения на аналоговом входе для всех камер.

Во время поршневого замера на экране сырые значения.

После роторного замера:
"ВВЕРХ"  показывает скорректированные значения
"ВНИЗ"   возвращается к истинным значениям

Если  хотя бы у одной из камер давление ниже порога или обороты двигателя слишком низкие
- выдаётся предупреждение о низких оборотах или вылете секции.

После поршневого замера на кнопки не реагирует.

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

Приятного использования.
PCDeath

P.S.
Если захотите поблагодарить создателя, это можно сделать:
1. Добрым словом где-нибудь на форумах
2. Запчастями от РПД ВАЗа и RX-7
3. Деньгами на QIWI-кошелёк +79053834132

Коммерческое распространение кода без согласования с автором запрещено
*/

/**********************************************************************
Четыре параметра ниже требуется поправить под используемые Вами датчики
***********************************************************************/

int MAX_SENS1   = 105;               // Макс.показания датчика 1 типа в кгс/см2 * 10
int MAX_SENS2   = 140;               // Макс.показания датчика 2 типа в кгс/см2 * 10
byte TRESHOLD1  = 20;                // Порог 1 в процентах от диапазона датчика. Рекомендуется не менее 2 атм.
// При падении давления ниже порога 1 компрессометр считает замер камеры завершённым.
byte TRESHOLD2  = 30;                // Порог 2 в процентах от диапазона датчика. Рекомендуется не менее 1,5 от порога 1.
// При возрастании давления выше порога 2 компрессометр начнёт замер следующей камеры.

/*********************************************************************
Всё, что дальше, менять не стоит, если Вы не знаете точно, что делаете
**********************************************************************/
int MINS        = 102;               // Показания датчика на аналоговом входе при атмосферном (нулевом) давлении
int MAXS        = 922;               // Показания датчика на аналоговом входе при макс.давлении
byte MODE       = 0;                 // Режим работы. 0 - роторный, 1 - поршневой 4Т, 2 - поршневой 2Т
int CORRPM      = 250;               // Обороты, к которым приводится компрессия при коррекции
int MINRPM      = 170;               // Мин.допустимые для измерения обороты, не менее 2/3 от CORRPM
byte Z_FIRST    = 6;                 // Оборот, с которого начинается подсчёт RPM
byte Z_LAST     = 9;                 // Оборот, на котором заканчивается подсчёт RPM, не менее Z_FIRST + 3, не более Z_FIRST + 15
byte TIMER      = 2;                 // Периодичность замера в миллисекундах, не более 30.
byte TIMEOUT    = 30;                // Время, отведённое на замер после нажатия SELECT
#define SENSPIN   1                  // Аналоговый пин, на котором висит датчик
#define btnCAL    3                  // Цифровой пин, на котором висит кнопка калибровки

/********************************
БОЛЬШЕ НАСТРАИВАТЬ НИЧЕГО НЕ НАДО
********************************/


/*******************************
      ОБЪЯВЛЯЕМ ПЕРЕМЕННЫЕ
*******************************/


int  CALIBRE,                        // Для калибровки "нуля" датчика и установки порогов измерения
     TRESHLOW, TRESHHIGH,            // Для вычисления пороговых значений
     KGSCOMPR[3],                    // Итоговые значения компрессии, приведённые к кгс/см2 * 10
     RPM,                            // Частота вращения вала.
     CORRVAL,                        // Значение множителя коррекции
     bUP, bDN, bLT, bRT, bSL;        // Переменные для значений кнопок

byte i,                              // Счётчики для калибровки датчиков
     ERRORCODE,                      // Коды ошибок    
     BTN[6];                         // Массив для калибровки кнопок

boolean START, CORR, RPMCOUNT,       // Флаги старта, коррекции, подсчёта оборотов
        ERR, OUT,                    // Флаг ошибки датчика, флаг вывода на экран
        MAX[3];                      // Массив флагов информирования о достижении предельного давления

volatile int DIGCOMPR[3],            // Максимальные значения компрессии, сырые
             CURRCNT, Z_TMP, CNT[16];// Счётчик "тиков" таймера и массив для расчёта оборотов

volatile byte CH, Z;                 // Номер камеры для расчётов, номер оборота
                                

volatile boolean STOP, UP;           // Флаги остановки и движения к ВМТ
                

int MAX_SENS        = MAX_SENS1;                          // Устанавливаем начальное значение в тип 1
unsigned int T_OUT  = TIMEOUT / TIMER * 1000;             // Счётчик "тиков" для таймаута замера
unsigned int FREQ   = 2000 * TIMER;                       // Предельное значение для таймера. 1 мсек = 2000 тактов при делителе /8
unsigned int MAXCNT = 60000 / TIMER / MINRPM;             // Максимальное зачение счётчика для мин.оборотов
long DIVRPM         = 60000 / TIMER * (Z_LAST - Z_FIRST); // Делитель для подсчёта RPM.


/********************************************
ЦКПЛЯЕМ БИБЛИОТЕКИ И УЧИМ РАБОТАТЬ С КНОПКАМИ
********************************************/


#include <EEPROM.h>                                      // Прицепляем EEPROM для калибровки кнопок

#include <LiquidCrystal.h>                               // Прицепляем LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte lcd_key    = 0;
int adc_key_in  = 0;
#define btnNONE   0
#define btnSELECT 1
#define btnLEFT   2
#define btnUP     3
#define btnDOWN   4
#define btnRIGHT  5

// Обработка кнопок
int read_LCD_buttons()
{
adc_key_in = analogRead(0);         // Читаем значение нопок.
if (adc_key_in > bSL +10 )  return btnNONE;
if (adc_key_in < bRT)  return btnRIGHT;
if (adc_key_in < bUP)  return btnUP;
if (adc_key_in < bDN)  return btnDOWN;
if (adc_key_in < bLT)  return btnLEFT;
if (adc_key_in < bSL)  return btnSELECT;  
return btnNONE;                    // Если "всё не так" - считаем. что никакая кнопка не нажата.
}




void setup() {
  lcd.begin(16, 2);                          // Запускаем библиотеку LCD
  ERR = 1;                                   // Ставим датчику признак высокого уровня на входе
  
/******************************************
     РИСУЕМ СПЛЕШ-СКРИН С ВЫВОДОМ ВЕРСИИ
******************************************/

  lcd.setCursor(0,0);                        
  lcd.print(" ROTARY C-METER ");            
  lcd.setCursor(0,1);                        
  lcd.print("      BY PCDeath");            
  lcd.setCursor(0,1);                        
  lcd.print(ver);            
  delay (3000);

/*****************************************
НАСТРАИВАЕМ ТАЙМЕР НА НАЧАЛЬНЫЕ ЗНАЧЕНИЯ
*****************************************/

  TCCR1A  = 0; TIMSK1 = 0;                    // Сбрасываем на всякий эти регистры
  TCCR1B  = 0;                                // Мало ли что arduino IDE туда записало
  TCNT1   = 0;                                // Сбрасываем счетный регистр таймера 1
  OCR1A   = 0;                                // Отключаем таймер
  TCCR1B  |= ((1 << CS11) | (1 << WGM12));    // Настраиваем таймер на делитель /8, режим CTC

/*****************************************
     ОБРАБАТЫВАЕМ КАЛИБРОВОЧНУЮ КНОПКУ
*****************************************/

pinMode(btnCAL, INPUT);                      // Назначаем цифр.пину 3 режим входа
digitalWrite(btnCAL, HIGH);                  // Устанавливаем высокий уровень сигнала по умолчанию

if (digitalRead(btnCAL) == 0)                // Если нажата кнопка калибровок
  EEPROM.write(0, 0);                        // Снимаем флаг выполнения калибровки
  
BTN[0] = EEPROM.read(0);                     // Читаем значение флага калибровки
if (BTN[0] != 1) {                           // Если необходима калибровка,
  ERRORCODE = 5;                             // Выносим в обработку ошибки
  OUT = 1;                                   // Настраиваем флаг записи
  CURRCNT = analogRead(0);                   // Калибруем отсутствие нажатия
}
else {
  bSL = int(EEPROM.read(1) * 4);             // Читаем значение для кнопки "SELECT"  
  bLT = int(EEPROM.read(2) * 4);             // Читаем значение для кнопки "ВЛЕВО"
  bUP = int(EEPROM.read(3) * 4);             // Читаем значение для кнопки "ВВЕРХ"  
  bDN = int(EEPROM.read(4) * 4);             // Читаем значение для кнопки "ВНИЗ"
  bRT = int(EEPROM.read(5) * 4);             // Читаем значение для кнопки "ВПРАВО"
  
}
}


void loop() {
/***************************************
           ОБРАБОТКА ОШИБОК
***************************************/

if (ERRORCODE > 0){                      
  TIMSK1  &= (0 << OCIE1A);              // Запрещаем генерацию прерывания таймера 1
  OCR1A = 0;                             // И останавливаем таймер
  
  if (ERRORCODE == 5) CALIBER();         // Если требуется калибровка, входим в режим калибровки кнопок
  
  /************************************
    ОШИБКА НИЗКИХ ОБОРОТОВ ИЛИ ВЫЛЕТА
  ************************************/
  
  if (ERRORCODE == 3) {
  lcd.setCursor(0,0);      
  lcd.print("LOW RPM!");               // Выводим на экран ошибку
  lcd.setCursor(0,1);    
  lcd.print("OR CHAMBER  DOWN");  
  ERRORCODE ++;
  }
  
  /********************************************
    ОШИБКА ОТСУТСТВИЯ ИЛИ НЕИСПРАВНОСТИ ДАТЧИКА
  ********************************************/
  
  if (ERRORCODE == 1){                
  lcd.setCursor(0,0);      
  lcd.print(" SENSOR  ERROR! ");       // Выводим на экран ошибку
  lcd.setCursor(0,1);    
  if (ERR == 0)                        // Если собранные значения ниже заявленных более чем на 10%
        lcd.print(" VALUE TOO LOW  "); // Информируем о слишком низком значении
  else  lcd.print(" VALUE TOO HIGH "); // Иначе информируем о слишком высоком значении
  ERRORCODE ++;
  }
  return;
}


/***************************************************************
    ЕСЛИ НЕ ПРОИЗВОДИТСЯ ЗАМЕР КОМПРЕССИИ, ОБРАБАТЫВАЕМ КНОПКИ
***************************************************************/

if (START - STOP == 0 ) {                      
lcd_key = read_LCD_buttons();                   // Обрабатываем нажатие кнопки на LCD Shield
if (lcd_key > 0) BUTTON();                      // Если что-то нажато, идём в функцию обработки кнопок

}

/***************************************************
             ВЫВОД НА ЭКРАН ДО ЗАМЕРА
***************************************************/            

if (START == 0 && OUT == 0) {                  // Если замер не выполнялся и сброшен флаг вывода
  lcd.setCursor(0,0);      
  lcd.print("MAX =       ATMs");               // Отображаем верхний предел выбранного типа датчиков
  lcd.setCursor(6,0);      
  lcd.print((float)MAX_SENS / 10.0);
  if (MODE == 0) {
    lcd.setCursor(0,1);      
    lcd.print("ROTARY          ");             // Отображаем тип замера: роторный
  }
  else {
    lcd.setCursor(0,1);                        // Или поршневой
    lcd.print("PISTON         T");
    lcd.setCursor(14,1);
    if (MODE == 1) lcd.print("4");             // Четырёхтактный
    else           lcd.print("2");             // Или двухтактный
  }
  OUT  = 1;                                    // Ставим флаг вывода, чтоб не мерцал экран
  return;      
}

/*************************
    ВО ВРЕМЯ ЗАМЕРА
*************************/

if (START == 1 && STOP == 0) {                // Если выполняется замер

  lcd.begin(16,2);      
  lcd.print("WAIT     SECONDS");              // Выводим на экран обратный отсчёт
  lcd.setCursor(5,0);        
  lcd.print((T_OUT - CURRCNT) / (1000 / TIMER));
  lcd.setCursor(0,1);                         // и текущие сырые значения компрессии
  lcd.print(DIGCOMPR[0]);
  if (MODE == 0) {                            // Если режим роторный
    lcd.setCursor(6,1);                       // Выводим текущие сырые значения по камерам 2 и 3
    lcd.print(DIGCOMPR[1]);
    lcd.setCursor(12,1);      
    lcd.print(DIGCOMPR[2]);
   }
  delay(1000);
  return;
}

/****************************************************
                   ПОСЛЕ  ЗАМЕРА
****************************************************/



if (STOP == 1 && OUT == 0) {                                  // Если сброшен флаг вывода

  lcd.begin(16,2);                                            // Очищаем экран. begin поставлен, т.к.иногда во время замера вывод на экран из-за прерывания ломается
  
/****************************************************
            ОРГАНИЗУЕМ ПОДСЧЁТ ОБОРОТОВ
****************************************************/
  if (RPMCOUNT == 0) {                                        // Если подсчёт не выполнялся
     for (Z_TMP = 0; Z_TMP <= Z_LAST - Z_FIRST; Z_TMP ++) {   // Проверяем на низкие обороты и вылет секции
     if (CNT[Z_TMP+1] - CNT[Z_TMP] > MAXCNT && MODE == 0)     // Если частота обновления ниже минимального порога и режим замера - роторный
     ERRORCODE = 3;                                           // Ставим флаг низких оборотов
     }
     RPM = DIVRPM / (CNT[Z_LAST - Z_FIRST] - CNT[0]);         // Считаем обороты в минуту
     if (MODE == 1) RPM *= 2;                                 // Если тип замера поршневой 4-тактный, умножаем обороты на 2
     RPMCOUNT = 1;                                            // Ставим флаг выполнения подсчёта
  }

/************************************************
     ПОКАЗЫВАЕМ ОБОРОТЫ ИЛИ ИНФО О КОРРЕКЦИИ
************************************************/

  if (MODE == 0 && CORR == 1) {                               // Если мерился роторный двигатель и установлен флаг коррекции
    CORRVAL = 1000 + (CORRPM - RPM) * 3;                      // рассчитываем значение для множителя х 1000
    lcd.setCursor(9,0);                                       // Информируем о коррекции
    lcd.print("CORR");
    lcd.setCursor(13,0);        
    lcd.print(CORRPM);
  }
  else {
    CORRVAL = 1000;                                           // Иначе ставим множитель в единицу х 1000
    lcd.setCursor(9,0);                                       // И выводим обороты, при которых производился замер
    lcd.print("RPM=   ");
    lcd.setCursor(13,0);        
    lcd.print(RPM);
  }

/******************************************************
       ПЕРЕВОДИМ КОМПРЕССИЮ ИЗ ПОПУГАЕВ В КГС/СМ2
******************************************************/

  for (CH = 0; CH <= 2; CH ++) {                              // Для каждой камеры
    if (DIGCOMPR[CH] > MAXS + 3)                              // Если превышены макс.показания + погрешность
      MAX[CH] = 1;                                            // Ставим флаг достижения максимального порога давления
      KGSCOMPR[CH] =                                          // Мапим показания датчика из сырых в кгс/см2 х 10
    //    map((long)DIGCOMPR[CH] * CORRVAL / 1000, MINS, MAXS, 0, MAX_SENS);             // без учёта начальной калибровки
      map((long)DIGCOMPR[CH] * CORRVAL / 1000, CALIBRE, MAXS, 0, MAX_SENS);              // с учётом начальной калибровки
    }

/*****************************************************
        ПОКАЗЫВАЕМ НА ЭКРАН, ЧЕГО ТАМ НАМЕРИЛИ
*****************************************************/

  if (MODE == 0){                                              // Если режим роторный
    lcd.setCursor(0,0);      
    lcd.print("ROTARY");                                       // Выводим на экран тип замера
    for (CH = 0; CH <= 2; CH ++){                              // И итоговые значения компрессии по камерам
      lcd.setCursor(CH * 6,1);                                          
      if (MAX[CH] == 1 && CORR == 0)                           // Если нет флага коррекции и достигнут макс.порог измерения - информируем об этом
        lcd.print("MAX!");
      else lcd.print((float)KGSCOMPR[CH] / 10.0);
    }
  }
  else {                                                       // Если режим поршневой
    lcd.setCursor(0,0);      
    lcd.print("PISTON");                                       // Выводим на экран инфо о поршневом замере
    lcd.setCursor(0,1);                                        // И итоговые значения компрессии
    if (MAX[0] == 1) {                                         // Если достигнут макс.порог измерения - информируем об этом
      lcd.print("MAX! >");
      lcd.print((float)KGSCOMPR[0] / 10.0);
    }
    else lcd.print((float)KGSCOMPR[0] / 10.0);
  }
  OUT = 1;
}

}

/******************************************************
            ФУНКЦИЯ ОБРАОТКИ НАЖАТИЯ
******************************************************/
void BUTTON(){
  switch (lcd_key)                              // Производим действие, в зависимости от нажатой кнопки
  {
   case btnRIGHT:                               // Кнопка "ВПРАВО"
     {
      OUT  = 0;                                 // Сбрасываем флаг вывода для обновления экрана
      if (START == 0) {MODE ++;                 // Если замер не выполнялся, переключаем режим
        MODE = min(MODE, 2);                    // Ограничиваем номер режима
      }
     break;
     }
   case btnLEFT:                                // Кнопка "ВЛЕВО"
     {
      OUT  = 0;                                 // Сбрасываем флаг вывода для обновления экрана
      if (START == 0) {MODE --;                 // Если замер не выполнялся, переключаем режим
        if (MODE != 1) MODE = 0;                // Ограничиваем номер режима
      }
     break;
     }
   case btnUP:                                  // Кнопка "ВВЕРХ"
     {
      OUT  = 0;                                 // Сбрасываем флаг вывода для обновления экрана
      if (START == 0) MAX_SENS = MAX_SENS2;     // Переключаем на тип датчика 2
      if (STOP == 1 && MODE == 0) CORR = 1;     // Если роторный замер завершён, ставим флаг коррекции      
     break;
     }
   case btnDOWN:                                // Кнопка "ВНИЗ"
     {
      OUT  = 0;                                 // Сбрасываем флаг вывода для обновления экрана
      if (START == 0) MAX_SENS = MAX_SENS1;     // Переключаем на тип датчика 1
      if (STOP == 1 && MODE == 0) CORR = 0;     // Если роторный замер завершён, убираем флаг коррекции
     break;
     }
   case btnSELECT:                              // Кнопка "SELECT"
     {          
      if (START == 0){                          // Если замер остановлен
          START = 1;                            // Ставим флаг запуска
          OUT  = 0;                             // Сбрасываем флаг вывода для обновления экрана
          lcd.clear();                          // Очищаем экран
          for (i=0; i < 10; i++) {              // Проверяем датчики на отсутствие/замыкание/большую погрешность
              CALIBRE += analogRead(SENSPIN);   // С интервалом 50 мс 10 раз читаем показания
            delay(50);
          }
          if (CALIBRE > 11 * MINS ||
              CALIBRE < 9 * MINS) {             // Если отсутствует/неисправен датчик (погрешность более 10% от заявленной)
              ERRORCODE = 1;                    // Ставим флаги ошибок
              if (CALIBRE < 9 * MINS)           // Если показания ниже заявленных
              ERR = 0;                          // Ставим указатель на низкое значение
             }
          }
      if (ERRORCODE == 0) {                     // Если датчики опрошены успешно
         CALIBRE = analogRead(SENSPIN);         // Калибруем датчики - выставляем "0"
         TRESHLOW =  (long)CALIBRE * (100 + TRESHOLD1) / 100;    // Ставим порог падения давления
         TRESHHIGH = (long)CALIBRE * (100 + TRESHOLD2) / 100;    // Ставим порог роста давления
         delay(500);                           // Ждём 0,5 сек, чтоб точно отпустить кнопку
         OCR1A = FREQ;                         // И настраиваем таймер:
         TIMSK1  |= (1 << OCIE1A);             // Разрешаем генерацию прерывания таймера 1 по совпадению с регистром OCR1A
      }
     break;
     }
  }
  delay(500);
}

/******************************************************
            ФУНКЦИЯ КАЛИБРОВКИ КНОПОК
******************************************************/

void CALIBER(){
while (1 == 1){                              // Входим в бесконечный цикл
    if (digitalRead(btnCAL) == 0) {          // Если нажата кнопка калибровки
       lcd.setCursor(0,0);      
       lcd.print("RELEASE  CALIBER");        // Выводим на экран приглашение отпустить кнопку калибровки
       lcd.setCursor(0,1);
       lcd.print("     BUTTON     ");
       if (i <= 4 && OUT == 0) {             // Если значение калибровки ещё не снято
         i++;                                // Увеличиваем счётчик кнопки на единицу
         BTN[i] = analogRead(0) / 4 + 5;     // Пишем в переменную значение кнопки / 4, чтоб влезло в тип byte
         OUT = 1;                            // Ставим флаг записи значения кнопки
       }
       if (i > 4 && BTN[0] != 1) {           // Если все кнопки откалиброваны и значения ещё не записаны в EEPROM
          BTN[0] = 1;                        // Ставим флаг завершения калибровки
          for (CH = 0; CH <= 5; CH ++)       // Повторяем 6 раз
            EEPROM.write(CH, BTN[CH]);       // Пишем в EEPROM значения из массива
       }
    }
    else {                                   // Если кнопка калибровки не нажата
    delay(100);                              // Задержка для исключения дребезга кнопки
      if (i > 4) {                           // Если калибровка завершена
         lcd.setCursor(0,0);      
         lcd.print("   REBOOT THE   ");      // Выводим на экран приглашение к перезагрузке
         lcd.setCursor(0,1);
         lcd.print("     DEVICE     ");  
      }
      else {                                 // Если калибровка ещё не завершена
           lcd.setCursor(0,0);      
           lcd.print(" PRESS          ");    // Выводим на экран приглашение к нажатию кнопки на KEYPAD
           lcd.setCursor(0,1);      
           lcd.print("                    ");// Выводим на экран приглашение к нажатию кнопки на KEYPAD
           lcd.setCursor(8,0);
           if (i == 0) lcd.print("SELECT");  // Для каждой кнопки своя строка
           if (i == 1) lcd.print("LEFT");
           if (i == 2) lcd.print("UP");
           if (i == 3) lcd.print("DOWN");
           if (i == 4) lcd.print("RIGHT");
           if (analogRead(0) < CURRCNT - 10 ||
             analogRead(0) > CURRCNT + 10) {    // Если нажата кнопка на Keypad
             lcd.setCursor(0,1);
             lcd.print(" PRESS  CALIBER ");     // Выводим приглашение к нажатию кнопки калибровки
           }
           OUT = 0;
      }

    }
    delay(500);
  }
}





/*************************************************
    А ВОТ ЗДЕСЬ ТВОРИТСЯ ВСЁ САМОЕ ИНТЕРЕСНОЕ
*************************************************/

ISR(TIMER1_COMPA_vect) {                                // Обрабатываем прерывание по таймеру
CURRCNT ++;                                             // Увеличиваем значение текущего счётчика "тиков"

/************************
   ДЛЯ РАСЧЁТА ОБОРОТОВ
************************/
if (Z >= Z_FIRST && Z <= Z_LAST + 1){
    if(CNT[Z - Z_FIRST] == 0) {                         // Если счётчик оборотов в пределах измерений и измерение ещё не записано
     CNT[Z - Z_FIRST] = CURRCNT;                        // Присваиваем значение счётчика элементу массива
    }
}

/***************************
   ДЛЯ РАСЧЁТА КОМПРЕССИИ
***************************/
int TMP = analogRead(SENSPIN);                          // Читаем показания датчика
                                                        // и пишем во временную переменную
if (UP == 1) {                                          // Если установлен флаг движения к ВМТ
   if (TMP >= TRESHLOW) {                               //   Если временное значение больше нижнего порога (окончания замера)
      if (TMP > DIGCOMPR[CH])                           //     Если временное значение больше итогового
          DIGCOMPR[CH] = TMP;                           //       Пишем временное значение в итоговое
   }
   else UP = 0;                                         //   Иначе снимаем флаг движения к ВМТ
}

else {                                                  // Если флаг движения к ВМТ не установлен
     if (TMP >= TRESHHIGH) {                            //   Если текущее значение больше верхнего порога (начала замера следующей камеры)
        UP = 1;                                         //     Ставим флаг движения к ВМТ
        Z ++;                                           //     Прибавляем счётчик оборотов
        if (MODE == 0) CH ++;                           //     Если режим роторный, переходим к следующей камере
        if (CH > 2) CH = 0;                             //     Ходим по кругу камер
     }
}

/*****************************************
    ДЕЛАЕМ ВЫХОД ИЗ ЗАМЕРА ПО ТАЙМАУТУ
*****************************************/
if (CURRCNT > T_OUT) {                                  // Если вышло время замера
   TIMSK1  &= (0 << OCIE1A);                            // Запрещаем генерацию прерывания таймера 1
   OCR1A = 0;                                           // Останавливаем таймер
   STOP  = 1;                                           // Ставим флаг остановки
   }

}


Сообщение отредактировал pcdeath - 24.6.2014, 17:14
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 2.5.2014, 18:03
Сообщение #52


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Да надо отладить.
Правда сейчас ротор замерить нет возможности. Делаю ребилд и жду подшипники на вал блин остались только они. Компрессия на том моторе была 6,3 датчик на 150 пси (10,5 кг/см2) можно попробовать поршневой мотор. или подождать пару недель. Мотор живой тачко летает.
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 2.5.2014, 12:14
Сообщение #53


Новичок (<30 постов)
*

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



Цитата(dennis_ex @ 30.4.2014, 18:44) *
Попробуем. Первая версия рисовала погоду на марсе: непонятные циферки и надпись секция умерла или лоу рпм 270.


"непонятные циферки" при замере - сырые показания с датчика. При повторном нажатии "SELECT" преобразуются в значения компрессии.
Мёртвую секцию может показать в случае, если компрессия на оборотах замера скорости вращения (6-9) в одной или более камер первой секции ниже установленного порога2 (30% от показаний датчика). Ещё может быть из-за наводок системы зажигания на провод датчика.

У меня и 0.9 работала, в принципе. Если проблема останется - пиши, какой датчик пользуешь и какие параметры выставил в коде на этапе настройки - будем копать.

Сообщение отредактировал pcdeath - 2.5.2014, 12:15
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 30.4.2014, 17:44
Сообщение #54


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Попробуем. Первая версия рисовала погоду на марсе: непонятные циферки и надпись секция умерла или лоу рпм 270.
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 30.4.2014, 13:11
Сообщение #55


Новичок (<30 постов)
*

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



Версия 0.11. Изменения:

1. Поправил баг с плавающим некорректным определением наличия датчика - иногда при отсутствии датчика компрессометр мог показать его наличие. Кол-во проверок увеличено до 10, погрешность датчика на атм.давлении ограничена 10% от заявленного при настройке.

2. Добавил быстрое изменение пределов давления для более удобного использования разных датчиков. Текущее макс.давление отображается на этапе настройки. Замыканием цифрового вывода 2 на массу можно выбирать тип 1 (не замкнут) или тип 2 (замкнут).

Предупреждение: провода до датчиков желательно использовать экранированые, во время замера снимать колодки с ДПКВ, или как-либо ещё предотвращать работу системы зажигания - наводки от катушек могут сильно влиять на показания компрессометра.

Код
код  удален  в  связи  с  обновлением  до  версии  0.14.


Сообщение отредактировал John - 27.6.2015, 9:34
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 18.4.2014, 20:07
Сообщение #56


Новичок (<30 постов)
*

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



ОК, благодарю. Буду знать, что искать.

Если у кого есть предложения/пожелания по допиливанию функционала и правке багов - кидайте, буду рассматривать.

Немного подправил. Теперь при напряжении на выходе датчика более 4,5V инфо о достижении макс.давления выводится на экран, если не производились вычисления по коррекции. Это сделано, чтоб информировать о том, что давление было больше, чем может снять датчик, но при этом не терять возможность привести даже эти показания к эталонным оборотам.

Код
код  удален  в  связи  с  обновлением  до  версии  0.14.


Сообщение отредактировал John - 27.6.2015, 9:36
Перейти в начало страницы
 
+Цитировать сообщение
John
сообщение 18.4.2014, 6:21
Сообщение #57


неабразованый калхозник
************

Группа: Администраторы
Сообщений: 1836
Регистрация: 13.10.2005
Из: Мытищи, Московская область, Россия.
Пользователь №: 4



Цитата(vl-alexander @ 18.4.2014, 5:57) *
Канавки под резинки в статорах у FC3S. У FD канавки в крышках.

Канавки под резинки в статорах у некоторых моторов FC3S.


--------------------
... что можно сделать из простой швейной машины Зингера? Небольшое приспособление - и получилась прелестная колхозная сноповязалка.
(с) Остап-Сулейман-Берта-Мария-Бендер
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 18.4.2014, 4:57
Сообщение #58


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(pcdeath @ 16.4.2014, 18:45) *
Статоры только от fd(чего-то там), у которых канавки под резинки в статоре.

Канавки под резинки в статорах у FC3S. У FD канавки в крышках.
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 16.4.2014, 10:45
Сообщение #59


Новичок (<30 постов)
*

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



Цитата(vl-alexander @ 16.4.2014, 9:20) *
pcdeath, отличная работа! Тоже посещали подобные мысли, но лень родилась вперед меня, и до реалиации дело не дошло.



offtop: на рпд от ВАЗа маздо-детали не подходят? Видел фотки потрохов заднеприводного РПД от ВАЗа - визуально от мазды ничем не отличается.


Благодарю. Меня заставила засесть за этот проект именно лень - каждыйраз возить в гараж бук, цеплять его куда-то и т.д... :-) А потом ещё руками выделять, считать. Лень же.

Запчасти подходят и от RX-7. Статоры только от fd(чего-то там), у которых канавки под резинки в статоре. Вкладыши, валы, маслосъёмка - полностью идентичны. Роторы можно ставить только вместе с маздоуплотнениями и
маздостаторами. Крышки... Вроде нет - там посадочные под маслофильтры в разных местах.
Кстати, если у кого есть убитые валы и статоры 12A и 13B - нужны. Также нужен передний ротор 12A. И если кто может подогнать комплект уплотнений Rotary aviation на один ротор 13B 3мм незадорого - буду признателен.В общем, пишите в личку, у кого что есть, и что за это хотите.

Цитата(dennis_ex @ 16.4.2014, 9:50) *
Предложение - предлагаю добавить при включении, после опроса датчика, самокалибровку в атмосфере. т.е. чтобы 0 выставился автоматически для датчика. Можно и самому допилить, но автору это будет сделать проще так как у него есть замеры от котоых можно оттолкнуться.
Так же вопрос по питанию хватит ли кроны? Просто при проведении замеров с ноута если подключаешь зарядку идут наводки. С батареи гораздо чище сигнал. Поэтому хочу питание организовать от батареи типа крона.


Так это... В коде и в описании калибровка есть и реализована:
Цитата
Если всё хорошо - датчики калибруются и можно начинать замер.


По поводу "Кроны" - думаю, должно хватить надолго: Ардуино потребляет от 12В порядка 150 мА при замере. От 9В, возможно, будет жрать чуть больше тока. А вообще, у неё по спецификациям предельные напряжения 6...20В, если ничего не путаю, так что хоть от суслика полевого питать - ей по фигу, лишь бы стабильно и без бросков. Я думаю организовать питание тремя элементами 18650 по 3,7В, если "Кроны"не будет надолго хватать.
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 16.4.2014, 10:26
Сообщение #60


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(dennis_ex @ 16.4.2014, 16:50) *
Так же вопрос по питанию хватит ли кроны? Просто при проведении замеров с ноута если подключаешь зарядку идут наводки. С батареи гораздо чище сигнал. Поэтому хочу питание организовать от батареи типа крона.

кроны хватит с приличным запасом
Перейти в начало страницы
 
+Цитировать сообщение
John
сообщение 16.4.2014, 9:19
Сообщение #61


неабразованый калхозник
************

Группа: Администраторы
Сообщений: 1836
Регистрация: 13.10.2005
Из: Мытищи, Московская область, Россия.
Пользователь №: 4



Цитата(vl-alexander @ 16.4.2014, 9:20) *
....Видел фотки потрохов заднеприводного РПД от ВАЗа - визуально от мазды ничем не отличается.

если правильно помню то статор и ротор у заднеприводного одинаковый с маздой


--------------------
... что можно сделать из простой швейной машины Зингера? Небольшое приспособление - и получилась прелестная колхозная сноповязалка.
(с) Остап-Сулейман-Берта-Мария-Бендер
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 16.4.2014, 8:50
Сообщение #62


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Предложение - предлагаю добавить при включении, после опроса датчика, самокалибровку в атмосфере. т.е. чтобы 0 выставился автоматически для датчика. Можно и самому допилить, но автору это будет сделать проще так как у него есть замеры от котоых можно оттолкнуться.
Так же вопрос по питанию хватит ли кроны? Просто при проведении замеров с ноута если подключаешь зарядку идут наводки. С батареи гораздо чище сигнал. Поэтому хочу питание организовать от батареи типа крона.

Сообщение отредактировал dennis_ex - 16.4.2014, 8:51
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 16.4.2014, 8:20
Сообщение #63


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



pcdeath, отличная работа! Тоже посещали подобные мысли, но лень родилась вперед меня, и до реалиации дело не дошло.

Цитата
P.S.
Если захотите поблагодарить создателя, это можно сделать:
1. Добрым словом где-нибудь на форумах
2. Запчастями от РПД ВАЗа
3. Деньгами на QIWI-кошелёк +79053834132


offtop: на рпд от ВАЗа маздо-детали не подходят? Видел фотки потрохов заднеприводного РПД от ВАЗа - визуально от мазды ничем не отличается.
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 15.4.2014, 16:31
Сообщение #64


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Прикольно и правда носиться с буком в гараже не всегда удобно. Дисплей шилд уже купил. В ближайшее время затестим, а потом корпус для всего этого напечатаю и будет айс.
Перейти в начало страницы
 
+Цитировать сообщение
pcdeath
сообщение 15.4.2014, 14:35
Сообщение #65


Новичок (<30 постов)
*

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



Всем доброго дня.

Специально для этого компрессометра заказал Ардуино и датчики на 150 PSI (10.5 Атм). Собрал, залил софтину и ещё до замера понял: так больше продолжаться не может. Ноутбук, левое ПО, открытие-сохранение, анализ-выделение, подсчёт оборотов, приведение к эталонной компрессии... Для лаборатории - может быть, но не для гаража. Кроме того, умная-благоразумная АТМега с целыми 16 МГц используется, как.. По сути, конвертер "датчик -> RS-232", а основную работу приходится выполнять большому буку и медленному человеку, что нерационально. В общем, решено запилить свой компрессометр с... шахматами и поэтессами :-)

К Ардуино докуплен LCD keypad shield 1602 - на нём есть 5 функциональных кнопок и ЖК-экран на 2 строки по 16 символов, что вполне достаточно для наших целей. Несколько недель курения форумов по микроконтроллерам и кодинга (до этого дела с ними не имел), неделя отладки. Voila.

Компрессометр построен на Arduino Uno R3, на других платформах не пробовал. Способен обрабатывать показания 2 датчиков одновременно (3-роторного двигателя нет, так что не тестировал. но заложил в функционал). Датчики такие же, как и в заглавном посте - на 5В, выдают 0,5-4,5В. вешаются на соответствующий номеру секции аналоговый вход. Питание для Ардуино рекомендуется организовать независимое, 9-12В (хотя бы от той же "кроны"), т.к.просадка напряжения при прокрутке стартером может быть существенной, что не лучшим образом скажется на точности показаний.

При включении предлагается выбрать режим работы. По умолчанию выставлен односекционный роторный (вряд ли есть энтузиасты, как я, купившие сразу 2 датчика) - в таком случае секции мерятся по очереди. Нажатием кнопок "влево-вправо"можно менять режимы замера - роторный или поршневой. Нажатием кнопок "вверх-вниз" увеличивается/уменьшается количество замеряемых секций/цилиндров. По нажатию кнопки SELECT происходит опрос датчиков. Если датчиков меньше, чем установлено секций или датчики закорочены/неисправны (на входах >1.25В или <0.31В), компрессометр падает в ошибку и пишет, на какой секции датчику плохо. Если всё хорошо - датчики калибруются и можно начинать замер. При замере надо сделать не менее 10 оборотов (лучше больше) ЭВ - компрессометр настроен на подсчёт скорости вращения между 6 и 9 оборотом. Если компрессия в одной из камер не поднимается выше 3 Атм, то камера не участвует в замере компрессии. Если это происходит в первой секции, то компрессометр свалится в ошибку "LOW RPM" - не сможет посчитать обороты. Если же во второй - компрессия у вылетевшей камеры будет показана отрицательным значением, остальные будут показаны корректно.

В роторном режиме по окончании замера нужно повторно нажать SELECT, и на экран будут выведены результаты замера с номером отображаемой секции и значением RPM. По нажатию "влево-вправо" можно переключаться между секциями, по нажатию "вверх-вниз" - показывать значения. скорректированные для 250 об/мин. В поршневом режиме после нажатия SELECT будут сразу показаны значения для всех цилиндров, коррекция невозможна.

Компрессометр настраивается достаточно гибко, основные параметры и инструкция - в начале кода.
При использовании датчиков, отличных от моего (150 PSI = 10,5 Атм), потребуется изменить параметры макс.показаний и порогов замера.

Обо всех багах сообщайте, буду править.


Код
ИСПРАВЛЕННЫЙ КОД ДАЛЬШЕ



P.S. Коммерческое распространение кода без согласования с автором не приветствуется - имейте совесть :-)

Сообщение отредактировал pcdeath - 18.4.2014, 20:10
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 5.12.2013, 7:57
Сообщение #66


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(vl-alexander @ 26.7.2013, 19:52) *
Вчера начал гнать мой дорогущий промышленный датчик по непонятным причинам - то ли перегрел, то-ли токарь загнал в него стружку, когда новый адаптер вытачивал. Вчера намерил какие-то невероятные 11.5 очков, чем заставил меня усомниться в его правдивости.

Причина загона оказалась довольна интересная - с этим можно столкнуться на любом датчике.
Цифры полученного замера очень сильно зависят от конструкции переходника. Раньше у меня был полуметровый резиновый шланг от свечного отверстия до датчика. Когда избавился от шланга, компрессометр стал показывать на 2 очка больше. В этом нет ничего страшного. во всем виноват шланг, т.к. он имеет эластичность.
В любом случае не корректно сравнивать абсолютные значения разных компрессометров - из за разных переходников могут быть разные показания. Надо просто на "эталонном" двигателе проверить конкретную конструкцию переходник->датчик, и отталкиваться от этих значений при последующих замерах.
Перейти в начало страницы
 
+Цитировать сообщение
sashamd
сообщение 18.10.2013, 17:13
Сообщение #67


Старик (>150 постов)
***

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



настройка это главное что бы ротор жил))) поменял чего нибудь в конфиге будь любезен поменять настройку))))
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 18.10.2013, 16:26
Сообщение #68


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



По-моему не стоит искать зависимость там где её нет smile.gif компрессия может долго не падать, а потом упасть быстро. я это на себе испытал. Весной было 8.5, а в этот вторник мотор лег. Причина детская, и я сам от себя такого не ожидал - смотрю логи в момент застрела, и до - везде на бусте смесь 13~14 ёманарот... Поменял мозг в конце сезона, и настроил его честно говоря на отъебись... вот и приехал...
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 18.10.2013, 9:38
Сообщение #69


Team member
*****

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



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

Заводится с пол-оборота, это при хреновеньких катушках и свечах засраных...

Показания еще могут быть различны по причине разного времени и, следовательно, температуре измерений, анализ показал что задержка в 5-7 минут между замерами может стоить 0,5 атм)

Забыл в машине бумажку с прошлыми замерами, 12 000 назад, сравнить надобно.

Есть у кого-нибудь информация о характере падения компрессии и износе роторов? Я это к тому, что если культурно за машиной следить, то компрессия, в среднем падаетна хххх кПа на 1000 км?

Сообщение отредактировал VZuRa - 18.10.2013, 9:41
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 18.10.2013, 3:24
Сообщение #70


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(VZuRa @ 18.10.2013, 2:37) *
Интересный нюанс. Если мерить компрессию на лидинговых, то измерения выше и именно так рекомендует петтит рэйсинг.

Из неинтересного: намерил на восьмерке своей плохую компрессию, требуется переборка. ( странно, претензий к езде и заводке на горячую.(

А в мануале градация для трейлингов? Я всегда у себя через лидинги мерил - трелинги сложнее выкручивать. коса мешает. Наверное причина разных показаний в разном диаметре отверстий в статоре под лидинг и трелинг.

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

Сообщение отредактировал vl-alexander - 18.10.2013, 3:24
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 17.10.2013, 18:37
Сообщение #71


Team member
*****

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



Интересный нюанс. Если мерить компрессию на лидинговых, то измерения выше и именно так рекомендует петтит рэйсинг.

Из неинтересного: намерил на восьмерке своей плохую компрессию, требуется переборка. ( странно, претензий к езде и заводке на горячую.(
Перейти в начало страницы
 
+Цитировать сообщение
Rotorlav
сообщение 16.10.2013, 6:13
Сообщение #72


Пользователь
**

Группа: Пользователи
Сообщений: 62
Регистрация: 21.1.2011
Из: Нижневартовск
Пользователь №: 4105



Хэ зэ, у меня всегда надо сначала оттарировать т.е. выставить на ноль, а уже потом замеры делать.
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 16.10.2013, 3:14
Сообщение #73


Team member
*****

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



Взорвался мозг. Собрали, запустили - датчик видит 106 кПа в покое, что в принципе, равно атмосферному давлению. Вопрос - какого лешего он показывает атмосферное давление, если это датчик избыточного давления? Марка KM10 Nagano Keiki.
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 15.10.2013, 8:22
Сообщение #74


Team member
*****

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



У меня тока новые лежат, за 3 года так и не выкатал ph34r.gif
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 15.10.2013, 5:03
Сообщение #75


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Прикольная идея smile.gif только вкручивать доработанную "свечку" придется руками, и кольцо металлическое не даст нужной герметизации. Его лучше заменить на о-ринг резиновый.

p.s. зачем покупать свечку от москвича, если у каждого из нас полный гараж б\у свечек с рыксы smile.gif

Сообщение отредактировал vl-alexander - 15.10.2013, 5:05
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 14.10.2013, 23:32
Сообщение #76


Team member
*****

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



Остался неосвещенным один вопрос- как сделать переходник для установки в свечной колодец. Правильно его делать у токаря, резьба М14х1,25 внешняя, внутренняя- под ваш сенсор. Как делают нищеброды и тем кому по жизни руки покоя не дают:

1) покупаем свечу (я купил самую дешевую от москвича- в пафосном магазине - 40 р) и гайку, кажись на 14 с буртиком (точно не вспомню, ибо найдена в гараже, помню лишь что от вершины до вершины граней 17 мм)
2) в свечке срезаем завальцовку, отламываем электрод и выбиваем керамику с электродом
3) запрессовываем гайку буртиком вверх до упора (усилия небольших тисков мне было достаточно)
4) стык между свечкой и буртиком герметизируем пайкой (как делал я) или заливаем эпоксидкой (поксиполом)

Получается такая штука:
https://www.dropbox.com/s/fl4gxs80zctclya/P...6%2033%2032.jpg

Датчик вкручиваем с применением ФУМ-ленты, шоп не травило.

Тест на неделе!)

Сообщение отредактировал VZuRa - 14.10.2013, 23:35
Перейти в начало страницы
 
+Цитировать сообщение
Rotorlav
сообщение 6.9.2013, 7:21
Сообщение #77


Пользователь
**

Группа: Пользователи
Сообщений: 62
Регистрация: 21.1.2011
Из: Нижневартовск
Пользователь №: 4105



Цитата(Nooxyd @ 4.9.2013, 11:27) *
Спасибо)
И как нормально работает? С самопалом не сравнивали?

Не не сравнивали, чего их сравнивать, одинаково работают. Вначале был небольшой трабл с помехами, поменял канал и все норм. Проверить тоже просто, нужна трубка силиконовая, тройник, манометр или датчик буста и шприц медицинский побольше. smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
Nooxyd
сообщение 4.9.2013, 11:27
Сообщение #78


Пользователь
**

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



Цитата(Rotorlav @ 4.9.2013, 11:02) *
Если не хочешь сам собирать то http://rotarydiagnostics.com/ это хороший самопал. Внутри красивой коробочки еще красивее коробочка с осцилографом от Dataq на 4 канала, можно докупить еще один датчик (не обязательно у них) и замерять обе секции сразу. Что понравилось в комплекте есть и софт (можно потом графики сохранять и печатать) и соединение переходника с датчиком быстросъемное и подвижное, очень удобно при ограниченном пространстве. Поддержка работает, отвечают на любые вопросы, недавно новую инструкцию прислали. Но будь готов к реалиям нашей почты с таможней, я свой пол года ждал jap.gif

Спасибо)
И как нормально работает? С самопалом не сравнивали?
Перейти в начало страницы
 
+Цитировать сообщение
Rotorlav
сообщение 4.9.2013, 6:02
Сообщение #79


Пользователь
**

Группа: Пользователи
Сообщений: 62
Регистрация: 21.1.2011
Из: Нижневартовск
Пользователь №: 4105



Цитата(Nooxyd @ 3.9.2013, 10:20) *
А есть нормальные заводские компрессометры? Со штатов или с америки может заказать? Название или ссылкой кто нить помогите плиз, не люблю колхоз и самопал

Если не хочешь сам собирать то http://rotarydiagnostics.com/ это хороший самопал. Внутри красивой коробочки еще красивее коробочка с осцилографом от Dataq на 4 канала, можно докупить еще один датчик (не обязательно у них) и замерять обе секции сразу. Что понравилось в комплекте есть и софт (можно потом графики сохранять и печатать) и соединение переходника с датчиком быстросъемное и подвижное, очень удобно при ограниченном пространстве. Поддержка работает, отвечают на любые вопросы, недавно новую инструкцию прислали. Но будь готов к реалиям нашей почты с таможней, я свой пол года ждал jap.gif
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 3.9.2013, 12:25
Сообщение #80


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Цитата(Nooxyd @ 3.9.2013, 11:20) *
А есть нормальные заводские компрессометры? Со штатов или с америки может заказать? Название или ссылкой кто нить помогите плиз, не люблю колхоз и самопал

Вот держи
тот же самопал только в красивой коробочке, собранный заботливыми руками Америкосов.
http://rotarydiagnostics.com/
Вариант 2, но не знаю дошло ли дело до продаж
http://www.twistedrotors.com/
Для олигархов, за эти деньги можно сделать ребилд:
http://www.rhdjapan.com/mazda-oem-rotary-e...on-tester-62032
Перейти в начало страницы
 
+Цитировать сообщение
Nooxyd
сообщение 3.9.2013, 10:20
Сообщение #81


Пользователь
**

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



А есть нормальные заводские компрессометры? Со штатов или с америки может заказать? Название или ссылкой кто нить помогите плиз, не люблю колхоз и самопал
Перейти в начало страницы
 
+Цитировать сообщение
Unnamed
сообщение 21.8.2013, 16:21
Сообщение #82


GOLD
************

Группа: Пользователи
Сообщений: 1743
Регистрация: 13.2.2010
Из: Санкт-Петербург
Пользователь №: 3645



Хз где ты смотрел, в инэте они по 800-1200 рэ

Сообщение отредактировал Unnamed - 21.8.2013, 16:21
Перейти в начало страницы
 
+Цитировать сообщение
dll
сообщение 21.8.2013, 15:38
Сообщение #83


Team member
*****

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



Цитата(vl-alexander @ 21.8.2013, 4:41) *
29 баксов это не очень и дешего smile.gif я ардуины в китае по 10$ беру, это здесь в радио-магазах за них цену ломят.
Очень улыбнула надпись Wide OS support, и упоминание только про winXP, vista, 7 - поржал smile.gif парни походу в 90х навсегда застряли. Завтра компрессию будет каждый школьник со своего андроида или айпада мерить.


Первый - да, отличный вариант
Второй не странный, просто другой - он выдает сигнал не напряжением, а током. Это не так удобно в подключении (схема сложнее будет). Но датчики выдающие ток лучше работают на большой длине проводов. Независимо от сопротивления цепи ток во всех её точках всегда одинаковый, в случае с напряжением - будут погрешности, но на наших 2-3х метрах - не критично.


я и грлянул тут арудина эта 3000к стоит )))


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 21.8.2013, 3:41
Сообщение #84


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(dll @ 21.8.2013, 4:41) *
Дешевле арудины готовое решение (то что поставляется с неоригинальным компрессометром как у rotorlav

http://www.dataq.com/products/startkit/di1...tarter-kits.htm

там и софт есть.... 29 баксов )


29 баксов это не очень и дешего smile.gif я ардуины в китае по 10$ беру, это здесь в радио-магазах за них цену ломят.
Очень улыбнула надпись Wide OS support, и упоминание только про winXP, vista, 7 - поржал smile.gif парни походу в 90х навсегда застряли. Завтра компрессию будет каждый школьник со своего андроида или айпада мерить.

Цитата(dll @ 21.8.2013, 4:41) *
А по поводу датчиков, у халтека например все датчики давления от Honeywell
например вот до 200пси http://electronlab.ru/pi/products_id/135255


а это тдатчик и 12в переварит
http://electronlab.ru/pi/cPath/719_720_141...ducts_id/135264
только у него выходные параметры странные )

Первый - да, отличный вариант
Второй не странный, просто другой - он выдает сигнал не напряжением, а током. Это не так удобно в подключении (схема сложнее будет). Но датчики выдающие ток лучше работают на большой длине проводов. Независимо от сопротивления цепи ток во всех её точках всегда одинаковый, в случае с напряжением - будут погрешности, но на наших 2-3х метрах - не критично.

Сообщение отредактировал vl-alexander - 21.8.2013, 3:43
Перейти в начало страницы
 
+Цитировать сообщение
dll
сообщение 20.8.2013, 20:41
Сообщение #85


Team member
*****

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



Дешевле арудины готовое решение (то что поставляется с неоригинальным компрессометром как у rotorlav

http://www.dataq.com/products/startkit/di1...tarter-kits.htm

там и софт есть.... 29 баксов )

А по поводу датчиков, у халтека например все датчики давления от Honeywell
например вот до 200пси http://electronlab.ru/pi/products_id/135255

а это тдатчик и 12в переварит
http://electronlab.ru/pi/cPath/719_720_141...ducts_id/135264
только у него выходные параметры странные )

Сообщение отредактировал dll - 20.8.2013, 20:49


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 4.8.2013, 7:13
Сообщение #86


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



У кого под виндой прога написанная в процессинге не работает поменяйте строку
output = createWriter("compression_" + str(hour()) + ":" + str(minute()) + ":" + str(second()) + ".msl");
на
output = createWriter("compression_" + str(hour()) + "_" + str(minute()) + "_" + str(second()) + ".msl");

У меня выдало ошибку при создании файла - не могу создать такой файл. Проблема в разделителе ":" после замены на "_" все ОК
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 27.7.2013, 5:10
Сообщение #87


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Цитата(Rotorlav @ 27.7.2013, 0:12) *
Только как этими графиками пользоваться я так и не вкурил. Особенно с атмосферным давлением. Вот калькулятор есть http://foxed.ca/index.php?page=rotarycalc


Обороты и атмосферное давление в данном случае лишь некий коэффициент для корректировки полученных значений. Так как состояние механических узлов на разных авто разное то при вращении стартером могут получиться разные обороты. А давление в камере динамически меняется, и зависит в том числе и от оборотов, следовательно для прогноза живучести калькулятор(кстати полезная штука) приводит значения к нормированным 250 оборотам занижая по графикам из мануала реальные замеренные значения компрессии.
Например вы намерили 115 PSI при 280 оборотах, для оценки живучести есть два варианта:

1. Привести значение давления к 250 оборотам (занизить значение замера)
2. Привести критерий живучести к 280 оборотам (завысить значение критерия).

К сожалению мануала под рукой нет. Вчера начал дохнуть винт, пришлось перейти на новый, так бы привел циферки. Там в мануале есть график для корректировки критерия живучести.
Аналогичная ситуация с давление снаружи. Вам просто надо узнать атмосферное давление в точке вашего замера, далее перевести в высоту над уровнем моря. Или сразу узнать высоту в гугле. Просто в тибетских горах разница с замером в Красноярске или на дне марианской впадины будет ощутима заметна.

Цитата(vl-alexander @ 26.7.2013, 12:52) *
Результатами экспериментов smile.gif Вчера начал гнать мой дорогущий промышленный датчик по непонятным причинам - то ли перегрел, то-ли токарь загнал в него стружку, когда новый адаптер вытачивал. Вчера намерил какие-то невероятные 11.5 очков, чем заставил меня усомниться в его правдивости. Прежде чем покупать новый датчик очень интересно собрать впечатления пользования разными, и выбрать лучше. Надеюсь инструкция расшевелит эксперементаторов и мы наберем хорошую статистику какие датчики айс, а какие - нет smile.gif


Его проще поверить при помощи манометра. Взять шприц в аптеке 150 кубов или насос велосипедный. Собрать шлангами систему для проверки:
Комп - ардуино- датчик - шланг- манометр- шприц.
Дунуть и сравнивать показания на манометре и компе.

P/S "Дунуть" - в данном конкретном случае означает создать избыточное давление в исследуемой полости, а не то, что Вы подумали laugh.gif
Перейти в начало страницы
 
+Цитировать сообщение
Rotorlav
сообщение 26.7.2013, 23:12
Сообщение #88


Пользователь
**

Группа: Пользователи
Сообщений: 62
Регистрация: 21.1.2011
Из: Нижневартовск
Пользователь №: 4105



Цитата(dennis_ex @ 26.7.2013, 17:17) *
3. Сравниваем средние значения давления и обороты по замерам с рекомендациям мануала.

Только как этими графиками пользоваться я так и не вкурил. Особенно с атмосферным давлением. Вот калькулятор есть http://foxed.ca/index.php?page=rotarycalc

Цитата(vl-alexander @ 26.7.2013, 11:52) *
Результатами экспериментов smile.gif Вчера начал гнать мой дорогущий промышленный датчик по непонятным причинам - то ли перегрел, то-ли токарь загнал в него стружку, когда новый адаптер вытачивал. Вчера намерил какие-то невероятные 11.5 очков, чем заставил меня усомниться в его правдивости. Прежде чем покупать новый датчик очень интересно собрать впечатления пользования разными, и выбрать лучше. Надеюсь инструкция расшевелит эксперементаторов и мы наберем хорошую статистику какие датчики айс, а какие - нет smile.gif

У меня пендосовский на 5 вольт и 200psi Сначала фигню показывал 80psi я уж думал все туши свет бросай гронату sad.gif , но это было из за помех на первом канале, переподключил на 2й и все окей 115psi можно вжаривать jap.gif
Прикрепленные файлы
Прикрепленный файл  DSC00423.JPG ( 2.15 мегабайт ) Кол-во скачиваний: 97
 
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 26.7.2013, 17:17
Сообщение #89


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Цитата(Unnamed @ 26.7.2013, 13:10) *
Ну я заказал датчик с ebay по твоей ссылке, посмотрим на что он способен, правда экспериментировать получится начать у меня не раньше чем через месяц-полтора - когда придет датчик.
Кста, а реализовать вариант для ленивых - два датчика с одновременной записью двух логов из двух секций возможно?))

Кста дурацкий вопрос - а мы увидим в результате три числа с компрессией на каждой стороне ротора, или одно общее число?


В результате замеров будет получен файл с числовыми значениями для построения графика. На графике по шкале У отображается величина изменения давления (напряжения на датчике давления) в течении замера. по шкале Х - время в сек.
Чтобы определить значение давления в каждой секции нужно анализировать (читай смотреть на ) график. На графике ты видишь пики - смотри второе сообщение. Вершина пика - величина максимального значения давления в секции ротора, которая повторяется через три пика. т.е. второй пик - вторая секции, а третий - третья далее все повторяется.
Как сопоставить значения с мануалом и спрогнозировать ремонт:
1. Необходимо по графику определить среднее значение в каждой секции - считай пики.
2. Определить обороты - надо определить по графику разницу во времени между первым и четвертым пиком. Это время за которое происходит один оборот. Далее 60 / на измеренный результат и получаем обороты в минуту.
3. Сравниваем средние значения давления и обороты по замерам с рекомендациям мануала.
4. Закупаем апексы, прокладки, сайд силы и т.д. если не повезло.
Перейти в начало страницы
 
+Цитировать сообщение
D-Man
сообщение 26.7.2013, 12:59
Сообщение #90


Team member
*****

Группа: Пользователи
Сообщений: 526
Регистрация: 8.3.2013
Из: Мариинск 42RUS
Пользователь №: 5144



В Москве можно штучно купить хороший промышленный, который в МПСА используют. Я уже переписывался с менегерами, говорят - не проблема, даже вышлем. цена 3000. Тоже хочу замутить, но пока нет времени(((


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
Unnamed
сообщение 26.7.2013, 12:10
Сообщение #91


GOLD
************

Группа: Пользователи
Сообщений: 1743
Регистрация: 13.2.2010
Из: Санкт-Петербург
Пользователь №: 3645



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

Кста дурацкий вопрос - а мы увидим в результате три числа с компрессией на каждой стороне ротора, или одно общее число?
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 26.7.2013, 11:52
Сообщение #92


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(VZuRa @ 26.7.2013, 18:48) *
Чем можем отблагодарить за труд непосильный многим?

Результатами экспериментов smile.gif Вчера начал гнать мой дорогущий промышленный датчик по непонятным причинам - то ли перегрел, то-ли токарь загнал в него стружку, когда новый адаптер вытачивал. Вчера намерил какие-то невероятные 11.5 очков, чем заставил меня усомниться в его правдивости. Прежде чем покупать новый датчик очень интересно собрать впечатления пользования разными, и выбрать лучше. Надеюсь инструкция расшевелит эксперементаторов и мы наберем хорошую статистику какие датчики айс, а какие - нет smile.gif
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 26.7.2013, 10:59
Сообщение #93


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(VZuRa @ 26.7.2013, 18:48) *
Вопрос-насколько высока нагрузка на датчик? (У меня лежит новый сенсор арехи оригинальный, до 1 МПа, жалко его

Нагрузка в смысле механическая? как правило датчики с запасом проектируются, и даже двухкратное превышение рабочего давления им не вредят, просто они не будут показывать дальше своего предела.
Перейти в начало страницы
 
+Цитировать сообщение
VZuRa
сообщение 26.7.2013, 10:48
Сообщение #94


Team member
*****

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



Огонь! Сам не смог догадаться дальше покупки датчика трехконтактного... Вопрос-насколько высока нагрузка на датчик? (У меня лежит новый сенсор арехи оригинальный, до 1 МПа, жалко его запороть) Чем можем отблагодарить за труд непосильный многим?
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 26.7.2013, 9:51
Сообщение #95


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Да подойдет
Перейти в начало страницы
 
+Цитировать сообщение
Unnamed
сообщение 26.7.2013, 9:42
Сообщение #96


GOLD
************

Группа: Пользователи
Сообщений: 1743
Регистрация: 13.2.2010
Из: Санкт-Петербург
Пользователь №: 3645



Супер статья!
Датчик давления заказал, на днях куплю Arduino, и буду собирать компрессометр, кста я правильно понял что модель UNO подойдет?
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 26.7.2013, 7:12
Сообщение #97


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Цитата(dennis_ex @ 26.7.2013, 14:07) *
Отличное решение.
А я когда писал прогу для Ардуино выкидывал строку в порт содержащую значение давления и время через символ ";"
500;13456 где 500 значение датчика, а 13456 - это время замера в миллисекундах, которое выдает сам Ардуино.
Мне кажется так будет чуть точнее, хотя при замере 10 сек и так небольшая погрешность набежит.

Я такой вариант тоже пробовал, особой разницы нет. оставил без времени, так код меньше smile.gif И чем меньше данных через порт бежит, тем чаще можно измерения снимать.

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

Сообщение отредактировал vl-alexander - 26.7.2013, 7:18
Перейти в начало страницы
 
+Цитировать сообщение
dennis_ex
сообщение 26.7.2013, 6:07
Сообщение #98


Team member
*****

Группа: Пользователи
Сообщений: 390
Регистрация: 17.7.2013
Из: Красноярск
Пользователь №: 5398



Отличное решение.
А я когда писал прогу для Ардуино выкидывал строку в порт содержащую значение давления и время через символ ";"
500;13456 где 500 значение датчика, а 13456 - это время замера в миллисекундах, которое выдает сам Ардуино.
Мне кажется так будет чуть точнее, хотя при замере 10 сек и так небольшая погрешность набежит.
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 26.7.2013, 5:01
Сообщение #99


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Для того чтобы фиксировать замер, и удобно его анализировать, я использую небольшой скетч написан на языке processing.
Открываем эту программку, по интерфейсу она очень похожа на ардуино ide. Вставляем следующий код:
Код
import processing.serial.*;

Serial myPort;        // The serial port
int xPos = 1;         // horizontal position of the graph
float logTime=0;
boolean converting = false;
PrintWriter output;

void setup () {
// set the window size:
size(800, 400);        

// List all the available serial ports
println(Serial.list());
// I know that the first port in the serial list on my linux
// is always my Arduino, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 115200);
// don't generate a serialEvent() unless you get a newline character:
myPort.bufferUntil('\n');
// set inital background:
background(0);
}
void draw () {
}

void keyTyped(){
  if((key == 's') && (!converting)) {
    output = createWriter("compression_" + str(hour()) + ":" + str(minute()) + ":" + str(second()) + ".msl");
    output.println ("DIY Rotary engine compression tester");
    output.println ("Time\tPressure");
    output.println ("s\tkg^cm2");
    xPos = 0;
    logTime=0;
    background (0);
    myPort.write ("s\n");
    converting = true;
  }
  if((key == 'p') && (converting)) {
    myPort.write ("p\n");
    output.flush();
    output.close();
    converting = false;
  }
}
void serialEvent (Serial myPort) {
// get the ASCII string:
String inString = myPort.readStringUntil('\n');
float voltage, pressure;

if (inString != null) {
// trim off any whitespace:
inString = trim(inString);
output.print(logTime);
logTime+=0.002; //bacause our arduino send values every 2ms.
output.print("\t");
float inByte = float(inString); //getting adc value (0-1023)
voltage = map(inByte, 0, 1023, 0, 5); //converting adc to voltage (0-5V)
pressure = map(voltage, 0.5, 4.5, 0, 10); //last two numbers is sensor pressure for 0.5 & 4.5V output
output.println(pressure);
inByte = map(inByte, 0, 1023, 0, height);
// draw the line:
stroke(127,34,255);
line(xPos, height, xPos, height - inByte);
xPos++; // increment the horizontal position:
// at the edge of the screen, go back to the beginning:
  if (xPos > width) {
   xPos = 0;
   background(0);
  }
}
}

Обязательно отредактировать строчку pressure = map(voltage, 0.5, 4.5, 0, 10); - вместо последней цифры 10 указываем предельные значения своего датчика.
Скетч желетельно сохранить, он понадобится каждый раз при замере компрессии. Так же можно ткнуть в меню File->Export Application, чтобы в дальшейшем небыло необходимости запускать редактор. Подключаем через usb наш ардуино к компу, и запускаем скетч на выполнение. Если все прошло гладко - откроется пустое окно. Далее всё просто - нажимаем на клавиатуре кнопку "S" - начнется запись лог файла, крутим стартером - по ходу процесса будет строиться график замера (на него можно не обращать внимание, он не точен - сделан чисто для наглядности) После того как покрутили стартером нажимаем кнопку "P" (латинская ПЭ) на клавиатуре - график остановится, и результат замера сохранится в файл compression_xxxx.msl, где xxxx - текущее время.
Вкручиваем датчик во вторую секцию и повторяем заново: Нажимаем "S", крутим стартером, нажимаем "P"....
Теперь можно закрыть окно в котором рисовались графики - для анализа оно не понадобится.

На данном этапе у нас есть два .msl файла, по одному на каждую секцию соответственно.

Эти файлы открываем по-очереди в программе Mega log viewer. Слева, в поле Graph 1 выбираем из выпадающего списка поле Pressure. Если необходимо, подгоняем масштаб графика, пользуясь кнопками лупы в нижнем правом углу. (скорее всего масштаб понадобится уменьшить).
Значения компрессии видно сразу. Если нужно посмотреть давление в любой момент времени - тыкаем на график в нужной точке.
Остальсь вычислить обороты вращения стартера - нажатием и удержанием кнопки мышки выделяем область между тремя пиками давления:
Прикрепленный файл  MegaLog.png ( 42.28 килобайт ) Кол-во скачиваний: 132

Снизу появится дельта времени (в моем примере это 0.659с). Открываем калькулятор, и делим цифру 180 на эту дельту - получаем искомые обороты в минуту. 180/0.659=273.
Перейти в начало страницы
 
+Цитировать сообщение
vl-alexander
сообщение 26.7.2013, 3:44
Сообщение #1


GOLD
************

Группа: Пользователи
Сообщений: 1604
Регистрация: 9.1.2011
Из: vl
Пользователь №: 4086



Для изготовления нам потребуется купить:
  • Ноутбук
  • Датчик давления
  • Ардуина (arduino)

На первом пункте останавливаться не буду - нужен тот, у которого есть usb порт, а значит любой smile.gif


Датчик давления нужен с пределом измерения не ниже 10 кг^см2, но и не сильно большим, чтобы обеспечить приемлимую точность. Исполнение - трёх контактное, с питанием = 5вольт.
  • +5V
  • минус
  • сигнальный (выход)

Как правило такие датчики выдают линейный сигнал от 0.5 до 4.5 вольт, 0.5 при нулевом давлении, 4.5 - при максимальном.
Например такой: http://www.ebay.com/itm/Pressure-transduce...56c&vxp=mtr


Ардуина. Это плата для разработчиков на основе микроконтроллера atmega. Купить можно в ближайшем радио-магазине. Выбор моделей довольно огромен (http://arduino.cc/en/Main/Products) - подойдет любая 5-вольтовая. (есть 3.3 вольтовые исполнения - они нам не подходят)


Железная часть: вкручиваем датчик давления в свечное отверстие (понадобится выточить переходник у любого токаря). Подключаем датчик давления к ардуине: питание датчика на контакт 5V, землю на GND, сигнальный выход на A0.

Программная часть:
Скачиваем три программы:
Arduino IDE
Processing
Megalog Viewer

Все три программы платформо-независимые, можно работать из под винды, мака, линукса. Если немножно исхитриться, то даже под андроидом замер компрессии не сложно организовать.

Arduino IDE
Этой программой прошиваем нашу плату. процедура делается всего один раз. и в последующие замеры не понадобится. Открываем редактор, и в поле ввода кода вставляем это:
Код
char incByte;
boolean converting;
unsigned int samplesFrequency, adcValue;
unsigned long samplesInterval, previousMicros;

void setup() {
  // initialize the serial communication:
  Serial.begin(115200);
  converting = false;
  samplesFrequency = 500;
  samplesInterval = 1000000 / samplesFrequency;
}

void loop() {

  if (Serial.available() > 0){
    incByte = Serial.read();
    switch (incByte){
     case 's':
      converting = true;
      previousMicros = micros();
      break;
     case 'p':
      converting = false;
      break;
    }
  }

  if (converting && (micros() >= previousMicros + samplesInterval))
  {
    previousMicros += samplesInterval;
    adcValue = analogRead(A0);
    Serial.println (adcValue);
  }
}

Получается примерно так:
Прикрепленный файл  arduino.png ( 26.27 килобайт ) Кол-во скачиваний: 126

Подключаем плату к компу, в меню tools->board выбираем модель своей ардуины, в меню tools->serial port выбираем порт через который подключена ардуина, и нажимаем кнопку Upload. процесс занимает около 10 секунд. после этого наш компрессометр готов к работе, закрываем arduino ide и не открываем больше никогда smile.gif


Процесс замера следующим сообщением...
Перейти в начало страницы
 
+Цитировать сообщение
8 страниц V   1 2 3 > »   
Начать новую тему
Ответов (1 - 99)

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

 



RSS Текстовая версия Сейчас: 19.5.2024, 18:15