Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 082 поста 13 660 подписчиков

Популярные теги в сообществе:

35

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 2. Конструкционно-металлическая

Фото 1. Шлифовальная машина в работе. Обтачивание неодимовых стекол-светофильтров для специальных очков.

Фото 1. Шлифовальная машина в работе. Обтачивание неодимовых стекол-светофильтров для специальных очков.

Продолжение, начало - постановка задачи.

Мотор был разобран, отмыт-отчищен бензином, ротор с «беличьей клеткой» отдан токарю на доработку – вал был несколько укорочен, выполнена проточка, нарезана резьба для навинчивания маленького трех кулачкового сверлильного патрона. Максимальный диаметр зажимаемого стержня – 10 мм. Заодно были заказаны и выточены два переходника под имеющиеся «биточки».

Фото 2. Эскиз для оснастки-переходников для двух типов сменного инструмента и доработки вала мотора.

Фото 2. Эскиз для оснастки-переходников для двух типов сменного инструмента и доработки вала мотора.

При сборке пользуясь случаем сменил подшипники.

Фото 3. Мотор с насаженным инструментом.

Фото 3. Мотор с насаженным инструментом.

Набросал в КАДе общую компоновку.

Фото 4. Эскиз компоновки станка.

Фото 4. Эскиз компоновки станка.

Сборка. Механическая часть.

Фото 5. Разметка, нарезка заготовок - УШМ, в больших тисках, тоненьким отрезным диском, наушники, защитные очки.

Фото 5. Разметка, нарезка заготовок - УШМ, в больших тисках, тоненьким отрезным диском, наушники, защитные очки.

Фото 6. Сварка основной рамы, зачистка швов. Из обрезков сварил заготовки для кронштейна двигателя.

Фото 6. Сварка основной рамы, зачистка швов. Из обрезков сварил заготовки для кронштейна двигателя.

Фото 7. Готовые кронштейны. У верхних площадок спилил часть нижних полок, чтобы не слишком ухудшать и без того не блестящий обзор на рабочем столе. 

Фото 7. Готовые кронштейны. У верхних площадок спилил часть нижних полок, чтобы не слишком ухудшать и без того не блестящий обзор на рабочем столе. 

Фото 8. По размерам рамы, вырезал заготовку для рабочего стола. Из куска нержавеющей стали 1.5 мм толщиной. Разметил, накернил центры будущих отверстий. Теперь все это сверлить – охохонюшки!

Фото 8. По размерам рамы, вырезал заготовку для рабочего стола. Из куска нержавеющей стали 1.5 мм толщиной. Разметил, накернил центры будущих отверстий. Теперь все это сверлить – охохонюшки!

Фото 9. Приварил кронштейны для мотора, насверлил отверстий.

Фото 9. Приварил кронштейны для мотора, насверлил отверстий.

Фото 10. Уже можно снять точные размеры для задвигаемого под рабочий стол корыта. Начертил развертку, вырезал, согнул, спаял газовой горелкой.  

Фото 10. Уже можно снять точные размеры для задвигаемого под рабочий стол корыта. Начертил развертку, вырезал, согнул, спаял газовой горелкой.  

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

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

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

Фото 12. Готовый кармашек для забора воды.

Фото 12. Готовый кармашек для забора воды.

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

Фото 13. Раму станка пришлось дорабатывать – выпиливать проемы для выступа бака. Изловчился маленькой болгаркой, потом понятно напильником.

Фото 13. Раму станка пришлось дорабатывать – выпиливать проемы для выступа бака. Изловчился маленькой болгаркой, потом понятно напильником.

Фото 14. Приварил два кусочка стальной полосы – посадочное место электрической коробки. Лишнее обрезал, все зачистил.

Фото 14. Приварил два кусочка стальной полосы – посадочное место электрической коробки. Лишнее обрезал, все зачистил.

Приварил ушки для крепления светодиодной лампы подсветки рабочего стола с одной стороны и кронштейна удерживающего шланг подачи воды от насоса с другой.

Фото 15. Железку тщательно зачистил УШМ, где было не достать – крупной шкуркой, обезжирил, покрасил. То же грунт-эмаль по ржавчине, но желтая и другого производителя, подешевле.

Фото 15. Железку тщательно зачистил УШМ, где было не достать – крупной шкуркой, обезжирил, покрасил. То же грунт-эмаль по ржавчине, но желтая и другого производителя, подешевле.

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

Основная железка готова, беремся за паяльник - продолжение следует!

Babay Mazay, зима, 2018 г.

Показать полностью 15
297

Часы на ИН-16 ATmega8 (Arduino IDE)

На основе микроконтроллера ATmega8 используя среду программирования Arduino  ШВУ можно собрать простые часы на газоразрядных индикаторах типа ИН-16 (ИН-14, ИН-18 и др.). ИН-16 представляет собой индикатор тлеющего разряда имеющий десять катодов выполненных в виде цифр и два катода для запятых. Ток индикации 2 мА, напряжение возникновения тлеющего разряда не более 170 В, яркость свечения 150 кд/м².

Назначение выводов:

  • 1 — анод

  • 2 — цифра 1

  • 3 — цифра 7

  • 4 — цифра 3

  • 5 — знак «запятая»

  • 6 — цифра 4

  • 7 — цифра 5

  • 8 — цифра 6

  • 9 — цифра 2

  • 10 — знак «запятая»

  • 11 — цифра 8

  • 12 — цифра 9

  • 13 — цифра 0

Управление цифрами газоразрядных индикаторов осуществляется при помощи высоковольтного двоично-десятичного дешифратора  К155ИД1 (динамическая индикация), управление анодами осуществляется при помощи высоковольтных транзисторных оптронов (TLP627) со схемой Дарлингтона на выходе. Плата Arduino коммутирует управление газоразрядных индикаторов и управляет работой высоковольтного DC-DC преобразователя. В схеме используются часы реального времени DS3231 (DS1307).

Как добавить микроконтроллер Atmega8 в среду программирования Arduino IDE и прошивать микроконтроллер можно узнать из статьи http://rcl-radio.ru/?p=82486

Транзистор IRF740 необходимо установить на небольшой радиатор, дроссель L1 состоит из ферритового сердечника (гантельный сердечник) на который до заполнения намотан провод диаметром 0,27…0,32 мм.

Высоковольтный преобразователь содержит индикатор наличия высокого напряжения на ИН-3 и R7. Для настройки выходного напряжения высоковольтного преобразователя необходимо изменить следующий параметр в скетче:

OCR1A = 255; // 255…505

При увеличении значения регистра OCR1A изменяется скважность ШИМ сигнала, чем выше значение регистра тем выше выходное напряжение преобразователя и тем выше ток потребления преобразователя (до 0,48 А при питании 5 В). OCR1A должен быть не больше 505. Частота ШИМ сигнала 23,5 кГц.

Кнопки SET UP и DW служат для корректировки времени часов реального времени.

В часах имеется функция антиотравления катодов, раз в час, ровно в 30 минут осуществляется перебор всех цифр индикаторов.

При корректировке минут яркость отображения часов снижается.

При корректировке часов яркость отображения минут снижается.

Скетч - http://rcl-radio.ru/?p=129726

Показать полностью 11
42

Самодельный шлифовальный станок по стеклу для витражного дела. Часть 1. Постановка задачи

Фото 1. Шлифовальная машина в работе.

Фото 1. Шлифовальная машина в работе.

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

Фабричные аналоги. В основном, у отечественных витражных дел мастеров в ходу немецкая машинка марки «Кристалл». Полюбопытствуем.

Фото 2. Сохраненная страница из интернет-магазина. 2013 г.

Фото 2. Сохраненная страница из интернет-магазина. 2013 г.

Заглянем внутрь.

Фото 3. Фабричная машинка со снятым рабочим столом. Чужое фото из сети.

Фото 3. Фабричная машинка со снятым рабочим столом. Чужое фото из сети.

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

Итак, устройство явно «хоббийного» класса, не предназначенное для длительной и/или интенсивной эксплуатации. Корытце очень мелкое, объем воды в нем небольшой. Предположу, что стеклянный шлам в нем оседает слабо. Импровизированный насос не дает возможности регулировать ни подачу воды, ни ее расход, ни место омывания. Отсутствие штатного местного освещения. Расположение электромотора под корытцем с водой представляется не самым надежным. К достоинствам, следует отнести компактность, удобство обслуживания, хороший обзор места работы. Можно приобрести дополнительные аксессуары, несколько повышающие удобство работы.

Не повредит бросить взгляд на творчество коллег-самоделкиных.

Фото 4. Самодельная шлифмашина, вариант 1. Общий вид. Чужое из сети.

Фото 4. Самодельная шлифмашина, вариант 1. Общий вид. Чужое из сети.

Фото 5. Самодельная шлифмашина, вариант 1. Вид со снятым рабочим столом и водяным корытом. Чужое из сети.

Фото 5. Самодельная шлифмашина, вариант 1. Вид со снятым рабочим столом и водяным корытом. Чужое из сети.

Фото 6. Самодельная шлифмашина, вариант 2. Общий вид. Чужое из сети.

Фото 6. Самодельная шлифмашина, вариант 2. Общий вид. Чужое из сети.

Фото 7. Самодельная шлифмашина, вариант 2. Вид сверху. Чужое из сети.

Фото 7. Самодельная шлифмашина, вариант 2. Вид сверху. Чужое из сети.

Фото 8. Самодельная шлифмашина, вариант 3. Вид со снятым рабочим столом и водяным корытом. Чужое из сети.

Фото 8. Самодельная шлифмашина, вариант 3. Вид со снятым рабочим столом и водяным корытом. Чужое из сети.

Фото 9. Самодельная шлифмашина, вариант 3. Вид сверху без рабочего стола. Чужое из сети.

Фото 9. Самодельная шлифмашина, вариант 3. Вид сверху без рабочего стола. Чужое из сети.

Фото 10. Самодельная шлифмашина, вариант 3. Вид сверху. Чужое из сети.

Фото 10. Самодельная шлифмашина, вариант 3. Вид сверху. Чужое из сети.

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

Рис. 11. Защита от протекания сальника. Чужое из сети.

Рис. 11. Защита от протекания сальника. Чужое из сети.

Штатная конструкция дополняется диском, плотно сидящим на валу двигателя, на рисунке это «резиновый диск». При вероятном протекании воды через сальник, она стекает на этот диск и разбрызгивается центробежной силой. «Кольцевой отражатель» не позволяет каплям разлетаться по всему корпусу. Однако, практической реализации не видел.

Итак - вводные данные. 

Примем:

– металлический корпус или рама - и для массивности и понижения вибрации полезно, и вариантов особенных, собственно говоря, больше и нет;

- глубокое корыто-поддон – есть шанс, что стеклянный шлам при этом будет оседать в одном месте, а не болтаться во всем объеме воды, опять же масса побольше и это хорошо;

- подача воды отдельным насосом – можно будет регулировать и направлять;

- никакой электрики под корытом с водой – мотор придется разместить наверху и заглядывать под него, как сорока в мослак, однако - пусть так, спокойнее будет; 

- местный свет, это всенепременно;

- обороты – около 3000. Пробовал в половину меньше - стекло конечно грызет, но очень уж вяло;

- мощность мотора – от 100 Вт, но без фанатизма, все-таки габариты и лишний расход электричества. Тип - понятно, асинхронный;

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

ДАСМ-2, 120/60 Вт, 2900/425 об/мин, вес – 12.8 кг.

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

Фото 12. Алмазный инструмент для фрезеровки края стекла. Чужое фото из сети.

Фото 12. Алмазный инструмент для фрезеровки края стекла. Чужое фото из сети.

Фото 13. Вариант алмазного инструмента.

Фото 13. Вариант алмазного инструмента.

Например, такие вот колесики с С-образной рабочей поверхностью позволяют аккуратнейшим образом снимать фаски у стекол.

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

Продолжение следует.

Babay Mazay, зима, 2018 г. 

Показать полностью 13
8

AD7706 3-х канальный 16 битный сигма-дельта АЦП (Arduino IDE)

AD7706 — это сигма-дельта 16 битные АЦП, гарантирующие отсутствие потери кодов. Выбранный входной сигнал поступает на усилитель с программируемым коэффициентом усиления, а с его выхода на аналоговый модулятор. Сигнал с выхода модулятора поступает на внутренний цифровой фильтр. Предыдущее значение фильтра может быть перенесено из внутреннего управляющего регистра, что позволяет регулировать порог отсечки фильтра и частоту обновления.

AD7706 работают от однополярного питания от 4.75 В до 5.25. AD7706 имеет три канала с псевдо дифференциальными входами.  Диапазон биполярного входного сигнала при питании 5 В и опорном напряжении 2,5 В может изменяться от 0 … 20 мВ до 0 … 2.5 В. При измерении биполярного сигнала может изменяться в диапазоне от ± 20 мВ до ± 2,5 В.

Отличительные особенности:

  • AD7706: трехканальный АЦП с псевдо-дифференциальными входами

  • 16 битное разрешение

  • Коэффициент нелинейности 0.003 %

  • Программируемый коэффициент усиления от 1 до 128

  • Трехпроводный последовательный SPI, QSPI, MICROWIRE и DSP совместимый интерфейс

  • Однополярное питание от 2.7 В до 3.3 В или от 4.75 В до 5.25 В

  • Рассеиваемая мощность при 3 В питании — менее 1 мВт

  • Ток потребления в дежурном режиме — не более 8 мкА

АЦП управляется при помощи нескольких регистров:

Регистр Communications

Communications Register 8 бит, содержит биты настройки выбора входа CH1 CH0, активация режима STANDBY STBY.

Так как это коммуникационный регистр, то он содержит адрес регистра который необходимо активировать RS0 RS1 RS2, то есть коммуникационном регистре указываем адрес регистра в который необходимо записать или прочитать данные (бит RW), так же указываем номер канала настойки которого необходимо поменять.

Например необходимо записать данные в регистр SETUP, то в коммуникационном регистре записываем адрес регистра SETUP, номер канала, бит записи или чтения:

Communications Register (пример записи в регистр SETUP)

RS0 RS1 RS2 = [001] — адрес регистра SETUP

RW = [0] — запись

CH1 CH0 = [01] — выбран канал №2

Регистр Setup

Регистр SETUP содержит биты настройки коэффициента усиления G2 G1 G0 (от 1 до 128), режимы калибровки MD1 MD0, тип входного сигнала B/U (униполярный\биполярный).

Биты G2 G1 G0

Режимы калибровки:

MD1 MD0 = [00] — рабочий режим, калибровка не проводится

MD1 MD0 = [01] — калибровка нуля и опорного напряжения

MD1 MD0 = [10] — калибровка нуля

MD1 MD0 = [11] — калибровка опорного напряжения

После процедуры калибровки биты MD1 MD0 возвращаются в рабочий режим [00].

Регистр Clock

Регистр Clock содержит делитель тактовых импульсов на 2 (бит CLKDIS), бит выбора частоты кварцевого резонатора (бит CLKDIV) и биты CLK FS1 FS0 определяющие скорость опроса АЦП (частота дискретизации).

*Бит CLK доступен при использовании кварцевого резонатора 4.9152 MHz

Регистр данных (Data Register)

16 — и бытный регистр, содержит результат измерения.

Ниже показаны эпюры сигналов в режиме чтения и записи регистров.

Запись

Чтение

При записи данных в регистр сигнал CS служит сигналом начала и конца записи данных, запись бита производится на возрастающем фронте сигнала синхронизации SCLK.

При чтении главным условием для начала чтения данных служит сигнал готовности АЦП к передаче данных DRDY, в данном примере сигнал готовности DRDY снимается в выхода АЦП, но можно и не использовать выход DRDY, а брать состояние готовности с бита DRDY коммуникационного регистра. Далее после сигнала CS, на каждом возрастающем фронте сигнала синхронизации SCLK происходит считывание 1 бита данных с выхода DOUT. Запись как и чтение начинается со старшего разряда.

Как ранее отмечалось AD7706 имеет 3 псевдо дифференциальных входа, поэтому общим входом для всех каналов служит вход COMMON. В зависимости от подключения входа COMMON АЦП может измерять биполярное или униполярное напряжение.

Схема включения при измерении униполярного напряжения

Тестовый скетч

// AD7706

#define SCLK 2

#define CS 3

#define DIN 4

#define DOUT 5

#define DRDY 6 

#define REF 2.500  

#define AIN1 0b00

#define AIN2 0b01

#define AIN3 0b11  

#define GAIN_1 0b000000

#define GAIN_2 0b001000

#define GAIN_4 0b010000

#define GAIN_8 0b011000

#define GAIN_16 0b100000

#define GAIN_32 0b101000

#define GAIN_64 0b110000

#define GAIN_128 0b111000 

#define F20 0b000 // 5.24 Hz

#define F25 0b001 // 6.55 Hz

#define F100 0b010 // 26.2 Hz

#define F200 0b011 // 52.4 Hz 

unsigned long times; 

void setup() {

Serial.begin(9600);

pinMode(SCLK,OUTPUT);

pinMode(CS,OUTPUT);

pinMode(DIN,OUTPUT);

pinMode(DOUT,INPUT);

pinMode(DRDY,INPUT);

digitalWrite(SCLK,HIGH);

digitalWrite(CS,HIGH);

digitalWrite(DIN,HIGH);

reset(); 

write_byte(0x20|AIN2);

write_byte(0x00|F20); // Clock | 2.4576 MHz

delay(100);

void loop() {

times=millis();

write_byte(0x10|AIN2);

write_byte(0b01000100|GAIN_1); // Setup | Self-Calibration  // Измеренное напряжение от 0 до +2,5 В

write_byte(0x38|AIN2);

unsigned int u_data = read_byte();

Serial.println(REF/65535 * (u_data),5 );  // Цифровое значение от 0(0,0В) до 65535(+2,5В)

Serial.println(u_data);  /// Частота опроса

Serial.print("F = ");

Serial.print(1/ ((float(millis()-times))/1000));

Serial.println(" Hz");

Serial.println();

delay(1000);

void write_byte(byte data){

digitalWrite(CS,LOW);

for(int i = 7; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(DIN, (data >> i) & 1);

digitalWrite(SCLK,HIGH); }

digitalWrite(CS,HIGH);

unsigned int read_byte(){

unsigned int data_out=0;

unsigned int dat;

while(digitalRead(DRDY)!=LOW);

digitalWrite(CS,LOW);

for(int i = 15; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(SCLK,HIGH);

dat = digitalRead(DOUT);

data_out |= (dat<<i); }

digitalWrite(CS,HIGH);

return data_out;

void reset(){

digitalWrite(CS,LOW);

for(int i = 31; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(DIN, HIGH);

digitalWrite(SCLK,HIGH); }

digitalWrite(CS,HIGH); }

На вход №2 подано напряжение в 1,8 В. В мониторе порта отображается частота опроса, измеренное напряжение и его цифровое значение которое может находится в пределах от 0 до 65535 (16 бит).

Схема включения при измерении биполярного напряжения


При измерении биполярного напряжения на вход COMMON подается опорное напряжение для создания средней точки, при этом источник входного сигнала не должен иметь соединения с GND АЦП.

Тестовый скетч

// AD7706

#define SCLK 2

#define CS 3

#define DIN 4

#define DOUT 5

#define DRDY 6 

#define REF 2.500  

#define AIN1 0b00

#define AIN2 0b01

#define AIN3 0b11  

#define GAIN_1 0b000000

#define GAIN_2 0b001000

#define GAIN_4 0b010000

#define GAIN_8 0b011000

#define GAIN_16 0b100000

#define GAIN_32 0b101000

#define GAIN_64 0b110000

#define GAIN_128 0b111000 

#define F20 0b000 // 5.24 Hz

#define F25 0b001 // 6.55 Hz

#define F100 0b010 // 26.2 Hz

#define F200 0b011 // 52.4 Hz 

unsigned long times; 

void setup() {

Serial.begin(9600);

pinMode(SCLK,OUTPUT);

pinMode(CS,OUTPUT);

pinMode(DIN,OUTPUT);

pinMode(DOUT,INPUT);

pinMode(DRDY,INPUT);

digitalWrite(SCLK,HIGH);

digitalWrite(CS,HIGH);

digitalWrite(DIN,HIGH);

reset(); 

write_byte(0x20|AIN2);

write_byte(0x00|F100); // Clock | 2.4576 MHz

delay(100);

void loop() {

times=millis();

write_byte(0x10|AIN2);

write_byte(0b01000000|GAIN_1); // Setup | Self-Calibration  // Измеренное напряжение от 0 до +/-2,5 В

write_byte(0x38|AIN2);

unsigned int u_data = read_byte();

Serial.println(REF/32768 * (u_data-32768),5 );  // Цифровое значение от 0(-2,5В) до 65535(+2,5В), середина шкалы 32768(0,0В)

Serial.println(u_data);  /// Частота опроса

Serial.print("F = ");

Serial.print(1/ ((float(millis()-times))/1000));

Serial.println(" Hz");

Serial.println();

delay(1000);

void write_byte(byte data){

digitalWrite(CS,LOW);

for(int i = 7; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(DIN, (data >> i) & 1);

digitalWrite(SCLK,HIGH);

}

digitalWrite(CS,HIGH);

unsigned int read_byte(){

unsigned int data_out=0;

unsigned int dat;

while(digitalRead(DRDY)!=LOW);

digitalWrite(CS,LOW);

for(int i = 15; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(SCLK,HIGH);

dat = digitalRead(DOUT);

data_out |= (dat<<i); }

digitalWrite(CS,HIGH); r

eturn data_out;

void reset(){

digitalWrite(CS,LOW);

for(int i = 31; i >= 0; i--){

digitalWrite(SCLK,LOW);

digitalWrite(DIN, HIGH);

digitalWrite(SCLK,HIGH);

}

digitalWrite(CS,HIGH);

}

На вход №2 подано напряжение в +1,48 В. В мониторе порта отображается частота опроса, измеренное напряжение и его цифровое значение которое может находится в пределах от 32768 (0 В) до 65535 (+2,5 В) (15 бит).

На вход №2 подано напряжение в -1,48 В. В мониторе порта отображается частота опроса, измеренное напряжение и его цифровое значение которое может находится в пределах от 0 (-2,5 В) до 32768 (0 В) (15 бит).

Даташит — ad7706.pdf

http://rcl-radio.ru/?p=129749

Показать полностью 15
7

ATtiny26 (Arduino IDE)

ATtiny26/L низкопотребляющий 8 битный КМОП микроконтроллер с AVR RISC архитектурой. Выполняя команды за один цикл, ATtiny26/L достигает производительности 1 MIPS при частоте задающего генератора 1 МГц, что позволяет разработчику оптимизировать отношение потребления к производительности.

Характеристики:

  • Высокая производительность при малом потреблении

  • RISC архитектура

  • 118- команд, большинство исполняемых за один машинный такт

  • 328 рабочих регистра общего назначения

  • Полностью статический режим

  • 16 MIPS производительность при 16 МГц

  • Память

    • 2К байтов FLASH памяти программ с внутрисистемным программированием

    • 1000 циклов записи- стирания

    • 128 байтов EEPROM c внутрисистемным программированием

    • 100 000 циклов записи- стирания

    • 128 байтов внутренней SRAM

    • Программируемый ключ доступа к программам и памяти данных

  • Периферия

    • 8- битный таймер/счётчик с программируемым предделителем

    • 8- битный скоростной делитель с программируемым предделителем

    • 2 скоростных ШИМ выхода с отдельным выходным регистром сравнения не совмещённый выход инверсной ШИМ

  • Универсальный последовательный интерфейс с детектором старта

  • 10- бит АЦП

    • 11 простых униполярных входа

    • 8 дифференциальных входа

    • 7 дифференциальных входа с программируемым усилением ( 1, 10 )

  • Встроенный аналоговый компаратор

  • Внешние прерывания

  • 11 прерываний по изменению потенциала вывода

  • Программируемый Watchdog с переключаемымим генераторами

  • Специальные функции контроллера

  • Режим экономии энергии, режим подавления шума, режим Выкл.

  • Сброс при включении и понижению напряжения питания

  • Внешние и внутренние источники прерывания

  • Внутрисистеммное программирование через SPI порт

  • Внутренний калиброванный RC генератор

  • 20- выводной корпус PDIP или SOIC

  • 16 программируемых входа-выхода

  • Рабочее напряжение питания:

    • 2.7 В до 5.5 В ATtiny26L

    • 4.5 В до 5.5 В ATtiny26

  • Рабочая тактовая частота:

    • 0- 8 МГц ATtiny26L

    • 0-16 МГЦ ATtiny26

Микроконтроллер ATtiny26 отлично подходит для маленьких и дешевых проектов, а поддержка средой программирования Arduino IDE заметно упрощает работу с микроконтроллером.

Для поддержки ATtiny26 в Arduino IDE необходимо выполнить несколько простых операций:

  • Добавление поддержки платы

Откройте в Arduino IDE вкладку Файл > Настройки и добавьте ссылку для менеджера плат

https://nich1con.github.io/tiny26.json

Далее перейдите во вкладку Инструменты > Плата > Менеджер плат

Далее в Инструменты > Плата выберите плату ATtiny26.

Установите параметры платы как показано на скриншоте:

  • Для прошивки скетча  Вам понадобится программатор USBAsp

Схемы подключения

Распиновка программатора USBAsp

Далее необходимо выставить нужные фьюзы для микроконтроллера, чтобы он всегда работал на выбранной Вами частоте. Для этого в настройках Arduino IDE выберите программатор USBasb и нажмите Инструменты > Записать загрузчик. Эту операцию необходимо проводить всего один и снова повторить если Вы будете менять частоту работы микроконтроллера.

Для загрузки скетча в настройках Arduino IDE выберите программатор USBasb и во вкладке Скетч нажмите на Загрузить через программатор.

Для примера, можно загрузить простой скетч мигания светодиода, к выводу 13(PB5) контроллера подключите светодиод через резистор 200 Ом.

#include <avr/io.h>

#include <util/delay.h>

int main(){  DDRB |=(1<<PB5); 

while(1){  PORTB |=(1<<PB5);  

_delay_ms(1000);  

PORTB &=~(1<<PB5);  

_delay_ms(1000);  

}}

Для нормальной работы микроконтроллера необходимо подать напряжение VCC через резистор 10 кОм на вход RST микроконтроллера.

Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

chmod: невозможно получить доступ к ‘/root/.arduino15/packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh’: Нет такого файла или каталога
exit status 1
Ошибка компиляции для платы ATtiny26.

Загрузить файл — create_disassembler_listing.sh

Разместить файл по указанному пути: packages/ATtiny26/hardware/avr/1.1.0/scripts/create_disassembler_listing.sh

Ошибка компиляции (проверялось в Linux Ununtu 20.04 | Arduino IDE 1.8.15)

***failed;
avrdude: WARNING: invalid value for unused bits in fuse «hfuse», should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0x12 instead of 0xf2 (double check with your datasheet first).

Открыть файл — packages/ATtiny26/hardware/avr/1.1.0/boards.txt

Найти строки:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b11110{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b11110{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b11110{bootloader.eesave_bit}01

заменить на:

t26.menu.bod.2V7=2.7V
t26.menu.bod.2V7.bootloader.high_fuses=0b00010{bootloader.eesave_bit}10
t26.menu.bod.4V=4.0V
t26.menu.bod.4V.bootloader.high_fuses=0b00010{bootloader.eesave_bit}00
t26.menu.bod.OFF=Disable
t26.menu.bod.OFF.bootloader.high_fuses=0b00010{bootloader.eesave_bit}01

Перезапустить Arduino IDE.

Исходник — https://github.com/Nich1con/ATtiny26-Core

http://rcl-radio.ru/?p=129787

Показать полностью 7
32

LGT8F328P-LQFP32 MiniEVB в Arduino IDE

Плата LGT8F328P-LQFP32 MiniEVB основана на китайском микроконтроллер LGT8F328p и является клоном популярной AVR ATmega328p (Arduino NANO). Микроконтроллер LGT8F328p практически полностью совместим с микроконтроллером ATmega328p и обладает рядом дополнительных функций и возможностей превышающих ATmega328p.

Плата LGT8F328P-LQFP32 MiniEVB прошивается через USB кабель, так как на плате установлен контроллер СОМ порта и прошит загрузчик.

Основные характеристики LGT8F328P

  • FLASH (ПЗУ): 32 Кбайт

  • SRAM (ОЗУ): 2 Кбайт

  • E2PROM (EEPROM): 0K / 1K / 2K / 4K / 8K (эмуляция)

  • PWM (ШИМ): 8

  • Частота: 32 МГц

  • АЦП: 9 пинов, 12 бит

  • ЦАП: 1 пин, 8 бит

  • Силовые пины: 4 (до 80 мА)

  • Таймеры 2x 8bit, 2x 16bit

  • UART: 1

  • SPI: 1

  • I2C: 1

  • PLL: 1

  • Опорное напряжение: 1.024В / 2.048В / 4.09В ± 0,5%

  • Логический уровень: 5В

Для прошивки LGT8F328P-LQFP32 MiniEVB необходимо поэтапно выполнить несколько простых действий:

  1. Добавим поддержку платы LGT8F328P-LQFP32 MiniEVB в Arduino IDE, для этого добавим ссылку в менеджер плат

https://raw.githubusercontent.com/dbuezas/lgt8fx/master/pack...

Далее в менеджере плат находим плату lgt8fx выбрав версию платы 2.0.0 (и выше) и устанавливаем ее:

Далее во вкладке инструменты находим нужную нам плату:

Установите настройки показанные на скриншоте:

После установки настроек платы можно для примера загрузить скетч BLINK. На плате  LGT8F328P-LQFP32 MiniEVB установлен светодиод подключенные к выходу D13, после загрузки скетча светодиод должен начать мигать.

Для загрузки скетча

void setup() {  

pinMode(LED_BUILTIN, 13); }

void loop() {  

digitalWrite(13, HIGH); 

delay(1000); 

digitalWrite(13, LOW); 

delay(1000);  

}

Распиновка платы

http://rcl-radio.ru/?p=129966

Показать полностью 6
9

Sony найдет «приемных родителей» собакам-роботам, от которых отказались владельцы

Владельцы собак-роботов смогут вернуть своих питомцев в Sony. Компания проведет ремонт и передаст их больницам, домам престарелых и другим социальным учреждениям.

В Sony уверены, что собаки-роботы подходят для эмоциональной поддержки: реагируют на голос и прикосновения и «узнают» хозяина.

Источник : Будущее сейчас

Показать полностью
Отличная работа, все прочитано!