IPB

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

 Правила форума Правила форума
8 страниц V  « < 6 7 8  
Ответить в данную темуНачать новую тему
Роторный компрессометр своими руками
Рейтинг 5 V
 
vl-alexander
сообщение 26.7.2013, 3:44
Сообщение #141


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  « < 6 7 8
Ответить в данную темуНачать новую тему
22 чел. читают эту тему (гостей: 22, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 1.11.2024, 3:37