Например TDA7294

 Форум РадиоКот • Просмотр темы - Дисковый номеронабиратель и семисегментник
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт ноя 24, 2017 03:28:29



Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 24, 2017 08:57:07 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вт фев 09, 2010 18:52:26
Сообщений: 317
Рейтинг сообщения: 0
Собственно, я спрашивал не о нужности резисторов подтяжки "вообще", а об использовании или "недоверии" к внутренним резисторам подтяжки в AVR. :))

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


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 24, 2017 12:10:58 
Поставщик валерьянки для Кота

Карма: 16
Зарегистрирован: Вт мар 13, 2012 13:16:13
Сообщений: 2139
Откуда: Россия
Рейтинг сообщения: 0
codenamehawk писал(а):
Если бы вы немного разбирались в электронике, такого бы не написали.

да вы оказывается шутник)) :)))
codenamehawk писал(а):
когда процу есть чем другим заняться, а не тупо запускать задержки

для этого обычно используют опрос кнопок с постоянной частотой (обычно через таймеры и прерывание). При этом МК не сильно напрягается)) и есть куча свободного времени чтобы заняться другим..))
BOB51 писал(а):
даташитах от STмикроэлектроникс для МК серий STC.

ТС крутит в протеусе ATmega8.

опять пишут ответ.. не читая вопроса)) как всегда.))
codenamehawk писал(а):
Встроенного резистора недостаточно...

Обоснуйте. В ATmega8 внутренний резистор ~40 кОм. Для простого дискового номеронабирателя я считаю этого более чем достаточно для нормальной работы.


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, $2 за 10 печатных плат (2 слоя, 100×100мм).

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Узнать цену прямо сейчас!

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 10:46:01 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вт фев 09, 2010 18:52:26
Сообщений: 317
Рейтинг сообщения: 0
Покажите схему промышленного устройства на авр, где нет подтягивающих резисторов на кнопки.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 12:13:18 
Потрогал лапой паяльник

Карма: 3
Зарегистрирован: Ср июн 25, 2008 16:19:44
Сообщений: 395
Рейтинг сообщения: 0
roman.com писал(а):
...

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


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 15:24:04 
Поставщик валерьянки для Кота

Карма: 16
Зарегистрирован: Вт мар 13, 2012 13:16:13
Сообщений: 2139
Откуда: Россия
Рейтинг сообщения: 0
codenamehawk писал(а):
Покажите схему промышленного устройства на авр, где нет подтягивающих резисторов на кнопки.

офигенное обоснование)) :)))

Мы обсуждаем использование авр в промышленности ? )) http://automationdirect.ru/?utm_source= ... oduct_line

или мы делаем игрушку для ребёнка.. на двух батарейках...))
Hiperboloyd писал(а):
Делаю игрушку для ребенка "бизиборд". Телефонный дисковый номеронабиратель + Семисегментник, который выводит набранную цифру.

вы определитесь уже..)) :)))
Demiurg писал(а):
А если ткнуть в пин отверткой держа пальцами за металл, результат точно обеспечен.

а для большего эффекта.. второй рукой звяться за фазу из розетки ~220 В. )) :idea: :)))

ребёнок будет тыкать отверткой в розетку? )) ну тогда делайте с гальванической развязкой.. типа "сухой контакт" https://ru.wikipedia.org/wiki/Сухой_контакт


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 15:42:31 
Друг Кота
Аватар пользователя

Карма: 13
Зарегистрирован: Сб сен 13, 2014 17:27:32
Сообщений: 12686
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
да господа вас понесло и пронесло мимо...зачем ваще там мк не знаю хватилоп и 176ие4 и светодиодника чуткого..и рары элементоф логики
да и если мк юзать придется дребезг давть и не толко поттяжками
кстати контакты НН не идеалны им еужен хороший ток чтоб не окислялись и само зачищались

_________________
-
Мудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет...


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 17:05:54 
Поставщик валерьянки для Кота

Карма: 16
Зарегистрирован: Вт мар 13, 2012 13:16:13
Сообщений: 2139
Откуда: Россия
Рейтинг сообщения: 0
musor писал(а):
НН не идеалны им еужен хороший ток чтоб не окислялись

для этого есть спирт))
musor писал(а):
если мк юзать придется дребезг давть

Это проблема?))
musor писал(а):
хватилоп и 176ие4

устарела)) всё что надо - купить на ближайшем рынке любой МК за 100 рублей + Семисегментник за 100 рублей + две батарейки))
уже давно бы всё собрали.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Чт окт 26, 2017 15:37:39 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
Ну и чем дело кончилось?
8)

а пока еще не закончилось))) к сожалению, очень мало свободного времени. иии есть не решенные вопросы. так же собираюсь переделать на Атмега 16. Как все закончится обязательно выложу конечный результат, может кому-то пригодится эта ерунда)))))))
Динамическая индикация на прерываниях - всего делов-то.

Спасибо, так и сделал, ну в смысле общий вывод семисегментника подключил к МК, а не к шине. и все стало как надо)
А вот индикатор есть смысл взять другой, с общим анодом.
У AVR "нагрузочная способность" низкого уровня гораздо выше - посмотри схему в даташите, стр. 50 "Ports as General Digital I/O".
Более часто принято "зажигать" светодиоды, устанавливая логический "0" на выходе.

этим советом также воспользовался))) :beer:

Дайте пожалуйста наводку, еще по одному вопросу. Необходимо,чтоб семисегментник гас, допустим через 1-2 минуты, т.к. планируется работа от АКБ.
Вот берем мы значит 16-ти битный таймер.
1. Разрешаем прерывание по переполеннию.
2. устанавливаем делитель 1024.
Частота МК 8МГц. макс число таймера = 65535. При таком раскладе получается: 65535 * 1024 / 8000000 = 8 секунд необходимо для переполнения таймера. Нам надо около минуты. значит в 10 раз больше надо ( 80 сек)
3. в цикле прерывания какой-то переменной Х прибавляем 1, до тех пор пока не выполнится условие Х=10. и тогда гасим семисегментник. обнуляем Х

я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Подскажите что почитать, я хз как в гугле свой вопрос сформулировать. А может какой-то другой путь решения есть.
Заранее спасибо.!


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Чт окт 26, 2017 16:11:56 
Друг Кота
Аватар пользователя

Карма: 69
Зарегистрирован: Вт мар 16, 2010 23:02:27
Сообщений: 6661
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 1
Вторичный счетчик разрешен только при наличии флажка (или ненулевом значении) кода сегментов отображаемого символа.
Если данные есть - считаем тики паузы, по исчерпании сброс кода сегментов и перезагрузка счетчика тиков.
Ессно на время отсчета входной сигнал номеронабирателя запрещен (или обработка в фоновом режиме - то для уже разбираюшася начинающего).
8)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Пт окт 27, 2017 18:21:38 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
Вторичный счетчик разрешен только при наличии флажка (или ненулевом значении) кода сегментов отображаемого символа.
Если данные есть - считаем тики паузы, по исчерпании сброс кода сегментов и перезагрузка счетчика тиков.
Ессно на время отсчета входной сигнал номеронабирателя запрещен

Если Вы имеете ввиду _delay_ms(), то это не подойдёт.

Хочу быть разбирающимся начинающим, где копать?))))

Добавлено after 2 minutes 17 seconds:
Как то наверно можно запускать и останавливать счётчик в нужное время)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Сб окт 28, 2017 18:10:48 
Друг Кота
Аватар пользователя

Карма: 69
Зарегистрирован: Вт мар 16, 2010 23:02:27
Сообщений: 6661
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 1
Такие игрушки я предпочитаю под ассемблером делать.
8)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вс окт 29, 2017 15:08:21 
Потрогал лапой паяльник

Карма: 2
Зарегистрирован: Вс июл 29, 2012 17:25:39
Сообщений: 300
Рейтинг сообщения: 2
я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Если я правильно понял, то тебе нужно перезапускать таймер "погашения" после вывода очередной цифры.
Т.е. примерно так: изменилось значение цифры - обнулил переменную Ыкс. Всё, подсчет времени погащения начался сначала.

Я бы посоветовал сделать чуть-чуть иначе. Делитель таймера на /64 - частота вызова прерывания "переполнение" будет 0,524288 Гц. Т.е. примерно два раза в секунду.
Заводишь переменную "погашение": если она не равна нулю - уменьшить. Если стала равна нулю - погасить индикатор (в прерывании погасить или выставить флаг для основной ветки).
Как только выводишь что-то на индикатор - в переменную заносишь таймаут "погашения" (число секунд * 2).

Почему /64, а не /1024 - так "шаг таймера" более мелкий, при желании можно "по чуть-чуть" регулировать время. :)
Таймер можно и не останавливать - пусть тикает. Потом, может быть, захочешь ещё что-то мигать новое.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Пн окт 30, 2017 00:09:49 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Если я правильно понял, то тебе нужно перезапускать таймер "погашения" после вывода очередной цифры.
Т.е. примерно так: изменилось значение цифры - обнулил переменную Ыкс. Всё, подсчет времени погащения начался сначала.

Я бы посоветовал сделать чуть-чуть иначе. Делитель таймера на /64 - частота вызова прерывания "переполнение" будет 0,524288 Гц. Т.е. примерно два раза в секунду.
Заводишь переменную "погашение": если она не равна нулю - уменьшить. Если стала равна нулю - погасить индикатор (в прерывании погасить или выставить флаг для основной ветки).
Как только выводишь что-то на индикатор - в переменную заносишь таймаут "погашения" (число секунд * 2).

Почему /64, а не /1024 - так "шаг таймера" более мелкий, при желании можно "по чуть-чуть" регулировать время. :)
Таймер можно и не останавливать - пусть тикает. Потом, может быть, захочешь ещё что-то мигать новое.


Спасибо огромное! Только что додумался, что таймер не нужно останавливать, хотел уточнить алгоритм, а Вы все уже тут разжевали))) завтра буду разбираться)) +100500 к карме Вам))))


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 31, 2017 21:39:29 
Поставщик валерьянки для Кота

Карма: 16
Зарегистрирован: Вт мар 13, 2012 13:16:13
Сообщений: 2139
Откуда: Россия
Рейтинг сообщения: 0
таймер можно и не останавливать... Например сделать к в промышленном контроллере (ПЛК). Там опрос дискретных входов идёт с высокой частотой (десятки.. сотни килогерц). МК определяет моменты нажатия/отпускания кнопки.. считает количество нажатий, убирает дребезг контактов и выводит циферки на экранчик)) В детской игрушке МК всё равно заняться больше нечем))


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 16:39:45 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
Ребят, подскажите пожалуйста, собрал в железе, но таймер на выключение отказывается работать. в Протеусе работает .В чем может быть проблема?
кусок кода:


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 17:52:08 
Опытный кот
Аватар пользователя

Карма: 12
Зарегистрирован: Пт ноя 11, 2016 06:48:09
Сообщений: 895
Откуда: край интернета... самый край :(
Рейтинг сообщения: 0
попробуй бесконечный цикл в майне добавить (после sei), может, конечно, и без него научились делать, но всёже...
чета настраивается порт B а переключается порт D ?
хотя, может это просто кусок такой... если не видишь причину глюка - попробуй принудительно исполнить требуемую часть кода, тогда станет видно, она не работает или не вызывается, в общем: "разделяй и властвуй!"

_________________
Во многой мудрости много печали; и кто умножает познания, умножает скорбь (Екклезиаст)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 21:31:15 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
Ivanoff-iv писал(а):
попробуй бесконечный цикл в майне добавить (после sei), может, конечно, и без него научились делать, но всёже...
чета настраивается порт B а переключается порт D ?

Да, кусок такой, там в прерывании несколько условий. Ввсю прогу не стал кидать, там длиннющий элементарный код по опросу кнопочек. Само прерывание постарался скинуть, может ошибка какая-нибудь была допущена..
Ivanoff-iv писал(а):
если не видишь причину глюка - попробуй принудительно исполнить требуемую часть кода, тогда станет видно, она не работает или не вызывается, в общем: "разделяй и властвуй!"

Хорошо, попробую. Просто меня очень смущает тот факт что в PROTEUSе всё четко работает...На 100% утверждать не могу, но мне кажется и в железе в самом начале отладки тоже все работало, а потом что-то случилось)))


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 23:23:22 
Опытный кот
Аватар пользователя

Карма: 12
Зарегистрирован: Пт ноя 11, 2016 06:48:09
Сообщений: 895
Откуда: край интернета... самый край :(
Рейтинг сообщения: 0
значит есть различия между железом и протеусом, и я так думаю не в пользу железа :( (в смысле непропай или чегото сгорело)

_________________
Во многой мудрости много печали; и кто умножает познания, умножает скорбь (Екклезиаст)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср ноя 15, 2017 00:20:58 
Потрогал лапой паяльник

Карма: 2
Зарегистрирован: Вс июл 29, 2012 17:25:39
Сообщений: 300
Рейтинг сообщения: 0
таймер на выключение отказывается работать....
unsigned char off=0; //для выключения всего

ISR( TIMER1_OVF_vect )
{
_delay_ms(50);
off++;
....
Задержка внутри прерывания? Зачем?! :shock:
В прерывании переменная "off" постоянно увеличивается, без какого либо контроля - так и будет ходить по кругу 0...128...255...0... Это так и запланировано?
А запись значения в переменную есть где-нить?
Есть смысл попробовать эту переменную сделать volatile.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср ноя 15, 2017 10:10:30 
Первый раз сказал Мяу!

Зарегистрирован: Сб авг 09, 2008 00:41:37
Сообщений: 29
Откуда: Penza
Рейтинг сообщения: 0
mas123 писал(а):
Задержка внутри прерывания? Зачем?!
В прерывании переменная "off" постоянно увеличивается, без какого либо контроля - так и будет ходить по кругу 0...128...255...0... Это так и запланировано?
А запись значения в переменную есть где-нить?
Есть смысл попробовать эту переменную сделать volatile.

1. задержку убрал.
2. переменная off обнуляется в тексте программы при каждом нажатии на любую кнопку.

вопсрос снят! я -лошара) в тексте программы опять перепутал знак "=" и "=="

Спасибо Вам огромное!!!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y