• ×   Вставлено в виде отформатированного текста.   Восстановить форматирование

      Разрешено не более 75 смайлов.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Похожие публикации

    • Автор: forestdozor
      Здравствуйте!

      Мне нужно измерить длительность импульса. Для этого сначала применял внешнее прерывание, а теперь перешел на режим захвата таймера в Atmega 328.
      Однако сейчас происходит странное: Через определенное таймер просто останавливается. Гугл результатов не дает, ни у кого захват таймера 1 не останавливается.
      Подскажите пожалуйста, что делать?
      Среда разработки CodeVisionAVR v3.12. Сейчас попробовал версию 3.3, толку нет. Не работает. Код максимально упростил, но по прежнему толку ноль.
      Переполнение таймера 0 так же работает отлично, до тех пор, пока что-то не произойдет с прерыванием по захвату. Как только что-то произошло - мк останавливается...
      Может немножко подождать, и увеличить значение счетчика current_timp еще на пару значений... Совсем не знаю что делать.
       
       
      interrupt [TIM1_OVF] void timer1_ovf_isr(void)
      {
      TCNT1H = 0x00;
      TCNT1L = 0x00;
      }
      // Timer1 input capture interrupt service routine
      interrupt [TIM1_CAPT] void timer1_capt_isr(void)
      {
       
             TCNT1H = 0x00;
             TCNT1L = 0x00;           // Это уже уровень танцев с бубном "авось поможет" - не помогает.
         
              current_timp++;          // Все упрощено до максимума. Мне бы он хоть количество периодов для начала...
              
        //  }
      }
      // Прерывание по переполнению первого таймера
      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
      {
      // Обнуление счетного регистра.
      TCNT0=0x00;

          
          counter ++;
          if (counter > 10)
          {
                  lcd_clear();
                  sprintf(buffer,"%d us", current_timp);
                  lcd_gotoxy(0,0);
                  lcd_puts(buffer);
                  counter = 0;
          }
          
          
      }

      // Главный цикл программы
      void main(void)
      {

      #pragma optsize-
      CLKPR=(1<<CLKPCE);
      CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
      #ifdef _OPTIMIZE_SIZE_
      #pragma optsize+
      #endif

      // Port B initialization
      // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
      // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
      // Port C initialization
      // Function: Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
      DDRC=(0<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
      // State: Bit6=T Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
      PORTC=(0<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);
      // Port D initialization
      // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRD=(1<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
      // State: Bit7=1 Bit6=1 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTD=(1<<PORTD7) | (1<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
      // Делители таймера 0 рассчитаны таким образом , что его тактовая частота = 15,625 КГц. Расчет был на применение в схеме семисегментников, но с LCD индикатором будет информативнее.
      TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
      TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
      TCNT0=0x00;
      OCR0A=0x00;
      OCR0B=0x00;
       
      // Настройка таймера 1
      TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
      TCCR1B=(1<<ICNC1) | (1<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10);
      TCNT1H=0x00;
      TCNT1L=0x00;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;
      // Разрешение прерывания по переполнению таймера 0
      TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
      // Timer/Counter 1 Interrupt(s) initialization
      TIMSK1=(1<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);
    • Автор: getshket
      Продам ПУСТЫЕ печатные платы для гальваноразвязки под amanero для этого цапа.  Автор не я, проект тут.
      Цена 300 рублей.


    • Автор: getshket
      Продам ПУСТЫЕ платы для сборки цапа на AK4490. Автор плат не я, ссылка на проект. Размер ПП 100*67 мм. Цена одной платы 300 рублей. Территориально - Уфа. Отправлю почтой.
       
       


    • Автор: serglobo
      Продам заводские печатные платы предварительного усилителя (по схеме ПУ Натали) входная часть без темброблока под одиночные ОУ. Цена 100грн. Тел (Украина) 05О6751256 Сергей.

       
       
       
       
      Платы регулятора громкости с селектором каналов (8 каналов) на PGA2311 с возможность дистанционного управления. Цена комплекта из двух плат 200грн. Схему предоставляю, а также возможно програмирование микроконтролера.
       

       
       
      Плата ЦАПа на АК4490 для транспорта Аманеро. Управление софтовое, воспроизведение до 256ДСД. Цена 300грн. Все вопросы в личку или по телефону.
       

    • Автор: Avatoro
      Всем привет. В общем есть простая мигалка по переполнению нулевого таймера. ATmega328. В АВР студии все прекрасно работает, в протеусе-0 реакции. Либо протеус тупит, либо я не настроил в нем что-то, так как собрал в железе и прошил - все работает замечательно. Файлы исходника, прошивки и протеуса прилагаю.
      P_5.asm
      P_5.hex
      Timer.pdsprj
  • Сообщения

    • Подобные вентиляторы  плохо регулируются диммером. Хуже того, при некотором снижении оборотов он просто встаёт и уж точно не стартанёт из такого положения регулятора.
      По причине, что выше написали, а также потому, что симисторные диммеры тоже не любят индуктивные нагрузки. Немного улучшить положение может подключенная параллельно вентилятору лампа накаливания небольшой мощности, но не всегда это удобно.
      Так что либо довольствуйтесь тем что есть, либо ищите другие вентиляторы. Частотный же преобразователь применять нецелесообразно, т.к. стоит он на порядки дороже самого вентилятора.
    • Но не все осознают, что это надо сделать. Вот, например, на китайских повербанках указывается емкость в Амперчасах, но при этом зачастую имеются в виду Амперчасы банок, установленных в коробке, а не те, что будут на выходе USB. А это уже в полтора - два раза меньшая цифра. Есть в этом некоторый элемент обмана потребителя, который, в общем то, имеет право не разбираться во внутреннем устройстве девайса.
      Ваттчасы же всегда однозначно укажут количество энергии, запасённой в коробочке, независимо от её начинки.
    •   Что неймется все-таки?   Ну предупредил, спасибо-досвиданья. Название темы читал? Тема - про коллективную закупку кит'ов для сборки БП. Не обсуждение достоинств и недостатков проекта. Разницу чувствуешь? Поэтому твой уязвленный срач в адрес ЛИ и его проектов - это оффтоп и мусор. Если невмоготу, и синдром завистливого неудачника жжет, - создай отдельную тему для обсирания Ридико и его творчества и правь там безраздельно.  А может быть, тоже себе хочешь такой набор для сборки ЛБП имени ЛИ заказать, но стесняешься спросить? Тогда - присоединяйся! Нет? Тогда спасибо-досвиданья.    
    • Первое и самое простое что приходит в голову это вот такая схема. Светодиод это не дхо он просто для индикации сигнала. Но чует мое сердце, пики настолько малы, что они просто не пройдут через диод так как падение на нем больше чем сами пики.
    • Вообще-то трансформатор не заливают а ПРОПИТЫВАЮТ. То есть практически "варят" в лаке. По крайней мере на заводе где работал в 80-е было именно так Про это посмотрите тут http://postroyka.org/kakim-lakom-propitat-obmotku/ И тут https://therepair.ru/topic/1067-laki-dlya-propitki-obmotok-elektrodvigateley/ И еще http://rustaste.ru/how-to-make-a-silent-transformer-my-tips.html