В период с 15.09.2014 по 17.09.2014г. группа радиолюбителей Приморского края, будет работать с территории национального парка "Зов Тигра" RFF - 158 своими позывными, R0LEM и UD0LAV, частоты: 7.100 - 7.120, с 21:00 - по 23:00; 14.150 - 14.200, с 7:00 - по 9:00, местного времени.
Всем привет! Решил вот сделать ребенку мигающие светодиоды на велосипед (а заодно наконец покодить под микроконтроллеры). Сам я по професии электрик (не радиотехника), но было это давно. Сечас программист на Java. Си тоже учил, но опять же давно. Купил я ATMega8A, программатор TL866A и несколько светодиодов. Позапускал пару простых примеров, посмотрел/почитал мануалы и решил приступить к самому главному. Мигать светодиодами надо программно и чтоб была возможность мигать одновременно с разной частотой. В связи с этим решил не использовать delay, а сделать правильно, через таймеры. В общем написал код для таймера, для мигания, отладил в Atmel Studio 6 (AVR Studio) и попытался проэмулировать это дело в протеусе. Вот тут началось неладное. Светодиоды мигали на глаз со случайной частотой. В отладчике студии время между вызовами таймера примерно совпадает с ожидаемым (+- пару миллисекунд). Упростил немного код, пробовал менять частоту мигания таймера, ничего не помогает. Я подумал что в протеусе что-то со временем во время эмуляции, и решил проверить на реальной МК. Но когда залил код в МК, оказалось что на нем светодиод вообще не мигает а просто светит. Думал дело в частоте МК, посмотрел фьюзы, вроде частота такая же как в отладке студии. Вот код: #include <avr/interrupt.h> // Установить бит в 1 #define SB(reg, bit) reg |= (1<<bit) // Установить бит в 0 #define CB(reg, bit) reg &= ~(1<<bit) // Проверить установлен ли бит #define VB(reg, bit) reg & (1<<bit) // Инвертировать бит #define TB(reg, bit) reg ^= (1<<bit) // 0b00000001 #define T100MS 0 // 0b00000010 #define T500MS 1 // 0b00000100 #define T1000MS 2 // 0b00001000 #define T2000MS 3 // 0b00010000 #define T5000MS 4 uint8_t timer500ms = 0; uint8_t timer1000ms = 0; uint8_t timer2000ms = 0; uint8_t timer5000ms = 0; uint8_t dataTimer = 0b00000000; // Прерывание каждые 100 миллисекунд // Устанавливает флаг в соответствии с прошедшим временем ISR(TIMER2_COMP_vect) { SB(dataTimer, T100MS); if ((++timer500ms) == 5) { timer500ms = 0; SB(dataTimer, T500MS); } if ((++timer1000ms) == 10) { timer1000ms = 0; SB(dataTimer, T1000MS); } if ((++timer2000ms) == 20) { timer2000ms = 0; SB(dataTimer, T2000MS); } if ((++timer5000ms) == 50) { timer5000ms = 0; TB(PORTC, 2); TB(PORTC, 3); TB(PORTC, 4); TB(PORTC, 5); SB(dataTimer, T5000MS); } } int main(void) { DDRB |= 0b00000000; DDRC |= 0b00111111; DDRD |= 0b00001111; // Пределитель 1:1 SB(TCCR2, CS20); // Режим сброс при совпадении CB(TCCR2, WGM20); SB(TCCR2, WGM21); // Прерывание при совпадении CB(TIMSK, TOIE2); SB(TIMSK, OCIE2); // Количество тактов перед прерыванием OCR2 = 100; // 1мгц // Разрешить глобальные прерывания asm("sei"); while(1) { if (VB(dataTimer, T5000MS)) { // TB(PORTC, 2); // TB(PORTC, 3); // TB(PORTC, 4); // TB(PORTC, 5); // Сброс времени CB(dataTimer, T5000MS); } } }
Думал что что-то с МК, добавил в основной цикл мигание с delay, примерно такое: TB(PORTC, 5); _delay_ms(1000); TB(PORTC, 5); _delay_ms(1000);
При этом в реальном МК светодиод мигал, но не через 1 секунду, а реже. К стати в это время другие светодиоды (оставшиеся на таймере) тоже мигали, но так же с неправильной частотой (вроде гораздо чаще чем должны). Прикрепляю схему подключения МК. но при тесте я подключал только один слабенький светодиод с резистором. Всего остального небыло. Очень прошу вашей помощи в решении этой проблемы. Раздел: Песочница (Q&A)
Дозиметр полевой ДП-5А. В комплекте чехол, сам блок, зонд. Отсутствуют наушники, элемент питания. 1500 руб. Раздел: Продам-Отдам, Услуги
Стационарный телефон VEF&Co TA-204p.
Было полное короткое. Обнаружил пробитый транзистор
A92(э-к). После замены транзистора,"коротыш" пропал, но
телефон пока не работает.:нет ответа станции,
на вых.диодного моста 6-10V, на транзисторах
А92 Э(5,23) Б(4,47) К(0)V
А42 Э(0) Б(0.5) К(4.07)V
Прошу помощи. Раздел: Песочница (Q&A)
Уважаемые форумчане! Проблемы следующие Gembird 600w(?) TB-2.6b AT2005B.Не запускается. стали проявляться тихие щелчки и импульсы в 12 вольтовой сети, Раздел: ATX и UPS
Радиостанция Р-855 УМ, предназначена для связи экипажа воздушного судна, потерпевшего аварию или совершившего вынужденную посадку. Герметичная, в комплекте одна радейка. Рабочая частота 121.5 Мгц, фиксированная. 700 руб. Раздел: Продам-Отдам, Услуги
Сейчас здесь увидел похожую тему про светодиоды, но не стал писать туда, потому что вопрос совсем другой и чтобы не было путаницы создал отдельную тему.
Вопрос заключается в том, какую мощность паяльника нужно выбрать для пайки светодиодов ?
Дело в том, что имеются две планки для подсветки на каждой около 100 светодиодов, давно работают и на каждой планке половина светодиодов перегорела. Перепаял с одной планки на другую рабочие светодиоды, нормально засветилась одна планка, вторая чисто на запчасти пошла.
При пайке светодиодов со старой планки на новую, некоторые из них при включении начинали как бы моргать, спустя время как бы и светиться нормально. Но те которые заморгали сразу, убирал и ставил другие. Но спустя несколько дней начали подмаргивать и другие перепаянные светодиоды. Вопрос в том, не мог ли они испортится при отпайке со старой платы и припайке на новую плату, ну как бы перегреться от паяльтника ? Паял советским 60вт паяльником, так как планки в лаке и отпаять было трудно меньшей мощностью паяльника. Светодиоды импортные, прозрачные но светят красным светом, визуальные размеры как у ал307, включены они по два светодиода последовательно и общий резистор на каждую пару.
В чем причина моргания и погасания перепаянных светодиодов, в перегреве или в старости их, сможет чисто случайно совпало ? Как и чем их лучше перепаявать или только новые ставят светодиоды а перепайки они не выдерживают ? Прошу ваших практических советов. Раздел: Песочница (Q&A)
ЭталонЦитата Бонус. Цель не стоит найти только один ответ, вполне возможно что отличить на слук FLAC и Vorbis не возможно. Для изготовление использовались кроме, MP3 WMA-WMA (Microsoft), M4A-ALAC(Appel), OGG-Vorbis (свободный, сообщество Linux) (контенер-формат сжатия). P.S А если будет мало участников то я же предупреждал, что после первого теста многие разачеровались и не будут участвовать. Раздел: Прочее
Тренируюсь в простейших расчетах, хочу проверить верно ли я усвоил?
Дано:
Батарея крона 9v с внутренним сопротивлением 34 Ом.
Задача подобрать лампочку и включить в цепь сопротивление, для нормальной работы лампочки.
Не буду писать расчеты, напишу что получилось - лампа 6v 30w и сопротивление в 11 ом, верны ли расчеты?
При расчете силы тока необходимого для лампы получается 6/15=0,4 А, не многовато ли для карманного фонаря? или так и есть? Раздел: Песочница (Q&A)
Достался с времён СССР порошок применялся в литейке, на вид имеет блеск напальцах при ростирании сильно скользит. Раздел: Продам-Отдам, Услуги
[next-page][/next-page]
|