Да что там мудрить, такой паяльник запускается и от 12 вольт, соотвтетственно, мощность будет гораздо меньше. В вашем случае, из-за пары вольт "недосчитаетесь" пары-тройки ватт, особо не критично. Так что, если трансформатор уже готовый, то так и оставьте. Один фиг конструкция подразумевает поддержание температуры нагревателя, а не жала. Тут сам паяльник не мешало бы сменить, на хотя бы с картриджами на Т12...
появилась идея, запускать/проверять/тестировать станцию поэтапно с помощью "дебаг прошивок"
, как то:
- "запускаем" какнал ОУ-АЦП паяльника, грузим прошивку "А", кот. показывает сырые данные на АЦП, тестово греем паяльник до 100 градусов кипятком, смотрим анализируем, подстраиваем, делаем выводы...
- "запускаем" полностью канал паяльника, грузим прошивку "Б", кот и АЦП показывает и начинает греть пальник с мин. мощностей, греем, смотрим, анализируем, строим графики, деалем выводы
итд... (для "неспешно и вдумчиво собирающих", дорабатывающих схему, прошику итд)
- "запускаем" какнал ОУ-АЦП паяльника, грузим прошивку "А", кот. показывает сырые данные на АЦП, тестово греем паяльник до 100 градусов кипятком, смотрим анализируем, подстраиваем, делаем выводы...
Отдельные прошивки не требуются - до включения кнопкой, канал паяльника и так уже индицирует температуру и можно выставить температуру окр. среды, а затем предварительно разогнать канал измерения не подавая напряжения на нагреватель, а воспользоваться кипятком или зажигалкой.
Цитата:
- "запускаем" полностью канал паяльника, грузим прошивку "Б", кот и АЦП показывает и начинает греть пальник с мин. мощностей, греем, смотрим, анализируем, строим графики, деалем выводы
Аналогично - после предварительной настройки масштабирующего усилителя, выставляем минимальную заданную температуру и прицепив на жало термопару измерительного термометра поднимаем температуру до 300-350 град, корректируя, при необходимости. Графики строить тоже просто - редактируем в исходнике переменную need_log (установить в true) и запустить сериал монитор. После включения канала в него будут выводиться значения время-температура. После выхода на рабочий режим, выключаем канал и копируем содержимое окна монитора. Сохраняем в текстовый файл (или csv) и скармливаем программе, строящей графики. Должно получиться что-то, как на картинке из стартового сообщения темы.
Для канала фена я вначале сделал отдельную "миропрошивку", которая работала чисто на канал фена, выводила на дисплей его температуру и подаваемую мощность в %. Мощность можно было наращивать и убавлять с дискретность в 1%. Таким образом можно было разогнать диапазон измерительного усилителя и посмотреть максимально подаваемую мощность при максимальной температуре, которая оказалась чуть менее 30%. Потом я этот исходник куда-то благополучно профукал, но он, в принципе, тоже не требуется - ничего не мешает, при начале настройки выставить температуру окр. среды, затем подогреть зажигалкой и предварительно выставить растяжку шкалы, пусть она будет выше истинной, тем лучше, не перегреем. Затем включаем канала на самую маленькую температуру и поднимаем потихоньку, измеряя образцовым на выходе и подстраивая. Можно, перед настройкой, ограничить в исходнике максимальную мощность на уровне 20-30%, а потом вернуть обратно. Ну и так же снять графики выхода на заданную температуру, скопировав содержимое сериал монитора...
А вообще, если удобнее с промежуточными загрузками отдельных кусков кода, то делайте, никто ж не запрещает ))
int SPower = constrain(TempPower, 0, 255);//вместо 255, к примеру пишем 125, получим примерно 50% ограничение
и в HA_PI для фена
HAPower = constrain(TempPower, 0.0, 100.0);//вместо 100 пишем, к примеру, 30, получим 30% ограничение
Цитата:
И как я понял чем меньше мощность тем дольше будет набор температуры?
Естественно.
Цитата:
На что будет влиять параметр мощности?
При настройке, к примеру, можно ограничить небольшой величиной при настройке и отладке, тогда при неполадках девайс не уйдёт в разнос (не перегреется). Само-собой, потом лучше вернуть значения на место.
Цитата:
И еще, для чего нужно снимать график, чем он должен помочь в калибровке?
В как таковой калибровке - ничем, но при подборе коэффициентов для регулирования - видно визуально, что на что влияет. Я снимал при начальной отладке работы регулирования, в принципе, это и незачем теперь, потому и переменная nned_log установлена в false. Можно код для вывода в порт вообще выкинуть из скетча, если мешает.
/sites/default/files/u21422/izobrazhenie_002_red.jpg люди хелп что не так ? цыфры на кнопки вверх низ не реагируют только селект и то до 50 %,силовую плату паяльник фен не подключал скетч SS_7 для двух строчника 1602 с i2c модулем ардуинка нано
расположение цифер правильно? последние две 9 тоже правильно? на нажатие любой кнопки реагирует
пиком бипера
чуть позже ...
скачал версию 1.6.0 все чудесно залилось( подсказкой стало видео у парня при заливке примеров светилась только первая буква ) теперь все символы на экране идем дальше!!! :)
расположение цифер правильно? последние две 9 тоже правильно? на нажатие любой кнопки реагирует
пиком бипера
чуть позже ...
скачал версию 1.6.0 все чудесно залилось( подсказкой стало видео у парня при заливке примеров светилась только первая буква ) теперь все символы на экране идем дальше!!! :)
можно скинуть ссылку на архив спрошивкой 1.6.0 сижу с сотика очень низкая скорость интернета
я видимо ввел в заблуждение версия ардуино ide 1.6.0 (http://genuino.ru.com/software/Arduino-IDE/1.6.x/)а скетч заливал ss_7 выше ссылка#421 . как обьяснил пареньиз ютуба для корректного отображения прошивок при заливке на win xpнужно пользоваться более ранними версиями ардуинынапример и ide1,6,0
можно ссылку на "этого" парня_из_ютуба? (точнее на саму запись)
> для корректного отображения прошивок нужно пользоваться более ранними версиями ардуины
поподробнее, если не сложно? что там такого произошло?
спасибо
p.s.
смотрю/ковыряю исходник станции ("рихтую" под себя и LCD 16х2), используется ардуина вер. 1.6.7, "особенности" пока не проявили себя, вроде то-чЁ-надо делает без волшебных танцев с бубном :о)
p.s.2
упс-ааа, "пропустил" выход двух новых версий arduino-1.6.10 и 1.6.11, надо бы к ним присмотреться, что там "нового, хорошего, нужного" наворотили :о) пользоваться "новыми" версиями не люблю, а вот пощюпать - всенепременно же надо :о)
p.s.3
небольшое исследование, возможно пригодится (сборка в разных версиях андурины)
1.6.7 - ОК
1.6.8 - ОК
1.6.9 - Ошибка
arduino: line 40: 9681 Bus error $JAVA ${JAVA_OPTIONS[@]} processing.app.Base "$@"
1.6.10 и 1.6.11 - вообще тупит с подключаемыми библиотеками, и соотв. куча ошибок... (разбираться далее не стал и этого уже достаточно)
ну...ни чего нового, остаюсь на версии 1.6.7 (как наиболее зарекомендовавшей ...)
soldder v1.0 Вы точно собрали и она работает, а платы 2 и 3? Насколько помню Вы хотели сделать плату "3)паяльник с терморезистором". Думаю начать собирать плату №3 и №2. по вашим схемам. Спасибо.
Lidgik, для сборки моего проекта вам достаточно изготовить две платы из архива
1. soldder v1.0 -основная плата станции, на которой размещены все детали.
2. Button -плата кнопок
В качестве блока питания использовалось две штуки, на 24в это китайский с Али, переделанный полностью) (заменил транзисторы, все диоды на более мощные). И второй от зарядки сотового телефона, для 5 вольт. Такое решение я посчитал самым оптимальным, потому как ЛМка на 5 вольт адски греется, при стабилизации она лишнее напряжение превращает в тепло)
Разработатнная мной печатная плата прекрасно ставится в корпус компьютерного блока питания, вам останется лишь вырезать отверстие под дисплей и кнопки).
На платах переделывать ничего не нужно. Остальные платы являются частью оригинального проекта хозяина темы Олега.
mr.nikon по ссылкам которые дали вы, первая на мою пробную версию платы, я ее удалил. Вторая на версию другого участника форума, переделанную с моей и не проверенную. Посему пока сам автор переделки не отпишется изготавливать его плату не рекомендую.
Где то видел как просто БП компьютерный использовали и убирали лишнее, также можно? Какие провода питания нужно оставить? Или нужно доделать чтобы получить 24В
Я так делал, но не БП от компьютера а называется импульсный блок питания, можешь найти от ноутбука на 24 вольта но не ниже 3 ампер (обычно от HP ноутов хорошие) я заказывал ИПБ модулем в китае на 5 Ампер (в реалии наверное 4ампера)
В классической схеме от автора применен трансформатор который из 220 переменных делает 23-27 переменных (и еще в том трасформаторе отводка на 6-8 вольт также переменных), но нам нужен постоянный ток поэтому в схеме применены стабилитроны которые из переменного делают постоянный ток.
Мне найти или купить такой трансформатор сложнее чем ИПБ, от 24 вольт сделал через модуль dc-dc понижение (в народе "понижайка") до 5 вольт для работы ардуино, и должны стоять реле на 24 вольта, у автора на 12 вольт.
Собрал цифровую часть! Пытаюсь термопарой настроить канал фена! Скетч для экрана 1602. температура при выстовлении начальной шкалы больше 9 градусов не ставится! залил проста скетч чтение анагогового порта , данный изменяются от 0 до 300 если крутить подстроечник начало! Я как понял данные по обоим скетчам должны быть одинаковые! но это не так! Помогите понять принцеп как работает ОУ в цифровой части, может я не правельно подобрал обвязку для ОУ! как работает цифровая часть ОУ?
/*
AnalogReadSerial
Reads an analog input on pin 0, prints the result to the serial monitor.
Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
This example code is in the public domain.
*/
// the setup routine runs once when you press reset:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int GetHotAirT = analogRead(A7);
int GetSolderT = analogRead(A6);
// print out the value you read:
Serial.println(GetSolderT);
delay(1); // delay in between reads for stability
lcd.setCursor(3, 1);
lcd.print(GetSolderT);
lcd.setCursor(3, 0);
lcd.print(GetHotAirT);
}
На колодку терморезистора подключаю и убираю резистор. В терминале, значения меняются от 180 до 400.
На дисплее от 1 до 4.
В чем прикол не пойму, может библиотеку другую надо?
PS
Понял в чем прикол! Дисплей выводит только первую цифру! Занчит нужна другая библиотека!
есть ли стандартная распайка для фена на 8 пиновый разьем
Не думаю. Фены китайцы обычно продают с кабелем, оканчивающимся разъёмами, втыкающимися в ответные части на плате, т.е. фен является несъёмной частью паяльной станции. Попадался вариант конструкции с разъёмом "фен + небольшая коробочка", но там, скорее всего, как и мы
sunjob у меня паяльник пришел с разъемом) но противоположной частью) Поэтому фен и паяльник разводите сами. Причем силовые провода отдельно, слаботочку на противоположную сторону.
самые верхние контакты - под запитку фена / 220В (по очевидным причинам)
- если случайно ткнуть в разьем ук.пальцем и он будет запитан (НУ допустим) - то более вероятно подушка пальца "закоротит" нижние контакты, нежели верхние
- плюс причина - гравитация (предметы падают в низ :о) и коротиться будут именно слаботочные цепи
ну и соответственно, вполне логичное расположение контактов
- 1й "слой",самый верх - силовая запитка 220В
- 2й "слой" - двигатель турбины, по часовой "+", против часовой "-"
- 3й "слой" - (и далее по кругу) :
- "+" термопары (вполне логично)
- "общий" термопара/геркон
- "геркон"
- и центральный "антистатический корпус"
все просто и логично (и можно все с нуля "сообразить", если, случайно, не будет под рукой схемы)
вот бы еще придумать что-то типа "каждый охотник желает знать..." для этого случая :о)
на рисунке:
- Socket Female/Mother вид на контакты РАЗЬЕМА, нумерация по часовой (нумерация на разьеме присутствует по умолчанию)
- Socket Male/Father вид на контакты ГНЕЗДА (нумерация против часовой стрелке)
Подскажите при заливке скетча выскакивают предупреждения это норма?
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Byte(uint8_t, uint8_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:186:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr, data);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Long(uint8_t, uint32_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:197:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr, data & 0xFF);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:198:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr+1, (data & 0xFF00) >> 8);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:199:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr+2, (data & 0xFF0000) >> 16);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:200:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr+3, (data & 0xFF000000) >> 24);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'uint8_t ReadEEPROM_Byte(uint8_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:209:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
return eeprom_read_byte((uint8_t*)addr);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'uint32_t ReadEEPROM_Long(uint8_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:220:55: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
uint32_t ir_code = eeprom_read_byte((uint8_t*)addr+3);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:221:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr+2);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:222:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr+1);
^
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:223:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr);
^
Скетч использует 12 526 байт (40%) памяти устройства. Всего доступно 30 720 байт.
Глобальные переменные используют 681 байт (33%) динамической памяти, оставляя 1 367 байт для локальных переменных. Максимум: 2 048 байт.
- это всего лишь "предупреждения", не ошибки, но если сильно беспокоитесь, то читайте, что там пишут и принимайте решения, важно ли "это" для вас или нет ... и что то уже решайте :о)
- содержание варнингов - могут варьироваться как от "версии самой Arduino", так и от "ваших" дополнений/редакций текста программы, я постоянно мониторю "новые версии" ардуины, но, к сожалению, ничего кроме разочарований от них, увы... короче, использую "зарекомендовавшую себя" версию - arduino-1.6.7, все проекты пишу только на этой версии и ... с этой версией сборка данного проекта проходит вообще без варнингов (у меня, во всяком случае)
...
применительно к вашим предупреждениям
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Byte(uint8_t, uint8_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:186:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr, data);
во первых - предупреждение вызвано в бибилотеке "CyberLib", которую, вы, скорее всего, ставили мануально в соотв. каталог
во вторых - в сообщении упоминается "преобразование типа, с целого в указатель, разный размер данных", как то так... примерно
в третьих - из всего следует, что
самое вероятное (возможно) нестыковка версийarduino & CyberLib-библиотеки (пробуйте поварьировать ими, т.е. версиями, очень часто этого будет достаточно)
Касаемо детекции нуля... Правильно ли я понимаю, что можно на входе детекпора нуля подавать не 220В, а скажем 22В (со вторичной обмотки понижающего трансформатора 50гц), это не принципиально? Каким должен быть ток/напряжение на выходе выпрямителя?
это не принципиально? Каким должен быть ток/напряжение на выходе выпрямителя?
как раз ток/напряжение и будет самым принципиаленным в данном случае...
а шо нам делать?
- вспомнить "закон ома"
- посчитать ток (кот. будет являться производной от приложенного к схеме напряжения, т.е. на выходе выпрямителя)
- пересчитать сопротивления, для тока, который мы только что посчитали и напряжения, которое мы "планируем" приложить к схеме (развернув "закон ома" раком/боком... короче, так как нам надо)
Пересчитать не вопрос, просто не хотелось делать прямой/обратный расчёт, а узнать к примеру напряжение после выпрямителя на живой схеме (ведь уже собирали). Желательно конкретную цифру. В остальном спасибо за ответ)
Вопрос к тем, кто собирал схему на одной плате. Там я так понял, ставятся 24 вольтовые реле. А если использовать 12 вольтовые, то надо переразводить печатки с использованием 12 вольт (для запитки релюшек) и 24 вольт (для запитки нагревателя пояльника и вентилятора фена)? Подскажите последнюю версию рабочей программы для четырехстрочного дисплея, в начале форума это последняя или были более новей?
P. S.
И еще можно ли менять подключения цифровых выводов ардуины, т. е. например управление силовым транзистором нагревательного элемента паяльника подключать не на D4 ардуины , а например на D5 или D6 с соответствующей коррекцией программы, а подключенные управления с D5 переключить на D4?
LYNX Список компонентов видно на плате и переписать его займет 5-ть минут. Предохранитель любого вида 10А. Для меня его наличие сомнительно, в БП стоит еще один. Транзисторы любые NPN главное чтоб цоклевка выводов совпадала)
есть "идея", на кнопки "up/down/sel" повешать на соотв. пины - энкодер...
Мне не попадалось нормального, чётко работающего решения использования энкодера без прерываний (я не утверждаю, что их нет в природе).
В конструкции одно аппратное прерывание уже занято под зеро-кросс детектор, а второе "свободно". Если уйти от ФИ регулирования, то можно освободить задействованное прерывание, но релейное регулирование повлечёт за собой более сильное болтание температуры вблизи точки стабилизации. В общем, идея имеющая право на реализацию, но за счёт компромисса. Либо искать нормальный способ юзания энкодера не использующий прерываний...
Русл@н пишет:
Предохранитель любого вида 10А. Для меня его наличие сомнительно, в БП стоит еще один.
В этом случае предохранитель можно не ставить. У меня нет отдельного БП с предохранителем, но есть привычка защищать силовые цепи - пусть лучше уж предохранитель сгорит, чем дорожки на плате...
концевые фена и паяльника порты мк D10,D9 замыкаем на землю?без резюков? и ещё как бороться с помехами по сети из соседних розеток , контроллер выключает реле но при этом, экран застывает с значениями и не реагирует на кнопки управления
концевые фена и паяльника порты мк D10,D9 замыкаем на землю?без резюков?
Да.
Цитата:
и ещё как бороться с помехами по сети из соседних розеток
1. Что включено в соседние розетки и в каких случаях происходит зависание? Может мне удастся воспроизвести ситуацию у себя.
2. От какого БП запитано устройство и по какому варианту изготавливали печатку? Тщательно ли отмыт флюс с платы?
3. Есть ли в цепях питания МК и усилителя сигнала термодатчиков блокировочные конденсаторы и дроссели?
4. Если попробовать запитать паяльную станцию через сетевой фильтр типа "Пилот" - зависания прекратятся?
LYNX, размеры платы можно посмотреть в проекте, она подходит под размеры компового БП. На Али по вашей ссылке не макетная плата) это скорее всего гетинакс,при таких размерах он будет провисать, советую приобрести фольгированый текстолит у нас в магазинах, да и ценник приятнее будет, я взял 3 квадратных метра за 1200 рублей на базе. Основной бонус что при той-же толщине он более прочный на изгиб.
Кнопки использовал круглые, аккуратно просверлил отверстия и вставил заподлицо, очень приятно на ощупь получилось.
OlegK в случае китайского ИБП предохранитель может не спасти) Ох уж эти Китаезы))
dgeka D10,D9 можно повесить в воздухе, как бороться с помехами по сети.. тут все сложнее, я распаивал индуктивности и конденсаторы, электролит и керамику на входе в мк. Посмотрите на моей плате и еще немаловажное замечание, возможно ваш блок питания корпусом садится на минус и дает наводку на плату в сотню, другую вольт, как было у меня)) Я рассоединил корпус и массу и все заработало, правда получилась забавная история с отрубанием половины портов в ардуинке, пловина из них просто отключилась после замыкания корпуса с массой. Самое забавное, через год решил эту плату оживить и после перекатки чипа с одной платы на другую он ожил, заливка загрузчика оживила все порты, ну или температура) Сейчас эта ардуинка работает в пультоскопе.
спасибки бум мудрить ! :)
Да что там мудрить, такой паяльник запускается и от 12 вольт, соотвтетственно, мощность будет гораздо меньше. В вашем случае, из-за пары вольт "недосчитаетесь" пары-тройки ватт, особо не критично. Так что, если трансформатор уже готовый, то так и оставьте. Один фиг конструкция подразумевает поддержание температуры нагревателя, а не жала. Тут сам паяльник не мешало бы сменить, на хотя бы с картриджами на Т12...
появилась идея, запускать/проверять/тестировать станцию поэтапно с помощью "дебаг прошивок"
, как то:
- "запускаем" какнал ОУ-АЦП паяльника, грузим прошивку "А", кот. показывает сырые данные на АЦП, тестово греем паяльник до 100 градусов кипятком, смотрим анализируем, подстраиваем, делаем выводы...
- "запускаем" полностью канал паяльника, грузим прошивку "Б", кот и АЦП показывает и начинает греть пальник с мин. мощностей, греем, смотрим, анализируем, строим графики, деалем выводы
итд... (для "неспешно и вдумчиво собирающих", дорабатывающих схему, прошику итд)
Отдельные прошивки не требуются - до включения кнопкой, канал паяльника и так уже индицирует температуру и можно выставить температуру окр. среды, а затем предварительно разогнать канал измерения не подавая напряжения на нагреватель, а воспользоваться кипятком или зажигалкой.
Аналогично - после предварительной настройки масштабирующего усилителя, выставляем минимальную заданную температуру и прицепив на жало термопару измерительного термометра поднимаем температуру до 300-350 град, корректируя, при необходимости. Графики строить тоже просто - редактируем в исходнике переменную need_log (установить в true) и запустить сериал монитор. После включения канала в него будут выводиться значения время-температура. После выхода на рабочий режим, выключаем канал и копируем содержимое окна монитора. Сохраняем в текстовый файл (или csv) и скармливаем программе, строящей графики. Должно получиться что-то, как на картинке из стартового сообщения темы.
Для канала фена я вначале сделал отдельную "миропрошивку", которая работала чисто на канал фена, выводила на дисплей его температуру и подаваемую мощность в %. Мощность можно было наращивать и убавлять с дискретность в 1%. Таким образом можно было разогнать диапазон измерительного усилителя и посмотреть максимально подаваемую мощность при максимальной температуре, которая оказалась чуть менее 30%. Потом я этот исходник куда-то благополучно профукал, но он, в принципе, тоже не требуется - ничего не мешает, при начале настройки выставить температуру окр. среды, затем подогреть зажигалкой и предварительно выставить растяжку шкалы, пусть она будет выше истинной, тем лучше, не перегреем. Затем включаем канала на самую маленькую температуру и поднимаем потихоньку, измеряя образцовым на выходе и подстраивая. Можно, перед настройкой, ограничить в исходнике максимальную мощность на уровне 20-30%, а потом вернуть обратно. Ну и так же снять графики выхода на заданную температуру, скопировав содержимое сериал монитора...
А вообще, если удобнее с промежуточными загрузками отдельных кусков кода, то делайте, никто ж не запрещает ))
ну да, как "идею" предложил, возможно кому пригодиться
А где в коде менять мощность? И как я понял чем меньше мощность тем дольше будет набор температуры? На что будет влиять параметр мощности?
И еще, для чего нужно снимать график, чем он должен помочь в калибровке?
В процедуре S_P для паяльника
и в HA_PI для фена
Естественно.
При настройке, к примеру, можно ограничить небольшой величиной при настройке и отладке, тогда при неполадках девайс не уйдёт в разнос (не перегреется). Само-собой, потом лучше вернуть значения на место.
В как таковой калибровке - ничем, но при подборе коэффициентов для регулирования - видно визуально, что на что влияет. Я снимал при начальной отладке работы регулирования, в принципе, это и незачем теперь, потому и переменная nned_log установлена в false. Можно код для вывода в порт вообще выкинуть из скетча, если мешает.
/sites/default/files/u21422/izobrazhenie_002_red.jpg люди хелп что не так ? цыфры на кнопки вверх низ не реагируют только селект и то до 50 %,силовую плату паяльник фен не подключал скетч SS_7 для двух строчника 1602 с i2c модулем ардуинка нано
Доброго времени суток, проверьте правильность монтажа, может где провод не пропаяли или что с кнопками, кнопки должны запуститься сразу.
расположение цифер правильно? последние две 9 тоже правильно? на нажатие любой кнопки реагирует
пиком бипера
чуть позже ...
скачал версию 1.6.0 все чудесно залилось( подсказкой стало видео у парня при заливке примеров светилась только первая буква ) теперь все символы на экране идем дальше!!! :)
расположение цифер правильно? последние две 9 тоже правильно? на нажатие любой кнопки реагирует
пиком бипера
чуть позже ...
скачал версию 1.6.0 все чудесно залилось( подсказкой стало видео у парня при заливке примеров светилась только первая буква ) теперь все символы на экране идем дальше!!! :)
можно скинуть ссылку на архив спрошивкой 1.6.0 сижу с сотика очень низкая скорость интернета
я видимо ввел в заблуждение версия ардуино ide 1.6.0 (http://genuino.ru.com/software/Arduino-IDE/1.6.x/)а скетч заливал ss_7 выше ссылка#421 . как обьяснил пареньиз ютуба для корректного отображения прошивок при заливке на win xpнужно пользоваться более ранними версиями ардуинынапример и ide1,6,0
> как обьяснил парень из ютуба
можно ссылку на "этого" парня_из_ютуба? (точнее на саму запись)
> для корректного отображения прошивок нужно пользоваться более ранними версиями ардуины
поподробнее, если не сложно? что там такого произошло?
спасибо
p.s.
смотрю/ковыряю исходник станции ("рихтую" под себя и LCD 16х2), используется ардуина вер. 1.6.7, "особенности" пока не проявили себя, вроде то-чЁ-надо делает без волшебных танцев с бубном :о)
p.s.2
упс-ааа, "пропустил" выход двух новых версий arduino-1.6.10 и 1.6.11, надо бы к ним присмотреться, что там "нового, хорошего, нужного" наворотили :о) пользоваться "новыми" версиями не люблю, а вот пощюпать - всенепременно же надо :о)
p.s.3
небольшое исследование, возможно пригодится (сборка в разных версиях андурины)
1.6.7 - ОК
1.6.8 - ОК
1.6.9 - Ошибка
arduino: line 40: 9681 Bus error $JAVA ${JAVA_OPTIONS[@]} processing.app.Base "$@"
1.6.10 и 1.6.11 - вообще тупит с подключаемыми библиотеками, и соотв. куча ошибок... (разбираться далее не стал и этого уже достаточно)
ну...ни чего нового, остаюсь на версии 1.6.7 (как наиболее зарекомендовавшей ...)
парень с ютуба https://www.youtube.com/watch?v=C3Ntfdr8_Qw
На двух последних страницах есть ссылки, ну или были) Вот мой проект https://yadi.sk/d/8ie4xvAqrzgEh
Добрый день Руслан!
В вашем проекте 3 платы:
1)soldder v1.0
2)паяльник с термопарой
3)паяльник с терморезистором
soldder v1.0 Вы точно собрали и она работает, а платы 2 и 3? Насколько помню Вы хотели сделать плату "3)паяльник с терморезистором". Думаю начать собирать плату №3 и №2. по вашим схемам. Спасибо.
Подскажите геркон фена подключать к CS(10 нога ардуины) ?
Да. В коде так и объявлено -
Lidgik
Эти платы, если я не ошибаюсь содержать ошибки
Вот тут последняя версия этих плат, только их надо еще перепроверить хорошенько чтоб наверняка
Доброго времени суток
Lidgik, для сборки моего проекта вам достаточно изготовить две платы из архива
1. soldder v1.0 -основная плата станции, на которой размещены все детали.
2. Button -плата кнопок
В качестве блока питания использовалось две штуки, на 24в это китайский с Али, переделанный полностью) (заменил транзисторы, все диоды на более мощные). И второй от зарядки сотового телефона, для 5 вольт. Такое решение я посчитал самым оптимальным, потому как ЛМка на 5 вольт адски греется, при стабилизации она лишнее напряжение превращает в тепло)
Разработатнная мной печатная плата прекрасно ставится в корпус компьютерного блока питания, вам останется лишь вырезать отверстие под дисплей и кнопки).
На платах переделывать ничего не нужно. Остальные платы являются частью оригинального проекта хозяина темы Олега.
mr.nikon по ссылкам которые дали вы, первая на мою пробную версию платы, я ее удалил. Вторая на версию другого участника форума, переделанную с моей и не проверенную. Посему пока сам автор переделки не отпишется изготавливать его плату не рекомендую.
спасибо!
Добрый день.
Где то видел как просто БП компьютерный использовали и убирали лишнее, также можно? Какие провода питания нужно оставить? Или нужно доделать чтобы получить 24В
Я так делал, но не БП от компьютера а называется импульсный блок питания, можешь найти от ноутбука на 24 вольта но не ниже 3 ампер (обычно от HP ноутов хорошие) я заказывал ИПБ модулем в китае на 5 Ампер (в реалии наверное 4ампера)
В классической схеме от автора применен трансформатор который из 220 переменных делает 23-27 переменных (и еще в том трасформаторе отводка на 6-8 вольт также переменных), но нам нужен постоянный ток поэтому в схеме применены стабилитроны которые из переменного делают постоянный ток.
Мне найти или купить такой трансформатор сложнее чем ИПБ, от 24 вольт сделал через модуль dc-dc понижение (в народе "понижайка") до 5 вольт для работы ардуино, и должны стоять реле на 24 вольта, у автора на 12 вольт.
Собрал цифровую часть! Пытаюсь термопарой настроить канал фена! Скетч для экрана 1602. температура при выстовлении начальной шкалы больше 9 градусов не ставится! залил проста скетч чтение анагогового порта , данный изменяются от 0 до 300 если крутить подстроечник начало! Я как понял данные по обоим скетчам должны быть одинаковые! но это не так! Помогите понять принцеп как работает ОУ в цифровой части, может я не правельно подобрал обвязку для ОУ! как работает цифровая часть ОУ?
Доброго времени суток. Если приделов регулировки подстроечников не хватает, меняем номиналы обвязки резисторов. В теме я об этом писал.
Загружаю данный скетч
/*
AnalogReadSerial
Reads an analog input on pin 0, prints the result to the serial monitor.
Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
This example code is in the public domain.
*/
// the setup routine runs once when you press reset:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int GetHotAirT = analogRead(A7);
int GetSolderT = analogRead(A6);
// print out the value you read:
Serial.println(GetSolderT);
delay(1); // delay in between reads for stability
lcd.setCursor(3, 1);
lcd.print(GetSolderT);
lcd.setCursor(3, 0);
lcd.print(GetHotAirT);
}
На колодку терморезистора подключаю и убираю резистор. В терминале, значения меняются от 180 до 400.
На дисплее от 1 до 4.
В чем прикол не пойму, может библиотеку другую надо?
PS
Понял в чем прикол! Дисплей выводит только первую цифру! Занчит нужна другая библиотека!
Ну вот и поговорили)
Не думаю. Фены китайцы обычно продают с кабелем, оканчивающимся разъёмами, втыкающимися в ответные части на плате, т.е. фен является несъёмной частью паяльной станции. Попадался вариант конструкции с разъёмом "фен + небольшая коробочка", но там, скорее всего, как и мы
sunjob у меня паяльник пришел с разъемом) но противоположной частью) Поэтому фен и паяльник разводите сами. Причем силовые провода отдельно, слаботочку на противоположную сторону.
добрый вечер, народ!
посмотрел в инете, форумах - как такового "стандарта" для распайки фена нет, сплошной разброд и шатание...
посему предлагаю СОЗДАТЬ такой стандарт, ЗАСТАНДАРТИТЬ его для НАШИХ ЦЕЛЕЙ :о)
итак...
используем "стандартный" разьем GX16-8
уточнение (для удобства, возможно, не совсем верно, но в данном случае не важно)
всем удачи :о)
Провода лучше распаивать попарно.
Подскажите при заливке скетча выскакивают предупреждения это норма?
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Byte(uint8_t, uint8_t)': C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:186:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] eeprom_write_byte((uint8_t*)addr, data); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Long(uint8_t, uint32_t)': C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:197:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] eeprom_write_byte((uint8_t*)addr, data & 0xFF); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:198:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] eeprom_write_byte((uint8_t*)addr+1, (data & 0xFF00) >> 8); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:199:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] eeprom_write_byte((uint8_t*)addr+2, (data & 0xFF0000) >> 16); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:200:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] eeprom_write_byte((uint8_t*)addr+3, (data & 0xFF000000) >> 24); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'uint8_t ReadEEPROM_Byte(uint8_t)': C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:209:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] return eeprom_read_byte((uint8_t*)addr); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'uint32_t ReadEEPROM_Long(uint8_t)': C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:220:55: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] uint32_t ir_code = eeprom_read_byte((uint8_t*)addr+3); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:221:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr+2); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:222:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr+1); ^ C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:223:63: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ir_code = (ir_code << 8) | eeprom_read_byte((uint8_t*)addr); ^ Скетч использует 12 526 байт (40%) памяти устройства. Всего доступно 30 720 байт. Глобальные переменные используют 681 байт (33%) динамической памяти, оставляя 1 367 байт для локальных переменных. Максимум: 2 048 байт.по поводу "варнингов" во время сборки:
- это всего лишь "предупреждения", не ошибки, но если сильно беспокоитесь, то читайте, что там пишут и принимайте решения, важно ли "это" для вас или нет ... и что то уже решайте :о)
- содержание варнингов - могут варьироваться как от "версии самой Arduino", так и от "ваших" дополнений/редакций текста программы, я постоянно мониторю "новые версии" ардуины, но, к сожалению, ничего кроме разочарований от них, увы... короче, использую "зарекомендовавшую себя" версию - arduino-1.6.7, все проекты пишу только на этой версии и ... с этой версией сборка данного проекта проходит вообще без варнингов (у меня, во всяком случае)
...
применительно к вашим предупреждениям
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp: In function 'void WriteEEPROM_Byte(uint8_t, uint8_t)':
C:\Users\user\Documents\Arduino\libraries\CyberLib\CyberLib.cpp:186:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
eeprom_write_byte((uint8_t*)addr, data);
во первых - предупреждение вызвано в бибилотеке "CyberLib", которую, вы, скорее всего, ставили мануально в соотв. каталог
во вторых - в сообщении упоминается "преобразование типа, с целого в указатель, разный размер данных", как то так... примерно
в третьих - из всего следует, что
самое вероятное (возможно) нестыковка версий arduino & CyberLib-библиотеки (пробуйте поварьировать ими, т.е. версиями, очень часто этого будет достаточно)
ну и далее по ходу мыслей
все имхо
...
дополнение от себя :о)
http://arduino.ru/forum/programmirovanie/stykovkinestykovki-versii-arduinobibliotek-vneshne-lokalnye-podklyucheniya-is
Касаемо детекции нуля... Правильно ли я понимаю, что можно на входе детекпора нуля подавать не 220В, а скажем 22В (со вторичной обмотки понижающего трансформатора 50гц), это не принципиально? Каким должен быть ток/напряжение на выходе выпрямителя?
понимаете правильно... но
это не принципиально? Каким должен быть ток/напряжение на выходе выпрямителя?
как раз ток/напряжение и будет самым принципиаленным в данном случае...
а шо нам делать?
- вспомнить "закон ома"
- посчитать ток (кот. будет являться производной от приложенного к схеме напряжения, т.е. на выходе выпрямителя)
- пересчитать сопротивления, для тока, который мы только что посчитали и напряжения, которое мы "планируем" приложить к схеме (развернув "закон ома" раком/боком... короче, так как нам надо)
как то так... имхо :о)
Пересчитать не вопрос, просто не хотелось делать прямой/обратный расчёт, а узнать к примеру напряжение после выпрямителя на живой схеме (ведь уже собирали). Желательно конкретную цифру. В остальном спасибо за ответ)
P.S. Вопрос снимается, забыл про файл симуляции.
Уваемый Русл@н, что мне нужно изменить в вашей версии платы, если у меня питание куллера фена 12 вольт, в развотке плат не силен
Вопрос к тем, кто собирал схему на одной плате. Там я так понял, ставятся 24 вольтовые реле. А если использовать 12 вольтовые, то надо переразводить печатки с использованием 12 вольт (для запитки релюшек) и 24 вольт (для запитки нагревателя пояльника и вентилятора фена)? Подскажите последнюю версию рабочей программы для четырехстрочного дисплея, в начале форума это последняя или были более новей?
P. S.
И еще можно ли менять подключения цифровых выводов ардуины, т. е. например управление силовым транзистором нагревательного элемента паяльника подключать не на D4 ардуины , а например на D5 или D6 с соответствующей коррекцией программы, а подключенные управления с D5 переключить на D4?
Доброго времени суток, sergtvsn вам достаточно сменить реле на 12в и соответственно подавать на плату вместо 24в 12в.
kupsw нужно добавить кренку на 12в и соответственно добавить под нее разводку и не забудьте про радиатор.
Пост394 ссылка на четыре строчный индикатор
D4 не управляет нагревом паяльника, откуда вы это взяли?
На этом пине нет ШИМ, поэтому туда подключен ключ реле защиты паяльника.
А вот сюда как раз подключен ключ нагревателя паяльника, ибо есть ШИМ.
Тут тоже есть ШИМ и задействовано под управление вентилятором фена.
добрый день!
есть "идея", на кнопки "up/down/sel" повешать на соотв. пины - энкодер...
кто ни будь уже обдумывал эту идею?
Руслан,
У вас случаем нет списка компонент на вашу паяльную станцию?
Вверху слева это предохранитель обычный на 10А ?
KT503 аналогичен BC337?
Доброго времени суток.
LYNX Список компонентов видно на плате и переписать его займет 5-ть минут. Предохранитель любого вида 10А. Для меня его наличие сомнительно, в БП стоит еще один. Транзисторы любые NPN главное чтоб цоклевка выводов совпадала)
Доброго дня,
Спасибо за прошлый ответ. Тогда буду использовать 8050S
По размеру только такая макетная плата подойдет?
Кнопки какие использовали? Типо таких?
Мне не попадалось нормального, чётко работающего решения использования энкодера без прерываний (я не утверждаю, что их нет в природе).
В конструкции одно аппратное прерывание уже занято под зеро-кросс детектор, а второе "свободно". Если уйти от ФИ регулирования, то можно освободить задействованное прерывание, но релейное регулирование повлечёт за собой более сильное болтание температуры вблизи точки стабилизации. В общем, идея имеющая право на реализацию, но за счёт компромисса. Либо искать нормальный способ юзания энкодера не использующий прерываний...
В этом случае предохранитель можно не ставить. У меня нет отдельного БП с предохранителем, но есть привычка защищать силовые цепи - пусть лучше уж предохранитель сгорит, чем дорожки на плате...
Кнопки любые, но такие будут удобнее...
концевые фена и паяльника порты мк D10,D9 замыкаем на землю?без резюков? и ещё как бороться с помехами по сети из соседних розеток , контроллер выключает реле но при этом, экран застывает с значениями и не реагирует на кнопки управления
Да.
1. Что включено в соседние розетки и в каких случаях происходит зависание? Может мне удастся воспроизвести ситуацию у себя.
2. От какого БП запитано устройство и по какому варианту изготавливали печатку? Тщательно ли отмыт флюс с платы?
3. Есть ли в цепях питания МК и усилителя сигнала термодатчиков блокировочные конденсаторы и дроссели?
4. Если попробовать запитать паяльную станцию через сетевой фильтр типа "Пилот" - зависания прекратятся?
Доброго времени суток.
LYNX, размеры платы можно посмотреть в проекте, она подходит под размеры компового БП. На Али по вашей ссылке не макетная плата) это скорее всего гетинакс,при таких размерах он будет провисать, советую приобрести фольгированый текстолит у нас в магазинах, да и ценник приятнее будет, я взял 3 квадратных метра за 1200 рублей на базе. Основной бонус что при той-же толщине он более прочный на изгиб.
Кнопки использовал круглые, аккуратно просверлил отверстия и вставил заподлицо, очень приятно на ощупь получилось.
OlegK в случае китайского ИБП предохранитель может не спасти) Ох уж эти Китаезы))
dgeka D10,D9 можно повесить в воздухе, как бороться с помехами по сети.. тут все сложнее, я распаивал индуктивности и конденсаторы, электролит и керамику на входе в мк. Посмотрите на моей плате и еще немаловажное замечание, возможно ваш блок питания корпусом садится на минус и дает наводку на плату в сотню, другую вольт, как было у меня)) Я рассоединил корпус и массу и все заработало, правда получилась забавная история с отрубанием половины портов в ардуинке, пловина из них просто отключилась после замыкания корпуса с массой. Самое забавное, через год решил эту плату оживить и после перекатки чипа с одной платы на другую он ожил, заливка загрузчика оживила все порты, ну или температура) Сейчас эта ардуинка работает в пультоскопе.