Showing posts with label it. Show all posts
Showing posts with label it. Show all posts

11/13/2020

Pololu Micro Maestro 6 DIY Generator Governor

in 2017 I built a small 200 watt DC generator powered by an Echo GT-1000 string trimmer engine. Here is the playlist for that.

 

If you don't want to watch the whole thing you can watch a wrap up video here:

The biggest problem was that it did not have a governor and so is mostly useless. I could have made one with an arduino or something like that, but I kind of think that's like using a cray to balance your check book. Gensets were out of the question as being too expensive and way to big.

Recently I found a device called the Pololu Micro Maestro 6 It can control 6 servos or any combination of 6 buttons, sensors, and/or POT's. 

Here is the full build:

The most difficult part of this was the script. The script language is basically Fourth. I will provide a more detailed explanation of the program at a later date.

This is the most current script that works:

100 #this does nothing
top:
8800 0 servo # Move servo to middle position
begin
  button # is button on or off
    if #on proceed with program
      too_low # Check if throttle is too low
100 delay
      too_high # check if throttle is too high
    else #off keep checking for on and reset the servo if it was moved.
      goto top
    endif
repeat

sub too_low
  5 get_position 750 less_than #check the voltage is it below X
    if 0 get_position minus 10#if voltage is too low get position of servo and subtract 100
      over # not sure how this helps
      negate
      0 servo # move the servo to the new position
      10 delay # wait
    else  #if voltage is fine do nothing
      goto skip
    endif
swap # not sure why but the program won't
drop # work without these commands
skip:
return

sub too_high
  5 get_position 900 greater_than #check the voltage is it above X
    if 0 get_position plus 10 #if voltage is too high get position of servo and add 100
      over # not sure how this helps
      0 servo #move servo to new position
      10 delay #wait
    else #if voltage is fine do nothing
      goto skip2
    endif
swap # not sure why but the program won't
drop # work without these commands
skip2:
return

sub button
  2 get_position 500 less_than
return

-----------------------------

this video has the explanation of the script above

 

Bonus video