entry is in top500 rating

(Квази) портативный блок питания на 20 ампер

Доброго времени суток, коллеги. С некоторых пор я пополнил ряды УКВ-радиолюбителей (не в России, но идея та же), и вот недавно мне надоело играться исключительно с китайскими погремушками BaoFeng. В связи с чем возжелал я в некоторой степени портативной станции, которую можно было бы без особых сложностей поставить дома и подключить там к нормальной антенне на чердаке, а при необходимости утащить в машину, и вывести на антенну на крыше. Вариантов для самого трансивера масса - пока присматриваюсь к Yaesu, смонтировать его хочу в чемодан типа Pelican или что-то в этом духе, благо они весьма прочные и удобные.

Так вот. Любому УКВ-трансиверу с выходной мощностью от 50 Вт нужно питание 12В (чаще всего -1В / +3В), способное стабильно выдавать до 15-20 А, дабы прокормить передатчик. Настольный блок питания не подходит по причине портативности. Питать от прикуривателя в машине тоже не вариант - предохранители на 10А улетят к праотцам при первом же сеансе связи, а если нет - то проводка в машине может перегреться. Следующая моя мысль - аккумулятор, и с точки зрения ТБ, устойчивости к внешним повреждениям и массогабаритных характеристик лучше LiFePo тут мало что можно придумать (их вроде куда сложнее взорвать, чем те же литий-ионки, и они сильно меньше и легче AGM). ОК, допустим, присобачили мы туда пачку банок общим калибром где-то на 20 А-ч, дабы им было сравнительно комфортно выгружать 15 ампер, т.к. стабильные нагрузки у таких сборок зачастую под 50 А, т.е. есть запас под какие-то импульсные нагрузки. В результате получаем общее время на передаче примерно 1.5 часа (очень примерно), и часов 10 на приеме. Сойдет.

А теперь в идеале бы этот аккумулятор в процессе использования подзаряжать - чтобы он не отдал концы прямо по исходу тех нескольких часов. Напрашивается решение - к аккумулятору цепляем зарядник, который трудолюбиво и безопасно заливает в него 1-2 А через тот же прикуриватель в машине, или от любого китайского БП при настольной работе, а когда включается передатчик - аккумулятор радостно дает ему необходимый 10..15-амперный пендель на нужное время (1-2 минуты максимум, часто меньше), не перегружая внешний источник.

И вот тут у меня затык. Как и чем скоммутировать зарядник так, чтобы он не пытался запитывать передатчик вместе с зарядкой батареи, когда включается передача? Схемотехнику силовых цепей на >1 А я никогда не разрабатывал. Начну с того, что непонятно как отделить потребление от аккумулятора от тока зарядки аккумулятора, и как сделать так, чтобы внешний блок питания мог выдавать 2-3 ампера трансиверу, пока тот на приеме, плюс 1-2 А аккумулятору, а при передаче отключаться на время, и позволять аккумулятору разобраться с происходящим?

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

Буду благодарен за любые идеи, и 73 всем. 

опять кварцы

если к фпга подключить 100МГц при 0.2ппм кварц, и внутренним (в фпга) плл делать, например, 65МГц, то будут те же 0.2пп после прогрева, или заметно хуже?

или, лучше взять 54МГц кварц с теми же заявленными 0.1ппм, исключить ПЛЛ и получить лучшую точность (меньше джиттер, но и частота ниже) при снятии семплов с АЦП?

железка будет в жилом помещении, после этак 10-50 минут прогрева, интересен уход и скачкИ за время измерения (меньше минуты), уход между измерениями не волнует.

для ориентира, ссылка на ебай на кварц:
https www ebay com itm/100MHZ-hifi-TCXO-0-1ppm-Ultra-precision-Golden-Oscillator-CLOCK-power-supply/142823823416?hash=item2140f69838:g:9OkAAOSwRRZbF9Nr:rk:4:pf:0

рядом есть 54МГц, 65МГц нет.

Предновогоднее (готовимся уже! :)

Появилась задумка, для которой нужно радиотехническое решение ежегодного фейерверкного вопроса.
В общем, даешь "Internet of фейерверкс"!

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

Понимаю теоретическую опасность вопроса (органы могут понять не так), но заверяю, что все защитные мероприятия и легальность будут соблюдены.

Короче, как проще и надежнее поджечь стандартный фитиль новогодней ракеты ардуиной?
ПС. Поджигать AVRку не предлагать! :)

Прожарка чипов

Привет All,

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

STM32, подсчет частоты импульсов.

Покритикуйте решение задачи: подсчет частоты импульсов:

Вход импульсов запускает прерывание, в котором инкрементируется переменная count
Таймер 14 настраивается на прерывания в 1сек, и в этом прерывании переменная count копируется в результирующую переменную countout , после чего переменная count обнуляется:
[Текст программы:]
main.c
/* USER CODE BEGIN PV */
/* Private variables —-------------------------------------------------------*/
/* инициализация переменных */

uint8_t count = 0;
uint8_t countout = 0;


/* USER CODE BEGIN 2 */
/* Запуск таймера 14 в режиме прерываний */

HAL_TIM_Base_Start_IT(&htim14);


while (1)
{
/* передача countout в UART2 порт */
/* пауза в 1сек */

HAL_UART_Transmit (&huart2, &countout, 1, 1000);
HAL_Delay(1000);


stm32f4xx_it.c
/* USER CODE BEGIN 0 */
/* Создание внешних переменных */

extern uint8_t count;
extern uint8_t countout;


/* USER CODE BEGIN EXTI15_10_IRQn 0 */
/* инкремент счетчика пульсаций по прерыванию, при нажатии кнопки pin С13 */

count+=1;


/* USER CODE BEGIN TIM8_TRG_COM_TIM14_IRQn 0 */
/* Прерывание по таймеру 14 */
/* Запоминаем количество импульсов, и сбрасываем временный счетчик */

countout=count;
count=0;

STM32 Character match

Здравствуйте. М/К STM32F030, хочу настроить прерывание Character match в USART, что бы останавливать прием по конкретному символу. В итоге, прерывание срабатывает только тогда, когда контрольный символ идет первым в последовательности и только после перезагрузки м/к. Подскажите, я, может, не правильно понимаю суть этого прерывания?
Настраиваю как-то так:
USART1 -> CR2 |= 0x41000000;                                  //'A'
USART1 -> CR1 |= USART_CR1_CMIE | USART_CR1_TE | USART_CR1_RE;
USART1 -> CR2 |= USART_CR2_STOP_1;
USART1 -> CR3 |= USART_CR3_DMAT | USART_CR3_DMAR;
USART1 -> CR1 |=  USART_CR1_UE;

величина емкости на входе импульсного БП

А подскажите, как выбирается величина емкости на входе импульсных БП?
Эмпирически рекомендуют ставить не меньше 1мкФ на 1Вт и напряжение 1,5-2 сетевого.
А если поставить с запасом, например 2-3 мкФ на 1Вт, что будет?
Не станет ли БП более долгоживущим, а то задолбали блоки питания, которые теряют нагрузочную способность через год-два.

Платформонезависимое управление фотокамерой по USB

Здравствуйте!
Потребовалось разработать устройство, которое бы управляла фотокамерой через встроенный в неё USB-порт. Необходимо, чтобы это устройство по определённому сценарию управляло затвором и вспышкой фотокамеры, причём работало с любой фотокамерой (под платформонезависимостью понимаю независимость от модели фотокамеры). Подскажите, насколько стандартизированны команды USB-порта камеры (одинаковы ли для разных камер команды "снять" и "включить/выключить фотовспышку"), какую аппаратную платформу лучше выбрать для реализации данного функционала (Arduino, Raspberry PI, или отдельный микроконтроллер ATMega), и вообще - в какую сторону копать, я полный новичок в этом деле, а очень надо его сделать.

stm32f4, выдача пачки импульсов

что-то я туплю.

есть проектик, пока что макет на stm32f4discovery. потом будет тот же камень ,но с более вменяемым обвязом. точнее, пачка похожих проектиков.
и вот понадобилось мне странное - выдать заданное количество импульсов заданной длительности с заданными интервалами.
точнее, импульсы можно тупо по 1мкс фиксированно, их число влезает в 15 бит а число заведомо влезает в 30 бит.

на данный момент плотно подсел на opencm3, что в комплекте с "-flto всегда и везде, и в либах и в проекте" даёт хороший запас и по производительности и по памяти.

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

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

нужно вроде бы несложное -- выдать пачку "тактирующих" импульсов, тупо одинаковых, на 1-4 ноги. импульс, например, 1мкс, пауза - например от 1 до 8к мкс, число импульсов в пачке задается менее чем 30-битным, а скорее даже менее чем 15 битным числом.

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