Перевел выход строба 0.25 сек на PB6, а выход строба 60 сек на PB3. Перевел PB7 на вход с подтяжкой ( у этого камня, оказывается, RESET объединен с PB7 ).
Привет всем. Пришли таки мне тиньки 2313-20. Собрал сегодня на ней и дергаются стрелки, меньше чем на меге, но все таки видно. Как можно от нее избавиться, кроме конденсаторов, или забить и конденсаторы поставить?
Начал осваивать AVR STUDIO - правильно. Нужно дать определения регистров как в проге для tiny26. В тексте естественно поменять. В старенькой 3.21 такие определения регистров и выводов прокатывали, а в 4.хх уже нет. Укажи точную программу и схему, по которым будешь отлаживать. Дело в том, что мое рабочее место крепко затопило. А на нем были оба компа-рабочий и домашний. Пишу с компа коллеги, пока его нет.
У меня AVR Studio 4.16 bild 628. Схема с первой страницы, я собрал в железе, все работает, но есть дрожание. Все исправил, компилится Я вот подумал, а что если шкалу оделить не на 240, а на, например 360, теоретически дерганье должно уменьшиться. Или я не правильно понимаю?
Дёрганье или дрожание? Т.е. раздражает факт того что видны шаги из одной позиции в другую? или как? 240 шагов на миллиамперметре с 50-ю делениями - увы, видно. я конечно, для часовой стрелки собираюсь забабахать все 10бит, но для минутной у меня таких ресурсов нет - обойдусь 60-ю. Кстати, будильник наконец уговорил. Был запутавшись немного.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Если стрелки дрожат, то похоже что программный PWM имеет небольшой джиттер. Надо бы как-нибудь почитать про AVRы, что интересного есть в этих микроконтроллерах. Платы натирать рано. Я далеко не каждый день сажусь за эту работу. Тут попутно сделал счетчик импульсов и генератор временных интервалов (что вместе составлять должно частотомер) на Xilinx-е, понемногу двигаю свой лабораторный блок питания. И далеко не каждый день все удается. Вот пибикалку написал вслепую со второго раза - надо будет этот вариант в другую схему применить. Сегодня боролся с энергосберегающим режимом - он меня поборол. Похоже из-за моей лени, глохнет генератор с часовым кварцем. Все-же надо припаять на кварц конденсаторы 33пФ. От 5 вольт работает, а при переходе на батарейное питание - прерывания куда-то пропадают.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
млин, самое время заводить тему "помогите". Почему-то перестало просыпаться. на RB6 импульсы видны - генератор пашет. Иногда бывает просыпается. Иногда как надо - в течение секунды, иногда приходится ждать дольше. но обычно бесконечно долго.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Эхе-хе...котята слепые... Второй месяц тычетесь носом, никак не можете сделать... Ваша проблема в том, что делаете не на том, чем надо, а на том, что есть. Я не спорю, этот подход имеет право на существование - сам так часто делаю - но в данном случае проще купить нужный микроконтроллер, чем героически преодолевать трудности созданные собой же, точнее совсем неправильным выбором элементной базы. Итак, что надо: 1. формировать секундные интервалы, считать время - это может практически любой микроконтроллер с 16-битным таймером 2. формировать 3 канала ШИМ сигнала - тут уже любой не подойдет. Мой выбор в данном случае - ATMega48 (88, 168). У этого МК два 8-битных таймера TMR0, TMR2, каждый из которых может формировать 2 ШИМ сигнала (итого уже 4, больше чем нам надо), и еще один 16-битный TMR1 (тоже с двумя ШИМ) его задействуем для формирования секундных интервалов. Осталось быстренько прочитать про задание режима FAST PWM и взять Bascom AVR, пусть даже и демо версию - она до 4 КБайт (мега48) работает нормально. На все (программирование и пайку макета на соплях и) я потратил пару часов. Конечно, это еще не совсем часы - кнопок установки времени нет - но уже тикают. И никакого дрожания стрелок кроме естественного для микроамперметров успокоения. У этих часов пара проблем, от которых не избавиться: - чувствительность показаний к стабильности напряжения питания МК - зависимость показаний от угла зрения.
А вот и пара роликов: 1. 23_59_40_xvid.avi - это такое время установлено, виден переход на время 00:00:00 2. seconds_xvid.avi - счетчик секунд крупным планом.
P.S. Микроамперметры разношерстные, но уж какие нашел, все равно в корпус не вставлять
whom how. Можно и так. Я же эту задачу использую просто как полигон для отработки узлов и навыков. Раньше мне ни разу не нужен был PWM. Что это такое теоретически знаю, но практической конструкции ещё ни одной небыло. А не вру, была - нарисовал статейку, но она еще не опубликована - наверно слишком похабно написана. Попутно, получил любимый звук будильника, который оказалось формируется очень просто (в предыдущих конструкциях мучался с аппаратным мультивибратором). Конечно нарываюсь и на грабли. Вот найду эти грабли - стану чуть опытнее. А часы у меня и так уже идут. И первый ход у меня тоже пошел через пару часов после паяния макетки. Я на сверхзадачах застрял. Без этого конструкцию назвать законченной нельзя. Но благородный дон может выложить что-нибудь более осязательное чем ютубное видео и остальные заценят ;-)
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Кстати, ошибку нашел. Похоже, получил переполнение стека. Получил интересное знание: несмотря на то, что укладывая спать микроконтроллер замаскировал все прерывания кроме как от TMR1, прерывания от TMR0 всё равно получает управление. И вот борясь с этим эффектом сделал плюху, с которой три вечера боролся. И похоже понимаю, почему мой первый выложенный код не работал в протеусе. Возможно, он так же как MPLABовский отладчик не симулирует кварцевый генератор на TMR1. Если кто читает из знающих, может поделится инфой как это дело отлаживать? А то я не спец. MPLAB запускаю только в тех случаях когда в мозгах короткое замыкание и не могу понять, почему код не работает как было задумано. А GPSIM это вообще мрак и с локализацией проблемы, надо коментарии обрубать, чтобы что-либо отладить. Вот так и трудимся - симуляция в голове и в железе. Поставил в контрольной точке светодиод - пока была ошибка 2 раза вспыхивает, а на третий остаётся гореть. Теперь старательно мигает. Можно обратно код прилизывать ;-).
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
whom how. Можно и так. Я же эту задачу использую просто как полигон для отработки узлов и навыков. Раньше мне ни разу не нужен был PWM. Что это такое теоретически знаю, но практической конструкции ещё ни одной небыло.
Не, программный ШИМ в этой задаче - это изврат. Можно, конечно, но не нужно. Слишком медленно получается, отсюда проблемы с фильтрацией. Все, что может быть сделано аппаратно, должно делаться аппаратно: задал режим работы и больше не отвлекаешься постоянно, оно само по себе работает. Ты никогда программно не получишь 3 ШИМ с более-менее приличным разрешением на ультразвуковой частоте.
Цитата:
Но благородный дон может выложить что-нибудь более осязательное чем ютубное видео и остальные заценят
Не может благородный дон, не дают ему. А хотел модельку в протеусе положить с парой прошивок: тестовой, для настройки частоты генератора и шкал микроамперметров и еще "полуживой часовой", той что на ролике. Если не лень будет, приделаю к схеме/прошивке 3 кнопки корректировки времени.
Не, программный ШИМ в этой задаче - это изврат. Можно, конечно, но не нужно. Слишком медленно получается, отсюда проблемы с фильтрацией. Все, что может быть сделано аппаратно, должно делаться аппаратно: задал режим работы и больше не отвлекаешься постоянно, оно само по себе работает.
Ну я тоже сторонник аппаратных решений, потому вначале и говорил, что без проблем можно сделать на CPLD - тут меня правда высмеяли. Хотя, why not.
bolek писал(а):
Ты никогда программно не получишь 3 ШИМ с более-менее приличным разрешением на ультразвуковой частоте.
А зачем ультразвук? Вот у меня один ШИМ аппаратный идет на 3.9кГц, а программный на 70 Гц при 4 МГц тактовой. Я вполне доволен. Будильник правда не очень. И сделать еще три таких же программных ШИМ - раз плюнуть. Можно конечно задрать тактовую на 20МГц и тогда программный ШИМ будет уже 350Гц, но это уже экстенсивный путь развития. Пока 70 герц хватает - жужжания и подергивания стрелок я не наблюдаю. Может только не нравится то, что разрешающая способность в 60 шагов маловата.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Вот почти окончательный результат: Схема совсем не изменилась. Кнопки S1-S3 - установка часов, минут и сброс секунд. S4, S5 - кнопки с фиксацией - выключение будильника 1 и 2 (или наоборот). Выход Alarm2 с открытым стоком - лог.0 при срабатывании будильника и(!) при переходе в спящий режим при пропадании питания. Делитель R8/R7 настроить так, чтобы при 4-5 вольтах на входе был 1 вольт на выходе (r7 надо уменьшить до 2 ком?) Хотя не обязательно, думаю батарейка кратковременно сможет дать 20мА. В спящем режиме у меня оно ело 10 мкА от батарейки. C3 возможно надо бы побольше, потому как компараторы при таких номиналах видят пульсации и если кнопка без фиксации, то сразу будильник не выключишь - надо ждать пока уровень PWM не превысит установленный потенциометром уровень на величину пульсаций. Может, завтра попробую прицепить микрофарад или 5 и посмотрю, что будет. Если использовать для установки будильника тот же индикатор, что и для показаний часов - надо поставить повторитель на операционнике. Потому как отключение индикатора немного повышает напряжение на входе компаратора. Функции калибрации индикаторов еще нет, хоть там всего то пару строчек дописать, но лень.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Привет всем. Пришли таки мне тиньки 2313-20. Собрал сегодня на ней и :( дергаются стрелки, меньше чем на меге, но все таки видно. Как можно от нее избавиться, кроме конденсаторов, или забить и конденсаторы поставить?
А может просто питание нестабильное?
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ну, поначалу, питая от полудохленькой батарейки от зажигания светодиода стрелка сдвигалась. Контроллер при этом продолжал работать. Вообще, нынче контроллеры и вся логика чертовски надежные, в отличие от времен 580-x процессоров. Хотя я это связываю с большими токами по земляным шинам. Сейчас 4 МГц, а ток 20мА.
neon-f писал(а):
А вообще очень интересная тема, слежу за ней. может даже повторю если чего внятного и законченного родите.
Ну, я вроде уже родил, что смог. Осталось только конструктив, но эт не по мне. Вот приложил все: схема, исходник, прошивка. Калибровочный режим вызывается удерживанием кнопки установки часов при подаче основного питания. Время, естессно, не сбрасывается и при отпускании продолжает показывать как надо.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения