Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 11:29:21

Приобрёл вот такой индикатор…

Почитал китайское описание с английского перевода… это что-то с чем-то… :facepalm: худшего описания ещё не встречал… и вот протанцевав с бубном почти весь день всё же нашёл проблемную часть у данной микросхемы… в общим она настолько тормознутая, что стандартные тайминги пауз как у шины I2C не подходят… методом проб и ошибок выявил уверенный рабочий вариант, оказалось необходимы паузы в пределах 100 мкс при родных резисторах (10 кОм) на шине… заменив резисторы на номинал 4,7 кОм удалось значительно снизить время пауз (до 40 мкс)… :solder:

В архиве исходник на АВ (Algorithm Builder)… МК тактируется на заводских установках (1,2 МГц)… алгоритм написан в виде часов… естественно о точности отсчёта времени не идёт и речи, ведь это просто демонстрационный вариант работы с индикатором… :)
Test TM1637 tiny13.zip
(18.13 KiB) Скачиваний: 106

Прошивка:
TM1637.hex
(1.72 KiB) Скачиваний: 55

Схема:
2.png
(14.71 KiB) Скачиваний: 109


Хоть управление индикатором и затянуто в сравнении со стандартным I2C, но всё же возможность управлять светодиодным индикатором по двум проводам привлекает. :) К тому же есть возможность управлять ещё и яркостью свечения… Изображение данная микросхема поддерживает до шести разрядов… у китайцев нашёл и шестиразрядные дисплеи – заказал для попробовать. :beer:

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 12:25:32

тикрухи ТМ16хх Titan Micro Electronics и их аналоги в других брендах являются драйверами матриц +некотрые сканеры клавы...
очень удобны для организации выносных табло и пултоф сказать что они медленые это като... заявлено до 450к по шине... хотя поболшому щету болшая скорость обмена там не особо и нужна... для вывода LED вполне комфортнво для ввода ваше не критично все равно глас замедления не заметит...

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 12:36:34

дело не в сопротивлении резисторов подтяжки (10 кОм), а дело в конденсаторах (100 пФ) на входах, после резисторов.
это фильтр от помех, и он имеет постоянную времени 1 мкс. поэтому достаточно 3 мкс для установление уровня, и теоретически период следования импульсов может быть 6 мкс.
просто нужно в некоторых местах вставить одну-две пустых операции nop.
и никаких специальных пауз 40 мкс, и тем более 100 мкс совсем не нужно.
у меня есть 2 таких модуля. в одном я удалил оба этих конденсатора, и он работает идеально со стандартными временами из даташита.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 12:41:44

заявлено до 450к по шине...

Не скажу за все экземпляры, но тот который стоит на моём индикаторе работает с таймингами выше указанными… :roll: она даже не может работать на 100 кГц_х не говоря уже о 450 кГц. :facepalm:

Придут другие индикаторы, проверю их на быстродействие, но этот пока работает так как работает… работала бы она на стандартной частоте I2C не было бы танцев с бубном. :dont_know:

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 12:49:00

Не вижу код, который прикрепили, но давно использую ТМ1637. К Arduino и к PIC. Никаких проблем, с задержками и т.н. нет, устройства продолжают работать, некоторые круглосуточно. Проверьте шины Attiny (тайминги, желательно с логическим анализатором). Продолжаю иметь проблемы с этим с Attiny13A. С некоторыми МК от поставщиков "на востоке" даже дополнительные проблемы. Также проверьте калибровочный коэффициент, при необходимости пишите в OSCCAL.
Последний раз редактировалось veso74 Чт янв 26, 2023 12:57:35, всего редактировалось 1 раз.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 12:56:11

и он имеет постоянную времени 1 мкс. поэтому достаточно 3 мкс для установление уровня, и теоретически период следования импульсов может быть 6 мкс.

Теория это теория, а на практике с резисторами 10 кОм ни о каких 6 мкс не может быть и речи… не отвечает микросхема подтверждением (ACK) о принятом байте хоть тресни (по крайней мере мой так точно)… :dont_know: пока не затянешь уровни… без кондёров не пробовал… я о стандартном варианте для индикатора написал как есть… что там при других вариантах схем не знаю... :dont_know:

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 13:06:38

вот мой код (подпрограммы) для этой микросхемы:
Код:
;---  ---
start:
sbi ddr_TM1637, pin_data
nop
nop
cbi port_TM1637, pin_clk
ret

;---  ---
stop:
sbi port_TM1637, pin_clk
nop
nop
cbi ddr_TM1637, pin_data
ret

;---  ---
write_byte:
ldi count_bits, 8

cycle_write_byte:
cbi port_TM1637, pin_clk
lsr R26
brcc set_0
cbi ddr_TM1637, pin_data
rjmp yes_1
set_0:
sbi ddr_TM1637, pin_data
nop
yes_1:
nop
nop
sbi port_TM1637, pin_clk
dec count_bits
brne cycle_write_byte

cbi port_TM1637, pin_clk
nop
nop
cbi ddr_TM1637, pin_data
sbi port_TM1637, pin_clk
nop
nop
cbi port_TM1637, pin_clk
sbi ddr_TM1637, pin_data
ret

у меня pin_clk - порт работает выходом, а pin_data как в 1-wire.
этот код работает даже без удаления фильтрующих конденсаторов на входах микры.
как можешь видеть, никаких специальных длинных пауз у меня нет.
можешь проверить ан своем билдере.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 13:06:59

Не вижу код, который прикрепили

Если у Вас не установлен Algorithm Builder то вы код и не увидите… :roll:

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 13:12:53

к сожалени некондиция последне время на Алехе стала обычным делом
видимо за время свирепства в Поднебесной Ковида все запасы нормалных чипоф выбрали ии продали по предзаказам и осталось толка выбракофка и некондиция -их проверяют на частичную работоспособность и пихают в поделки и продажу....
ну а особо наглые проды -1днефки вполне могут и откровеным браком(совсем нерабочим) барыжить особено учитывая что щас болшинстве случаеф претензии из РФ или не принимают или решают в ползу прода
VNS, кстати да удали те капы(хотяб для пробы) -хто знает шо туда впаял китаюза может по 2.2н кстатти по даташиту там емкости на землю на шине быть не должно... это китайское ноу хау непонятно зачем оно может быть и надо если шлейф метр и болеечтоб не ловит помехи по эфиру внутри корпуса где проводки 50мм нах не здадось

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 14:18:41

Даже не заметил, что в информационных шинах дисплея на ТМ1637 стоят конденсаторы (100 pF). Спасибо.

А с китайским ATtini13A, который на раб. стол (надпись Tiny13A) по другой проекте обнаружил, что выходы не имеют нагрузочной способности (на 5V). При низкоомной нагрузке программа просто "сходит с ума"! На 3V проблем меньше (или вообще нет). (Из-за этих конденсаторов) может ли что-то подобное происходить с вашим МК? Есть МК-оригинал для пробы?
---
... никаких специальных длинных пауз у меня нет.

Starichok51, да, у меня тоже нет дополнительного паузы. МК на 16 MHz (и на 25 MHz есть) -> CLK: LOW, DATA: LOW ... DATA: HIGH, CLK: HIGH и tm1637 в start. (не рассчитал, сколько времени для изменение состояние пина).

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 16:06:03

можешь проверить ан своем билдере.

Дело не в коде, а в кондеях... :)

Убрал конденсаторы… померил их ёмкость… оказалось стояли не 100 пФ как в даташите, а 0,01 мкФ… :shock: ну и конечно сразу всё заработало на стандартных задержках… :beer: Всем спасибо за настойчивость!!!

Как выглядели уровни при 6 мкс с кондеями и резисторы 4,7 кОм… не дотягивали и до одного вольта... :facepalm:

И как стало убрав кондеи и вернул резисторы 10 кОм…


Тайминги поменял... исходник АВ...
Test TM1637 tiny13.zip
(17.8 KiB) Скачиваний: 73
Последний раз редактировалось VNS Чт янв 26, 2023 17:03:58, всего редактировалось 1 раз.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 16:47:30

Спасибо, что поделились результатом :).
Вероятно скоро куплю экран/и с десятичной точкой. Выглядят красиво, с малым потреблением тока, простое управление, невысокая цена. Будем иметь вариант в виду для возможные причины неработоспособности дисплея. Доверяю китайским товарам, но вероятно что-то работает, что-то нет.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 17:13:46

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

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 17:19:03

Ещё такой заказал…
2.png
(226.72 KiB) Скачиваний: 89

Буду посмотреть как такой будет работать… :)

Добавлено after 4 minutes:
я тоже хотел бы приобрести с о всеми точками, но модули с такими индикаторами почему-то примерно в 3 раза дороже, чем с часовым индикатором.

Мне показалось разницы особой нет... :dont_know:
тырц

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 17:34:08

У меня нормально все получилось на обычном I2C. Писать - ОК, это с чтением проблема (но экранчик к счастью читать не нужно; а вот реализовать клавиатуру на этом чипе невозможно будет без уродования с таймерами и DMA).

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 18:33:22

А есть тм1640 она на 16 знаков !

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 19:48:27

Alex_641, А ТО!!правда она клаву не сканит

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 21:38:19

VNS, на твоем тырц есть еще стоимость доставки - в сумме 125,93 руб.
а я "часовые" покупал меньше 40 руб.
вот тебе и примерно в 3 раза, как я сказал.

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 22:18:33

Работал с таким железком...
Не сильно понравилось - может матрица зеленая, может документация...
То, что удалось на сей "дровер" нашкарябать (на основе сих даташитов делал программный I2C0:
Datasheet_TM1637.pdf
(688.08 KiB) Скачиваний: 59

TM1637_урезанная.pdf
(712.75 KiB) Скачиваний: 66

:roll:

Re: Светодиодный индикатор на базе ТМ1637

Чт янв 26, 2023 22:44:51

а я "часовые" покупал меньше 40 руб.

Раньше они наверно и были по такой цене, теперь цена другая, что те, что те – одинаково. :dont_know:

Добавлено after 7 minutes 55 seconds:
Не сильно понравилось

А мне наоборот понравились… что касается программного I2C, так я его в основном и использую и даже в мегах, так как ИМХО не особо выигрывает аппаратный TWI… :dont_know:
Ответить