Зарегистрирован: Вс май 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 на корпус, то ничего не греется. Грешу на возбуд, нужно осциллограф подключить, посмотреть, режимы померить.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения