Malc,
it's little bit more than rem ADCIN line. i'll place all the changes i made in RED
Now for the noise, to me, as i'm not a motor pro, there's something normal in that. Your motor have a comfort zone in which he can operate. So if you're under that (let's call it threshold, lower possible voltage or else), for sure he will yell. It has to fight the inertia.. (OK OK probably not the right term... but it's how i understandCode:@ __CONFIG _HS_OSC & _WDT_ON & _PWRTE_ON & _MCLRE_OFF ANSEL = %00010111 ; - dt suggested value DEFINE OSC 20 CMCON=7 TRISA=%11111111 'set PORTA as all input TRISC=%00000001 'set PORTC as all output apart from RC0 DEFINE ADC_BITS 8 ' ADCIN resolution (Bits) DEFINE ADC_CLOCK 2 ' ADC clock source (Fosc/32) DEFINE ADC_SAMPLEUS 11 ' ADC sampling time (uSec) INCLUDE "DT_INTS-14.bas" ; Base Interrupt System INCLUDE "SPWM_INT.bas" ; Software PWM module DEFINE SPWM_FREQ 150 ; SPWM Frequency DEFINE SPWM_RES 255 ; SPWM Resolution DutyVar VAR byte[4] ASM SPWM_LIST macro ; Define Pin's to use for SPWM SPWM_PIN PORTC, 2, _DutyVar ; and the associated DutyCycle variables SPWM_PIN PORTC, 5, _DutyVar+1 ; Notice the underscore before variables SPWM_PIN PORTC, 4, _DutyVar+2 SPWM_PIN PORTC, 3, _DutyVar+3 endm SPWM_INIT SPWM_LIST ; Initialize the Pins ENDASM ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler TMR1_INT, SPWMhandler, ASM, yes endm INT_CREATE ; Creates the interrupt processor ENDASM @ INT_ENABLE TMR1_INT ; enable Timer 1 interrupts ;_____________________________________________________________________________ Main: ADCIN 0, DUTYVAR[0] ADCIN 1, DUTYVAR[1] ADCIN 2, DUTYVAR[2] ADCIN 4, DUTYVAR[3] GOTO Main)
Now, is this louder using PWM or not? this is why i asked for a variable supply before.
If it's better, we could still redesign the whole thing... same thing if you find a PWM frequency which reduce the noise.
Time for few tests on your side... even if you use few battery in serie![]()


)


Bookmarks