Jump to content
Static

ATmega8, подключение питяния

Recommended Posts

Доброго дня всем!
Не так давно решил опробовать использовать в схемах ATmega в корпусе TQFP и возник такой вопрос. На ней имеется аж три ноги на "-" и две под "VCC". Подсоединять нужно все или можно только по одной любой?

Заранее благодарен за помощь.

Share this post


Link to post
Share on other sites

Смотри даташит.

Но по хорошему надо подключать все. Иначе может работать нестабильно при высокой нагрузке и/или высоком выходном токе на выходных ногах.

Share this post


Link to post
Share on other sites

Подсоединяются все. Но там цифровая и аналоговые (земля и питание). Аккуратно с разводкой и иногда на AVCC ставят фильтр (дроссель и конденсатор). Как-то примерно так

TesterZener02big.PNG

Edited by KomSoft

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

4 часа назад, KomSoft сказал:

там цифровая и аналоговые (земля и питание)

Специальной аналоговой земли в AVR-ках вроде нет

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

Выбор подходящего элемента питания, способного обеспечивать требуемый уровень напряжения и выдавать необходимый ток на протяжении всего периода эксплуатации беспроводной пожарно-охранной системы является одной из первостепенных задач. Наиболее подходящим для этих целей элементом являются литий-тионилхлоридные элементы питания, а одним из наиболее конкурентоспособных производителей – компания Fanso, предлагающая своим клиентам продукты как универсальные, так и разработанные специально для решения конкретных задач.

Подробнее...

Есть там аналоговая земля, только она соединена технологическим низкоомным резистором(1...10 Ом) на цифровую.  Резистор этот слабый его легко спалить и/или получить проблем при работе.

Share this post


Link to post
Share on other sites

Кстати, Ctrl-F в даташите выдает только это единственное упоминание про agnd

Share this post


Link to post
Share on other sites
9 hours ago, Alexeyslav said:

аналоговая земля, только она соединена технологическим низкоомным резистором(1...10 Ом) на цифровую. 

Я так понял, что все поняли :D, что этот резистор внутри? И копнули даташит. Пытаемся найти, где он. Или в МС все замли соединены вместе?

Share this post


Link to post
Share on other sites

Он технологический, на кристалле. В первых версиях контроллера его небыло. По факту, это просто дорожка на кристалле, но она слишком тонкая чтобы выдерживать рабочие нагрузки порта поэтому вывод к земле подключать обязательно. А если не подключить, оно вроде и будет работать но эта цепь прямо в сердце кристалла будет собирать все наводки внутренние, АЦП потеряет в разрядности и т.п.

Даже если выводы соединены, это всеравно может стать проблемой при работе АЦП - даже на малом сопротивлении будут падать миливольты и высокая разрядность АЦП превратится в ничто. Поэтому всегда нужно внешнее подключение аналоговой земли к общему проводу.

Share this post


Link to post
Share on other sites
5 часов назад, Alexeyslav сказал:

поэтому вывод к земле подключать обязательно

Какой? Его номер?

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Вячеслав_НС
      помогите разобраться с кодом .(послать значение по шине TWI на ЦАП PCF8591) не работает в протеусе ...
      #define F_CPU 8000000UL 
      #include <stdlib.h>
      #include <avr/io.h>
      #include <util/delay.h>
      //*** ИНИЦИАЛИЗАЦИЯ ШИНЫ TWI ***/
      void TWI_Init(void)
      {
          // Установка тактовой частоты F_scl  = 100 кГц
          TWBR =32;
          TWSR &= (~((1<<TWPS1)|(1<<TWPS0)));
          TWCR |= (1 << TWEN);            // Разрешение работы TWI-модуля
      }

      /*** ЗАПУСК TWI ***/
      void TWI_Start(void)
      {
          TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
          TWDR = 1001000; // передача адреса модуля PCF8591 в шину TWI
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
      }
      /*** ОСТАНОВКА TWI ***/
      void TWI_Stop(void)
      {
          TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
          while(TWCR & (1<<TWSTO));        // Ожидание завершения передачи условия СТОП
      }
      /***ПЕРЕДАЧА ДАННЫХ В TWI***/
      void TWI_WriteByte(uint8_t data)
      {
          TWDR = data;                    // Загрузка данных в TWDR
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1 << TWINT)));    // Ожидание завершения передачи данных
      }
      /*** ПЕРЕДАТЬ ЗНАЧЕНИЕ В PCF8591 ***/
      void PCF8591_get(void)
      {
          TWI_Start();                // Запуск TWI
          TWI_WriteByte(0x40);        //включаем цап
          TWI_WriteByte(100);            // запись в ЦАП значения 100
          TWI_Stop();                    // Остановить TWI
      }            
          int main(void)
      {
          TWI_Init();    
          while (1)
      {
              PCF8591_get;
             _delay_ms(50);
        }
      }
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<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; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • Guest Кирилл
      By Guest Кирилл
      Здравствуйте. Я не очень разбираюсь в радиоэлектронике, поэтому прошу помочь разобраться с подключением реле ruichi 13f-2 scl. Заказал с Китая термореле, но выбрал не то что нужно было, т.е. оно в состоянии покоя всегда замкнуто, а при нагреве контакты размыкаются. А мне естественно нужно было наоборот. Нашел выход из этой ситуации, в радиодеталях купил данное реле по совету продавца, очередь была большая и он не стал рассказывать как его подключать, сказал только, что оно переключаемое и что там не сложно разобраться. Я так понял с его слов, что оно работает как НЗ и как НР. Так вот есть схема у этого реле на нем же, но честно говоря я так и не понял, что куда подключить, чтобы при разрыве цепи, подавалось питание на кулер. Ток питания 12V DC. Гуглил, так и не нашел подробно как это сделать. Если не затруднит, то подскажите куда именно к каким номерам какой контакт подключить.

    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

  • Сообщения

    • Ну, пока всё под рукой, сразу и наделайте кругов разной толщины (в 2 и 3  "блина").  "Блины" лучше проклеить, любым доступным подходяшим  клеем. С уважением, Сергей
    • Всем, доброго времени суток! Друзья, строго не судите за нубский вопрос. Возможно в этой ветке есть на него ответ, но я правда её не осилю. Я пытался... Нагрузка 8Ом 40(max 80)Ватт. Усилитель ОМ 2.7, блок питания (тор, мост, фильтр). Каким характеристикам должен соответствовать трансформатор? Напряжение/ток вторичных обмоток. Может в природе существует график зависимости выходной номинальной мощности от напряжения питания для данного усилителя?
    • Нет. Измерения это само собой - важная часть и измерениями дейсвтительно можно померять чуть ли не все. Самое простое это АЧХ. Но помимо АЧХ например конденсатор "в теории" может иметь разную импульсную характеристику. И ее в принципе тоже моно померять, хотя конечно сложнее. Ну так и быть, я сделаю запись с разными конденсаторами импульса, приложив оригинальный импульс который буду прогонять через корректор с разными конденсаторами. Что там еще двухтональный сигнал нужен для замера интермодуляции? С какими частотами Вам будет удобнее?  Ну то есть Вы не против того, что я предложил? Я правильно понимаю? Вы поймите, я спрашиваю, для того, что бы все согласовать, что б потом Вы не предьявили, а вот тут ты не так сделал. Я знаю, что такое замеры и что такое подобные лаб работы - это головняк в определенной мере, потому не хотелось бы переделывать по 20 раз. ДОбавлю лишь только, что если на слух разницы не будет(а я склоняюсь к этому варианту, но готов признать свою ошибку) - то и обмеры бессмыслица. Ловить блох которых никто не слышит - дурость. 
    • Вы же сами пришли к выводу, что корректор, это тот же усилитель. Иначе, куда Вы собирались впаивать тестируемые конденсаторы при выполнении оцифровок? Тема, уже давно не о фонокорректоре. Вся полезная информация именно о фонокорректоре, закончилась года 4+ назад. Дальше - однотипные ЧАВО, да всплески подобных дискуссий. 
    • Ты только этим здесь и занимаешься! 
    • Из сломанного круга вырезал ножницами, обломком сверла проковырял дырку. Фоткал дольше чем делал
    • Но ты же хочешь им быть, не так ли? Все борцуны спят и видят, как начнут "судить и вздергивать" врагов... Я прав? Видишь ли, зёбр, все дело в том, кого именно ты считаешь народом и какую судьбу ему ты хотел бы напророчить. Я так понимаю, твой народ - это народ-нахлебник, который сам ничего делать для себя не готов, но не ограничивает себя в праве все требовать с "власти" и, кстати, за все свои собственные ошибки вину возлагать тоже на "власть". Это тот народ, который играет с наперсточниками, проигрывает и бежит одновременно жаловаться на "эту власть" и просить "эту власть" помочь выкрутиться. Это тот народ, который берет кредиты и вместо поиска способа заработать и их вернуть ищет способы избежать возврата. Это тот народ, что снимает на айфон последней модели процесс откоса от армии. Ну ты понел, да? А я свой народ вижу иначе: мой народ своими руками, возможно, в кровавых мозолях, добывает себе и своим детям благополучие. И если надо - готов за это благополучие порвать любого. Мой народ при трудностях не плачет, а стискивает зубы. Мой народ не винит соседа, что в его огороде урожай больше, а ухаживает за своим огородом лучше. Поэтому наши с тобой народы - разные. И поэтому мы с тобой враги для народов друг друга (перекрестно то есть). Понял, подонок?
×
×
  • Create New...