ARV: мысли вслух

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3168
Зарегистрирован: Чт мар 26, 2009 04:35:04
Откуда: Москва

Сообщение Полосатый »

До ардуинских регистров не долез, но вот китайцы в своих часах на STC15W404AS дополнительно поставили микруху RTC DS1302, хотя там вроде тоже свой таймер есть. Отчего-то не поскупились.
Изображение (Аль Котоне, кот ещё тот, Cattus Sapiens)
Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Реклама
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

До ардуинских регистров не долез
канеш не долез. И не долезешь. Их нет.
дополнительно поставили микруху RTC DS1302, хотя там вроде тоже свой таймер есть. Отчего-то не поскупились.
в ней есть термокомпенсация, чего нет в RTC на МК. Но кварц МК можно заменить на TCXO.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3168
Зарегистрирован: Чт мар 26, 2009 04:35:04
Откуда: Москва

Сообщение Полосатый »

Может и не долезу, пока не до этого "в мягких муравах у нас":

https://alexgyver.ru/lessons/registers/
Изображение (Аль Котоне, кот ещё тот, Cattus Sapiens)
Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Это регистры микроконтроллера. Работа с ними в дурине не предусмотрена никак. В отличие от других фреймворков (хотя бы тот же Atmel Start).
Реклама
Эиком - электронные компоненты и радиодетали
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

в процессе наладки моих часов невольно стал задавать себе вопрос: как получается в других проектах поднять с 5В до 170В обычным boost-up-ом? вот, например, в этой схеме:
СпойлерИзображение
я не в курсе возможностей PIC-а по генерации ШИМ-а, предполагаю, что вряд ли в этой схеме частота преобразования значительно выше, чем 32К, реализуемых AVR-ами... но в моих экспериментах мощности по высокой стороне явно маловато выходит...
в настоящее время экспериментирую с дросселем 1000 мкГн, планирую попробовать 330 мкГн. с нынешним дросселем средний потребляемый от источника 5В ток едва достигает 40 мА, что явно недостаточно, видимо, за период ШИМ-а индуктивность не "накачивается" достаточным током. в "допечатноплатных" экспериментах средний ток преобразователя у меня был до 600 мА и даже иной раз больше.

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Из схемы не видно, от чего тактируется МК. Но 100кГц или даже 1МГц снять с таймера - не проблема.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Сообщение serg_svd »

[uquote="parovoZZ",url="/forum/viewtopic.php?p=4030941#p4030941"]а что на него смотерть? Этот предделитель для таймеров T0/T1.[/uquote]
При сбросе 7 бита таймера синхронизируются. При чем тут прескаллеры?
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

При сбросе 7 бита таймера синхронизируются.
Только T0 и T1. Но отсутствие синхронизации влияет только на фазу, а не способность "тикать". А сделано это из-за того, что прескалер для этих таймеров один и счётчик у прескалера тоже один. Т2 используется в асинхронном режиме и синхронизируются у него только управляющие регистры. Происходит это абсолютно прозрачно для программиста. Главное, чтобы системная тактовая частота превышала частоту осциллятора T2 в 4 или более раз.
Собутыльник Кота
Аватара пользователя
Сообщения: 2560
Зарегистрирован: Ср янв 16, 2008 08:34:04
Откуда: KMV

Сообщение serg_svd »

[uquote="parovoZZ",url="/forum/viewtopic.php?p=4031384#p4031384"]Только T0 и T1.[/uquote]
Где вы это взяли? В даташнике не указано, что бит TSM регистра GTCCR отвечает только за Т0 и Т1.
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Это следует из того, что у T2 свой осциллятор (в нашем случае). Поэтому без синхронизации фазы между основным осциллятором и осциллятором этого таймера говорить про синхронизацию таймеров бессмысленно. А механизма синхронизации двух осцилляторов в AVR не предусмотрено.
Бит PSRSYNC отвечает за сброс счётчика предделителя таймеров T0/T1, а бит PSRASY - за сброс счётчика предделителя T2. Вот когда предделитель T2 сядет на систменую тактовую частоту, тогда и надо говорить про синхронизацию.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Ну есть же тема для обсуждения МК!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3168
Зарегистрирован: Чт мар 26, 2009 04:35:04
Откуда: Москва

Сообщение Полосатый »

[uquote="ARV",url="/forum/viewtopic.php?p=4031272#p4031272"]я не в курсе возможностей PIC-а по генерации ШИМ-а[/uquote]
Не надо пиком, тем более совмещать с рабочей программой - потом замучаетесь разбираться, откуда сбои. Лучше отдельным PWMом типа UC3825 или подобным.
parovoZZ писал(а):Это регистры микроконтроллера. Работа с ними в дурине не предусмотрена никак
Ардуино - это и есть микроконтроллер с загрузчиком, считай отладочная плата. А ссылка как раз на евоный ИДЕ и там написано как устанавливать и читать регистры.
parovoZZ писал(а):в ней есть термокомпенсация
Там такой же внешний кварц.

То бишь у них контроллер только читает RTC и измеряет температуру за бортом. Может тоже натыкались на подобные проблемы.
Изображение (Аль Котоне, кот ещё тот, Cattus Sapiens)
Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

там написано как устанавливать и читать регистры.
Дурина для этого не нужна.
Ардуино - это и есть микроконтроллер с загрузчиком
Нет
считай отладочная плата
Тоже нет. Да дурина и не позиционирует свои платы как отладочные.
Друг Кота
Аватара пользователя
Сообщения: 3168
Зарегистрирован: Чт мар 26, 2009 04:35:04
Откуда: Москва

Сообщение Полосатый »

Да похрен, кто что позиционирует. Понятно что им надо расширить ассортимент и сделать более наглядную обучалку. Не нравится загрузчик - заливай через ICSP. И я не говорил что МК можно только так использовать, я сказал про регистры, с которыми там тоже можно работать.

Если с дросселем, то можно ченить типа LM3488, но с МК лучше не совмещать.
Изображение (Аль Котоне, кот ещё тот, Cattus Sapiens)
Усы и хвост - мои документы.
Кот - авторитет! Скажет "Мяу!" - не поспоришь. (скажи мне "мяу" и я скажу кто ты)
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Да задрали вы уже со своими ардуинами! Вам других тем мало?! Как псы вонючие, на каждом столбе отметиться надо.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Теперь осталось заставить всë это работать...
Изображение
Изображение
Изображение
Вложения
IMG_20210518_201204_resize_24.jpg
(52.18 КБ) 252 скачивания
IMG_20210518_201215_resize_61.jpg
(54.7 КБ) 250 скачиваний
IMG_20210518_201243_resize_82.jpg
(50.5 КБ) 251 скачивание
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Сообщения: 19495
Зарегистрирован: Чт фев 20, 2014 18:57:55

Сообщение Morroc »

С таким током не пробовал, а для гейгера вполне получилось и на мк, не вижу причин делать не на мк в данном случае т.к. часы не бог весть какое сложное ПО. Открывал IRF как тут сделано https://vrtp.ru/index.php?act=categorie ... ticle=3552
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Morroc, это вы сейчас о чем вообще?! :shock:
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

чудеса продолжаются...
АЦП в моём проекте настроил на запуск по флагу переполнения таймера 1. само собой, сначала не учел, что для того, чтобы этот запуск работал, надо флаг запроса прерывания по переполнению этого таймера сбрасывать вручную (само прерывание не требуется пока). само собой, оно не заработало, т.е. один раз прерывание срабатывает, а потом - все, АЦП остановлено и не измеряет. это, кстати, и было причиной проблемы, описанной в самом начале: АЦП у меня управляет ШИМ-ом, и, таким образом, само себя останавливало, вместе с таймером, от которого и запускалось.

так вот, обнаружив, что я некорректно работаю с режимом старта по событию, я, естественно, добавил в код обработчика прерывания АЦП вот такую строку: TIMSK1 = _BV(TOIE1); ну то есть типа сбрасываю флаг запроса прерывания, чтобы он потом смог снова установиться и запустить следующий цикл АЦП... видите плюху? но оно, блин, работает! АЦП успешно стартует и измеряет, все отличненько.

как такое может быть?! читал даташит вдоль и поперек - нигде не сказано, что при записи флага РАЗРЕШЕНИЯ прерывания по переполнению таймера сбрасывается флаг ЗАПРОСА прерывания, который и находится-то в другом регистре TIFR1!

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

Мой уютный бложик... заходите!
Контактная информация:
Ответить

Вернуться в «МЯЯЯУ!»