ИК паяльная станция на Arduino Mega 2560. Доработка скетча "ARS_v2_Lilium_JSN"

Тема в разделе "Глядите, что я сделал", создана пользователем Jalnin, 2 ноя 2012.

  1. zortep

    zortep Нерд

    попробуйте этот скетч
     

    Вложения:

    Roniks59 нравится это.
  2. Roniks59

    Roniks59 Нерд

    Спасибо, попробовал.
    Ошибка
    Arduino: 1.8.5 (Windows 7), Плата:"Arduino/Genuino Uno"

    D:\Arduino\FLprog\IK станция\ARDUINO_REWORK_\ARDUINO REWORK V1.3.2 LCD20x4_new\ARDUINO REWORK V1.3.2 LCD20x4\sketch_feb07a1\sketch_feb07a1.ino: In function 'void setup()':

    sketch_feb07a1:222: error: 'class LiquidCrystal_I2C' has no member named 'init'

    exit status 1
    'class LiquidCrystal_I2C' has no member named 'init'

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
    Не могу разобраться
     

    Вложения:

  3. vector99

    vector99 Гик

    А если так:
    Код (C++):
    lcd.begin();
    Вместо
    Код (C++):
    lcd.init();
     
    Roniks59 нравится это.
  4. Roniks59

    Roniks59 Нерд

    Не помогло
     
  5. Roniks59

    Roniks59 Нерд

    Я его сделал! Завтра соберу детектор нуля (его ко 2му пину цепляют?), подключу SSRки и буду искать оптимальные настройки на практике. Всем спасибо!
     

    Вложения:

    Последнее редактирование: 29 янв 2018
  6. Arslan13

    Arslan13 Нуб

    Здравствуйте,как отрегулировать верхнюю термопару?
    Запускаю станцию,низ греется до положенных 150 к примеру,а термопара сверху показывает 140,и в итоге снизу продолжает жарить,но а верх не включается из за недобора температуры сверху на плате.
     
  7. SOLOway

    SOLOway Гуру

    Arslan13 А что означает "...в итоге снизу продолжает жарить..." - т.е. НИ продолжает набирать температуру? Или удерживает на 150С?
     
  8. Arslan13

    Arslan13 Нуб

    Не правильно выразился.НИ удерживает температуру,а сверху не хватает температуры для включения ВИ
     
  9. SOLOway

    SOLOway Гуру

    Arslan13 А датчик НИ у вас снизу платы, около края платы? - тогда так и будет недобор, хотя, возможно, плата не успевает поглотить тепло НИ из-за быстрого прироста t*C снизу.
     
  10. Arslan13

    Arslan13 Нуб

    Термопара НИ прямо под чипом который требует замены. Может сама плата такая?
     
  11. SOLOway

    SOLOway Гуру

    Arslan13 Нельзя датчик НИ располагать рядом с паяемым объектом. Рядом с чипом должен быть датчик ВИ.
    Засеките по секундомеру, за какое время ваша плата, при верно установленном датчике на плате, недалеко (в 15-25мм) от края платы, наберет эти 150*С. Замеры делайте, с комнатной температуры станции и платы, иначе - всё впустую.
    Так... А вы работаете с двумя или только с одним датчиком? - Если только один датчик, то он должен быть завязан на ВИ, а не на НИ! и ставить его не под плату, а рядом с чипом! Ну и про плату неплохо-бы узнать...
     

    Вложения:

    ESMSlavik нравится это.
  12. Arslan13

    Arslan13 Нуб

    Ну стоят термопара нижнего нагревателя и термопара верхнего,по одному.а если поставить контроль температуры НИ сверху платы,разве снизу перегревать не начнет?
    Плата от ноутбука lenovo g565 вроде.
     
  13. SOLOway

    SOLOway Гуру

    Если скорость НИ очень большая, то конечно перегреет, важно такую скорость прироста дать от НИ, чтобы плата смогла всю энергию тепла поглотить (за минусом паразитной конвекции, конечно). Т.е 150*С под платой (не в центре, а у края) должны набежать за 3 минуты от комнатной - тогда в центре под платой будет max165*С, а у чипа станет как раз 150*С и ВИ включится.
     
  14. Arslan13

    Arslan13 Нуб

    Спасибо большое,завтра вечером попробую проверить как себя будет вести
     
  15. Roniks59

    Roniks59 Нерд

    Не могу победить дребезг кнопок. Вроде все прописано, а нажатие сразу на несколько пунктов переключает. И ещё, при переключении на новый профиль профстепс стоит 255 и переключается десятками очень быстро и не ниже сотни. Проценты мощности тоже все стоят 255%, а пид все пункты с 1025 Может память контролера забита? Как очистить можно? Дисплей нормально заработал я и обрадовался. Думал все проблемы решены. Читаю инет про дребезг.
    Ребят, если не трудно, кто нибудь выложите пример своих настроек по всем пунктам. Мне не копировать, а так, посмотреть пример
     

    Вложения:

    Последнее редактирование: 30 янв 2018
  16. CLON2

    CLON2 Нерд

    Я везде в программе время антидребезга увеличил со 100мкс до 250мкс стало намного лучше.
    Строки типа: if (upSwitchState == HIGH && ( millis() - ms_button)>100) правим 100 на 250...
    Пока не поменяете все уставки на необходимые адекватные и не запомните их в EEPROM, будут выскакивать максимальные значения записываемой переменной с этим надо смириться...:).
     
    Roniks59 и SOLOway нравится это.
  17. m2blit

    m2blit Нерд

    /*
    * EEPROM Clear
    *
    * Sets all of the bytes of the EEPROM to 0.
    * Please see eeprom_iteration for a more in depth
    * look at how to traverse the EEPROM.
    *
    * This example code is in the public domain.
    */

    #include <EEPROM.h>

    void setup() {
    // initialize the LED pin as an output.
    pinMode(13, OUTPUT);
    /***
    Iterate through each byte of the EEPROM storage.

    Larger AVR processors have larger EEPROM sizes, E.g:
    - Arduno Duemilanove: 512b EEPROM storage.
    - Arduino Uno: 1kb EEPROM storage.
    - Arduino Mega: 4kb EEPROM storage.

    Rather than hard-coding the length, you should use the pre-provided length function.
    This will make your code portable to all AVR processors.
    ***/

    for (int i = 0 ; i < EEPROM.length() ; i++) {
    EEPROM.write(i, 0);
    }

    // turn the LED on when we're done
    digitalWrite(13, HIGH);
    }

    void loop() {
    /** Empty loop. **/
    }
     
    SOLOway нравится это.
  18. CLON2

    CLON2 Нерд

    Память EEPROM при производстве микроконтроллера содержит во всех ячейках FF т.е. максимальные значения (как и у любых других микросхем ПЗУ). И записывать принудительно туда "нули" можно конечно, но это не наш случай т.к. некоторые переменные хранящиеся в EEPROM для нашей задачи имеют начальные значения не нулевые (например переменные темпа скорости нагрева). По моему проще руками вбить нужные начальные значения в EEPROM один раз в начале эксплуатации. Или написать отдельный скетч для установки используемых в нашей программе ячеек EEPROM в начальные значения и перед заливкой нашего скетча сначала залить скетч с предварительным "форматированием".
     
  19. b707

    b707 Гуру

    это не микро-, а миллисекунды - и 250 мс(0.25сек) это явно слишком много для антидребезга - кнопки будут заметно "тормозить".
    Вообще для антидребезга обычно ставят задержки 20-50мс, если вам 100мс мало - проблема явно в чем-то другом.
     
  20. SOLOway

    SOLOway Гуру

    Провода? Некачественный источник питания?