Я бы не заморачивался, но у меня в ТО220 только 3205 есть еще А3400 но они в СОТ-23, и они на 30Вольт - как-то страшновато, хотя 5Вольт/3А у меня на светодиодах под ШИМом тянут и не греются... После свят"переселюсь" на печатку с макетки и попробую. Еще раз спасибо и с Праздниками!
Proton78, подскчажите пожалуйста какая частота ШИМ в схеме. Я точно не могу опредилть, т.к. там идут пачки. В пачке заполнение 31кГц, а на такой частоте РС817 работать не хочет, - валит фронты. Схема драйвера мосфета, которую я предлагал не работает - транзистор не открыывается, буду что-то мудрить со второй схемой... Может есть мысли с транзистором 3205?
Proton78, .............. Схема драйвера мосфета, которую я предлагал не работает - транзистор не открыывается, буду что-то мудрить со второй схемой... Может есть мысли с транзистором 3205?
Думаю резистор R3 великоват для заряда ёмкости затвора с такой частотой. Если из приведённой схемы использовать Т11 наизнанку вместо резистора?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Proton78, подскчажите пожалуйста какая частота ШИМ в схеме. Я точно не могу опредилть, т.к. там идут пачки. В пачке заполнение 31кГц, а на такой частоте РС817 работать не хочет, - валит фронты. Схема драйвера мосфета, которую я предлагал не работает - транзистор не открыывается, буду что-то мудрить со второй схемой... Может есть мысли с транзистором 3205?
Готовая ардуина идет с кварцем 16 МГц, моя же прошивка для микроконтроллера с внутренним генератором 8 Мгц. Тебе надо занизить частоту ШИМ.
// Частота ШИМ'а на ногах 9 и 10: TCCR1B = TCCR1B & 0b11111000 | 1; // настройка таймера для ШИМ (стало)
// Частота ШИМ'а на ногах 11 и 3: // TCCR2B = TCCR2B & 0b11111000 | 4; // настройка таймера для ШИМ (було)
вместо 1 поставь 4 как у меня или даже 5 с 1 - частота примерно 62 кГц. Это слишком много. Где то на форуме читал, что в китайских паяльных станциях частота ШИМ 30 Гц.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А что обозначает эта цифра(как она влияет на частоту), - я в синтаксисе не силен...
Эти цифры прописывают в регистр TCCR1B коэффициент деления опорной частоты, то есть задают частоту ШИМ. Побитовое ИЛИ (|) с числом от 0 до 5 записывает последние три разряда регистра TCCR1B ( 5 - это 101, 4 - это 100, 3 - это 011, 2 - это 010, 1 - это 001)
Спасибо! У меня на плате есть место под ТЛ431, я ее впаял(получилось 2,5В), поставил в скетче analogReference (EXTERNAL);, а теперь не могу найти где внести корректировки в измерении температуры, - подскажите, пожалуйста.
И еще, - кварц стоит на 16МГц, я поставил для шим 4, как у Вас. Нужно еще что-то менять в скетче?
Я уже перешел на печатку, начинаю настраиваться, но, как я понимаю, при включении на дисплее я должен увидеть комнатную температуру, а у меня - "000". если прогреваю жало другим паяльником - появляется какая-то температура. Но прежде чем идти дальше нужно разобраться с операционником(у меня МСР6001)и задать ему необходимый коэфициент усиления... А для начала нужно знать что заложено в скетче... , а я как Вы поняли . Хелп плз.
Ну и по порядку калибровки, если можно, поподробнее, - что за чем...
Спасибо! У меня на плате есть место под ТЛ431, я ее впаял(получилось 2,5В), поставил в скетче analogReference (EXTERNAL);, а теперь не могу найти где внести корректировки в измерении температуры, - подскажите, пожалуйста.
И еще, - кварц стоит на 16МГц, я поставил для шим 4, как у Вас. Нужно еще что-то менять в скетче?
Я уже перешел на печатку, начинаю настраиваться, но, как я понимаю, при включении на дисплее я должен увидеть комнатную температуру, а у меня - "000". если прогреваю жало другим паяльником - появляется какая-то температура. Но прежде чем идти дальше нужно разобраться с операционником(у меня МСР6001)и задать ему необходимый коэфициент усиления... А для начала нужно знать что заложено в скетче... , а я как Вы поняли . Хелп плз.
Ну и по порядку калибровки, если можно, поподробнее, - что за чем...
Найди в скетче вот этот кусок кода:
///////////////////////////////////////////////////////////////////////// /// использую медианный фильтр с большим числом измерений ///// /// точность в железе хорошая (на данный момент исп. этот фильтр) ///// /////////////////////////////////////////////////////////////////////////
analogWrite(3,0); // остановить ШИМ перед чтением АЦП
soldt = Filter (); // считать отфильтрованное значение температуры нагревателя
// soldd = map(soldt, 7, 888, 0, 420); // Еще один вариант определения температуры, считывается переменная soldt, ее диапазон 7 - 888, // переменной soldd присваивается значение в диапазоне 0-420, // в этом случае надо точно знать значение переменной soldt. Можно узнать только одним способом // подключать ардуину к компорту и при наладке схемы выводить в порт это значение. Или сначала выводить // на дисплей значения переменной soldt, записать значения при разных температурах, а после ввести их в программу // и пршить заново. // Для повышения точности можно сделать три и более диапазона. // Этот вариант хорош тем, что можно сделать большой коэффициент усиления усилителя термопары, // тем самым повысить точность измерения. // Например:
if (soldt >= 200 && soldt <= 286) // при темпеатуре от 13 градусов до 100 (200 и 286 - это значения на выходе усилителя термопары), температура замеряна градусником {soldd = map(soldt, cor_ir_1, cor_ir_2, 13, 100); ASM=1; } if (soldt >= 287 && soldt <= 500) // при темпеатуре от 101 градусов до 260 (287 и 500 - это значения на выходе усилителя термопары), температура замеряна тестером {soldd = map(soldt, cor_ir_2+1, cor_ir_3, 101, 260); ASM=2; } if (soldt >= 501 && soldt <= 650) // при темпеатуре от 261 градусов до 380 (501 и 650 - это значения на выходе усилителя термопары), температура замеряна градусником {soldd = map(soldt, cor_ir_3+1, cor_ir_4, 261, 380); ASM=3;}
if (soldt <= 182) // короткое замыкание или замерз soldd = 0; if (soldt >= 670) // перегрев или обрыв soldd = 888;
закоментируй или состри все , оставь только
analogWrite(3,0); // остановить ШИМ перед чтением АЦП soldt = Filter (); // считать отфильтрованное значение температуры нагревателя
и допиши
soldd =soldt; //
После этих манипуляций увидишь реальные значения АЦП, которые нужно будет подогнать под показания температуры. Надо будет измерять реальную температуру и записывать показания АЦП.
Вначале скетча есть такие строки:
int cor_ir_1 = 200; // переменная 1 корректировки жал 1-2-3-4 (хранится в еепром по адр.30,38,46,54) int cor_ir_2 = 286; // переменная 2 корректировки жал 1-2-3-4 (хранится в еепром по адр.32,40,48,56) int cor_ir_3 = 500; // переменная 3 корректировки жал 1-2-3-4 (хранится в еепром по адр.34,42,50,58) int cor_ir_4 = 650; // переменная 4 корректировки жал 1-2-3-4 (хранится в еепром по адр.36,44,52,60)
где:
200 - это значение АЦП при температуре примерно 13 градусов (я выставлял жало за окно осенью) 286 - это значение АЦП при температуре 100 градусов (я погружал жало в кипящую воду) 500 - это значение АЦП при температуре 260 градусов (температуру мерил термопарой от тестера в капле расплавленного припоя) 650 - это значение АЦП при температуре 380 градусов (температуру мерил термопарой от тестера в капле расплавленного припоя)
И еще возможно нужно будет для возможности выставлять уставку более 400 градусов найти строки
else{ if (set<400) set++; // увеличиваем перем set
и заменить на нужное значение , например 700.
После этих манипуляций вернуть скетч в исходный вид, кроме значения переменных int cor_ir, которые скорее всего будут уже другими (твои измерения)
Большое спасибо! В ОС ОУ у Вас стоит 271К(220+51). у меня пока 240К, - стоит ли менять? Или подтянется за счет перессчета?
У меня в прошивке стоит источник образцового напряжения 5 В. Усилитель LM358. У тебя подругому. Резистор подгони так, чтобы при комнатной температуре показания АЦП были около 200-230.
Или же еще надо подкорректировать скетч, найди строку:
if (soldt <= 182) // короткое замыкание или замерз soldd = 0;
вместо 182 напиши например 10.
Далее надо мерить температуры и выписывать значения АЦП.
- я сейчас перешел на ШИМ "1"(при меньшем ШИМ сильно прыгали показания температуры) так температура в точках 100,200,250,300 отличается всего на 5 градусов от измеренных тестером РМ102 с термопарой, а вот только при старте не стартует, т.к. показывает 000 и (!) нужно несколько раз тыкнуть ОН/ОФ или разогреть жало... Калибровку пока не делал, попозже...
- я сейчас перешел на ШИМ "1"(при меньшем ШИМ сильно прыгали показания температуры) так температура в точках 100,200,250,300 отличается всего на 5 градусов от измеренных тестером РМ102 с термопарой, а вот только при старте не стартует, т.к. показывает 000 и (!) нужно несколько раз тыкнуть ОН/ОФ или разогреть жало... Калибровку пока не делал, попозже...
найди строку:
if (soldt <= 182) // короткое замыкание или замерз soldd = 0;
вместо 182 напиши например 10.
Это я "защиту" сделал, чтобы при отключенном наконечнике или при замыкании в наконечнике ШИМ не запускался.
Почему у тебя показания прыгают не знаю. Возможно блок питания слишком близко к плате с микроконтроллером. У меня такое то же было. Потому экранировал плату медной фольгой.
- я сейчас перешел на ШИМ "1"(при меньшем ШИМ сильно прыгали показания температуры) ...... т.к. показывает 000 и (!) нужно несколько раз тыкнуть ОН/ОФ или разогреть жало... Калибровку пока не делал, попозже...
А по какой схеме силовой ключ? Если та которая с N-каналом, вроде бы она будет работать наоборот, нужно инвертировать уровни ШИМ, я не поглядел сразу. То есть вместо отключения ключа идёт нагрев и наоборот.
А по какой схеме силовой ключ? Если та которая с N-каналом, вроде бы она будет работать наоборот, нужно инвертировать уровни ШИМ, я не поглядел сразу. То есть вместо отключения ключа идёт нагрев и наоборот.
схема, только добавил еще инвертор на ВС817 с 10К в коллекторе и перед базой(оба 817 +3205) без радиатора нагревается до 60 градусов, фронт около 2мкс.
появились 4 и 5 цифры при низкой температуре(когда жало разогрелось-остается 3 цифры), но все равно не стартует, - нужно пару раз он/оф. а при старте с холодным жалом на табло при нажатии он/оф - "-200"
Последний раз редактировалось davids58 Вс янв 12, 2020 20:15:48, всего редактировалось 1 раз.
Напиши 2 вместо 182. И надо увеличить коэфф усиления немного. Так как значение АЦП при комнатной температуре сильно маленькое.
так ведь поедет вся картинка, а она почти нормальная (расхождение в одну сторону на 5 градусов), добавлю усиления пропорционально вырастет напруга на выходе ОУ. У меня стоит МСР6001, он типа риал ту риал может в этом суть... Может в :
if (soldt >= 200 && soldt <= 286) // при темпеатуре от 13 градусов до 100 (200 и 286 - это значения на выходе усилителя термопары), температура замеряна градусником {soldd = map(soldt, cor_ir_1, cor_ir_2, 13, 100); ASM=1; }
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения