Quartz crystal | Customizing fusions | Microcontrollers from scratch # 16
HTML-код
- Опубликовано: 14 сен 2024
- It is shown how to connect a quartz crystal to the microcontroller and adjust the fuses of the microcontroller ATmega8. A quartz resonator is a kind of frequency generator. Although many MCs, including ATmega8, have a built-in generator, or rather an RC-chain, and can do without external quartz. For many tasks such a solution is completely justified, but once the MC is used to accurately count the time or to form a given time interval - various measuring devices, a quartz crystal should be applied without fail. Because it has more accuracy than the internal generator of the MC.
In order for the microcontroller to work from a quartz crystal, it is necessary to configure fusions, which are also called protection bits, although the latter is not entirely correct. How to perform the specified actions is shown in this video.
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
подскажите пожалуйста, а где найти программу, что у вас в ролике - DATASHEET SEARCH SITE?
Ппрофесионализъм и академично изложение! Удоволствие е да си част от този процес! Благодаря!
Спасибо за материалы, смотрю через VPN. Не удаляйте, очень интересный контент!
Молодец.Обьясняеш доступным языком спасибо!
Благодарствую за очередной урок, учитель! Все подключил, все работает- мигает🎉
Спасибо тебе добрый человек, единственный кто разложил что и как!!! Подписка!!!
Пожалуй оставлю ссылку на калькулятор фьюзов, надеюсь автор не против. Новичкам пригодится homes-smart.ru/fusecalc/
Дмитре, бачу, що Ваші руки не лише паяльник тримають! Руки натруджені, голова світла. Ви гордість українського народу!💛💙 Миру Вам!
Очень толково обьясняешь! Продолжай так дальше! Жду твоих новых видео!
всегда лайк, благодарность, ждем новый урок!!
Молодец, продолжай в том же духе. Ждем продолжения! держи лайк
Мне понравилось описание фьюзов у одно чела, раньше фьюзы были так сказать аппаратные, то-есть пережигаемые перемычки, когда перемычка целая, фьюз выключен, а когда её сожгли фьюз установлен, это помогает разобраться с прямыми и инверсными фьюзами.
А вообще самая удобная работа с фюзами в программе Khazama
Уважаемый автор, а где продолжение этого цикла?
Ваши подписчики требуют продолжения банкета!!! :)
Продолжение проверки и испытания работы кварцевого резонатора я провожу с помощью двух генераторов 470 - 530 кгц
Сигналы вч подаю на смеситель и слушаю через усилитель
ruclips.net/video/kgzhxaMps-g/видео.html
Прошу сообщить понятен ли метод которым я пользуюсь
ruclips.net/video/kgzhxaMps-g/видео.html
В качалку ходишь или картошку капал?
Спасибо
Детальное объяснение
Хороший урок.
Но, в протеусе не обязательно подключать кварц. Достаточно прописать его значение в Мгц по щелчку правой мыши в "Edit Properties" во вкладке "Clock Freguency".
И надо было внимание заострить при установке фьюзов на их HEX значения.
Еще бы надо было сказать как то так: "...если вы считали фьюзы, и бит SPIEN имеет галку, то все фьюзы, будут читаться как инверсные, а если нет... то как в даташите.
Ну и рассказать, чем грозит изменение его значения, хотя в "дудке" его не изменить, не залезая в ини файл.
И собственно вопрос. Занимаюсь PIC. Атмега в новинку. Возможно ли "делать дебаг", и пошаговую отладка прямо в протеусе, и править код там же, как на PIC? Если да, то какой Сишный компилятор прикрутить? Пишу на Си. Зацепило протеусом, MPASM (Proteus), AVRASM, ASEM-51, явно не Сишные.
Видео - просто класс!
Здравствуйте спасибо вам так интересно у вас курсы есть по программированию МК
Все грамотно.Сделай урок про UART
Как изменить фьюзы, чтобы в атмега 328 работал внутренний кварц на 8мгц, спасибо?
F_CPU необходим для для функции delay. Если не использовать ее библиотеку, то и не нужно указывать частоту.
Очень круто
Отлично!
Спасибо
очень полезно, спасибо.
Доброго времени суток, подскажите работает ли микруха с кварцами промежуточных значений например 7.145 или 13.750 если да то как на эту частоту настроить контроллер?
Порадовал!!!
а можно одновременно использовать как внутреннюю рц-цепочку так и внешний резонатор?
вы фьюз биты не можете выставить сразу для двух режимов.
Не очень поняла ситуацию с возвратом на внутреннее тактирование после кварца. С программой понятно, а что делать с фьюзами? Не вынимая кварц проставить галочки на внутренний генератор? То есть в какой-то момент во время программирования он перескочит с одного источника на другой, внутренний?
Да, МК находясь на внешке и получив фьюзы для внутреннего, включает внутренний и переходит на него. Если выдернуть кварц, то камень не может прописать фьюзы в таком режиме и как следствие включить внутренний генератор и перейти на него.
нельзя ли снять подобное видео но с часовым кварцем (32,768) ? Либо написать статью. после установки фьюзов ничего не могу сделать с МК, ни считать ни прошить программу. Нашел конечно информацию в интернете что это связано со "скоростью прошивки" но перепробовал все советы ничего не помогло, просто не понимаю что делаю неверно...
Здравствуйте продолжение уроков будет ?
Здравствуйте, продолжение будет.
Прошил с кварцем один раз...теперь на любое действие ошибка(( все, убил контроллер?
Что значит взести биты? Это подать на транзисторы напряжение? Как напряжение находит свои транзисторы имеено нужные транзисторы, а не какие попало?
Вопрос возник: что такое UL в строке #define F_CPU 8000000UL ? Ставлю, например, LU или убираю эти буквы и все работает так же как и с UL.
Нашел ответ ниже. Спасибо sense.
спасибо за видео . подскажите начинаещему в чем раздница амег 8 с буквой АМЕГА 8А
ATMEGA8A с низким потреблением энергии.
что будет если неправильно настроить фьюзы? что делают конденсаторы в комплекте с кварцем?
Будут не правильно пересчитаны импульсы во время в аппаратных таймерах. Конденсаторы нужны что бы создать контур для осцилляции тока. Без них кварц не войдёт в резонанс.
Добрый день.
Скажи пожалуйста, для чего нужны буквы UL в указании частоты и какие ещё буквы бывают ?
U - unsigned (без знаковый), L - long(длинный). Если их не указать, то константа будет наименьшего возможного типа.
В зависимости от значения целой константы компилятор присваивает ей тот или иной тип (char, int, long int).
С помощью суффикса U (или u) можно представить целую константу в виде беззнакового целого.
Например, Константе 200U выделяется 1 байт, и старший бит используется для представления одного из разрядов кода числа и диапазон значений становится от 0 до 255. Суффикс L (или l) позволяет выделить целой константе 8 байт (long int).
Совместное использование в любом порядке суффиксов U (или u) и L (или l) позволяет приписать целой константе тип unsigned long int, и она займет в памяти 64 разряда, причем знаковый разряд будет использоваться для представления разряда кода (а не знака). (prog-cpp.ru/c-constants/)
Большое спасибо.
Подскажите, у AT89S8253 фьюзы настраиваются? Ставлю по очереди два резонатора на 24 МГц от разных производителей , в итоге с одним частота в 3 раза меньше.
Кварцы бывают гармониковые, скорее всего тот кварц гармониковый, и 24 МГц выдает на 3-й гармонике, соответственно основная частота 24/3=8 МГц
Да я уже разобрался. Нужно смотреть характеристики резонатора конкретного производителя. Так и оказалось, что одни работают на основной гармонике а другие на третьей.
@@user-hy5th1it3u Статью когда то читал в МК или ЮТ Тайна третьей гармоники. название помню, а сути нет (( Но вроде там про блоки питания было импульсные.
Блиан. Сраные инверсные и неинверсные биты. Переключил с одного на другой, и там почему то автоматом поставились везде 0. Прошил, жопа контроллеру. Следом попробовал поставить новые оставшиеся 2 штуки Atmega8 еще раз. но уже с исправленными битами. Программатор больше не читает их. Ошибка в AVRdude cannot set sck repiod. pelase check for usbasp firmware update. Что могло с ним произойти. Скачал самую свежую версию avrdude, все так же (((((( Че теперь делать не знаю
Зачем в программе писать частоту работы процессора при подключение внешнего резонатора, если при смене резонатора на другой номинал частота меняется? И от записанной частоты в программе не зависит?
Может для того что бы знать на какой частоте работает не рассматривая маркировку.
@@numizmat2883 Это предположение, а хотелось бы точно. Может в процессоре есть калибратор который по выставленному значению и физической величине кварца сам выставляет делители для частоты. Если мое предположение верно то тогда как сказал автор можно воткнуть кварц большего номинала чем положено и процессор все равно будет работать. Ну как то так, а есть еще интересные варианты где бы это могло работать. Например при переходе в спящий режим что бы экономить энергию можно понизить частоту.
Мож кто то тоже задаёт такой вопрос. В программе указывается для задержки и функция делай будет делать правильную задержку по времени. Скажем просто вы выставили 1секунду и указываете в программе 1мгц 4мгц 8мгц... Зная частоту программа всегда будет делать задержку в 1сек
Зачем микроконтроллеру такая высокая частота, даже килогерцы много, не говоря о мега герцах, когда светодиод моргает с частотой 1 Гц?
0 это включенно, 1 это выключенный фьюз. Вообще то по документации
Автор А программы пишешь ?
приветствую автор, ну скинь толковую ссылку или сам расскажи как создать библиотеку в "атмел студио", а то толковой инфы не нахожу. Или способов много!?
В атмел студио File/New/Project.../GCC C Static Library Project
дружище скажи, по авр уроки еще будут, а то долго нету
Будут, обязательно. Сейчас напряг со свободным временем.
пртветствую автор. слушай а можно писать код на си в атмел студио для ардуино, если да, сделай урок как это осуществить, думаю всем интересно будет. как раз готовая отладочная плата
а зачем писать в ATMEL на C для Ардуино? Когда можно написать в ATMEL на С для AtMega328, который сидит в платке Ардуино UNO например и прошивать его через SPI.
ломом работал?характерные мазоли
это от паяльника, наверное.
Ну и зачем кварц в протеусе подключал если все равно пришлось модель настраивать...
Протеусу вообще не пофиг. Можно и не подключать кварц в нём. Главное частоту в нем выставить.
Всё одно... Ничего не понял... Зачем козе баян??? Зачем нужно цеплять внешний кварц 8 Мгц, если есть внутренний 8 Мгц... Что меняется??? Что значит Hi. Low.Middle при выборе внешнего кварца? У меня сносит башню...
точность отсчёта периодов и независимость от температуры. ну или существенно меньшая зависимость. на рц за сутки часты уйдут на 20 минут, например, а на кварце на несколько секунд. при передаче данных есть протоколы архичувствительные к часам. если подключен к ацп доплеровский датчик, то нужны очень точные отсчёты коротких промежутков и др
А как более точно подобрать конденсатор к кварцу?
Нашёл ответ?
@@proletarian принцип понял, но ответа так и не нашёл.
@@proletarian номиналы балластных конденсаторов (каждого) равны двойной ёмкости кварца минус емкость пина камня (около 5 пик) и минус ёмкость дорожки до кварца (5..10пик). При четком подборе номинала синусоида кварца будет бОльшей амплитуды. Но если номинал будет не точный, то работать все равно будет, просто амплитуда синуса немного упадет.
@@101picofarad спасибо
@@proletarian эту синусоиду можно увидеть осциллографом , ткнувшись щупом с делением 10х в один из выводов кварца (на другом выводе будет кривая синусоида).
Продолжения не будет?? :(
Продолжение будет скорее всего с сентября, а может и раньше.
Отлично, рад слышать! С нетерпением жду (и не я один) продолжения как по МК так и по электронике! :) Спасибо большое за ваши видео)
@@user-li4xh9fi6w Доброе утро/вечер/день, столкнулся c конденсаторами на 500 В в обвязке "кварца". Ситуация та же, микроконтроллер + "кварц". Пока не нашел объяснения такому выбору напряжения. Поскольку такие конденсаторы мне не доступны, хотелось бы получить объяснение или совет по данному вопросу. С чем это может быть связано и почему нельзя использовать, к примеру, конденсаторы на 50 В ?
Как всё сложно🤦♂️
Не внутренний кварц, а внутренняя RC цепь
+
Дорогой автор, я вот думаю, а мозгов допереть не хватает. Вот выставил я в коде интервал 1 сек через функцию _delay_ms(1000); и не секунда получается, а намного быстрее чем 1 секунда, но вот только я подключаю таймер так всё работает ровно 1 секунда как прописал так и есть. Вопрос в том, что за фигня с _delay_ms(1000); ?
автор канал ты здесь? у меня есть вопрос, я смотрю ты разбираешься, поэтому хочу от тебя подсказку услышать
По моему 220 это не 22пф а как есть 220пф.
Если написано 220 то это значит что 22*10 в степени 0. А любое число в степени 0 есть 1. Получаем 22*1= 22 .
Прошу сообщить понятен ли метод проверки и испытания работы кварцевого резонатора 500 кгц с помощью двух генераторов 470 - 530 кгц
ruclips.net/video/kgzhxaMps-g/видео.html
Как же бесит этот "даташыт". Шит (shit) по английски значит - дерьмо, a data sheet читается как 'дейтэщиит'. В русском есть слово "спецификация", а вот такой бессмыслицы как "даташыт" в нём нет.
гурман... а я читаю всё в немецком варианте. знакомые усыкаются. Зато понятно как писать. Реад, врите, Бооль, унсигнед, До вхиле... понапридумывали ритуалов с буквами: читается не читается, подразумевается, но редуцировано. ашпротивно.