Looking at the hardware developer pdf, it looked like the EV3 should output a PWM signal with a duty cycle corresponding to power level. It does, but only for 100ms and only on pin 1.

Is that how the signal should look or is it because the EV3 know there's no motor attached?

I'd like to do this all in hardware if that's at all possible.

up vote 0 down vote accepted

The hardware solution is to simulate the motor circuit on pins 5 and 6.

snippet of official LEGO motor schematic

There is a YouTube video by TechnicRobot that shows one way to do this.

wiring diagram from video

I'm not sure I understand completely the logic behind this wiring. Personally, I would just connect pin 6 to pin 3 directly and connect pin 5 to pin 3 using a 3.3k resistor so that it exactly matches one of the 4 possible states of an EV3 Large motor.

When you do this, the EV3 will detect your motor as an EV3 Large Motor. However, you shouldn't use the Large Motor blocks in the EV3 software. Since this hardware hack won't provide a position feedback signal, those blocks won't work correctly. Instead, use the Unregulated Motor block (one of the blue "advanced" blocks) to control the PWM duty cycle.


To get a PWM signal on pin 2, simply run the motor in reverse. It is not possible to get a PWM signal on both pin 1 and pin 2 at the same time using the official LEGO firmware.


For anyone looking for a software solution rather than a hardware solution, there are some similar questions that should be helpful:

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.