Зарегистрирован: Пт сен 10, 2010 17:04:51 Сообщений: 6
Рейтинг сообщения:0
Доброго времени суток!заинтересовался схемкой.Но вот вопрос,хочу сделать ик станцию. можно ли повысить кол-во задающих режимов? оригинал Пример программирования режима для пайки. Пусть нам необходимо нагреть плату до 130 °С, продержать 30 сек, затем довести до 230 °С и отключить. T0 = 130 ° t0 = 00:30 T1 = 230 ° t1 = 00:01 T2 = xxx ° t2 = 00:00 пример Т0 .... Т10 ответьте пожалуйста.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Привет кошатникам, собрал блок управления для паяльной станции, приплыл, с термодатчиком, чип дип меня кинул при чём реально деньги взяли, а отправлять даже и не думают завтра буду звонить в Москву и разносить их офис, на письма отвечают типа их нет хотите мы вам закажем, а я уже деньги им загнал по выставленному счёту. Но не суть меня волнует вопрос кто нибудь уже смог модифицировать контроллер под другой датчик, если да поделитесь пожалуйста.
Тоже пытался заказать у них, но понял что у них не дождешься! Датчик температуры KTY84/130 заказывал в "Элитане", приличная фирма, много чего есть и дешево, быстро.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Чето у меня не так работает секунды бегут раза в 2 быстрее положенного думал фьюзы прошью исправится прошил нифига, сфотайте пожалуйста какие фьюзы в поне проге надо галочки поставить, может где ошибся.
ну вот как всегда,только зделают что-то путное и бросят,как произошло с инфракрасной паяльной станцией ,а ведь на базе этого устройства получится неплохая паляльная станция стоит только немного доделать(я конечно в написании программ полный 0 ну или лох) но может автора заинтересует замутить такую весчь, вся система в принципе остается без изменений(единственное вместо символа времени t изменить на символ S это вроде как будет читаемо) конечно изменить бы дисплей на 2Х16 естественно это можно но как говорили что пол индикатора не используется,можно как-то зделать чтоб полностью? конечно изменить бы термодатчики на термопары(их вроде и найти легче,от китайских тестеров) это у нас будет будет управление верхними нагревателями, а вот что касается дополнительной опции это нижний нагреватель там многово не надо, установка необходимой температуры и ее дальнейшего поддержания, да и еще необходимо учесть что верх должен включиться когда температура низа достигнет своего значения. вот такие вот дела конечно скажете что вот написал тут всяку ерунду сам и делай, дык в этом то и проблема что не могу,поэтому и ищу умных людей кого бы заинтересовала эта идея, а желающих собрать я думаю будет достаточно
Привет. Понадобилась такая печка, нашел этот проект, повторил его, и тоже столкнулся с описанными тут проблемами. 1. Не смог купить датчик KTY-84. На некоторых фирмах он есть в списках, но при попытке заказать они разводят руками. Из поисков в нете понял, что он уже снят с производства. Поставил термопару типа K от сгоревшего мультиметра (продаются отдельно) и добавил усилитель термопары на отдельной платке. Специальные и инструментальные усилители нужно было заказывать, долго ждать и дорого, лабораторная точность мне была не нужна, спаял на LM358, что нашел в мусоре.
2. У нас на рынке продавцы не знают про дисплеи 1202, поставил 1602 - работает норм, справа свободное пространство. 3. К кварцам очень капризна. Один у меня вообще не завелся - не начинался отсчет времени, с другим секунды бегут раз в 5 быстрее. 4. Из-эа коротких не заметных всплесков замеров, температура часто не достигает заданной. Нужно чтобы для сравнения и отображения бралась осредненная за 0.5 - 1с.
Теперь предстоит правка программы - надо расширить температурный диапазон, хотя бы до 500 град., осреднить замеры, заполнить пространство на дисплее, и может быть изменить меню, настройки. Я не дружу с Си, писал проекты на AB, возможно придется писать с нуля. Жаль, что автор забросил тему, если кто-то, кто повторял проект, дорабатывал программу или хочет это сделать - отзовитесь.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Мужики, ну не получается у меня скомпилировать исходник хоть убейте, помогите, я поправил температуру до 400 градусов и количество ступеней нагрева до 4 сделал, сую исходник в компилятор, а он меня посылает, думал чё то накосматил, беру оригинальный исходник а компилятор и на него ругается, выручайте!!!
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Всё разобрался, нужно вместе с файлом лежал Makefile и имя исходника было main.c, но всё равно куча ошибок вылазит связанных с кодом программы. Пойду пить валерьянку.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Ничего не вышло поправил файлик Makefile внёс в него данные микросхемы и прочие выкладываю может кто посмотрит и поправит в случае чего. При компиляции WinAVR ругается на весь код как будто это китайская клинопись ошибки следующие.
Код:
Compiling C: main.c avr-gcc -c -mmcu=atmega8 -I. -gstabs -DF_CPU=1000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o main.c:1:19: warning: iom8v.h: No such file or directory main.c:2:20: warning: macros.h: No such file or directory main.c:4:20: warning: eeprom.h: No such file or directory main.c:42:17: error: lcd.h: No such file or directory main.c:43:19: error: delay.h: No such file or directory main.c: In function 'DigitTerm': main.c:58: warning: passing argument 1 of 'utoa' makes integer from pointer without a cast main.c:58: warning: passing argument 2 of 'utoa' makes pointer from integer without a cast main.c:59: warning: implicit declaration of function 'strcpy' main.c:59: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:59: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:60: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:60: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:61: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:61: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:62: warning: implicit declaration of function 'strcat' main.c:62: warning: incompatible implicit declaration of built-in function 'strcat' main.c:62: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness main.c:62: warning: pointer targets in passing argument 2 of 'strcat' differ in signedness main.c:63: warning: implicit declaration of function 'lcd_rus' main.c: In function 'DigitTime': main.c:68: warning: passing argument 1 of 'utoa' makes integer from pointer without a cast main.c:68: warning: passing argument 2 of 'utoa' makes pointer from integer without a cast main.c:69: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:69: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:70: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:70: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:71: warning: incompatible implicit declaration of built-in function 'strcat' main.c:71: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness main.c:71: warning: pointer targets in passing argument 2 of 'strcat' differ in signedness main.c:73: warning: implicit declaration of function 'WriteSym' main.c:74: warning: passing argument 1 of 'utoa' makes integer from pointer without a cast main.c:74: warning: passing argument 2 of 'utoa' makes pointer from integer without a cast main.c:75: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:75: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:76: warning: incompatible implicit declaration of built-in function 'strcpy' main.c:76: warning: pointer targets in passing argument 1 of 'strcpy' differ in signedness main.c:77: warning: pointer targets in passing argument 1 of 'strcat' differ in signedness main.c:77: warning: pointer targets in passing argument 2 of 'strcat' differ in signedness main.c: In function 'menu': main.c:83: warning: implicit declaration of function 'WriteDDR' main.c:88: warning: array subscript has type 'char' main.c:88: warning: array subscript has type 'char' main.c:89: warning: array subscript has type 'char' main.c:89: warning: array subscript has type 'char' main.c:92: warning: array subscript has type 'char' main.c:95: warning: array subscript has type 'char' main.c:95: warning: array subscript has type 'char' main.c:96: warning: array subscript has type 'char' main.c:96: warning: array subscript has type 'char' main.c:99: warning: array subscript has type 'char' main.c: In function 'adc_init': main.c:105: error: 'ADCSR' undeclared (first use in this function) main.c:105: error: (Each undeclared identifier is reported only once main.c:105: error: for each function it appears in.) main.c:106: error: 'ADMUX' undeclared (first use in this function) main.c:107: error: 'ACSR' undeclared (first use in this function) main.c: In function 'timer1_init': main.c:113: error: 'TCCR1B' undeclared (first use in this function) main.c:114: error: 'TCNT1H' undeclared (first use in this function) main.c:115: error: 'TCNT1L' undeclared (first use in this function) main.c:116: error: 'OCR1AH' undeclared (first use in this function) main.c:117: error: 'OCR1AL' undeclared (first use in this function) main.c:118: error: 'OCR1BH' undeclared (first use in this function) main.c:119: error: 'OCR1BL' undeclared (first use in this function) main.c:120: error: 'ICR1H' undeclared (first use in this function) main.c:121: error: 'ICR1L' undeclared (first use in this function) main.c:122: error: 'TCCR1A' undeclared (first use in this function) main.c: In function 'timer2_init': main.c:128: error: 'TCCR2' undeclared (first use in this function) main.c:129: error: 'ASSR' undeclared (first use in this function) main.c:130: error: 'TCNT2' undeclared (first use in this function) main.c:131: error: 'OCR2' undeclared (first use in this function) main.c: At top level: main.c:135: warning: ignoring #pragma interrupt_handler timer2_ovf_isr main.c: In function 'timer2_ovf_isr': main.c:139: error: 'TCNT2' undeclared (first use in this function) main.c:146: warning: array subscript has type 'char' main.c:152: warning: array subscript has type 'char' main.c:162: error: 'PORTD' undeclared (first use in this function) main.c:171: warning: array subscript has type 'char' main.c:180: warning: array subscript has type 'char' main.c: At top level: main.c:190: warning: ignoring #pragma interrupt_handler adc_isr main.c: In function 'adc_isr': main.c:193: error: 'ADCL' undeclared (first use in this function) main.c:194: error: 'ADCH' undeclared (first use in this function) main.c:203: warning: array subscript has type 'char' main.c:205: error: 'PORTD' undeclared (first use in this function) main.c:221: error: 'PINB' undeclared (first use in this function) main.c:221: error: 'PIND' undeclared (first use in this function) main.c:226: warning: implicit declaration of function 'Delay_ms' main.c: At top level: main.c:253: warning: function declaration isn't a prototype main.c:252: warning: return type of 'main' is not 'int' main.c: In function 'main': main.c:254: error: 'DDRC' undeclared (first use in this function) main.c:255: error: 'DDRD' undeclared (first use in this function) main.c:256: error: 'PORTD' undeclared (first use in this function) main.c:258: warning: implicit declaration of function 'lcd_init' main.c:259: warning: implicit declaration of function 'Write_CGRAM' main.c:263: error: 'ClrCur' undeclared (first use in this function) main.c:265: warning: implicit declaration of function 'SEI' main.c:266: warning: implicit declaration of function 'Delay_mks' main.c:270: error: 'ADCSR' undeclared (first use in this function) main.c:281: error: 'PINB' undeclared (first use in this function) main.c:281: error: 'PIND' undeclared (first use in this function) main.c:379: error: 'BrigCur' undeclared (first use in this function) main.c:527: warning: implicit declaration of function 'EEPROM_READ' main.c:643: warning: array subscript has type 'char' main.c:643: warning: array subscript has type 'char' main.c:647: warning: array subscript has type 'char' main.c:647: warning: array subscript has type 'char' main.c:651: warning: array subscript has type 'char' main.c:651: warning: array subscript has type 'char' main.c:655: warning: array subscript has type 'char' main.c:655: warning: array subscript has type 'char' main.c:659: warning: array subscript has type 'char' main.c:659: warning: array subscript has type 'char' main.c:663: warning: array subscript has type 'char' main.c:663: warning: array subscript has type 'char' main.c:667: warning: array subscript has type 'char' main.c:667: warning: array subscript has type 'char' main.c:684: warning: array subscript has type 'char' main.c:688: warning: array subscript has type 'char' main.c:692: warning: array subscript has type 'char' main.c:696: warning: array subscript has type 'char' main.c:700: warning: array subscript has type 'char' main.c:704: warning: array subscript has type 'char' main.c:708: warning: array subscript has type 'char' main.c:736: warning: implicit declaration of function 'EEPROM_WRITE' main.c:757: error: 'TIMSK' undeclared (first use in this function) main.c:770: warning: implicit declaration of function 'CLI' make.exe: *** [main.o] Error 1
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Блин не могу вложить фаил Makefile вот его исправленный код
Код:
# Hey Emacs, this is a -*- makefile -*- #---------- # WinAVR Makefile Template written by Eric B. Weddington, Jцrg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan # Colin O'Flynn # Reiner Patommel # Markus Pfaff # Sander Pool # Frederik Rouleau # Carlos Lamas # #---------- # On command line: # # make all = Make software. # # make clean = Clean out built project files. # # make coff = Convert ELF to AVR COFF. # # make extcoff = Convert ELF to AVR Extended COFF. # # make program = Download the hex file to the device, using avrdude. # Please customize the avrdude settings below first! # # make debug = Start either simulavr or avarice as specified for debugging, # with avr-gdb or avr-insight as the front end for debugging. # # make filename.s = Just compile filename.c into the assembler code only. # # make filename.i = Create a preprocessed source file for use in submitting # bug reports to the GCC project. # # To rebuild project do "make clean" then "make all". #----------
# MCU name MCU = atmega8
# Processor frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency. You can then use this symbol in your source code to # calculate timings. Do NOT tack on a 'UL' at the end, this will be done # automatically to create a 32-bit value in your source code. # Typical values are: # F_CPU = 1000000 # F_CPU = 1843200 # F_CPU = 2000000 # F_CPU = 3686400 # F_CPU = 4000000 # F_CPU = 7372800 # F_CPU = 8000000 # F_CPU = 11059200 # F_CPU = 14745600 # F_CPU = 16000000 # F_CPU = 18432000 # F_CPU = 20000000 F_CPU = 1000000
# Output format. (can be srec, ihex, binary) FORMAT = ihex
# Target file name (without extension). TARGET = main
# Object files directory # To put object files in current directory, use a dot (.), do NOT make # this an empty or blank macro! OBJDIR = .
# List C source files here. (C dependencies are automatically generated.) SRC = $(TARGET).c
# List C++ source files here. (C dependencies are automatically generated.) CPPSRC =
# List Assembler source files here. # Make them always end in a capital .S. Files ending in a lowercase .s # will not be considered source files but generated files (assembler # output from the compiler), and will be deleted upon "make clean"! # Even though the DOS/Win* filesystem matches both .s and .S the same, # it will preserve the spelling of the filenames, and gcc itself does # care about how the name is spelled on its command-line. ASRC =
# Optimization level, can be [0, 1, 2, 3, s]. # 0 = turn off optimization. s = optimize for size. # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) OPT = s
# Debugging format. # Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs. # AVR Studio 4.10 requires dwarf-2. # AVR [Extended] COFF format requires stabs, plus an avr-objcopy run. DEBUG = stabs
# List any extra directories to look for include files here. # Each directory must be seperated by a space. # Use forward slashes for directory separators. # For a directory that has spaces, enclose it in quotes. EXTRAINCDIRS =
# Compiler flag to set the C Standard level. # c89 = "ANSI" C # gnu89 = c89 plus GCC extensions # c99 = ISO C99 standard (not yet fully implemented) # gnu99 = c99 plus GCC extensions CSTANDARD = -std=gnu99
# Place -D or -U options here for C sources CDEFS = -DF_CPU=$(F_CPU)UL
# Place -D or -U options here for ASM sources ADEFS = -DF_CPU=$(F_CPU)
# Place -D or -U options here for C++ sources CPPDEFS = -DF_CPU=$(F_CPU)UL #CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS
#---------- Assembler Options ---------- # -Wa,...: tell GCC to pass this to the assembler. # -adhlns: create listing # -gstabs: have the assembler create line number information; note that # for use in COFF files, additional information about filenames # and function names needs to be present in the assembler source # files -- see avr-libc docs [FIXME: not yet described there] # -listing-cont-lines: Sets the maximum number of continuation lines of hex # dump that will be displayed for a given single line of source input. ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
# Floating point printf version (requires MATH_LIB = -lm below) PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
# If this is left blank, then it will use the Standard printf version. PRINTF_LIB = #PRINTF_LIB = $(PRINTF_LIB_MIN) #PRINTF_LIB = $(PRINTF_LIB_FLOAT)
# Minimalistic scanf version SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
# Floating point + %[ scanf version (requires MATH_LIB = -lm below) SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
# If this is left blank, then it will use the Standard scanf version. SCANF_LIB = #SCANF_LIB = $(SCANF_LIB_MIN) #SCANF_LIB = $(SCANF_LIB_FLOAT)
MATH_LIB = -lm
# List any extra directories to look for libraries here. # Each directory must be seperated by a space. # Use forward slashes for directory separators. # For a directory that has spaces, enclose it in quotes. EXTRALIBDIRS =
#---------- External Memory Options ----------
# 64 KB of external RAM, starting after internal RAM (ATmega128!), # used for variables (.data/.bss) and heap (malloc()). #EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
# 64 KB of external RAM, starting after internal RAM (ATmega128!), # only used for heap (malloc()). #EXTMEMOPTS = -Wl,--section-start,.data=0x801100,--defsym=__heap_end=0x80ffff
# Uncomment the following if you want avrdude's erase cycle counter. # Note that this counter needs to be initialized first using -Yn, # see avrdude manual. #AVRDUDE_ERASE_COUNTER = -y
# Uncomment the following if you do /not/ wish a verification to be # performed after programming the device. #AVRDUDE_NO_VERIFY = -V
# Increase verbosity level. Please use this when submitting bug # reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude> # to submit bug reports. #AVRDUDE_VERBOSE = -v -v
# For simulavr only - target MCU frequency. DEBUG_MFREQ = $(F_CPU)
# Set the DEBUG_UI to either gdb or insight. # DEBUG_UI = gdb DEBUG_UI = insight
# Set the debugging back-end to either avarice, simulavr. DEBUG_BACKEND = avarice #DEBUG_BACKEND = simulavr
# GDB Init Filename. GDBINIT_FILE = __avr_gdbinit
# When using avarice settings for the JTAG JTAG_DEV = /dev/com1
# Debugging port used to communicate between GDB / avarice / simulavr. DEBUG_PORT = 4242
# Debugging host used to communicate between GDB / avarice / simulavr, normally # just set to localhost unless doing some sort of crazy debugging when # avarice is running on a different computer. DEBUG_HOST = localhost
# Eye candy. # AVR Studio 3.x does not check make's exit code but relies on # the following magic strings to be generated by the compile job. begin: @echo @echo $(MSG_BEGIN)
точно как китайская рукопись у меня нет WinAVR , пробовал в АVR там тоже не получается, очень похоже не та версия компилятора, надоть в других форумах поспрошать , может сдесь viewtopic.php?f=20&t=37190
_________________ Некакого перимирия, Некаких мирных шагов навстречу и периговоров.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Отправил исходник автору проекта, может он поможет. Исходник с 5 режимами температуры, и 500 градусов максимальной температуры, как раз для ик паяльной станции. Будем теперь ждать вся надежда на автора.
Заработала у меня печка с термопарой, как рисовал раньше. В авторском коде ничего не правил, потому как с СИ не дружу Добавил в схему усилитель термопары, дисплей 1602 и написал свою прошивку, перелопатил все полностью. Схема и прошивка в приложении.
Есть мелкие баги, но править не когда, печка во всю трудится. Температуру теоретически можно регулировать до 500 гр., но до такой не разгонял. Теперь в исходном состоянии постоянно отображается температура, время и выбор режима. Температура полезно при калибровке датчика и ожидании остывания. Убрал все параноидальные защиты от случайных включений. Стрелками влево-вправо выбирается режим, нажатием кнопки ENTER входим в настройки режима, нажатием кнопки Start - запускаем режим. Ну разок спросит - Запустить? - еще раз жмем START или STOP, если передумали. В режиме настроек все интуитивно понятно правим температуру и время шага - стрелками влево-вправо выбираем цифру, вверх-вниз меняем ее. Жмем ENTER - перход на следующий шаг. Если время шага нулевое, на этом шаге работа печки заканчивается. Во время работы можно нажать STOP - печка переходит в режим паузы, еще раз STOP - выход или START для продолжения.
Зарегистрирован: Вт мар 15, 2011 17:28:34 Сообщений: 28
Рейтинг сообщения:0
Молодца, сейчас готовлю контроллеры в чистовую, попробую твою прошивку. Фьюзы надо прошивать как в изначальном варианте или какие то изменения, на счёт конденсаторов на кварце ты пробовал включить внутренние конденсаторы фьюзом CKOPT?
Сейчас этот форум просматривают: сергей999 и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения