Перейти к содержанию

Автоматика управления отбором по жидкости на основе Arduino


capsolo

Рекомендуемые сообщения

Опубликовано
[member=hardvik], а я, Вить с проца на 260 ног лучше застрелюсь сразу ;)
  • Ответов 1.9 тыс
  • Создана
  • Последний ответ

Топ авторов темы

  • capsolo

    357

  • serafh

    233

  • kirka

    150

  • митрик

    95

Опубликовано

[b][member=capsolo][/b],Да ерунда, три удара паяльником. 

Опубликовано

Антоха, все хитрее чем я думал... некорректно работает только при первом залете дельты, при втором и последующих все в порядке, работает как нужно... Подсказывай где копать?

Опубликовано (изменено)

Ну понеслось вроде, я уж думал один я Иван на счет свистопляски, звиняйте. Часть на коды уже перевел, чтоб от дврите уйти, но с формулами туго пока.

Изменено пользователем kirka
Опубликовано (изменено)

Еще бага нашлась, после того как делаем перестабилизацию через одновременно нажатые "плюс" и "минус" параметр "открытие" обнуляется после окончания самой процедуры стабилизации и выход может остаться как запитанным, так и распитанным...Отбор тоже при этом показывает 0...

 

Однако, все чудесатее... после некорректной отработки первого залета, при возврате в норму, опять обнулилось время открытия, отбор показывает ноль... Проявляется только после перестабилизации...

 

Опа! Поймал несколько раз подряд некорректную обработку залета, похоже корректность обработки зависит от состояния выхода... типа если залет произошел во время активного состояния выхода - раскорячивает, а если во время пассивного состояния - нормально отрабатывает...

 

Да, подтверждается, при залете во время активного состояния выхода - выход так и остается активным до окончания залета, дальше ШИМ начинает нормально работать... При залете во время пассивного состояния выхода - все штатно отрабатывает...

 

Бля, я на сегодня завязываю с испытаниями, может завтра на работе еще поковыряюсь...

Изменено пользователем bigson
  • + репутация 1
Опубликовано (изменено)
[member=bigson]"еще крупный глюк есть, как раз дотестю к четвергу и скину" и это и другое есть. Я к тому, что есть где пошебуршить еще, так-то все решаемо вроде. Надо просто выявить, а там дело за формулой обсчета того. Тут уж на Антона надежда. Он как прародитель сего чуда вроде не против. А, так ты и сам его нашел уже (в добавленном). Изменено пользователем kirka
Опубликовано

планирую в пятницу после обеда засесть за глюки

  • + репутация 1
Опубликовано

Не, на работе движуха была, не до личных занятий было Завтра наверное будет возможность...

Опубликовано

Короче, мозг я себе чуть не взорвал... с виду все правильно написано, но программисты подсказали... Секция проверки залета по температуре выглядела вот так:

 

void check_temp()
{
  uint8_t i; //счетчик
  if (devmode && lock) { /* если рект и дельта стабильна*/
    /* если достигли или перешли пороговое значение */
    if (abs(temp[1]-temp[0]) >= lock_norm + temp_diff) {
      /* если это первый переход за период повторения */
      if (!temp_ovf) {
        /* отключаем реле */
digitalWrite(RELAY_PIN, HIGH);
//pinMode(BEEPER_PIN, OUTPUT);
        
 
for (i=0;i<6;i++){
Serial.println("BEEP!!");
digitalWrite(BEEPER_PIN,LOW);
delay(500);
digitalWrite(BEEPER_PIN,HIGH);
}
//pinMode(BEEPER_PIN, INPUT);*/
        relay_counter = 0;
        repeat_counter =0;
        /* устанавливаем флаг */
        temp_ovf = true;
 
И после переключения релейного пина  до смены состояния переменной temp_ovf, могло вызваться прерывание таймера ШИМового, и он возвращал пин в активное состояние...
 
Секция проверки залета по температуре теперь должна выглядеть вот так:
 
void check_temp()
{
  uint8_t i; //счетчик
  if (devmode && lock) { /* если рект и дельта стабильна*/
    /* если достигли или перешли пороговое значение */
    if (abs(temp[1]-temp[0]) >= lock_norm + temp_diff) {
      /* если это первый переход за период повторения */
      if (!temp_ovf) {
      /* устанавливаем флаг */
       temp_ovf = true;
      /* отключаем реле */
digitalWrite(RELAY_PIN, HIGH);
//pinMode(BEEPER_PIN, OUTPUT);
        
 
for (i=0;i<6;i++){
Serial.println("BEEP!!");
digitalWrite(BEEPER_PIN,LOW);
delay(500);
digitalWrite(BEEPER_PIN,HIGH);
}
 
У меня так работает пока... тестю дальше...
  • + репутация 2
Опубликовано
[member=bigson],только "temp_ovf = true;" и все? Или не досмотрел. Вся правда в одной строчке?
Опубликовано

Да ее нужно поставить выше, в этом то и дело... Тоже мозг чуть не взорвал...

Опубликовано

Мля, пойду 200 приму, я дней 10 епся чтоб это найти. Спасиб за науку.

Опубликовано

Самого пока носом не ткнули, тоже не видел...

Опубликовано
[member=bigson], 350 улеглось как здрасте, колайдер уже заправил на утро, завтра запилю твои теги и в паралель поставлю, посмотрим реалити шоу, в конце особенно.
Опубликовано

Коллеги, про уно с шильдом не забывайте, я тоже пока не сдался.

Сообщение отражает мнение автора (imho)

Опубликовано
[member=serafh], алгоритм важен, остальное решаемо. Если его не отстроить, так хоть stm хоть атмега8, все в ведро.
Опубликовано

алгоритм важен

Алгоритм или его написАние языком программирования?

Сообщение отражает мнение автора (imho)

Опубликовано
[member=serafh], ну не цепляйся за слова-то, важен конечный результат так-то, тобишь исправленный и правильный скетч.
capsolo придет, акуеет что его труды перековыряли и всех нас забанит (шутка)
Опубликовано

ну не цепляйся за слова-то,

не было и намека

в написании алгоритма функционирования, как такового, я могу помочь,

а вот с С++ или С-- тут еще все темный лес

Сообщение отражает мнение автора (imho)

Опубликовано
[member=serafh], провода купил? Подошли или гамно?
Опубликовано

 

 


колайдер уже заправил на утро

 

Жду натурных испытаний... у меня сырца для проверки нету пока...

Опубликовано

 

 


акуеет что его труды перековыряли и всех нас забанит (шутка)

Наоборот спасибо, что увлечены этим контроллером - все багфиксы внесу, и свои еще добавлю. в пятницу после обеда саккумулирую что найдено и не исправлено и пофикшу, что успею, выйдет 1.0.2

Все согласны что выход из залета надо вернуть как было, чтобы дребезга не было?

Кстати думаю, имеет смысл показывать что и как я зафиксил, чтобы проще было в код врубаться. Что думаете?

Серж скетч был и остается как для уны с шилдом так и для наны. Первый ключик под себя меняешь и собираешь.

Опубликовано

[b][member=capsolo][/b],

ОК

Кирилл подсказал из-за чего провода чиновские (отсутствие меди) рвутся, придется все перепаивать 



провода купил? Подошли или гамно?

Провода нашел

Сообщение отражает мнение автора (imho)

Опубликовано (изменено)
[member=capsolo], прямо в скетче можно прокоментить, имхо типа было и стало, а конечную очистить всегда успеется.
Что вернуть, к вечеру узнаем, щас процесс по bigson подсказке с протоколом идет, в 11_40 тело пошло, я пришлю протоколы вам обоим. Изменено пользователем kirka
  • + репутация 2

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...