Тахометр на АRM

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
lix
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 17, 2010 15:32:19
Откуда: Курган

Сообщение lix »

Доброго времени суток!

Продумываю конструкцию тахометра в авто.
Из хотелок:
  • светодиодная шкала числа оборотов двигателя
    дисплей от сотового телефона для вывода всякой доп инфы (напряжение, температура и т.п.)
    регулировка яркости в зависимости от освещенности
Поскольку есть давнее желение научиться программировать ARM'ы, выбор контроллера был предопределен. Есть платка с STM32F103 - экспериментировать буду с ним.
Дисплей - LS020
Светодиодная шкала - 64 светодиода (по 100 об/м на светодиод)

И первый вопрос: как управлять такой светодиодной шкалой армовым контроллером?
Для AVR делаем матрицу и ногодрыгом. тут мне такой подход не нравится, какой ногодрыг на таком проце (или все не так плохо?)
Другой подход - 8 сдвиговых регистров (595, 164) и на каждую ногу по светодиоду. в регистры загружать через SPI.
Аналогично предыдущему только спец драйверы - как-то пока не хочется такого варианта.

Как лучше? Как оптимальнее? Посоветуйте, знатоки!
Реклама
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

А двух 595-ых не хватит???
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

А чем, собственно, матрица не устраивает, тем более на таком многовыводном контроллере, как stm32f103? :) Всего то нужно 16 выводов - как раз один порт займёт. Только что без ключевых транзисторов не обойтись: ток через светодиоды нужно большой качать. Если хочешь, чтобы при динамической индикации они светились так же ярко, как скажем при питании постоянным током 10 мА, то при динамической индикации (при питании импульсами) в данном случае необходим ток в теории в 8 раз больше, т.е. 80 мА. Если ты собрался различные драйверы использовать, то тогда брал бы какой нибудь маловыводный attiny или хотя бы stm32f030 в TSOP20.
Ну а яркость может регулироваться программно, изменяя соотношение периода свечения и несвечения, или программно-аппаратно, питая светодиоды от напряжения, устанавливаемого МК (ШИМ или ЦАП), усиленного по току.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

IfoR писал(а):программно-аппаратно, питая светодиоды от напряжения
Это ещё зачем???
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

Так можно отвязаться от непосредственно самого процесса прорисовки, регулируя непосредственно сам ток питания светодиодов. Это уже как удобнее.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Реклама
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

Какого процесса прорисовки??? Прорисовка хардварно... значит нужен таймер... Есть таймер, значит и регулировка яркости хардварно...
Зачем лепить что-то лишнее и изобретать велосипед???
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула

Сообщение IfoR »

Котяра, что с тобой? Нет, я понял что ты хочешь сказать, но что за "хардварно"? "Хардварно" - это как раз изменение яркости с помощью управляемого стабилизатора, то что ты сейчас осуждаешь.
Про программную регулировку яркости, с помощью изменения доли свечения светодиодов на кадр, я и не говорил ничего плохого. Я же лишь предложил два варианта. В конце концов, может по каким либо причинам изменение режима динамической индикации неприемлемо, либо это приведёт к излишней сложности программы.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Контактная информация:
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

Понятно... "Стена" Пинк Флойд... непонимания... :)))
Хардварно - это когда МК сам выполняет все функции... даже без прерываний...
Для примера...
http://radiokot.ru/forum/viewtopic.php? ... 9#p2096819
Один канал ДМА в STM32F030F4 ещё остался... от хардварного 1-Wire... а если прицепить семисегментник??? Напрямую прицепить ног не хватит... но можно через два 74HC595... Потом чего-то вспомнилось, что у F0хх хардварное управление NSS... Можно и через два таймера на PB1, но... Короче... прицепил 8-ми разрядный дисплей через два 595-ых... один канал ДМА (1-ый), один таймер (17-ый) и SPI1 в режиме 16 бит с хардварным управлением NSS... для управления RCK... Всё чудесно работает... хардварный многоканальный 1-Wire + хардварный 8-ми разрядный дисплей...
Задавая значение CCPx таймера получаем хардварное изменение яркости... и никакого дополнительного железа...
"Я не даю готовых решений, я заставляю думать!"(С)
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт июл 02, 2013 09:17:49

Сообщение misyachniy »

На мой взгляд 100 диодов многовато.
Но если есть желание, то maxim integrated выпускает специализированые микросхемы.
http://www.morse-code.com/id120.htm
Можно в матрицу соединить можно в линейку.

Я бы взял побольше дисплей и организовал на нем еще и линейку.
Можно к линейке еще и цифры и цвет линейки менять.
Ответить

Вернуться в «ARM»