Зарегистрирован: Вс май 06, 2012 18:47:31 Сообщений: 4
Рейтинг сообщения:0
Могу посоветовать для разбрасывания устройств в STM32 по портам использовать программу MicroXplorer http://www.st.com/internet/evalboard/product/251717.jsp . Вначале думал бесполезная штука, но потом оказалось очень помогает. Печально что не умеет генерировать шаблон готового кода для инициализации или использовать существующую программу.
Могу посоветовать для разбрасывания устройств в STM32 по портам использовать программу MicroXplorer
Она ещё очень сырая. Не позволяет использовать только часть выводов периферийного модуля. Например, в таймере мне может потребоваться только один внешний вывод, а программа сразу пытается задействовать все. Но для начинающих может быть полезна
Зарегистрирован: Вс май 06, 2012 18:47:31 Сообщений: 4
Рейтинг сообщения:0
Да, сырая, много чего нет, а хотелось Когда в первый раз попробовал разложить процессор, думал что поиграюсь и заброшу....., сейчас уже три проекта для разных процессоров переложил на неё, мозг просто не помнит какие интерфейсы на какие ноги включены, какие использованы, а какие нет, не говоря о просто портах. И в ней очень удобно играть перебрасыванием интерфейсов для выбора оптимальной раскладки.
Для этого я когда-то сделал таблицу в экселе, с зависимостями в ячейках. Получилось что-то вроде визарда, который периодически дополнялся и исправлялся. Пользоваться им конечно менее наглядно, чем microxplorer но более гибко. Саму таблицу я сохраняю вместе с текущим проектом, пользуюсь ей и при рисовании схемы, и при разводке платы (бывает удобно что-то поменять местами), и при написании программ для контроллера Выкладывал несколько раз там http://caxapa.ru/301855.html
Переделал наконец-то прошивку для панели управления с регистрами 74НС595, понажимал кнопочки, покрутил энкодер, вылезла вот такая штука: При установке напряжения, если напряжение больше 9,99 В, то все замечательно, один шаг энкодера - 1 еденица младшого разряда, стабильно, без пропусков и т.д. Но если напряжение меньше 9,99 В, то тут что-то не так вообще: первый шаг - индикатор начинает мигать ( это правильно), второй шаг - индикатор перестает мигать, показания меняются на 1, третий шаг - показания меняются на 1, кручу дальше - показания не меняются, отображается только изменение десятков, младший розряд заморожен. Если перестать крутить, индикатор начинает мигать и отображается уже и младший разряд. Я конечно понимаю, что разница в несколько сотых вольта для блока питания не особо то и важна, но как-то просто некрасиво в пользовании получается. Леонид Иванович, Ваша версия также работает? или это я уже что-то где-то зацепил в прошивке, хотя и менял только Main.c, Main.h, Disp.c, больше ничего не трогал ( пока )
первый шаг - индикатор начинает мигать ( это правильно)
Да, так и у меня.
dmirrr писал(а):
второй шаг - индикатор перестает мигать, показания меняются на 1
Да.
dmirrr писал(а):
третий шаг - показания меняются на 1, кручу дальше - показания не меняются, отображается только изменение десятков, младший розряд заморожен.
Всё правильно. При быстром вращении шаг увеличивается в 10 раз (модуль энкодера генерирует сообщения MSG_FINC, MSG_FDEC вместо MSG_INC, MSG_DEC), а младший разряд становится равным нулю. Порог скорости задает константа ENC_V в модуле Encoder.c. Если Вам не нужна эта функция, просто поставьте болшое число, например, 100.
dmirrr писал(а):
Если перестать крутить, индикатор начинает мигать и отображается уже и младший разряд
Подождите, отображение младшего разряда пропадать не должно, просто при быстром вращении там всегда 0.
dmirrr писал(а):
Я конечно понимаю, что разница в несколько сотых вольта для блока питания не особо то и важна
Это не аргумент. Пока всё не заработет, так как надо, нельзя спокойно спать.
И еще вопрос: с введением дополнительного выхода на включение выходного напряжения ШИМ включать/выключать, или просто переключать on/off да и все?
Наверное, ШИМ трогать не надо, чтобы была возможность быстро включать/выключать выходное напряжение. Если сбросить ШИМ, то следующее включение будет затянуто.
Леонид Иванович, а зачем при выходе из установки напряжения/ограничения тока кнопкой, выключается выходное напряжение? А при выходе по таймеру - нет. Вроде с одной стороны и хорошо, защита от неверной установки, нужно еще раз нажать на кнопку, как бы подтвердить, а с другой стороны нужно 2 раза жать кнопку, лишние движения, или не лишние . Вот весь в размышлении, оставлять так, или убрать выключение
PS Извините за беспокойство, уже сам разобрался. Если долго держать кнопку, то ничего не выключается, и сразу в главное меню.
Еще один момент: Ключевые транзисторы в катодах индикатора лучше заменить на полевые, я поставил 2N7002, с ними напрочь отсутствует изменение яркости свечения индикатора в зависимости от к-ва включенных сегментов, ну или у меня такие хорошие BC847 попались, что им не хватало тока базы для полного открывания. Измерять h21 для таких корпусов желания нет, а 2N7002 в таком же корпусе и стает на место BC847 без переделки платы.
Леонид Иванович, а в чем аналоговую часть симулировали? Можно сам проект для симулятора, посмотреть режимы транзисторов, ОУ. Сегодня включил выходной усилитель, через пару секунд обжег палец о выходные транзисторы. Если замкнуть IN на корпус, то ничего не греется. Грешу на возбуд, нужно осциллограф подключить, посмотреть, режимы померить.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения