由 PIC16F88xPIC16F87x制作的数显恒温焊台热风枪.docx
《由 PIC16F88xPIC16F87x制作的数显恒温焊台热风枪.docx》由会员分享,可在线阅读,更多相关《由 PIC16F88xPIC16F87x制作的数显恒温焊台热风枪.docx(40页珍藏版)》请在冰豆网上搜索。
由PIC16F88xPIC16F87x制作的数显恒温焊台热风枪
ЦифроваяпаяльнаястанциянаPIC16F88x/PIC16F87x(a)
Теги:
паяльная,станция,top249.
Автор:
АлексейГрачев
Опубликовано06.14.2011.
СозданоприпомощиКотоРед.
Паяльнаястанциясвоимируками.
Шаг1.ИспульсныйблокпитаниянаTOP249.
Вданнойстатьебудетописанпроцесссборкиинастройкиблокапитания,собранногодлясамодельнойпаяльнойстанции.СобственносамИБПсобраннаосновереференс-дизайнапроизводителяPowerIntegrationпредставляющегоизсебяблокпитанядляноутбука19,5В70Ватт.Вдокументепредставленавсянеобходимаядляизготавленияинформация,включаямоточныеданныетрансформатораифильтров,атакжерисунокпечатнойплатыустройства.Онбылперерисованвsprintlayout5.0+немногоизменендляобеспечениявозможностиустановкиразныхтрансформаторов.
СхемаустройсквапредставленанаРис.1.
Рис.1.Схема
ПечатнаяплатаустройствапредставленанаРис.2.
ЗагрузитьрисунокпечатнойвформатеSprint-Layout5.0можновконцестатьи
Стоитотметить,чтовпечатнойплатеестьошибка,конденсаторC5установленпередпредохранителемитерморезистором.Этонехорошо,конечно,ноисправлятьнестал,оставилкакворигинале...
Доноромтрансформатора(EI-33)ипрочихдеталейдляБПпослужилнеисправныйATXблокпитания.ПересчеттрансформаторавыполнялсявпрограммеPIExpertдоступнойнасайтепроизводителя.Порасчетамполучилосьследующее:
∙первичнаяобмотка:
11+11витковв2провода;
∙обмоткаобратнойсвязи:
3виткав2провода;
∙выходнаяобмотка:
4виткав4провода;
Длянамоткииспользоваласьрасплетенаявитаяпара.Собственно,правильнонамотанныйтрансформаторзалогработоспособностивсейсхемы.Чтобыупроститьсебежизнь,можновоспользоватьсясхемойнамотки,приведеннойнаРис.3.
Рис.3.Видсверху
Намотканачинаетсяспервичнойобмотки.Наматываем11витковв2проводаначинаяс3ножкитрансформатора,заканчиваемна2ножке.Далееделаемдваслояизоляции.Следующейнаматываемобмоткуобратнойсвязи.Мотаем3виткав2жилы,начинаяс5ножки,заканчиваемна4ножке.Делаемдваслояизоляции.Следующеймотаетсявыходнаяобмотка.Вчетырепровода,начинаемна9,10(двапроводаприпаиваемк9ножке,оставшиесядвак10ножке)изаканчиваемна7,8(двапроводаприпаиваемк7ножке,оставшиесядвак8ножке).Делаемдваслояизоляции.Ипоследнейдоматываемпервичнуюобмотку,делаем11витковв2провода,начинаемсо2ножки,заканчиваемна1.
Первыйпускблокапроизводимчерезлампунакаливания220Вольт60Ватт,впаяннуювместопредохранителяF1.ДанныйприемубережетнасотБАХа,есличто-нибудьсобранонетак.Внагрузкувешаемдвелампы12В5Ватт,соедененныепоследовательно.Есливсесобраноправильно,привключениивспыхнетипогаснетлампанавходе,лампынавыходедолжнызасветитьсянаполную.Выключаем,проверяемнагревэлементов.Включаемповторно,даемпоработать,выключаем,проверяемнагревэлементов.Есливсенормально,можновыпаиватьлампуиставитьпредохранительнаместо.Опятьпроверяем...
Еслинадоподстроитьнапряжениенавыходе,можнопоигратьсязначениямирезисторовR4(R13)иR10.ВмоемслучаебылувеличенрезисторR13с1кОмдо2,49кОм,чтопривелокувеличениюнапряженияпринагрузке2,2Адонеобходимых24В.Ксловусказать,яставилвсерезисторысдопуском5%.Всеработаеткакнадо.
Взаключениихотелосьбысказать,чтоИМСсерииTOP24хмнепонравились.Покрайнеймереумиралионитихо.Кстати,интересныймомент,еслиблокзапускается,выходинназаданнуюмощность,апотомуходитвперезапуск(где-торазвсекунду),то,скореевсего,отсутствуетсигналобратнойсвязи.Можнопроверитьвыпаявоптопару,должнобытьтожесамое...Иеще,печатнуюплатуможноиспользоватьисдругимиИМСсерииTOP24х.Схемотехникауниходинаковая.
Шаг2.ЦифроваяпаяльнаястанциянаPIC16F88x/PIC16F87x(a).
Далеебудетописанпроцесссборкиинастройкисамодельнойпаяльнойстанции.Можносказать,чтоданныйпроектявляетсяещеоднимклономПСпредставленныхнасайте).МожноиспользоватьразныеМК(PIC16F886/PIC16F887,PIC16F876/PIC16F877,PIC16F876a/PIC16F877a).Такжезадействованвстроенныйвфенгеркон.
СхемацифровойчастиустройсквапредставленанаРис.4.ДлянаглядностипоказаныдваМК:
IC1-PIC16F887,IC1(*)-PIC16F876.ДругиеМКподключаютсяаналогично,насоответствующиепорты.
Рис.4.Цифроваячасть
СхемасиловойчастиустройствапредставленанаРис.5.
Рис.5.Силоваячасть
Информацияоподключениифена,паяльникаиЖКиндикаторапредставленанаРис.6.
Рис.6.Подключениепереферии
ПаяльнаястанцияосновананаМКPIC16F887(мойвариант).Немогусказатьчтоэтооптимальныйвариант,особенноучитываятотфактчтораспиновкавкорпусеTQFPвызываетуменяшокижеланиеотрезатьлишнюючасть(судяповсему,голову)уразработчиков,даипорапереходитьнаARMархитектуру(кпримеруLPC1114стоитв2-аразадешевлеаможетгораздо,гораздобольше...).Простоониуменяесть,вотяирешилихпристроить...
УсилительтермопарысобраннаширокораспространенномОУlm358.Используютсяобеполовины,однадляпаяльника,втораядляфена,КоэффециентусиленияможетбытьподрегулированподстроечнымирезисторамиVR1иVR2.
ОтиспользованияпромышленныхЖКИбылорешеноотказатьсяподрумпричинам:
"стандартный"протокол(особеннодляконтроллераHD44780),вызываеттежеэмоции,чтоираспиновкаПИКавTQFP))),нуиценаот180рублей,поэтомуиндикаторвзятоттелефонаNokia1100(40рублейзановыйкитайский).Такжеподойдутдисплеиот1110/1200,правдаихнетакудобнопаять.Каквариант,можносделатьследующимобразом:
Рис.4.Вариантиспользованиядисплеябезконнектора
Турбинафенаипаяльниквключаютсяпосредствомполевыхтранзисторов(япиталихотодногоБПна24В).Стоитотметить,чтодляфенанужногде-то36В.На24Ввмаксимумедуетнатаксильно,новполнедостаточнодлянормальнойработы.КстатитурбинавключаетсяполевикомBUZ90:
D-перебор,конечное,ноработает).Негревательныйэлементфенавключаетсяпосредствомтиристора.Схемавклюючениястандартная.РазвязкасМКпосредствомоптопары.
ПаяльниквзятотстанцииSalomon(SL-10,SL-20,SL-30),такжеможнопоставитьпаяльникотстанцииLukey-702илидругойстермопаройинагревателемна24В.ФениспользованотстанцииLukey-702.УнеготурбинавстроенавручкувотличиеотLukey-852,хотянагревательныйэлементитермопараодинаковые.
Назначениекнопок:
∙ PB1:
Увеличениетемпературыпаяльника
∙ PB2:
Уменьшениетемпературыпаяльника
∙ PB3:
Увеличениетемпературыфена
∙ PB4:
Уменьшениетемпературыфена
∙ PB5:
Увеличениескоростивращениявентиляторатурбины
∙ PB6:
Уменьшениескоростивращениявентиляторатурбины
∙ PB7:
Включение/выключениепаяльника
∙ PB8:
Включение/выключениефена
Сохранениенастроекпроисходитпривыключениипаяльникаилифена.
ПрограммауправлениянаписананаязыкеСивIDEpiklab.Длясборкинеобходимыsdcc-2.9.0иgputils-0.13.7илиболеепоздниеверсии.ИсходныйкодпрограммыипрошивкуМКможноскачатьтут.
Фотографииустройства
Оригиналыстатейтут,тутитут
Файлы:
ПечаткавSprint-Layout5.0
ИсходныйкодпрограммыипрошивкиМК
/*-----------------------------------------------------------------------*/
/*---------------PIC16F887solderingstationwithhotair--------------*/
/*---------------------Author:
AlexeyGrachov--------------------------*/
/*----------------------------gav@bmstu.ru-----------------------------*/
/*-----------------------------------------------------------------------*/
#definePIC16F876
#ifdefPIC16F887
#definePIC16F88x
#include"pic16f887.h"
#endif
#ifdefPIC16F886
#definePIC16F88x
#include"pic16f886.h"
#endif
#ifdefPIC16F877
#include"pic16f877.h"
#definePIC16F87x
#endif
#ifdefPIC16F876
#include"pic16f876.h"
#definePIC16F87x
#endif
#ifdefPIC16F877a
#include"pic16f877a.h"
#definePIC16F87xa
#endif
#ifdefPIC16F876a
#include"pic16f876a.h"
#definePIC16F87xa
#endif
#definerstRC7
#definecsRC6
#definesdaRC5
#definesclkRC4
#defineledRC3
#defineironRC2
#defineironARA0
#defineironTTRISA0
#defineironAD0x80
#definehotAirRC0
#definehotAirARA1
#definehotAirTTRISA1
#definehotAirAD0x84
#definehotAirSwitchRA2
#definehotAirSwitchTTRISA2
#ifdefPIC16F88x
#definehotAirSwitchANANS2
#endif
#definefanTTRISC1
#definefanRC1
#defineeelcd0x41
#defineeeprog0x3C
#defineBUTTONSPORTB
#defineIPRB0
#defineIMRB5
#defineHAPRB2
#defineHAMRB3
#defineFPRB1
#defineFMRB4
#defineIONRB7
#defineHAONRB6
#defineIronMax400
#defineIronMin0
#defineHotAirMax500
#defineHotAirMin0
#defineFanMax100
#defineFanMin0
//setoutputpinsforlcdhere
#defineCMD0
#defineDATA1
#defineWIDTH6
#defineHEIGHT1
#defineMID_WIDTH12
#defineMID_HEIGHT2
typedefunsignedintword;
#ifdefPIC16F88x
word__at_CONFIG1CONFIG1=_INTRC_OSC_NOCLKOUT&_WDT_ON&_PWRTE_ON&_MCLRE_OFF&_CP_OFF&_CPD_OFF&_BOR_ON&_IESO_OFF&_FCMEN_OFF&_LVP_OFF&_DEBUG_OFF;
word__at_CONFIG2CONFIG2=_BOR21V&_WRT_OFF;
#endif
#ifdefPIC16F87x
word__at0x2007CONFIG=_HS_OSC&_WDT_ON&_PWRTE_ON&_BODEN_ON&_LVP_OFF&_CPD_OFF&_WRT_ENABLE_OFF&_DEBUG_OFF&_CP_OFF;
#endif
#ifdefPIC16F87xa
word__at0x2007CONFIG=_HS_OSC&_WDT_ON&_PWRTE_ON&_BODEN_ON&_LVP_OFF&_CPD_OFF&_WRT_OFF&_DEBUG_OFF&_CP_OFF;
#endif
voiddelay_s(unsignedcharcount);
voidLcd_Init(void);
voidLcd_Write(unsignedcharcd,unsignedcharc);
voidLcd_Clear(void);
voidSetX(unsignedcharx);
voidSetY(unsignedchary);
//voidLcd_Char(unsignedcharsym,unsignedcharx);
voidEE_Char(unsignedchareesym,unsignedcharx,unsignedchary);
voidEE_Dec(unsignedintval,unsignedcharx,unsignedchary);
voidEE_Dec