You are posting as a guest.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
КЗ в нагрузке? Без сигнала? Серьезно?  Или там такие переходные процессы при включении?
Не настроив усилитель подключать акустику вообще нонсенс, тем более без защиты.
Вопрос есть, Господа .. де я начинающий резонансовод :) и планирую делать себе резонансник. НО нуна много вторичек и с 1-го транса (БП) снять. Т.е. вторичных двухполярных напряжений должно быть 4 штук, три одинаковых (это для питания УМЗЧ - 3 х +-35В, а одно - для питания обслуги-кроссоверов (+-18В). Собственно вопрос, дабы не городить -мотать кучу сдвоенных вторичек, мыслю использовать для каждого напряжения удвоитель Латура, кто нить так делал, или я буду ПЫОНЭР??
писАть мануал Клиенту - никто не будет ....
тем более - зачем оно тебе нужно?! Сломалось - Мастер или За новым ...
не будем .... ни менять, ни рассуждать ... Аппарат на стол и ТОЧКА .... тебе в нем нечего делать!
распечатать и в туалет на гвоздик ....
ЗЫ: если подобные аппараты в Песочнице рассматривают, что же в основных разделах?! Даже заглядывать боюсь .... Я смотрю тут Песочница стала уровня ПРОФ-форума крутого ....
Медиа ресивер Up2stream Mini V3 с WiFi, Bluetooth 5.0, DLNA, Airplay от Arylic. Может работать как USB DAC
Добрый день уважаемые форумчане.
Подскажите пожалуйста рабочий вариант простой схемы (минимум деталей) на дискретных элементах для управления бытовой светодиодной лампой.
Устройство должно срабатывать от микрофона, иметь регулировки "чувствительность" и "длительность" включения лампы (время включения лампы).
Примерная блок-схема устройства во вложении.
Сфера применения - включение освещения в сан узле и ванной комнате для экономии электроэнергии.
Буду благодарен любым идеям, ссылкам на готовые схемы, а так же обсуждению технических решений.
Доброго времени суток!
Неделю не могу запустить DCMI на STM32F407VET6.
Работаю через HAL, инициализация кубом. К МК подключена камера OV7670. Камера дает картинку 640х480, и такое изображение мне негде хранить. Поэтому через фичу CROP хочу вырезать картинку 160х128 из центра под имеющийся экран.
Ниже примерный код, без настройки камеры. Камера тактируется от 16 МГц MCO. Сигналы поступают на выводы МК, посмотрел осциллографом. У камеры есть некоторые настройки, которые тут в коде не показал, так как они влияют только на представление данных, но не на алгоритм захвата данных.
/* USER CODE BEGIN PV */
uint16_t DCMI_data[20480] = {0}; //128*160=20480 words
uint32_t ptr;
/* USER CODE END PV */
//тут еще код куба, пропущу его
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_DCMI_Init();
/* USER CODE BEGIN 2 */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //снять ресет с матрицы
ptr = (uint32_t)(&DCMI_data[0]);
HAL_Delay( 500 );
//начать резать с 512 клока строки (256 пиксель), начать резать с 160 строки
//захватить 256 клоков (128 пикселей), захватить 160 строк
HAL_DCMI_ConfigCrop(&hdcmi, 512, 160, 256, 160);
HAL_DCMI_EnableCrop(&hdcmi);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, ptr, 10240); //однократный захват, 10240 тетрад, 20480 слов, 160*128=40960 пикселей
HAL_Delay(1500);
}
/* USER CODE END 3 */
}
В результате в буфере ничего не появляется, DMA туда ничего не кладёт, проверил. Если не вызывать функцию EnableCrop, но какие-то данные появляются, но на экран их корректно отобразить не получается. Также пытался в камере обрезку включить, а не в МК - снова нет данных. Пробовал разные частоты тактирования матрицы давать - без разницы. Отладчиком увидел, что бит EN в регистре конфигурации потока DMA не снимается, как будто DMA не получал запросов на транзакции. Помогите, пожалуйста, разобраться.
Проект на яндексДиске
Микроконтроллер ATmega328p, внешний кварц 16МГц. Компилятор avr-gcc с оптимизацией O1
Написал код для управление шаговым двигателем. Работает так: требуемая скорость задается переменной STP1_ReqSpeed, дальше с частотой 100Гц срабатывает таймер TIM0, который высчитывает с какой частотой надо подавать сигналы на вход шагового драйвера. TIM1 работает в режиме частотно импульсной модуляции и по прерыванию меняет значение пина на противоположное.
Управление работает, скорость регулируется, но по какой то причине случаются пропуски шагов. Чаще всего во время ускорения. Количество пропусков от 0 до 4, обычно 2-3, длятся 32мс.
Из кода вырезал неиспользуемое. Заменить прерывания на аппаратный ШИМ возможности нет. Как убрать эти пропуски?
Осциллограммы:
Здравствуйте, товарищи форумчане!
У меня вот такая проблемка: есть такая схема:
По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1).
Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост:
while (1)
{
HAL_ADC_Start_IT(&hadc1);
HAL_Delay(10);
}
Код колбека прерывания:
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1
{
int adc = HAL_ADC_GetValue(&hadc1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1);
}
}
На всякий случай вот настройка АЦП в stm32: