Видео по программированию контроллеров AVR
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет. Программирование микроконтроллеров avr что такое бит, байт, системы исчисления
https://www.youtube.com/watch?v=34E9cAsTQWE
https://www.youtube.com/watch?v=34E9cAsTQWE
- Реклама
Re: Видео по программированию контроллеров AVR
Хочу поблагодарить всех за видео-уроки очень познавательно. Еще бы видео по ШИМ с регулированием скважности. При
помощи кнопок, и потенциометром с помощью АЦП
помощи кнопок, и потенциометром с помощью АЦП
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет.Тема видео урока : порты ввода вывода в микроконтроллере atmega 16
https://www.youtube.com/watch?v=EkDvpXz ... CqLisJl-W6
https://www.youtube.com/watch?v=EkDvpXz ... CqLisJl-W6
Re: Видео по программированию контроллеров AVR
Вот нашел время и снял-таки очередной урок по LCD индикаторам:
https://www.youtube.com/watch?v=dy2kfvimvK0
https://www.youtube.com/watch?v=dy2kfvimvK0
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет. Тема урока : "как работает прерывания в микроконтроллере atmega 16" Общие понятия
https://www.youtube.com/watch?v=NP1K_jP ... CqLisJl-W6
https://www.youtube.com/watch?v=NP1K_jP ... CqLisJl-W6
- Реклама
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет. Урок по прерываниям INT0,INT1,INT2 в микроконтроллере Atmega 16
https://www.youtube.com/watch?v=8H7FOQp ... CqLisJl-W6
https://www.youtube.com/watch?v=8H7FOQp ... CqLisJl-W6
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет.Тема урока: Таймер Т0 нормальный режим и сброс при совпадении в Atmega 16.
https://www.youtube.com/watch?v=fxfvNA_ ... CqLisJl-W6
https://www.youtube.com/watch?v=fxfvNA_ ... CqLisJl-W6
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Прикольные, толковые уроки!
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- zim
- Открыл глаза
- Сообщения: 64
- Зарегистрирован: Вт ноя 01, 2011 10:30:00
- Откуда: Украина
- Контактная информация:
Re: Видео по программированию контроллеров AVR
Всем привет. Очередной урок для начинающих ,тема урока: работа семисегментного индикатора на микроконтроллере Atmega 16 . Pазбирем подробно всю программу
Надеюсь будет кому-то полезно.
https://www.youtube.com/watch?v=FE3NaNO ... CqLisJl-W6
Надеюсь будет кому-то полезно.
https://www.youtube.com/watch?v=FE3NaNO ... CqLisJl-W6
Re: Видео по программированию контроллеров AVR
урок из разряда "так делать не стоит"libral писал(а):Вот нашел время и снял-таки очередной урок по LCD индикаторам:
https://www.youtube.com/watch?v=dy2kfvimvK0
https://www.youtube.com/watch?v=wUB-iIh ... zJ&index=9
резисторы на общие выводы индикаторов так нельзя включать
в реальной схеме яркость будет меняться в зависимости от количества светящихся сегментов
и для эмуляции в протеусе обвес и кварц не нужны
дальше посмотрел немного
если ты взялся объяснять не только код, но и схему, то нарисуй ее сначала и правильно
стабилитрон сгорит, если резистор будет выведен из схемы (движок соединен с измерямой цепью)
в правильной схеме на входе стоит делитель
тематические ответы только в форуме, в приват не пишите
- zero648
- Вымогатель припоя
- Сообщения: 650
- Зарегистрирован: Пн июн 18, 2012 12:01:04
- Откуда: Челябинская область, Копейск
Re: Видео по программированию контроллеров AVR
Не увидел, где именно стоят резисторы на общих выходах.kalobyte писал(а):урок из разряда "так делать не стоит"
https://www.youtube.com/watch?v=wUB-iIh ... zJ&index=9
резисторы на общие выводы индикаторов так нельзя включать
......
Re: Видео по программированию контроллеров AVR
Вы наверное очень крутой электронщик! Зачем уроки смотрите? Вам это не нужно!kalobyte писал(а):урок из разряда "так делать не стоит"
Мои уроки для людей более и менее понимающих в электронике. Остальным сначала сюда: http://radiokot.ru/forum/viewforum.php?f=21
Уроки не по схемотехнике, а по программированию!
Re: Видео по программированию контроллеров AVR
Присоединяюсь к благодарностям особенно ТП за преподавательский талант а то смотрел много уроков а дошло только после просмотра ликбеза от libraltolik-gsm писал(а):Хочу поблагодарить всех за видео-уроки очень познавательно.
Чего уставился как WINDOWS на новое устройство ? ВЕРНИТЕ В МОДУ ДОБРОТУ!
Re: Видео по программированию контроллеров AVR
Спасибо за комплимант! Сам начинал учить программирование с уроков примерно в таком-же стиле. Чтобы быстро начать самое то. Но не зацикливайтесь только на видео уроках, читайте профессиональную литературу, которой сейчас в сети уже вполне хватает. Как минимум нужна книга "Микроконтроллеры AVR семейства Mega" А.В.Евстифеев. По Codevision книга "CodeVisionAVR. Пособие для начинающих" Лебедев М.Б.
Re: Видео по программированию контроллеров AVR
Без понимания принципа литература как библия для атеиста - загадочный набор фраз , хочется спросить но спрашивать то о чём ... читая литературу дальше настройки портов не пролез , а что такое функция и выбор её для разных случаев , что такое переменная , что такое массив... понял уже с 4 ваших уроков, с функцией пока не всё ясно но думаю тут уже литература поможет так как тут такие вопросы будут считаться оффтопом , я и так уже нафлудил этим постом ... в любом случае - респект от меня лично , продолжайте в том же ключе , вот ещё бы видео по разжёвыванию назначения циклов
.
Чего уставился как WINDOWS на новое устройство ? ВЕРНИТЕ В МОДУ ДОБРОТУ!
Re: Видео по программированию контроллеров AVR
все относительноlibral писал(а):Вы наверное очень крутой электронщик!
почему же? всегда можно что-то новое для себя найтиlibral писал(а):Зачем уроки смотрите? Вам это не нужно!
я по нескольку раз смотрю ролик через некоторые промежутки времени и бывает нахожу новое
если бы было так, ты бы не рисовал транзисторы в протеусе, для симуляции они не нужныlibral писал(а):Уроки не по схемотехнике, а по программированию!
итого, вместо благодарностей за указанные ошибки, ты обиделся
тематические ответы только в форуме, в приват не пишите
Re: Видео по программированию контроллеров AVR
Крутойlibral писал(а):Вы наверное очень крутой электронщик! Зачем уроки смотрите? Вам это не нужно!kalobyte писал(а):урок из разряда "так делать не стоит"
Мои уроки для людей более и менее понимающих в электронике. Остальным сначала сюда: http://radiokot.ru/forum/viewforum.php?f=21
Уроки не по схемотехнике, а по программированию!
Чего уставился как WINDOWS на новое устройство ? ВЕРНИТЕ В МОДУ ДОБРОТУ!
Re: Видео по программированию контроллеров AVR
Какие ошибки? Где ошибки?kalobyte писал(а):вместо благодарностей за указанные ошибки
Re: Видео по программированию контроллеров AVR
во-первых еще раз говорю про резисторы в коллекторах
во-вторых аналоговая земля мк и аналоговое питание должны всегда быть подключены, даже если ацп не используеш
в-третьих стабилитрон сгорит при кручении резистора, в твоем примере он не нужен просто, а защита входа делается не так
точнее входной делитель не так
13:04 в регистре адцв будет максимальное число 1023, т.к. 1024 - это количество комбинаций в 10 битах, а диапазон значений 0-1023
а зачем ты вызываеш функцию ацп, а потом в цикле фор береш результат из регистра?
у тебя же функция возвращает результат
на 15:08 я поржал конкретно
вот этот нолик я пропускаю, не знаю почему, но пропускаю, а то результаты не вписываются в теорию
а все потому, что неправильная схема делителя
объясняю
у тебя опорное 5в, т.к. ты выбрал avcc в конфигураторе
т.е. максимальное напряжение на входе ацп должно быть 5в и это будет 1023
у тебя максимальное измеряемое напряжение в 10 раз больше, поэтому ошибка на порядок и поэтому один ноль надо убирать
ну и нельзя просто так взять и умножить инт на флоат, как ты это делаеш
правильный компилятор не допускает такое умножение и требует преобразование типов
как нужно правильно делать?
параллельно входу ацп подключается резистор 10к, т.к. это рекомендуемое сопротивление, кратное 10 и оно достаточно низкое, чтобы шунтировать высокоомный вход ацп и в то же время не быть сильно большим
последовательно с этим резистором нужен еще один резистор
http://www.raltron.com/cust/tools/voltage_divider.asp вот как в этом калькуляторе
сопротивление р1 для 50в будет 90к
при таком сопротивлении можно поставить и стабилитрон на 5в
если напряжение больше 50в и резисторы смд, то надо несколько резисторов последовательно включать, чтобы не было пробоя
а чтобы в протеусе регулировать напряжение, надо с движка переменного резистора уже подавать на вход этого делитель 0-50в и тогда не надо выкидывать никакой ноль
17:55
адцв это не переменная, а регистр - специальная память в 2 байта в модуле ацп
в твоем быдлокоде умножение на регистр адцв сработало только поэтому
если бы это была переменная, то после отработки функции она бы была уничтожена
правильно нужно было делать так
int adc_result, voltage;
...
ацп 10 разрядный и там 1024 значения
5в/1024 = 0.0048в на один бит
adc_result = read_adc(5); // можно сразу умножить на 48, но так нагляднее
voltage = 48 * adc_result; при максимальном значении в 5в "напряжение" будет 49104 единицы (не выходит за рамки инт 65535)
делим это на 10000 и получаем 4.9104в (в твоем случае 49.1в должно быть)
эти преобразования надо делать в функции индикации, чтобы не плодить переменные с десятичными числами, 8 битные контроллеры их очень не любят
как видим, 10 битная точность тут нам нахер не нужна
---
резистор в протеусе на максимуме на самом деле не на максимуме, а вносит ошибку на 1 разряд ацп
такие дела
во-вторых аналоговая земля мк и аналоговое питание должны всегда быть подключены, даже если ацп не используеш
в-третьих стабилитрон сгорит при кручении резистора, в твоем примере он не нужен просто, а защита входа делается не так
точнее входной делитель не так
13:04 в регистре адцв будет максимальное число 1023, т.к. 1024 - это количество комбинаций в 10 битах, а диапазон значений 0-1023
а зачем ты вызываеш функцию ацп, а потом в цикле фор береш результат из регистра?
у тебя же функция возвращает результат
на 15:08 я поржал конкретно
вот этот нолик я пропускаю, не знаю почему, но пропускаю, а то результаты не вписываются в теорию
а все потому, что неправильная схема делителя
объясняю
у тебя опорное 5в, т.к. ты выбрал avcc в конфигураторе
т.е. максимальное напряжение на входе ацп должно быть 5в и это будет 1023
у тебя максимальное измеряемое напряжение в 10 раз больше, поэтому ошибка на порядок и поэтому один ноль надо убирать
ну и нельзя просто так взять и умножить инт на флоат, как ты это делаеш
правильный компилятор не допускает такое умножение и требует преобразование типов
как нужно правильно делать?
параллельно входу ацп подключается резистор 10к, т.к. это рекомендуемое сопротивление, кратное 10 и оно достаточно низкое, чтобы шунтировать высокоомный вход ацп и в то же время не быть сильно большим
последовательно с этим резистором нужен еще один резистор
http://www.raltron.com/cust/tools/voltage_divider.asp вот как в этом калькуляторе
сопротивление р1 для 50в будет 90к
при таком сопротивлении можно поставить и стабилитрон на 5в
если напряжение больше 50в и резисторы смд, то надо несколько резисторов последовательно включать, чтобы не было пробоя
а чтобы в протеусе регулировать напряжение, надо с движка переменного резистора уже подавать на вход этого делитель 0-50в и тогда не надо выкидывать никакой ноль
17:55
адцв это не переменная, а регистр - специальная память в 2 байта в модуле ацп
в твоем быдлокоде умножение на регистр адцв сработало только поэтому
если бы это была переменная, то после отработки функции она бы была уничтожена
правильно нужно было делать так
int adc_result, voltage;
...
ацп 10 разрядный и там 1024 значения
5в/1024 = 0.0048в на один бит
adc_result = read_adc(5); // можно сразу умножить на 48, но так нагляднее
voltage = 48 * adc_result; при максимальном значении в 5в "напряжение" будет 49104 единицы (не выходит за рамки инт 65535)
делим это на 10000 и получаем 4.9104в (в твоем случае 49.1в должно быть)
эти преобразования надо делать в функции индикации, чтобы не плодить переменные с десятичными числами, 8 битные контроллеры их очень не любят
как видим, 10 битная точность тут нам нахер не нужна
---
резистор в протеусе на максимуме на самом деле не на максимуме, а вносит ошибку на 1 разряд ацп
такие дела
- Вложения
-
- resistor.gif
- (34.41 КБ) 758 скачиваний
-
- error.gif
- (120.3 КБ) 2286 скачиваний
тематические ответы только в форуме, в приват не пишите
-
pcb
- Опытный кот
- Сообщения: 833
- Зарегистрирован: Пт авг 12, 2011 09:14:27
- Откуда: Млечный путь/Земля/РФ/Екатеринбург
Re: Видео по программированию контроллеров AVR
Вот тебе делать нефиг. Тело захотело заработать на том, в чем не разбирается. А ты ему помогаешь это сделатьkalobyte писал(а):во-первых еще раз говорю про резисторы в коллекторах
во-вторых аналоговая земля мк и аналоговое питание должны всегда быть подключены, даже если ацп не используеш
такие дела
И вообще непонятна суть этого топика пропиарить ресурс? А канал ютуба это и есть отдельный ресурс...
Хочешь пиарится делай скриншоты и оформляй правильно тему. ибо не икс...
Разработал:
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ
-BLDC
-ФУОЗ/МПСЗ
-SMART BMS
-ECU/EDC на STM32F4(43%)+CPLD(57%)
-Моноинжектор на ATSAMD20G16
-контроллер эффектов для RGB LED ленты
-умные часы/обратный счет/секундомер
-устройство измерения емкости АКБ


