Schetchiksg.ru

Счетчик СГ
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Avr счетчик для намоточного станка

SJRacing — тюнинг комплектующие для вашего автомобиля

Микроконтроллер своими руками / Habr

Возникла идея нарисовать свой контроллер, не ограниченный по количеству периферии, ОЗУ и другим параметрам, кроме ёмкости ПЛИС. Скажем контроллер содержит 5 UARTов, а позарез нужен шестой, придётся изворачиваться. А зачем, если можно просто щёлкнуть мышкой и добавить необходимое? Или наоборот, задачка хорошо решается на пяти контроллерах с разрядностью 5, 32, 20, 32 и 20 с непредсказуемым количеством линий связи между ними. Жалко использовать пять 32 разрядников, ресурс всегда жалко, а совмещать две подзадачи на одно ядро – некрасиво, что ли.

Время отклика на прерывание в контроллерах достаточно велико. Да, контроллер прерываний мониторит входы (почему-то ограниченные по количеству) независимо от ядра. Но прежде чем начать выполнение кода программы по обработке прерывания, скажем, читать порт, требуется сохранить регистры общего назначения, а затем их ещё и восстановить. А это не один такт на пустое с точки зрения логики программы переписывание регистров в стек и возврат этих же значений обратно. Оно конечно вписывается в понятие реального времени, но ведь можно же делать это мгновенно: выполнялся код с низким приоритетом, на следующем же такте по причине резкой необходимости начинает выполнятся высокоприоритетное прерывание по таймеру, а через такт выполняется код по обработке внешнего потока данных, ибо там совсем всё быстро надо.

Конечно, все эти проблемы надуманы и решаются и легко и просто. Но дурная мысль не ищет таких решений, она просто бродит в переполненном пространстве сознания и подталкивает сделать нестандарт. А, если у молодого инженера отпуск, то прости жена и дети, но папа не «опять сидит за компьютером», а профессионально растёт. Тем более иногда хочется выполнять не кем-то придуманные задачки, а свои, полностью свои.

Рис. 1. Таймеры. Добавляй сколько хочешь. Обратите внимание на грамматическую ошибку. Стыдно, но не хочется Builder устанавливать для перекомпиляции.

Разрешите представить вам контроллер, архитектура которого, не то чтобы отличается от всех прочих, скорее она не принята на вооружение. Уже давно забыт список прочитанной перед началом работ литературы, использованы мысли многих людей из разных компьютерных эпох, простите меня мои забытые учителя. Зато вам не придётся от меня открещиваться. Да и денег это не пронесло, поэтому и делиться нечем.

Сразу скажу, что контроллер состоялся, прошит в Спартаны всех поколений и успешно трудится на просторах СНГ и одной стране Прибалтики. Сейчас бы многое было сделано по другому, но любые изменения мне уже ленивы и, что случилось, то случилось. А случилось вот что.

— Разрядность контроллера от 1 до 32, со знаком или без оного. (Не помню проверял ли я работу на малых разрядностях). Используется дополнительный код.
— Количество портов ввода/вывода ни чем не ограничена, разрядность ограничена разрядностью ядра.
— Количество таймеров так же не ограничено. На каждый таймер можно установить свой обработчик прерывания.
— Обработчик прерываний с бесконечным количеством входов, каждый вход имеет приоритет от 0 до 99 (ограничение по причине «и так большого числа»). Возможность запрещать все прерывания или низкоприоритетные только.
— Количество последовательных портов типа UART неограниченно, разрядность ограничена разрядностью ядра.
— Делитель частоты сделан плохо и неправильно, но исправно выдаёт любую частоту для любой периферии или просто наружу контроллера.
— Сопроцессор. О нём ниже.

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

Хотелось бы рассказать про код команд, но сам не помню из чего он состоит. Исходя из принципа «не использовать то, что не используется» даже длинна кода команды является величиной не константной, тем более его содержимое. Скажем, если в компилируемой программе встречается 14 команд, то каждая команда кодируется 4 битами, если используется 18 команд – выделяется пятый бит. Плюс к каждой команде добавляется бит длинны, если он равен 0, то команда одинарная, если 1 – двойная, или наоборот, это не важно. Двойная команда нужна для операций, содержащих адрес ОЗУ или ПЗУ. Добавим к этому то, что шины адреса так же имеют не константные длины, и получим полный бардак в коде команд, рассматривать его никаким дизассемблером смысла нет, как собственно и ассемблер в этом контроллере.

Читайте так же:
Счетчик водомерный диаметром 40

Форт – вот тот язык, который позволил мне реализовать эти странные идеи. Форт прост и низкоуровневый. Писать компилятор данного языка – одно удовольствие. Ну, конечно, все конструкции языка не поддерживаются, только основные по пересылке данных и их изменении.

Рис. 2. Руководство достаточно скромное. Нескромное так и не написано.

Рис. 3. Вторая часть руководства. Не знаю почему, но окно расширить нельзя. Есть ещё и третья часть, но уж совсем скучная.

И, естественно, мы имеем стековый контроллер. То есть Форт функционирует в своей естественно среде – в стеке, в аппаратном стеке, а не медленном программном. «Всё за такт!» — второй девиз проекта. Аппаратный стек позволил при переходе в функции или вызове прерывания сразу приступать к выполнению команд обработки данных, без необходимости сохранять контент прерванного процесса. «Новые» данные просто помещаются в стек сверху, «старые» уходят в глубь и прекрасно там сохраняются. Затем «новые» данные, поучаствовав в разных операциях, благополучно переходят в ОЗУ или другие места, а «старые» выталкиваются на вершину. При возврате в прерванный участок кода никто ничего не заметит. Адрес прерванного кода сохраняется в другом стеке, и максимальное количество прерванных процессов зависит только ото глубины Стека Возвратов. Это величина настраивается при компиляции, хоть бы и «очень большое число». Параметры в функции передаются так же через стек.

Stackcpu – именно так и называется контроллер, почему-то латиницей, хотя писать код можно и кириллицей. Что я и делаю, приведу пример функции «меняем_биты_в_слове»:

Где: «читаем_из_нужного_порта», «меняем_прочитанное_из_нужного_порта», «записываем_в_требуемую_ячейку_памяти» — функции, выполняющие определённые действия.

Ну не псих ли я красиво ли? Приведу ещё доказательства, программа управления светофором:

Ну что, псих красиво? Третий принцип проекта: «Литературный язык в управление электроникой!» Хотя, как показала практика, писать так программы довольно утомительно. Для знатоков Форт сообщу, что точку мой компилятор воспринимает как разделитель, и запятую тоже. Конечно, лучше использовать язык С, но компилятор С мне не по зубам, а использовать сторонние компиляторы архитектура не позволяет.

Рис. 4. Среда разработки с отчётом компилятора и линковщика.

Сколько ёмкости FPGA занимает контроллер? Да кто ж его знает. Всё зависит от разрядности числа, выбранной периферии, ещё чего-то, и от текста программы. В контроллере не будет умножителя, если он не встречается в программном коде, или не будет делителя, если его не использует программист. Под программистом я подразумеваю себя, так как других программистов данного контроллера не существует (принцип «не использовать тем, кто не использует»). По блочной памяти для ОЗУ данных и ПЗУ команд: минимум два блока, максимум вся блочная память кристалла.

Максимальная частота работы высчитывается только опытным путём, под конкретную архитектуру. Один из моих 24 разрядных контроллеров не работал на частоте 48 Mhz в Spartan2, на частоте 40Mhz заработал. В Spartan6 на сотне Mhz работал 32 разрядный. А может и на паре сотен заработает, ничего в нём такого сложного нет.

Рис. 5. Вот такой код увидит процессор. Обратите внимание, одна команда FORTH – это одна команда ядра процессора – один системный такт.

Первый PS: упомяну одну возможность сопроцессора – фильтр. Обычный БИХ фильтр. Но вот, что необычного в нём, так это то, что он использует плавающую точку. Не то что б в этом был какой-то смысл, просто прочитал какую-то книжку про форму представления чисел, и решил: ерунда интересна эта ваша плавающая точка, сделаем.

Рис. 6. Моделирование результатов работы фильтра. Высчитывается логика кода VHDL с точностью до битика.

Так же были планы по превращения проекта в систему на кристалле: добавление различных, писанных на VHDL блоков в периферию контроллера. И вроде не так уж и сложно, но запал иссяк. Дурные мысли меня покинули, и бродят где-то между программистами и электронщиками. И зовут их теперь Стартапами.
Так что, если к вам кто-то придёт и представится Стартапом, подумайте, а не скрывается ли под ним какой-нибудь Времяубиватель.
И ещё одно PS: С другой стороны, за время работы над проектом Stackcpu я неплохо подучил три два языка программирования:
1. FORTH, точнее некое его подмножество, необходимое для проверки работоспособности контроллера.
2. С++, на чистом С было бы тяжело написать среду разработки и компилятор.
3. VHDL, именно буквы этого языка и есть контроллер.

Читайте так же:
Повышенные коэффициенты если нет счетчиков установить с 2015

Понятно, что рассказывать можно долго, но на этом хватит. Пойду заниматься чужими идеями, но с моей реализацией!
Собственно контроллер (половина мегабайта): cloud.mail.ru/public/1cdf4b1d4799/StackCPU.rar

Устройства на микроконтроллерах

Схема и описание работы программатора микроконтроллеров avr через порт usb.

05.07.2012 Прочитали: 91287

09.06.2012 Прочитали: 54822

Простейший металлоискатель — пинпоинтер на микроконтроллере PIC16F629.

10.01.2012 Прочитали: 126688

12.09.2011 Прочитали: 143563

30.08.2011 Прочитали: 41393

20.06.2011 Прочитали: 139164

СЧЁТЧИК НА МИКРОКОНТРОЛЛЕРЕ

Счётчик на микроконтроллере довольно прост для повторения и собран на популярном МК PIC16F628A с выводом индикации на 4 семисегментных светодиодных индикатора. Счётчик имеет два входа управления: «+1» и «-1», а также кнопку «Reset». Управление схемой нового счётчика реализовано таким образом, что как бы долго или коротко не была нажата кнопка входа, счёт продолжится только при её отпускании и очередном нажатии. Максимальное количество поступивших импульсов и соответственно показания АЛС — 9999. При управлении на входе «-1» счёт ведётся в обратном порядке до значения 0000. Показания счётчика сохраняются в памяти контроллера и при отключении питания, что сохранит данные при случайных перебоях питающего напряжения сети.

Принципиальная схема реверсивного счётчика на микроконтроллере PIC16F628A:

Сброс показаний счётчика и одновременно состояния памяти в 0, осуществляется кнопкой «Reset». Следует помнить, что при первом включении реверсивного счётчика на микроконтроллере, на индикаторе АЛС может высветиться непредсказуемая информация. Но при первом же нажатии на любую из кнопок информация нормализируется. Где и как можно использовать эту схему — зависит от конкретных нужд, например установить в магазин или офис для подсчёта посетителей или как индикатор намоточного станка. В общем думаю, что этот счётчик на микроконтроллере кому-нибудь принесёт пользу.

Если у кого-то под рукой не окажется нужного индикатора АЛС, а будет какой-нибудь другой (или даже 4 отдельных одинаковых индикатора), я готов помочь перерисовать печатку и переделать прошивку. В архиве на форуме схема, плата и прошивки под индикаторы с общим анодом и общим катодом. Печатная плата показана на рисунке ниже:

Имеется также новая версия прошивки для счётчика на микроконтроллере PIC16F628A. при этом схема и плата счётчика остались прежними, но поменялось назначение кнопок: кнопка 1 — вход импульсов (например, от геркона), 2 кнопка включает счёт на вычитание входных импульсов, при этом на индикаторе светится самая левая точка, 3 кнопка — сложение импульсов — светится самая правая точка. Кнопка 4 — сброс. В таком варианте схему счётчика на микроконтроллере можно легко применить на намоточном станке. Только перед намоткой или отмоткой витков нужно сначала нажать кнопку «+» или «-«. Питается счётчик от стабилизированного источника напряжением 5В и током 50мА. При необходимости можно питать от батареек. Корпус зависит от ваших вкусов и возможностей. Схему предоставил — Samopalkin

Форум по микроконтроллерам

Обсудить статью СЧЁТЧИК НА МИКРОКОНТРОЛЛЕРЕ

Схемы на микроконтроллерах

Автоматическую систему полива растений можно собрать самому, по предлагаемой в статье схеме, с помощью микроконтроллера Atmega16, который следит за влажностью почвы.

23.11.2014 Читали: 10445

Светодиодная цветная 3-х ватная «Лампа настроения» на базе микроконтроллера Attiny13 и импульсного БП на TNY245.

29.10.2014 Читали: 9459

Создание цветовых светодиодных композиций освещения и управление ими при помощи микроконтроллера AT90S8535.

19.10.2014 Читали: 7347

Оригинальный индикатор звука, собранный на базе микроконтроллера ATMEGA624 и специальных люминисцентных радиоламп.

18.10.2014 Читали: 6881

Делаем программируемый таймер на микроконтроллере PIC16F628A, с цифровым жидкокристаллическим индикатором для отображения времени и настроек.

16.10.2014 Читали: 17264

Схема интересного устройства — веб радио плеер на Ардуино. Предназначен для прослушивания музыки из интернета без компьютера.

14.10.2014 Читали: 31544

Снижение расхода топлива в авто

Намоточный станок на Arduino

Порой в радиолюбительской практике возникает необходимость намотки большого количества витков провода для создания трансформаторов, дросселей, катушек и им подобных моточных изделий. Если речь идет о сотне витков особых проблем нет, мотается при помощи простейших механических приспособлений. Но когда нужно намотать несколько тысяч витков, да ещё и виток к витку, то тут задумываешься об автоматизации этого весьма утомительного процесса.

Устройство, о котором пойдет речь, представляет из себя автоматический намоточный станок с укладчиком витков и индикацией процесса на символьном ЖК экране.
Интеллектуальным ядром устройства является знакомый многим микроконтроллер ATmega328P, расположенный на китайском варианте платы Arduino UNO. Контроллер через CNC Shield (плата расширения ЧПУ) управляет силовой частью устройства, состоящей из 2-х драйверов шаговых двигателей (ШД) на базе микросхемы DRV8825 и 2-х ШД 17HS3401 и 17HS4401 (полный оборот 200 шагов). Человеко-машинный интерфейс состоит из модуля поворотного энкодера KY-040 и символьного дисплея 16×2 с контроллером HD44780 и модулем связи по шине I2C на расширителе портов PCF8574A. Питание схема получает от импульсного БП 220AC-12DC 60W.

Читайте так же:
Соцнайм жилья установка счетчиков

Микроконтроллер задействует драйвера «Z» и «A» при этом на CNC Shield-е для соединения драйвера «A» с пинами 12 и 13 ардуино необходимо установить перемычки D12-A.STP и D13-A.DIR. Режим работы DRV8825 выбираем с микрошагом 1/16 установив перемычки M2 на плате, это означает что на один шаг ШД (1,8°) необходимо подать 16 фронтов сигнала STP. Установку модулей DRV8825 необходимо произвести потому что показано ниже.

После установки драйверов ШД необходимо обязательно выставить ограничение по току. При подключенном напряжении 12В к плате CNC Shield, но без электродвигателей, необходимо вращая подстроечный резистор выставить значения ограничений. Текущее значение контролируем мультиметром и вращая отверткой подстроечник, добиваемся значений напряжения для драйвера «Z» 0,68В и 0,52В для драйвера «A». Эти значения напрямую связаны с номинальным током ШД. Для 17HS4401 In = 1,7А, а для 17HS3401 In = 1,3А. Значение напряжения в щадящем для ШД режиме вычисляем по формуле Vref = 0,8*(In / 2).

Подключение I2C 1602 LCD выполняем к соответствующим выводам SCL, SDA, 5V, GND платы расширения. На модуле энкодера допаиваем подтягивающий резистор R1 10k если его там нет. Для устранения дребезга контактов необходимо собрать схему аппаратного подавления, ее можно оформить в виде модуля, дополняющего модуль KY-040 как показано ниже. Фильтры низких частот на R4-6 и C1-3 устраняют дребезг, а триггеры Шмитта МС 74НС14N восстанавливают фронт и спад сигнала.


Для подключения энкодера к ардуино соединяем пины X.STEP и CLK, Y.STEP и SW, X.DIR и DT а так же GND и +5V с соответствующими выводами платы.


Механическая часть намоточного станка это шесть стоек прикрученных к оргстеклу. Стоики напечатаны пластиком на 3D принтере, но при наличии должной пряморукости могут быть изготовлены другими способами и из других материалов. Основной вал (шпилька М6) приводится в движение ШД 4401 и на нем располагается каркас для намотки. Далее две стоики укладчика с валом диаметром 6мм и шпилькой М4 (шаг резьбы 0,7мм) на валу ШД 3401. Вращение двигателя приводит к линейному перемещению укладчика, при этом один шаг ШД дает перемещение L = шаг резьбы / шагов на оборот = 0,7/200 = 0,0035мм. Последние две стойки держат подающую катушку. Поджатием резиновой шайбы к подшипнику обеспечивается натяжение провода при намотке.

Программа для ATmega328P написана в среде разработки Arduino IDE на языке C++. Для успешной компиляции кода необходимо иметь установленную библиотеку LiquidCrystal_I2C.

Из основного меню можно попасть в подменю управления позицией шаговых двигателей POS CONTROL это необходимо для установки начальной позиции основного вала и укладчика. Подменю AUTOWINDING предназначено для ввода значений автоматической намотки. Работа с кнопкой энкодера, а также, с самим энкодером и драйверами ШД осуществляется через прерывания.

Исходный код содержит определенное количество комментариев для понимания работы, хотя понятно, что все разъяснить в комментариях невозможно и чужой код это всегда темный лес. Тем не менее, я думаю, что некоторые приемы, использованные в данной программе, пригодятся как начинающим ардуинщикам так и опытным пользователям этой платформы.

Результаты испытаний показали, что при правильном начальном позиционировании, станок обеспечивает точную автоматическую намотку слоев эмалированного провода диаметром от 0,06 до 0,5 мм. Варьируя значениями кол-ва витков (TURNS) и шага (STEP) можно добиваться режимов «виток к витку» и «равномерное заполнение окна».
На этом у меня все, прошу высказывать свое мнение в комментариях.


Список радиоэлементов

Плата ArduinoArduino Uno1

Плата расширения ArduinoCNC Shield DRV88251

Модуль поворотного энкодераKY-0401

Расширитель портовI2C модуль на PCF8574A для LCD1
D1
ИС буфера, драйвераSN74HC141
R1, R4-R6
Резистор10 кОм4
C1-C3
Конденсатор100 нФ3

Счетчик витков намоточного станка и тахометр токарного станка на ATmega8 — Arduino

Разработка данных устройств началась когда одновременно двое моих знакомых купили станки СРН-05 с «уставшими» механическими счетчиками витков. Также знакомый, некоторое время владеющий токарным станком, попросил сделать ему тахометр. Т.к. последний из вышеперечисленных товарищей, работает электриком, у него, как и у любого технаря, скапливается списанная техника. Ввиду направления его работы у него скапливаются списанные, неисправные и просто счетчики электроэнергии с истекшим сроком проверки. Самой популярной моделью счетчика, попадающий на запчасти является трехфазный счетчик ЛЭМЗ ЦЭ2727. Для удобства, на фото показаны две платы.

Читайте так же:
Проверка схемы включения счетчика

На плате счетчика присутствуют:

  • Микроконтроллер Microchip PIC16F76
  • микросхема часов реального времени с батарейкой
  • i2c ПЗУ’шка
  • спец. АЦП ADE7752AR
  • ЖК дисплей в комплекте с микросхемой-контроллером HOLTEK HT-1621B
  • куча другой полезной SMD рассыпухи (кренка, опорник, оптопары, кварцы. )

При беглом поиске на просторах интернета, была найдена статья http://pakhom.weebly.com/ard_ht1621.html автор которой разобрался с подключением к Arduino ЖК дисплея на таком же контроллере. Скачав библиотеку и тестовый скетч, я вернулся к железу. На плате много незаполненных компонентами контактных площадок, что намекает нам на то что данные счетчики не нафаршированы лишними опциями. Платы бывают нескольких ревизий, между собой отличаются они: цветом маски, корпусами и расположением некоторых деталей(на пример оптопар), распиновка нужных для переделки компонентов остается неизменна. Первым делом я захотел сделать, так называемую, «отладочную плату» с ЖК дисплеем и его контроллером, для этого необходимо отпаять все активные и габаритные компоненты с верхней части платы счетчика, кроме ЖКИ и контроллера HOLTEK HT-1621B.

Отпаянные детали(PIC, ПЗУ, RTC, оптопары, . ) и нижнюю часть платы можно оставить для использования в других проектах. Горизонтальный изоляционный пропил в плате, подкидывает не плохую идею.

Для обрезки плат я применил ножницы по металлу, но можно использовать и ножовку по металлу или лобзик. Также на плате присутствует(справа от экрана) место под разъем PLS-10, на этот разъем выведено питание и rxtx UART’a микроконтроллера PIC. Запаиваем разъем PLS-10, но с обратной стороны платы, это позволит как подключать Arduino для отладки, так и навесить самодельную плату «вторым этажом» снизу. Далее следует вывести необходимые 3 линии(DATA, CS, WR) контроллера ЖКИ на разъем PLS-10. Проще всего это делается запайкой перемычек на то место где был МК PIC.

Всего понадобится 3 перемычки. Первая соединяет контактные площадки 2 и 22, вторая 3 и 21, третья 4 и 18. Если при запайке перемычек возникли проблемы и контактные площадки оторвались, то можно сделать перемычки между переходными отверстиями, расположенными рядом с контактными площадками, так даже надежней. Далее, чтобы не путаться в рапиновках разъема, обозначенного на плате счетчика как X1, была сделана наклейка с таблицей соответствия номеров контактов и линий управления контроллером ЖКИ. Файл для печати наклейки(Microsoft Publisher) прилагаю.

На этом отладочную плату с ЖКИ и контроллером HOLTEK HT-1621B можно считать готовой. Ее можно подключать к Arduino или другой отладочной плате и заливать тестовую программу/скетч. Для тестового скетча подключение оптодатчика не обязательно.

Для облегчения восприятия, в программе Fritzing была нарисована монтажная схема подключения отладочной платы и датчика к Arduino.

При первых экспериментах с софтом, тестовый скетч отказывался компилироваться, ругань компилятора была про библиотеку. Как выяснилось, некоторый критичный код в библиотеке был написан КАПСОМ! Исправленную библиотеку предлагаю. Далее на форуме http://www.arduino.ru/forum/apparatnye-voprosy/podklyuchenie-i-ispolzovanie-zhk-segmentnogo-indikatora был найден код который выводит uptime микроконтроллера в миллисекундах на ЖКИ. Но к сожалению при попытке вывести цифры на экране появлялись непонятные символы. Почитав datasheet на HOLTEK я понял что вывод информации предполагается блоками по 3 сегмента. Переделав матрицу и изменив параметры цикла функции вывода, я добился правильной работы тестового скетча. Далее я подключил к Arduino UNO оптодатчик от принтера, используя соответствующий токоограничительный(R1) и подтягивающий(R2) резисторы. Начать я решил с реализации программы для счетчика. Для того чтобы обеспечить возможность быстрой проверки, из катушки от печатной машинки и шуруповерта был сделан тестовый стенд.

На обоих «дисках» катушки уже было по одному отверстию, но с одной из сторон я просверлил еще одно, это пригодится для повышения точности тахометра. Программа счетчика витков основана на функции вывода с форума и прерываниях по 2-му порту. Сброс организован штатными средствами МК, ни чего нового я придумывать не стал. Программа тахометра тоже работает по прерываниям, но она считает сколько раз в секунду был пропущен/прерван свет в датчике и умножает эту переменную на 30(так как дырки в диске 2)

Для повышения точности тахометра (если необходимо измерять низкие обороты) необходимо увеличить количество отверстий в диске, и соответственно изменить значение. Для одной дырки 60, для 2-х 30, 3-20, 4-15, 6-10. Отверстия рекомендую сверлить тонким сверлом и через равные промежутки.

Так как программы получились небольшие, да и Arduin’ка у меня одна, а прибора надо было 3, было решено развести платы на AtMega8. Данные приборы будут эксплуатироваться в т.н. «гаражных» условиях я решил сделать плату универсальной, в том числе и в плане питания. Я поставил диодный мост и КРЕН’ку, чтобы прибор можно было запитать от первого попавшегося маломощного трансформатора или БП. Сперва я нарисовал схему в Proteus’е.

Читайте так же:
До какого числа надо поставить счетчики

Затем настало время чертить плату. Идея сделать на плате разъем PBS-10 и воткнуть плату в уже распаянный разъем отладочной платы с ЖКИ и HOLTEK»ом «вторым этажом», была с самого начала, но я не был уверен в том как данное соединение поведет себя в условиях вибраций, которые возможны (прим. неотбалансированная заготовка на станке). Для решения данной проблемы я предусмотрел крепежные отверстия по углам платы.

Начертив плату в программе Sprint-Layout 5, я принялся за ее изготовление. Изготавливать плату решил, традиционным для себя, фоторезистивным способом. Сперва отрезал и зашкурил кусок фольгированного стеклотекстолита, размером

60x35mm(чуть больше чем нужно). Затем я прошелся по заготовке губкой «scotch bright».

Затем вырезал чуть большей по размеру кусок пленочного фоторезиста, и при помощи ламинатора «накатил» и приклеил его к текстолитовой заготовке.

Пока заготовка ездила по ламинатору, на лазерном принтере был напечатан фотошаблон. Далее экспонируем, проявляем, травим, моем, сверлим, паяем. Должно получится как-то так.

Так как конкретно данная плата предназначалась для тахометра, разъем под кнопку сброса(J2) не впаян. Для счетчиков необходимо запаять этот разъем. Затем необходимо прошить в ATmega8 загрузчик Arduino «bootloader» по инструкции. Используя этот загрузчик мы используем встроенный в ATmega8 тактовый генератор на 8MHz. Для прошивки я использовал программатор USBTINY. Далее, не отсоединяя «мегу» от программатора, запускаем Arduino IDE, импортируем библиотеку, открываем нужный скетч, выбираем программатор, компилируем(CTRL+R) и прошиваем(CTRL+SHIFT+U). Все, можно вынимать МК из панельки программатора, вставлять в панельку на плате и состыковывать бутерброд из плат. Ниже приведены образцы того как это выглядит в собранном виде.

И с обратной стороны.

На фото видно, что на первой сделанной плате была допущена ошибка, на разъем J3 я вывел 5V заместо земли(с кем не бывает), пришлось резать дорожку и кидать перемычку. На чертеже платы прикрепленном к статье данная ошибка исправлена, а других не обнаружено. Убедившись в том что ошибок на плате нет, можно включать и испытывать.

На данном фото показан готовый тахометр, перед тем как он был отдан товарищу с токарным станком.

P.S. Контроллер ЖКИ HOLTEK HT-1621, помимо данной модели электросчетчика, также применяется: в некоторых счетчиках «меркурий» и «энергомера», стационарных телефонах, также в дисплеях кассовых аппаратов. Да и китайцы на ebay’е готовые платки продают. Конечно сам ЖКИ и плата будут уже другими, но вывод не долго переделать.

Академия Гитарной Электроники: Намоточный Станок. Электронный Счетчик — Академия Гитарной Электроники

  • Перейти на сайт
  • Обсуждения
  • Пользователи
  • Календарь
  • Чат
  • Академия Гитарной Электроники
  • >Дополнительный раздел
  • >Остальное
  • Правила форума
  • Просмотр новых публикаций

Намоточный Станок. Электронный Счетчик

#1 SSM

  • Группа: Паяльные маньяки
  • Сообщений: 294
  • Регистрация: 21 September 10
Прикрепленные файлы
  • counter.lay(44.95К)
    Количество загрузок:581
  • Наверх of the page up there ^

#2 SeRpaQ:-)

  • Паяльный маньяк

  • Группа: Паяльные маньяки
  • Сообщений: 746
  • Регистрация: 09 March 12
  • Наверх of the page up there ^

#3 SSM

  • Группа: Паяльные маньяки
  • Сообщений: 294
  • Регистрация: 21 September 10

Станок стыдно показывать — он страшен как ядерная война. По сути ничего особенного. Деревянный постамент, два вала на деревянных упорах. На одном катушка с проводом, на второй надевается каркас, который фиксируется затолканной внутрь бумагой. В качестве привода на мех. счетчик коленце и проволочка. /> Напоминает это —


Сделал основную плату. Затрахался впаивать индикаторы. Металлизации отверстий то нет, поэтому пришлось продевать тонкие проволочки и припаивать сначала с верхней стороны, потом вставлять индикатор и паять с нижней. Вообщем лучше не жмотится и купить 4х разрядный.
Корявые фотки платы с мобильника прилагаются

Прикрепленные изображения

  • Наверх of the page up there ^

#4 rust

  • Группа: Паяльные маньяки
  • Сообщений: 537
  • Регистрация: 17 May 09
  • Наверх of the page up there ^

#5 SeRpaQ:-)

  • Паяльный маньяк

  • Группа: Паяльные маньяки
  • Сообщений: 746
  • Регистрация: 09 March 12

Проще калькулятор юзать:-) тоже цифровой счетчик вон, в фикспрайс он по 38 рублей

Я вот с чпу хочу собрать, учу матчасть

  • Наверх of the page up there ^

#6 SSM

  • Группа: Паяльные маньяки
  • Сообщений: 294
  • Регистрация: 21 September 10
  • Наверх of the page up there ^

#7 SeRpaQ:-)

  • Паяльный маньяк

  • Группа: Паяльные маньяки
  • Сообщений: 746
  • Регистрация: 09 March 12
  • Наверх of the page up there ^

#8 Sergey50

  • Группа: Новички
  • Сообщений: 8
  • Регистрация: 17 November 10

Сообщение отредактировал Sergey50: 16 December 2013 — 20:34

голоса
Рейтинг статьи
Ссылка на основную публикацию