помогите с управлением ветрогенератора
- Войдите на сайт для отправки комментариев
Пт, 02/09/2016 - 16:10
Добрый день.
Задумал собрать ветра-генератор, управление хочу доверить
Аrduine Mega2560,но я не программист и не знаю язык программирования.
Много рылся в интернете и похожих проектов не удалось найти.
Были собственные попытки,но отсутствие знаний в программировании сказалось на результат.
Не могли бы Вы мне помочь со скетчем?
mega 2560, 2шт-датчика холла, модуль Реле 4х канальное- 1 канал-2 канал отвечают за перемещение двигателем корпуса двигателя лопастей( start,stop), 3 канал-4 канал отвечают за вращения двигателя лопастей (вправо,влево)
То есть, необходимо удерживать диапазон вращения главного вала 230-250 об/мин(на катором установлен дотчик холла). Вал начинает вращаться, когда скорость ветра более 3м/с,ветер будет измеряться спомошу самодельмого аннимометра(на катором установлен другой дотчик холла). То есть нужно выдерживать такой угол лопастей, чтобы обороты главного вала не выходили за вышеуказанные пределы.
.
2шт
нужно делать два программных тахометра(анемометр в м/с. ,а второй об./мин.),и вывести эти показания на 2 дисплэя для визуального кантроля и регулировки.
Помагите кто может.
Вопрос: сами готовы разбираться? Писать, вникать в тонкости программирования, тестировать и т.п.?
я в программировании вообще не разбираюсь
const int animometrPin = 2; // это номер вход анемометра (первый датчик оборотов-датчик холла)
const int start_motor_A = 4; // это номер 4 выход на реле-1 привода отк. лопастей
const int stop_motor_B = 5; // это номер 5 выход на реле-2 привода зак.лопастей
const int sensorPin = 21; // это номер вход датчик оборотов лопастей (второй датчик оборотов-датчик холла)
const int motor_windPin_C = 6; // это номер 6 выход на реле-3 двигатель лопастей
const int motor_windPin_D = 7; // это номер 7 выход на реле-4 двигатель лопастей
void setup(){
pinMode(animometrPin, INPUT); // присвоим вход анемометра:
pinMode(start_motor_A, OUTPUT); // присвоим выход реле-1 привода отк.лопастей
digitalWrite(start_motor_A, LOW); // присвоим состаяние привода отк.лопастей:
pinMode(stop_motor_B, OUTPUT); // присвоим выход реле-2 привода зак.лопастей
digitalWrite(stop_motor_B, LOW); // присвоим состаяние привода зак.лопастей:
pinMode(sensorPin, INPUT); // присвоим вход датчик оборотов лопастей:
pinMode(motor_windPin_С, OUTPUT); // присвоим выход реле-3 двигатель лопастей
digitalWrite(motor_windPin_С, LOW); // присвоим состаяние двигателя лопастей:
pinMode(motor_windPin_D, OUTPUT);// присвоим выход реле-4 двигатель лопастей
digitalWrite(motor_windPin_B, LOW); // присвоим состояние двигателя лопастей:
}
void loop(){ если можно добавьте 2шт.- 7и сегментных дисплея для анемометра и для датчик оборотов лопастей для визуального контроля
// при достижении скорости ветра выше чем 3м./с.(анемометр(первый датчик оборотов-датчик холла) ), включается выход А реле-1 привода отк. лопастей ( концевик прервет )
// выход А(реле-1) привода открытия лопастей включается (start)
// при выше указанных условиях (ветер 3м./с.и выше) датчик-2 начнет считывать обороты лопастей
// необходимо удержать диапазон 230-250 об/мин
// если обороты > 250,то выход C (реле-3) двигатель лопастей включится на 3 секунды (влево по вращении)
// если обороты < 230,то выход D(реле-4) двигатель лопастей включится на 3 секунды (вправо по вращении)
// при понижении скорости ветра ниже чем 3м./с.
(анемометр),включается выход В (реле-2) привода зак. лопастей (stop)
// выход В (реле-4) привода закрытия лопастей включается ( концевик прервет )
}
вот,что я смог написать
Вопрос: сами готовы разбираться? Писать, вникать в тонкости программирования, тестировать и т.п.?
аппаратура имеется,за исключением дисплэя-жду доставки.
тестировать буду
Т.е. вы однозначно сами не можете ничего написать, учиться не хотите или нет времени/желания, а можете только тестировать - я правильно понял? Если да - то вам в раздел: http://arduino.ru/forumy/ishchu-ispolnitelya
огромное желание учиться,но времени мало уделяю этому.скоро зима и хотелось бы уже запланировать работу по изготовлению ветряка.но пока не решиться с упровлением,я не могу т.к. может нужны будут какието изменения.
вы не могли бы мне помочь?
Ок, понял. Тогда поступить можно так: раз вы учитесь, то, во-первых, можно поиграться со стандартными примерами, чтобы понять, как и чего работает. Почитать раздел http://arduino.ru/Reference на этом сайте. Потом уже - браться за реализацию проекта, разбив всё на этапы, но перед этим - простым русским языком расписав для себя алгоритм работы всего добра.
Начните реализацию с подсчёта кол-ва оборотов вала - примеров на форуме тонны. Как только это сделаете - сделайте вывод подсчитанного в порт (Serial). После этого - можно потихоньку писать код, который в зависимости от оборотов поворачивает ветряк боком к ветру. На последнем этапе - прикручивать вывод на дисплей или ещё куда.
Всё не так страшно, как кажется ;) Понимаю, что есть вопросы, поэтому давайте начнём с малого - какой конкретный простой вопрос, касающийся какого-либо этапа разработки прошивки, у вас сейчас есть?
void loop() вот тут затруднение
Для начала - при добавлении темы есть кнопочка "Вставить код" - подробнее описано вот здесь: http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
Далее: вы неправильно прочитали, что я писал: начните с подсчёта оборотов. На форуме есть поиск, правый верхний угол, ключевые слова - "подсчёт оборотов".
void loop()
первое система должна считывать обороты аннимометра.1метр в секумду =4 оборота(импульса) в 1000мили секумд
а у нас задача 3м/с-12импульсов в 1000мил.секунд
Ни кто за тебя код программы не будет, тем более по такими не определенным условиям "ТЗ".
1. "при достижении скорсти ветра выше чем".
А кто сказал что вообще ветер есть? А если есть, то кто определил с какая скоростью?
Значит - с начала нужно опеделить скорость ветра.
Где в программе этот фрагмент кода? - Нету.:-)
Без этого, всё остальное - нафих не нужное кноптокоптание.
Как вычислить скорость ветра - примеры и проекты реализации есть.
Находим их, читаем, думает, пробуем на собранном железе закачивая программу "обработки данных с ветромера".
Получаем приемлемый результат и только потом идем дальше к моторам.
Но кто-то должен написать программу?
Так что 2 варианта: или сам (а значит придется чему-нить научится в программировании), или кто-то это сделает за тебя.
первое система должна считывать обороты аннимометра.1метр в секумду =4 оборота(импульса) в 1000мили секумд
а у нас задача 3м/с-12импульсов в 1000мил.секунд
Принципиально задачи, что 4 им/сек, что 100 им/сек, ни чем не отличаются.
И таки да! А куда деваются штормы? ;-)
спасибо за замечание
у анемометра задача считывать имп/в сек и при указонных условиях т.е. <3м/с то включать Pin 4 на 2 минуты и после выключить,а если >3м/с,то включить Pin 5 на 2 мин. и после этого выключить.
а со штормам будет спровляться другая часть(второй датчик холла)
у анемометра задача считывать имп/в сек ...
Не правльная постановка задачи. Анемометр - внешняя приблуда к Аrduine Mega2560. (Или он к ней прилагался в комплекте?)
Значит задача анемометра - выдавать на-гора "скорость ветра" в им/сек на какое-то устройство.
Задача Mega2560: принять сигнал с анемометра, вычислить "скорость ветра" и по заданным значениям выдать "на-гора" тот или иной управляющий сигнал. А ушь куда и за чем он пойдет дальше - головная боль разработчика проекта. ;-)
Так что, с точки зрения Mega2560, данные с анемометра - обыденная задача "тахометра". Проектов "тахометра" валом в Инете. :-)
а со штормам будет спровляться другая часть(второй датчик холла)
А задлянакуда второй-то?
120 км/час - это шторм или 33,333 м/сек.
Как укзано "3м/с-12импульсов", то 33,33 м/сек равно всего-то навсего 133 им/сек. И что тут мерить?
Главное, что бы анемометр не развалился. :-))
спасибо за замечание
у анемометра задача считывать имп/в сек и при указонных условиях т.е. <3м/с то включать Pin 4 на 2 минуты и после выключить,а если >3м/с,то включить Pin 5 на 2 мин. и после этого выключить.
а со штормам будет спровляться другая часть(второй датчик холла)
Ветряк будет с изменяемым шагом винта? а судя по оборотам его диаметр должен быть около 8 метров, круто
а вообще зачем измерять скорость ветра? в пром ветряках при превышении оборотов (с постоянным шагом винта) когда уже акб немогут его переварить и напряжение переваливает норму включаются балластные резисторы 1, 2, 3 ступеней(зимой в отопление пускать можно) и если это уже непомогает то складывается стабилизатор и лопасти встают на эл тормороз (КЗ)
с изменяемым шагом винта можно не резисторы подключать а шаг лопасти уменьшать.
а поделу, зачем считывать импульзы в секунду когда достаточно функцией.
Здравствуйте, немогли бы вы отправить схему сборки. Буду очень благодарен.