"Выпрямить" ШИМ

Обсуждаем цифровые устройства...
Ответить
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

Приветики!
значит собрал я ШИМ для управления Эл.двигателя все прекрасно, но хочу сделать шкалу светодиодную, чтоб, когда крутишь резюк, чем больше оборотов, тем выше шкала поднималась.
попробовал на выход подключить AN6884 со шкалой.. ниче не вышло..
потом купил LM3914 тоже не фонтан..
пытался выпрямить...
ставил нч фильтры..
короче намучался..
не знаю, че делать
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Реклама
Опытный кот
Аватара пользователя
Сообщения: 709
Зарегистрирован: Ср сен 27, 2006 11:20:51
Откуда: Moskau

Сообщение МП 42 Б »

А что по старинке на 315 не получается ?
Изображение
Когда у общества нет цветовой дифференциации штанов — то нет цели! А когда нет цели …Изображение... плохо кончится дядя Вова
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

чем ваша схема луче LM3914-го?
к тому же есть LM3914 и хочу на нем, ибо городить такую схему не естетично :)))

p.s. LM3914 может работать как вольтметр от 1го до 10 вольт по одному светодиоду на вольт.
и еще много примочек.
Но ШИМ все портит...
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Опытный кот
Аватара пользователя
Сообщения: 709
Зарегистрирован: Ср сен 27, 2006 11:20:51
Откуда: Moskau

Сообщение МП 42 Б »

Ну ясный хобот...
Широтно импульсная модуляция , а её LM3914 понимать отказывается.
Ройте в сторону вч вольтметра переменного тока.
Когда у общества нет цветовой дифференциации штанов — то нет цели! А когда нет цели …Изображение... плохо кончится дядя Вова
Реклама
Эиком - электронные компоненты и радиодетали
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

спасибо вам МП 42 Б
нежуели нелзя легко и просто выпрямить этот ШИМ?
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Реклама
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Чт апр 29, 2010 10:32:32

Сообщение kondor »

DLL32 писал(а):спасибо вам МП 42 Б
нежуели нелзя легко и просто выпрямить этот ШИМ?
Вы знаете что такое ШИМ ? Если да, то объясните, что значит "выпрямить ШИМ" ?
Реклама
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

Выпрямить у меня в кавычках! (в заголовке темы)
прочтите тему сначала и поимете.
не буду я два раза писать то что уже написал. кто в теме тот понял чего я хочу.
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Чт апр 29, 2010 10:32:32

Сообщение kondor »

DLL32 писал(а):спасибо вам МП 42 Б
нежуели нелзя легко и просто выпрямить этот ШИМ?
Можно :)) Номиналы резистора и конденсатора подбирать в зависимости от частоты ШИМ. Можно конечно и формулы для расчета вывести, но это уже заморочек много, проще подобрать через мультисим.
Вложения
PWM.png
(69.76 КБ) 675 скачиваний
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

да в симуляторе все рабортает, но на практике нет.
я уже делал так.. :( не работает..
--------------------------------
а если вот так ?
Untitled.png
(11.81 КБ) 930 скачиваний
в место вольтметра если LM3914+шкалу светодиодную, будет работать?
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Чт апр 29, 2010 10:32:32

Сообщение kondor »

Не думаю. Первый конденсатор отрезает постоянку и инвертирует сигнал, резистор притягивает сигнал к общему, диод отрезает все что ниже 0, второй конденсатор выравнивает сигнал. Т.е. он просто покажет наличие сигнала и половину его уровня.

То что вам нужно, работает вот как: при высоком уровне происходит зарядка конденсатора, в зависимости от длительности импульса, конденсатор успеет зарядится до какого-то уровня, далее, пока идет низкий уровень ШИМ, происходит разрядка конденсатора, но не до 0. Сейчас попробую поэсперементировать со схемами, мож чего и примаю ) Заинтересовала меня эта задачка :)
Прорезались зубы
Аватара пользователя
Сообщения: 225
Зарегистрирован: Пт июн 16, 2006 21:39:36

Сообщение DLL32 »

Я чуть отредактировал вашу схему и все заработало :))
без R3 микромхема LM3914 показывала всегда максимум.
как говорится метод тыка работает :)
спасибо kondor
Вложения
Untitled.png
(8.34 КБ) 1066 скачиваний
"The only thing necessary for the triumph of evil is for good men to do nothing" Ebmund Bruke(1729-97)
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Чт апр 29, 2010 10:32:32

Сообщение kondor »

Рад был помочь )
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вт авг 11, 2009 10:03:00

Сообщение akimov1987 »

доброй ночи. тоже интересует данная ситуация, нужно мне это для бортовых огней в самолёте радиоуправляемым, для включения бортовых огней.

мне из шим сигнала в длительности от 1000 до 2000 микросекунд нужно сделать логический ноль для микроконтроллера. не могли бы подсказать для моего случая
Друг Кота
Аватара пользователя
Сообщения: 15713
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Если сигнал генерируется МК, то почему бы не поручить тому же МК генерировать второй сигнал в соответствии с первым? Это ведь гораздо проще, чем городить внешний вторичный измеритель... :tea:
akimov1987 существует такая штука ждущий одновибратор (хош на К155АГ, хош на 555/556) для преобразования пакета импульсов в один импульс вполне сгодится 8)
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вт авг 11, 2009 10:03:00

Сообщение akimov1987 »

логика такова с приёмника борта самолёта выходят каналы управления самолёта то есть руль высоты, руль направления, элероны и газ, сигнал шим амплитудой 5в и изменяемой длительностью от 900мкс до 2000мкс, но есть и ещё доп каналы в моём случае 3 свободных вот на них и хочу подцепить бортовые огни. знакомый электронщик сказал что можно прям в мк загнать шим но он пишет на асме, а я пишу в cvavr.
не понимаю какую строчку написать что бы сигнал был понятен мк и выдавал логические еденицы на указанные мне порты. например на ножке появиля шим сигнал и началась выполняться програма (борт освещение или сигнализирующие огни, ) для мигания мне составит труда написать программу. надеюсь на помощь хорошего человека
есть кусочек кода которы мне мало понятен. вот он

#include <tiny2313.h>

const int timed1=400; // Задержка между 1 и 2 стробоскопами
const int timed2=1200; // Длительность общего цикла мигания
const int tims1=40; // Длительность вспышки
const int tims2=80; // Длительность паузы
const char NofL=2; // Колличество вспышек стробоскопа
const int timeG=300; // Порог включения посадочной фары
const int timeT=240; // Порог включения огней БАНО и стробоскопов
const char s1=0; // Положение NORM/REV канала GEAR
const char s2=1; // Положение NORM/REV канала THROTLE

int tick11,tick21; // Вспомогательные счетчики
int tick3, tick1, tick2; // Вспомогательные счетчики
unsigned int pulse1; // Длительность импульса канала GEAR
unsigned int pulse2; // Длительность импульса канала THROTLE
char c1,c2; // Счетчики колличества успешно принятых импульсов
char F; // Флаг ON/OFF стробоскопа

interrupt [EXT_INT0] void ext_int0_isr(void) // Обработка прерывания от канала GEAR
{
if(pulse1 > timeG){c1++; pulse1=0;}
if((pulse1 < timeG)&(pulse1 > 5)) {PORTB.3=!s1;
pulse1=0; c1=0;}
if (c1==10){PORTB.3=s1; c1=0;}
}

interrupt [EXT_INT1] void ext_int1_isr(void) // Обработка прерывания от канала THROTLE
{
if(pulse2 > timeT){c2++; pulse2=0;}
if((pulse2 < timeT)&(pulse2 > 5)) {F=!s2;PORTB.2=s2; pulse2=0; c2=0;}
if (c2==10){F=s2; PORTB.2=!s2; c2=0;}
}

interrupt [TIM0_OVF] void timer0_ovf_isr(void) // Обработка прерывания таймера
{
if(F==1){
tick3++;
if (tick11 < NofL){tick1++;}
if (tick21 < NofL){tick2++;}

if(tick1 > tims1){PORTB.0=0;}
if(tick1 > tims2){
PORTB.0=1;
tick1=0;
tick11++;
}

if(tick2>tims1){PORTB.1=0;}
if(tick2>tims2){
PORTB.1=1;
tick2=0;
tick21++;
}

if (tick3==timed1){tick11=0;}
if (tick3==timed2){tick21=0; tick3=0;}
}else {tick1=0; tick2=0; tick3=0; PORTB.0=1; PORTB.1=1;}
}


void main(void)
{
// Осцилятор
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Настройка портов
PORTA=0x07; DDRA=0x07;
PORTB=0xFF; DDRB=0xFF;
PORTD=0x00; DDRD=0x73;
// Настройка таймера 0
TCCR0A=0x00;
TCCR0B=0x03;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
TIMSK=0x02;
// Настройка внешних прерываний
GIMSK=0xC0;
MCUCR=0x0A;
EIFR=0xC0;
// Начальные условия
tick1=0;
tick2=0;
tick11=0;
tick21=0;
c1=0;
c2=0;
pulse1=0;
pulse2=0;

#asm("sei")

while (1)
{
// Сканирование каналов
if(PIND.2){pulse1++;} else {pulse1=0;}
if(PIND.3){pulse2++;} else {pulse2=0;}
};
}
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Я наконец то понял, чего человек хочет: нет потока импульсов - нет команды на зажигание фонаря, пошли импульсы - включился фонарь. То есть надо определить наличие потока импульсов. Это просто: импульсы снять через базу транзистора,(транзистор - это буфер), на коллектор прицепить светодиод и емкость, где то 10 мкф. (емкость нужна для сглаживания импульсов на коллекторе). Всё!
А поболтать?
Друг Кота
Аватара пользователя
Сообщения: 6921
Зарегистрирован: Вт сен 25, 2012 23:13:41
Откуда: г.Дзержинск Нижегородской обл.

Сообщение Николай_С »

DLL32 писал(а):спасибо вам МП 42 Б
нежуели нелзя легко и просто выпрямить этот ШИМ?
А я бы вообще не стал ничего выпрямлять, а сделал бы измеритель скважности ввиде линейке светодиодов.
Ну а если очень хочется выпрямить, то вешаем между ШИМ и аналоговым измерителем интегрирующую цепочку с ТАУ в 10 раз большим периода измеряемого сигнала.

p.s. И еще вопрос: зачем akimov1987 поднял тему отличной давности? У него ведь немного другой случай....
Спасение утопающих дело рук самих утопающих.
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вт авг 11, 2009 10:03:00

Сообщение akimov1987 »

можно и новую создать. но вроде как почти аналогично практически ()связывающее слово ШИМ)
Ответить

Вернуться в «Цифровая техника»