Jump to content

Banner.jpg.b83b14cd4142fe10848741bb2a14c66b.jpg

brown_rb

Members
  • Posts

    117
  • Joined

  • Last visited

Everything posted by brown_rb

  1. Yes 10k pots, any will do. http://www.ebay.com/itm/2Pcs-10K-OHM-Linear-Taper-Rotary-Potentiometer-B10K-Pot-Knob-XH2-54-Wire-Cable-/191941882370
  2. Highly recommend you replace the push buttons with these - they are as solid as a rock and work significantly better http://www.ebay.com/itm/6Pcs-Mini-12mm-Waterproof-Momentary-ON-OFF-Push-Button-Round-Switch-/201538126654?hash=item2eec9bc33e:g:PAEAAOSwvgdW4C4V Congrats on getting it working.
  3. I guess the sawtooth lines represent a resistor. There are 4 resistors, 3 at 1.2K ohms and 1 at 1MegOhm There are 2 switches (probably has 3 pins, one pin in the center - if there are only 2 pins this is fine) . Take the first 1.2k resistor and we will call it R11. Wire one end to the resistor to 5V on the arduino. Take the next 1.2k resistor and we will call it R12. Wire one end of the resistor to GND on the arduino. Take the next 1.2k resistor and we will call it R13. Wire one end to the spare end of R11. We will call this join R11/R13. Take the spare end of R13 and wire it to the spare end of R12. We will call this join R13/R12. Solder a wire from the Join R11/R13 to the center pin of switch1 (if switch1 only has 2 pins wire the Join R11/R13 to any pin of Switch1). Solder a wire from the Join R13/R12 to the center pin of switch2 (if switch2 only has 2 pins wire the Join R11/R13 to any pin of Switch2). Solder the remaining free pin on Switch1 to the remaining free pin on Switch2. We will call this join S1/S2. Take one end of the next resistor 1M-Ohm which we will call R10 and wire one end to this join S1/S2. Take the spare end of the R10 resistor and solder it to the GND on the Arduino. Solder one end a wire to the Join S1/S2 and the other end of the same wire to A0 (Analog Pin 0) of the Arduino.
  4. As someone who has done both Bluetooth and Wifi (ESP8266) implementations for a focuser, I think that I have some experience both theoretical and actual to be able to comment. Whilst BT may be working at slow speeds or even up to around 57600, the short distances involved with BT are critical, as are bandwidth (other nearby Wifi-BT devices operating nearby). BT is not, by nature, an error free protocol. and error-recovery is limited. BT-4 is not yet widely available which can extend the range to 200m but is expensive and has a much higher overhead. BT is more suited to larger data exchanges rather than the very short messages (packets) that are sent and received by a focuser and its control application (read ascom driver or windows app) So hows does Wifi using an ESP8266 stack up against BT. Using TCP/IP as the underlying protocol means error free guarenteed transmission. Retries are automatic, all send data is acknowledge or resent. Range is well, limited by Wifi, but by some smart programming and use of something like DuckDNS you can control the focuser from the other side of the world. What about delays. Yes, if local operated, short, if long distance (through a number of routers) they can increase, but no that much that it becomes detrimental. After all focusers do not operate at blistering speeds and the real factor here is what sort of timeout delay is implemented in the focuser software before it times out or thinks the focuser is not connected. I have tested BOTH BT (since Jul 2015) and Wifi (since Feb 2016) options for focuser projects and think there is a place for both. I prefer to use Wifi now due to its error free guarented delivery and can use much higher serial speeds if required than BT which starts to decay once the speed is increased or the local wireless neighourhood bandwidth is becoming saturated (lI have around 19 local wifis in the neighbouthood as reported by Advanced IP Scanner). BT can be implemented cheaply if the computer already supports BT. For about $5 and some code time. Wifi around $10, and use the local network interface of the computer (does not have to be wifi if the focuser wifi controller is programmed to connect to a network at the focuser end). And if done right, another bonus - OTA (over the air) firmware updating....... error-free Cheers Robert
  5. Hi

    I am Robert, who produced the focuser project etc. And recommended the Nema17. I did not post on the thread because I am not going to start some flame war there. So these are my reasons to you for the recommendation.

    The reasons are simple. Yes, its heavy and big.

    So why did I recommend it.

    1. A stepper motor may be the most expensive single purchase, no point buying one then havong to replace it later

    2. To get enough torque it really needs to run off 12V

    3. The BY 5V geared motors are cheap, have a good deal of backlash, but if you are using a filter wheel and decent ccd, they DO NOT have enough torque to either move or hold the imaging train in place. May people go with those BUT they do not bother to test when the telescope is pointed to zenith, where the highest load is taking place.

    4. Why not the NEMA 14 or NEMA11. Good question, BUT, torque is a function of voltag e and current and resistance and magnetic force. You will find that the NEMA11 and 14 need HIGHER currents to get the same level of force as the Nema 17. Why? Because smaller maganets, less coil wires means less force, so to compensate for that you must increase the current. So the nema14 current is > 0.6 amps vs the Nema17 at 0.4A

    Does 200mA make a difference, yes, has implications on driver board choice but all HEAT is a factor of coil resistance, voltage and current, so that means the Nema11/14 will run much hotter than a NEMA17. This then has flow on effects to voltage supply, current loadin on the driver chip etc.

    The smaller motors will need to have coil power ON when not moving in order to hold a heacy imaging train in place (because torque etc is a function of size of motor, voltage, current etc etc). A larger motor always generates more torque. IS it overkill, probably not, it will work even for the most serious user.

    And yes, you can rotate the focuser so the stepper is upright over horizontal, so why would onebegin to compromise, the 11/14 are much the same cost as a 17 and if one ever got a heavier imagmeing rig then one would not have to shell out more money for another stepper.

    Anyhow, thats a brief summary of my position. Whilst a cheap one may work for some, I wanted to recommend one that works all the way from beginner to very serious.

    Cheers

    Robert

    https://sourceforge.net/projects/arduinoascomfocuserpro2diy/

     

     

    1. sulaco

      sulaco

      Hi Robert, thanks very much for taking the trouble to explain the choice of stepper. 

      I noticed with a smaller Nema 14 that the motor rotates freely with power of and was concerned that the imaging train might slip and throw off the step settings. 

      My main concern with the 17 was purely weight as I already struggle to balance the 130pds as it proves front heavy when set up. I felt happier with rotating the focuses 180• pushing the weight more centrally as I'm only using it for imaging. 

      I'm happier knowing what you've just explained. 

      You can can guarantee an opinion war when it comes to these subjects so I appreciate the PM. 

      Thanks and I'll let you know how I get on. 

      Campbell

  6. Hi Chris

    The focuser project on sourceforge that you seem to be talking about - uno + L293D and the ino file etc is not tekkydaves.... though he does have one on sourceforge the one you are referring to is definately not his

    It is a completely separate project, yes it has bluetooth, iR control, rotary encoder etc, and now wifi as well.

    Cheers

    Robert

    1. ChrisLX200

      ChrisLX200

      Oops Sorry Robert. This is just so confusing as there are so many different ones! Yes, R. Brown is the name I see so it is your sourceforge page after all!  I've been trying to keep to just one project source to avoid exactly this kind of thing.

      Chris

  7. Rotary Encoder InfraRed Controller Push Buttons LCD TFT ideas implemented and working on a different focuser, but not on AAF2, code and schematics there might help (be sure to give credit though if you intend to port these to AAF2) http://sourceforge.net/projects/arduinoascomfocuserpro2diy/ http://sourceforge.net/projects/arduinofocuscontrollerpro/ Cheers
  8. There is a misconception that driving via the 10 speed reduction is safe. This is not such a good idea, as the mechanics and manufacture of the mechanisms employed mean that they are not robust enough to have that level of force (from stepper motors) consistently applied to them - over time this results in increased wear and tear with more backlash, or if the focuser limits are exceeded, the complete breakdown of the fine focus mechansism - in other words, not a good idea. If you need to drive the fine focus mechanism (FFM) then it would be better using a belt drive to prevent damage in the event of exceeding the focuser limits. Regards
  9. You should really use flexible couplers - search ebay for "flexible coupler", as these reduce the stress load caused by any inertia jumps of the stepper and misalignment of the two shafts, as well as reduce vibration. http://www.ebay.com/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR0.TRC0.H0.Xflexible+coupler&_nkw=flexible+coupler&_sacat=0
  10. It means that once the eeprom limit is reached, the eeprom will not be able to store the data correctly, this may result in incorrect readings of focuser position on power up. Its more than likely once the limit approaches that some bits within the storage location fail first, so that storing something like a position of 1024 might then be read back as 513. In other words, unreliable. What effect this might have on the focuser operation is best answered by the author. There are many ways to overcome this issue. For example, only write to eeprom after a move operation, and after a time delayed (so that it is not triggered by autofocusing), and to cycle locations within the eeprom. These approaches I have taken in my own code, such that if one imaged every night of the year, yes, every night of the year, it would take over 9 continous years for the eeprom to reach the limit. Cheers Robert
  11. Hi Hugh I have uploaded the full schematic and full layout (still need the drv8825 sub-board) to the site under DRV8825 folder. Yes, the Focuserv125_DRV8825_F.ino supports LCD/push buttons/probe etc Cheers Robert
  12. I have added an Arduino based DC motor controller unit that has same functionality as RigelSys nFocus or JMI MicroMotor HandPad or FCUSB device. Its at http://sourceforge.net/projects/arduinofocuscontrollerpro/ in the files folder DC Focuser L9110S Full schamatic, code, windows app, layout, parts list, ascom driver etc to be posted. Cheers Robert
  13. Actually, the Nano which uses the FTDI chip suffers this issue. If you use the Nano powered by the CH340 chip, then there is no issue with the serial port and that Nano can be driven either using Vin or USB power. The CH340 drivers are readilly available for Win/Mac/Linux Cheers Robert
  14. Suggest the following code snippets for the eeprom #include <EEPROM.h> // needed for EEPROM#include "eepromanything.h" // needed for EEPROM// #define EEPROMSIZE 500 // ATMEGA168 512 EEPROM#define EEPROMSIZE 1000 // ATMEGA328P 1024 EEPROM// these are stored in EEPROM - all variables in a structurestruct config_t { int validdata; // if this is 99 then data is valid int fposition; // last focuser position int maxstep; // max steps} myfocuser;int datasize; // will hold size of the struct myfocuser - 6 bytesint nlocations; // number of storage locations available in EEPROMint currentaddr; // will be address in eeprom of the data storedbool writenow; // should we update values in eeprombool found; // did we find any stored values?long previousMillis = 0; // used as a delay whenever the EEPROM settings need to be updatedlong interval = 10000; // interval in milliseconds to wait after a move before writing settings to EEPROM, 10slong numwrites = 0; // number of eeprom writes this session// Default initial positions if not set/overriden by Ascom Driver or Winappint currentPosition = 5000; // current positionint targetPosition = 5000; // target positionint maxFocuserLimit = 32000; // arbitary focuser limitint maxSteps = 10000; // maximum position of focuserint maxIncrement = 1000; // maximum number of steps permitted in one moveint minimumPosition = 0; // minimum position to avoid focuser damageboolean isMoving = false; // is the motor currently moving// Setupvoid setup() { // initialize serial for ASCOM ............... found = false; writenow = false; datasize = sizeof( myfocuser ); // should be 6 nlocations = EEPROMSIZE / datasize; // for AT328P = 1000 / 6 = 166 locations numwrites = 0; for (int lp1 = 0; lp1 < nlocations; lp1++ ) { int addr = lp1 * datasize; EEPROM_readAnything( addr, myfocuser ); // check to see if the data is valid if ( myfocuser.validdata == 99 ) { // data was erased so write some default values currentaddr = addr; found = true; } } if ( found == true ) { // set the focuser back to the previous settings // done after this in one hit // mark current eeprom address as invalid and use next one // each time focuser starts it will read current storage, set it to invalid, goto next location and // write values to there and set it to valid - so it doesnt always try to use same locations over and // over and destroy the eeprom // using it like an array of [0-nlocations], ie 100 storage locations for 1k EEPROM EEPROM_readAnything( currentaddr, myfocuser ); myfocuser.validdata = 0; EEPROM_writeAnything(currentaddr, myfocuser); // update values in EEPROM numwrites++; // goto next free address and write data currentaddr += datasize; // bound check the eeprom storage and if greater than last index [0-EEPROMSIZE-1] then set to 0 if ( currentaddr >= (nlocations * datasize) ) currentaddr = 0; myfocuser.validdata = 99; EEPROM_writeAnything(currentaddr, myfocuser); // update values in EEPROM numwrites++; } else { // set defaults because not found myfocuser.validdata = 99; myfocuser.maxstep = 10000; myfocuser.fposition = 5000; // now write the data to EEPROM EEPROM_writeAnything(currentaddr, myfocuser); // update values in EEPROM numwrites++; } // Set focuser defaults from saved values in EEPROM. currentPosition = myfocuser.fposition; targetPosition = myfocuser.fposition; maxSteps = myfocuser.maxstep; .......}// Main Loopvoid loop() { // Move the position by a single step if target is different to current position if (targetPosition != currentPosition) { isMoving = true; writenow = true; // updating of EEPROM ON previousMillis = millis(); // keep updating previousMillis whilst focuser is moving } else { // focuser is NOT moving now, move is completed isMoving = false; if ( writenow == true ) { // time to update eeprom // decide if we have waited 10s after the last move, if so, update the EEPROM unsigned long currentMillis = millis(); if ( (currentMillis - previousMillis > interval) && (writenow == true) ) { previousMillis = currentMillis; // update the timestamp // copy current settings and write the data to EEPROM myfocuser.validdata = 99; myfocuser.fposition = currentPosition; myfocuser.maxstep = maxSteps; EEPROM_writeAnything(currentaddr, myfocuser); // update values in EEPROM numwrites++; writenow = false; } } clearOutput(); // release the stepper coils to save power }}
  15. I had a look at your eeprom code but believe you have some serious issues. EEPROM in the controller is somewhat limited to 10,000 writes. The way the code is written, this could be very quickly reached? As example, put a little counter in that increments each time the eeprom is written, then do an imaging session and at the end of the night just print out/dump how many times it was written (might need another serial command) - then divide 10,000 by that number and what do you get? The number of sessions before the eeprom will likely fail? Cheers Robert
  16. I mean running ASCOM_AAF2Setup.msi does NOT install the ascom driver.... only the executables .exe programs
  17. Hi Dave I ran your installer (Win7 64bit Ultimate) but ASCOM_AAF2Setup.msi only installs the application, it does install the ASCOM focuser driver necessary for the FOCUSAAF2.EXE program to talk to. Thats on my system. Is it possible to post the ascom focuser driver separately instead of part of the .msi I have the arduino code running but cannot seem to install the ,msi file properly so am missing the ascom driver Cheers robert
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.