Архив рубрики: РАЗРАБОТКА

Примеры разработки электроники и программного обеспечения для микронтроллеров

Беспроводная колонка своими руками

БЕСПРОВОДНАЯ КОЛОНКА С ВНЕШНИМ МИКРОФОНОМ

1. Описание
2. Технические характеристики
3. Фотографии
4. Функциональная схема
5. Описание работы
6. Модификации
7. Доработка конструкции

1. Описание

Причиной создания беспроводной колонки с внешним микрофоном состоит в том, чтобы себя отгородить от радиоизлучения от телефона. Использование Bluetooth — гарнитуры имеет свои ограничения, это малое время работы и мощность, которая может достигать 100 мВт.

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

Временные затраты:
5 часов изготовление корпуса
5 часов на монтаж и изготовление следующих модулей:
Модуль блютуз
Модуль 2-х канального усилителя низкой частоты
Модуль контроллера АКБ
Модуль стабилизатора напряжения с (8-28) В в 5В
Плата ФНЧ

2. Технические характеристики

Напряжение питания: (8-28)В
Напряжение питания: 5В (от USB)
Минимальный ток потребления 10 мА
Максимальный ток потребления: 600мА
Диапазон воспроизводимых частот 600-6000 Гц
Встроенный аккумулятор: 4.2В 500мА
Дальность беспроводное соединения по прямой: < 130 метров Диаметр динамиков: 36 мм Разъем микрофончика: 3.5 мм Длина USB -кабеля 1метр Защита от смены полярности напряжения блока питания Материал колонки Фанера 10 мм Размеры колонки 120мм (высота)* 70мм (ширина) * 50 мм (глубина) Вес колонки 295 гр


Все авторские права принадлежат Петрову Р.В, RK50.RU

Робот пылесос своими руками, программирование микроконтроллеров AVR

1. АЛГОРИТМ РАБОТЫ ПЫЛЕСОСА
2. ФОТОГРАФИЯ
3. СХЕМА АЛГОРИТМА РАБОТЫ ПЫЛЕСОСА
4. ЭЛЕКТРИЧЕСКАЯ СХЕМА МОДУЛЯ УПРАВЛЕНИЯ
5. КОД ПРОГРАММЫ

АЛГОРИТМ РАБОТЫ ПЫЛЕСОСА
Фотография
СХЕМА АЛГОРИТМА РАБОТЫ ПЫЛЕСОСА
ЭЛЕКТРИЧЕСКАЯ СХЕМА МОДУЛЯ УПРАВЛЕНИЯ
КОД ПРОГРАММЫ

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

1. При застревании пылесоса на препятствии, выключается мотор пылесоса, который потребляет больший ток при работе. Если пылесос не может некоторое время преодолеть препятствие, включается режим подруливания, через порт PB3 микроконтроллера.
2. Если долгое время на своем пути пылесос не встречает препятствий, то включается форсированный режим работы мотора пылесоса, то увеличивается мощность всасывания. Управление осуществляется через порт PB0 микроконтроллера/
3. Если пылесос не может более 2 минут преодолеть препятствие, даже после режима подруливания, то он выключается и издается звуковой сигнал длительностью 1минута с интервалом в 15 минут. Управление осуществляется, через порт PB4
4. При разряде аккумулятора до уровня более, чем 3.7В, пылесос выключается и издается звуковой сигнал длительностью 1минута с интервалом в 15 минут. Контроль напряжения аккумулятора осуществляется, через порт PB4 микроконтроллера.
5. Пылесос должен будет с задержкой времени определенной разработчиком включатся два раза в день на 15-25 минут, например с рассветом и начала сумерек.

ВЕРСИЯ 2 КОДА ПРОГАММЫ

/*
* Created: 12.01.2018 12:44:40
* Author: Roman, proftpd@mail.ru
PB0 — форсаж мотора OUT
PB1-управление мотором пылесоса OUT
PB2-контроль движения, препятствий. OUT
PB3- управление мотором движения, подруливание OUT
PB4-состояие АКБ/застрял
АЛГОРИТМ:
1. ТЕСТ: включили мотор (.), включили форсаж (..), включили подруливание (-..)
2. Поехали
3. Если нет препятствий, то включили форсаж (..)
4. Если есть препятствие, ждем, а потом включаем подруливание. Звуковой сигнал (—)
5. Пытаемся выехать, но не можем (—)
6. Если не удалось выехать, то выключаем моторы и включаем звуовой сигнал (SOS).

СТАРТ -в формате Морзе START
ТЕСТ МОТОРА:
1. . мотор 1
2. .. мотор 1 форсаж
3. — .. мотор 2

Включение мотора: — .
Включение форсаж: -..
При застревании — (—) с паузой 3 секунды в течение 45 секунд
Подруливание, преодоление препятствия — 1 длинный звуковой сигнал
Остановка по причине разряда АКБ АЗбукой Морзе AKB с паузой 30 сек
Остановка по причине застревания АЗбукой Морзе SOS с паузой 30 сек

Убрал двоной звуковой сигнал в режиме Форсаж
Теперь, один звуковой сигнал, включили пылесос, два звуковых сигнала -выключили пылесос

16/01/18 Доработал проверку перегрузки мотора 2, чтобы чаще отключал мотор1 при застревании
*/

.include «tn13adef.inc»
.dseg ;сегмент данных
.CSEG
.ORG 0x0000

.def tmpa = R21 ; длительность
.def tmpb = R22 ; длительность
.def time = R23; время, через которое включим двигатель пылесоса, при отсутствии препятствий на пути
.ORG 0x0000

.def tmpa = R21 ; длительность
.def tmpb = R22 ; длительность
.def time = R23; время, через которое включим двигатель пылесоса, при отсутствии препятствий на пути
;.def time1 = R24; время, через которое включим двигателя пылесоса в режиме Форсаж, при отсуттвии препятствий на пути
.def time2 = R25; время, через которое начинаем подруливат мотором управления
.def time3 = R26; время, через которое отключаем пылесос, так как он не может выехать

.equ motor1 = 0x32; время по истечении которого включается мотор пылесоса 10 сек
;.equ motor2 = 0x32; время по истечении которого включается мотор пылесоса в режиме Форсаж 10 сек
.equ motor3 = 0x04; время по истечении которого начинаем подруливать 45сек
.equ motor4 = 0x06 ; время подруливания на преодоление препятствия 120 сек

.equ drive1 = 1; управление мотором 1
.equ drive1_force = 0; управление мотором 1 в режиме форсаж
.equ drive2 = 3; Управление мотором 2 в режиме подруливания
.equ zoom = 4; звуковой сигнал
.equ road = 2 ; дорога

clr R16
ldi R16, 0b00001011
out DDRB, R16 ; PB0, PB1, PB3 out, PB2, PB4 — in
ldi R16, 0b00010100; PB0, PB1, PB3= 0, мотор пылесоса отключен
out PORTB, R16

ldi time, motor1; время, через которое включим двигатель пылесоса, при отсутствии препятствий на пути
;ldi time1, motor2; время по истечении которого включим режим форсаж
ldi time2, motor3; время через которое начинаем подруливание
ldi time3, motor4; ; время по истечении отключаем пылесос, так как он не может выехать

start:
;rcall pause_3sec
;rcall symbol_S
;rcall symbol_T
;rcall symbol_A
;rcall symbol_R
;rcall symbol_T
rcall pause_3sec
rcall motor_test; поочередная проверка всех моторов

;##################################################################################################
; НАЧАЛО ПРОГРАММЫ
;##################################################################################################

start_job0:
ldi time, motor1; отсчет времени включения мотора
ldi time2, motor3; время через которое начинаем подруливание +++
start_job:
rcall pause_d100
dec time ; 0x32=50
cpi time,0
breq motor_start_1_0; включаем мотор по истечение 5sec, если на пути нет препятствий
; Косяк, так как посадил на одну ногу с зумером
;in R16, PINB; проверка состояние АКБ
;sbrs R16, 4; пропуск следующей команды, если PINB4=1
;rjmp time4_end ; Остановка работы пылесоса по причине разряда АКБ
in R16, PINB
sbrc R16, road; пропук следующей команды, если PINB2=0. т.е. пылесос застрял
rjmp start_job
rjmp obstacle

motor_start_1_0:
rcall sound
rjmp motor_start_1

obstacle: ; Проверка поверхности на наличие препятствий или качества поверхности
cbi PORTB, drive1_force ; остановка режима форсаж
cbi PORTB, drive1 ; остановка мотора1 пылесоса
obstacle1:
rcall pause_3sec
rcall sound_long ; Звуковая индикация при застревании 2-ва длинных с паузой в 3 секунды
rcall sound_long
dec time2
cpi time2,0
breq time2_end
in R16, PINB
sbrs R16, road; пропуск следующей команды, если PINB2=1. То есть препятстивие закончилось
rjmp obstacle1
rjmp start_job0 ; вернулись, если препятствие закончилось

;###################################################################################################
; Преодоление препятствия
;##################################################################################################
time2_end:
rcall sound_long
rcall sound_long
rcall sound_long

sbi PORTB, drive2 ; Мотор2 старт форсаж
rcall pause_3sec
cbi PORTB,drive2; Мотор2 стоп форсаж
rcall pause_3sec

in R16, PINB
sbrs R16, road; пропустить следующую команду, если PINB2=1, то есть пылесос преодолел препятствие, то есть не топчемся на одном месте перезапуска ведущий мотор2
rjmp time2_end_1

sbi PORTB,drive2
rcall pause_3sec
rcall pause_3sec
cbi PORTB,drive2
rcall pause_3sec

time2_end_1:
dec time3; время подруливания
cpi time3,0
breq time3_end; Остановка пылесоса по причине застревания
in R16, PINB
sbrs R16, road; пропустить следующую команду, если PINB2=1, то есть пылесос преодолел препятствие
rjmp time2_end
rjmp start_job

time3_end: ; остановка работы пылесоса по причине застревания и передача звукового сигнала SOS с интервалом в 10 мин
cbi PORTB,drive2
ldi R16, 0b00011011
out DDRB, R16 ; PINB4 — out
ldi R16, 0b00010100
out PORTB, R16
rcall symbol_S
rcall symbol_O
rcall symbol_S
rcall pause_3sec
rcall pause_3sec
rcall symbol_S
rcall symbol_O
rcall symbol_S
rcall pause_min
rjmp time3_end

time4_end: ; Звуковой сигнал разрядки АКБ каждые 30 секунд
cbi PORTB, drive2 ; приостановка мотора ведущего мотора 2
ldi R16, 0b00011011
out DDRB, R16 ; PINB4 — out
ldi R16, 0b00010100
out PORTB, R16
rcall symbol_A
rcall symbol_K
rcall symbol_B
rcall pause_15sec
rcall pause_15sec

rjmp time4_end

;##################################################################################
; УПРАВЛЕНИЕ МОТОРОМ
;##################################################################################
motor_start_1: ; На пути нет препятствия. Цикл занимает > 10 sec
in R16, PINB
sbrs R16, road; пропустить команду, если PINB2=1, то есть нет препятствий
rjmp start_job0

sbi PORTB, drive1 ; ON мотор1 пылесоса
rcall pause_3sec_road

sbi PORTB, drive1_force; ON мотор1 режим форсажа
rcall sound
rcall sound

drive2_on: ; Поверхность без препятствий, включаем подруливание
sbi PORTB, drive2 ; чтобы не топтался, когда нет препятствий проверяем каждые 3 сек
rcall pause_3sec_road
rcall pause_3sec_road
cbi PORTB,drive2
rcall pause_3sec_road
sbi PORTB, drive2 ; чтобы не топтался, когда нет препятствий проверяем каждые 3 сек
rcall pause_3sec_road
cbi PORTB,drive2
rcall pause_3sec_road

rjmp drive2_on

;#######################################################################################
; ТЕСТ МОТОРА ПЫЛЕСОСА
;#######################################################################################

motor_test:
ldi R16, 0b00010110; включили мотор пылесоса
out PORTB, R16
rcall pause_3sec
rcall sound
ldi R16, 0b00010111; включили форсаж мотора пылесоса
out PORTB, R16
rcall pause_3sec
rcall sound
rcall sound
ldi R16, 0b00011111; включили мотора движения
out PORTB, R16
rcall pause_3sec
rcall sound_long
rcall sound
rcall sound
ldi R16, 0b00010100; выключили все
out PORTB, R16
rcall pause_3sec
ret

;##################################################################################################
;# ПАУЗЫ
;###################################################################################################
pause_min:
ldi r18, 0x1F; задержка 600 сек
sds:
ldi r17, 0X65 ; 101
dec R18
cpi R18,0
breq pause_min_end

in R16, PINB ; проверяем не закончилось ли препятствие
sbrc R16, road; пропук следующей команды, если PINB2=0. т.е. пылесос застрял
rjmp start_job

pause_min_start:
rcall pause_d200
dec R17
cpi R17,0
breq sds
rjmp pause_min_start
pause_min_end:
ret

pause_15sec:
ldi r17, 0x4C
pause_sec_start:
rcall pause_d200
dec R17
cpi R17,0
breq pause_15sec_end
rjmp pause_sec_start
pause_15sec_end:
ret

pause_3sec_road: ; Для контроля состояния повехноси пауза

ldi r17, 0x10
pause_3sec_road_start:
in R16, PINB
sbrs R16, road; Смотрим каждые 0.2 мС на состояние дороги. Пропустить следующую команду, если PINB2=1, то есть нет препятствий
rjmp start_job0

rcall pause_d200
dec R17
cpi R17,0
breq pause_3sec_road_end
rjmp pause_3sec_road_start
pause_3sec_road_end:
ret

;####################################### ПАУЗА 3 СЕК###################################3
pause_3sec: ; Пауза 3 сек
ldi r17, 0x10
pause_3sec_start:

rcall pause_d200
dec R17
cpi R17,0
breq pause_3sec_end
rjmp pause_3sec_start
pause_3sec_end:
ret

pause_d100: ; 100ms
ldi tmpb, 0x7F;
pause_st1:
ldi tmpa, 0xC0;201=208mks 39.6 ms=37 104 ms= 99
dec tmpb
cpi tmpb,0
breq end_pause1
start_pause1:
dec tmpa
cpi tmpa, 0
breq pause_st1
rjmp start_pause1
end_pause1:
ret

pause_d200: ; 200ms
ldi tmpb, 0xFF; 4.09 mks
pause_st:
ldi tmpa, 0xC0;201=208ms 39.6 ms=37 104 ms= 99
dec tmpb
cpi tmpb,0
breq end_pause
start_pause:
dec tmpa
cpi tmpa, 0
breq pause_st
rjmp start_pause
end_pause:
ret

;##################################################################################################
; СИСТЕМНЫЙ СИГНАЛ
;##################################################################################################
sound_long: ; ТИРЕ
ldi R16, 0b00011011; режим звуковой индикации PB4=1
out DDRB, R16
sbi PORTB,zoom
rcall pause_d100
rcall pause_d100
rcall pause_d100
ldi R16, 0b00001011; PB4=0 в режим контроля АКБ
out DDRB, R16 ;
cbi PORTB, zoom
rcall pause_d100
ret

sound: ; ТОЧКА

ldi R16, 0b00011011; режим звуковой индикации PB4=1
out DDRB, R16
sbi PORTB, zoom
rcall pause_d100
ldi R16, 0b00001011; PB4=0 в режим контроля АКБ
out DDRB, R16 ;
cbi PORTB, zoom
rcall pause_d100
ret

symbol_A: ; .-
rcall sound
rcall sound_long
ret

symbol_B:
rcall sound_long
rcall sound
rcall sound
rcall sound
ret

symbol_K:
rcall sound_long
rcall sound
rcall sound_long
ret

symbol_O:
rcall sound_long
rcall sound_long
rcall sound_long
ret

symbol_R: ;.-.
rcall sound
rcall sound_long
rcall sound
ret

symbol_S:
rcall sound
rcall sound
rcall sound
ret

symbol_T:
rcall sound_long
ret

Разработка ПО 6+6 часов
Разработка схемы и наладка 16 часов
Прочее 2 часа
34 часа


Все авторские права принадлежат Петрову Р.В, RK50.RU

Моя автомагнитола. 27 МГц в автомагнитоле.

Что сделал в автомагинтоле SONY?
1. Установил широкополосный усилитель высокой частоты для СВ, КВ и УКВ диапазонов с коэффициентом усиления 460. В итоге повысив чувствительность до нескольких микровольт в диапазонах СВ и КВ.
2. Добавил диапазон 27 МГц. Теперь в диапазоне СВ и КВ можно принять частоты 26-35 МГц. Полоса ограничена полосой пропускания контура, который построен с применением СМД компонентов.

Все налаживал с применением DDS-генератора, осциллографа , спектроанализатора, измерителя емкости и индуктивностей.

Почему я решил встроить в автомагнитолу диапазон 27 МГц и отказаться от радиостанции?
1. Это лишнее устройство, провода, большая и неэффективная антенна.
Антенный усилитель налаживал с учетом использования антенны автомобиля с низким входным сопротивлением.
Для согласования низкого входного сопротивления антенны с высоким входным сопротивлением усилителя высокой частоты, был применен широкополосный трансформатор с коэффициент умножения сопротивления 1:4.
2. Малая мощность радиостанции и неэффективная антенна не позволят провести дальнюю радиосвязь, для этих целей луче использовать 2-х метровый диапазон, а еще лучше разрешенный LPD.

Моя автомагнитола. 27 МГц в автомагнитоле.
Моя автомагнитола. 27 МГц в автомагнитоле.
Моя автомагнитола. 27 МГц в автомагнитоле.
Моя автомагнитола. 27 МГц в автомагнитоле.
Моя автомагнитола. 27 МГц в автомагнитоле.
Моя автомагнитола. 27 МГц в автомагнитоле.

Все авторские права принадлежат Петрову Р.В, RK50.RU

Преобразователь напряжения с 1.5В в 9В для мультиметра

Замена «Кроны» в мультиметре.
Работоспособность пенообразователя напряжения в 9В сохраняется при напряжении питания 0.7В.
В случае использования германиевых транзисторов, напряжение питания может быть снижено до 0,3В.

Полное описание преобразователя напряжения от схемы, до изготовления и возможных неисправностей в формате PDF.


Все авторские права принадлежат Петрову Р.В, RK50.RU

Доработка наушников, ремонт наушников

Продолжение проекта: «Наушники на два телефона». В этом видеоролике ролике рассказывается о особенностях конструкции наушников, доработки Bluetooth по микрофонному тракту и установке двухступенчатого ФНЧ с полосой среза 1 кГц и затуханием 24-30 Дб на актаву, то есть на частоте 2 кГц. затухание за пределами выше 2 кГц должно составить 24 -30 Дб.
ФНЧ применен для, чтобы выровнять АЧХ динамиков наушников, в которой наблюдается преимущественное преобладание средних и высоких частот.


Все авторские права принадлежат Петрову Р.В, RK50.RU

AVR программирование и применение,

Это генератор низкой частоты от 0.007 до 19 кГц.
Имеет две функциональные кнопки, к которым привязаны несколько функций, так же генератор имеет звуковую индикацию, когда достигнут минимум или максимум диапазона регулировки частоты, а так же при активации аттенюатора выходного напряжения.

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


Все авторские права принадлежат Петрову Р.В, RK50.RU

Датчик открытия двери автомобиля, программирование микроконтроллеров

Данное устройство осуществляет контроль открытия дверей автомобиля и в зависимости от комбинации открытия дверей выдает свой звуковой сигнал.
1. Открыта водительская дверь -один звуковой сигнал длительностью 100 мкС
2. Открыта пассажирская дверь -два звуковых сигнала длительностью 100 мкС
3. Открыта задняя дверь с стороны переднего пассажира — три звуковых сигнала длительностью 100 мкС
4. Открыта задняя дверь с стороны водителя — четыре звуковых длительностью 100 мкС
5. Отрыто две двери — два длинных звуковых сигнала длительностью 300 мкС
6. Открыто три двери- три длинных звуковых сигнала длительностью 300 мкС
7. Открыто четыре двери- четыре длинных звуковых сигнала длительностью 300 мкС.

По истечении 1 минуты передачи звукового сигнала наступает пауза в 20 минут, после чего цикл повторяется.

Данное устройство может работать от напряжения питания 7-28В и имеет защиту от смены полярности.
Может быть выполнено в заводском исполнении при заказе от 30 штук.


Все авторские права принадлежат Петрову Р.В, RK50.RU

Гарнитура на два телефона

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

Данную конструкцию могу выполнить на заказ.
Если взять самую дешевую конструкцию наушников, то стоимость конечного продукта будет стоить 35$.

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

Особенность конструкции:
1. В время входящего звонка можно задним фоном проиграть музыку или какой-либо иной фонограмму имитирующую нахождение вас в театре, ресторане, метро и так далее.
2. Можно связать двух абонентов, звонки которых поступили с разных номеров телефоном и при этом участвовать конференции.

Видео вариант 2.

Видео вариант 1.


Все авторские права принадлежат Петрову Р.В, RK50.RU

Генератор сигналов на микроконтроллере, часть 1

ОГЛАВЛЕНИЕ

1. «АЛИЭКСПРЕСС» ЗА И ПРОТИВ
2. КРАТКИЙ ОБЗОР ГЕНЕРАТОРА MHS-5200P 25 МГц
3. КРАТКОЕ ОПИСАНИЕ ГЕНЕРАТОРА
4. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
5. ЭТАПЫ ПРОЕКТИРОВАНИЯ
ЭЛЕКТРИЧЕСКАЯ СХЕМА
6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
7. ОСЦИЛЛОГРАММЫ
8. ФОТОГРАФИИ ПЕЧАТНОЙ ПЛАТЫ.
9. ВИДЕО 1 ЧАСТЬ

1. «АЛИЭКСПРЕСС» ЗА И ПРОТИВ
Если нравиться заниматься радио, то нужны приборы.
«АлиЭкспресс» спасает, но:
1. Товар может не дойти. Возврат денег 50/50
2. Товар дошел, но не соответствует заявленным техническим параметрам и такое обычно 100%. Однако всегда можно с некоторыми недостатками смериться.. Возврат денег — 0%
3. Товар дошел, но через некоторое время перестал работать. Возврат денег — 0%. Возможность положительного исхода ремонта 50/50.

2. КРАТКИЙ ОБЗОР ГЕНЕРАТОРА MHS-5200P 25 МГц

Посмотрел отзывы русских о данном продукте «MHS-5200P 25 МГц» -все в восторге. Посмотрел отзывы зарубежных радиолюбителей -как всегда: форма сигнала после 5 МГц уже только синус, выставляемое напряжение не соответствует действительности. Я все связываю с бедностью русских, которые не могут себе позволить измерительное оборудование кроме китайского, которое правильнее отнести к индикаторам.

3. КРАТКОЕ ОПИСАНИЕ ГЕНЕРАТОРА
Данный прибор предназначен для проверки приемных трактов радиостанций в диапазоне 0.2_60 МГц. Предполагается ввести аттенюатор и регулировку формы выходного сигнала с применением второго микроконтроллера AVR.
В настоящее время на микроконтроллере AVR ATTINY13A реализовано управление генераторами.
Нажатие и отпускание кнопки сопровождается звуковыми сигналами разной формы, соответствующей диапазону включения генератора..
Количество повторений сигнала при отпускании кнопки соответствует под диапазону включения LC-генератора, то есть от 1 до 3 повторений.
При бездействии генератора, в течении 2-х часов каждые 15 минут издается звуковой сигнал. Считаю данную опцию полезной, кто уходит с головой ремонт или разработку, Повторяющийся сигнал — не даст просидеть увлеченно за работой весь день без еды.
По истечении 2-х часов, генератор отключается, микроконтроллер уходит в режим Power Down. Перед отключение издается несколько продолжительных прерывистых звуковых сигналов.

4 ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

Технические характеристики генератора
Напряжение питания _________7_28В
1. Диапазон 0.2____2 МГц
2. Диапазон 2______15МГц
3. Диапазон 15______60 МГц

Выходной сигнал_____________________________________________________ синус
Амплитуда выходного сигнала в диапазоне частот 0.2____2 Мгц_____________10В
Амплитуда выходного сигнала в диапазоне частот 2____15Мгц_____________2В
Амплитуда выходного сигнала в диапазоне частот 16____60Мгц_____________0.7В
АМ/ЧМ модуляция____________________________________________________Да
Звуковая индикация___________________________________________________Да
Таймер отключения___________________________________________________2 часа.

5. ЭТАПЫ ПРОЕКТИРОВАНИЯ
1. PLL синтезатор
2. Цифровая регулировка выходного напряжения
3. Цифровая регулировка формы сигнала

6. ЭЛЕКТРИЧЕСКАЯ СХЕМА

программист микроконтроллеров, инженер программист микроконтроллеров, программист avr, разработка электрических схем, день инженера электроника, инженер ремонту электроники, разработчик микроконтроллеров, разработчик устройств микроконтроллерах,  программирование микроконтроллеров atmel, микросхема atmel программирование, инженер конструктор схемотехник, генератор генератор синусоидального сигнала, генератор вч сигналов, генератор сигналов на микроконтроллере, rk50.ru, rk50, ingineer Petrov, Roman Petrov, инженер Петров
электрическая схема LC-генератов и управления.

7. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Программа занимает чуть менее 400 байт.

/*
* Управлением питания генераторов
*
* Created: 07.12.2016 21:15:42,.
* Author: Petrov Roman, http://rk50.ru, proftpd@mail.ru
********** МОДИФИКАЦИЯ 15.12.16: *********
1.Каждому под диапазону LC-генератора соответствует свой звуковой сигнал. 1,2 или 3 коротких сигнала.
2. В время работы генератора, по истечении 15 минут издается звуковой сигнал, то есть напоминание о том, чтобы не забыть отключить генератор, если не нужен.
********** МОДИФИКАЦИЯ 16.12.16: *********
1. Отключение генератора после 2-х часов бездействия, если не нажата ни одна кнопка.
*/
;PB4 -выход звукового индикатора
;PB3 — кнопка переключения генераторов
;PB2 — PB0 — питание на генераторы, в среднем 3-4 мА

.include «tn13def.inc»
.dseg ;сегмент данных
.def tmpa = R16 ; рабочий регистр
.def tmpb = R19; отсчет времени
.def timeout_1 = R20; отсчет времени
.def timeout_2 = R21; отсчет времени
.def channel = R22; канал RC-генератора
.def var_channel = R23
.def power_off = R24 ; отключение генератора

.equ clock = 0x00
.equ time_sound = 0x08; длительность звукового сигнала при запуске МК
.equ time_off = 0x08; время перед отключением МК=N*15min
.equ timeout_long = 0x5B; 0x5B < => 1-1=90=9,91s 900/90= 10 0x24 = 36 < => 36-1 = 35*25,228= 883sec, 30 = 737.5sec
.equ timeout_short = 0x67; 0x66=102 0x65=100 < => 10/0.09911=101 0xFD=252=883/252= 25.2286s 0xFB=252 < => 251-1=250 = 0,1017*249= 25,34 sec

.cseg ; сегмент кода
.org 0x00
ldi R16, clock
out OSCCAL, R16
clr channel
clr power_off

ldi tmpa, 0b00010111; PP3, PB4 -input
out DDRB, tmpa
ldi tmpa, 0b00011100
out PORTB, tmpa
ldi tmpb, time_sound
; Пауза пере стартом
start_pause:
dec tmpb
cpi tmpb,1
breq end_pause
rcall pause
rjmp start_pause
end_pause:

rcall sound_key_off

ldi timeout_1, timeout_long
ldi timeout_2, timeout_short; 25,43sec
;#############################################################################
start: ; 1100
rcall time_15min
nop
in tmpa, PINB
cpi tmpa, 12
breq start

rcall sound_key_on ;звук нажатия кнопки
clr power_off; сброс режима отключения, т.к. нажата кнопка
inc channel; 1
cbi PORTB, 2
sbi PORTB,1 ; PORTB=1
mov var_channel, channel; copy chanel _> var_chanel

;#############################################################################
start_1: ; 1010
nop
in tmpa, PINB
cpi tmpa, 10
brne start_1; пока не отпустят кнопку, будем ждать
rcall sound_2 ; двух кратный звуковой сигнал отпускания кнопки

;#############################################################################
start_1_0:
rcall time_15min
nop
in tmpa, PINB
cpi tmpa, 10
breq start_1_0; ждем пока не нажмут кнопку

rcall sound_key_on ; звук нажатия кнопки
clr power_off
inc channel ; 2
cbi PORTB, 1
sbi PORTB,0 ; PORTB0=1
mov var_channel, channel; copy chanel _> var_chanel

;#############################################################################
start_2: ;1001
nop
in tmpa, PINB
cpi tmpa, 9
brne start_2 ; ждем пока не отпустят кнопку
rcall sound_3 ; трех кратный звуковой сигнал отпускания кнопки
start_2_0:
rcall time_15min
nop
in tmpa, PINB
cpi tmpa, 9
breq start_2_0; ждем пока не нажмут кнопку

rcall sound_key_on ; звук нажатия кнопки
clr power_off
cbi PORTB, 0
sbi PORTB,2 ; PORTB2=1
mov var_channel, channel; copy chanel _> var_chanel
clr channel; 0

;#############################################################################
start_3: ;1100
nop
in tmpa, PINB
cpi tmpa, 12
brne start_3; ждем пока не отпустят кнопку.
rcall sound_1; одинарный звуковой сигнал отпускания кнопки, так как переходим в начало работы программы
rjmp start

;#########################################################################################################
; ЗВУКОВАЯ ИНДИКАЦИЯ
;#########################################################################################################
sound_1:
rcall sound_key_off
ret

sound_2:
rcall sound_key_off
rcall sound_key_off
ret

sound_3:
rcall sound_key_off
rcall sound_key_off
rcall sound_key_off
ret

;#############################################################################
pause: ; 100mS
ldi R17, 0x29 ; 0x2B 43 =105 mS
df1: ;
dec R17
cpi R17, 0
breq end1
ldi R18, 0xFF

next1: ; 2,31ms
dec R18
cpi R18,0
breq df1
rjmp next1
end1:
ret

sound_key_off:
sbi PORTB, 4; ON sound -Звуковой сигнал при отпускании кнопки
rcall pause ; 315/3=105
rcall pause
rcall pause
cbi PORTB, 4; OFF sound
rcall pause; 70 ms
rcall pause
rcall pause
ret

sound_key_on:; 35ms < => R18=0x0F
sbi PORTB, 4; ON sound -Выдаем звуковой сигнал, при нажатии кнопки
rcall pause
cbi PORTB, 4
rcall pause
rcall pause
rcall pause
rcall pause
rcall pause
rcall pause
ret
;########################################################################################
; ТАЙМЕР 15 МИНУТ
;########################################################################################

time_15min:
dec timeout_2
cpi timeout_2, 1
breq time_1
rcall pause
ret
time_1:
ldi timeout_2, timeout_short
dec timeout_1
cpi timeout_1, 0
breq timer_0; при завершении отсчета, выдать звуковой сигнал
ret

timer_0: ; По достижении 15 минут издается звуковой сигнал, соответствующий каналу включения генератора
rcall poweroff
ldi timeout_1, timeout_long; перегружаем таймер
ldi timeout_2, timeout_short; 25sec
cpi var_channel, 0
breq sound_1
cpi var_channel, 1
breq sound_2
cpi var_channel, 2
breq sound_3
ret

;##############################################################################
; Отключение питания через 2 часа бездействия
;##############################################################################

poweroff:
inc power_off
cpi power_off, time_off; t2=8 < => N*15min = 8*15=120min ждем при бездействии и выключаем все генераторы
breq end_power
ret

end_power:
clr tmpa
out PORTB, tmpa ; Все порты в 0
ldi tmpb, 0x5F
sbi PORTB, 4; Подача звукового сигнала перед отключением МК, т.е. входа в режим PowerDown
rcall pause_sleep
cbi PORTB, 4
rcall pause
sbi PORTB, 4
rcall pause_sleep
rcall pause_sleep
rcall pause_sleep
cbi PORTB, 4; sound OFF
clr R16
ldi R16, 0b00101000
out MCUCR, R16
nop

sleep

pause_sleep:
ldi tmpa, time_sound ; Длинный звуковой сигнал перед отключением
df:
dec tmpa
cpi tmpa,0
breq end_1
rcall pause
rjmp df
end_1:
ret

7. ОСЦИЛЛОГРАММЫ

программист микроконтроллеров, инженер программист микроконтроллеров, программист avr, разработка электрических схем, день инженера электроника, инженер ремонту электроники, разработчик микроконтроллеров, разработчик устройств микроконтроллерах,  программирование микроконтроллеров atmel, микросхема atmel программирование, инженер конструктор схемотехник, генератор генератор синусоидального сигнала, генератор вч сигналов, генератор сигналов на микроконтроллере, rk50.ru, rk50, ingineer Petrov, Roman Petrov, инженер Петров
Осциллограммы сигналов

Форма звукового сопровождения соответствует тому, что включен 3-й LC-генератор (30-60 МГц)

8. ФОТОГРАФИИ ПЕЧАТНОЙ ПЛАТЫ

9. ВИДЕО 1 ЧАСТЬ

Видео на YouTube. Часть 1: https://youtu.be/kfM5OuoNlnc


Все авторские права принадлежат Петрову Р.В, RK50.RU

Замена NI-CD аккумуляторов LI-ON аккумуляторами

Требуется переделать блок аккумуляторов портативной радиостанции CB-диапазана с NI-CD аккумуляторами для использования Li-ON аккумуляторов.

Положительные стороны переделки:
1. Возможность установить аккумуляторы большей емкости
2. Общая стоимость аккумуляторов оказывается в итоге ниже, чем если устанавливать Ni-Cd. Дело в том, что хорошие Ni-Cd аккумуляторы трудно купить в России и практически невозможно это сделать напрямую из Китая.
3. Продолжительность срока работы Li-ON аккумуляторов, так как процесс заряда является «интеллектуальным».
4. Ремонтопригодность

Отрицательные стороны переделки:
1. Сложность конструкции. Требуется изготовление дополнительной схемы, ограничивающей подачу напряжения питания на контроллер заряда LI-ON аккумулятора. Я изготовил схему с отсечкой по току потребления.
2. Требуется настройка схемы.
3. Стоимость. В принципе, стоимость качественных Ni-CD аккумуляторов может быть даже выше.


Все авторские права принадлежат Петрову Р.В, RK50.RU

Секретка на автомобиль, электронная секретка на автомобиль

Экспериментальный вариант блокировки двигателя реализован на микроконтроллере AVR.
Алгоритм программного обеспечения для микроконтроллера реализован таким образом, что подача топлива прекращается не сразу, а постепенно, эмитирую неработоспособность двигателя.
Данный модуль, является частью проекта.
В настоящее время не реализована часть с передачей данных о местоположении автомобиля, которая будет реализована посредством GPS-треккера.

Скачать описание формате PDF960 Kb.


Все авторские права принадлежат Петрову Р.В, RK50.RU

Звуковой индикатор заднего хода, модификация

Было решено модифицировать схему следующим образом:
Я посчитал, что задняя передача при движении может быть включена не постоянно и автомобиль может быть двигаться по инерции.
Поэтому, было решено передавать звуковой сигнал еще некоторое время, после выключения задней передачи.
После окончания действия периода передачи звукового сигнала, программа начинает снова отслеживать включение задней передачи.
Программа написана на языке Assembler.
Собран экспериментальный вариант образца и установлен на автомобиль.
По вопросам консультаций и разработок пишите на электронную почту, предварительно ознакомившись желательно с некоторой информацией на сайте rk50.ru


Скачать описание устройства в формате PDF690 Kb


Все авторские права принадлежат Петрову Р.В, RK50.RU

Звуковой сигнал заднего хода. Звуковой сигнал заднего хода своими руками.

Данное устройство реализовано на микроконтроллере AVR ATTINY13A.
Программное обеспечение для микроконтроллера реализовано на языке Assembler и составляет 126 слов.
При включении задней передачи на микроконтроллер подается напряжение питания и начинается процесс исполнения программы, которая состоит в реализации звукового тона частотой 621 Гц, одной тоновой посылки длительность в 0.8 Сек и двух коротких длительностью в 0.15 Сек. Так же работа устройства продублирована светодиодным индикатором который включается при передаче тонового сигнала и выключается в паузе.

Для усиления сигнала используется SMD транзистор в корпусе SO23. Так как он имеет ограничение по току, то последовательно с динамической головкой включено сопротивление 100 Ом.

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

Технические характеристики:
-Напряжение питания: 7-29 V
-Ток потребления: не мерил мА
-Частота тоновой посылки: 621 Hz
-Защита от смены полярности напряжения: Yes

Осциллограммы поясняющие работу «Звукового сигнала заднего хода»:

Звуковой сигнал заднего хода, осциллограммы, электронщик в Пушкино, rk50
Звуковой сигнал заднего хода, осциллограммы

Звуковой сигнал заднего хода, осциллограммы, электронщик в Пушкино, rk50
Звуковой сигнал заднего хода, осциллограммы
Звуковой сигнал заднего хода, осциллограммы, электронщик в Пушкино, rk50
Звуковой сигнал заднего хода, осциллограммы
Звуковой сигнал заднего хода, осциллограммы, электронщик в Пушкино, rk50
Звуковой сигнал заднего хода, осциллограммы

Источник информации: http://rk50.ru


Все авторские права принадлежат Петрову Р.В, RK50.RU

Блок управления фарами, разработка схемы и программного обеспечения

Это модуль управления противотуманными фарами.
Имеет 4-ре режима работы:
1 Фары постоянно включены
2 Фары мигают с равным интервалом времени
3. Фары мигают с увеличенным интервалом времени
4. Фары мигают с уменьшенным интервалом времени

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


Все авторские права принадлежат Петрову Р.В, RK50.RU

Разработка автомобильной электроники, модуль управления ПТ-фарами

Разработан модуль управления противотуманными фарами на микроконтроллере AVR. Схема работающая, работает уже два года, выдержала 30 градусные морозы. Снимал для доработки программного кода, а именно возврат в начало программы при 35 секундном удержании кнопки, что удобно для быстрого завершения программы Раньше нужно было пройти весь цикл, пять подпрограмм.


Все авторские права принадлежат Петрову Р.В, RK50.RU