Рубрики
Схемы на PIC

Подключение термопринтера CSN A1 к микроконтроллеру PIC16F877A

Термопринтеры в настоящее время находят широкое применение во всех заведениях, где требуется печать торгового (кассового) чека – магазины, торговые центры, системы электронной очереди и т.п. Они достаточно дешевы и отлично подходят для этих целей. Термопринтеры от других принтеров отличает специальный процесс печати, использующий термографическую бумагу (термобумагу). Головка принтера нагревается до определенной температуры и в местах, в которых она касается термобумаги, формируется точка черного цвета.

В данной статье мы рассмотрим подключение термопринтера CSN A1 к микроконтроллеру PIC16F877A. Для запуска процесса печати в нашем проекте будет использоваться тактильный переключатель, а светодиод будет показывать состояние печати – он будет загораться на время процесса печати.

Ранее на нашем сайте мы рассматривали подключение аналогичного термопринтера к плате Arduino.

Общие сведения о термопринтере CSN A1

В нашем проекте мы будем использовать термопринтер CSN A1 от компании Cashino, который относительно недорого стоит. Внешний вид торцевой части данного термопринтера приведен на следующем рисунке.

Технические характеристики термопринтера CSN A1 приведены в следующей таблице.

На обратной стороне термопринтера можно увидеть имеющиеся у него разъемы.

Разъем TTL можно использовать для подключения к последовательному порту микроконтроллера по протоколу RS232 (контакты Rx и Tx). Разъем питания используется для подачи питания на термопринтер, а кнопка – для самотестирования принтера, при ее нажатии принтер напечатает свои технические характеристики (спецификацию) как показано на следующем рисунке.

Как мы можем видеть, термопринтер использует скорость 9600 бод для взаимодействия с микроконтроллером. Принтер печатает ASCII символы.

Для работы принтера нужен источник питания 5V 2A поскольку во время процесса печати он потребляет достаточно большой ток – это является одним из самых существенных недостатков термопринтеров.

Необходимые компоненты

  1. Микроконтроллер PIC16F877A (купить на AliExpress).
  2. Термопринтер CSN A1 (купить на AliExpress).
  3. Программатор PICkit 3 (купить на AliExpress).
  4. Кварцевый генератор 20 МГц (купить на AliExpress).
  5. Конденсаторы 33 пФ (2шт.) (купить на AliExpress).
  6. Резисторы 680 Ом, 4,7 кОм (2 шт.) (купить на AliExpress).
  7. Светодиод (купить на AliExpress).
  8. Тактильный переключатель (Tactile switch).
  9. Источник питания 5V 2A.
  10. Макетная плата.
  11. Соединительные провода.

Схема проекта

Схема подключения термопринтера CSN A1 к микроконтроллеру PIC16F877A представлена на следующем рисунке.

В схеме резистор 4,7 кОм используется для подключения контакта MCLR к питанию 5V. Также в схеме мы используем внешний кварцевый генератор на 20 МГц вместе с конденсаторами 33 пФ для задания тактовой частоты микроконтроллера. Светодиод подключен к контакту RB2 микроконтроллера PIC через токоограничивающий резистор 680 Ом. Тактильный переключатель (кнопка) подключен к контакту RB0 с помощью резистора на 4,7 кОм.

Термопринтер CSN A1 подключен к передающему контакту последовательного порта микроконтроллера PIC. Запитывается термопринтер через контакты 5V и GND.

Внешний вид собранной конструкции проекта показан на следующем рисунке.

Объяснение программы для микроконтроллера PIC

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Первым делом в программе, как обычно, настроим биты конфигурации микроконтроллера.

После этого зададим макросы для используемых контактов. Для работы с портом последовательной связи (UART) мы будем использовать заголовочный файл eusart1.h, внутри этого заголовочного файла последовательный порт будет конфигурироваться для работы на скорости 9600 бод.

В основной функции программы main мы будем проверять нажата ли кнопка и затем после небольшой задержки снова проверять нажата она или нет – это необходимо для устранения эффекта дребезга контактов. Если кнопка нажата, то бы будем зажигать светодиод и запускать процесс печати. Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.

Исходный код программы

Библиотеку eusart1.h для настройки последовательного порта связи можно скачать по следующей ссылке.

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован.