Чтобы "noise canceling"lerik писал(а): sleep // Зачем спим ?
Цифровая паяльная станция своими руками.(V 2.0)
- Реклама
- Pavel V.
- Мявтор!
- Сообщения: 384
- Зарегистрирован: Ср май 17, 2006 18:39:01
- Откуда: Москва
- Контактная информация:
Potashov, zalvis, спасибо за комментарии! Я обязательно обдумаю ваши предложения и постараюсь что-нибудь реализовать. Но в данный момент просто физически не хватает сил. У меня получился чумовой конец года - свадьба, переезд, сессия, работа. Времени хватает только на то, чтобы здесь иногда что-то написать.
wwwalera
По внешнему термометру точность стабилизации у меня получилась в районе 2-3 градусов, что я считаю вполне приемлемым.
lerik
Спасибо! Все так и есть для пика при выходе на режим. А вот кусочек кода Вы выбрали самый интересный
По правде сказать, я сам не знаю что там написано - его сгенерировал CodeVision. Но смысл его, как абсолютно правильно заметил Жека, - уменьшить шум АЦП.
wwwalera
По внешнему термометру точность стабилизации у меня получилась в районе 2-3 градусов, что я считаю вполне приемлемым.
lerik
Спасибо! Все так и есть для пика при выходе на режим. А вот кусочек кода Вы выбрали самый интересный
-
Гость
я дико извиняюсь ошибся маленько, на до так :wwwalera писал(а):lerik
Спасибо, а сигнал с какой ноги снимать и на какой источник?
объявляем глобальную переменную
unsigned int Beep_Green = 0;
а дальше вот так
if ((T > (ee_tmprSet - 10)) && (T < (ee_tmprSet + 10))) // Если попали в +/- 10 градусов
{
green(); // Вкл. зеленый светодиод
if (Beep_Green == 0)
my_beep(); // Пикнуть
}
else
{
red(); // Вкл. красный светодиод
Beep_Green =1;
}
И компилим.
Но попробовал вчера.... и все стер
По поводу ног нииичего не понял, в железе никаких изменений делать не надо. Этот кусочек кода просто пищит
-
Гость
Ладно попробуем по другому и разберемся вместе ..... Рассмотрим функцию:Pavel V. писал(а): lerik
Спасибо! Все так и есть для пика при выходе на режим. А вот кусочек кода Вы выбрали самый интересныйПо правде сказать, я сам не знаю что там написано - его сгенерировал CodeVision. Но смысл его, как абсолютно правильно заметил Жека, - уменьшить шум АЦП.
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
#asm
in r30,MCUCR
cbr r30,__sm_mask
sbr r30,__se_bit | __sm_adc_noise_red
out MCUCR,r30
sleep
cbr r30,__se_bit
out MCUCR,r30
#endasm
return adc_data;
}
Эта функция вызывается так :
adc_data=read_adc(0);
в результате выполнения имеем adc_data= adc_data
потому, что return adc_data; а сама переменная adc_data в процессе выполнения функции не меняется !!!!
Идем дальше ....там происходят кроме всего прочего другие действия
ADMUX=adc_input|ADC_VREF_TYPE;
здесь ВСЕГДА мы выполняем ИЛИ 2х переменных adc_input (которая всегда равна "0") и ADC_VREF_TYPE (которая всегда равна 0xC0) в результате ADMUX всегда равен 0х0С поэтому логичнее строчку заменить на ADMUX = 0х0С. Остальное оставляем без изменений
функцию описываем как процедуру :
void init_adc(void) // Инициализация АЦП
{ ADMUX= 0xC0;
#asm
in r30,MCUCR
cbr r30,__sm_mask
sbr r30,__se_bit | __sm_adc_noise_red
out MCUCR,r30
sleep
cbr r30,__se_bit
out MCUCR,r30
#endasm
}
И вызываем ее как init_adc();
Процедура упростилась и стала более понятна для понимания.
Как Вы считаете стоит это сделать?
Возможно ее еще можно упростить, но я к сожалению не могу найти приличного описания регистров MCUCR и ADMUX. Если у кого есть, сообщите плиз, буду премного благодарен.
По поводу уменьшения шума АЦП, если у нас используется 8ми битное преобразование и точность +\- 10 градусов, то это возможно излишне...
Уважаемый гость, когда тексты программ выкладываете, пользуйтсь тэгами "CODE", будет красиво.
- Реклама
- lerik
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Вт ноя 14, 2006 16:44:28
- Откуда: Белгород
Написана и оттестирована прошивка на основе стандартного железа и оригинальной прошивки Павла.
Отличия:
1. Применен индикатор МТ10Т7
2. Всего 4 кнопки (+ / - , Setup и температура по кругу)
4. Теперь для пиканья можно применять обычный звукоизлучающий элемент, хоть громкоговоритель
. У меня применена пищалка от китайского будильника.
5. Оптимизирован код, программа с подробнейшими комментариями
.
Два дня полет нормальный, если кому интересно пишите выложу.
Отличия:
1. Применен индикатор МТ10Т7
2. Всего 4 кнопки (+ / - , Setup и температура по кругу)
4. Теперь для пиканья можно применять обычный звукоизлучающий элемент, хоть громкоговоритель
5. Оптимизирован код, программа с подробнейшими комментариями
Два дня полет нормальный, если кому интересно пишите выложу.
-
Potashov
- Открыл глаза
- Сообщения: 66
- Зарегистрирован: Пн ноя 06, 2006 15:52:24
- Откуда: Москва
- Контактная информация:
Конечно выкладывай, мы тут все приветствуем оптимизацию проекта под различные условия и тд (я имею ввиду необходимость различных версий и на различной элементной базе, не у всех же есть возможность достать деталюшки и тд.)lerik писал(а):Написана и оттестирована прошивка на основе стандартного железа и оригинальной прошивки Павла.
Отличия:
1. Применен индикатор МТ10Т7
2. Всего 4 кнопки (+ / - , Setup и температура по кругу)
4. Теперь для пиканья можно применять обычный звукоизлучающий элемент, хоть громкоговоритель. У меня применена пищалка от китайского будильника.
5. Оптимизирован код, программа с подробнейшими комментариями.
Два дня полет нормальный, если кому интересно пишите выложу.
Кстати дядьки на выходных выложу платку под SMD, как и обещал.
И вот еще что, вчера в своем хламе обнаружил корпус от усопшего CD-rom и поместил в него на вскидку 2 шт ТОШИБРЫ ((( КЛЕВА СТОЯТ))) решено корпус будет от CDrom. Прикинте его же можно в системник вставить.
Как вам?
С уважением Роман.
- lerik
- Первый раз сказал Мяу!
- Сообщения: 30
- Зарегистрирован: Вт ноя 14, 2006 16:44:28
- Откуда: Белгород
Прошивка на основе стандартного железа и оригинальной прошивки Павла. Огромное тебе спасибо Павел за разработку данного девайса.Potashov писал(а): Конечно выкладывай......
Отличия:
1. Применен индикатор МТ10Т7
2. Всего 4 кнопки (+ 10/ - 10, Setup и температура по кругу)
4. Теперь для пиканья можно применять обычный звукоизлучающий элемент, хоть громкоговоритель . У меня применена пищалка от китайского будильника.
5. Оптимизирован код, программа с подробнейшими комментариями .
6. Освобождены ножки для программирования, теперь не надо при этом отключать клавиатуру
- Вложения
-
- Моя прошивка.rar
- (7.68 КБ) 1267 скачиваний
Последний раз редактировалось lerik Пт дек 22, 2006 08:17:08, всего редактировалось 1 раз.
-
Potashov
- Открыл глаза
- Сообщения: 66
- Зарегистрирован: Пн ноя 06, 2006 15:52:24
- Откуда: Москва
- Контактная информация:
Отлично дядька, вечерком попробую в протеусе прогнать.lerik писал(а):Прошивка на основе стандартного железа и оригинальной прошивки Павла. Огромное тебе спасибо Павел за разработку данного девайса.Potashov писал(а): Конечно выкладывай......
Отличия:
1. Применен индикатор МТ10Т7
2. Всего 4 кнопки (+ 10/ - 10, Setup и температура по кругу)
4. Теперь для пиканья можно применять обычный звукоизлучающий элемент, хоть громкоговоритель . У меня применена пищалка от китайского будильника.
5. Оптимизирован код, программа с подробнейшими комментариями .
Проектик однако эволюционирует. В скором времени я думаю появиться варриант на 4-х сегментах и упроститься прога до 3-х кнопок +/- и меню, чего вполне достаточно.
Получается такая картина бюджетного варрианта:
ATmega8-16AU, TQFP32, PbFree, -------54р
LM358D (SMD) SO8------------------------6.70р
MT-10T7-3T-----------------------------------93р
SL-I,паяльн.для станций SL-10,20,30----210р
RLU024N, Nкан 55В 17А logic ТO251---22р
И все остальное в районе 50р
Итог около 450р
влепить 2 тошибры по 75р =150.
И готовая паяльная цифровая станция за 600р!!!! Супер!!!!
Аналогичные стоят не менее 200$
lerik спасибо дялька!


