реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите пожалуйчта в разработке устройства, Вкратце: хочу собрать LED DIMMER
Still
сообщение Aug 7 2008, 12:50
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 15-10-07
Пользователь №: 31 381



друзья помогите разработать устройство.
вкратце объясню задачу.
необходимо реализовать схему управления яркостью светодиода. На эту схему подаем внешний синхроимпульс, от внешнего источника тактовых импульсов (с переменной частотой, в звуковом диапазоне). От этого синхроимпульса разрабатываемая схема должна обеспечить ОДНОКРАТНОЕ ПЛАВНОЕ (в течение 0,5...2 секунд) ЗАГОРАНИЕ/УГАСАНИЕ светодиода.
В качестве внешнего источника синхроимпульсов будет использована схема выделения сигнала ритма из аудиосигнала.
Т.е. логика очень простая: один синхроимпульс => одно плавное зажигание/угасание светодиода.
Как я понял яркостью свечения светодиода эффективнее всего управлять с помощью ШИМ.
Исходя из вышесказанного, то, что получит светодиод, представляю примерно так:

все это конечно хорошо в теории, но как это реализовать на практике???
нашел вот эту схемку

собрал, в принципе все работает, плавно разгорается и плавно гаснет, частота регулируется переменником.
НО! мне то нужно управлять свечением от ВНЕШНЕГО источника синхроимпульсов. а здесь как я понял самостоятельный мультивибратор, и как эту схему засинхронизировать извне - ума не приложу.
есть еще схемка управления свечением светодиода на таймере 555:

возможно у умных людей появятся мысли, возможно получится для моих целей использовать и ее?
ЗЫ. в электронике немного понимаю, но в данном случае моих скромных навыков и знаний не хватает. Поэтому буду бесконечно признателен всем откликнувшимся smile.gif
ЗЫЗЫ. Очень очень нужно!
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 7 2008, 15:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Still @ Aug 7 2008, 15:50) *
друзья помогите разработать устройство.

Для меня проще всего было бы на микроконтроллере...
Но если вы этим не занимались, то сложно будет.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Still
сообщение Aug 7 2008, 15:37
Сообщение #3





Группа: Новичок
Сообщений: 11
Регистрация: 15-10-07
Пользователь №: 31 381



Цитата(Dog Pawlowa @ Aug 7 2008, 19:16) *
Для меня проще всего было бы на микроконтроллере...
Но если вы этим не занимались, то сложно будет.

нет, МК не занимался 05.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 7 2008, 17:27
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



В принципе, последняя схемка подойдёт. Но понадобятся, как минимум, три таймера (а лучше четыре или два сдвоенных). Первый должен работать в режиме одновибратора (ждущего мультивибратора), второй - в автоколебательном режиме (мультивибратор) и третий - в режиме ШИМ (или просто: компаратор). Итак, одновибратор по Вашему синхроимпульсу вырабатывает импульс длительностью половинной от требуемого периода горения светодиода (примерно). Выходным сигналом нужно взять не прямоугольный импульс с 3 ноги, а пилообразный с времязадающей ёмкости. Для снижения влияния последующего каскада желательно "пропустить" его через эмиттерный повторитель. Такое же пилобразное напряжение берём с выводов 2,6 другого таймера, работающего автогенератором (с частотой несущей ШИМ (сотни герц) и максимальным заполнением) и подаём на выводы 2,6 третьего таймера. На вывод 5 последнего подаём пилу с первого - она будет управлять выходной скважностью. Если идея ещё не понятна - рассмотрим подробнее. А пока для ознакомления...
Go to the top of the page
 
+Quote Post
Still
сообщение Aug 8 2008, 09:36
Сообщение #5





Группа: Новичок
Сообщений: 11
Регистрация: 15-10-07
Пользователь №: 31 381



спасибо что откликнулись smile.gif
итак, вот накидал схемку по Вашим рекомендациям. Сразу не пинайте. это пока набросок, надеюсь с Вашей помощью довести до ума smile.gif На иноминалы пока не смотрим, пока смотрим на схемотехнику
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 8 2008, 12:44
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Похоже. Кое-что придётся поправить по ходу. Рекомендую и Вам освоить симулятор (микрокап или мультисим), дело пойдёт быстрее.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Aug 8 2008, 13:47
Сообщение #7


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Уважаемый Still, посчитайте количество паек, количество внешних компонентов и стоимость всего изделия. затем пересчитайте вариант исполнения на МК, например, AT89C1051 с парой-тройкой навесных компонентов. Даже если дело не в стоимости компонентов, в любом случае, от реализации на МК Вы получите больше удовольствия ... и пользы на будущее.


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 8 2008, 14:08
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(one_man_show @ Aug 8 2008, 15:47) *
Уважаемый Still, посчитайте количество паек, количество внешних компонентов и стоимость всего изделия. затем пересчитайте вариант исполнения на МК, например, AT89C1051 с парой-тройкой навесных компонентов. Даже если дело не в стоимости компонентов, в любом случае, от реализации на МК Вы получите больше удовольствия ... и пользы на будущее.

Сложно сказать, от чего можно получить больше удовольствия. Аналоговая техника - отдельная область, которую кто-то же должен продолжать знать. smile.gif А на контроллеры успеет перейти, пусть это будет следующим этапом. И в процессе познания количество паек только добавит опыта. Думается, сейчас не об экономической выгоде речь.
Go to the top of the page
 
+Quote Post
Still
сообщение Aug 8 2008, 19:06
Сообщение #9





Группа: Новичок
Сообщений: 11
Регистрация: 15-10-07
Пользователь №: 31 381



все вы правы конечно, да я и сам знаю что давно пора переходить на МК-ры. Как обычно нехватка времени wacko.gif моя работа связана с автомобильным аудио/видео и тд, поэтому и электроникой приходится заниматься, благо есть не самое богатое но все же "электронное" прошлое. Т.е. разработка электронных устройств - не моя основная деятельность. Я уже и книжки купил по МК-рам smile.gif Но все никак не могу собраться с духом и сесть за изучение. Ну думаю этот момент не за горами.
2 Herz: а можно поподробнее про симуляторы? Если не затруднит. Можно в личку wink.gif
И собственно по сабжу: седня было 10 минут свободного времени, немного поэкспериментировал со схемой на LM324 (см. 1 пост). Похоже нашел потрясающее по тупизне и по эффективности решение, подавая вручную синхроимпульсы (прямо проводком). На столе удалось получить практически идеальный эффект пульсации в такт музыке, который и хотел получить: в статичном режиме светодиод немного подсвечивается (процентов 25 от номинального свечения), при подаче синхроимпульса плавно разгорается и плавно гаснет wink.gif
Осталось попробовать этот эффект от моей схемки выделения ритма, которая еще не собрана. Завтра думаю это собрать. Просто я боюсь на отладку схемы на 555таймерах банально не хватит времени...о результатах обязательно отпишусь 1111493779.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 8 2008, 21:06
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(Still @ Aug 8 2008, 21:06) *
Но все никак не могу собраться с духом и сесть за изучение. Ну думаю этот момент не за горами.
2 Herz: а можно поподробнее про симуляторы? Если не затруднит. Можно в личку wink.gif
Завтра думаю это собрать. Просто я боюсь на отладку схемы на 555таймерах банально не хватит времени...о результатах обязательно отпишусь 1111493779.gif

Ну, со временем ничем не помогу. Если есть желание продвинуться, придётся жертвовать. А если есть вопросы по существу - задавайте. Можно в личку. Про симуляторы почитайте соответствующий раздел форума, почерпнёте много полезного. А освоите один из симуляторов - обязательно пригодится.
Go to the top of the page
 
+Quote Post
drovik
сообщение Aug 9 2008, 10:29
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 7-05-07
Пользователь №: 27 573



Книжки покупать это конечно хорошо, но не всегда необходимо. К тому-же в бОльшей части литературы по МК на русском языке встречаются опечатки (и ладно бы орфографические). Например недавно (не помню в какой книге) видел совет устанавливать (именно устанавливать, а не детектировать) бит с помощью команды and. И таких примеров много. IMHO лучше сначала ознакомиться с электронной версией книги, а потом уже покупать, если сильно понравится. Ну и стОит подумать о приобретении отладочной платы для выбранного типа МК.
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 9 2008, 10:48
Сообщение #12


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(drovik @ Aug 9 2008, 12:29) *
Книжки покупать это конечно хорошо, но не всегда необходимо.
biggrin.gif И действительно, чего там читать? Там одни опечатки...
Цитата
К тому-же в бОльшей части литературы по МК на русском языке встречаются опечатки (и ладно бы орфографические). Например недавно (не помню в какой книге) видел совет устанавливать (именно устанавливать, а не детектировать) бит с помощью команды and. И таких примеров много.
Что Вы говорите? Ужас, какое надругательство над МК! Надо было запомнить сию крамольную книгу! А вот в составе компилятора HT-PICC есть даже примеры, содержащие аналогичные вопиющие безобразия:
Цитата
void
lcd_write(unsigned char c)
{
DelayUs(40);
LCD_DATA = ( ( c >> 4 ) & 0x0F );
LCD_STROBE();
LCD_DATA = ( c & 0x0F );
LCD_STROBE();
}
Как им только в голову пришло? А наши переводчики тупо повторяют такие вредные советы...

Цитата
IMHO лучше сначала ознакомиться с электронной версией книги, а потом уже покупать, если сильно понравится. Ну и стОит подумать о приобретении отладочной платы для выбранного типа МК.
Согласен. Только если сильно понравится, стоит покупать. А лучше сразу с отладочной платы начинать.
Go to the top of the page
 
+Quote Post
drovik
сообщение Aug 9 2008, 17:45
Сообщение #13


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 7-05-07
Пользователь №: 27 573



Цитата(Herz @ Aug 9 2008, 14:48) *
Что Вы говорите? Ужас, какое надругательство над МК! Надо было запомнить сию крамольную книгу! А вот в составе компилятора HT-PICC есть даже примеры, содержащие аналогичные вопиющие безобразия:
Как им только в голову пришло? А наши переводчики тупо повторяют такие вредные советы...


Что-то я тут не заметил установки битов... Обычная работа с полубайтами. Вы меня прям засмущали... Я себя к профессионалам не отношу в области программирования МК, но хотя-бы уровню любителя надеюсь соответствовать smile.gif А в той книге советовали устанавливать бит с помощью операции "и" между регистром и числом 0х80 smile.gif Подобный совет я видел в переводе книги Тревора Мартина по LPC2000, но в последнем случае речь шла об установке флага, хотя мне как-то привычнее считать установкой флага перевод соответствующего бита в 1.
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 9 2008, 20:29
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(drovik @ Aug 9 2008, 19:45) *
Что-то я тут не заметил установки битов... Обычная работа с полубайтами. Вы меня прям засмущали... Я себя к профессионалам не отношу в области программирования МК, но хотя-бы уровню любителя надеюсь соответствовать smile.gif А в той книге советовали устанавливать бит с помощью операции "и" между регистром и числом 0х80 smile.gif Подобный совет я видел в переводе книги Тревора Мартина по LPC2000, но в последнем случае речь шла об установке флага, хотя мне как-то привычнее считать установкой флага перевод соответствующего бита в 1.

Что же Вас смутило? Чем работа с полубайтами отличается от работы с битами? Операция "И" между регистром и числом 0х80 установит седьмой бит (счтая от нуля) в регистре, как и требуется. Ведь шестнадцатиричное число 80 в двоичном коде выглядит так: 10000000. Двоичную арифметику и любителю следует понимать. А флаг - это и есть бит, как правило.
P.S. Я, кажется, понял, что Вас смутило. Остальные биты в регистре будут, конечно, сброшены. Но часто именно это и есть то, что нужно. Если же требуется сохранить контекст, пользуются операцией "ИЛИ".

Сообщение отредактировал Herz - Aug 9 2008, 20:42
Go to the top of the page
 
+Quote Post
Still
сообщение Aug 9 2008, 20:39
Сообщение #15





Группа: Новичок
Сообщений: 11
Регистрация: 15-10-07
Пользователь №: 31 381



2 Herz&drovik
как в анекдоте: папа а ты с кем сейчас разговаривал? lol.gif
Go to the top of the page
 
+Quote Post
domowoj
сообщение Aug 10 2008, 01:57
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Конечно.
Если познал МК появляется стереотип мышления - любая схемулька - на МК ее !!!

Вот поищи в инете, книжка для первого класса
Трейстер Р. Радиолюбительские схемы на ИС типа 555
но познавательно.


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
drovik
сообщение Aug 10 2008, 06:29
Сообщение #17


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 7-05-07
Пользователь №: 27 573



Цитата(Herz @ Aug 10 2008, 00:29) *
Что же Вас смутило? Чем работа с полубайтами отличается от работы с битами? Операция "И" между регистром и числом 0х80 установит седьмой бит (счтая от нуля) в регистре, как и требуется. Ведь шестнадцатиричное число 80 в двоичном коде выглядит так: 10000000. Двоичную арифметику и любителю следует понимать. А флаг - это и есть бит, как правило.
P.S. Я, кажется, понял, что Вас смутило. Остальные биты в регистре будут, конечно, сброшены. Но часто именно это и есть то, что нужно. Если же требуется сохранить контекст, пользуются операцией "ИЛИ".


Операция "и" не может установить бит, если под установкой подразумевать перевод бита из "0" в "1". Если до "и" это бит был "0" он так им и останется. А вот с флагом отдельный разговор. Четкого определения мне не попадалось (наверное потому, что не искал), но в регистре CPSR ядра ARM7 для разрешения прерываний соответствующий бит нужно перевести в "0", что и называется в книге Тревора установкой флага.
А с двоичной арифметикой уже вроде более 10 лет знаком. Может у нас с Вами разные представления о термине "установка бита" ?

Цитата(Still @ Aug 10 2008, 00:39) *
2 Herz&drovik
как в анекдоте: папа а ты с кем сейчас разговаривал? lol.gif


А что делать, если автор темы редко бывает smile.gif

Сообщение отредактировал drovik - Aug 10 2008, 06:30
Go to the top of the page
 
+Quote Post
Herz
сообщение Aug 10 2008, 07:21
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(drovik @ Aug 10 2008, 08:29) *
Операция "и" не может установить бит, если под установкой подразумевать перевод бита из "0" в "1". Если до "и" это бит был "0" он так им и останется. А вот с флагом отдельный разговор. Четкого определения мне не попадалось (наверное потому, что не искал), но в регистре CPSR ядра ARM7 для разрешения прерываний соответствующий бит нужно перевести в "0", что и называется в книге Тревора установкой флага.
А с двоичной арифметикой уже вроде более 10 лет знаком. Может у нас с Вами разные представления о термине "установка бита" ?

Ну что ж, Вы правы, конечно. Это я поторопился с сарказмом. Однако для отрицательной логики (как в приведенном примере) установка флага (перевод в "0") именно операцией "И" и достигается.
Go to the top of the page
 
+Quote Post
sKWO
сообщение Aug 10 2008, 07:51
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(Herz @ Aug 10 2008, 10:21) *
Ну что ж, Вы правы, конечно. Это я поторопился с сарказмом. Однако для отрицательной логики (как в приведенном примере) установка флага (перевод в "0") именно операцией "И" и достигается.

В конец решили запутать человека с установкой битов и флагов?Still, если надумаете изучать АВР то посмотрите на следующие макросы:
Код
/* Установка и сброс бит в регистрах ввода-вывода с помощью макроса */
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT))
#define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT))
/* Макрос для проверки одного бита в области ввода-вывода */
#define CHECKBIT(ADDRESS,BIT) (ADDRESS & (1<<BIT))
/* Пример использования */
if(CHECKBIT(PORTD,PIND1)) /* Проверка, PIND1 = 1? */
{
CLEARBIT(PORTD,PIND1); /* Сброс PIND1 порта D*/
}
if(!(CHECKBIT(PORTD,PIND1))) /* Проверка, PIND1 = 0? */
{
SETBIT(PORTD,PIND1); /* Установка PIND1 порта D */
}

Теперь по флагам регистров МК (статуса таймера, и2с УАПП и др). АВР такая структура, что сброс флага
производится записью единицы.
Неправильный пример
Код
GIFR  |=  (1<<INTF0);     // сброс флага,

Правильно так
Код
GIFR  =  (1<<INTF0);     // сброс флага,

Удачи


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 08:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01568 секунд с 7
ELECTRONIX ©2004-2016