Есть микроконтроллер atmega8 частоту синхронизации задает кварц 16 МГц. Дальше что-то типа такого кода для управления Н-мостом (ДПТ с дисковым ротором): void setPWM(int value){
// Limit PWM
if (value > MAX_PWM) value = MAX_PWM;
if (value < -MAX_PWM) value = -MAX_PWM;
// Set PWM
OCR1A = (unsigned int)(MID_POINT + value);
OCR1B = (unsigned int)(MID_POINT - value);
}
void main(void){
int adc ;
// ADC initialization
// ADC Clock frequency: 1000,000 kHz
// ADC Voltage Reference: AVCC pin
ADMUX = ADC_VREF_TYPE & 0xff;
ADCSRA=0x83;
//Init PWM
initPWM();
while (1) {
adc = read_adc(1) - 512; //- 512 .... 512
setPWM(adc);
};
Ну ...я это привёл упрощённый код ..без реализации контура тока.
Контур тока реализован...всё работает. Ему на задание идёт напряжение 0...5 В...которое интерпретируется как -2.5В....+2.5 В.
Назначение привода ... модернизировать промышленный робот ТУР-10.
Есть инкрементальные датчики...они связаны с функциональным модулем FM458-1DP, который связан с модулем расширения EXM438-1, а тот .
имеет интерфейсные модули ...для аналоговых выходов 4 аналоговых выхода 16 бит и 4-ри аналоговых выхода 12 бит, амплитуда +10...-10 В....сила тока до 10 мА. Интерфейсные модули SU13 ..без гальванических розвязок...а напрямую.
Я так понимаю можно сделать на операционном усилителе масштабирование... только не уверен на счёт однополярного питания. Подскажите....и лучше схематически покажите, пожалуйся. Помогите студенту))))
Вячеслав