Автономный терминал COM тестер с АКБ


• О проекте
• Обратная связь
• Полезные ссылки
• Полезные программы
• Друзья сайта


Последние комментарии

Валерий: Работа с часами реального времени DS3231
http://radiolaba....

Алексей: Работа с часами реального времени DS3231
А в чем вопрос?...




           

Библиотека для AVR





AXLIB Генератор





Помощь сайту


   
				

Автономный терминал COM тестер с АКБ

	
	
	

Дата: 21 Ноября 2014. Автор: Алексей

	
	
Когда-то давно я начал изучать контроллеры ARM от ST. Ну ковырял, ковырял и собрал из кусочков COM тестер. Первый вариант был жуткий. Куча косяков, неправильная сборка питания сожгла контроллер, ну а за ним загнал тестами FT232RL. Забросил я эту тему на долго. Последнее время я интенсивно ковыряюсь с SIM900D. Отсюда часто требуется отслеживать данные на линии UART. Так же для связи с ПК я использую свой протокол и его тоже гоняю по UART. Если с SIM900D все понятно, то с протоколом часто требуется посмотреть переданные биты в бинаре. Вычислять их самому их хекса как-то не хотелось и я вспомнил про свой тестер. Достал проект, перенес его из PCADа в DipTrace и страссировал платку. Далее изготовил плату и даже не поленился и покрыл ее зеленкой. Припаял все детали, залил прошивку, включил и вуаля. Все работает, но с косяками)). Выглядит сей девайс вот так:

COM-тестер

Начнем с того что он может.

    1. Вывод всей информации на графический дисплей 160 х 128 точек.
    2. Принимает данные на скоростях 9600, 19200, 38400, 57600 и 115200.
    3. Выводит данные в форматах HEX, BIN и ASCII (Windows-1251).
    4. Принимает данные от устройства напрямую в МК
    5. Принимает данные от преобразователя USB-COM FT232RL
    6. Принимает данные от ПК через COM порт MAX3232
    7. Заряжает литиевый АКБ и контролирует разряд.

Плюсы этого устройства в основном, это мобильность. Так же для АКБ я установил клеммник, что дает возможность заряжать любые литиевые АКБ на 3,7 в. И если перемкнуть выводы FT232RL с MAX3232, то получаем готовый переходник USB-COM. Так, теперь к делу. Собственно хочу пройтись по схеме. Питание и заряд АКБ.

Схема питания и заряда АКБ

Пояснения. Для заряда АКБ была выбрана микросхема MCP73831. Что она может. Да всего навсего заряжает литиевый АКБ до напряжения 4,18в. Во время зарядки горит светодиод, а когда АКБ зарядился, напряжение стало равно 4,18в зарядка прекращается и гаснет светодиод. Я правда только потом дотумкал что нужно было этот сигнал на ногу МК повесть и гламурно выводить значок на АКБ мол заряжается. Ну что не сделал то не сделал. Но есть тут небольшая засада. Если использовать AVR контроллер, то можно особо не париться с питанием, он сожрет 4,18в и не подавится. А что делать с STM32. Ему низя давать выше 3,6в. Вот я забил на это и спалил первый МК. Первая мысль LM1117-3.3. Фигули, не пойдет. У этой микры требуется на вход подать не менее 4,7в, а у нас 4,18. Че делать? Вот для этих целей есть чудо микросхема MAX604. Данная микра заточена четко под литиевые АКБ. На вход она берет все что дает АКБ, а на выходе выдает 3.3в. Стоит она правда о-го-го и делится на 3 группы. Первая с индексом С самая дорогая, так как она выдает 3.3в на выходе, а на входе берет 2.7в. К стати это напряжение минимальное для литиевых АКБ и если в нем есть схема контроля, то при этом напряжении она отключит АКБ. Вторая группа с индексом Е стоит по дешевле, так как на вход можно подавать минимум 2.9в. И самая дешевая с индексом М. Она берет на вход минимум 3.0в. Я поставил с индексом Е так как не смог найти с индексом С, а на Али она стоит около 900руб. Так с питанием разобрались. Теперь рассмотрим мозг.

Схема управление терминалом

Сердце девайса STM32F103C8. Данный МК хорош тем что имеет 48 ног и довольно мощный. Что я здесь наваял. Первое вывел SWD разъем для прошивки с помощью программатора на Дискавери. Там получается 3 провода кинул и прошивай. Далее я вывел два UARTA. Один для получения данных, другой задумывался для заливки через бутлоадер. Но немного подумав решил потом допишу программу и через него подцеплю клавиатуру. Можно будет в поле АТ команды подавать))) К аппаратному SPI подключен ЖК дисплей. Для того чтобы экономить электричество я вывел ножку с транзистором для включения/выключения подсветки. На 1 бит порта А посадил резисторный делитель от АКБ, дабы замерять разряд последней. Ну вроде и все. Схема включения FT232RL по даташиту.

Схема включения FT232RL

MAX3232 тоже.

Схема включения MAX3232

Теперь о программе. Так как я писал ее очень давно и с STM-ками вообще никак не дружил, то и программа написана из кусков кода взятых из разных мест. Управление ЖК. Для ЖК я использовал написанную библиотеку, которую взял с какого-то форума. Библиотека была написана под 4 серию. Что я в ней изменил. Переделал ее под 1 серию МК, добавил функции отрисовки треугольника и окружности. Добавил Дефайны с основными цветами, так как их каждый раз рассчитывать ой как тяжко, 16 бит однако. Настройку АЦП скопипастил с сайта easystm32.ru, за что огромное спасибо автору. Настройки UART ваще уже не помню. Ща глянул на код, вздохнул и закрыл))) Работает и ладно. Самое главное что есть железка, а переписать код можно всегда. Получилось полезное устройство и стартовый комплект для новичка. Так что качайте архивы схемы, платы и проекта под Кокос и делайте с ним что хотите. Надеюсь мой девайс кому-нибудь пригодится.

Архив схема и плата в DipTrace
Архив проект в CooCox

А вот видео как все это работает. Качество не ахти, но я когда-нибудь разарюсь на хороший фотик.

JW Player goes here







Чтобы вставить ссылку используйте форму вида[url]http://www.адрес.ru[/url][text]текст ссылки[/text]
Чтобы вставить код используйте форму вида[code]код[/code]

Имя:   





  








Вверх


Рейтинг@Mail.ru Яндекс.Метрика