- •Первый вариант реализации
- •Cтруктурная и функциональная схемы проекта
- •Выбор датчиков.
- •Датчики основные
- •Датчики вспомогательные
- •Блок измерения мощности
- •Назначение портов pic18f448
- •Энкодер
- •Часы реального времени (Real-Time Clock).
- •Соединение контроллера pic18f448 с sd-картой памяти через интерфейс spi.
- •Расчёт памяти для работы системы в течение двух часов.
- •Cвязь контроллеров pic18f448 с помощью can-шины
- •Достоинства и недостатки проекта
- •Второй вариант реализации
- •Структурная и электрическая схемы проекта
- •Выбор датчиков и их схема подключения
- •Блок измерения мощности
- •Назначение портов модуля Crumb128-can v5.0-5.1
- •Сравнение двух вариантов реализаций
Назначение портов pic18f448
Порты контроллера имеют как основные и дополнительные функции. Настройка портов, для выполнения определенных функций выполняется программно. Микроконтроллер PIC18F448 изображен на рисунке 2.
Рисунок 2. Микроконтроллер PIC18F448
Выберем нужные нам функции портов.
RA4/T0CKI – вход таймера-счётчика. Сюда будем подключать энкодер.
RA5/AN4/
/LVDIN
- Служит для выбора ведомого объекта.RB6/PGС - Программным образом порт будет выполнять функции .
RC3/SCK/SCL – Служит для передачи тактового сигнала ведомым устройствам.
RC5/SDO – Служит для передачи данных от ведущего к ведомому.
RC4/SDI/SDA – Служит для передачи данных от ведомого к ведущему.
Назначим порты для ручек управления, камеры и сигнала изменения
положения камеры для двух контроллеров PIC18F448.
Ручка тормоза – сигнал 1 бит – один провод (1 – тормоз, 0 – движение без тормоза) - назначим для этого порт RA0/AN0/CVREF.
Ручка управления – будем использовать 3 провода, чтобы закодировать значения от 0 до 4, поэтому:
1 провод – RA1/AN1
2 провод – RA2/AN2/VREF-
3 провод – RA3/AN3/VREF+
Камера CAM – поскольку нам нужно 16 значений, то необходимо 4 провода, которые дадут информацию об ее положении и еще один провод для фиксирования сигнала изменения ее положения.
1 провод – RB1/INT1
2 провод – RB4
3 провод – RB5/PGM
4 провод – RB7/PGD
5-ый провод - RB0/INT0 – т.к. изменение положения считается по прерываниям, то будем пользоваться функцией INT0 входом внешнего прерывания.
Энкодер
Энкодер – это датчик для измерения
угла поворота. С его помощью мы будем
измерять число оборотов колеса. С него
поступает импульс каждый раз при повороте
на 2
,
таким образом, за 1 поворот будет 180
импульсов. Импульсы с энкодера будем
подавать на вход таймера счётчика,
который можно настроить так, что на него
в качестве тактовой частоты будут
поступать импульсы энкодера. Их будем
считать. Диаметр колеса 1,1 м. За один
оборот колеса расстояние будет составлять
м. Импульсы будут поступать на вход
RA4/T0CKI – вход таймера-счетчика.
Часы реального времени (Real-Time Clock).
Каждые 0.1 секунды информации об
интересующих нас параметрах должна
записываться. Для этого необходимо
подключить часы реального времени,
которые реализованы в виде микросхемы
BQ32000 (рисунок 3). Подключение
к PIC18F448
будем осуществлять через интерфейс
.
Рисунок 3. Микросхема BQ32000.
Опишем функции контактов:
1)
-
питание микросхемы.
2) GND – земля
3) OSCI – вход для подключения генератора
4) OSCO – выход для подключения генератора
5) SCL – линия синхронизации через интерфейс
6) SDA – линия данных через интерфейс .
7) Vback – резервный источник питания.
8) IRQ – вход прерывания.
Т.к. подключать часы будет к контроллеру, выделим для этого для контактов SDA и SCL порты RC4/SDI/SDA и RC3/SCK/SCL на левом контроллере. Схема включения часов реального времени приведена на рисунке 4.
Рисунок 4. Схема включения часов реального времени ВQ32000.
