Радикальная переделка MIDI-клавиатуры Fatar VMK188+

  • Автор темы Автор темы user811
  • Дата начала Дата начала

user811

Well-Known Member
1 Май 2012
900
754
93
Москва
Некоторое время назад была приобретена MIDI-клавиатура Fatar Studiologic VMK188+. В основном с целью использования вместо цифрового фортепиано.
Довольно быстро обнаружен ряд недостатков, досадно влияющих на в принципе неплохое изделие.

Недостатки такие:

1)Датчики срабатывают не в нижнем положении клавиши, как это должно быть у фортепиано, а несколько раньше, на среднем участке траектории. Это ухудшает имитацию поведения акустического пианино, а также делает клавиши слегка "дубовыми".

2)Как выяснилось, клавиатура генерирует далеко не все возможные значения velocity, в ряду значений есть значительные пропуски. Примерно выглядит так: до 30 - все значения, дальше через одно, после 50 - через 2, потом через 3, около 127 - вообще пропускается по 5-7 значений.

3)Шумящие контроллеры, хаотически передающие лишние midi-сообщения.


Проще всего устраняется проблема 1. Все решается небольшой и быстрой механической модернизацией. Суть модернизации — небольшое опускание вниз клавиатурных датчиков с помощью дополнительных шайб. К сожалению не догадались сделать пошаговую фотосъемку в процессе переделки, но надеюсь, что словесное описание будет достаточно понятным. Тем более, что процедура очень простая.


1)Надо в любом хозяйственном или строительном магазине приобрести пакет обычных шайб толщиной 0.5мм (оптимально, 0.6 - уже много). Обычно это шайбы под M4, но лучше штангенциркулем измерить.
2)Ставим клавиатуру на два стула, чтобы был доступ к подбрюшью.
3)Разбираем клавиатуру, сначала сняв с корпуса боковушки (прикручены саморезами с головкой под звездочку) и открываем крышку.
4)Далее снизу откручиваем 7 винтов (они довольно большие), удерживающих клавиатурный блок в корпусе.
5)Отключаем разъемы клавиатурного блока от маленькой платы контроллера (два красненьких разъемчика micromatch).
6)Аккуратно вынимаем клавиатурный блок. Держать блок желательно за раму и аккуратно: он тяжелый и без корпуса ощущается не очень жестким.
7)Кладем клавиатурный блок клавишами вниз, но не на клавиши, а лучше рамой на две параллельные доски так, чтобы клавиши между ними свободно провисали.
8)Откручиваем все крепежные винты у длинных печатных плат, распложенных на клавиатурном блоке снизу. Собственно, именно на этих платах и припаяны клавиатурные датчики (резинки). Нужно открутить сами платы и крепежные железки, которые там прикручены для общей жесткости конструкции.
9)Кладем шайбы под плату во все места, где плата привинчивается
10)Укладываем плату сверху (следим, чтобы шайбы не смещались).
11)Где надо, возвращаем на место железки. Закручиваем винты.
12)Там, где железка прикручивается не поверх платы, а непосредственно к раме, тоже подкладываем шайбы, чтобы все было параллельно и железки не перекашивало.
13)Ставим клавиатуру в корпус, подключаем разъемы, прикручиваем винты на брюхе, все собираем назад.

На всю процедуру уходит максимум час.

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

Довольно быстро стало понятно, что исправить проблему можно, только поменяв электронную начинку. Сначала хотели просто заменить микроконтроллер PIC на совместимый, но более быстрый. Поскольку внутреннюю программу все равно пришлось бы переписывать, в итоге решили пойти по более радикальному пути: использовать совершенно другой современный микроконтроллер с совершенно другой архитектурой. Был выбран мощный и популярный чип STM32F407VG.

Сразу решили все проектировать так, чтобы не было разрушающих изменений в заводской конструкции клавиатуры, т. е. чтобы было можно было без проблем все собрать назад как было если возникнет такое желание.

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

IMGP9321.jpg


На первом фото видно, как плата ставится и подключается внутри .

IMGP9320.jpg


На втором снимке — плата более крупно.

Схема вся своя, разводка тоже, а вот изготавливали платы на заводе в Китае . Паяли сами.
Как можно видеть на снимке, новая плата ставится на место маленькой платы клавиатурного контроллера, и родными разъемами подключается к клавиатурному блоку.
Основная большая заводская плата со всякими движками-крутилками остается без изменения, но из нее вынимается микроконтроллер PIC (он там не припаян, а в панельке) , а вместо него в панельку ставляется разъем, который шлейфом (шлейф виден на фото) тоже подключается к новой плате. В заводском варианте в клавиатуре стояли два микроконтроллера PIC: один отвечал за опрос клавиатуры, второй - за все остальное. В новом варианте STM32F4 работает за оба старых микроконтроллера: он настолько быстрее (производительность отличается почти на два порядка), что легко все успевает.
Небольшая заводская плата с контроллером USB тоже убирается, вместо нее ставится такого же размера плата просто с таким же квадратным USB - разъемом, подключенным к USB-разъему на новой плате: на фото общего вида она видна справа внизу. Отдельный контроллер USB теперь тоже не требуется, поскольку STM32 и с USB тоже работает сам. Внутренние USB-соединения видны на фото, применен стандартный мини-USB кабель.
Для записи пресетов и разных настроек решили применить micro-SD карточку. Она видна на новой плате с правой стороны.
Всю прошивку написали сами и сделали там все что захотели, поскольку свобода была ничем не ограничена. Новые возможности тепрь такие:

- Можно нормально играть без пропусков velocity. Это важно и заметно по ощущениям от игры.
- Полностью поддерживается Hi-Res velocity. Это расширение MIDI-стандарта, позволяющее передавать не 128 уровней velocity, а значительно больше. Правда из того что знаю, понимает это только фортепианная программа Pianoteq.
- Передается note off velocity, т. е. информация о том, с какой скоростью клавишу отпускают.
- Есть возможность редактировать передаточные кривые клавиатуры, причем плавно.
- Сделали сплит, которого в заводском варианте не было
- Решена проблема 3 - шумы от контроллеров. На столько на сколько это было возможно. К сожалению там применены обычные переменные резисторы, которые изрядно шумят и ловят наводки. Улучшить ситуацию удалось только путем применения достаточно громоздких алгоритмов цифровой фильтрации.
- Все контроллеры теперь можно калибровать. Скажем, можно четко настроить любую подключенную педаль, чтобы значения между полностью отжатой педалью и полностью нажатой были ровно в диапазоне 0-127.
- Сделана запись на SD-карточку пресетов, кривых, калибровок слайдеров/педалей/крутилок, причем запись в текстовом виде в популярном формате JSON, который при желании легко отредактировать руками, вставив карточку в компьютер.
- Общее управление теперь сделано в виде более интуитивного многоуровневого меню.

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

Если у кого-то данное сообщение вызовет интерес и кто-то захочет повторить конструкцию, то будут изложены все дальнейшие подробности.

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

Готовы ответить на все вопросы.
 
STM32F4 работает за оба старых микроконтроллера
Это что ж за ПИКи там применены?

Предлагаю обудить данную тему здесь.

P.S.: С миди-шумом тоже боролся, но там наводок не было, и вообще, с точки зрения устранения помех, всё было довольно грамотно сделано. Не ожидал такого от Фатаров.
 
В заводском варианте стоят два одинаковых микроконтроллера PIC16F887. После замены на STM32F4 частоту опроса клавиатурной матрицы удалось поднять примерно в 20 раз.
По поводу миди-шума. В VMK188+ 23 переменных резистора (24-й не подключен), включая три внешние педали. А АЦП в контроллере всего три. Поэтому сигналы от движков резистров поледовательно переключаются с помощью трех мультиплексоров (каждый обслуживает 8 резисторов). Если бы сигнал с резисторов шел напрямую, то его легко было бы можно отфильтровать от помех аналоговым фильтром прямо на входе АЦП. К сожалению, с мультиплексированным сигналом так не получится.
 
-- Вопрос по п.3.
При полной шкале всего в 1 вольт и 128 значениях - шаг между ними около 8 мв.
Неужели там наводки больше такого?
При всё почтении - весьма сумнительно....
Выход переменника, если что, прекрасно "чистится" простейшей RC-цепочкой.
И поскольку выход там как раз "С", то и по обычным проводам оно ходит вполне чистенько.
Шум вида "+\-1" младшего разряда - хорошо и просто убирается введением гистерезиса
в цифровой области: вновь полученное значение сравнивается с предыдущим, и если
разница меньше "1" (ну или сколько сделаете) - то новое значение просто игнорируется.
Может, что из этого сгодится в помощь?....
 
Шкала в исходном варианте даже не 1В, а целых 5В: резисторы включены между землей и питанием. И конденсатором каждый резистор зашунтирован. Это прямо на заводской плате сделано, и мы эту плату не меняли. Однако на входах АЦП шум все равно изрядный и, к сожалению, иногда превышает 1/128. Возможно, провода достаточно длинные, да и компьютеры кругом работают. Как уже написал, фильтровать аналоговый сигнал прямо на входе АЦП уже нельзя, поскольку сигнал там мультиплексированный.
Гистерезис у нас тоже используется и стоит в качестве завершающего элемента фильтрации, но и до гистерезиса применены другие достаточно объемные алгоритмы. Как уже писал основном посте, задача устранения миди-шума в итоге была решена.
 
Последнее редактирование:
Осциллограф показывает помехи амплитудой 100mV и даже выше. Помехи импульсные и хаотические по времени. Возможно место такое, где клавиатура стоит. Источник помех остался неясным, помехи в итоге просто фильтруются алгоритмически.
 
У меня как раз одна из моих клавиатур. Давно вмонтированна в деревянный стол, скоро буду переезжать, буду делать для неё новый стол. С радостью проапгрейдил её и электрически:) Благодарнасть моя будет безгранична в пределах разумности (с) :) Т.е. записывайте меня в бета-тестеры. Куда деньги сдавать?
 
  • Like
Реакции: Jimmihit и user811
Очень интересно...
Конечно, возникает желание повторить, только как-то стремно...
И не все понятно... И как-то сложно...
А что на счет проблемы с дискретностью Pitch Wheel?
Еще есть такая проблема - некоторые ноты громче других.
А вот midi-шум, тьфу-тьфу, пока не беспокоит.
Да и первую вашу проблему раньше не замечал, видимо для моего уровня это не критично совсем.
 
@mitinglas,
Очень рад, что вас заинтересовало! Я для начала предлагаю проделать процедуру из пункта №1. С нашей точки зрения уже это ощутимо улучшает инструмент. Занимает всего один час времени, но при этом делает клаватуру более "пианинистической". Все-таки при игре на акустическом ф-но скорость молоточка определяется конечной скоростью клавиши в момент ее упора в демпфер. Поэтому у цифровой клавиатуры скорость надо тоже считывать в конце траектории движения клавиши. А в исходном варианте после замыкания обеих резинок клавиша еще проходит пару миллиметров.

Что касается альтернативной электронной части, то из заказанной нами в Китае партии несколько печатных плат еще остались. Правда, пока они пустые. Себестоимость всего комплекта деталей не очень высока, едиственное, что паять этих 100-ногих клопов с шагом 0.2мм между ногами - то еще удовольствие. Но думаю, что договоримся.
[DOUBLEPOST=1434047590,1434045306][/DOUBLEPOST]
Очень интересно...
Конечно, возникает желание повторить, только как-то стремно...
И не все понятно... И как-то сложно...
Ну, если не понравится, то все можно вернуть назад.
А что на счет проблемы с дискретностью Pitch Wheel?
Не думаю, что получится добиться более 128 значений на диапазон. Все-таки там тоже обычный переменный резистор. На самом деле пичтем пока занимались только в одном ряду с другими слайдерами, педалями и крутилками. Обещаю внимательно посмотреть, сколько значащих бит удастся оцифровать без шума.
Еще есть такая проблема - некоторые ноты громче других.
А вот такой проблемы у своей машинки не замечал. Боюсь, здесь уже индивидуальные отличия контактных резинок под разнвми клавишами. Теоретически можно сделать индивидуальную калибровку для каждой клавиши, но пока необходимости не возникало, об этом не думали.
А вот midi-шум, тьфу-тьфу, пока не беспокоит.
Возможно, какие-то особенности моего иструмента были или просто много помех в воздухе.
Да и первую вашу проблему раньше не замечал, видимо для моего уровня это не критично совсем.
Видимо, вы хороший пианист и клавишник, поэтому можете к любой клавиатуре приспособиться.
 
  • Like
Реакции: mitinglas
@mitinglas,
Очень рад, что вас заинтересовало! Я для начала предлагаю проделать процедуру из пункта №1. С нашей точки зрения уже это ощутимо улучшает инструмент. Занимает всего один час времени, но при этом делает клаватуру более "пианинистической"

Я ещё тот "пианист", но попробую, спасибо. Мне её ещё несколько раз разбирать-собирать: несколько клавишь не срабатывают после проливания спиртного и последующей (видимо не достаточной) чистки.
 
@mitinglas,
Не думаю, что получится добиться более 128 значений на диапазон.
Если бы, 128 значений! Там, вообще, беда.
А вот такой проблемы у своей машинки не замечал.
В магазине перепробовал несколько экземпляров, и у всех были проблемы с разной громкостью нот. Но при эксплуатации не особо заметно.
Видимо, вы хороший пианист и клавишник, поэтому можете к любой клавиатуре приспособиться.
Наоборот, записываю в основном простенькие синтезаторные партии, поэтому в этом плане все устраивает.
 
@mitinglas,

Ну, если все равно разбирать и чистить, то платы с клавиатурного блока придется все равно снимать. Заодно и шайбы поставите. После этой процедуры играть становится чуть легче, и как-то адекватнее, сложно сформулировать точнее. Две машинки так переделали: у меня и у моего коллеги, вместе с которым мы этот проект, собственно и затеяли. У обоих от такой "шайбовой" модификации ощущения похожие. Важно не превышать толщину шайб 0.5 мм
[DOUBLEPOST=1434052095,1434051332][/DOUBLEPOST]
Если бы, 128 значений! Там, вообще, беда.
Проверил только что питч. Ну, 128 значений дает достаточно уверенно. Попытка увеличить точность до 256 значений приводит к редким шумам, что не очень заметно для педали или слайдера, но очень неприятно для питча. Подозреваю, в заводском варианте именно поэтому питч так и огрубили. Там еще дополнительная проблема: колесо крутится на довольно малый угол, и работает лишь часть переменного резистора, что дополнительно понижает точность и ухудшает соотношение сигнал/шум.
Но у меня сейчас 128 значений работает вполне уверенно и вроде как не глючит. Вообще, у нас точность считывания для каждого регулятора настраивается по желанию, и если помех нет, то ее можно повысить. Разные регуляторы шумят в разной степени. Сильнее всех - Aftertouch. Там такой длинный резистор на всю клавиатуру и он много всякой дряни собирает. Чище всего работают движковые слайдеры.
 
  • Like
Реакции: mitinglas
два одинаковых микроконтроллера PIC16F887
Обалдеть. Что ж китайцы так любят на мелочах экономить. Добавили хотя бы пару долларов, да 18-й поставили.

К сожалению, с мультиплексированным сигналом так не получится.
Это почему же? Что мешает?
По в/у ссылке есть вариант клавиатуры на 18-м ПИКе, у которого вообще 1 АЦП.

скорость молоточка определяется конечной скоростью клавиши в момент ее упора в демпфер
Опять же, по в/у ссылке есть обсуждение материала по компьютерному снятию параметров динамики исполнения партий различными пианистами.
 
Обалдеть. Что ж китайцы так любят на мелочах экономить. Добавили хотя бы пару долларов, да 18-й поставили.
Вроде бы они итальянцы? Или я ошибаюсь?
Это почему же? Что мешает?
По в/у ссылке есть вариант клавиатуры на 18-м ПИКе, у которого вообще 1 АЦП.
Опять же, по в/у ссылке есть обсуждение материала по компьютерному снятию параметров динамики исполнения партий различными пианистами.
А более точно ссылку не приведете?
 
Вроде бы они итальянцы?
Скорее всего, как это сейчас принято, в Италии только штаб-квартира. Ну, возможно, ещё сборка. Даже может механику делают.
А электронику, очень сильно подозреваю, что в Китае заказывают. :)

А более точно ссылку
Вот про клавиатуру.
[URL='http://www.dubrovenko.ru/ddssite/forum/viewtopic.php?f=27&t=122']Вот [/URL]про обсуждение датчиков для клавиатуры.
 
Скорее всего, как это сейчас принято, в Италии только штаб-квартира. Ну, возможно, ещё сборка. Даже может механику делают.
А электронику, очень сильно подозреваю, что в Китае заказывают. :)
Может все-таки разработку электроники в штаб-квартире делали? И там же принимали решения, какие контроллеры ставить, и сколько долларов экономить? А в Китае только собирали? Собственно даже мы, узнав сколько стоит сделать хорошую печатную плату маленьким тиражем в России, в итоге тоже в Китае заказали.
Вот про клавиатуру.
Вот про обсуждение датчиков для клавиатуры.
Я не нашел про фильтрацию мультиплексированного сигнала перед одним АЦП.
Про датчики почитал. У нас есть желание разработать свой инструмент, и думали про оптические датчики вместо контактных резинок. Но общий прицип измерения временного интервала между двумя датчиками видимо останется, поскольку это способ точнее, чем считывать какие-то меняющиеся аналоговые параметры.
 
Может все-таки разработку электроники в штаб-квартире делали
Наверное и в Италии уже "китайцы" есть. :)

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

Я не нашел про фильтрацию мультиплексированного сигнала
Так а её там и нет (точнее немного есть программной), и мультиплексор использован внутренний.
Это я собственно сказал, что всё работает нормально и без фильтров. :rolleyes:

и думали про оптические датчики вместо контактных резинок
Так почитайте тему-то.
 
Осциллограф показывает помехи амплитудой 100mV и даже выше.
Помехи импульсные и хаотические по времени. Возможно место такое, где клавиатура стоит.
-- Так говорили вроде о регуляторах, не о клавиатуре:
По поводу миди-шума ... сигналы от движков резистров поледовательно переключаются с помощью
трех мультиплексоров (каждый обслуживает 8 резисторов). Если бы сигнал с резисторов шел напрямую, то его легко было бы можно отфильтровать
от помех аналоговым фильтром прямо на входе АЦП.

(Очень хочется напроситься в гости, посмотреть на помеху в 100 мв, но не буду. Сам не люблю праздного любопытства).
 
большой респект, тс.
на макетке подключал через мультиплексор (hc4051) китайские потенциометры, 128 значений без проблем без фильтров. если задирать частоту работы АЦП, то оно шумнеет сильно. не в этом ли дело?
возможно ли код посмотреть?) у меня планы на радиум 49, который оставляет зависшие ноты через простой миди, но руки не доходят..
 
-- Так говорили вроде о регуляторах, не о клавиатуре:
Видимо непонятно выразился. Я под словом "клавиатура" подразумевал всю машинку целиком.

... посмотреть на помеху в 100 мв

Я могу, конечно, фото экрана осциллографа выложить..Но поверьте на слово: они есть. Там и больше амплитуду можно увидеть, если смотреть, что делается на резисторах в те моменты времени, когда идет опрос клавиатурной матрицы. Там огромная частота опроса: за время от 5 до 15 микросекунд опрашиваются все 176 датчиков (собственно, ради этого все и затевалось, чтобы время между датчиками точнее измерять), и если во время опроса клавиатуры попытаться что-то читать на резисторах, тут не 100mV, а даже и больше можно увидеть. Все-таки десятки мегагерц. Но у нас чтение контроллеров и клавиатуры по времени разделено, и этот фактор не влияет. Есть только случайные одинокие импульсные помехи, природа которых не ясна. Может, что-то от компьютера, может еще откуда.. В любом случае фильтруется сейчас все успешно.
[DOUBLEPOST=1434225431,1434224647][/DOUBLEPOST]
если задирать частоту работы АЦП, то оно шумнеет сильно. не в этом ли дело?
Частота считывания не высока (после переключения мультиплексора некоторое время ждется, чтобы переходные процессы закончились), но само считывание происходит за короткий промежуток времени.
возможно ли код посмотреть?)
Что именно посмотреть: весь код, или только кусок работы с ADC? Полный код довольно большой...
 
Последнее редактирование:
Частота считывания не высока (после переключения мультиплексора некоторое время ждется, чтобы переходные процессы закончились), но само считывание происходит за короткий промежуток времени.
я про само считывание. на ф4 у меня были попытки реализовать очень скоростное считывание .
DSC_0217.JPG
здесь один и тот же алгоритм отрисовки пикселя по завершению ацп преобразования при разных настройках ацп.

Что именно посмотреть: весь код, или только кусок работы с ADC? Полный код довольно большой...
интересует сканирование клавиатурной матрицы, преобразование время-велосити и работа с последовательными каналами - юсб, уарт.
 
Шум вида "+\-1" младшего разряда - хорошо и просто убирается введением гистерезиса
в цифровой области: вновь полученное значение сравнивается с предыдущим, и если
разница меньше "1" (ну или сколько сделаете) - то новое значение просто игнорируется.
Я похоже делал в своем миди контроллере на 8и битном АВР чипе, я считывал 3 или 4 раза и пропускал только то значение, которое все эти считывания было одинаково. Еще я опрашивал переменники 8и битным АЦП и потом преобразовывал в 7и битный код, отбрасывая младший разряд, что уменьшало шкалу и соответственно чувствительность к помехам.
При этом далее значения сранивалось с предыдущим состоянием и посылалось как миди посылка только если оно изменилось, что бы не транслировать постоянно по миди одно и то же значение.
Специально подключал в хлам протертые советские переменники и все четко работало.

Для записи пресетов и разных настроек решили применить micro-SD карточку.
Ну это уже изврат, тем более что до нее неудобно добираться, лучше бы писали во внутреннюю флеш контроллера или повесили I2C, SPI EEPROM.

К сожалению многие желания не были реализованы из-за убогости примененного в данном инструменте двухстрочного алфавитно-цифрового дисплея hd44780. Можно было бы поменять его какой-нибудь красивый графический, но дисплея с подходящим форм-фактором не нашли. А деструктивных изменений корпуса делать не хотели.
Ставьте OLED, у них контроллер совместимый с хитачи 44780 и самсунг кс066, НО! При этом контроллер поддерживает графику, т.е можно пикселями отдельными управлять (и не так криво как в 44780).
http://we.easyelectronics.ru/lcd_gfx/rabota-s-indikatorami-weg005016-kontroller-ws0010.html

А то и вообще ставьте ОЛЕД графический, Winstar WEGxx, они по размерам совместимые с символьными типа 1602, 2002, но полностью графические.

http://www.winstar.com.tw/products_detail.php?CID=45&lang=ru
 
Последнее редактирование:
Почему-то все дают советы на тему считывания напряжения с переменных резистров. Повторюсь, этот вопрос решен, причем с запасом в расчете на сильные помехи.
Ну это уже изврат, тем более что до нее неудобно добираться, лучше бы писали во внутреннюю флеш контроллера или повесили I2C, SPI EEPROM.
До SD не надо добираться. Все управляется с интерфейса, а в будущем, надеюсь, еще и из компьютера. Но при желании, если очень захочется, карточку действительно можно вытащить и вставить в обычный SD-ридер. SD-карту мы поставили, поскольку данный микроконтроллер SD поддерживает на аппаратном уровне. И это удобно. В итоге там полноценная файловая система. Пригодится как задел на будущее, если что более серьезное захочется сделать.
Ставьте OLED, у них контроллер совместимый с хитачи 44780 и самсунг кс066, НО! При этом контроллер поддерживает графику, т.е можно пикселями отдельными управлять (и не так криво как в 44780).
http://we.easyelectronics.ru/lcd_gfx/rabota-s-indikatorami-weg005016-kontroller-ws0010.html

А то и вообще ставьте ОЛЕД графический, Winstar WEGxx, они по размерам совместимые с символьными типа 1602, 2002, но полностью графические.

http://www.winstar.com.tw/products_detail.php?CID=45&lang=ru

Думаете, мы каталоги не глядели? :) У всего, что есть графического либо размер не совсем тот, либо ноги не с той стороны. Уже ведь писал, что хотели сделать проект без деструктивных изменений и с легкой повторяемостью. Кстати, сейчас как раз у нас стоит OLED дисплей из приведенного вами каталога, вот такой:
http://www.winstar.com.tw/products_detail_ov.php?lang=ru&ProID=402
Нам надо, чтобы ноги были именно с этой стороны, а не сбоку.

А так, если ломать, могли бы хоть и от мобильника большой экран приделать и кино там крутить.
 
Последнее редактирование:
Ну это уже изврат, тем более что до нее неудобно добираться, лучше бы писали во внутреннюю флеш контроллера или повесили I2C, SPI EEPROM.
почему вы считаете это извратом? просто решение.

тс: по таймеру можно сначала читать состояние столбцов, а потом переключать строку. нопы в кортексах как то странно видеть, у них назначение немного отличается от нопов в 8битках. хотя если вы не планируете дальше развивать проект до универсального портируемого решения, то так сойдет.
еще интересно, вы пробовали подключать дисплей к фсмц?
 
Последнее редактирование:
почему вы считаете это извратом? просто решение.
из пушки во воробьям, тогда уж во внутреннюю флеш писать, ничего колхозить не надо.

Думаете, мы каталоги не глядели? У всего, что есть графического либо размер не совсем тот, либо ноги не с той стороны.
А проблема проводками подпаяться, если разъем не с той стороны? Тем более если по spi подключать.
 
из пушки во воробьям, тогда уж во внутреннюю флеш писать, ничего колхозить не надо.
Если пушка все равно есть, причем очень удобная, то можно и по воробьям. Флеш не бесконечен по циклу перезаписи,и использвать для этого сам контроллер - садизм.
А проблема проводками подпаяться, если разъем не с той стороны? Тем более если по spi подключать.
Вот это как раз колхозить. Там в оригинале в плату дисплея впаян угловой разъем, который втыкается в гнездо на большой плате. Причем прямо на разъеме оно и механически держится. Как уже говорил, деструктивных изменений делать не хотелось.
 
Флеш не бесконечен по циклу перезаписи,и использвать для этого сам контроллер - садизм.
У него более 10 000 циклов, емнип, я думаю хватит. Да почему садизм, у него встроенного еепром нету, вполне нормально, если лень еепром внешний вешать.

Вот это как раз колхозить. Там в оригинале в плату дисплея впаян угловой разъем, который втыкается в гнездо на большой плате. Причем прямо на разъеме оно и механически держится. Как уже говорил, деструктивных изменений делать не хотелось.
Понятно, не думал что у Фатар все так колхозно, слава богу хоть сами клавиши нормально делают (старшие модели).
 
Ну это уже изврат, тем более что до нее неудобно добираться, лучше бы писали во внутреннюю флеш контроллера или повесили I2C, SPI EEPROM.
У stm32 нет внутреннего флеша.
А SD карточка итак весит на интерфейсе SPI, какая разница EEPROM там или SD карта?
В начальной версии был распаян eeprom как на оригинальной плате, но был признан не удобным.
 
У stm32 нет внутреннего флеша
Чичё? :confused:
Это что за СТМ у Вас такой?
И куда, в таком случае, позвольте спросить, у него программа заносится? :)
Полагаю, что речь всё-таки о EEPROM.
Но это, собственно, ничего не меняет. Все STM32, с которыми я встречался, её (EEPROM) имеют.
 

Сейчас просматривают