Lynxmotion Tech Support

www.lynxmotion.com
Join the Accelerator Program
It is currently Thu Jun 20, 2013 4:16 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Thu Mar 22, 2012 1:53 am 
Offline
Roboteer

Joined: Mon Feb 13, 2012 11:10 pm
Posts: 20
Location: Aruba
Good morning, thank you for the very explicit responses to my questions and comments, after my costly mistake I want to avoid a repeat incident. So in regards to connecting 12 Volts to the BB2 I want to give accurate details as to the actual Voltage the BB2 would see when connected to the cars 12 volt system. The car will have a 96 volt nominal lead acid battery pack. To accommodate the normal electrical system, Lights , radio, etc. I will have a CleanPower 96V DC-DC converter installed that basically takes the 96V from the battery pack and reduces it to supply power to the normal 12V system of the car. this eliminates the need for a separate 12V battery that would have to be recharged separately from the HV pack. Here is the link for it. https://www.thunderstruck-ev.com/cleanp ... dc-dc.html , and the specs below so you can see them right away.
IpDCIS-9612 Specifications:
Input Voltage: 80V~130V
Output Voltage: 13.8V@30A(Can be used to charge battery)
Max Output Current: 32A @11V(typical)
Maximum Efficiency: ≥ 90%
Environmental Enclosure: IP68
Shock and Vibration: SAEJ1378
Safety-North America: UL2202/UL1564 2ND Edition
Emissions- North America: FCC Part 15/ICES 003 Class A
Immunity-Europe: EN61000-4-2/3/5/6/11
Operating Temperature: -20 celsius degree~50 celsius degree(-22-122)

Would the 13.8V still be safe? Right now for testing that is not an issue, but in case it is an issue when the BB2 gets installed in the car then I want to have a solution in place for when the time comes. I also realized after going over your code that I gave a pot position for Reverse, when in fact it no longer exists in the gearbox. At this point it is really of no consequence on the test rig.
With a bit of luck I might have the new controller on Friday afternoon. BTW, I like you Beer Bot, Maybe after the EV project I will build me a Rum Bot. It will have to be a heavy duty version to be able to handle the daily Aruba happy hours. (1/2 gallon bottle capacity.) Finally I will be able to put my engineering degree to good use. LOL. Life is good, I just wish there were 30 hrs in each day. I could use the extra 6 hrs to get some sleep, but I would probably just find more things to do.
have a wonderful day!!


Top
 Profile  
 
PostPosted: Thu Mar 22, 2012 9:35 am 
Offline
Lynxmotion Founder
User avatar

Joined: Mon Oct 31, 2005 10:46 am
Posts: 9325
Location: my quiet place
Yes I am aware of the 12vdc spec as meaning up to 13.8vdc. The regulator on the Bot Board II would need to provide about 30mA without anything extra, LED's or other devices powered by the 5vdc. So 13.8 - 5 = 8.8vdc dropped across the regulator. 8.8 x .03 = .264 watts. I went ahead and powered one up with 13.8 and the regulator is warmed slightly. Should not be an issue. But if you start adding things to the 5vdc line the heat could be an issue.

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


Top
 Profile  
 
PostPosted: Fri Mar 23, 2012 2:01 am 
Offline
Roboteer

Joined: Mon Feb 13, 2012 11:10 pm
Posts: 20
Location: Aruba
Hi Jim, Thank you again for your clarification. I have no doubts at all in your expertise regarding my concern with the 13.8V question. In fact, I ask you these questions because you are the expert and I am totally new to this, and my concerns were based on limits mentioned in the product hardware information pdf, and of course my mistake with the motor controller wire connection. The literature was very explicit in warning about this, so I had no reason to doubt the 9V limit for the BB2.
I really appreciate you're time and effort in helping me, so please do not reply to this post. I just feel the need to justify my questions. My question about PREV was because you also used BUTTON as a variable. I remembered seeing the Button command and looked it up and it had to do with what you explained about the bouncing. instead of realizing you had used it as a variable name and that it was not a command, I assumed it was a command and then figured PREV was also a command that I could find no reference to. Hence the question. I apologize for taking up your time, with this post, but if you ever come to Aruba I will make it up to you. My shipper said i would get the new controller Friday afternoon. I hope so, otherwise it is going to be a very long weekend,
have a wonderfull day.


Top
 Profile  
 
PostPosted: Mon Mar 26, 2012 2:46 am 
Offline
Roboteer

Joined: Mon Feb 13, 2012 11:10 pm
Posts: 20
Location: Aruba
OK, Back again. I did get the new Syren Friday PM, and this time I set everything up nicely with plugs, inline fuse, and on/off switches to avoid mistakes. I loaded the code you sent me Jim, no errors, but nothing happened. So, I started analyzing and making changes. Well Jim , now I'm convinced you are testing the new guy to see if he can solve problems or just wants the answer on a silver plate. Well, I enjoy the challenges of problems like this. It's so much more satisfying to have been part of the solution. The reason I say you involved me in the process is that there were some obvious bugs in the code that would stand out by just reading thru the code. I'm referring to you specifying pin 2 in the pulsout of the third IF..THEN on each of the select gear sub routines instead of pin 4. Unfortunately it did not work after correcting this. It did get me going on my quest to get this code to work. so after working on this till 4:30 AM on both Friday and Saturday night, I realized that I got it to work, and went to bed. I fine tuned a bit today, and I actually have a working solution. It's right on the money.
Thank you so much Jim. All joking about you testing me aside, the codes you sent me were exactly what I needed, and after working out the bugs I now have a much better understanding of how the code works. Here is the code that works as of today. I know there will be more changes.

Code:
pot_position var word '<- sets up the variable for storing the pot value.
    time var word
    gear_A con 961 '6th gear
    gear_B con 803 '5th gear
    gear_C con 682 '4th gear
    buttonA var nib '<- nibble variable holds 0-1.
    buttonB var nib
    buttonC var nib
    prevA var nib
    prevB var nib
    prevC var nib
    deadband con 5 '<- we want this as low as will reliably operate.
    gain con 4

    loop:
    buttonA = in12
    buttonB = in13
    buttonC = in14
      if (buttonA = 0) AND (prevA = 1) then
         gosub select_gearA
      endif
      if (buttonB = 0) AND (prevB = 1) then
         gosub select_gearB
      endif
      if (buttonC = 0) AND (prevC = 1) then
         gosub select_gearC
      endif

    prevA = buttonA
    prevB = buttonB
    prevC = buttonC
    goto loop

    select_gearA:
       low 4   
    gosub get_pot_position
    time=2870 + gain*(pot_position - gear_A)
      if (pot_position < (gear_A + deadband)) AND (pot_position > (gear_A - deadband)) then
       pulsout 4, 2870 '<- stop the motor if running     
      endif     
      if pot_position > (gear_A + deadband) then
       pulsout 4, time
      endif           
      if pot_position < (gear_A - deadband) then
       pulsout 4, time
      endif       
      goto select_gearA

    select_gearB:
       low 4
    gosub get_pot_position
    time=2870 + gain*(pot_position - gear_B)
      if (pot_position < (gear_B + deadband)) AND (pot_position > (gear_B - deadband)) then
       pulsout 4, 2870 '<- stop the motor if running     
      endif     
      if pot_position > (gear_B + deadband) then
       pulsout 4, time
      endif           
      if pot_position < (gear_B - deadband) then
       pulsout 4, time
      endif
      goto select_gearB
     

    select_gearC:
       low 4
    gosub get_pot_position
    time=2870 + gain*(pot_position - gear_C)
      if (pot_position < (gear_C + deadband)) AND (pot_position > (gear_C - deadband)) then
       pulsout 4, 2870 '<- stop the motor if running     
      endif           
      if pot_position > (gear_C + deadband) then
       pulsout 4, time
      endif           
      if pot_position < (gear_C - deadband) then
       pulsout 4, time
      endif
      goto select_gearC

    get_pot_position:
    adin 0, pot_position
    serout s_out,i9600,["Analog input reading:",dec pot_position,13]   
    return 


The way it is now there are only 2 slight problems.
first one is that I have to reset before i can select a different gear position. I guess once it's stopped at a position it keeps running the loop. This is actually good, because it causes the motor to counteract any movement that could possibly cause the gearbox to pop out of gear.
the second one is a problem that i have to correct. the way I have the proportional control set up, once the new gear position is further away the base time + proportional time exceed 4000, and the motor either stops or drops to a very slow speed until it's close enough to drop below either 4000 or above 2000. I'm not sure how I am going to adjust that yet. the final hurdle I solved that had me all confused was when at 4:00 AM I figured out that for whatever reason the pulse value that stopped the motor in my case was 2870 and not 3000. After I figured that out I got it working perfectly for the 3 gear positions on the gearbox itself. It's late again. Thanks for the guidance, I appreciate it very much. BTW, We are just getting started. LOL.


Top
 Profile  
 
PostPosted: Mon Mar 26, 2012 9:45 am 
Offline
Lynxmotion Founder
User avatar

Joined: Mon Oct 31, 2005 10:46 am
Posts: 9325
Location: my quiet place
Great report! I am not testing you. ;) I made sure it would compile, but I didn't have a full set up so I couldn't really test it.

The Atom processor uses a highly accurate crystal to base it's clock timing on. The motor controller uses a less accurate ceramic resonator as the clock. So it's stop pulse length will always be off by a little. You did exactly right in adjusting it to stop the motor. Sorry for not thinking about it before.

We need video!!! :)

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


Top
 Profile  
 
PostPosted: Mon Mar 26, 2012 3:56 pm 
Offline
Lynxmotion Founder
User avatar

Joined: Mon Oct 31, 2005 10:46 am
Posts: 9325
Location: my quiet place
Happy Birthday Andre! You are older than me, and I'm older than trees... lol :D

_________________
Jim Frye, the Robot Guy
http://www.lynxmotion.com
I've always tried to do my best...


Top
 Profile  
 
PostPosted: Fri Mar 30, 2012 1:40 am 
Offline
Roboteer

Joined: Mon Feb 13, 2012 11:10 pm
Posts: 20
Location: Aruba
hello again, and thank you for the birthday wishes. Just wanted to update. I been very busy, and with the knowledge that I will be able to change gears in my EV, will take afew days to catch up on some other stuff. I will get some video. Jim, I don't know if you have decals for Lynxmotion, but if you do I would like to get 2 to put on the car when it's finished. I'll be back.


Top
 Profile  
 
PostPosted: Tue Oct 16, 2012 1:12 am 
Offline
Roboteer

Joined: Mon Feb 13, 2012 11:10 pm
Posts: 20
Location: Aruba
Hi forum members, I am back after a long absence mostly due to having to much stuff to do, and also because I basically had a working solution to my initial reason for joining the forum at my last posting.
At that time it worked in a bench test situation. before I continue, I want to express my gratitude for all the input I received, but I especially want to thank Jim for not only supplying me with the hardware I needed, but also for helping me with a sample code that was the basis for me working out a code that in bench testing worked perfectly. Jim, I am sure you are reading this, so thank you. I also just read all about the change of ownership, and why you had to make that decision. I don't know the exact details, but from what I read you made the right choice. I remember you saying I was older than you, and I know how our bodies capabilities no longer are up to what we think they should do, so several years ago I also decided that it was time for me to put myself and my family before work etc.
I had planned on doing some traveling, but my life is now totally occupied by all the projects I have come up with. At least I am doing what I want to, and not busting my butt to keep others happy.
enough said. Enjoy doing whatever you will be doing, but I am pretty sure that will include this forum.
Ok, I am sure you all realize I am back for a reason. Let me update. Over the past months I have put everything together in my EV conversion project, and my last hurdle was deciding on my battery pack. I really wanted Li-Fe-Po,($$$$$), and lead acid was payable but at such a weight penalty that I could not make my mind up. Remember also that lead acid is not cheap here in Aruba.
About 10 days ago I was telling the local FORD dealer about my RV conversion project, and he graciously offered to donate 8 MOTORCRAFT Deep Cycle Marine Batteries to me so I could complete my project. I was blown away, especially since my project car was not a FORD, but the next day I had my brand new batteries, and day before yesterday I actually drove my Smart ForTwo EV conversion around the neighborhood at 3 AM for the first time. It's actually really awesome. Crazy acceleration even with the heavy batteries, and almost no sound. You hear all the rattles and noises the car makes going over bumps in the road. More stuff to fix. Right now I have no idea which gear the car is in, but I think it's in 2nd gear. I have not yet hooked up the shifter module I made with this forums input, and here is why. I had a total hard drive meltdown on my laptop after an insane thunderstorm passed by. And yes, I had not backed up in a long time. So here is my dilemma. The only working version of my shifter code is in my AtomPro28 microprocessor, and there is also the last code that is posted on this thread that is unfortunately nowhere near my final working version. before I do anything I want to ask if it's possible to retrieve the code that is currently loaded on the AtomPro28 microprocessor. I looked through the manual but have not found anything yet. Any input will be greatly appreciated. please tell me it's possible.
thank you
Andre Loonstra


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot] and 2 guests


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:  
Powered by phpBB® Forum Software © phpBB Group