Перейти к содержанию

Вадим Куманов

Members
  • Постов

    74
  • Зарегистрирован

  • Посещение

Весь контент Вадим Куманов

  1. @Starichok счетчик регистр это роли не играет, не в этом суть, все прекрасно поняли о чем речь, не стоит так сильно уделять этому внимание там два кода предоставил, с осциллограмами и каждый код подписан что в нем происходит, в одном коде только регистр В, в другом и А и В, нужно быть по внимательней. речь идет о поведении прерываний, почему при работе со счетчиком А ненужно сбрасывать счетный регистр и таймер работает как положено, а при работе с В регистром таймер срабатывает один раз и ждет пока вручную сбросишь счетный регистр. И почему при работе с двумя счетчиками приоритет переходит к счетчику А, а не работают как два отдельных прерывания, вот основная проблема а не то что я неправильно пишу счетчики таймеры регистры
  2. @Starichok В регистре TIMSK0 есть биты отвечающие за прерывание только по сравнению OCIE0A и только по сравнению OCIE0B, и есть бит на переполнение TOIE0. Каким образом при установке бита только сравнение по OCIE0B, срабатывает вектор и по OCIE0А. А при установке OCIE0А срабатывает вектор OCIE0А и OCIE0В вне зависимости что указано в регистре OCR0В я знаю что таймер один, далее там писал про счетчики, это не столь важно. OCR0A закоментирована потому что работает только счетчик OCR0B а выше осцилограмма сигнала, там же все подписано.
  3. Задача в том что бы отследить прерывание по faling на первом пине и отсчитать 700uS и на протяжение этих 700мкс не должно быть положительных фронтов, если хоть один будет то все заново
  4. установи в разрыв DTR конденсатор как на китайских TTL должен заработать, у меня без этого конденсатора atmega328 не хотела ресетится при прошивке
  5. Проблема в том что таймер B некорректно работает хотя настроен с ног до головы, устанавливаю все нужные регистры, примерно рассчитываю тайминги в итоге таймер работает как попало. Наблюдения: При инициализации таймера он считает один раз до совпадения и больше не хочер, и так каждый раз при перезагрузки При обнуление регистра TCNT0 он начинает заново считать но тайминги не совпадают вообще(откудато с неба) При инициализации счетчика OCR0A прерывания срабатывают по вектору TIM0_COMPA_vect и по вектору TIM0_COMPB_vect Attiny13 работает на 1.2МГц, делитель для таймера 1 минимальный тайминг таймера 54uS таймиги смотрю логическим анализатором. #define DISABLE_SAFEMODE //#define INTERRUPT_SERIAL_RX void setup() { OSCCAL = 0x68; DDRB |= (1 << PB2)|(1 << PB4); PORTB &= ~(1 << PB2); PORTB &= ~(1 << PB4); /* GIMSK |= (1 << INT0); MCUCR &= ~(1 << ISC00); MCUCR |= (1 << ISC01);*/ TCCR0A |= (1 << WGM01); TCCR0B = (1 << CS00); OCR0A = 100; OCR0B = 25; TIMSK0 = (1 << OCIE0B) | (1 << OCIE0A); sei(); } ISR(INT0_vect) { } ISR(TIM0_COMPB_vect) { PORTB |= (1 << PB2); PORTB &= ~(1 << PB2); //OCR0B = 25; //TCNT0 = 0; } ISR(TIM0_COMPA_vect) { PORTB |= (1 << PB4); PORTB &= ~(1 << PB4); //OCR0B = 25; //TCNT0 = 0; } void loop() { } Вот работа только счетчика OCR0B без обнуления вручную TCNT0: Это с принудительным обнулением TCNT0: #define DISABLE_SAFEMODE //#define INTERRUPT_SERIAL_RX void setup() { OSCCAL = 0x68; DDRB |= (1 << PB2)|(1 << PB4); PORTB &= ~(1 << PB2); PORTB &= ~(1 << PB4); /* GIMSK |= (1 << INT0); MCUCR &= ~(1 << ISC00); MCUCR |= (1 << ISC01);*/ TCCR0A |= (1 << WGM01); TCCR0B = (1 << CS00); //OCR0A = 100; OCR0B = 25; TIMSK0 = (1 << OCIE0B); sei(); } ISR(INT0_vect) { } ISR(TIM0_COMPB_vect) { PORTB |= (1 << PB2); PORTB &= ~(1 << PB2); //OCR0B = 25; TCNT0 = 0; } ISR(TIM0_COMPA_vect) { PORTB |= (1 << PB4); PORTB &= ~(1 << PB4); //OCR0B = 25; //TCNT0 = 0; } void loop() { } Расчетные тайминги для A - 83uS B - 20uS расчеты грубые, сильно не пинайте. При работе только счетчика A тайминги правильные с погрешностью 3uS
  6. @Roll-o-matic В этом посте я описываю теорию а не утвердительные факты. В сети амплитуда 310В всегда по разному, броски напряжения могут быть и больше, у драйвера тоже есть свои максимальные входные параметры, не думаю что там стоят драйверы на 800В, вот и теория о том что драйвер может не справиться с таким напряжением
  7. @Roll-o-matic выгорел светодиод, это типичная поломка для всех ламп такого типа, драйвер там стоит хороший. через какое-то время вообще перестал запускаться, драйвер запускается но уходит в защиту. смысла его ремонтировать не вижу, буду покупать новый и не один, включаться будут часто от датчика движения или команды умного дома там свои алгоритмы, вот и думаю как сгладить пусковые моменты
  8. @OSS себестоимость схемы 2$ стоимость лампы 5$, для дома думаю это неважно. @Armenn Согласен что после запуска драйверу уже все равно что там и как, но ведь самое тяжелое для любой техники это пусковые токи и плавный запуск приветствуется всегда
  9. @Alex91 Да конечно драйвер сам ограничивает ток, но всему есть предел, броски напряжения могут быть разной амплитуды, прошлый мой светильник отработал год хотя покупал хорошего качества и не дешевый, изза нестабильного напряжения он и вышел из строя, хотя такой же светильник купленый в то же время работает уже около 3х лет но в другом месте
  10. Суть такая что бы светодиодные лампы питающиеся от сети 220В запускать только при переходе через 0, таким образом уменьшить нагрузку на драйвер светодиода, ведь мы же не знаем когда там 0 а когда максимальная амплитуда питающего напряжения. Если драйвер будет стартовать с примерно 0 вольт то ему проще будет стабилизировать ток и напряжение нежели при пуске с 300 вольт от сети, работу должен обеспечивать оптосимистор с детектором нуля, напряжение будет подаваться только после перехода через 0. Что скажете заморачиваться со схемой?
  11. @mihelson потому что на ризисторах будет падать напряжение соответсвенно амплитуда входного сигнала уменьшится и это повлияет на основную схему с которой сигнал подворовываеться, даже изменение на 0.5В критичны, а входы компаратора имеют очень несущественное влияние. использование высокоомных резисторов привет к наводкам, использлвание низкоомных резисторов приведет к протеканию сигнал по новой цепи из резисторов менуя основную схему куда сигнал должен идти. @vrytsev какого транзистора? в компараторе? в даташите на компаратор написано до 36В
  12. вопрос вот в чем можно ли подать повышенное напряжение на входы даного компаратора, суть в том что нужно воровать сигнал с наименьшим влиянием на схему и сам сигнал и плюс сразу этот сигнал конвертировать по уровню. компаратор будет питаться от 3В на не инвертирующий вход будет тоже подаваться 3В, а на не инвертирующий будет подаваться 12-14В напрямую что бы не использовать резисторы делители так как они повлияют на сигнал, транзистор тоже может повлиять на сигнал и тд. по идеи все должно работать как и задумано но так же хочется знать мнение и других радиолюбителей.
  13. @alend операционник будет обрезать все что ниже порога КУ или 0, двух полярное питание не хочу городить придеться переделывать всю схему @jam_yps не совсем понимаю как реализовать такую схему правильно, после конденсатора сигнал уже станет переменным а операционник обрежет все что ниже 0 @jam_yps вот что операционник делает
  14. @jam_yps я же написал убрать постоянную с сигнала, соответственно амплитуда на выходе от 0 до 4 или 5 вольт это уже не важно, мне нужна точка отсчета от 0. резистором на плюс и базу преоткрываю базу что бы избежать порога включения транзистора 0.6В, конечно же пытаюсь подобрать резисторы так что бы транзистор не уходил в насыщение сразу, но ничего не выходит, или симулятор не может это симулировать @IMXO кого поставить? сигнал приходит с амлитудой 2-5В, а нужно от 0 и хотябы до 4В там это уже не важно
  15. Доброго дня Нужно обработать сигнал, но он незначительный и приходит с постоянной составляющей, установил разделительный конденсатор - сигнал стал переменным, подтянул базу транзистора, немного приоткрыл его. Вроде как должно работать но по факту на выходе прямоугольные импульсы так как транзистор не повторяет сигнал а работает в ключевом режиме, открываеться выше 0.6В
  16. @Гость_Григорий_Т. я прекрасно это понимаю, я вам написал как на моей схеме генереруеться сигнал, вы сказали ОУ я сказал что у меня генерируеться 555, без разнцы кто сигнал генерирует пусть хоть с МКС его присылают со спутника, я описал проблему которая происходить в данной ситуации. На ОУ амплитуда пилы будет примерно такая же по этому будет мертвая зона регулировки от которой я и пытаюсь избавиться в данной теме
  17. @IMXO сорян 500Гц @Гость_Григорий_Т. так я вам и ответил что сделал почти так как вы написали, и ответил что такая схема не подходит, что не понятного
  18. @Гость_Григорий_Т. сейчас так и происходи, генератор треугольных сигналов это 555, пила расходиться на все каналы, далее на каждом канале компаратор сравнивает сигнал и входящий сигнал и уже формируеться ШИМ, но есть один недостаток дабы избежать видемого мерцания частота 500Гц, на 555 формируеться ШИМ и фильтуеться затем получаеться пила которая и расходиться, но изза фильтра амплитуда пилы 1.2В - 3В, соотвественно все что ниже 1.2В никак не реагирует на регулировку яркости. что бы снизить амплитуду придеться снижать частоту тогда будет заметно мерцание, опытными путями это я уже давно все выяснил
  19. @dolmatovva да заметно, лента питаеться от 12В, а при управление 555 выдает 9В примерно 80%, лента мощьная заметно очень, как будто в пол силы
  20. @dolmatovva проверял на прототипе, смотрел осцилографом, при изменение обвязки 555 приходиться жертвовать или нижним порогом или верхним, есть идея реализовать эту схему на ШИМ контролере например TL494, пока только изучаю на сколько это возможно
  21. @dolmatovva подсветка, диодная лента на 6А, яркость регулируется в зависимости от освещенности, с датчика приходит сигнал 0-5В
  22. Задача следующая - с датчика поступает сигнал от 0-5В, контроллер управляет ШИМом а точнее полевиком. МК не подходит потому что нужно дешево и просто, каналов будет много больше 10 и каждый работает отдельно от других. на таймере 555 такое возможно реализовать подавая сигнал на 5й пин но регулировка получаеться от 15% - 80% примерно. может какой ШИМ контроллер можно приделать под такую задачу ведь он работает по обратной связи. можно было бы использовать обычные биполярные транзисторы но тогда он будет работать в линейном режиме и будет греться это не желательно в данной схеме, по этому используются полевики и ШИМ
  23. @Владислав2 схема устроена так что шим контроллер управляет биполярным транзистором который управляет силовым полевиком, это не я придумал это PHILIPS скорее всего они так хотели обезопасить схему или шим контролер, но в итоге разлетелось все по цепочке
  24. @KRAB да знаю там и ключ сгорел и транзистор который дергает ключ и ШИМ контролер скорее всего, резистор в цепи затвора, токовый датчик и еще один резистор обратной связи. маркировку я нашел но меня сбила эта еще одна полоска после золотой, при маркировке в 4 полосы ее нет, при маркировке в 5 полос тоже нельзя сначало поставить серебро и золото а после зелегую @andrusha152 Спасибо. Я знаю как расшифровать маркировку и в 4 полосы и ы 5 полос но и там и там не ролучаеться расшфровать 5ю зеленую полосу если до нее две серебро и золото
  25. сгорел резистор нужно его заменить, так маркировка понятна но зачем после золотой полоски еще одна зеленая, виду такое впервые
×
×
  • Создать...