⚠️ This forum has been restored as a read-only archive so the knowledge shared by the community over many years remains available. New registrations and posting are disabled.

All times are UTC + 8 hours




Post new topic Reply to topic  [ 562 posts ]  Go to page Previous  1 ... 31, 32, 33, 34, 35, 36, 37, 38  Next
Author Message
PostPosted: Jan 31st, '13, 21:59 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
Continuous rotation, or are you gong to rock it back and forth? *

I thought about both, but settled on the motor gearbox I already had.

I have since bought a few more motors.

And battery packs.

And a back scratcher.


Nice dynamic drill footage BTW. I'm a bit of a fan of dynamic power tool footage :)




*I like using the phrase "continuous rotation" when talking about servos, because it's only recently I have known of such things.


Top
 Profile  
Reply with quote  
    Advertisement
 
PostPosted: Feb 1st, '13, 05:44 
Legend Member
Legend Member
User avatar

Joined: Jun 21st, '12, 06:51
Posts: 545
Gender: Male
Are you human?: YES
Location: Australia, WA, Beldon
Yeah continuous rotation. Still a ways to go yet, before being installed...

Are you powering yours from batteries or a plugpack?


Top
 Profile  
Reply with quote  
PostPosted: Feb 1st, '13, 14:43 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
From an old nokia phone charger from a 5110.

7+ volts, 500mA from memory.

I knew it would come in handy one day. I must remind Mrs Bullwinkle that I said it would all those years ago :)

Now, what to do with all the others :)


Top
 Profile  
Reply with quote  
PostPosted: Feb 1st, '13, 22:38 
Legend Member
Legend Member
User avatar

Joined: Jun 21st, '12, 06:51
Posts: 545
Gender: Male
Are you human?: YES
Location: Australia, WA, Beldon
Well that was a spectacular failure.

It turns out that it's REALLY hard to aug when the spring is very close to the diameter of the pipe. All it does is push the servo out backwards.

Back to the drawing board :-(


Top
 Profile  
Reply with quote  
PostPosted: Feb 1st, '13, 22:48 
Legend Member
Legend Member
User avatar

Joined: Jun 21st, '12, 06:51
Posts: 545
Gender: Male
Are you human?: YES
Location: Australia, WA, Beldon
... However using 20 mm water pipe (which is way bigger internally than electrical conduit) we have success!!!!


I now have fish food all over the floor.


Top
 Profile  
Reply with quote  
PostPosted: Feb 1st, '13, 23:00 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
Sweet!

I also have fish food all over the floor, because I thought I'd finally get around to drilling holes in the PVC for my LEDs, so detached the tape from the system, walked away, and left the lever and some wire caught between the plastic part of the IBC, and the metal part of the IBC.

I just that second invented the detachable fish activated lever.

Better late than never I guess.


And this...

It probably doesn't really come into the equation, but water pipes are probably zinc or copper.

Either one might be bad, but kudos for getting the wire thing to work!


Top
 Profile  
Reply with quote  
PostPosted: Feb 1st, '13, 23:04 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
nebbian wrote:
Well that was a spectacular failure.

It turns out that it's REALLY hard to aug when the spring is very close to the diameter of the pipe. All it does is push the servo out backwards.

Back to the drawing board :-(


I just thought about this, and I guess it's obvious in hindsight, but when you PUSH with a spring with any resistance, it tries to unwind, making it larger in diameter.


Top
 Profile  
Reply with quote  
PostPosted: Feb 2nd, '13, 07:29 
Legend Member
Legend Member
User avatar

Joined: Jun 21st, '12, 06:51
Posts: 545
Gender: Male
Are you human?: YES
Location: Australia, WA, Beldon
BullwinkleII wrote:
Sweet!


It probably doesn't really come into the equation, but water pipes are probably zinc or copper.



Sorry, water pipe as in PVC water pipe, as opposed to PVC electrical conduit.

20 mm conduit is much smaller than 20 mm water pipe. I love standards.


Top
 Profile  
Reply with quote  
PostPosted: Feb 6th, '13, 16:31 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
I found this today as an even better switch to use as the foundation of the fish lever

The one on the left is the one I am using now.

Image


Top
 Profile  
Reply with quote  
PostPosted: Jul 29th, '13, 18:35 

Joined: Jul 29th, '13, 17:40
Posts: 1
Gender: Male
Are you human?: YES
Location: Portugal
Hi all, this is my first post.

I was looking for some Picaxe related stuff and found this post.

Sorry to ask BullwinkleII, why don't you use a Darlington Driver IC (like ULN2003
or ULN2803 ) as suggested in picaxe_manual3 pag. 7?

Best regards

Xixas


Top
 Profile  
Reply with quote  
PostPosted: Apr 17th, '14, 21:32 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
Xixas wrote:
Hi all, this is my first post.

I was looking for some Picaxe related stuff and found this post.

Sorry to ask BullwinkleII, why don't you use a Darlington Driver IC (like ULN2003
or ULN2803 ) as suggested in picaxe_manual3 pag. 7?

Best regards

Xixas



Opps sorrry Xixas. For some reason I missed that post.

Only because it looked complicated and I didn't have one :)

I now have a few and would probably use one next time.


Top
 Profile  
Reply with quote  
PostPosted: Apr 21st, '14, 22:54 
Newbie
Newbie

Joined: Apr 21st, '14, 11:25
Posts: 23
Gender: Male
Are you human?: YES
Location: Georgia United States
Hello BullwinkleII,

I am attempting to build an on-demand fish feeder based on your model (I appreciate you posting the schematic for it on your blog) and had several questions about the circuit construction and supplies needed.

What do the small rectangles connected to C2, C4, and B3 represent?

Would a zener diode (Radio Shack 276-0563) work for the flyback diode connected to the motor?

Would cadmium-sulfide photocells Radio Shack 276-1657 work for the light dependent resistor?

For the regulator, do you think +12VDC Voltage regulator Radio Shack 276-1771 would work?

Thank you very much :)


Top
 Profile  
Reply with quote  
PostPosted: Apr 22nd, '14, 03:56 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
tigger03 wrote:
Hello BullwinkleII,

I am attempting to build an on-demand fish feeder based on your model (I appreciate you posting the schematic for it on your blog) and had several questions about the circuit construction and supplies needed.

What do the small rectangles connected to C2, C4, and B3 represent?

Would a zener diode (Radio Shack 276-0563) work for the flyback diode connected to the motor?

Would cadmium-sulfide photocells Radio Shack 276-1657 work for the light dependent resistor?

For the regulator, do you think +12VDC Voltage regulator Radio Shack 276-1771 would work?

Thank you very much :)


My project uses a PICAXE chip and there is some good information available on their site


Are you part of the school that's working on an aquaponics demand feeder project? If so, where are you based (just out of interest)

I'll invite some people to answer you questions because in spite of actually making the thing, I used all these other peoples brains to do it. Generally speaking, I find other people's brains work extraordinary well.

Can you quote the post referring to C2, C4, and B3 so I can tell which bits your referring to...

Or just use the latest version I can find on my system looks like this...

Attachment:
Demand feeder 2012 12 17 0312.jpg
Demand feeder 2012 12 17 0312.jpg [ 162.27 KiB | Viewed 5484 times ]


The free PICAXE simulation software
9windows simulates, mac and linux is just an editor) is available here...

windows ... http://www.picaxe.com/PE6

mac and linux ... http://www.picaxe.com/Software/PICAXE/AXEpad

and the easy to read manuals can be found here...

http://www.picaxe.com/Getting-Started/PICAXE-Manuals/



and the last version of the code ( I seem to remember this code threw some errors after running for a while but it still might be useful) I could find looked like this...

Code:
#rem

Demand Fish Feeder Picaxe 20M2 Version 2012 12 19 2330
{

----------------------------------------------------------------
NO RIGHTS RESERVED
----------------------------------------------------------------
This project is an open source demand fish feeder.
All aspects of the project are open source, including software, and hardware (both
electronics, and actual PVC delivery device) and are given freely to the world without
 limitation or any claim to usability, functionality, or any claim to anything else.
Enjoy at your own risk.

The very long variable (symbol) names are an attempt to make the program readable in English
 for people who are not familiar with code.

Report LEDs flash out their information using a long flash for 10s (actually long with a
tiny blip at the end), a short flash for single digits, and a medium length strobe for zero.
so...
  23 is long long short short short
  30 is long long long med strobe
 
#endrem
}

#NO_DATA     'sets the editor to NOT look for data during upload to save a second or two
#PICAXE 20M2 'The chip in use
''#SIMTASK 2   'tasks provide turn by turn psudo multitasking. This sets which task is
             'simulated during debugging
             

           
'------------ Symbols ------------------------------------------

{
'Pins ----------------------------------------------------------
   'Left hand side of the chip
   Symbol FeedMotor = c.7 'the motor that turns an auger to diliver feed
   Symbol FishActivatedLever = pin6 'a momentary switch the fish press when they want food
   Symbol FeedIsAvailableLED = c.5 'an LED that tells the fish feed is available
   Symbol ReportFeedsPerDaySettingLED  = C.4
   Symbol ReportFeedSizeSettingLED = C.3
   Symbol IllegalFeedAttemptsLED = c.2 '
   Symbol ReportHoursSinceDawnLED = c.1
   
   
   'Symbol    c.0
   
   'Right hand side of the chip
   'Symbol    b.7
   'Symbol    b.6
   'Symbol    b.5
   symbol ReportFeedsSoFarTodayLED = b.4
   Symbol LightDependantResistor = b.3 'to make the dawn light required adjustable
   Symbol FeedNowButton = pinB.2 'overrides the feed restrictions, and lights the fish light
                     'also used when booting to flag a normal start
   Symbol SetFeedsSizePot = b.1
   Symbol SetFeedsPerDayPot = b.0

'The following Symbol lines assign a word, byte, or bit sized memory location to a name
'veriables starting with s3_ indicate the variable is used in Start3
'--------------------------------------------------------------------------------------
'word variables use 2xBytes and store values between 0 and 65535 ----------------------
'-----w1 and up --------------------
   Symbol UsedAsBitVariables = W0
    ''symbol FeedSizePotValue = w1
   ''Symbol FeedsPerDayPotValue = w2
   Symbol FeedSizeAtTheMotor = w1 'in milliseconds
   Symbol SecondsBetweenFeeds = w2
   Symbol MinutesBetweenFeeds = w3

'-- do not overlap Word variables (above) and Byte variables (Below)----

'Byte variables store values from 0 to 255 --------------------------------------------
      Symbol FeedsPerDayPotValue = b12
   symbol i = b13
   symbol FeedSize = b14
symbol FeedSizePotValue = b15
   Symbol FeedsSoFarToday = b16
   Symbol Start3SelectedLED =b17 'used in start3 to report using different LEDs
   Symbol ItemToReportStart12 = b18 'used in start3 to report different reports
   symbol ItemToReportStart1Start3 = b19 'used in start3
   symbol Counter = b20
   ''Symbol NearlyADay = b16
   ''Symbol HoursSinceDawn = b17
   ''symbol LightReading = b18
   symbol s3_IllegalFeedAttempts = b21
   Symbol FeedsPerDay = b22
   ''Symbol s3_FeedsSizePotValue = b21
   Symbol s3_Counter1 =b23
   Symbol s3_Counter2 = b24 'used in start2
   Symbol s3_counter3 = b25

   Symbol s3_DataToReport = b26
   Symbol s3_LedToUse = b27

'byte variables (above) range from b27 and down ---------------------------------------


'bytes b0 and b1 (w0) reserved as single bit flags -- bit 0 - 15 ----------------------
'Bit variables are b0 to b15-----------------------------------------------------------
   Symbol IsFeedAllowed = bit0
   Symbol AbnormalRestart = bit3
   Symbol BootTypeSelected = bit4
   symbol IsBootTypeSelected = bit5

'Constants------------------------------------------------------
'The NearlyADay variable is a variable so I can make them shorter when
' testing the program
   ''let NearlyADay = 23 '23 hours before we start chacking for dawn

' Initialise --------------------------------------------------   
   s3_counter3 = 1
   
'Fake inputs for debugging-------------------------------------=== DEBUG ONLY DELETE THIS
   ''let FeedSize = 15 '1500 = run the motor for one and a half seconds
   ''let FeedsPerDay =24 'large number for testing as I cant wait all day
   


}

Main: 'This is run when the device starts
 pause 1000
   ''let BootTime = Time
   Let IsBootTypeSelected = 0 'boot type not yet selected
   let AbnormalRestart = 1'default to abnormal unless there is human intervention   
 
   Let FishActivatedLever = 0
   let IsFeedAllowed = 1
   let s3_IllegalFeedAttempts = 0
   let FeedsSoFarToday = 0
   
   
   high FeedIsAvailableLED
   ''let ReportPause = 4000

MainLoop: 'this section gets repeated throughout the a day.
{
      'check to see if the required pause between feeds has passed
      
      
      do

   
      ''let Time = 0 'reset and stert counting up to one hour again
      let IsFeedAllowed = 1
      high FeedIsAvailableLED
   
      if FishActivatedLever = 0 and IsFeedAllowed = 1 then '1 is yes, 0 is no
      
         Do Until FishActivatedLever = 1 :Loop 'pause here until the lever is released
         low FeedIsAvailableLED
         high FeedMotor 'turn on the feed motor
         pause FeedSizeAtTheMotor 'leave it one for the number of milliseconds stored in FeedSize
         low FeedMotor  'turn off the motor

         let IsFeedAllowed = 0
         low FeedIsAvailableLED
         let FeedsSoFarToday = FeedsSoFarToday + 1
         exit
      end if

      if FishActivatedLever = 0 and IsFeedAllowed = 0 then

         Do Until FeedNowButton = 0 :Loop
         
         pause 300

         s3_IllegalFeedAttempts = s3_IllegalFeedAttempts +1
exit
      endif


   loop
      
pause 1000 ''to make sure variables get populated
      For i = 1 to MinutesBetweenFeeds
          pause 60000 ''should be 60000 to pause for 60 seconds each pass
       next i
   
   

   
goto mainloop   

end
}

'Main Subroutines ----------------------------------------------------------------------
{'---------------------------------------------------------------------------------------
   'nothig to see here
}
'====================================================================================================================

Start2:
do
   
   'read the value of the pots into the variables
      ReadADC SetFeedsPerDayPot,FeedsPerDayPotValue
      ReadADC SetFeedsSizePot,FeedSizePotValue
   
   'Mess about with the various forms of the FeedSize to make it right for the motor or the report LED
   ''The pot returns values from 0 - 255 depending on the user input via a screwdriver
   ''The motor likes values in the thousands. 1000 = 1 second
   ''The report LEDs work best with values under 100
   ''So we adjust the values for the motor, and so the user can easily read changes made on the Report LED
      Feedsize = FeedSizePotValue / 10
      FeedSizeAtTheMotor = FeedSizePotValue * 20
   
   'Adjust Feeds per day value so it reports better
      FeedsPerDay = FeedsPerDayPotValue /2
      
      
   Let MinutesBetweenFeeds = 1440 / FeedsPerDayPotValue '1440 minutes in a day


   
   
   
   
   ''if FeedNowButton = 1 and FeedsSoFarToday < FeedsPerDay then
      ''let IsFeedAllowed = 1
   ''endif

loop

'====================================================================================================================
Start3: 'third program flow reports the values of HoursSinceDawn, and FeedsSoFarToday in turn.
{


 do
   select s3_counter3
       Case 1
          s3_DataToReport = FeedsPerDay
          s3_LedToUse = ReportFeedsPerDaySettingLED
          goto s3_report
          s3_counter3 = s3_counter3 + 1
 
       Case 2
          s3_DataToReport = FeedSize
          s3_LedToUse = ReportFeedSizeSettingLED
          goto s3_Report
          s3_counter3 = s3_counter3 + 1
         
      Case 3
            s3_DataToReport = s3_IllegalFeedAttempts
          s3_LedToUse = IllegalFeedAttemptsLED
          goto s3_Report
          s3_counter3 = s3_counter3 + 1
         
       Case 4
            s3_DataToReport = FeedsSoFarToday
         s3_LedToUse = ReportFeedsSoFarTodayLED
         goto s3_Report
         s3_counter3 = s3_counter3 + 1
       
       ''Case 5
           ''s3_DataToReport = HoursSinceDawn
         ''s3_LedToUse = ReportHoursSinceDawnLED
         ''goto s3_Report
         ''s3_counter3 = s3_counter3 + 1
       
       case 5
             let s3_counter3 = 1
    Endselect
    
 loop
 

 
 


 
 
 
 }

s3_Report:
{
 
   
   pause 500 'pause for the desired time between each report
   if s3_DataToReport = 0 then
      goto FlashZero
 
   endif
   s3_Counter2 = s3_DataToReport/10          'isolate tens
   for s3_Counter1 =1 to s3_Counter2           'flash tens
      if s3_Counter2=0 then
         goto  Remainder
 
         exit
      end if
      high s3_LedToUse
      pause 800
      low s3_LedToUse
      pause 40
      high s3_LedToUse
      pause 40
      low s3_LedToUse
      Pause 780      
   next s3_Counter1
 
   Remainder:
   s3_Counter2 = s3_DataToReport//10          'isolate remainder
   for s3_Counter1 =1 to s3_Counter2           'flash units
      if s3_Counter2=0 then
         goto FlashZero
 
      end if
      high s3_LedToUse
      pause 200
      low s3_LedToUse
      pause 200
   next s3_Counter1
   goto SkipZero

   FlashZero:
      high s3_LedToUse
      pause 30
      low s3_LedToUse
      pause 30
      high s3_LedToUse
      pause 30
      low s3_LedToUse
      pause 30
      high s3_LedToUse
      pause 30
      low s3_LedToUse
      pause 30
      high s3_LedToUse
      pause 30
      low s3_LedToUse
      pause 30
      high s3_LedToUse
      Pause 30
 
   low s3_LedToUse
   
   SkipZero:
 
   s3_counter3 = s3_counter3 + 1
      
      

goto start3
'return   <===== this and a DO, threw a stack error but only after working a few times
}




Top
 Profile  
Reply with quote  
PostPosted: Apr 22nd, '14, 04:12 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
If I were to run a school project, I'd start with a feeder that just fed based on the fish hitting the switch (if you cant find the long switches where you are, let me know in a pvt and I'll send you one)

I'd restrict the amount of feed based on the amount I put in the hopper. ie I would load one day's worth of feed into the hopper each day of an amount that would not overload the system.

Then I'd add the other functions one by one.

I'd add the extra functions by building them one by one on a separate circuit board that plugs into the main board.

When I built mine (I'm a total electronics beginner) I found that there was a massive confusion where I had no idea if my problems where software based or based on the fact that I tend to spill solder across tracks/make dry joints, and cant find where my problems are.

Creating the different functions in separate plugin boards might make that problem a bit easier to solve.

Make modular code and modular plugin boards.

Look at me. I gave someone electronics advice!

If anyone gives counter-advice you should listen to them rather than anything I say (but only on this topic :) ) . I really have very little idea what I'm talking about, but trust me when I say that the other people who will bring input to your project are really worth listening to. There is a huge array of talent that is about to be at your disposal.


Top
 Profile  
Reply with quote  
PostPosted: Apr 22nd, '14, 05:19 
Seriously, this cant be healthy.
Seriously, this cant be healthy.
User avatar

Joined: Mar 26th, '10, 20:46
Posts: 5404
Location: South Australia
Gender: Male
Are you human?: Yep
Location: South Australia
tigger03 wrote:
Hello BullwinkleII,

I am attempting to build an on-demand fish feeder based on your model (I appreciate you posting the schematic for it on your blog) and had several questions about the circuit construction and supplies needed.

What do the small rectangles connected to C2, C4, and B3 represent?

Would a zener diode (Radio Shack 276-0563) work for the flyback diode connected to the motor?

Would cadmium-sulfide photocells Radio Shack 276-1657 work for the light dependent resistor?

For the regulator, do you think +12VDC Voltage regulator Radio Shack 276-1771 would work?

Thank you very much :)



I think I found the diagram you are referring to with the components connected to C2, C4, and B3.

They are pots potentiometers ... basically a volume knob.

They are used in this case to set things like the maximum number of feeds per day, the duration that the feed should spill out for each time it's triggered, and whatever the other one does :)

By adjusting the pot, you adjust the resistance and as a result can send a readable value to the chip. Like volume on a TV. Zero might mean dont feed, 255 might mean feed 17 times a day. Or six. All depending on how you work your software.

So they act as adjustable inputs into the system in the field. The values that are set are reported by the LEDs. You turn the "Feeds_per_day" pot and see the result of the value in the LED that reports it's setting. Three feeds per day reports as three short flashes, twenty one reports as two long, and one short flash.

So basically you have some volume knobs that allow you to set values that the program will use. Otherwise you would need to connect the device to your computer and re-program the chip every time you wanted to make an adjustment. The components I used where like a tiny version of a volume knob. but that you use a screw driver to adjust. You could also use a component more like the kind of thing you would find on my grandma's TV volume control. (if I still had any grandmas).


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 562 posts ]  Go to page Previous  1 ... 31, 32, 33, 34, 35, 36, 37, 38  Next

All times are UTC + 8 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron

Powered by phpBB® Forum Software © phpBB Group
Portal by phpBB3 Portal © phpBB Türkiye
[ Time : 0.084s | 16 Queries | GZIP : Off ]