2 630 сообщений в этой теме

Юрец    9

Сделал девайс для своей машины, думаю, многим понравится. Прибор устанавливается на любом автомобиле с напряжением бортовой сети 12В.

Основные функции:

1.остаток топлива в баке в литрах.

2.напряжение бортовой сети.

3.рабочую температуру двигателя.

4.температуру воздуха снаружи машины.

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

Дополнительно, компьютер обладает следующими сервисными возможностями:

1.калибровка штатного датчика уровня топлива.

2.установка уровня подсветки дисплея для режимов день/ночь.

3.изменение поправочного коэффициента инерционности показаний уровня топлива.

Все калибровки прибора производятся программно. Для измерения температуры необходима установка собственных датчиков dallas ds18b20.

В основе устройства лежит микроконтроллер AVR ATMega8 производства фирмы ATMEL.

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

В качестве индикатора был выбран алфавитно-цифровой ЖК индикатор фирмы МЭЛТ МТ-16S2H, который с успехом можно заменить на любой другой, совместимый с HD44780.

Статья на сайте: Бортовой миникомпьютер

В архиве схема, фьюзы для прошивания, файлы lcd.hex и lcd.epp, описание работы с менюшками.

avr_lcd.rar

  • Одобряю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Блуд    0

можно ли спросить, в правой нижней части схемы нужно ли общее соединение между землёй 7805 и минусами конденсаторов?

и как МК узнает, какой датчик от двигателя, а какой уличный?

Изменено пользователем Блуд

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mobilom    2
можно ли спросить, в правой нижней части схемы нужно ли общее соединение между землёй 7805 и минусами конденсаторов?

да нужно ..

и как МК узнает, какой датчик от двигателя, а какой уличный?

действительно ... :huh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
и как МК узнает, какой датчик от двигателя, а какой уличный?
действительно ...

собственно - контроллер не понимает, какой датчик на улице, а какой от двигателя.

я делал так:

подключаю 2 датчика (параллельно, как по схеме), потом нагреваю один из них (зажигалкой, паяльником, феном). далее смотрю на экране жк где поползла температура . если поднимается температура ДВ, то нагреваемый датчик цепляю на двигатель , и наоборот. (у датчиков есть свой уникальный серийный номер, именно по нему контроллер ориентируется в показе температуры.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Блуд    0

понятно. спасибо. в принципе, я так и думал.

куда можно посоветовать прицепить уличный датчик?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mobilom    2

у меня в машине стоит за бампером ( с завода)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
NebsteR    743
и как МК узнает, какой датчик от двигателя, а какой уличный?
действительно ...

собственно - контроллер не понимает, какой датчик на улице, а какой от двигателя.

я делал так:

подключаю 2 датчика (параллельно, как по схеме), потом нагреваю один из них (зажигалкой, паяльником, феном). далее смотрю на экране жк где поползла температура . если поднимается температура ДВ, то нагреваемый датчик цепляю на двигатель , и наоборот. (у датчиков есть свой уникальный серийный номер, именно по нему контроллер ориентируется в показе температуры.)

эээ... т.е. теоретически можно подключить неограниченное кол-во датчиков на 1 ногу таким способом? :blink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Блуд    0

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

эээ... т.е. теоретически можно подключить неограниченное кол-во датчиков на 1 ногу таким способом?

ну, как сейчас помню, делалось 8 штучек. все работали.

смотря для какой цели ведь. в машине 8 штук явно избыточно))

Изменено пользователем Блуд

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
конечно, было бы красиво поднять точность датчиков до десятых (они ведь позволяют же).

при увеличении температуры (скажем с 24 до 25 градусов) почему-то конструкция типа:

sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); показывает t=24.0C , потом t=25.0C , хотя должны показываться 24.1 .... 24.9.

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

вот код , описанный на многих сайтах:

devices=w1_search(0xf0,rom_code); //ищем датчики, и записываем их адреса в массив

while(devices>0) //бесконечный цикл, если датчик подключен

{

if(i>=devices){ //Если "i" больше или равно найденным датчикам

i=0; //тогда "i" равно нулю

}

temp=ds18b20_temperature(&rom_code[0]); //читаем температуру с выбранного датчика

if (temp>1000){ //если датчик выдает больше 1000

temp=4096-temp; //отнимаем от данных 4096

temp=-temp; //и ставим знак "минус"

}

sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); //записываемем массив для экрана температуру

lcd_clear(); //чистим дисплей перед выводом

lcd_puts(lcd_buffer); //выводим массив на LCD

};

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

Изменено пользователем Юрец
  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Блуд    0

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

float temp;

long temp2;

{

temp=ds18b20_temperature(&rom_codes[0]);

temp2=temp*10;

sprintf(lcd_buffer2,"t%u=%d.%i\xdfC",j++,(temp2-(temp2%10))/10,temp2%10);

lcd_clear();

lcd_puts(lcd_buffer2);

delay_ms(500);

датчики тут, конечно, не при чём. автор, если будут проблемки, стукни в асю, сообразим на двоих, а то, думаю, всем здесь читать разбирательства по поводу кода не шибко интересно=)

пояснения к моему коду:

(temp2-(temp2%10))/10 - цифра десятков - из общего числа вычитаем количество единиц и делим на 10

temp2%10 - а это цифра единиц

в вашем же случае

sprintf(lcd_buffer,"t=%i.%u\C",temp,temp%1); //записываемем массив для экрана температуру

temp%1 - это остаток от деления числа на единицу. к дробным числам такая штука не работает. надо переносить точку (умножать на 10) и потом делить с остатком на 10, остаток и будет искомым числом. любое число при делении на единицу даёт в остатке ноль. поэтому и выводится у вас ноль после точки

Изменено пользователем Блуд

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9

вот прошивка для показа температуры с долями градусов:

lcd_2.rar

но мне кажется, что это излишне (более удобочитаемо смотреть на целые числа).

to admin :

можете прикрепить и эту прошивку для желающих.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

Автору.Какой программой лучше воспользоваться для прошивки контроллера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Блуд    0

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

Автор. Энергонезависимая память ведь ещё осталась.

почему бы не сделать более точной регулировку бензина в баке?

плюс-минус 1 литр- это слишком грубовато, ведь можно, к примеру, снизить порог. выводить с точностью до десятых, калибровать по пол-литра (не понимаю, почему вы так боитесь десятых?) Особенно, когда бензина не так много и осталось- это будет важно. Например, если осталось 3,8 литра, то в вашем случае покажет 3, ошибка довольно велика выходит, а если покажет 3,5 то это уже куда ни шло)

это так, перспективы. ваш проект ведь можно развивать и развивать.

Изменено пользователем Блуд

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 313
вот прошивка для показа температуры с долями градусов:

но мне кажется, что это излишне (более удобочитаемо смотреть на целые числа).

to admin :

можете прикрепить и эту прошивку для желающих.

Закачал и эту на сайт

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
Автору.Какой программой лучше воспользоваться для прошивки контроллера?

я прошиваю в codevisionAVR , в которой и пишу программу. но, если требуется просто прошить контроллер, то можно использовать ponyprog

в архиве - описание работы с ponyprog "для чайников"

HELP.rar

Автору.почему бы не сделать более точной регулировку бензина в баке?

а вы посмотрите (лучше посчитать) количество витков проволоки на реостате уровня топлива, по которому двигается ползунок. я не думаю, что для бака (скажем 40 литров) количество витков реостата будет 80 и более (40*0,5 , где 0,5- показ через 0,5 литра)...

Изменено пользователем Юрец

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Viper2107    0

Здравствуйте! Я как новенький возможно задам глупые вопросы но хотелось бы получить ответ. Подскажите пожалуйста что за датчик подключен на МК на 13 вывод? И прошивка для МК она полная? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

Автору.Спасибо за помощь!Если можно еще вопрос:Можно ли использовать вместо индикатора указанного на схеме индикатор WINSTAR WH1602C?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
что за датчик подключен на МК на 13 вывод? И прошивка для МК она полная? :rolleyes:

на 13 ноге подключен пьезоизлучатель типа зп1, зп3. да собственно любой другой (можно использовать китайский, который стоит в цифровом мультиметре). попадаются в детских игрушках.

служит для "пикания" при нажатиях на кнопки.

прошивка для МК полная (охватывает полный дамп памяти микроконтроллера).

Можно ли использовать вместо индикатора указанного на схеме индикатор WINSTAR WH1602C?

насколько я знаю, у индикатора WINSTAR WH1602C полная совместимость с HD44780, поэтому подключайте, должно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

Автору.Спасибо.Начал собирать прибор.Обязательно сообщу о результатах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

Автору.Собрал прибор,прошил конроллер,так как Вы указали.После подключения ирдикатор ничего не показывает.Решил проверить контроллер,но Pony Prog его не видит.Подскажите пожалуйста где моя ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
Решил проверить контроллер,но Pony Prog его не видит.

а до программирования Pony Prog видел контроллер?

если ДА, то вероятно неправильно выставлены фьюзы (прошивка не причем).

все работает (уже третий девайс). во всех трех использовал ATMEGA8-16PU в DIP корпусе.

пробуйте реанимировать микроконтроллер подключением кварца, подачей внешних импульсов (где-то в соседних ветках форума есть похожее).

если залочен RESET то самый простой способ восстановить (без применения параллельного программатора) - этот способ испытан (и мною тоже) неоднократно.

по фьюзам здесь подробно расписано.

будут вопросы - пишите.

вопрос ко ВСЕМ : кто повторял конструкцию?

Изменено пользователем Юрец

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Юрец    9
1.Решил проверить контроллер,но Pony Prog его не видит.

2.после прошивки я дважды проверял, программатор нормально определял контроллер.

нестыковочка... либо я что-то недопонял...

сейчас программатор определяет контроллер?

индикатор WINSTAR WH1602C?

ошибки в монтаже проверяли?

p.s.

мне как-то попадался один из WINSTARовских 4х20 WH2004A, так я его и не запустил... (работал только тестовый режим - на экране черные прямоугольники знакомест).может заводской брак, или еще что-то. стоит прилично. в итоге - деньги на ветер...

совместимость разных фирм

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ANAIT    0

Автору.Сейчас программатор не видит МК.Индикатор WH1602C-YGH-CTK.С удовольствием применил бы индикатор указанный на схеме,но к сожалению в Киеве их просто не возможно купить.С трудом нашел Винстаровский,по даташит вроде идентичен с МЭЛТ,кирилицу поддерживает.Интересен тот факт,что через несколько минут после включения,на индикаторе действительно появляются квадратики,потом исчезают.Монтаж проверял.У нас в Киеве этот индикатор стоит менее 7 у.е.попробую еще раз прошить очередной МК,и заменить индикатор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: KVN
      Всем привет.
      Застрял на подключении 2 датчиков HC-SR04 к Atmega8 (CVAVR 3.12).
      1 настроен на прерывание 0, работает на таймере 0. (работает нормально)
      2 настроен на прерывание 1, работает на таймере 1. (показывает ерунду если рассчитанное расстояние 1 датчика меньше чем расстояние 2 датчика). 
      Фото прилагаю, видна часть кода. Прошу направить на путь истинный.
       
       


    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

  • Сообщения

    • каждому железу - свое решение по управлению. Вы же не удивляетесь, что мощные полевики с огромным входным сопротивлением, требуют драйвера с низким Rвых. Ну вот и для управления биполярниками, желая получить хороший результат, совершенно необходимо пропорционально токовое управление и отрицательное смещение базы. Дополнительная токовая обмотка, состоящая всегда (другого не видел) из двух витков, совместно с обмотками в цепях баз, образуют своеобразный трансформатор тока. Ток базы (ток управления) оказывается пропорциональным току коллектора. Открытый ключ насыщен. При запирании к базе прикладывается отрицательное напряжение, ускоряющее запирание. Отрицательное напряжение получается за счет базовой R-C-VD цепочки. В ATX данной цепи (резистор 300кОм б-к) не бывало   
    • Как то главный инженер докопался до дежурного на подстанции: "Чего это у тебя стакан на подоконнике? Пьёшь?!?" (а стакан обычный, гранённый), он: "Да, пью - воду из колодца, стакан через окно и поставил на подоконник!". А на подстанции реально колодец возле соседнего окна... Инженер: "Ты это, убери стакан с подоконника, а то солнце через стекло окна и стакан сфокусируется на полу, и подожжёт ленолеум - сгорит же вся аппаратная!". Мы все и попадали со смеху...
    • вы извините из какой берлоги выползли? APNOT = APPLICATION NOTE (применение) IR = International Rectifier - производитель тех самых мосфетов и драйверов к ним http://irf.ru/html/library.html
    • нате вам https://www.olx.ua/obyavlenie/radiostantsiya-sony-little-john-icb-600-IDB2pVY.html#d62d3efbba
    • Продам отличный цифровой осциллограф RIGOL DS1102e. Состояние нового (потертостей и царапин нет), пользовался мало и аккуратно, не ронял, не грел, не морозил, повышенной влажности не подвергал, все время стоял в комнате. Не разбирал, присутствует заводская пломба. Даже коробка сохранилась. В комплекте отдаю два почти новых щупа 100 МГц (не родные, у родных испортил колпачки-захваты, могу отдать и их). Продаю, т.к. пользуюсь им мало плюс на работе есть целый зоопарк приборов. Основные характеристики: 2 канала. Полоса - 100 МГц. Макс. частота дискретизации: 1Гвыб/с (реальное время), 25 Гвыб/с (эквив.режим). Макс.память: 1М точек. Входной импеданс 1МОм. Цифровые фильтры. Курсорные и 20 автоизмерений. Интерфейс: USB Device/Host, RS-232, P/F Out  Цена видится 13000р, но возможен разумный торг. Возможна доставка почтой, либо ТК. Прибор находится в г. Ростов-на-Дону.  
    • Как я понимаю, это ПОС, ускоряющая переключение медленных биполяров. Когда-то тоже так озаботился, убрал в переделываемом АТХ и через какое-то время оба транзистора сгорели. Нормальное описание попадалось как-то очень давно в виде иностранного патента, больше нигде не встречал (мож, так искал?), так же нельзя в АТХ убирать 150 - 300 кОм между базой-коллектором мощных - без них эта самая ПОС тоже как-то плохо работает, лампочка в послед с 220 начинает заметно тлеть на ХХ при проверке... Немножко в тему, кого-то интересовало число витков: сейчас переделываю старенький АТ с самым большим трансформатором, из БП, найденных в хламе. Если косичка кверху, слева направо: 1.12в 2.12в 3. нет вывода 4, 5, 6  5в 7, 8, 9  5в Размотал часть: Снаружи - 20 витков - имхо, пол первички, итого первичка - 40витков. Затем 4+4 витка - 7 вольт от 5 вольтовых обмоток продолжение, итого для 12 вольт 7+7 витков. Затем 5 вольтовая обмотка - 3+3 витка медной шины почти во всю ширину каркаса . Также, когда-то разматывал согласующие, если не ошибаюсь, независимо от размера сердечника, все три обмотки по 16 витков (ну, и пресловутый один виток).