Страница 2 из 3
Re: Мотор от стиральной машины + arduino
Добавлено: 14 сен 2014, 18:25
Predator
Алексс писал(а):а сейчас для микропроцессора можно писать программы на, язык не поворачивается, бейсике... тьфу, мерзость
Да, это не то, что раньше - в машинных кодах

Re: Мотор от стиральной машины + arduino
Добавлено: 14 сен 2014, 18:26
Maxekb77
aftaev,
Конечно страшный он же не наш ))))
Наш "Дракон" куда симпатишнее и буран на нем летал ))))
Predator,
Угу как сейчас помню русифицировали мсдос 6.22 в hex редакторе - ужас

Re: Мотор от стиральной машины + arduino
Добавлено: 14 сен 2014, 19:42
Serg
Алексс писал(а):плюс датчик фазы на транзисторе работал не стабильно (с транзисторами дружу плохо, может я ему мяса недокладывал - не знаю) и в последствии был заменен на оптотранзистор.
Надо было просто C3 выкинуть.

Re: Мотор от стиральной машины + arduino
Добавлено: 14 сен 2014, 20:00
Алексс
UAVpilot писал(а):C3 выкинуть.
без него было тоже плохо - проблема не в пропуске периодов а наоборот - "лишние" появлялись. как следствие, дуня думала что оборотов мало и добавляла. что опять усугубляло и тп.
Re: Мотор от стиральной машины + arduino
Добавлено: 11 янв 2015, 12:55
il76
Алексей, добрый день!
Очень заинтересовала ваша идея.
Помогите новичку в осознании
Почему в схеме используется 24v? случайность?
и как мне повторить вашу идею ничего не попалив

Re: Мотор от стиральной машины + arduino
Добавлено: 11 янв 2015, 22:41
Алексс
Привет!
совсем не обязательно должно быть 24В - мне такой трансформатор продался. важно на дуне подключить +питания к VIN входу и тогда никто не пострадает.
а в остальном все очень просто. однако хочу предупредить, что схема и прошивка сделаны лишьбы как-то ожило. дальше допиливать придется самостоятельно
ну и очень внимательно с выходным каскадом - на нем присутствует сетевое напряжение.
Re: Мотор от стиральной машины + arduino
Добавлено: 16 апр 2016, 11:46
switch
Алексс писал(а):Пару дней занимался интеллектуальным ананизмом трудом, результат которого вам и представлю. Возможно кому-то пригодится.
Алексс, день добрый!
Спасибо за схему, за исходники. Я пытаюсь повторить и не выходит аленький цветочек. В коде маловато комментариев. Не появляется у меня на тиристорном выходе SSR какое-либо напряжение. Схема такая же, только трансформатор на 12 вольт. Подозрения на сигнал с ZERO, он у меня такой:
Не подскажете куда смотреть?
Собственно занялся этим потому что мне нужно регулировать частоту вращения вентилятора по шине 1-wire
Re: Мотор от стиральной машины + arduino
Добавлено: 16 апр 2016, 18:05
Алексс
приветствую
сигнал выглядит странновато. проверить просто - в прерывании zero cross менять какой-то пин и смотреть осцилографом. я так искал проблему в другой схеме, где по какой-то причине прерывание генерилось несколько раз.
ну а дальше выводить нужные значения в последовательный порт и смотреть как оно работает.
если нет обратной связи от вентилятора, то 90% кода можно выбросить (ПИД часть).
pc814 неплохой вариант для zero cross детектора
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 09:49
switch
Алексс, спасибо за ответ!
В общем плюнул и начал собирать на TDA1085, но тоже не срослось - не вытравил плату, не купил детали... А занять себя чем-то надо, вернулся к ардуине

Удалось побороть сигнал ZEROCROSS: шумел диодный мост, поставил параллельно конденсатор на полмикрофарада. Подобрал режим работы оптотранзистора 4N25: вместо одного резистора на +питания подключил через делитель из подстроечного на 5 кОм и заставил работать. Еще в исходниках перепутаны были номера прерываний - поправил. В общем теперь сигналы от таходатчика и пересечения нуля ловятся. Причем если отключить от USB то форма сигнала сильно искажается и вообще перестает определяться ноль. На выходе симистора появился какой-то хитрый сигнал. Но у вас по осциллограмме он величиной 5 вольт, а у меня после резистора на 470к он1.2 вольта. Видимо оптосимистор не открывается из-за этого. Пока встало все на этом...
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 10:15
Алексс
470к??
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 10:26
Алексс
Еще один момент - на схеме не правильно подключен симистор. Оптопара должна быть между 2й и 3й ногой.
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 15:46
switch
Алексс писал(а):470к??
ошибся, 470 Ом.
По поводу симистора, так ?

Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 17:11
Алексс
Да, так.
Как успехи?
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 20:28
switch
Да вот только с дачи приехал. Завелся девайс! Видимо действительно проблема в неправильном подключении тиристора.
Работает правда фигово. Импульсно. Слышно что на малых оборотах он что-то пытается ШИМить, но раз в секунду примерно, случайно, подает полную мощность на несколько миллисекунд.
Мне нужно держать обороты до 1000..2000. Не хотелось бы через шкивы и ремень делать чтоб не гонять мотор на 15 тыщ оборотов.... Ща разбираюсь с параметрами PID. Что-то не регулируется с клавиатуры...
Большое спасибо!
Re: Мотор от стиральной машины + arduino
Добавлено: 17 апр 2016, 21:33
Алексс
ардуиновский пид не правльный - там не используется интергральная составляющая.
вот кусочек рабочего кода, который я использовал для пид терморегулятора
Код: Выделить всё
bool PIDv2::Compute(unsigned int now)
{
if(!inAuto)
return false;
if((now - lastTime)>= SampleTime)
{
lastTime = now;
/*Compute all the working error variables*/
double input = *myInput;
double p_error = *mySetpoint - input;
/* if output is in limit, don't let integrator wind up */
if(!isClipping)
i_error += ki * p_error;
if(i_error != 0.0)
{
if(i_error > i_limit)
i_error = i_limit;
else if(i_error < -i_limit)
i_error = -i_limit;
}
else
{
if(i_error > outMax)
i_error= outMax;
else if(i_error < outMin)
i_error= outMin;
}
double d_error = (p_error - lastError);
lastError = p_error;
/*Compute PID Output*/
double output = kp * p_error + i_error + kd * d_error;
if(output > outMax)
{
isClipping = true;
output = outMax;
}
else if(output < outMin)
{
isClipping = true;
output = outMin;
}
else
isClipping = false;
*myOutput = output;
return true;
}
else
return false;
}
Re: Мотор от стиральной машины + arduino
Добавлено: 18 апр 2016, 08:36
switch
Алексс, спасибо еще раз!
Но не могли бы вы дать фрагмент кода поболее - что-то не получается его откомпилировать. Или дать ссылку на мануал по этой версии PID, я не нашел...
Re: Мотор от стиральной машины + arduino
Добавлено: 18 апр 2016, 10:29
Алексс
Потому как дописывал его я, мануала нет
Вроде я старался сделать более менее совместимым.
Блин, смотрю в код и вижу какие-то баги

но работает.
создаем объект
PIDv2 pid(&Input, &Output, &Setpoint, 80, 3, 10);
настраиваем
pid.SetSampleTime(750);
pid.SetIlimit(50);
pid.SetOutputLimits(0, 100);
pid.SetMode(PIDv2::AUTOMATIC);
вычисляем
pid.Compute(millis());
для начала нужно выставить ki и kd = 0
постепенно увеличивать kp, пока мотор не начнет пульсировать
но это все если реально хочется играться с ардуиной, пидом и тп.
если ножно рабочее решение, то лучше взять tda1085 и уже ей управлять. там и контроль тока и разгон реализован.
нужно только управление с дуней спарить через оптрон и pwm и все будет работать как часики.
Re: Мотор от стиральной машины + arduino
Добавлено: 18 апр 2016, 10:40
switch
Спасибо за совет!
У меня трудности начались с этого
не понял как передать параметр... Но сейчас на работе - вечером продолжу возню...
Раз уж заработал девайс - буду дальше его мучать. По току ограничение тоже можно сделать - датчик тока поставить не сложно. Мну больше беспокоит превышение оборотов: если за 3 тыщи выйдет у меня вентилятор на куски разлетится

Я так понимаю если симистор выгорит, то мотор будет крутить по-максимуму? Поэтому хочу отдельно реле поставить и выключать мотор когда превышение оборотов.
Re: Мотор от стиральной машины + arduino
Добавлено: 18 апр 2016, 20:44
vladumur
Switsh, держи и не мучайся:
http://cncmasterkit.ru/viewtopic.php?f=3&t=1409
Повторял, работает

.
Re: Мотор от стиральной машины + arduino
Добавлено: 18 апр 2016, 20:53
switch
Спасибо!
Но что-то там деталей лишних много

Я с этим пока попробую разобраться. Вот опять сел. Если бы уважаемый Алексс в кратце объяснил бы принцип регулирования, я бы сам написал обработку
