Программирование микроконтроллеров avr для начинающих ( Урок12 энкодер )

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 71

  • @TubeYouSimark
    @TubeYouSimark 3 роки тому

    Наконец мучения с нестабильной работой энкодера закончились. Спасибо огромное!

  • @DIY-dw8hv
    @DIY-dw8hv 6 років тому +2

    очень доступно объясняешь, спасибо тебе... еще нет энкодера, но уже хочу попробовать использовать его...

  • @traveladventure427
    @traveladventure427 2 роки тому

    Очень просто и доходчиво все рассказано.

  • @alexanderkomarskiy9451
    @alexanderkomarskiy9451 9 років тому +1

    Спасибо, что не жалеете время, чтобы делать такие доходчивые видео. За 10 минут прояснился вопрос, который давно в голове сидит (про энкодер) =)

  • @vanes-xxx5819
    @vanes-xxx5819 11 років тому +1

    Еще один хороший видео урок в копилку, спасибо. Хотелось бы подробное видео об АЦП, буду ждать с нетерпением.

  • @taraskornuta
    @taraskornuta 11 років тому

    Класно расказываете, доступно. Запилите урок по тому как читать даташити, конечно из каким нибуть примером. Ато я в свое время упустил это и сейчас тяжело освоить.

  • @marafon119
    @marafon119 11 років тому

    Очень грамотно составленны уроки.
    Хотелось бы, что бы Вы рассказали как работать с цифровыми термодатчиками DS18B20.
    Очень буду ждать. Я не один такой)))

  • @86alexman
    @86alexman 11 років тому +1

    то что нужно хочу ЧПУ сделать :-) это в самый раз. осталось найти энкодеры

  • @astronom100
    @astronom100 6 років тому +2

    Использование Volatile высший пилотаж.. Большинство программистов с трудом понимают применении volatile. А я не понял 50 строку.. там просто проверяем равна ли переменная единице? можно же написать "направление ==1" а в 70 и 86стр. просто "направление=1"..

  • @ДмитрийГромов-ш5к
    @ДмитрийГромов-ш5к 11 років тому

    А мне бы хотелось видеть работу с аналоговым компаратором.. Как измерить напряжение, как измерить ток... Только лишь дискретные устройства - этого недостаточно.. Ну и, если можно, объясните пожалуйста чуть подробней, как вы задаёте битовую маску для портов. Я не слишком понял механизм работы этих операторов сдвига и побитоного "И"

  • @АлександрМирошник-о7ч

    Спасибо за видео

  • @Cubersport
    @Cubersport 11 років тому +1

    Спасибо за уроки, хорошо рассказываете . Можете посоветовать толковую книгу для усвоения материала?

  • @СергейЛевашов-г5н
    @СергейЛевашов-г5н 7 років тому

    Александр . Реализовал проект шим с энкодером на другом микроконтроллере . За основу были взяты ваши уроки.. Огромная благодарность, но есть один вопрос.. Хочу в этот проект внести не большие изменение, а именно сделать светодиодную индикацию заполнения шима. состоящею из 10 светодиодов . Не могу понять куда эту функцию вставить, или делать еще одно прерывание ?

  • @marsm6619
    @marsm6619 8 років тому +1

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

  • @Андрей-ю8ж2ы
    @Андрей-ю8ж2ы 5 років тому

    Здравствуйте! Жаль что с подстроечным резистором не рассказали(( очень надо

  • @КасКад-н8к
    @КасКад-н8к 8 років тому

    У меня вопрос такой... Брал энкодер от компьютерного мышки почему то не работает....думал с начало дело в энкодере поменял тоже самое!!! Решил проверить энкодер путем светодиода. в средний вывод подсоединил батр.. а по краям светодиоды и от светодиода на батр... ну вы поняли и выяснилось, что когда крутишь влево кодер сперва включается левый светодиод потом правый а потом оба вместе затухают а когда в право крутишь оба с начало загораются потом правый затухает потом левый и опять повторяются.... скажите это нормально ???? ведь я несколько кодеров проверял от мышек????? все так работают ????? когда я смотрел ваше видео там увас диаграмма немножко по другому же??? Просто у меня в избытке кодеров от мышек!!

  • @Vinipoh1
    @Vinipoh1 9 років тому +1

    Добрый день!
    Спасибо за урок. Возникла мысль: стоит ли бояться ситуации, когда переключение произошло между тиками таймера? И вторая, на 1 тик энкодера тратиться 2 тика таймера. Пока нет возможности пощупать на практике, просто интересно.
    Еще вопрос: если энкодер повесить на INT0_vect, INT1_vect, то первое пришедшее прерывание задаст и направление, потом игнорируем сигналы по таймеру, что бы убрать дребезг, и включаем ожидание по новой.

    • @АлександрПисанец
      @АлександрПисанец  9 років тому

      Здравствуйте. Не готов ответить. Надо вникнуть в программу ( давно уже делал урок) пока нет времени.

    • @ИванСидоров-к9м
      @ИванСидоров-к9м 9 років тому

      Таймер отрабатывает с частотой 200 Гц. Делим на 2 тика - 100 Гц. Энкодер с 24-мя импульсами на оборот нужно крутить быстрее чем 4 оборота в секунду для того, чтобы начались пропуски. Поэтому не стоит сильно волноваться - в жизни работает хорошо.

  • @ivanbendiukevych2254
    @ivanbendiukevych2254 9 років тому +2

    Доброго часу доби! Олександр, чому кінець імпульсів фіксується по двом замкнутим контактам? Адже після замикання контактів їх розмикання буде в іншій послідовності, і відразу ж зафіксується інший напрямок? Може краще фіксувати по двом розімкнутим контактам?

    • @АлександрПисанец
      @АлександрПисанец  9 років тому

      +Vano Vanis Я уже не помню давно урок делал, но если не ошибся то контакты всегда замыкаются в одном направлении в сторону движения энкодера.

    • @ruslanmarkiv7608
      @ruslanmarkiv7608 9 років тому

      +Vano Vanish
      по двом замкнутим контактам фіксується не кінець імпульсів а сам факт що енкодер працює, і початкова точка для вибору напрямку обертання.

    • @ruslanmarkiv7608
      @ruslanmarkiv7608 9 років тому

      +Александр Писанец
      у вас у программі початкове значення Napravlenie ==0 а має бути (1

  • @matrossv1556
    @matrossv1556 8 років тому

    Сегодня ломал голову над вашей схемой энкодера. Составил даже блок схему для анализа 3х-уровнего IF. Насколько я понял, при вращении (более 2 импульсов) в сторону увеличения при попадании прерывания в промежуток где на входах МК будут нули - вместо того, чтобы продолжить прибавлять, она будет убавлять.

    • @АлександрПисанец
      @АлександрПисанец  8 років тому

      Я уже не помню работу программы, давно это было ) пока я не готов.

    • @matrossv1556
      @matrossv1556 8 років тому

      Хотя в Протеусе все работает как надо, видать я где-то что-то недосмотрел.

    • @АлександрПисанец
      @АлександрПисанец  8 років тому

      Это программа взята с работающего устройства

  • @allavg
    @allavg 6 років тому

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

    • @АлександрПисанец
      @АлександрПисанец  6 років тому

      В зависимости от направления импульсы, смещаются относительно друг друга.

    • @allavg
      @allavg 6 років тому

      Александр Писанец Ага. Я с этим разобрался. А когда опрос энкодера идёт и записывается количество импульсов, прерывания запрещены?

    • @АлександрПисанец
      @АлександрПисанец  6 років тому

      Посмотреть внимательно в ролике, я уже и не вспомню как все делал. Это далеко не единственный вариант как можно работать с энкодером.

  • @dargindarginec9561
    @dargindarginec9561 6 років тому

    здравствуйте еще раз Александр. у вас был видео или проект как реализовать меню на микроконтроллере с дисплеем?

    • @АлександрПисанец
      @АлександрПисанец  6 років тому

      Нет, такого не было

    • @dargindarginec9561
      @dargindarginec9561 6 років тому

      я в atmelstudio не очень разбираюсь. основном в codevision пишу не сложные программы с небольшими функциями, я сейчас пытаюсь подключить тензодатчик + датчик давлении и 8 релюшек к атмега8 или 16, хочу сделать дозатор жидкости по весам вот с меню проблематично. не знаю как всё это сделать чтобы можно было вносить изменение с памятью.

  • @АлексейТрунаев-х7у
    @АлексейТрунаев-х7у 9 років тому

    Добрый день!!! Очень-бы хотелось увидеть урок от Вас в плане LCD дисплея на базе HD44780. А именно динамическую индикацию(например часы), и именно в Атмел студии. Просто вывести символы на экран получается, а вот чтоб происходили какие-либо изменения - не получается. Думаю не один я буду рад Вашей помощи. Заранее спасибо

    • @АлександрПисанец
      @АлександрПисанец  9 років тому

      Здравствуйте. Данный урок давно начат и понемногу продвигается. Конечно, медленно, быстрей не получается. На основной работе приходится самому много с чем разберется. Я просто не могу выделить времени для всего.

    • @АлексейТрунаев-х7у
      @АлексейТрунаев-х7у 9 років тому

      Понимаю, но все равно спасибо за Ваш труд. Буду с нетерпением ждать)))

  • @ЭмильИсламов-д9ч
    @ЭмильИсламов-д9ч 8 років тому

    Здравствуйте. Подскажите почему при компиляции программы появляется ошибка вызова функции "implicit declaration of function 'Enkoder' [-Werror=implicit-function-declaration", код таймера записан как у вас?

    • @АлександрПисанец
      @АлександрПисанец  8 років тому

      +Эмиль Исламов Увы не знаю, может кто подскажет другой

    • @tol1281
      @tol1281 7 років тому

      может название функции Encoder ?

  • @TheWladberlin
    @TheWladberlin 4 роки тому

    Спасибо за видео, НО очень мелко, шрифт мелкий!
    (Кстати, слово "совпадение" - так пишется, обратите внимание)

  • @thisistomas9594
    @thisistomas9594 9 років тому

    Здравствуйте, я новичок в этом деле и хотел бы поинтересоваться. Я, видите ли, пробую ради интереса заставить зависеть уровень яркости диода от температуры. Использую ATmega128RFA1. Быть может вы сможете подсобить мне с материалом, где описано то что мне нужно?

    • @АлександрПисанец
      @АлександрПисанец  9 років тому

      Томас Джей-Джей Здравствуйте. Светодиод нужно управлять при помощи шима. А значения для шима брать исходя температуры. Скажем от DS1820 (датчик температуры) или операционный усилитель с терморезистором а замер показания микроконтроллером осуществить ( ацп).

  • @llitukllituk791
    @llitukllituk791 10 років тому

    Добрый день. Скажите пожалуйста Вы работаете с программой CodeVisionAVR. Если да то подскажите мне как это реализовать в данной программе. В программировании я новичек и мне пока непонятно как это реализовать. Буду рад любой помощи.

  • @Ruzik503
    @Ruzik503 10 років тому

    Александр Писанец
    У меня к вам такой вопрос, если вместо светодиодов подключить коллекторный двигатель (электропривод щеток ветрового стекла ВАЗ), то будет это дело работать? Или нужно для двигателя другой период заполнения устанавливать?
    Делал в другой программе, частота процессора 8 мгц, период 4 мс, частота 244 гц, s19.postimg.org/uw6c85kwz/17_09.png
    Все работает, но при подключении мотора, транзистор IRF640 очень сильно греется. Напряжение на мотор 18 вольт. Схема подключения такая же как у вас с PC817. Также собирал без PC817, во всех вариантах греется транзистор, чуть ли не дымится на радиаторе.
    Что я делаю не так?
    Если собрать на NE555 .. www.joyta.ru/4324-shim-regulyator-oborotov-dvigatelya-12-volt-na-tajmere-ne555/ , то ни чего не греется, даже без радиатора холодный транзистор.

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

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

    • @Ruzik503
      @Ruzik503 10 років тому

      Александр Писанец У меня есть IRF640N и просто IRF640, без буквы N работает и не греется. Хотя наверно буква не имеет в этом случае ни какого значения. Возможно сам транзистор с буквой не исправен. Вопрос исчерпан, спасибо за ответ. ))
      Хочу сделать ШИМ регулятор оборотов двигателя подачи проволоки для сварочного полуавтомата. Нужна обратная связь для стабилизации оборотов. Не знаю как сделать, что посоветуете?
      1. Таходатчик
      2. Связь по ЭДС
      Но как реализовать один из вариантов вообще не понимаю.((
      Намекните пожалуйста на способ реализации?
      Тут наверно можно даже на этом примере, например в комнате темно, светодиоды светятся ярко, в комнате стало светло - диоды горят тускло. То есть яркость светодиодов зависит от освещенности в комнате. И этот алгоритм я как бы нибудь приделал к обратной связи для стабилизации вращения двигателя.

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Для обратной связи самый простой способ это таходатчик. Подобное делал. Все другие варианты сложнее.

    • @Ruzik503
      @Ruzik503 10 років тому

      Александр Писанец А примера нет с таходатчиком?

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Есть но он на ассемблере. По сути там и процессора не надою. С датчика выпрямляете напряжение и на компаратор. А резиком на компараторе задаете порог откл. . При достижении порогового напряжения на компараторе двигатель будет выключатся.

  • @Максим-р6у1щ
    @Максим-р6у1щ 5 років тому

    Путаете лево право. А в предыдущих Уроках еще миллисекунды и микросекунды

  • @DeltaDesignRus
    @DeltaDesignRus 7 років тому

    Злая заставка, я думал у меня что-то сгорело))))

  • @vladyslav2320
    @vladyslav2320 10 років тому +1

    Александр ,у вас есть skype или вк ?

  • @ruslanmarkiv7608
    @ruslanmarkiv7608 9 років тому +1

    З Новим Роком всіх!
    2 тиждні убив розбираючись з цією програмою!
    з кодом автора працювала а з моїм кодом (робив трохи інший код) программа не хотіла працювати.
    а проблема в тому що автор при зйомці відео не розяснив доступно і правильно (на мою думку) як працює ця частина коду:
    if (Napravlenie & (1

  • @TURBO-DRIVE
    @TURBO-DRIVE 7 років тому

    Здравствуйте, мне хотелось бы уточнить у вас одну вещь, можно ли использовать энкодер вместо потонцеометра или переменного резистора. В блоке питания, вот моя почта driver0701198222@yandex.ru

    • @АлександрПисанец
      @АлександрПисанец  7 років тому

      Можно

    • @TURBO-DRIVE
      @TURBO-DRIVE 7 років тому

      Александр Писанец но у вас тут если я не ошибаюсь на отмеге 16 сделано, а мне хотелось бы сделать на отмеге 8 или на аттиньки 13 или 2313 какой нибудь из них если это вообще возможно

    • @АлександрПисанец
      @АлександрПисанец  7 років тому

      Возможно придется подправить имена прерываний а так все одинаково.

    • @TURBO-DRIVE
      @TURBO-DRIVE 7 років тому

      а вы сможете сделать мне прошивку на аттини 2313

    • @АлександрПисанец
      @АлександрПисанец  7 років тому

      Увы, нет времени, я даже временно уроки прекратил делать.

  • @XAngelsLifeX
    @XAngelsLifeX 8 років тому +1

    Спасибо за видео