~Russ
RE: EPG Testing sequential pulsar using the Arduino
« Reply #50, on May 26th, 2011, 04:35 PM »Last edited on May 26th, 2011, 04:36 PM by ~Russ/Rwg42985
Enjoy!
https://www.youtube.com/watch?v=lGsimCVKuFQ
Thanks ~Russ
Isolator Driver Schematic!
This is just the PCB and schematic, I will draw up the Arduino Schematic soon!
Let me know what you think! ~Russ
That is just going to be awesome!
I can see a use for this on my 10 cell series HHO project, when I get around to resurrecting it. lol I had planned on using my Thunderbird tail light sequencer set up to sequentially short out cells. Running at 12 volts is 1.2 volts per cell, so shorting out 2 or 3 cells raises the voltage on the remaining cells to get into production range. It is a pump through dry cell design, so the 'off' time for the shorted cells gives time for bubbles to be washed off the plates ready for its 'on' time with fresh electrolyte and full surface area. This code with the arduino will be awesome for changing on the fly and regulating cell voltage.
Nate
Think of some intresting pulse modes and add them! Lots of options for random pulse testing would be helpfull!
I vote for a Knight Rider style sequencing, just because. :D The wooshing noise would be a bonus. lol jkQuote from Rwg42985 on May 28th, 2011, 08:16 AM Think of some intresting pulse modes and add them! Lots of options for random pulse testing would be helpfull!
How about a sequencing that is an inverse style? The outputs would be sequenced off instead of on.
I got my Arduino Uno :-) and I have an LCD but not sure how it should be hooked up. It is a Displaytech 162A. I found the PDF for it here:
http://www.glyn.de/data/glyn/media/doc/162a%20series-v11.pdf
Will this work with pulsefire?
Nate
William!
I need a'n operaters manual... :)
The way this program work is actuley cinda complex for a simple user to operate, but that's to be expected as we/you build the code...
Right now I have a Copple of requests so I can start my testing! Tuesday or wensday!
One, how do I set this up so one pot will adjust the frequency of the pulsing, and the other pot will adjust the duty cycle.?
I get the train to do some stuff but I can't get each pulse or led to change correctly?
Then, pulse modes, on version .4 there was this 2 led pulse mode thing... I like that! Where did it go? Lol
Think of some intresting pulse modes and add them! Lots of options for random pulse testing would be helpfull!
This is so sweet and can't thank you enuf for your help! We should chat agin early next week for a walk threw! But for now how doni get that pot to work???
Thanks!!! ~Russ
train_loop==0
train_loop_delta==1
train_tcnt==2
train_tcnt_delta==3
train_clock==4
step_loop==5
step_loop_delta==6
step_tcnt==7
step_tcnt_delta==8
step_clock==9
pulse_steps==10
pulse_duty==11
pulse_mask==12
pulse_trigger==13
pulse_mode==14
pulse_init==15
pulse_seq_off==16
pulse_seq_type==17
pulse_seq_data==18
pulse_seq_len==19
lpm_start==20
lpm_stop==21
lpm_size==22
sys_lcd_time==23
sys_menu_time==24
sys_adc_time==25
sys_adc_jitter==26
sys_input_time==27
sys_input_delay==28
sys_start_secs==29
sys_start_duty==30
sys_conn_mode==31
sys_push_mode==32
I vote for a Knight Rider style sequencing, just because. :D The wooshing noise would be a bonus. lol jk
How about a sequencing that is an inverse style? The outputs would be sequenced off instead of on.
Nate, yes, that will work just fine!
Also, look at the beginning of the code for the pinout of the arduino. I will wright up a diagram soon!
Just look at the pinout of your data sheet.
There is also a demo on the Arduino web site that will get you going on understanding it!
Get back with you soon on the full schematic! But for now look at the beginning of the code!
~Russ
Thats a cool idea, have you tried that already and what was the increase ?Quote from firepinto on May 26th, 2011, 05:33 PM That is just going to be awesome!
I can see a use for this on my 10 cell series HHO project, when I get around to resurrecting it. lol I had planned on using my Thunderbird tail light sequencer set up to sequentially short out cells. Running at 12 volts is 1.2 volts per cell, so shorting out 2 or 3 cells raises the voltage on the remaining cells to get into production range. It is a pump through dry cell design, so the 'off' time for the shorted cells gives time for bubbles to be washed off the plates ready for its 'on' time with fresh electrolyte and full surface area. This code with the arduino will be awesome for changing on the fly and regulating cell voltage.
Nate
OK i'll check that out tomorrow.:-) I did a quick scan through the code but didn't notice. Sure looks like this wasn't easy for William to do! I guess it might look easier if you know how the code works. Only code I've half way taught myself is Visual Basic .net :-/ I'm looking forward to pulsing the 4 circuits of my Quad9 coil with this thing in sequencer mode. Rotational magnetic field? :cool:
OK so I have my LCD working and some LED's pulsing! I seem to have something backwards though because all the LEDs are on and pulsing off? I haven't figured out how to speed up the pulse train yet either. :s
Are your leds connected to ground ? for speed try train_loop or req_train_freq or map the variable to analog input for pot see prev post.Quote from firepinto on May 30th, 2011, 01:47 PM OK so I have my LCD working and some LED's pulsing! I seem to have something backwards though because all the LEDs are on and pulsing off? I haven't figured out how to speed up the pulse train yet either. :s
Dude! This thing is amazing! I can not thank you enuff will!Quote from txqNL on May 30th, 2011, 07:45 PM Are your leds connected to ground ? for speed try train_loop or req_train_freq or map the variable to analog input for pot see prev post.Quote from firepinto on May 30th, 2011, 01:47 PM OK so I have my LCD working and some LED's pulsing! I seem to have something backwards though because all the LEDs are on and pulsing off? I haven't figured out how to speed up the pulse train yet either. :s
Nate, I'm drawing up a schmatic for the Arduino tomorrow. Are u pulsing the LEDs from the arduino or from mosfets?
Thanks all!!! ~Russ
Oooooo..... Nice!!! Cant wait!!!!! Lost of hard work I can see!! Sweet!!! thank you!!! ~RussQuote from txqNL on May 15th, 2011, 11:20 AM Version 0.5 is almost done now, hope i can release it before end of the week.
Here are already some changes made;
- Seqence mode offset looks working now
- Fixed custom init data reversal in reverse mode
- Added input validation for Serial and Lcd.
- Given LCD UI all config options to change.
- Added auto push mode which pushes config changes to serial
- Added output masking for disabling some outputs
- Spilt info into 3 commands info_conf,info_data and info_calc
- Changed adc mapping now all config variables can be mapped.
- Fixed flashmode output steps limit
- Change _inc to _delta and added _tcnt_deltas's so now we have
4 config values which puts the fire in the pulse.
- start added auto lpm messurement code for freq tuning feature.
- start working on req_train_freq command.
So now working in the code for freq and I want to see some values
behind the dot for example Hz: 123.123
(but without using floats but need to get my mind around it first)
Russ very nice I like the plastic display as your incasement. You always marvel me with your intuity. The sander turned into a lathe is classic. You do great work and are very motivating. By the way you never talk toooo much I think that is our biggest downfall as humanity, more communication of communication is always better. Take care God bless and thanks for everyones input and hardwork. You guys all should be congardulated, thanks again!
Manual indeed I would start one when Arduino is maxed out of memory of other limits, then do final nameing check and order check.
For example pulse mode 4 with the pulse_seq_* vars could also be named TDM like feature.
The train_* is PWM timing some pulse_* out OUT(put) controllers.
That would make a diagram mush more readable.
"One, how do I set this up so one pot will adjust the frequency of the pulsing, and the other pot will adjust the duty cycle.? "
Analog input values and mapped to variables seen in the info:
sys_adc_map4==4 65535 0 0
sys_adc_map5==5 65535 0 0
sys_adc_mapX==X
Meaning A4 and A5 not current not mapped.
The variable-idx is a number of variable which is the same as in menu and help list; (while typing added the idx to help cmd output)Code: [Select]
train_loop==0
train_loop_delta==1
train_tcnt==2
train_tcnt_delta==3
train_clock==4
step_loop==5
step_loop_delta==6
step_tcnt==7
step_tcnt_delta==8
step_clock==9
pulse_steps==10
pulse_duty==11
pulse_mask==12
pulse_trigger==13
pulse_mode==14
pulse_init==15
pulse_seq_off==16
pulse_seq_type==17
pulse_seq_data==18
pulse_seq_len==19
lpm_start==20
lpm_stop==21
lpm_size==22
sys_lcd_time==23
sys_menu_time==24
sys_adc_time==25
sys_adc_jitter==26
sys_input_time==27
sys_input_delay==28
sys_start_secs==29
sys_start_duty==30
sys_conn_mode==31
sys_push_mode==32
Some examples;
root@pulsefire: sys_adc_map 4 0 10 10000
Mappes A4 to train_loop with range of 10-10000.
root@pulsefire: sys_adc_map 4 10 1 6
Mappes A4 to pulse_steps with range of 1 to 6 outputs.
root@pulsefire: sys_adc_map 4 11 0 1500
Mappes A4 to pulse_duty 0-1500, this is the duty of the full pulse train.
There is also "special" mapping idx for non-config input which is currently;
case 101:pf_data.lpm_level
case 102:pf_data.req_train_freq_high
case 103:pf_data.req_train_freq_low
root@pulsefire: sys_adc_map 4 102 0 300
Mappes A4 to req_train_freq with 0 to 300 hz.
To see set pot 50% ~ 150hz and set pulse_steps 2 and lcd will
say ~74Hz for 2 outputs which is 150hz on one out.
Mapping 103 should be from 0-9 but had better results with 0-~17.
Step duty is a bit harder with the raw step_* variables but that
will change into one variable in next release.
"Then, pulse modes, on version .4 there was this 2 led pulse mode thing..."
root@pulsefire: pulse_mode 4
Select seq mode which btw /16 the freq of train.
root@pulsefire: sys_adc_map 5 16 0 15
Map A5 to pulse_seq_off range 0-15 bits in future.
root@pulsefire: pulse_seq_data 65535
Set custom bit data on all 16pulses to ON, now output looks like
normal train mode.
Just started to make this seq_data * 16 so it can be configured for
every output seperatly.
root@pulsefire: sys_adc_map 4 102 0 300
Mappes A4 to req_train_freq with 0 to 300 hz.
your going to need to just right click and save as. to view the schematic... sorry kinda big lol
here is the link just in case...
schmatic
~Russ
Awesome Russ,Quote from Rwg42985 on May 31st, 2011, 08:03 PM your going to need to just right click and save as. to view the schematic... sorry kinda big lol
here is the link just in case...
schmatic
~Russ
Does the trigger type switch make the pots unused when it is switched to external pulse source? The pots i bought happen to have SPDT switches on them. I could use that if the pots aren't needed in that mode.
will, hows those updated pulse sequences coming?
also im getting the hand of it now but still have some questions.
like whats the number for making each led change duty cycle with in the pulse train, and not the pulse train duty?
so you have a list of command numbers... but in that list 102 is not there? ans that's confusing me.
where did you get the number 102? its not on the list that list had 0-32 on it? i must be missing something?
any hoo i am picking it up so thanks for the help!
~Russ
root@pulsefire: info_conf
pulse_enable==1
pulse_mode==2
pulse_steps==8
pulse_trigger==0
pulse_dir==0
pulse_data_inv==0
pulse_data_mask==65535
pulse_data_init==1
pulse_delay_pre==0
pulse_delay_post==0
pwm_compa0==40000
pwm_compa1==40000
pwm_compa2==40000
pwm_compa3==40000
pwm_compa4==40000
pwm_compa5==40000
pwm_compa6==40000
pwm_compa7==40000
pwm_compb0==60000
pwm_compb1==60000
pwm_compb2==60000
pwm_compb3==60000
pwm_compb4==60000
pwm_compb5==60000
pwm_compb6==60000
pwm_compb7==60000
pwm_loop==100
pwm_loop_delta==0
pwm_clock==1
pwm_duty==0
ppm_data_off==0
ppm_data_len==15
ppm_data0==65535
ppm_data1==65535
ppm_data2==65535
ppm_data3==65535
ppm_data4==65535
ppm_data5==65535
ppm_data6==65535
ppm_data7==65535
lpm_start==800
lpm_stop==300
lpm_size==50
sys_lcd_time==200
sys_menu_time==4000
sys_adc_time==170
sys_adc_jitter==3
sys_adc_map0==0 65535 0 0
sys_adc_map1==1 65535 0 0
sys_adc_map2==2 65535 0 0
sys_adc_map3==3 65535 0 0
sys_adc_map4==4 65535 0 0
sys_adc_map5==5 101 0 1023
sys_push_mode==0
sys_conn_mode==1
sys_input_time==5
sys_input_delay==300
sys_start_secs==0
sys_start_duty==50
info_conf==done
Will check the schematic needs a few changes;
- PB0 & PB1 should goto gnd.
- D0 & D1 are connected internaly to USB so should left open.
- D2 External trigger for pulse needs button or sensor or connector.
- Also D2 when lpm_size > 0 then is output for mosfet for relay valve.
- D5 External clock for pwm needs BNC style connector with gnd.
- Add label D6 with LCD_RS
- Add label D7 with LCD_E
- Add label A0 with LCD_D0
- Typo cpu ATMEL 168/328
- I think backlight needs resistor.
root@pulsefire: info_ppm
ppm_data00==0101010101010101
ppm_data01==0101010101010110
ppm_data02==0101010101010111
ppm_data03==0101010101011000
ppm_data04==0101010101011001
ppm_data05==0101010101011010
ppm_data06==0101010101011011
ppm_data07==0101010101011100
ppm_data08==0101010101011101
ppm_data09==0101010101011110
ppm_data10==0101010101011111
ppm_data11==0101010101100000
ppm_data12==0101010101100001
ppm_data13==0101010101100010
ppm_data14==0101010101100011
ppm_data15==0101010101100100