Архив рубрики: ПРОГРАММИРОВАНИЕ

Примеры программирования микроконтроллеров, радиостанций и прочей электроники.

Все доработки радиостанции Vector VT-44

1. Доработка батарейного отсека позволит теперь радиостанцию VT-44 заряжать от любого источника питания.
2. В НЧ-тракте приемника была зарезана ВЧ-составлящая. Доработка на любителя, считаю она не нужна, а вот в радиостанции Baofeng UV-5R после подобной доработки звук преобразился, появились низкие частоты, что стало очень приятно слушать радиостанцию.
3. Далее подстроил опорный генератор. Отклонение составляло 0.8 кГц, после доработки менее 0.1 кГц. При полосе пропуская ПЧ-фильтров в 2.5/5 кГц отклонение частоты в 0.8 кГц не существенно и можно было не подстраивать генератор.


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

Автоинформатор на 27 Мгц

Данная устройство реализовано на модулем звукозаписи, которым управляет микроконтроллер ATTINY13. C интервалом в 15 минут передается ранее записанное информационное сообщение.
Устройство можно перевести в режим «Эхо-репитера» и использовать поледнюю запись для воспроизведения в радиоэфире, но существует большая вероятность, что ее будут постоянно затирать другими сообщениями.

Устройство имеет аудиоразъем 3.5 мм, через которое осуществляется управление передатчиком и запись тестового сообщения.
Разъемы питания соединенны параллельно, что дает возможность для подключения от одного источника питания нескольких устройств
На боку имеется две тактовых кнопки и переключатель.
Одна кнопка осуществляет сброс микроконтроллера, а вторая запись тестового сообщения.
Переключатель осуществляет переключение динамика на вход микрофона или выход НЧ.
Таким образом можно прослушать записываемое тестовое сообщение или использовать динамик как внешний громкоговоритель.

АЛГОРИТМ РАБОТЫ УСТРОЙСТВА

1. Инициализация (тестовое включение передатчика)
2. Включение передатчика
3. Тоновая посылка соответствующая своему участку времени, каждые 15 минут добавляется еще один звуковой сигнал. С началом нового часа, цикл повторяется.
4. Передача азбукой морзе RK50.RU
5. Включение воспроизведения
6. Контроль окончания воспроизведения
7. Тоновая посылка
8. Передача азбукой морзе RK50.RU
9. Отсчет интервала в 15 минут до следующего включения

ДОРАБОТКА

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


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

Стенд для чистки форсунок, чистка форсунок своими руками, RK50.RU

Стенд для чистки форсунок выполнен на микроконтроллере AVR.
Программа написана на языке Assembler в среде AVRStudio 4.
Данный контроллер имеет несколько режимов работы форсунок и двигателя.
Для чистки форсунок исполняются жидкость Lavr стоимость которой составляет 700-700 рублей за 1 литр.
По окончании цикла чистки форсунки, давление топливной системы стравливается, то есть двигатель отключается, а форсунка еще 20 раз продолжает открываться и закрываться.
Для ускорения стравливания давления в топливной системе можно было бы открыть форсунку на несколько секунд, но существует вероятность повредить обмотки форсунки, так как ее режим работы рассчитан на непостоянною подачу напряжения питания на катушку обмотки.
В время работы, двигатель так же отключается на несколько секунд, чтобы не создавать избыточное давление в топливной системе, несмотря на то, что моторы погруженного типа имеют отверстие для слива направления топлива в случае создания избыточного давления в топливной системе.

Алгоритм контроллера не конечный и может модернизироваться с схемой.


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

Чистка форсунок своими руками, стенд для чистки форсунок

Форсунки нужно чистить каждые 60 000 км.
Возможно, ели вы заправляетесь на «Лукойле», а не «ТНК», то этот срок можно отсрочить.
Есть несколько способов чистки форсунок.
Более гуманный с использованием жидкости LAVR, но она дорогая: 600-700 рублей за литр.
Была идея предлагать чистить форсунки, но смысла предлагать цену ниже цены в сервисном-центре не вижу, так как данная операция занимает много времени.
Таким образом цену в 1200 -1400 рублей (20-24 $) за «четную» чистку форсунок является нормальной.


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

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

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

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


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

Программирование радиостанции Vostok ST-101

Задача: запрограммировать 4 новые радиостанции Vostok ST-101, чтобы между собой работали.
Одна радиостанция пришла в чрезмерной упаковке.
По началу это даже меня смутило, но станции при знакомстве оказались качественного исполнения.


Все авторские права принадлежат Петрову Р.В, 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

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

Экспериментальный вариант блокировки двигателя реализован на микроконтроллере 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

Программирование, радиостанция kenwood tk f6 turbo, kenwood tk f6 программирование

Задача состояла в том, чтобы запрограммировать радиостанцию Kenwood TK F6 таким образом, чтобы она работала с радиостанцией Motorola T81.


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

Программирование приборной панели, программирование автомобиля

У меня стояла задача скорректировать:
-Показания спидометра
-Показания остатка топлива
-Температуру охлаждающей жидкости


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

Ремонт подушки безопасности своими руками, ремонт подушек безопасности видео

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

Выкладываю дампы микроконтроллера PIC16F76 и битый дамп подушки безопасности М95160.
Кому какая помощь нужна, обращайтесь.

Дамп EEPROM и прошивка блока управления


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

Ошибка #1142 — INSERT,DELETE command denied to user ‘phpmyadmin’@’localhost’ for table ‘pma__recent’

Ошибка «#1142 — INSERT,DELETE command denied to user ‘phpmyadmin’@’localhost’ for table ‘pma__recent'» и способ борьбы.

1. Поменять администратора БД phpmyadmin

root@acer:/home/roman# dpkg-reconfigure phpmyadmin

2. Изменить файл «config.inc.php», а именно:
root@acer:/home/roman# nano /etc/phpmyadmin/config.inc.php

$cfg[‘Servers’][$i][‘controluser’] = root;
$cfg[‘Servers’][$i][‘controlpass’] = ваш_пароль;


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