не знаю. ищите ошибку в подключении. подцепите аккумулятор а D2 отсоедените. Если будет работать при отключении и не работать при подключении к D2 ищите ошибки в монтаже. хотя тут изначально ошибка монтажа
тестирую. пока на нижней границе 220-224 небольшой сбой. дойдя до 225 об переключаеться и пока об не упадут до 220 шток актуатора двигаеться из одного крайнего положения в другой (полное движение вперед и назад) до тех пор пока не дойдет до 220 об. дойдя до 220 фиксируеться. и ждет когда подниметься до 250
расскажите как у вас должно работать. если правлиьно понял увеличились обороты выше какого то предела актуатор поворачивает ветрогенератор чтобы уменьшить силу ветра, когда ветер стал слабее вернуть назад. так?
тогда получается если какая то затоможенность будет ничего страшного как только слишком далеко повернется плата заметит падение оборотов и вернет назад. единственное может будет постоянно туду сюда гонять. тут нужны наверно немного другие условия. ветер не появляется обычно на секунду, значит инерционность не страшна
и еще вопрос акуатор насколько помню работает в обе стороны. когда включается реле подается питание и он поворачивает ветрогенератор. а как он назад возвращается?
на реле подаеться изначально высокий сигнал. в проге прописан. который замыкает реле и включает актуатор в рабочее положение шток выдвинут. когда поднимаються обороты на реле подаеться сигнал LOW реле обестачиваеться и замыкает цепь на обратную полярность (на увод из под ветра)
проводил испытания на 12В работал. когда поставил номинальное 24 В от быстрых переключений начали гореть предохранители.
при понижении оборотов на нижнем пределе когда реле начинает пульсировать и шток находиться возле конечного выключателя происходит КЗ и летит предохранитель после примерно 8 быстрых пульсаций
Погорели они из-за скачков когда реле скачками переключалось и на контактах реле происходила дуга. В последней проге переключение разовое как на ручном управлении.
не знаю. ищите ошибку в подключении. подцепите аккумулятор а D2 отсоедените. Если будет работать при отключении и не работать при подключении к D2 ищите ошибки в монтаже. хотя тут изначально ошибка монтажа
проблема была не в электрическом соединении а в самой плате какойто пробой.
схема срабатывает при 210 оборотах и отключаеться при 170
как вы проверили если плата сдохла?
я перепаял питание на старую плату из этой и она заработала. сейчас работаю на первой плате
понятно. плавно увеличивайте и уменьшайте обороты и проверьте еще раз. изза усреднения будет задержка небольшая
есть небольшая задержка. в проге установлен верхний порог 250 и нижний 210
при испытании верхний порог срабатывания 210 и нижний 170
я изменил в проге верхний 290 и нижний 270 при испытании срабатывание происходит при верхнем пороге 245 и нижнем 225
понятно. странно. ну да ладно. работает стабильно или нет?
тестирую. пока на нижней границе 220-224 небольшой сбой. дойдя до 225 об переключаеться и пока об не упадут до 220 шток актуатора двигаеться из одного крайнего положения в другой (полное движение вперед и назад) до тех пор пока не дойдет до 220 об. дойдя до 220 фиксируеться. и ждет когда подниметься до 250
разрыв между границами уменьшите
уменьшил разрыв 250-240 об в начале работало нормально потом нижний предел сместился на 232 об
расскажите как у вас должно работать. если правлиьно понял увеличились обороты выше какого то предела актуатор поворачивает ветрогенератор чтобы уменьшить силу ветра, когда ветер стал слабее вернуть назад. так?
правильно
тогда получается если какая то затоможенность будет ничего страшного как только слишком далеко повернется плата заметит падение оборотов и вернет назад. единственное может будет постоянно туду сюда гонять. тут нужны наверно немного другие условия. ветер не появляется обычно на секунду, значит инерционность не страшна
и еще вопрос акуатор насколько помню работает в обе стороны. когда включается реле подается питание и он поворачивает ветрогенератор. а как он назад возвращается?
на реле подаеться изначально высокий сигнал. в проге прописан. который замыкает реле и включает актуатор в рабочее положение шток выдвинут. когда поднимаються обороты на реле подаеться сигнал LOW реле обестачиваеться и замыкает цепь на обратную полярность (на увод из под ветра)
а в крайних точках актуатора он сам останавливается?
да он останавливаеться размыкает цепь и ждет команду на обратное движение
хорошо. когда в реальных уловиях протестируете?
в понедельник-вторник поеду тестировать.
меня пока нижний предел беспокоит. иногда жестко срабатывает и иногда от 3-8 раз меняет положение штока до фиксации
проверьте осциллографом если есть сигнал с датчика
в крайнем случае придется возможно усилитель ставить до нормального уровня 5В (у вас с датчика вроде 3.2В)
проводил испытания на 12В работал. когда поставил номинальное 24 В от быстрых переключений начали гореть предохранители.
при понижении оборотов на нижнем пределе когда реле начинает пульсировать и шток находиться возле конечного выключателя происходит КЗ и летит предохранитель после примерно 8 быстрых пульсаций
на датчике напряжение 3.4-3.6 В
как часто щелкает?
не ставьте пока 24В во время тестов. не жгите предохранители
01
#define rele 10
02
volatile unsigned
long
time = 0;
//Время срабатывания датчика
03
volatile unsigned
long
time_old = 0;
//предыдущее время
04
int
speeed = 0;
05
boolean flag = 0;
06
07
int
mass[5] = {0,0,0,0,0};
08
byte
first = 0;
09
10
void
setup
(){
11
delay(120000);
//подождем 2 мин на начальном этапе
12
pinMode(rele, OUTPUT);
13
digitalWrite(rele, LOW);
14
attachInterrupt(0, impuls, RISING);
//Прерывание по нарастающему фронту на D2
15
}
16
void
loop
(){
17
if
(flag == 1){
18
speeed = 60000/(time-time_old);
//вычисляем скорость в об/мин
19
20
//========================================================================
21
// Первый раз заполняем массив одинаковыми значениями измеренной скорости
22
// Выполняется только 1 раз после первого измерения
23
24
if
( first == 1){
25
for
(
int
i=0; i<5; i++){
26
mass[i] = speeed;
27
first++;
28
}
29
}
30
31
//========================================================================
32
// Вычисляем среднее
33
for
(
int
i=0; i<4; i++){
34
mass[i] = mass[i+1];
35
}
36
mass[4] = speeed;
37
for
(
int
i=0; i<5; i++){
38
speeed += mass[i];
39
}
40
speeed /= 5;
41
//========================================================================
42
// Управляем реле
43
44
if
(speeed >= 250){
45
digitalWrite(rele, HIGH);
46
delay(1000);
47
}
48
if
(speeed <= 210){
49
digitalWrite(rele, LOW);
50
delay(1000);
51
}
52
flag = 0;
53
}
54
}
55
56
//========================================================================
57
// Подпрограмма прерывания
58
void
impuls(){
59
time_old = time;
60
time = millis();
61
flag = 1;
62
if
(first == 0){
63
first++;
64
}
65
}
добавим задержку. секунду например и посмотрим
первая проверка прошла чисто. сейчас еще погоняю и посмотрим
спасибо. пока работает чисто. нужна будет корректировка уже по месту по силе ветра.
ну хорошо. сразу 24 не подавайте. проверьте так
Пока опустил на 20 В
может оставить 12 или 15 например чтобы не горели предохранители если что?
но тут сами выбирайте. если есть предохранители то пожалуйста. главное чтобы еще что нибудь не погорело
Погорели они из-за скачков когда реле скачками переключалось и на контактах реле происходила дуга. В последней проге переключение разовое как на ручном управлении.
ок. отпишись после тестов. а лучше видео как это все выглядит и работает