Quartz crystal | Customizing fusions | Microcontrollers from scratch # 16

  Переглядів 61,793

Dmitriy Zabarilo

Dmitriy Zabarilo

6 років тому

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.

КОМЕНТАРІ: 92
@user-li4xh9fi6w
@user-li4xh9fi6w 2 роки тому
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/ Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
@vorysgelo
@vorysgelo 2 роки тому
подскажите пожалуйста, а где найти программу, что у вас в ролике - DATASHEET SEARCH SITE?
@cinemayubileyny6467
@cinemayubileyny6467 Рік тому
Спасибо за материалы, смотрю через VPN. Не удаляйте, очень интересный контент!
@user-yz2my6kp5i
@user-yz2my6kp5i 4 роки тому
Ппрофесионализъм и академично изложение! Удоволствие е да си част от този процес! Благодаря!
@user-uj9rw9ty1e
@user-uj9rw9ty1e 5 місяців тому
Благодарствую за очередной урок, учитель! Все подключил, все работает- мигает🎉
@petrdorohov3170
@petrdorohov3170 10 місяців тому
Спасибо тебе добрый человек, единственный кто разложил что и как!!! Подписка!!!
@serg75222
@serg75222 5 років тому
Молодец.Обьясняеш доступным языком спасибо!
@user-ge7gm1ln3v
@user-ge7gm1ln3v 6 років тому
всегда лайк, благодарность, ждем новый урок!!
@sirena-5
@sirena-5 Рік тому
Дмитре, бачу, що Ваші руки не лише паяльник тримають! Руки натруджені, голова світла. Ви гордість українського народу!💛💙 Миру Вам!
@rostyslavfedorenko7859
@rostyslavfedorenko7859 6 років тому
Очень толково обьясняешь! Продолжай так дальше! Жду твоих новых видео!
@user-hb4sx3lh2q
@user-hb4sx3lh2q 6 років тому
Молодец, продолжай в том же духе. Ждем продолжения! держи лайк
@user-lo2ue9zp7k
@user-lo2ue9zp7k 5 місяців тому
Спасибо Детальное объяснение
@never.m1nd
@never.m1nd 5 років тому
Пожалуй оставлю ссылку на калькулятор фьюзов, надеюсь автор не против. Новичкам пригодится homes-smart.ru/fusecalc/
@microsoft8792
@microsoft8792 2 роки тому
Видео - просто класс!
@x-comics4581
@x-comics4581 6 років тому
Порадовал!!!
@zaharshoihit1183
@zaharshoihit1183 5 років тому
Уважаемый автор, а где продолжение этого цикла? Ваши подписчики требуют продолжения банкета!!! :)
@rk4lwe687
@rk4lwe687 2 роки тому
Продолжение проверки и испытания работы кварцевого резонатора я провожу с помощью двух генераторов 470 - 530 кгц Сигналы вч подаю на смеситель и слушаю через усилитель ukposts.info/have/v-deo/o5ernK6YhKakjps.html Прошу сообщить понятен ли метод которым я пользуюсь ukposts.info/have/v-deo/o5ernK6YhKakjps.html
@MrRONE777
@MrRONE777 4 роки тому
Очень круто
@Comatech
@Comatech 5 років тому
Мне понравилось описание фьюзов у одно чела, раньше фьюзы были так сказать аппаратные, то-есть пережигаемые перемычки, когда перемычка целая, фьюз выключен, а когда её сожгли фьюз установлен, это помогает разобраться с прямыми и инверсными фьюзами.
@Comatech
@Comatech 5 років тому
А вообще самая удобная работа с фюзами в программе Khazama
@Elkhan896
@Elkhan896 3 роки тому
очень полезно, спасибо.
@laune73
@laune73 5 років тому
Отлично!
@user-ow9yl4ut4t
@user-ow9yl4ut4t 4 роки тому
Спасибо
@user-sm1xh8fm6u
@user-sm1xh8fm6u 5 років тому
В качалку ходишь или картошку капал?
@user-je2dr7cx8h
@user-je2dr7cx8h 3 дні тому
Здравствуйте спасибо вам так интересно у вас курсы есть по программированию МК
@user-bf1gy1in1c
@user-bf1gy1in1c 6 років тому
Все грамотно.Сделай урок про UART
@user-bf2cl9yp2u
@user-bf2cl9yp2u 5 років тому
Хороший урок. Но, в протеусе не обязательно подключать кварц. Достаточно прописать его значение в Мгц по щелчку правой мыши в "Edit Properties" во вкладке "Clock Freguency". И надо было внимание заострить при установке фьюзов на их HEX значения. Еще бы надо было сказать как то так: "...если вы считали фьюзы, и бит SPIEN имеет галку, то все фьюзы, будут читаться как инверсные, а если нет... то как в даташите. Ну и рассказать, чем грозит изменение его значения, хотя в "дудке" его не изменить, не залезая в ини файл. И собственно вопрос. Занимаюсь PIC. Атмега в новинку. Возможно ли "делать дебаг", и пошаговую отладка прямо в протеусе, и править код там же, как на PIC? Если да, то какой Сишный компилятор прикрутить? Пишу на Си. Зацепило протеусом, MPASM (Proteus), AVRASM, ASEM-51, явно не Сишные.
@aleksandrjezov910
@aleksandrjezov910 3 роки тому
Доброго времени суток, подскажите работает ли микруха с кварцами промежуточных значений например 7.145 или 13.750 если да то как на эту частоту настроить контроллер?
@vladimirlee5928
@vladimirlee5928 3 роки тому
F_CPU необходим для для функции delay. Если не использовать ее библиотеку, то и не нужно указывать частоту.
@serbeer1240
@serbeer1240 5 років тому
Автор А программы пишешь ?
@MSVSanjok
@MSVSanjok 18 днів тому
Как изменить фьюзы, чтобы в атмега 328 работал внутренний кварц на 8мгц, спасибо?
@zaharshoihit1183
@zaharshoihit1183 6 років тому
Добрый день. Скажи пожалуйста, для чего нужны буквы UL в указании частоты и какие ещё буквы бывают ?
@sense3247
@sense3247 6 років тому
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/)
@zaharshoihit1183
@zaharshoihit1183 6 років тому
Большое спасибо.
@user-uv7oe9nj9u
@user-uv7oe9nj9u 3 роки тому
спасибо за видео . подскажите начинаещему в чем раздница амег 8 с буквой АМЕГА 8А
@vladimirlee5928
@vladimirlee5928 3 роки тому
ATMEGA8A с низким потреблением энергии.
@user-fo7ox5yp9o
@user-fo7ox5yp9o 5 років тому
Здравствуйте продолжение уроков будет ?
@user-li4xh9fi6w
@user-li4xh9fi6w 5 років тому
Здравствуйте, продолжение будет.
@pinknoise7613
@pinknoise7613 3 роки тому
Не очень поняла ситуацию с возвратом на внутреннее тактирование после кварца. С программой понятно, а что делать с фьюзами? Не вынимая кварц проставить галочки на внутренний генератор? То есть в какой-то момент во время программирования он перескочит с одного источника на другой, внутренний?
@101picofarad
@101picofarad 3 роки тому
Да, МК находясь на внешке и получив фьюзы для внутреннего, включает внутренний и переходит на него. Если выдернуть кварц, то камень не может прописать фьюзы в таком режиме и как следствие включить внутренний генератор и перейти на него.
@yuryfull5136
@yuryfull5136 4 роки тому
а можно одновременно использовать как внутреннюю рц-цепочку так и внешний резонатор?
@vladimirlee5928
@vladimirlee5928 3 роки тому
вы фьюз биты не можете выставить сразу для двух режимов.
@user-ge7gm1ln3v
@user-ge7gm1ln3v 6 років тому
пртветствую автор. слушай а можно писать код на си в атмел студио для ардуино, если да, сделай урок как это осуществить, думаю всем интересно будет. как раз готовая отладочная плата
@vladimirlee5928
@vladimirlee5928 3 роки тому
а зачем писать в ATMEL на C для Ардуино? Когда можно написать в ATMEL на С для AtMega328, который сидит в платке Ардуино UNO например и прошивать его через SPI.
@user-ge7gm1ln3v
@user-ge7gm1ln3v 6 років тому
приветствую автор, ну скинь толковую ссылку или сам расскажи как создать библиотеку в "атмел студио", а то толковой инфы не нахожу. Или способов много!?
@DOMINATOR-ou8nz
@DOMINATOR-ou8nz 4 роки тому
В атмел студио File/New/Project.../GCC C Static Library Project
@TIM7283
@TIM7283 3 роки тому
нельзя ли снять подобное видео но с часовым кварцем (32,768) ? Либо написать статью. после установки фьюзов ничего не могу сделать с МК, ни считать ни прошить программу. Нашел конечно информацию в интернете что это связано со "скоростью прошивки" но перепробовал все советы ничего не помогло, просто не понимаю что делаю неверно...
@user-hy5th1it3u
@user-hy5th1it3u 5 років тому
Подскажите, у AT89S8253 фьюзы настраиваются? Ставлю по очереди два резонатора на 24 МГц от разных производителей , в итоге с одним частота в 3 раза меньше.
@BetacamSP
@BetacamSP 5 років тому
Кварцы бывают гармониковые, скорее всего тот кварц гармониковый, и 24 МГц выдает на 3-й гармонике, соответственно основная частота 24/3=8 МГц
@user-hy5th1it3u
@user-hy5th1it3u 5 років тому
Да я уже разобрался. Нужно смотреть характеристики резонатора конкретного производителя. Так и оказалось, что одни работают на основной гармонике а другие на третьей.
@stepansml6713
@stepansml6713 Рік тому
@@user-hy5th1it3u Статью когда то читал в МК или ЮТ Тайна третьей гармоники. название помню, а сути нет (( Но вроде там про блоки питания было импульсные.
@BitlllJooS
@BitlllJooS 2 роки тому
Прошил с кварцем один раз...теперь на любое действие ошибка(( все, убил контроллер?
@user-ef2rr7kz4m
@user-ef2rr7kz4m 5 років тому
Зачем в программе писать частоту работы процессора при подключение внешнего резонатора, если при смене резонатора на другой номинал частота меняется? И от записанной частоты в программе не зависит?
@numizmat2883
@numizmat2883 5 років тому
Может для того что бы знать на какой частоте работает не рассматривая маркировку.
@user-ef2rr7kz4m
@user-ef2rr7kz4m 5 років тому
@@numizmat2883 Это предположение, а хотелось бы точно. Может в процессоре есть калибратор который по выставленному значению и физической величине кварца сам выставляет делители для частоты. Если мое предположение верно то тогда как сказал автор можно воткнуть кварц большего номинала чем положено и процессор все равно будет работать. Ну как то так, а есть еще интересные варианты где бы это могло работать. Например при переходе в спящий режим что бы экономить энергию можно понизить частоту.
@Nyamchik-0_0
@Nyamchik-0_0 3 роки тому
Мож кто то тоже задаёт такой вопрос. В программе указывается для задержки и функция делай будет делать правильную задержку по времени. Скажем просто вы выставили 1секунду и указываете в программе 1мгц 4мгц 8мгц... Зная частоту программа всегда будет делать задержку в 1сек
@user-ge7gm1ln3v
@user-ge7gm1ln3v 6 років тому
дружище скажи, по авр уроки еще будут, а то долго нету
@user-li4xh9fi6w
@user-li4xh9fi6w 6 років тому
Будут, обязательно. Сейчас напряг со свободным временем.
@microsoft8792
@microsoft8792 2 роки тому
Вопрос возник: что такое UL в строке #define F_CPU 8000000UL ? Ставлю, например, LU или убираю эти буквы и все работает так же как и с UL.
@microsoft8792
@microsoft8792 2 роки тому
Нашел ответ ниже. Спасибо sense.
@user-bd6ox3mw8n
@user-bd6ox3mw8n 2 роки тому
Что значит взести биты? Это подать на транзисторы напряжение? Как напряжение находит свои транзисторы имеено нужные транзисторы, а не какие попало?
@user-fr9sn4cf6h
@user-fr9sn4cf6h 5 років тому
ломом работал?характерные мазоли
@stepansml6713
@stepansml6713 Рік тому
это от паяльника, наверное.
@user-xt9ht5cy2t
@user-xt9ht5cy2t 2 роки тому
что будет если неправильно настроить фьюзы? что делают конденсаторы в комплекте с кварцем?
@user-sw9fs8je2g
@user-sw9fs8je2g Рік тому
Будут не правильно пересчитаны импульсы во время в аппаратных таймерах. Конденсаторы нужны что бы создать контур для осцилляции тока. Без них кварц не войдёт в резонанс.
@user-bd6ox3mw8n
@user-bd6ox3mw8n 2 роки тому
Зачем микроконтроллеру такая высокая частота, даже килогерцы много, не говоря о мега герцах, когда светодиод моргает с частотой 1 Гц?
@Yupitrer
@Yupitrer 4 роки тому
+
@sskdll
@sskdll 5 років тому
Продолжения не будет?? :(
@user-li4xh9fi6w
@user-li4xh9fi6w 5 років тому
Продолжение будет скорее всего с сентября, а может и раньше.
@sskdll
@sskdll 5 років тому
Отлично, рад слышать! С нетерпением жду (и не я один) продолжения как по МК так и по электронике! :) Спасибо большое за ваши видео)
@user-hh6nj1tx6d
@user-hh6nj1tx6d 3 роки тому
@@user-li4xh9fi6w Доброе утро/вечер/день, столкнулся c конденсаторами на 500 В в обвязке "кварца". Ситуация та же, микроконтроллер + "кварц". Пока не нашел объяснения такому выбору напряжения. Поскольку такие конденсаторы мне не доступны, хотелось бы получить объяснение или совет по данному вопросу. С чем это может быть связано и почему нельзя использовать, к примеру, конденсаторы на 50 В ?
@user-jn4oy9yr3g
@user-jn4oy9yr3g 5 років тому
Ну и зачем кварц в протеусе подключал если все равно пришлось модель настраивать...
@splinterkab9007
@splinterkab9007 4 роки тому
Протеусу вообще не пофиг. Можно и не подключать кварц в нём. Главное частоту в нем выставить.
@evgenyprokopenkov6655
@evgenyprokopenkov6655 Рік тому
Блиан. Сраные инверсные и неинверсные биты. Переключил с одного на другой, и там почему то автоматом поставились везде 0. Прошил, жопа контроллеру. Следом попробовал поставить новые оставшиеся 2 штуки Atmega8 еще раз. но уже с исправленными битами. Программатор больше не читает их. Ошибка в AVRdude cannot set sck repiod. pelase check for usbasp firmware update. Что могло с ним произойти. Скачал самую свежую версию avrdude, все так же (((((( Че теперь делать не знаю
@scanty6996
@scanty6996 3 роки тому
0 это включенно, 1 это выключенный фьюз. Вообще то по документации
@hekto_pyc9998
@hekto_pyc9998 5 років тому
А как более точно подобрать конденсатор к кварцу?
@proletarian
@proletarian 3 роки тому
Нашёл ответ?
@hekto_pyc9998
@hekto_pyc9998 3 роки тому
@@proletarian принцип понял, но ответа так и не нашёл.
@101picofarad
@101picofarad 3 роки тому
@@proletarian номиналы балластных конденсаторов (каждого) равны двойной ёмкости кварца минус емкость пина камня (около 5 пик) и минус ёмкость дорожки до кварца (5..10пик). При четком подборе номинала синусоида кварца будет бОльшей амплитуды. Но если номинал будет не точный, то работать все равно будет, просто амплитуда синуса немного упадет.
@proletarian
@proletarian 3 роки тому
@@101picofarad спасибо
@101picofarad
@101picofarad 3 роки тому
@@proletarian эту синусоиду можно увидеть осциллографом , ткнувшись щупом с делением 10х в один из выводов кварца (на другом выводе будет кривая синусоида).
@user-mp2js7gy1e
@user-mp2js7gy1e 5 років тому
Дорогой автор, я вот думаю, а мозгов допереть не хватает. Вот выставил я в коде интервал 1 сек через функцию _delay_ms(1000); и не секунда получается, а намного быстрее чем 1 секунда, но вот только я подключаю таймер так всё работает ровно 1 секунда как прописал так и есть. Вопрос в том, что за фигня с _delay_ms(1000); ?
@JapanWolf666
@JapanWolf666 3 роки тому
автор канал ты здесь? у меня есть вопрос, я смотрю ты разбираешься, поэтому хочу от тебя подсказку услышать
@user-yt1td7qo4q
@user-yt1td7qo4q 5 років тому
Всё одно... Ничего не понял... Зачем козе баян??? Зачем нужно цеплять внешний кварц 8 Мгц, если есть внутренний 8 Мгц... Что меняется??? Что значит Hi. Low.Middle при выборе внешнего кварца? У меня сносит башню...
@stepansml6713
@stepansml6713 Рік тому
точность отсчёта периодов и независимость от температуры. ну или существенно меньшая зависимость. на рц за сутки часты уйдут на 20 минут, например, а на кварце на несколько секунд. при передаче данных есть протоколы архичувствительные к часам. если подключен к ацп доплеровский датчик, то нужны очень точные отсчёты коротких промежутков и др
@goodluck9648
@goodluck9648 4 роки тому
Не внутренний кварц, а внутренняя RC цепь
@KONARTIK1
@KONARTIK1 4 роки тому
По моему 220 это не 22пф а как есть 220пф.
@user-wb9sv3so6p
@user-wb9sv3so6p 4 роки тому
Если написано 220 то это значит что 22*10 в степени 0. А любое число в степени 0 есть 1. Получаем 22*1= 22 .
@rk4lwe687
@rk4lwe687 2 роки тому
Прошу сообщить понятен ли метод проверки и испытания работы кварцевого резонатора 500 кгц с помощью двух генераторов 470 - 530 кгц ukposts.info/have/v-deo/o5ernK6YhKakjps.html
@igorkostin5280
@igorkostin5280 4 роки тому
Как же бесит этот "даташыт". Шит (shit) по английски значит - дерьмо, a data sheet читается как 'дейтэщиит'. В русском есть слово "спецификация", а вот такой бессмыслицы как "даташыт" в нём нет.
@stepansml6713
@stepansml6713 Рік тому
гурман... а я читаю всё в немецком варианте. знакомые усыкаются. Зато понятно как писать. Реад, врите, Бооль, унсигнед, До вхиле... понапридумывали ритуалов с буквами: читается не читается, подразумевается, но редуцировано. ашпротивно.
Динамическая индикация | Часть 1 | Программирование микроконтроллеров AVR
17:26
Программирование микроконтроллеров для начинающих!
Переглядів 49 тис.
Timer-counter 0 ATmega8 | Programming AVR microcontrollers on C #12
29:09
Программирование микроконтроллеров для начинающих!
Переглядів 69 тис.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Переглядів 41 млн
Что такое КВАРЦЕВЫЙ РЕЗОНАТОР
6:47
Радиолюбитель TV
Переглядів 418 тис.
Timer-counter interruptions ATmega8 | Microcontrollers from scratch #15
17:31
Программирование микроконтроллеров для начинающих!
Переглядів 37 тис.
ATtiny26 - новый король бомж самоделок?
10:40
Заметки Ардуинщика
Переглядів 315 тис.
Самодельный ISP программатор USBASP для AVR
12:01
Заметки Ардуинщика
Переглядів 73 тис.
ДОКТОР AVR! 🚑 Лечим микроконтроллеры
7:16
Natashka PLUS
Переглядів 225 тис.