Страница 12 из 19
Re: Регулятор для паяльника
Добавлено: Сб янв 12, 2019 17:56:10
DimAlt
>error attempt to use poisoned "SIG INTERRUPTO" прерывание по падающему фронту.
Что бы убрать эту ошибку, в файле main.c на до изменить эту строчку
ISR(SIG_INTERRUPT0)//прерывание по падающему фронту.
на
ISR(INT0_vect)//прерывание по падающему фронту.
Re: Регулятор для паяльника
Добавлено: Сб янв 12, 2019 18:39:38
RX24
DimAlt Спасибо! Теперь без ошибок а фьюзы какие ставить? 1 мегагерц как в меге 48? прикомпиляци упоминается про мегу 48 и тактирование 1 мгц
Добавлено after 6 minutes 6 seconds:
Не...То же самое индикация есть, цифры тоже, кнопки работают, а через несколько секунд на дисплее пишет нет импульсов, и на тиристор ничего не идет...Видимо все таки в прошивке регистры надо править, или что то еще переписывать...
Добавлено after 1 minute 24 seconds:
на меге 8 все идеально работает
Добавлено after 16 minutes 14 seconds:
Ладно, буду покупать мегу 8
Re: Регулятор для паяльника
Добавлено: Сб янв 12, 2019 19:16:39
radteh
Ты мой вариант пробовал?
Re: Регулятор для паяльника
Добавлено: Сб янв 12, 2019 19:26:54
DimAlt
Для меги48 88 168 328 фьюзы одни. Попробовал скомпилировать и прогнать в протеусе, работает. Только одно но, попробовал скомпилировать для atmega168p и не заработало, почему то влетает в прерывания которые не разрешены, не стал разбираться почему, вообщем его в макефиле не указывайте. Пробовал, кстати на исходниках radteh.
С блоком синхронизации точно все в порядке?
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 06:22:21
radteh
Я компилирую при помощи WinAVR и у меня нет ошибок
upd
Обновил архив, добавил версию для atmega168p
https://yadi.sk/d/JBkJLlaNi3Ef6w
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 09:00:21
RX24
radteh В железе не пробовал еще, попробовал в протеусе, то же самое, индикация работает, через несколько секунд пишет нет импульсов и на осциле на симистор тоже нет
DimAlt у меня как раз мега 168р
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 09:56:37
radteh
У меня в протеусе при запуске нет индикации вообще, при блокировке синхронизации EEP (оно и понятно настроек нет). Отсутствие индикации могу связать с тем что у автора в коде есть участки заточенные под atmega8 либо под atmega48. И если проверка на atmega8 не проходит, то выбираются фрагменты под atmega48.
upd 13.01.2019
Вроде поборол проблему, по крайней мере в протеусе работает. Обновил ссылку
https://yadi.sk/d/JBkJLlaNi3Ef6w
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 17:30:40
DimAlt
Индикации нет, потому что, как писал раньше происходит вход в не разрешенные прерывания. Программа циклически сбрасывается. Это можно посмотреть добавив заглушки на не используемые прерывания.
Код: Выделить всё
#if defined (__AVR_ATmega8__)
#else
EMPTY_INTERRUPT(BADISR_vect);
// ISR( INT0_vect ){while(1) asm("NOP");} /* External Interrupt Request 0 */
ISR( INT1_vect ) {while(1) asm("NOP");} /* External Interrupt Request 1 */
ISR( PCINT0_vect ) {while(1) asm("NOP");} /* Pin Change Interrupt Request 0 */
ISR( PCINT1_vect ) {while(1) asm("NOP");} /* Pin Change Interrupt Request 0 */
ISR( PCINT2_vect ) {while(1) asm("NOP");} /* Pin Change Interrupt Request 1 */
ISR( WDT_vect ) {while(1) asm("NOP");} /* Watchdog Time-out Interrupt */
// ISR( TIMER2_COMPA_vect ) {while(1) asm("NOP");} /* Timer/Counter2 Compare Match A */
ISR( TIMER2_COMPB_vect ) {while(1) asm("NOP");} /* Timer/Counter2 Compare Match A */
ISR( TIMER2_OVF_vect ) {while(1) asm("NOP");} /* Timer/Counter2 Overflow */
ISR( TIMER1_CAPT_vect ) {while(1) asm("NOP");} /* Timer/Counter1 Capture Event */
ISR( TIMER1_COMPA_vect ) {while(1) asm("NOP");} /* Timer/Counter1 Compare Match A */
ISR( TIMER1_COMPB_vect ) {while(1) asm("NOP");} /* Timer/Counter1 Compare Match B */
ISR( TIMER1_OVF_vect ) {while(1) asm("NOP");} /* Timer/Counter1 Overflow */
ISR( TIMER0_COMPA_vect ) {while(1) asm("NOP");} /* TimerCounter0 Compare Match A */
ISR( TIMER0_COMPB_vect ) {while(1) asm("NOP");} /* TimerCounter0 Compare Match B */
ISR( TIMER0_OVF_vect ) {while(1) asm("NOP");} /* Timer/Couner0 Overflow */
ISR( SPI_STC_vect ) {while(1) asm("NOP");} /* SPI Serial Transfer Complete */
ISR( USART_RX_vect ) {while(1) asm("NOP");} /* USART Rx Complete */
ISR( USART_UDRE_vect ) {while(1) asm("NOP");} /* USART, Data Register Empty */
ISR( USART_TX_vect ) {while(1) asm("NOP");} /* USART Tx Complete */
ISR( ADC_vect ) {while(1) asm("NOP");} /* ADC Conversion Complete */
ISR( EE_READY_vect ) {while(1) asm("NOP");} /* EEPROM Ready */
ISR( ANALOG_COMP_vect ) {while(1) asm("NOP");} /* Analog Comparator */
ISR( TWI_vect ) {while(1) asm("NOP");} /* Two-wire Serial Interface */
ISR( SPM_READY_vect ) {while(1) asm("NOP");} /* Store Program Memory Read */
#endif
Виснет на этих прерываниях
Код: Выделить всё
ISR( INT1_vect ) {while(1) asm("NOP");} /* External Interrupt Request 1 */
ISR( TIMER1_COMPB_vect ) {while(1) asm("NOP");} /* Timer/Counter1 Compare Match B */
Разбираться почему так, не могу, нет времени. Возможно это глюк протеуса, возможно особенности 168р, надо изучать даташит.
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 18:37:16
radteh
Какой протеус ты используешь? У меня восьмой и в нём всё работает. Ты точно мою прошивку тестировал?
Прерывание используется int0, а не int1. Для поддержки mega168p я добавил предделитель на 256, указал время 1мс OCR1A=4000. Без этого было мерцание в местах где работала индикация.
Поменял ISR(SIG_INTERRUPT0) на ISR(INT0_vect), после чего заработала индикация в главном экране. Тактирование должно стоять на внутреннее 8МГц
Re: Регулятор для паяльника
Добавлено: Вс янв 13, 2019 20:19:28
DimAlt
Использовал WinAVR-20100110 PROTEUS 7.7 sp2. Прошивку не использовал, компилил свои. Не работает только при указании в mfile цели atmega168р.
Re: Регулятор для паяльника
Добавлено: Пн янв 14, 2019 01:33:43
radteh
У меня раньше собирался проект при указании любого контроллера, но не было индикации при нормальном режиме работы, при отсутсттвии синхронизации индикация появлялась, сейчас я сделал поправку и собирётся только при указании ATmega8\48\168p
Заметил ещё один глюк у WinAVR. Есди просто дать команду Make All, то проект сделает вид что собирётся, но ничего не произойдёт, а вот если сначала Make Clean, то соберётся нормально.
Кстати, код можно подправить так что выбор индикатора ОК или ОА можно было задать перемычкой на плате. Подтяжкой какого либо порта на землю или плюс.
Re: Регулятор для паяльника
Добавлено: Пн янв 14, 2019 06:45:52
DimAlt
Проверил в avr-gcc (AVR_8_bit_GNU_Toolchain_3.5.1_1671) 4.9.2, собирается нормально для atmega168р.
------------------
Вот сделал avr8-gnu-toolchain, что бы пользоваться, распаковать в C:\ запустить 2016_avr8-gnu-toolchain.bat - Ярлык.lnk или в папке portable-pn2342350 непосредственно запустить 2016_avr8-gnu-toolchain.bat.
https://yadi.sk/d/UCnGvdSW-x0XLQ
Re: Регулятор для паяльника
Добавлено: Вт фев 12, 2019 17:47:29
RX24
Пока идут детали к паяльной станции,Возник вопрос, можно ли пока тупо использовать данный регулятор с феном, выставлять температуру подключая выводы термопары фена к тестеру измеряющему температуру, ну и турбинку питать регулируемым источником питания?Будет ли такое работать? или же нагревателю фена нужна строгая термостабилизация?
Re: Регулятор для паяльника
Добавлено: Ср фев 13, 2019 08:56:45
radteh
У меня китайский фен с отображением температуры, но без термостабилизации, просто две крутилки: поток воздуха и температура. Так что работать твоя задумка будет, главное что-бы фен был рассчитан на сетевое напряжение.
Re: Регулятор для паяльника
Добавлено: Ср фев 13, 2019 10:04:22
RX24
radteh Ясно, спасибо

Re: Регулятор для паяльника
Добавлено: Пн апр 29, 2019 12:50:43
webtime
Понравилось сразу, на стадии чтения темы. Собрал с удовольствием. Очень полезное устройство, используется практически ежедневно. Регулирует от утюга до паяльника и настольной лампы, ну, и все, что еще нашлось в хозяйстве

. За что уважаемым господам разработчикам большой респект и уважение.
Но, как обычно, совершенству нет предела. Чего не хватает?[uquote="radteh",url="/forum/viewtopic.php?p=3416915#p3416915"]отображать мощность[/uquote]в адекватном виде.
В частности, учитывая, что при одном и том же установленном числовом значении потребляемая мощность для 60W лампочки будет одна, а для киловаттного утюга - совсем другая, очень востребованно иметь функцию отображения текущей потребляемой мощности именно в адекватном понятном виде - в ваттах.
Если для этого нужно ставить в схему токовый датчик, в моем понимании, мощный резистор номинала 0,1-0,05R, добавить такое в схему не сложно.
Другое дело - прошивка.
Добавить в программу отображение в ваттах сложно/проблематично/трудоемко?
Только отображение.
Настройка остается, как есть.
При настройке уровень мощности
задавать в процентном соотношении или числовым значении.
А после настройки
отображать не процент или числовое значение, а фактическую мощность в ваттах.
Сделайте такое, пожалуйста

.
Также уважаемый
radteh имел намерение сделать озвучивание кнопок. Очень полезная вещь, потому что, по-моему, это не озвучивание нажатия кнопок, а подтверждение выполнения определенного действия, заложенного в программе. И к тому, что у кого там громкие кнопки, это не имеет никакого отношения.
Добавьте, пожалуйста, озвучивание кнопок.
Для Atmega8.
Спасибо.
Re: Регулятор для паяльника
Добавлено: Пн апр 29, 2019 17:14:04
radteh
Одним резистором для отображения мощности не обойдёшься, нужно ставить ещё и усилитель. Но есть такое маленькое но: стоит только пустить ток по резистору, как сразу пропадёт гальваническая развязка. В данном случае больше подойдёт ACS712, ACS758 или токовый трансформатор. У меня в ближайших магазинах таких датчиков нет, как в прочем и нужды их покупать. Если у тебя есть подобные датчики, то могу помочь с разработкой.
Re: Регулятор для паяльника
Добавлено: Пн апр 29, 2019 21:23:11
webtime
Нашлись трансформатор тока
DLXQ20-1000 50А 50мА и датчик тока
ACS712ELC 30А.
На чем проще реализация/доработка рабочей платы - трансформатор, датчик, резистор?
Немного почитал, пишут, что датчики боятся магнитного поля, и у трансформатора тока как бы меньше обвеса можно сделать навесным монтажом, наверное, иак проще подцепить к рабочей плате.

Относительно резистора вопрос, наверное, больше из интереса, гальваническая развязка как бы важно в таком устройстве.
Гальваническая развязка - оптопара?
Спасибо, что откликнулись.
Re: Регулятор для паяльника
Добавлено: Вт апр 30, 2019 04:06:09
radteh
Смотри сам на чём тебе проще, потому что на уровне контроллера это один вход АЦП. У трансформатора тока не меньше обвеса, нужно так-же как и у резистора усиливать сигнал например при помощи LM324.
Гальваническая развязка это и оптопара и трансфрматор. На низкоомном резисторе малое падение напряжение, его явно не хватит для нормальной работы оптопары. Значит нужно будет усилить сигнал и подать его на оптопару, следовательно ещё один источник питания.
Re: Регулятор для паяльника
Добавлено: Вт апр 30, 2019 05:05:29
webtime
Тогда, наверное, оптимальный выбор это датчик тока. Есть два варианта.
1. В виде модуля. Если весь обвес датчика, как на картинке, наверное, можно подцепить к плате на трех проводках вместо тех штырьков.
2. Также есть в виде голой микросхемы, дешевле.
Но буду делать так, как скажете. Сам больше склоняюсь к готовому модулю, если посчитать разъем/штырьки/прочую мелочь и необходимость травить платку, то не такая уж получается и разница, ну и мелочь пузатую паять, одев две пары очков, не надо ) .
