А еще хотелось бы уменьшить шаг регулировки скорости насоса.Костяшка, 18 Окт. 16, 15:14Запитай насос от 9 вольт.
Доступная автоматика HelloDistiller на Ардуино Мега 2560
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.5600 18 Окт. 16, 15:24
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.5601 18 Окт. 16, 15:33 (через 9 мин)
А я думаю что нбк надо управлять по температуре внизу колонны. Опишу как работает нбк у меня. При скорости 21 попугай при этом скорость подачи 23 литра в час отжим полный и температура внизу 100 град. При скорости 22 скорость подачи 27 литров в час и температура внизу падает до 99.2 и идет потеря спирта. Какая температура вверху (крепость) мне кажется вобще не важно. Главное подобрать мощность-степень отжима браги. А еще хотелось бы уменьшить шаг регулировки скорости насоса.Костяшка, 18 Окт. 16, 15:14У меня при 45 попугаях скорость порядка 12-15л/ч, шаг достаточно небольшой чтобы подобрать мощность, питаю от 12В. При подаче начиная от 10 до 15л температура низа порядка 100 +-0.1, а верх достаточно плавает. Почитай раздел про НБК, Игорь советует поддерживать температуру верха, при этом поглядывать за низом, но основной параметр это верх и давление, я уже писал почему.
А низ может падать если начинается захлеб
Костяшка
Бакалавр
Бийск
51 2

Температура внизу может падать и в том случае если идет пролив или не полное отжатие браги вследствии повышенной скорости подачи браги, что влечет потерю спирта. Какая основная наша задача при работе на нбк это максимально отжать брагу при максимальной скорости подачи, а какая при этом получается крепость,что и показывает температура вверху это в принципе не важно.
chester82
Студент
Свердловская область
20 1
Отв.5603 18 Окт. 16, 17:21 (через 41 мин)
Подскажите, пожалуйста, почему может не работать защита от перегрева клапанов? Когда выставлено напряжение перегрева 205 или более вольт, на клапана идет вся напруга, 220V, если ставлю 200v или менее, то напряжение на клапана если верить мультиметру в районе 20 вольт. Соответственно клапана не открываются, и только щелкают когда периодически подается 220. Скетч 341i, #define PEREGREV_ON 1 проверил.
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.5604 18 Окт. 16, 17:30 (через 9 мин)
Температура внизу может падать и в том случае если идет пролив или не полное отжатие браги вследствии повышенной скорости подачи браги, что влечет потерю спирта. Какая основная наша задача при работе на нбк это максимально отжать брагу при максимальной скорости подачи, а какая при этом получается крепость,что и показывает температура вверху это в принципе не важно.Костяшка, 18 Окт. 16, 16:40Твоя проблема это слишком большой шаг в регулировании скорости подачи. Если бы ты плавнее регулировал подачу, то увидел бы что при изменении температуры вверху на пару градусов низ стоит стабильно на полном отжатии. В теории ты вроди как прав, но когда на практике начинаешь регулировать по давлению и по низу, то в итоге получаешь недоотжатие. Сам на эти грабли наткнулся и в теме про НБК Игорь мне ответил что надо смотреть на верх, низ конечно тоже нужно выставить, но более плавно подобрать режим можно только по верху.
titan777
Специалист
Москва
192 136
Отв.5605 18 Окт. 16, 18:44
Я уже давно подключил к автоматике перильстатику, и сделал авторегулировку скорости и мощности. На НБК .
Работает достаточно неплохо.
По нижней температуре регулировка подачи, по давлению регулировка мощности.
По верху пока не делал ничего, но в планах добавить, как дополнение.
+Есть защита от отсутствия подачи браги.
Код кривоват немного, но сам алгоритм работы может кому пригодится.
Работает достаточно неплохо.
По нижней температуре регулировка подачи, по давлению регулировка мощности.
По верху пока не делал ничего, но в планах добавить, как дополнение.
+Есть защита от отсутствия подачи браги.
Код кривоват немного, но сам алгоритм работы может кому пригодится.
case 4:
UstPower=PowerNBK;
if (UstPower> PowerTenN) UstPower=PowerTenN;
if (maxTempRK20_Nbk<temps[TEMP_RK20] || maxTempRK20_NbkCnt>30) {
maxTempRK20_Nbk=temps[TEMP_RK20];
maxTempRK20_NbkCnt=0;
}
if (time3 > 30) {
SpeedNBK=SpeedNBKDst * 0.3; // первые 2 минуты брагу подаем медленно
time2=20;
maxTempRK20_NbkCnt=0;
} else if (time3 > 0) {
SpeedNBK=SpeedNBKDst * 0.5; // первые 2 минуты брагу подаем медленно
time2=20;
maxTempRK20_NbkCnt=0;
}
if (time3 <=0 ) {
if (U_MPX5010 > AlarmMPX_NBK * 0.7) {
if (time2<=0) { //PowerNBK = PowerNBK - 10;
time2 = 20;
}
}
if (U_MPX5010 < AlarmMPX_NBK * 0.5) {
UstPower = UstPower * 1.2;
} else if (U_MPX5010 < AlarmMPX_NBK * 0.6) {
UstPower = UstPower * 1.1;
}
if (U_MPX5010 > AlarmMPX_NBK * 0.7) {
UstPower = UstPower * 0.9;
} else if (U_MPX5010 > AlarmMPX_NBK * 0.8) {
UstPower = UstPower * 0.8;
} else if (U_MPX5010 > AlarmMPX_NBK * 0.9) {
UstPower = UstPower * 0.7;
} else if (U_MPX5010 > AlarmMPX_NBK ) {
UstPower = UstPower * 0.5;
}
if (UstPower> PowerTenN) UstPower=PowerTenN;
if ( (maxTempRK20_Nbk-temps[TEMP_RK20])<3 ) {
SpeedNBK=SpeedNBKDst;
time2=20;
maxTempRK20_NbkCnt=0;
} else if ((maxTempRK20_Nbk-temps[TEMP_RK20])<4 ) {
SpeedNBK=SpeedNBKDst*0.9;
if (time2<=0) { //if (SpeedNBKDst>0) SpeedNBKDst-=1;
time2=30;
maxTempRK20_NbkCnt++;
}
} else if ( (maxTempRK20_Nbk-temps[TEMP_RK20])<5 ) {
SpeedNBK=SpeedNBKDst*0.7;
if (time2<=0) { //if (SpeedNBKDst>0) SpeedNBKDst-=1;
time2=20;
maxTempRK20_NbkCnt++;
}
} else if ( (maxTempRK20_Nbk-temps[TEMP_RK20])<7 ) {
SpeedNBK=SpeedNBKDst*0.5;
if (time2<=0) { //if (SpeedNBKDst>0) SpeedNBKDst-=1;
time2=10;
maxTempRK20_NbkCnt++;
}
} else if ((maxTempRK20_Nbk-temps[TEMP_RK20])<10 ) {
SpeedNBK=SpeedNBKDst*0.3;
if (time2<=0) { //if (SpeedNBKDst>0) SpeedNBKDst-=1;
time2=10;
maxTempRK20_NbkCnt++;
}
} else {
SpeedNBK=0;
maxTempRK20_NbkCnt=0;
}
}
digitalWrite(PIN_STOP_NASOS_NBK, 0);
timeNBK=20;
if (temps[TEMP_DEFL]>=tEndNBK && time1<=0 || plusStateMachine==1) {
//Если температура превысила максимальную и с момента старта прошло более 20 минут, то считаем, что произошла авария - заклинил насос или кончилась брага.
// Ждем 1/2 минут и завершаем процесс.
time2=30;
plusStateMachine=0;
StateMachine=5;
if (BeepStateProcess) my_beep(BEEP_LONG);
}
if (temps[TEMP_DEFL]>=tEndNBK && time1>0) {
time1=60;
}
// не работает нагрев
if (time3<=0 && temps[TEMP_RK20]<970 && U_MPX5010<20) {
StateMachine=100;
SecondsEnd=Seconds;
SpeedNBK=0;
digitalWrite(PIN_STOP_NASOS_NBK, 1);
beep3(20,200,7);
}
break;
Костяшка
Бакалавр
Бийск
51 2

когда на практике начинаешь регулировать по давлению и по низу, то в итоге получаешь недоотжатие.вот это для меня вобще противоречит всем моим представлениям о работе нбк которые я прочитал или посмотрел. Давай рассмотрим гипотетическую ситуацию: например гонится брага крепостью 10%. Мы настраиваем автоматику так чтоб по температуре внизу брага отжималась до 0 и вверху получалась какая то крепость (температура), автоматика меняя подачу поддерживает крепость на заданном уровне скажем 60%. В следующий раз у нас брага по каким то причинам 5%, что в этом случае будет делать автоматика. Она будет увеличивать подачу стремясь вверху получить заданную крепость, а при этом будет возможно как раз и пролив колонны и слив не отжатой браги в канализацию. Правильно или нет?
Добавлено через 5мин.:
А если при увеличении подачи крепость растет а температура внизу не меняется то значит колонна на предыдущей скорости подачи, до увеличения скорости, работала в не максимальном по производительности режиме.
shram1970
Доцент
Желтая гора
1.3K 325

Отв.5607 18 Окт. 16, 19:34 (через 40 мин)
Костяшка, При оптимальной для колонны скорости пара пролива не будет,скорей будет захлеб,а от этого нас убережет контроль за давлением,при превышении порога скорость уменьшится.И получится что колона будет работать на пред захлебе.ИМХО
Костяшка
Бакалавр
Бийск
51 2

А если оптимальную скорость пара по каким то причинам не удается получить, например не можешь по какой то причине подать необходимую мощность в пг, а если датчика давления нет? Вот у меня например его нет.
shram1970
Доцент
Желтая гора
1.3K 325

Отв.5609 18 Окт. 16, 20:00 (через 12 мин)
А если бы да кабы,значит нужно дать пользователю выбор варианта.Мне частенько важна крепость на выходе невзирая на потери(не так они и велики,зато хвостов значительно меньше)
Костяшка
Бакалавр
Бийск
51 2
Отв.5610 19 Окт. 16, 04:49
Я хочу сказать лишь о том что температура внизу колонны это один из основных параметров при перегонке и разрабатывая алгоритм автоматизации необходимо обязательно ее учитывать.
msg31
Научный сотрудник
Барнаул
4.6K 2.5K

Отв.5611 19 Окт. 16, 05:07 (через 18 мин)
Работает достаточно неплохо.titan777, 18 Окт. 16, 18:44Вот пока мы тут обсуждаем, коллега все сделал. Предлагаю всем желающим оттестировать подход, предложенный titan777 и отписаться. Думаю он не откажет в разъяснениях, как встроить этот код в стандартный скетч.
P.S. По управлению НБК очень много мнений и много алгоритмов мне предлагали. Часть из них я пробовал, ничего путнего не получалось. Остановился пока на том, что есть, а именно фактически это просто контроль захлеба по давлению. Так что пробуйте, коллеги на разных НБК, если будет нормально работать, встрою это в стандартный скетч. Все на так просто, косвенным показателем служит отсутствие реализации авто-работы НБК в распространенных коммерческих версиях автоматик.
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.5612 19 Окт. 16, 07:29
msg31,у меня его алгоритм работать не будет как я хочу. Температура низа очень зависит от давления на улице. Перегонял при низком давлении низ был 99.5-99.8, при нормальном около 100, последний раз при высоком имел 100.4-100.5. Такой разброс от перегона к пепегону будет давать разные результаты по отжатию например если поставить настройку 100 банально то при низком давлении температура недостежима, а насос будет уменьшать подачу или наращивать мощность стараясь досичь. Или наоборот при высоком давлении мы быстро получим искомые 100 внизу, а ыактически могли бы еще с 0.5 отжать. Это приличный пролив.
Если же регулировать по верху то там поставить например 93 градуса и дельту 1 то есть в пределах 92-94 не регулируем, вышли за пределы - добпвили или отняли. От давления тут нет такой зависимости критической. Это аналогисно как старт стоп делать по низу колонны или по дефу. Внизу мы намного быстрее увидим хвосты. Так и тут- вверху мы быстрее поймем что надо делать. Каждый для себя установит свою температуру регулирвки.
Я бы не стал предлагать если бы не был уверен. Крайние разы я имено так вручную регулировал: задал мощность, подал брагу, довел подачу до 92-94 верха, смотря на давление. Если оно знаситеьно меньше рабочего добавил мощи, подождал и добавил подачу чтобы попасть в искомые 92-94. На низ же я только смотрел. В итоге отжатие максимальное.
Добавлено через 31мин.:
Если же регулировать по верху то там поставить например 93 градуса и дельту 1 то есть в пределах 92-94 не регулируем, вышли за пределы - добпвили или отняли. От давления тут нет такой зависимости критической. Это аналогисно как старт стоп делать по низу колонны или по дефу. Внизу мы намного быстрее увидим хвосты. Так и тут- вверху мы быстрее поймем что надо делать. Каждый для себя установит свою температуру регулирвки.
Я бы не стал предлагать если бы не был уверен. Крайние разы я имено так вручную регулировал: задал мощность, подал брагу, довел подачу до 92-94 верха, смотря на давление. Если оно знаситеьно меньше рабочего добавил мощи, подождал и добавил подачу чтобы попасть в искомые 92-94. На низ же я только смотрел. В итоге отжатие максимальное.
Добавлено через 31мин.:
показателем служит отсутствие реализации авто-работы НБК в распространенных коммерческих версиях автоматик.msg31, 19 Окт. 16, 05:07Не видел ни одной автоматики коммерческой с датчиком давления, а в НБК это один из главных показателей, поэтому алгоритмов и нет.
titan777
Специалист
Москва
192 136
Отв.5613 19 Окт. 16, 14:40
Нижняя температура не устанавливается пользователем, а сама встает, по максимально достигнутой.
Потом уже работа идет по дельте от этой максималки.
Так-что каждый раз температура саморегулируется, даже в процессе если поднимется еще больше, по ней установится.
Вот только если вниз пойдет, то это не отработает.
Потом уже работа идет по дельте от этой максималки.
Так-что каждый раз температура саморегулируется, даже в процессе если поднимется еще больше, по ней установится.
Вот только если вниз пойдет, то это не отработает.
if (maxTempRK20_Nbk<temps[TEMP_RK20] || maxTempRK20_NbkCnt>30) {
maxTempRK20_Nbk=temps[TEMP_RK20];
maxTempRK20_NbkCnt=0;
}
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.5614 19 Окт. 16, 14:48 (через 8 мин)
Вот только если вниз пойдет, то это не отработает.titan777, 19 Окт. 16, 14:40Ну чтобы вниз пошла это надо часов на 12 зарядить чтобы давление атмосферное упало.
Добавлено через 33мин.:
titan777, все конечно круто, но если тупо вставить этот кусок в скетч Максима, то нифига не заработает, так как половина переменных ты использовал свои и сам их объявил, многие до этого не додумаются.
Добавлено через 2мин.:
msg31, а можешь реализовать мой алгоритм в режиме бета теста? Я бы тестанул и отписался о результатах. Так как по давлению не получилось стабильно работать я отключил авторегулировку и делал все вручную.
Pauedi
Бакалавр
Добруш
87 16

Отв.5615 19 Окт. 16, 15:35 (через 47 мин)
Подскажите, господа, в какой строке нужно поменять значение на 255 если BEEPер с низким уровнем управления?
BarberXP
Доцент
Клин, МО
1.1K 419

Отв.5616 19 Окт. 16, 15:52 (через 18 мин)
Подскажите, господа, в какой строке нужно поменять значение на 255 если BEEPер с низким уровнем управления?Pauedi, 19 Окт. 16, 17:35[сообщение #12285934]
Pauedi
Бакалавр
Добруш
87 16

Отв.5617 19 Окт. 16, 16:00 (через 9 мин)
В чем проблема? Не компилируется скетч
Arduino: 1.6.11 (Windows 7), Плата: "Arduino / Genuino Мега или Мега 2560, ATmega2560 (Mega 2560)"
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 757: 0: предупреждение:" PRESS_SELECT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 748: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 758: 0: предупреждение:" PRESS_RIGHT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 749: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 759: 0: предупреждение:" PRESS_LEFT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 750: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 760: 0: предупреждение:" PRESS_UP "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 751: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 761: 0: предупреждение:" PRESS_DOWN "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 752: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'ничтожной настройки ()':
HelloDistiller341-1i: 1143: ошибка: 'zero_crosss_int' не был объявлен в этой области
HelloDistiller341-1i: 1259: ошибка: 'my_lcdprint' не был объявлен в этой области
HelloDistiller341-1i: 1282: ошибка: 'writeEEPROM' не был объявлен в этой области
HelloDistiller341-1i: 1299: ошибка: 'readEEPROM' не был объявлен в этой области
HelloDistiller341-1i: 1337: ошибка: 'GetPhonePDU' не был объявлен в этой области
HelloDistiller341-1i: 1343: ошибка: 'CloseAllKLP' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ScanKbd ()':
HelloDistiller341-1i: 2809: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 2819: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3287: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3308: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3473: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3497: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3650: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3799: ошибка: 'CloseAllKLP' не был объявлен в этой области
HelloDistiller341-1i: 3940: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4241: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4262: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4285: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 4416: ошибка: 'CloseAllKLP' не был объявлен в этой области
HelloDistiller341-1i: 4559: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4857: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4878: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4900: ошибка: 'DisplayData' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ProcessTermostat ()':
HelloDistiller341-1i: 4979: ошибка: 'ProcessPIDTemp' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ProcessTimerMaxPower ()':
HelloDistiller341-1i: 5039: ошибка: 'StateToSMS' не был объявлен в этой области
статус выхода 1
'Zero_crosss_int' не был объявлен в этой области
Arduino: 1.6.11 (Windows 7), Плата: "Arduino / Genuino Мега или Мега 2560, ATmega2560 (Mega 2560)"
Скрытый текст
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 757: 0: предупреждение:" PRESS_SELECT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 748: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 758: 0: предупреждение:" PRESS_RIGHT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 749: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 759: 0: предупреждение:" PRESS_LEFT "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 750: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 760: 0: предупреждение:" PRESS_UP "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 751: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 761: 0: предупреждение:" PRESS_DOWN "переопределены
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: 752: 0: примечание: это место предыдущего определения
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'ничтожной настройки ()':
HelloDistiller341-1i: 1143: ошибка: 'zero_crosss_int' не был объявлен в этой области
HelloDistiller341-1i: 1259: ошибка: 'my_lcdprint' не был объявлен в этой области
HelloDistiller341-1i: 1282: ошибка: 'writeEEPROM' не был объявлен в этой области
HelloDistiller341-1i: 1299: ошибка: 'readEEPROM' не был объявлен в этой области
HelloDistiller341-1i: 1337: ошибка: 'GetPhonePDU' не был объявлен в этой области
HelloDistiller341-1i: 1343: ошибка: 'CloseAllKLP' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ScanKbd ()':
HelloDistiller341-1i: 2809: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 2819: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3287: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3308: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3473: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3497: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3650: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 3799: ошибка: 'CloseAllKLP' не был объявлен в этой области
HelloDistiller341-1i: 3940: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4241: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4262: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4285: ошибка: 'DisplayData' не был объявлен в этой области
HelloDistiller341-1i: 4416: ошибка: 'CloseAllKLP' не был объявлен в этой области
HelloDistiller341-1i: 4559: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4857: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4878: ошибка: 'SetAngle' не был объявлен в этой области
HelloDistiller341-1i: 4900: ошибка: 'DisplayData' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ProcessTermostat ()':
HelloDistiller341-1i: 4979: ошибка: 'ProcessPIDTemp' не был объявлен в этой области
D: \ Р "РћРљРЈРњР • РќРўР« \ Р РμРєС,РёС "РёРєР ° С † РёСЏ \ HelloDistiller341-1i \ HelloDistiller341-1i.ino: В функции 'пустота ProcessTimerMaxPower ()':
HelloDistiller341-1i: 5039: ошибка: 'StateToSMS' не был объявлен в этой области
статус выхода 1
'Zero_crosss_int' не был объявлен в этой области
bengoor
Доцент
Кронштадт
1.8K 1.1K

Отв.5618 19 Окт. 16, 16:09 (через 9 мин)
Pauedi, для начала надо чтобы путь до папки со скетчем был полностью на латинице, у тебя русскими буквами.
Pauedi
Бакалавр
Добруш
87 16

Отв.5619 19 Окт. 16, 16:10 (через 2 мин)
Понял, спасибо.