Jump to content
Azur

Не Работает Шим На Attiny2313A

Recommended Posts

Как то так

loop: SBRC flag1,0

rjmp loop

SBIS PIND,0

rcall opros

rjmp loop

opros: rcall delay

sbis PIND,0

rcall deystvie

jdem: sbis PIND,0

rjmp jdem

ret

Первые две строчки я не менял. Не знаю нужны ли.

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Посмотрел глубже на код. А почему вы не используете апаратный ШИМ. Тогда прерывания ненужны. И для остановки и включения достаточно Очищать/Загружать TCCR0A.

Share this post


Link to post
Share on other sites

Вебинар «Практическое использование TrustZone в STM32L5»(10.12.2020)

Приглашаем на вебинар, посвященный экосистеме безопасности и возможностях, которые появились у разработчиков благодаря новой технологии TrustZone в микроконтроллерах STM32L5. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Разве светодиоду не требуется токограничивающий резистор, пусть он и инфракрасный (светодиод)? Источник тока, случаем, не крона?

Share this post


Link to post
Share on other sites

Снижена цена на AC/DC и DC/DC преобразователи Mornsun в Компэл!

Компэл и компания Mornsun снизили цены на преобразователи AC/DC-преобразователи семейств LS и LDE. По привлекательной цене также предлагаются DC/DC-преобразователи изолированных семейств поколений R2 и R3 различного конструктивного исполнения.

Подробнее

Крона. Я транзистор не полностью открываю, поэтому думаю можно и без резистора.

Посмотрел глубже на код. А почему вы не используете апаратный ШИМ. Тогда прерывания ненужны. И для остановки и включения достаточно Очищать/Загружать TCCR0A.

Хорошая идея :)

Share this post


Link to post
Share on other sites

Материалы вебинара: «Силовые компоненты Wolfspeed на основе карбида кремния (SiC)»

Вы можете посмотреть видеозапись вебинара «Силовые компоненты Wolfspeed на основе карбида кремния (SiC)», ознакомиться с ответами на вопросы и презентацией, в которой вы найдете много полезных ссылок, в том числе подробнее раскрывающих ответы на вопросы.

Подробнее

ШИМ тут и не причем, непонятно каким образом автор неполностью открывает транзистор чтоб обойтись без резистора, Я так думаю мысленно ему команду передает.

Если транзистор еще живой (что под большим сомнением), то поставить нужно токоограничивающий резистор последовательно с диодом.

Share this post


Link to post
Share on other sites

Ik(ток коллектор)=Ib(ток базы)*B(бэтта), кому нибудь, о чём нибудь говорит?

Share this post


Link to post
Share on other sites

Я не понял, что Вы хотите этим сказать.

Edited by Azur

Share this post


Link to post
Share on other sites

Я хотел сказать, что как надоест с ШИМом долбаться сделаете, что написано.

Share this post


Link to post
Share on other sites

Вы предлагаете другой вариант? Не ШИМ? Или что?

Share this post


Link to post
Share on other sites

Если транзистор еще живой (что под большим сомнением), то поставить нужно токоограничивающий резистор последовательно с диодом.

И сам диод не мешало-бы проверить.

Share this post


Link to post
Share on other sites

Отвечаю.... транзистор жив, диод тоже. Это правда.

P.S.: Про токоограничивающий резистор я понимаю... К примеру если источник тока выдаёт больше чем нужно для нормальной работы светодиода (к примеру) нужно ограничить ток источника - чтобы диод не сгорел.

В моём случае ток ограничивает транзистор.

Edited by Azur

Share this post


Link to post
Share on other sites

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

Edited by Rhime

- А совесть в курсе? - А совесть в доле! :-D

Эксперт — это человек, который совершил все возможные ошибки в некотором узком поле.

Все грамматические ошибки являются авторским стилем изложения материала.

Share this post


Link to post
Share on other sites

повесить конденсатор на базу тразистора с параллельным резюком на 10 кОм, тогда получим подобие аналогового сигнала и транзистор будет токоограничивающим...поправьте, если это не так

псы привязка к земле

конечно, ограничивающий резистор проще...но мы не знаем задачи, может автор хочет получить максимальный кпд на предельных токах..хз

Share this post


Link to post
Share on other sites

Если с кондером и резюком, то транзистор, как я думаю, будет плавно открываться и закрываться. То частота наверняка измениться... А в моем случае на базу подаются импульсы с частотой около 40 кГц и на коллекторе она таже получается.

Share this post


Link to post
Share on other sites

ну дык и транзистор полностью открывается когда вы шлете логическую единицу на базу.

ШИМ - это пучки единиц с пучками нулей, повторяющихся в периоде. Тоесть тразистор, пусть и кратковременно открывается полностью, а в среднем как бы частично..

тут и может лечь тразистор и диод, авторы предыдущих постов в этом правы

Share this post


Link to post
Share on other sites

В базе 200 Ом, получаем 4/200=20мА, умножаем на коэф усиления транзистора, пусть равно 100, получаем 0,02*100=2А в коллекторе может быть, а транзистор на сколько рассчитан?

Если даже и добьешься, что в коллекторе будет 10мА, то один черт транзистор будет работать в линейном режиме, и греться будет как печка, но не долго, так как сгорит.

Share this post


Link to post
Share on other sites

Тогда токоограничивающий резистор Ваше все...

Смотрите характеристику ток эмитор - коллектор

400 мА максимум или для шима 800мА...как то так.

Share this post


Link to post
Share on other sites

400 мА максимум или для шима 800мА...как то так.

Это о чем? Светодиод на сколько, милиампер на 10?

Share this post


Link to post
Share on other sites

Сам принцип ШИМа построен на том чтобы транзистор в некоторый момент времени был полностью открыт, а второй момент времени закрыт таким образом мы достигаем минимального выделения тепла на переходе ЭК. Дальше-схема ваша работает по принципу пока на базе транзистора напряжение меньше 0,7В, то транзистор закрыт, а когда больше-то он сразу же открывается. А резистором в данном случае вы ограничиваете ток базы чтобы не перегрузить порт контроллера и чтобы не вывести транзистор из строя. Транзистор в данном случае работает в ключевом режиме но никак не линейном. И чтобы вы там глазами не видели и мультиметром не мерили достаточно подключить осциллограф и все станет на свои места. То что светодиод должен менять свою яркость - это не значит что через него не должен проходить ток в десятки раз выше его номинального.


- А совесть в курсе? - А совесть в доле! :-D

Эксперт — это человек, который совершил все возможные ошибки в некотором узком поле.

Все грамматические ошибки являются авторским стилем изложения материала.

Share this post


Link to post
Share on other sites

Ну я не знаю, какой у Вас диод, вам виднее, Какое у него сопротивление?

каксаесо транзистора смотрите предельные характеристики

Share this post


Link to post
Share on other sites

Спасибо за ответы, кое что уяснил. Теперь более понимаю что и как. Спасибо.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. 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...

  • Сообщения

    • Полностью с вами согласен. Когда владельцы Гугла правят карты штатов - это я понимаю. Но недавно решил посмотреть старое место службы под Читой. Нашёл городок. Нашёл даже дом, в котором жил, но местность вокруг частично заретуширована. И у меня возник вопрос: америкосы по нашей просьбе это делают (в чём очень сомневаюсь), либо наши имеют свой доступ к этим картам. 
    • Спасибо огромное!
    • А если он паралельного возбуждения или смешанного.
    • Исходник на моей страничке в личке.
    • Вспомнил. Прерывание может работать исправно, а основной цикл нет. Именно поэтому считается дурным тоном делать сброс сторожевого таймера в прерываниях. Нужно тщательно продумывать, как работает основной цикл. И если в основном цикле есть долгие циклы, вычисления, следует перенастраивать сторожевой таймер. В зависимости от кристалла максимальное время 2,5 с или 4 с. В одном их моих проектом мне пришлось переработать долгое вычисление таким образом, чтобы воткнуть в узкое место сброс сторожевого таймера.
    • Ну а чего тут странного, корпорация Гугл находится на Земле, а не на Марсе и подчиняется земным законам. Если имеется некий секретный объект на поверхности, то вполне логично, что её вежливо попросят замазать соответствующий район на картах. Допускаю, что и любой человек может попросит о том - же самом, подкрепив желанием соответствующей суммой. И только третьеклассник может всерьёз верить, что новый айфон выпущен для удовольствия пользователя, а не ради зарабатывания бабла.

  • Скалер 3663, на тюнере Touraine Rafael R842 с поддержкой T-2, DVB-T, DVB-C

  • Similar Content

    • By artos5
      Добрый вечер уважаемые! Помогите советом .. Как лучше всего реализовать генератор . Исходные данные такие :
      Есть выделенный 10 битный параллельный порт при помощи ножек ввода . Он принимает значения от 0 до 1000 , выводит эти данные основной микроконтроллер тоже через параллельный порт . 
      Нужно исходя из этого генерировать частоту от 1000Гц до 5000Гц с шагом 4-5Гц . Пробую программно генерить - не получается , вернее получается очень коряво . Если подстроил нижнюю границу точно , к примеру 1000Гц , то верхняя плывет и наоборот , если верхнюю подстроил то нижняя плывет . Допускается на больших частотах (свыше 4000Гц шаг 20Гц ) но как синхронизировать показания дисплея с генератором ? Есть вариант применить таблицу но это очень муторно ... Частота кварца мк который генерит частоту 16МГц. Посоветуйте какую частоту кварца лучше выбрать и каким методом генерить частоту ?
      Еще одна особенность : надо формировать импульс длительностью 10мкс , а вот чтобы период был к примеру при 1000Гц = 990мкс. и т.д.
      Есть хитрости у таймера Attiny2313A при помощи которых можно аппаратно сформировать частоту?
       
      С уважением Артем.
    • By IntelXerox
      Добрый день ребят! Помогите пожалуйста с реализацией кода на Attimy2313A с UART
      Написал вот такой кодик по примерам:

      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> //макросы вычисления скорости #define BAUD 19200 #define UBRR_VAL F_CPU/8/BAUD-1 void usart_init(unsigned int speed) { // устанавливаем скорость Baud Rate: 9600 UBRRH=(char)(speed>>8); UBRRL=(char) speed; UCSRA=0x00; UCSRB|=(1<<RXEN);// Разрешение работы приемника UCSRB|=(1<<TXEN); //Разрешение работы передатчика UCSRB|=(1<<RXCIE);// Разрешение прерываний по приему // Установка формата посылки: 8 бит данных, 1 стоп-бит UCSRC=(1<<UCSZ1)|(1<<UCSZ0); } //выводим принятый байт на порт ISR(USART0_RX_vect) { PORTB=UDR; _delay_ms(100); UDR = PORTB; // "ЭХО" } int main(void) { usart_init(UBRR_VAL);//инициализация модуля sei(); DDRB= 0b11111111; //вывод на все пины порта B while(1); { }
      Цель текущего кода: принять и отправить по прерыванию. Пробовал тестить в протеусе, что то неочень получается. данные приходят но криво. Приколы с таблицой ASCII я уже просек, поэтому пробовал отправлять с зажатым альтом цифры. Результат неутешил.
      Конечный код должен принимать подряд 2 байта, где 1- содержит ИД устройства , если BlockID == 1 байту (где BlockID - const), то второй байт кидаем на PORTB
      Главный вопрос, работает ли мой код и как принимать подряд 2 байта в одном прерывании??
      Пишу в Atmel Studio 7
      Баудрэйт 19200 бод
      Частота мк 8МГц
×
×
  • Create New...