what's the easiest way to obtain a surface-mounted microcontroller presoldered onto a breakout board?
maddash: not sure - seems like you'd need to have someone do it for you. you have a particular uc in mind that doesn't come as DIP?
digikey has some breakout boards if you can do the soldering yourself: http://parts.digikey.com/1/parts/11749-proto-board-14-16-soic-16pin-sip-9164.html
gawd. a good few months since I've been in here. I was traumatised by my upgrade attempts last time
ended up paying $300 to replace the old plotter board
cradek: it's an arm chip
cradek: DIP is the kind with really chunky pins, right? like an 18-pin avr?
I don't suppose anyone has magically added a feature where you can fire a laser while the axis are in motion?
fire it on and off, I mean
maddash: yeah DIP is the kind that has pins sticking out on .1" centers
would anyone be interested in getting paid to do that?
cradek: i was looking at http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtmW1oUCKTs6kkwEt0tR0qo
impossible to hand solder
buy a cheap solder stencil
so, impossible for me to use that chip?
that's when you buy a reference design or starter kit -- I see there are both for the at32ap7000 from atmel -- the atstk1000 in this case
see if it comes in another package
I got my first order from north america, yesterday
ouch, $500 from digikey
the atstk1000, I mean
this looks like a lot of stuff for $89 http://www.mouser.com/Search/Refine.aspx?Keyword=556-ATNGW100
[01:12:43] <jepler> http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtmW1oUCKTs6kkwEt0tR0qo
another board based on it: http://shop.embedded-projects.net/product_info.php/language/en/amp;ref/2/info/p12
jepler: how'd you google that up?
[01:16:07] <skunkworks> http://www.electronicsam.com/images/house/halfroof.JPG
(tongue in cheek, do not get angry)
hey - that is neat
ah, you tacked on "board"
i r angry nao
I love lmgtfy.com, never been able to use it
uploading pictures brings firefox to a halt for some reason
jepler: the mouser listing for that part number goes to a page that doesn't have the devel kit on it
tomp is now known as tomp3
eric_unterhausen: Feel grateful that you haven't had to.
when i click on a pane in the pager, the pane goes grey, and doesnt switch desktop. whats happened? ( ctrl alt rt arrow is ok )
( i aske din #ubuntu but they seem busy )
jepler: Do you have an AVSTK1000?
ATSTK1000 I think it is
or just STK1000
All I have is STK300 =)
I'm not sure I still have one of those
are those the yellow ones?
ok, I probably have one or two somewhere
Good to know <evil laugh goes here>
JymmmEMC: no, it's just something on the google
jepler: ah ok
it's a nice board
for $500 it better be
SWPadnos: Waht ya think of ATtiny2313 ?
[03:17:32] <JymmmEMC> http://www.atmel.com/dyn/products/product_card.asp?PN=ATtiny2313
AVR040: EMC Design Considerations
I haven't looked at anything that small in a while
I'm sure it's fine though - I used to use the 2313 (not the tiny, the original)
because they're too small ;)
tiny is the replacement for it
too small for????
used to = 10 years ago
for anything I've done with a microcontroller in the last several years
not enough I/O, or doesn't have the advanced PWM, or that kind of thing
SWPadnos: I was thinking might be cool for led control
I wonder if the tiny is pin compatable
with the 2313?
it looks it, except that the 2313 didn't have the option of an internal oscillator
drop in replacement that is
Yes it did
so the xtal lines and reset aren't available for I/O on the 2313
it was 4MHz internally
I don't see that for the 2313
vs. the tiny2313
Page 2 last paragraph
The AT90S2313 provides the following features: 2K bytes of In-System Programmable
Flash, 128 bytes EEPROM, 128 bytes SRAM, 15 general purpose I/O lines, 32 general
purpose working registers, flexible Timer/Counters with compare modes, internal and
external interrupts, a programmable serial UART, programmable Watchdog Timer with
internal Oscillator, an SPI serial port for Flash memory downloading and two software
programmable Watchdog Timer with
SWPadnos: It's the ONLY thing I know for sure it had
that's for the watchdog only, not for the CPU itself
it has an oscillator, but not a clock reference, inside
so you can use crystals or resonators with it, or an external oscillator feeding XTAL1
and the tiny does have an internal CLK ?
Then I'm not sure the diff between an OSC and a CLK
the 3 extra I/Os are on the xtal1/2 and reset lines
actually, the 2313 manual says it has "an inverting amplifier, which can be configured for use as an on-chip oscillator"
[03:29:43] <jepler> http://www.atmel.com/dyn/resources/prod_documents/doc4298.pdf
AVR091: Replacing AT90S2313 by ATtiny2313
What's the difference between an OSC and a CLK ?
an oscillator (in this case) is a circuit that can amplify a low level signal from a resonator of some sort (usually ceramic or crystal)
when you combine a resonator and an oscillator, you have a clock generator
(more or less)
tomp is now known as tomp3
and the tiny has (what you call) a CLK? As in not crystal required, but runs slower?
the tiny has an onboard RC oscillator, which can be used as a clock source
so in that case they're using the word "oscillator" like "clock" :)
I don't see that as being different from the orignal 2313, but ok
I'll take your word for it
you may have missed the part where it says there's an internal oscillator for the watchdog timer
SWPadnos: are you programming them in ASM or C ?
I will soon convert a large ASM program to C
(in the realm of 800k of ASM source code)
The calibrated internal RC Oscillator provides a fixed 8.0 MHz clock.
yep, that's the tiny2313
you do need to calibrate it by reading a register and writing the value to another register, I believe
or there's a value stored in EEPROM at first or something like that
I think ASM would be a bitch for me to learn, C will be bad enough =)
assembly is easy, there's not much to it
but you really do have to think in very small chunks :)
Sure, if you have a photographphic memory like you
if you want to concentrate on what you're making, then something like C (or higher level) is better
Sorry, I'm not gonna remember every frickin register and instruction set tyvm
with asembly, you have to get into the mechanics of things
10 LPRINT CHR$(12) 20 GOTO 10
if you know BASIC, and it's got the features you need, then it's a good language to use
well, I'm gonna hit the sack. gotta take apart those computers tomorrow and reverse some poorly color-coded wires
Actually, I don't mind re/learning C for this
note: if you cdecide
if you decide to get an M300-LCD case (like from mini-box.com), the red wire for the power LED is not positive
and the black is not negative
oh joy - can't just flip it?
in fact, the MB connector is 2 pins next to each other and the case connector has a gap
It's just a 2 pin header isn't it?
so we had to move one wire over in the first place
skunkworks, looooking gooood
toastyde1th is now known as toastydeath
JustinXJS2_ is now known as JustinXJS2
hello everyone, can someone help me with reading the values of hal pins in pyhton?
Mark_FAPS; i wish i could help you,but i'm new to EMC. they'll help you when they can.they're very good.
thx, I think I figured out my problem already, strange how the solution comes to mind right after you ask for help :)
hahahha..i'm glad you got it working.good luck
whats around in terms of ac servo motor drivers?
Valen: the rotor usually
If you were closer i'd poke you
lucky me :P
oh, wait.. you said driver
ew gear form thread on the list shows people not reading /me seeing repetition
joke aside, I think Jon Elson has some drivers that move AC or BLDC
archivist: the bikeshed thingie would be sooo apropriate on the emc2 list
they are discussing the hard way and I chucked on a mostly working gcode done... and still they dont see :)
SWPadnos_ is now known as SWPadnos
hi all , i need to connect external i/o modul to the hal , can anybody tell me haw to do it?
SWPadnos_ is now known as SWPadnos
[12:57:11] <skunkworks188> http://www.electronicsam.com/images/house/halfroof.JPG
skunkworks188: which is the place for the K&T ?
heh - that place isn't big enough ;)
extend it then
since it's not finished yet.. it's easier now :P
the k&t also needs a 2ft thick concrete pad under it - x,z are separate from z. (get bolted to the floor)
Why do mathematicians always confuse Halloween and Christmas?
oct(31) == dec(25)
seb_kuzminsky gets a cookie
yay, no more sharks.. it's jumbo's now
[16:34:42] <alex_joni> http://www.theregister.co.uk/2009/05/13/abl_two_blast_ambition/
An astronomer, a physicist and a mathematician are on a train in Scotland. The astronomer looks out of the window, sees a black sheep standing in a field, and remarks, "How odd. Scottish sheep are black." "No, no, no!" says the physicist. "Only some Scottish sheep are black." The mathematician rolls his eyes at his companions' muddled thinking and says, "In Scotland, there is at least one sheep, at least one side of which is black."
A biologist, a physicist, and a mathematician are sitting at a streetside cafe. They observe two people enter the building across the street. Shortly later, three people leave the building.
The biologist says "they must have reproduced".
The physicist says "our measurements were inaccurate".
The mathematician says "now, if exactly one person enters the building, it will be empty again".
well - they just got the hubble with the shuttles arm
SWPadnos_ is now known as SWPadnos
i got my machine moving in the xyz via emc2 yesterday, and now i've moved on to the vfd.
thanks! i was excited
wayyyy better than the old bandit control
my vfd has a 0-10v input, and i'm using a 5i20 i/o card....
i was under the assumption that the 5i20 only puts out 3.xv or 5v, and i really dont understand what the integrator manual is saying about the multiplier
do you have a 7I33?
does your vfd input anything else?
i have a breakout board from mesa, i'm trying to find the model #
other than signal and direction?
i think those need to be 10v+ too
start and direction*
how are your servos interfaced (servos or steppers?)\
steppers... through the breakout board/5i20
and leadshine drives
but the drives are cool with 10v
the vfd has digital and analog inputs
ok. without any extra board from mesa - the mesa card only will output a PWM signal. Unless you make a pwm-> analog circuit - you need a 7I33 which will output a analog signal.
unless anyone else has any idea...
what is the vfd?
you could do fwd/rev with two digital signals, and turn the knob on the vfd for speed
although, you better make darn sure you can hook up unisolated signals to the vfd.
on/off/reverse is much much better than nothing
sorry if these are dumb questions, i'm a complete noob
alot to take in
not at all
some isnt computing lol
You are doing great. :)
we have a real mix in here
sometimes i can read something 3 times and it makes no sense, but someone can say somethnig and then it all clicks
any idea haw to connect external io modul to the hal?
by writing an appropriate hal hardware driver
well this is a problem , my modul is connected tru ft232 , so it is virtual com port by means of usb , so it is not realtime , and the hal is.
i thought i read usb i/o ports dont play well with emc2
is that true?
hal hardware interfaces can be userspace, but only if they are doing something that is not required to be realtime (e.g., position control/feedback, safety)
usb work ok - just not reatime.
lots of people using usb joysticks and such
the board is 32 inputs and 2 relay outpus and is used for M7-8 commands , lubrications , additional thinks , all of them not realtime , my idea is to control it from the hal using the "pins"
does it show up as a usb device in ubuntu?
issy: then you need a hal userspace driver
yes , but i have no idea haw to make it , the hal part is not my force
writing userspace components in python: http://www.linuxcnc.org/docview/html//hal_halmodule.html
an example of a userspace component in python that communicates with a serial device: http://emergent.unpy.net/01198525592
nothing in my soft is in pithon , only C and C++ , the gui is also mine
"gs2_vfd.c" "modbus.c" and "modbus.h" together are a C userspace hal component that communicates with a serial device: http://cvs.linuxcnc.org/cvs/emc2/src/hal/user_comps/
no matter what the language, the general description of a hal userspace component is this: A userspace component begins by creating its pins and parameters, then enters a loop which will periodically drive all the outputs from the inputs.
the C APIs are documented in manpages, section 3hal -- html versions at http://www.linuxcnc.org/docview/html
thank , now is clear to me :)
in your case, the part between "read inputs" and "drive outputs" will involve doing I/O to the usb serial device according to its protocol
yep , i think is clear , easy to be done. thanks jepler :)
I'm glad I could help
looks like my vfd has a preset speed selection that i think can be selected via a digital input
might still be easier to use a pot to control it manually for now
jepler: didn't you make play around with a simple opamp pwm-analog converter?
skunkworks188: I sketched one but never built it
make/play around with
skunkworks188: anyway, jmk told me my design was bad :(
heh - ok
i dont have a problem buying another board, i just need to get it running today, so i'll have to jury rig it for now i guess
No pressure ;)\
it was fun gutting all the old electronics out of the control today
i bet i can get some coin on ebay for most of that junk
you got that thing running pretty fast then. what are you using for the stepper drives?
did you figure out which I/O card you do have?
the daughtercard, I mean
jepler, lemme go grap my paperwork, give me one sec
ok its a mesa 7142ta
Guest536: if you've determined that it's OK to connect a non-isolated signal to the analog input of your vfd, then there's a simple external circuit you can use to turn a 5V pwm output into a 0-5V analog value
Guest536: then you'd configure the VFD so that 0-5V gives you the full RPM scale, instead of 0-10V
you could also drive it through an optocoupler
i will check on the isolation
then you can hook the isolated part to a 10V supply
the vfd has a 10v output
Guest536: that would be the proper one to use
7i42T output -> resistor -> diode part of the opto -> PC gnd
10 V from the VFD -> transister part of the opto -> RC filter -> VFD Gnd
yes, an RC filter is what I am referring to
is your familiarity with electronics high enough to know what that is?
not entirely, but i can research it
Guest536: take some extra time to research it first
don't do it under pressure the first time :)
if you need to get it running _now_ then spindle speed control should be left for later
yea, that's the plan
dont wanna fry anything
and if you think it's completed, please try it on something else besides the mesa first :D
fry the par port instead? lol
lots of opportunites to seriously injure yourself with the high voltages present in VFDs
Guest536: if I were to chose.. sure :D
using low current fuses is also a good thing to do when you're not sure about a design ..
yea, i think i would too alex... the motherboard is way cheaper\
and you don't need to replace the mobo when the parport is fried :)
you can always add a 10$ parport card
hello, need some help on rt-component
but still be warned, a fuse doesn't always prevent other things from failing
man i got so much to learn, eventually i gotta tackle the tool changer
Guest536: one step at a time, and you'll get there
gtom: just go ahead and ask it
well, how can i get the direction of a move, im using joint-vel-cmd !?
what do you mean direction?
when velocity is positive, the joint is moving in the positive direction
well, wrote a rt-comp for integrating linear encoders & steppers, inside the comp i need to know where the axis is movin to...
you don't know its destination, you only know its position and velocity
thanks guys, appreciate the help
Guest536: come back anytime
Guest536: sure thing, come back
i guess i'm back to work
cradek: I think I know what gtom is after
but the vel is negative if the joint is movin left and positive if its moving right, is this true?
using "left" and "right" are confusing
for some definition of right and left, yes
maybe discussing the problem has a better outcome than implementation details
using steppers + linear encoder
it's quite easy to still use the pos-cmd connected to stepgen
but the position from the linear encoder as pos-fb
if you don't want correction, sure
but if you want correction you have to add some component between motion output and stepgen input
be it pid or some other component
thas what i did...
gtom: on the right track so far?
more or less :-)
i dont want closed loop with pids..
well yes you do, more or less
seems like you don't want velocity mode pid
just want to correct small error moving the machine
position mode pid ?
that's what I'd try
no, too complicated
well, lot of side effects...
pid with a low I gain only, maxoutput .02 inches, added to commanded position and sent into stepgen
if you lose position, you'll stop with an ferror because the pid will max out
otherwise, it might make take up backlash if you stop somewhere long enough
not neccesary, a comp betw axis pos-cmd and stepgen does the same, but not looped
maybe you're solving a different problem, so it has a different solution :-)
gtom: it needs to be looped
cradek is right, this comp eliminates backlash also
gtom: if it takes the linear encoder position as an input, and the output goes to stepgen then it's a loop
its only a loop when changes in enc pos result in a move...
im just adding "steps" if the position falls a little bit behind (tolerance in drive, ballscrew etc)
but you get the error from the encoder so its a loop
anyways, it's not important how it's called ;)
gtom: lets switch back to the problem you were having
it does not respond to changes of encoder position...
ok, is there a easier way to get the direction or am i right usiing joint-vel-cmd ?
I think it's easiest using vel-cmd
I'm not convinced that it will be a stable system, but you're the one trying it out (and proving it ;)
ok, will continue testing this stuff, one axis is running fine...
take some halscope traces of the out pin from your component
will do that...
spend a day testing positions... 99% the machine position was slightly BEHIND the commanded position
this cause of the ballscrew- tolerances/ tolerances, thats why im only do corrections in ONE directon!
maybe one day when you're really bored you can try the pid in position mode solution too
I wonder if it's worse, although I doubt it
imagine you're facing off a plate in X only
i will get bored, quit working for one year...
under the heavy machine stress, Y will be pushed back a bit
what's wrong in compensating that?
cutting other direction drives off different bearings as well
and possible different wear profile on the ball screw
archivist: that's unrelated
But a normal stepper does nothing in that case...
gtom: right, a normal stepper doesn't have linear encoders either
archivist: gtom's component does compensate in the direction he's currently travelling
if he is correcting for actual position then wear profile left and right wont be the same
basicly gtom's component is a special case of pid
with certain params set to 0
i dont think so... Pid responds..
adding known error at current pos
one way seems so wrong unless you only cut one way
I actually cut one way
assuming that errors are 99% in the opposite direction also ?
gtom: you can clamp pid output to 0..maxoutput
take abs(current-pos), abs(encoder feedback), feed it to pid
clamp pid > 0
then multiply the output with the sign from vel-cmd
and add the output to current pos
and you're done ;)
that was too fast for me... :-)
well i implemented a similar "comp" in turboCNC some years ago...
in pascal source...
was running fine...
it's probably the same you are doing, but only using HAL, no code
i understand code, need some time to get used to the HAL
ok, my girlfriend is waiting... pregnant an angry... :-(
that sounds ominous
* alex_joni is sympathetic
good night all
* alex_joni disappears for similar reasons :D
see you.. nice roof ;)
* archivist is old free and single and hunting for bits to add another stepper
skunkworks188 is now known as skunkworks_
hello everybody, i hope anyone could help me with this, i need to use the iocontrol.0.tool-prep-number PIN to tell to an external board wich controls the tool turret what tool is requested, but i don't know where can i find the information about how to use the floating point or S32 pinout, i was wondering if in the manual or anywhere this information exists, because i couldn't find it.. thanks in advance :)
you need some way of talking to the external board from HAL
which implies a driver of some sort
exactly... the board that i have is one that my brother made, and it works with a microcontroller
ok, are you needing to convert from the S32 to a binary bit pattern for the board? do you need to send the nuber serially? ...
that was two options ;)
haha sorry let me read again
well the microcontroller is an atmel 8051, and it works by default in serial protocol so, if is not too complicated it would be better to use it as a serial protocol
you would write a hal component which has pin(s) of the appropriate type(s). at short intervals, you would check the value of the pin(s) and if it indicates you need to communicate with the microcontroller, then you'd do the appropriate communication
this is the "driver of some sort" that SWPadnos refers to
based on communication from the microcontroller, you'd also probably update the value(s) on output pin(s) -- for instance, to signal that the tool prepare action is completed
i see, and another question that came out with your answer, if i use the conv_s32_bit module, can i connect that to a parport pin and then get into the microcontroler?
I doubt that the conversion that conv_s32_bit performs is appropriate in this case
i see, so you the best option is to make a hal component with my own protocol to use it with the microcontroller?
(it has two main modes: in one mode, the output is 0 when the input is 0, and 1 otherwise; in the other mode, the output is 0 when the input is odd, and 1 otherwise. if this doesn't sound like what you need, then conv_s32_bit is not appropriate)
I could have sworn that someone wrote a converter, but maybe I'd be swearing at myself
yes, that is what I would do. It is probably only a few lines of Python, or only a few dozen lines of C.
I know I've thought about it, but of course I'd have to make it very complicated
depending on the kind of communication, and on your preference between ladder logic and C or python programs, it might also make sense to do it in classicladder
it would be easier.. and what about comp? i've red a little bit about it but i don't know if it's possible to use it
(for instance, if you have 5 physical output pins which should get a binary representation of the requested tool number, then classicladder will be an appropriate tool to turn the tool number into 5 bits)
you mean that i have to use 5 physical pins for making a 5 bits code, i was thinking on using only one, but with 1 pin per bit is a lot easier..
sorry if i say nonsense things, i'm getting started with the deep thing on emc.. i have only made hal configs and that kind of things..
if you don't use one pin per bit, then you have a serial protocol of some sort
that's the only way to get more than one bit out of a single pin
yes, that's why i was wondering how to know the protocol
ask your brother ;)
but for that i have to make my own driver too right?
for use one pin with a serial protocol
yes, you would
there is a "parallel port SPI" component that someone wrote, which you could use as a starting point
I don't know if it's in the source distribution or if he has it on his website
thank you for the information i will check it out later (this pc only has windows)
log into irc on the machine :)
you can browse the source at cvs.linuxcnc.org
look at emc2/components
thank you you're all very generous :)
and the last thing, for making my own hal component it's better to use C or python than using COMP ?
comp is really just a preprocessor; the guts of a comp are still in C
I'd use python if possible, then comp if possible, then C if absolutely necessary
python is the easier ?
I personally find Python easier for a lot of tasks
but that's partly because of the length of my experience with Python
in any case, what you need to know first is how you would communicate with this device without emc or hal in the picture at all
imagine it was a program that just takes 1 argument: what tool number to prepare
and figure out what steps it would perform
that's half of the problem; the other half is how to get the information "prepare a specific tool now" from emc, and give back the information "the tool is prepared" to emc
excelent, yes the problem is only with the pins that aren't true or false, the other pins are very easy to handle we've done thins already..
but i will take a deep look to the manuals and then get into classic ladder or python to figure out what's the best way to do it
thanks again for your help all of you guys :)
tomp3 is now known as fredex
fredex is now known as tomp3
tomp is now known as tomp3