|
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
Каталог статей
Логгер, двухканальный вольтметр на МК Atmega8.
03 марта 2013
Логгер, двухканальный вольтметр на МК Atmega8.
Приобрел солнечную батарею, контроллер, инвертор и аккумулятор. Для анализа работы этого чудного железа решил сделать логгер для сбора информации о параметрах работы. Итак ставим задачу: двухканальный вольтметр измеряющий постоянное напряжение в диапазоне 0 – 30 вольт, производить измерение в интервале 0 – 59 минут, сохранять время измерения и результат в энергонезависимом ОЗУ, индикацию на LCD времени и результатов, а также номера измерения, двухсторонняя связь с ПК для программирования и сброса результатов. При интервале измерения две минуты работа в течении не менее суток. Ну, вот вроде и все, кажется, ничего не забыл. В качестве контроллера выбрал ATmega8, с расчетом если не хватит памяти перескочить на ATmega168, плюс и та и другая есть в нескольких вариантах исполнения. В качестве часов применим DS1307 c интерфейсом I2C и раз уж этот интерфейс то и память 24LC64, это 8192 байт закладываемся из расчета: два байта на счетчик измерений, три байта на часы, по два байта на каждый канал вольтметра, плюс один байт еще не знаю для чего. Итого получаем 10 байт, округлим количество ячеек до 8000, разделим 8000 на 10 получим 800 измерений, при интервале измерений две минуты получаем минимум двадцать шесть часов работы. В качестве LCD дисплея остановимся на классике две строки по 16 символов WH1602D. Программная среда у нас будет AVR Studio 4, кроме того, что удобна в работе, есть еще как минимум два положительных качества, бесплатна и полно софта. Итак приступим, прототип схемы :
Перейдем к описанию программы. Я даже не буду пытаться делать подробные описания такие как делают, являющиеся на мой взгляд классикой, глубоко уважаемые авторы сайтов: http://chipenable.ru, http://www.simple-devices.ru, http://avrlab.com/ http://www.getchip.net/, http://easyelectronics.ru/, чьи идеи очень помогали мне. Поэтому я просто выкладываю все, что у меня получилось и таким образом может кому то тоже дам идею, мне бы хотелось на это рассчитывать.
Да я еще не сказал в схеме еще присутствует кнопка сброс и джампер перехода в режим консоли, если он замкнут при старте на LCD дисплей выводится сообщение
А на терминал выводится основное меню
Если джампер не установлен логгер сразу переходит в режим измерений и сохранения результатов используя сохраненные в памяти настройки.
Основное меню состоит из четырех пунктов.
1. установка времени часов
2. установка интервала между измерениями
3. передача сохраненной информации из памяти
При этом на LCD выходит сообщение
По окончанию передачи на LCD выводится «ОК»
4. четвертый пункт меню переход в режим измерения и записи
Вид LCD в период измерений
В результатах измерений отсутствует запятая между целой и дробной частью, измерение производится до сотых долей вольта, эта функция выполняется при дальнейшей обработке log файла. Проект проверен в железе, на макетке печатную плату планирую разработать.
Здесь Файлы проекта.
DataSheet: DS1307, WH1602D, 24LS64, I2C
Список литературы
Язык программирования С Брайан Керниган, Денис Ритчи Программирование на языке Си Стефан Кочан Программирование на языке Си для AVR и PIC контроллеров Шпак Ю.А.
|
Категория: Мои статьи | Добавил: avu2 (25.11.2012)
| Автор: Валерий E
|
Просмотров: 4168
| Рейтинг: 0.0/0 |
|
|