• Объявления

    • admin

      Размещайте материалы своей компании БЕСПЛАТНО!   18.04.2018

      Редакционная политика портала позволяет размещать на бесплатной основе различные типы материалов: интересную информацию, наработки, технические решения, аналитические статьи и т.д. Пример такого блога. Взамен мы рекламируем ваш блог в наших группах в соц. сетях, ну и плюс естественная самореклама от пользователей форума и блогов, которые будут читать ваш блог. К примеру охват одного поста только в нашей группе VK составляет более 10 тыс. человек. Т.е. мы предлагаем бартер - вы ведете у нас блог и публикуете какую-то полезную и интересную информацию связанную с вашим производством, а мы рекламируем ваш блог в наших соц. сетях. Блоги можно полностью кастомизировать: поставить изображение шапки, сделать меню или оглавление, также в своем блоге вы будете модератором - сможете удалять комментарии и т.д. Ведение своего блога требует времени и навыков, но рекламный эффект колоссальный, т.к. это живое общение и отклик. Посты не должны быть рекламой, а также должны соответствовать правилам форума. Для тех компаний, которые будут публиковать интересный контент, права в дальнейшем будут расширяться - сможете публиковать больше ссылок, пресс-релизы, новости компании, анонсы и т.д. Ну а если вы хотите размещать платную рекламу: условия и прайс размещения на сайте и форуме, коммерческая тема на форуме, реклама в группе VK.

mazzi's блог

  • записи
    22
  • комментариев
    167
  • просмотра
    46 512

Об этом блоге

my path

Записи в этом блоге

mazzi

Наткнулся на схемку в сети AVR JTAG ICE и решил её повторить. Дабы не тратить время на изготовление печатной платы решил предварительно собрать сей девайс "на соплях", вернее на беспаечной плате.

IMG_20190215_160510.thumb.jpg.d5d0c92ee5d94dee935a56b814cfd90a.jpg

Вот так у меня это всё получилось. Залил прошивку из статьи собрал схему с процом который будет целевым, соединил всё с COM портом и начал пытаться запустить всё из под CVAVR. Не заработало. Тогда попробовал из под Atmel Studio 4 и у меня всё получилось.

Следующим этапом решил попробовать будет ли это всё работать через USB. И оказалось, что да, работает вполне хорошо.

Нужно ещё попробовать из под последней Atmel Studio, но пока не на чем. Мне она не нравится из-за своей громоздкости и поэтому я ей не пользуюсь. 

Можно резюмировать, что схема по ссылке вполне пригодная, но использование её ограничено софтом. Для не слишком требовательных юзеров вполне годится.

Буду рад любым комментариям, если что-то непонятно, спрашивайте, отвечу на ваши вопросы.

Все материалы из вышеуказанной статьи выкладываю здесь, если кто захочет повторить, пожалуйста.   mc85_AVR-JTAG-ICE.zip

 

mazzi

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

IMG_20190215_085703.thumb.jpg.558901a2ab8b8acd74749d047ebf05e2.jpg

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

sch1.thumb.png.3941961db81acba652ca8088052f86a1.png

 

Это схема силовой части, блока питания и детектора нуля. Силовой симистор на схеме не показан. Он подключается к разъёму XP2. Я использовал 40 амперный симистор, можно другой поставить, если нужно. Симистор был установлен на радиатор, хотя для маленьких мощностей его можно и не ставить. 

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

sch2.png.044bb0437eb2dab77b7c47131df01551.png

 

Эта часть схемы содержит управляющий узел. Сердцем его является микроконтроллер AT89C2051. Органы управления - две кнопки "Больше" и "Меньше" для увеличения и уменьшения отдаваемой мощности в нагрузку. В качестве индикаторной шкалы использовал светодиоды.

 

pcb.gif.84ea3c40c9fb94e9c0194de668aeda28.gif

Печатная плата и схема были сделаны в среде PCAD2006.

Для желающих повторить данную конструкцию выкладываю схему, печатку, PCAD.zip     и прошивку    Regulator.zip

Буду рад вашим комментариям. Отвечу на все ваши вопросы.

mazzi

Простой Таймер На Attiny2313.

Идею и схему подбросил камрад Olaksyon. А он в свою очередь позаимствовал её из журнала Радио 2006№3.

blogentry-78645-0-09446900-1292419346_thumb.gif

Схема таймера очень проста. Алгоритм работы сводится к следующему. Чтобы задать или изменить выдержку, достаточно подать на прибор питание при нажатой кнопке SB1 и отпустиь ее спустя нужное время. Максимальная длительность выдержки практически неограничена. Запомнив выдержку в энергонезависимой памяти, микроконтроллер будет повтарять её при каждом включении с ненажатой кнопкой.( цитата из статьи Радио2006 №3).

Я написал программу, прошивку которой можно скачать t_s.zip.

Время задержек хранится в EEPROM.

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

Следующие четыре байта определяют младшую часть 64-разрядного числа определяющего длительность рабочей паузы.

Следующие четыре байта определяют старшую часть 64-разрядного числа определяющего длительность рабочей паузы.

64-битная задержка настраивается кнопкой, но можно и программатором.

Младшие разряды чисел располагаются по меньшим адресам. Т.е. если нужно записать число 0x11223344, в память нужно писать 0x44, 0x33, 0x22, 0x11.

Фьюзы следует настраивать так, чтобы МК работал от встроенного генератора на частоте 8МГц.

Интересно будет услышать отзывы повторивших данную конструкцию.

mazzi

Серьёзный Конкурс От Stm.

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

blogentry-78645-0-99309000-1291978317_thumb.jpg

Кроме того, трёх победителей ждут призы

1. Мотоцикл Харлей

2. некий байк( не знаю что, может велосипед? )

3. 1000 евро.

Желающие дерзнуть, вперёд!

mazzi

Начинаем работать с Keil. Продолжение 1.

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

#include <at89lp2052.h>

Эта строка приказывает препроцессору включить в текст вашей программы всё содержимое файла at89lp2052.h

Если вдруг окажется, что у вас нет такого файла, то можете воспользоваться моим, я его присоединил к этому посту. В этом случае нужно разместить его в директории Keil , например как у меня

C:\Keil\C51\INC\Atmel\

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

/**************************************************
--                                   			-- 
--  пробная программа для переключения лампочек  -- 
--  МК................AT89LP2052     			-- 
--  кварц.............12МГц                  	-- 
--										         --
**************************************************/

#include <at89lp2052.h>

// определяем выводы для управления лампами 
#define  LED1  P1_0
#define  LED2  P1_1
#define  LED3  P1_2

// константа определяющая длительность одного такта 
#define  SEK_1 0xffff

// количество тактов световых эффектов
#define MAX_FAZA  3

// объявляем глобальные переменные
idata unsigned int   t_1s=0; // переменная для выдержки паузы между переключениями
idata unsigned char  faza=0; // переменная определяет текущее состояние лампочек 

//--------------------------------------------
//  основная функция программы
//--------------------------------------------
void main ( void ) {
	while ( 1 ) { // бесконечный основной цикл программы 
  		if ( t_1s ) t_1s--; // уменьшаем переменную, пока она не равна нулю 
 		else {
          	t_1s = SEK_1; // перезагружаем её

           if ( faza < MAX_FAZA ) faza++;
           else faza = 0;
 		}
// переключаем лампочки
 		switch ( faza ) {// множественный выбор одного из действий 
 		case 0: LED1 = 1; LED2 = 1; LED3 = 1; break;
 		case 1: LED1 = 0; LED2 = 1; LED3 = 1; break;
 		case 2: LED1 = 1; LED2 = 0; LED3 = 1; break;
 		case 3: LED1 = 1; LED2 = 1; LED3 = 0; break;
 		}
	}
}

А на следующей картинке результат симуляции данной программы с использованием встроенного логического анализатора.

post-78645-0-56369900-1291916713_thumb.gif

Файл проекта во вложении. Так что можете потренироваться сами.

at89lp2052.zip

proba.zip

Источник: Начинаем Работать С 51-Ми Контроллерами

mazzi

Начинаем работать с Keil.  

Для тех кто не знает. Keil - это среда разработки для микроконтроллеров MCS51 и ARM. Содержит в себе компилятор с ассемблера и Си. Содержит хороший симулятор, хороший текстовый редактор, хороший дебаггер. Поддерживает подключение отладочных плат для отладки в реальном устройстве. На время написания этого текста, лучшей среды для MCS51 я не встречал. На сайте производителя доступна демо версия с ограничением по размеру кода 2 килобайта.

Итак, вашему вниманию представляю пошаговую инструкция для создания проекта от начала до конца.

Запустим программу и выполним последовательность действий показанных на следующей картинке для создания нового проекта.  

blogentry-78645-0-91152900-1291878682_thumb.gif

Затем в выпавшем диалоге наберём имя проекта( по английски ).

blogentry-78645-0-40152700-1291878597_thumb.gif

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

blogentry-78645-0-80079000-1291878692_thumb.gif   

затем конкретный тип микроконтроллера.  

blogentry-78645-0-57246900-1291878702_thumb.gif   

Затем следующий диалог предлагает сгенерировать начальный код для обнуления памяти и инициализации стека. Советую согласиться.

blogentry-78645-0-72905600-1291878713_thumb.gif  

Ну вот теперь у нас есть проект. Теперь нужно развернуть дерево проекта кликнув по плюсику.

blogentry-78645-0-05352300-1291878727_thumb.gif  

Полностью развернув дерево проекта мы видим всего один ассемблерный файл STARTUP.A51.

blogentry-78645-0-78651800-1291878738_thumb.gif  

Добавим СИшный файл. Нажимаем CTRL+N и получаем новый файл.

blogentry-78645-0-31756400-1291878749_thumb.gif  

Затем File/Save As и указываем имя файла вместе с расширением! Например proba1.c Добавить файл к проекту можно кликнув по папке Source Group1 правой кнопкой и выбрав из выпадающего меню Add Files to Group 

blogentry-78645-0-40414100-1291880096_thumb.gif

После чего в диалоговом окне следует выбрать наш файл proba1.c

blogentry-78645-0-06205100-1291880208_thumb.gif

наш файл появился в дереве проектов

blogentry-78645-0-92725200-1291880313_thumb.gif

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

blogentry-78645-0-23784600-1291880375_thumb.gif

Отдельно показываю эту кнопочку build.

blogentry-78645-0-66327600-1291878771_thumb.gif

Для изменения опций проекта сделаем следующее.

blogentry-78645-0-01865400-1291878784_thumb.gif 

Для правильной симуляции следует выбрать опции проекта, как на следующем рисунке.  Частоту кварца следует поставить такую, какая у вас в схеме.

blogentry-78645-0-87494500-1291878795_thumb.gif

Для того, чтобы во время компиляции создавался HEX-файл(прошивка), выберите опции показанные на следующем рисунке.

blogentry-78645-0-13638000-1291878808_thumb.gif

Полученную прошивку можно с помощью программатора "залить" в микроконтроллер.

Источник: Начинаем Работать С 51-Ми Контроллерами

mazzi

blogentry-78645-0-33197300-1291567076_thumb.jpg

Очередное моё творение - простая схема для контроля ветрогенератора. Для измерения скорости оборотов вала генератора используется автомобильный датчик Холла. Используется стандартная схема включения через разъём XP4. Температура генератора измеряется с помощью датчика температуры DS18B20, который подключается к контроллеру через разъём XP3, по схеме с паразитным питанием.

Связь с хостом(главным управляющим контроллером или компьютером) осуществляется через RS-485, разъём XP2.

Питание и связь передаётся через две витые пары. Питание от 12 до 36 вольт постоянного тока.

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

Источник: Начинаем Работать С 51-Ми Контроллерами

mazzi

485.gif

Вот ещё одна схема которую можно использовать для реальных проектов. Это четырёхразрядный семисегментный дисплей с динамической индикацией информации. Для связи с другими устройствами присутствует интерфейс RS-485. При работе на скорости 9600 бод модуль можно удалять от других на расстояние до 1200 метров.

Как известно, RS-485 работает в полудуплексе, то есть модуль не может одновременно и принимать и передавать данные. Для переключения направления информации в канале используется вывод микроконтроллера P3.2. Для приёма подаём на него "0", для передачи "1".

В данной схеме количество индикаторов может быть увеличено до 15 штук путём добавления дешифратора.

Источник: Начинаем Работать С 51-Ми Контроллерами

mazzi

Друзья, у меня возникла необходимость разработать плату для изучения микроконтроллера начинающим. Понятное дело, что буду включать туда средства для возможности использования ресурсов МК. Вот только хотелось бы определиться какие свойства платы будут самыми востребованными? Если решитесь ответить в теме, то указывайте важные свойства в порядке убывания важности.

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

mazzi

Сегодня завершился детский городской шахматный турнир. Мой сын занял второе место, получил в награду медаль, грамоту, 3-й детский разряд по шахматам и коробку конфет.

Ну и конечно он очень рад победе! А вместе с ним и вся наша семья.

Я конечно не смог удержаться и занёс это событие навеки в свой нетленный блог! :yes:

Поздравляю, тебя, сынок с победой! Так держать!

mazzi

Хочу сделать какую-нибудь интересную электронную штуку. Чтобы полезной была или интересной, или красивой.

Но идей нет.  :help:

Дабы разрешить это противоречие, предлагаю всем желающим поучаствовать в следующей затее.

А именно. Если у вас есть хорошая идея (в отличие от меня), то можете прислать её (идею) в виде текста в произвольном изложении.  :D

Самая интересная(интереснЫЕ), на мой взгляд, будет воплощена в хард и софт(если нужно).

Кроме того, авторы воплощённых идей будут прославлены навеки на страницах моего блога   :crazy: , ну или отблагодарены материально.

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

В общем спешите, пока очередь не выстроилась!  :yes: 

mazzi

Ищу Помощников.

Из-за поломки сервера потерялась запись в моём блоге аналогичная этой. Восстанавливаю по памяти.

Я часто делаю различные работы в единичном экземпляре. Иногда схема рисуется только карандашом на бумаге, затем собирается на колене. Потом пишется программа, отладка и на этом всё. Затем появляется новый проект и так далее.

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

Приветствуется наличие ровных рук, светлой головы и большого желания.

mazzi

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

Путём нагрева до определённой температуры жидкость расслаивается в первом случае до керосина, бензина, соляры, мазута... Во втором случае до эфиров, спирта, воды... Каждый слой называется фракция. Как в парламенте  :lol:.

Сие чудо оснащено дисплеем и клавиатурой для задания режимов, температур, и прочих настроек. И для наблюдения за процессом.

Реализовано на ATmege8.

mazzi

Разработал на заказ таймер. Четыре семисегментных символа для отображения минут и секунд. Устанавливается максимум 99 минут 59 секунд. Отсчёт идёт назад. По окончании счёта на одном из выводов появляется логическая единица.

Для управления и установки времени 3 кнопки.

1 кн. - установка минут + с переполнением.  

2 кн. - установка секунд + с переполнением.

3 кн. (старт_продолжить/пауза) при длительном удержании (стоп) 

В конце отсчёта лог. 0 и автоматическая перезагрузка заданного времени.

Заданный интервал сохраняется в энергонезависимой памяти.

Нужно будет схемку выложить. 

mazzi

Отзывы О Моих Работах.

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

mazzi

Всегда было любопытно, как делаются петушки на палочке? А тут пожалуйста, готовый рецепт.

Рецепт петушков от тети Софы: "Берется стакан сахара, заливается с небольшим верхом водой, добавляется чайная ложка уксусной эссенции, варится. Степень готовности определяем так: берем продукт на зубочистки и капаем каплю на тарелку, если капля застывает-значит готово, если нет-варим еще. В конце варки можно добавить ароматизатор или краситель по вкусу. Готовый продукт выливаем в формочки смазные маслом. В конце вставляем палочку."  Ну както так.

i-1010.jpg

Источник: Надоело Паять -  Сделай Пожрать.

mazzi

Pc<-->Usb <--> Rs-485<-->Atmega32

blogentry-78645-1268567672_thumb.jpg

14 марта 2010 года.

Давно мечтал завести себе блог, да всё как-то некогда было. А тут вдруг появилось время и одновременно возможность вести блог на любимом форуме.

Буду помещать здесь фотки моих изделий. 

На фотках одна из последних моих работ:

blogentry-78645-1268568085,85_thumb.jpg

На первой фотке контроллер который управляет 10-ю независимыми нагрузками для переменного тока 220 вольт. Программа может задаваться пользователем в виде текстового файла и загружаться с компьютера в контроллер через RS-485. От компьютера использовался порт USB, для которого я изготовил полностью изолированный мост USB<-->RS-485. Фотографий которого к сожалению нет сейчас. Выложу позже.

На второй фотографии внешний вид оболочки для управления контроллером. Её делал мой товарищ.

Это вообще-то было создано для откатки одной идеи. Всё получилось. Теперь если появятся ещё заказы, то можно будет сделать печатную плату покомпактнее.